内容正文:
《单片机技术与应用》(高教版第2版)
期末复习卷(十)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共8小题,每小题2分,共16分)
1.字符A的ASCII码是 ( )
A.65 B.66 C.96 D.97
【答案】A
2.八进制的进位规则是 ( )
A.逢二进一 B.逢八进一 C.逢十进一 D.逢十六进一
【答案】B
3.51单片机的编程软件是 ( )
A.Proteus B.keil C.tia D.altium
【答案】B
4.51单片机中表示堆栈指针标识符的是 ( )
A.P1* B.SP C.PSW* D.DPTR
【答案】B
5.MCS-51系列单片机具有外中断、串行通信等第二功能的I/O口是 ( )
A.PO B.P1 C.P2 D.P3
【答案】D
6.以下指令的写法错误的是 ( )。
A.MOV DPTR,#3F98H B.MOV RO,#OFEH
C.MOV 50H,#OFC3DH D.INC RO
【答案】C
7.单片机中既可以位寻址又可以字节寻址的单元是 ( )
A.20H B.30H C.00H D.70H
【答案】A
8.存储器6264芯片是 ( )。
A.E²PROM B.RAM C.FLASH ROM D.EPROM
【答案】B
二、判断题(本大题共7小题,每小题2分,共14分)
1.MCS-51系列单片机的1个机器周期等于6个状态周期。 ( )
【答案】正确
2.001BH是定时器T2溢出中断入口地址。 ( )
【答案】错误
3.51单片机中,晶振电路的晶振取值一般为11.0592MHz。 ( )
【答案】正确
4.编写分支程序时控制转移指令DJNZ direct,rel的功能为直接寻址字节内容减1为0转移。 ( )
【答案】错误
5.MCS-51系列单片机指令系统中有多分支转移指令。 ( )
【答案】错误
6.调用子程序的指令有ACALL和LCALL,执行调用指令时,先将程序地址指针PC改变,然后PC值压入堆栈,用新的地址代替。 ( )
【答案】正确
7.已知(A)=0FH,(PSW)=84H,则PUSH PSW指令表示将PSW中的值压入内部RAM的32H单元。 ( )
【答案】错误
三、填空题(本大题共12小题,每空2分,共26分)
1.把立即数56H输出到PO口的指令是
【答案】MOV P0,#56H
2.1A0= 。
【答案】0
3.MOV A,#OF7H;A中1有 个。
【答案】6
4. 主要用于存放可随机读写的数据,掉电或复位时数据会丢失。
【答案】数据存储器(RAM)
5.已知6EH+17H=10000101B,则程序执行完后半进位标志位AC= 。
【答案】1
6.将立即数55H送入2区组中的R3寄存器的指令是 。
【答案】MOV R3,#55H
7.单片机的时序包括振荡周期、______、机器周期和指令周期。
【答案】状态周期
8.MCS-51系列单片机指令系统具有功能强、指令短、执行快等特点,共有______条指令。
【答案】111
9.设(A)=32H,(B)=60H,执行如下程序:
MUL AB
执行结果为:(A)=______,(B)=______,CY=0,0V=1,P=0。
【答案】0C0H;12H
10.定时器/计数器的工作 最大计数值为213或8192。
【答案】方式0
11.中断处理过程包括中断请求、中断响应、 、中断返回。
【答案】中断服务
12.MCS-51系列单片机使用RD和WR来读、写片外 的内容。
【答案】数据存储器
四、简答题(本大题共4小题,每小题5分,共20分)
1.将(1101111010.1011)2转换为八进制。
【答案】
(1572.54)₈
【解析】
2.简述在内部程序存储器中的中断及其入口地址。
【答案】
①外部中断0入口地址:0003H。
②定时器TO入口地址:000BH。
③外部中断1人口地址:0013H。
④定时器T1入口地址:001BH。
⑤串行口中断人口地址:0023H。
【解析】见答案
3.编程实现将外部RAM2020H中的内容,传送到内部RAM33H中。
【答案】
MOV DPTR,#2020H
MOVX A,@DPTR
MOV 33H,A
【解析】
MOV DPTR,#2020H ; 16位外部RAM地址送入DPTR(DPTR=2020H)
MOVX A,@DPTR ; 读取外部RAM 2020H内容到累加器A
MOV 33H,A ; 将A中数据写入内部RAM 33H
4.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、0的个数
【答案】
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV DPTR,#2000H
MOV R2,#100
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
LOOP:
MOVX A,@DPTR
JZ ZERO
JB ACC.7,NEG
POS:
INC R3
SJMP NEXT
NEG:
INC R4
SJMP NEXT
ZERO:
INC R5
NEXT:
INC DPTR
DJNZ R2,LOOP
STOP:
SJMP $
END
【解析】
ORG 0000H ; 程序起始地址
LJMP MAIN ; 跳转到主程序
ORG 0100H ; 主程序起始地址
MAIN:
MOV DPTR,#2000H ; DPTR指向数据首地址2000H
MOV R2,#100 ; 计数器R2=100(待统计的数的个数)
MOV R3,#00H ; R3:正数个数,初始化为0
MOV R4,#00H ; R4:负数个数,初始化为0
MOV R5,#00H ; R5:0的个数,初始化为0
LOOP:
MOVX A,@DPTR ; 读取外部RAM当前地址的有符号数到A
JZ ZERO ; 若A=0,跳转到ZERO(统计0)
JB ACC.7,NEG ; 若最高位(符号位)=1,跳转到NEG(统计负数)
POS:
INC R3 ; 正数个数+1
SJMP NEXT ; 跳转到地址递增+计数器递减
NEG:
INC R4 ; 负数个数+1
SJMP NEXT ; 跳转到地址递增+计数器递减
ZERO:
INC R5 ; 0的个数+1
NEXT:
INC DPTR ; 数据地址+1,指向下一个数
DJNZ R2,LOOP ; R2-1,若R2≠0则继续循环
STOP:
SJMP $ ; 循环结束,暂停(R3/R4/R5存储结果)
END ; 程序结束
五、程序填空题。按照题目要求,将正确的内容填入相应位置,使得程序完整(本题每空3分,共24分)
1.编写分支程序,实现在寄存器R3中存有数码0~F,现要求将其转换为ASCⅡ码,并存于外部数据存储器4040H单元中。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R3,#05H
【1】
CJNE A,#0AH,NEXT
NEXT: JC NUM_ASC
【2】
SJMP SAVE
NUM_ASC:
ADD A,#30H
SAVE:
MOV DPTR,#4040H
【3】
SJMP $
END
【答案】
【1】MOV A,R3
【2】ADD A,#37H
【3】MOVX @DPTR,A
【解析】
【1】MOV A,R3 ; 将R3中的数码送入累加器A
【2】ADD A,#37H ;A=A+37H
【3】MOVX @DPTR,A ;将A中ASCII码写入外部RAM指定地址
2.如图所示编程实现:系统上电所有灯亮,按1下SW按钮LED1、LED3、LED5、LED7灯亮,剩下的灯灭;再按下SW按钮LED2、LED4、LED6、LED8灯亮,剩下的灯灭。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: 【1】
MOV R0, #00H
KEY_SCAN:
NB P3.2, KEY_PRESS
SJMP KEY_SCAN
KEY_PRESS:
MOV R1, #20
DELAY1: MOV R2, #248
DELAY2: DJNZ R2, DELAY2
DJNZ R1, DELAY1
【2】
SJMP KEY_SCAN
KEY_HANDLER:
WAIT_RELEASE:
JB P3.2, UPDATE_LED
SJMP WAIT_RELEASE
UPDATE_LED:
INC R0
CJNE R0, #03H, SET_LED
MOV R0, #01H
SET_LED:
CJNE R0, #01H, CHECK_STATE2
【3】MOV P1, #0AAH
SJMP KEY_SCAN
CHECK_STATE2:
CJNE R0, #02H, SET_INIT
【4】
SJMP KEY_SCAN
SET_INIT:
MOV P1, #00H
【5】
END
【答案】
【1】MOV P1, #00H
【2】JNB P3.2, KEY_HANDLER
【3】MOV P1, #0AAH
【4】MOV P1, #055H
【5】SJMP KEY_SCAN
【解析】
【1】MOV P1, #00H ;上电所有灯亮
【2】JNB P3.2, KEY_HANDLER ;持续检测P3.2引脚电平,一旦按键按下,就跳转到按键处理流程
【3】MOV P1, #0AAH ;亮LED1/3/5/7
【4】MOV P1, #055H ;亮LED2/4/6/8
【5】SJMP KEY_SCAN ;跳回扫描
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《单片机技术与应用》(高教版第2版)
期末复习卷(十)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共8小题,每小题2分,共16分)
1.字符A的ASCII码是 ( )
A.65 B.66 C.96 D.97
2.八进制的进位规则是 ( )
A.逢二进一 B.逢八进一 C.逢十进一 D.逢十六进一
3.51单片机的编程软件是 ( )
A.Proteus B.keil C.tia D.altium
4.51单片机中表示堆栈指针标识符的是 ( )
A.P1* B.SP C.PSW* D.DPTR
5.MCS-51系列单片机具有外中断、串行通信等第二功能的I/O口是 ( )
A.PO B.P1 C.P2 D.P3
6.以下指令的写法错误的是 ( )。
A.MOV DPTR,#3F98H B.MOV RO,#OFEH
C.MOV 50H,#OFC3DH D.INC RO
7.单片机中既可以位寻址又可以字节寻址的单元是 ( )
A.20H B.30H C.00H D.70H
8.存储器6264芯片是 ( )。
A.E²PROM B.RAM C.FLASH ROM D.EPROM
二、判断题(本大题共7小题,每小题2分,共14分)
1.MCS-51系列单片机的1个机器周期等于6个状态周期。 ( )
2.001BH是定时器T2溢出中断入口地址。 ( )
3.51单片机中,晶振电路的晶振取值一般为11.0592MHz。 ( )
4.编写分支程序时控制转移指令DJNZ direct,rel的功能为直接寻址字节内容减1为0转移。 ( )
5.MCS-51系列单片机指令系统中有多分支转移指令。 ( )
6.调用子程序的指令有ACALL和LCALL,执行调用指令时,先将程序地址指针PC改变,然后PC值压入堆栈,用新的地址代替。 ( )
7.已知(A)=0FH,(PSW)=84H,则PUSH PSW指令表示将PSW中的值压入内部RAM的32H单元。 ( )
三、填空题(本大题共12小题,每空2分,共26分)
1.把立即数56H输出到PO口的指令是
2.1A0= 。
3.MOV A,#OF7H;A中1有 个。
4. 主要用于存放可随机读写的数据,掉电或复位时数据会丢失。
5.已知6EH+17H=10000101B,则程序执行完后半进位标志位AC= 。
6.将立即数55H送入2区组中的R3寄存器的指令是 。
7.单片机的时序包括振荡周期、______、机器周期和指令周期。
8.MCS-51系列单片机指令系统具有功能强、指令短、执行快等特点,共有______条指令。
9.设(A)=32H,(B)=60H,执行如下程序:
MUL AB
执行结果为:(A)=______,(B)=______,CY=0,0V=1,P=0。
10.定时器/计数器的工作 最大计数值为213或8192。
11.中断处理过程包括中断请求、中断响应、 、中断返回。
12.MCS-51系列单片机使用RD和WR来读、写片外 的内容。
四、简答题(本大题共4小题,每小题5分,共20分)
1.将(1101111010.1011)2转换为八进制。
2.简述在内部程序存储器中的中断及其入口地址。
3.编程实现将外部RAM2020H中的内容,传送到内部RAM33H中。
4.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、0的个数
五、程序填空题。按照题目要求,将正确的内容填入相应位置,使得程序完整(本题每空3分,共24分)
1.编写分支程序,实现在寄存器R3中存有数码0~F,现要求将其转换为ASCⅡ码,并存于外部数据存储器4040H单元中。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R3,#05H
【1】
CJNE A,#0AH,NEXT
NEXT: JC NUM_ASC
【2】
SJMP SAVE
NUM_ASC:
ADD A,#30H
SAVE:
MOV DPTR,#4040H
【3】
SJMP $
END
2.如图所示编程实现:系统上电所有灯亮,按1下SW按钮LED1、LED3、LED5、LED7灯亮,剩下的灯灭;再按下SW按钮LED2、LED4、LED6、LED8灯亮,剩下的灯灭。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: 【1】
MOV R0, #00H
KEY_SCAN:
NB P3.2, KEY_PRESS
SJMP KEY_SCAN
KEY_PRESS:
MOV R1, #20
DELAY1: MOV R2, #248
DELAY2: DJNZ R2, DELAY2
DJNZ R1, DELAY1
【2】
SJMP KEY_SCAN
KEY_HANDLER:
WAIT_RELEASE:
JB P3.2, UPDATE_LED
SJMP WAIT_RELEASE
UPDATE_LED:
INC R0
CJNE R0, #03H, SET_LED
MOV R0, #01H
SET_LED:
CJNE R0, #01H, CHECK_STATE2
【3】MOV P1, #0AAH
SJMP KEY_SCAN
CHECK_STATE2:
CJNE R0, #02H, SET_INIT
【4】
SJMP KEY_SCAN
SET_INIT:
MOV P1, #00H
【5】
END
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$