资源描述
装
订
线
华中师范大学成人专科 学年第一学期
《单片微机原理及应用》试卷(A卷)
考试时间:90分钟 闭卷 任课老师:
班级: 学号: 姓名: 成绩:
一、填空题(每空1分,共20分)
1. 计算机中最常用的字符信息编码是 。
2. 十进制数69的二进制表示为 。
3. MCS-51单片机内部RAM的通用寄存器区共有 单元,分为 组寄存器,每组 单元,以 作为寄存器名称。
4. MCS-51中凡字节地址能被 整除的特殊功能寄存器均能按位寻址。
5. MCS-51片内20H~2FH范围内的数据存储器,既可以按字节寻址,又可以 寻址。
6. 使8051单片机复位有 和 两种方法。
7. 如果8031单片机的时钟频率为12MHz,则一个机器周期是 uS。
8. 执行ANL A,#0FH指令后,累加器A的高4位= 。
9. JBC 00H,e的操作码的地址为2000H,e=70H,它的转移目的地址为 。
10. MOV PSW,#10H是将MCS-51的工作寄存器置为第 组。
11. 指令DJNZ R7,e的操作码所在地址为3000H,e=EFH,则它的转移的目的地址为 。
12. 设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为 。
13. ORG 1000H
LCALL 4000H
ORG 4000H
ADD A,R2
执行完LCALL后(PC)= 。
14. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 。
15. 假定累加器A的内容为30H,执行指令
1000H:MOVC A,@A+PC
后,把程序存储器 单元的内容送累加器A中。
16. 假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令
PUSH ACC
PUSH B
后,SP的内容为 ,61H单元的内容为 ,62H单元的内容为 。
二、选择题(每小题2分,共20分)
1. 内部RAM中的位寻址区定义的位是给 ( )。
A.位操作准备的 B.移位操作准备的
C.控制转移操作准备的 D.以上都是
2. MCS-51上电复位后,SP的内容应是( )
A. 00H B. 07H C. 60H D. 70H
3. 以下有关PC和DPTR的说法中错误的是( )
A. DPTR是可以访问的 B.它们都是16位的寄存器
C.它们都是具有自动加1功能 D. DPTR可以分为2个8位的寄存器使用,但PC不能
4. 要访问MCS-51的特殊功能寄存器应使用的寻址方式是( )
A. 寄存器间接寻址 B. 变址寻址 C. 直接寻址 D. 相对寻址
5. 当ALE信号有效时,表示( )
A. 从ROM中读取数据 B. 从P0口可靠的送出地址低8位
C. 从P0口送出数据 D. 从RAM中读取数据
6. 关于数据传送类指令,下列说法正确的是( )。
A. 在内部数据存储区中,数据不能直接从一个地址单元传送到另一个地址单元
B. 程序存储器空间中的数据能直接送入内部存储区中任意单元
C. 所有的数据传送指令都不影响PSW中的任何标志位
D. 只能使用寄存器间接寻址方式访问外部数据存储器
7. 已知(A)=0ABH,(R1)=7FH,执行指令ADD A,R1后,标志位Cy、OV的值是( )
A. Cy=1,OV=0 B. Cy=0,OV=1 C. Cy=1,OV=1 D. Cy=0,OV=0
8. 以下选项中不正确的位地址表示方式是( )
A. 0E0H B. RS0 C. PSW.0 D. A.2
9. ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H
当执行完上述程序后,PC的值是( )。
A. 0040H B. 0041H C. 0042H D. 0043H
10. 假定设定堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( )
A. 36H B. 37H C. 38H D. 39H
二、 判断题(共20分,对的打“√”,错的打“×”)
1. 当MCS-51上电复位时,堆栈指针SP=00H。 ( )
2. MCS-51系列单片机的四个I/O端口都是多功能的I/O端口。 ( )
3. 片内RAM与外部设备统一编址时,需要专门的输入/输出指令。 ( )
4. MCS-51内部位寻址区,只能进行位寻址,而不能进行字节寻址。( )
5. 当MCS-51上电复位时, SBUF=0FH。 ( )
6. 异步通信方式比同步通信方式传送数据的速度快。 ( )
7. 单个LED的工作电流都在1毫安之下。 ( )
8. LED数码管显示器的显示工作方式有静态和动态两种。 ( )
9. LED数码管显示器只能显示0~9这十个数字。 ( )
10. 矩阵式键盘在识别时可选用扫描法和行反转法。 ( )
三、 程序分析题(每题5分,共20分)
1. 程序存储器空间表格如下:
地址
2000H
2001H
2002H
2003H
…
内容
3FH
06H
5BH
4FH
…
已知:片内RAM的20H中为01H,执行下列程序后(30H)= 。
MOV A,20H
INC A
MOV DPTR,#2000H
MOVC A,@A+DPTR
CPL A
MOV 30H,A
HERE:SJMP HERE
2. 设:R0=20H, R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何?
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
3. 阅读下列程序,然后填写有关寄存器内容。
MOV R1,#48H
MOV 48H,#51H
CJNE @R1,#51H,00H
JNC NEXT1
MOV A,#0FFH
SJMP NEXT2
NEXT1:MOV A,#0AAH
NEXT2:…
累加器A=( )。
4. 已知单片机的时钟频率为6MHz,阅读下列程序并回答问题。
MOV 20H,#40
BBB1: MOV 21H,#250
BBB2: NOP
NOP
DJNZ 21H,BBB2
DJNZ 20H,BBB1
SJMP $
(1)请问该程序执行何种操作?
(2)若单片机的时钟频率为12MHz,情况如何?
四、 编程题(每题10分,共20分)
1. 有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元;画出流程图。
2. 已知单片机的时钟频率为12MHz,设计一个延时50ms的子程序。
以下为本试卷的参考答案
五、 填空题(每空1分,共20分)
17. 计算机中最常用的字符信息编码是 ASCII码 。
18. 十进制数69的二进制表示为 1000101B 。
19. MCS-51单片机内部RAM的通用寄存器区共有 32 单元,分为 4 组寄存器,每组 8 单元,以 R0~R7 作为寄存器名称。
20. MCS-51中凡字节地址能被 8 整除的特殊功能寄存器均能按位寻址。
21. MCS-51片内20H~2FH范围内的数据存储器,既可以按字节寻址,又可以 位 寻址。
22. 使8051单片机复位有 上电复位 和 按钮复位 两种方法。
23. 如果8031单片机的时钟频率为12MHz,则一个机器周期是 1 uS。
24. 执行ANL A,#0FH指令后,累加器A的高4位= 0000 。
25. JBC 00H,e的操作码的地址为2000H,e=70H,它的转移目的地址为 2073H 。
26. MOV PSW,#10H是将MCS-51的工作寄存器置为第 2 组。
27. 指令DJNZ R7,e的操作码所在地址为3000H,e=EFH,则它的转移的目的地址为 2FE1H 。
28. 设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR的操作数的实际地址为 2080H 。
29. ORG 1000H LCALL 4000H ORG 4000H ADD A,R2 执行完LCALL后(PC)= 4000H 。
30. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 所在存储器的地址 。
31. 假定累加器A的内容为30H,执行指令 1000H:MOVC A,@A+PC 后,把程序存储器 1031H 单元的内容送累加器A中。
32. 假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令 PUSH ACC PUSH B 后,SP的内容为 62H ,61H单元的内容为 30H ,62H单元的内容为 70H 。
六、 选择题(每小题2分,共20分)
1. 内部RAM中的位寻址区定义的位是给 ( C )。
A. 位操作准备的 B. 移位操作准备的 C. 控制转移操作准备的 D. 以上都是
2. MCS-51上电复位后,SP的内容应是( B ) A. 00H B. 07H C. 60H D. 70H
3. 以下有关PC和DPTR的说法中错误的是( C ) A. DPTR是可以访问的 B. 它们都是16位的寄存器 C. 它们都是具有自动加1功能 D. DPTR可以分为2个8位的寄存器使用,但PC不能
4. 要访问MCS-51的特殊功能寄存器应使用的寻址方式是( C ) A. 寄存器间接寻址 B. 变址寻址 C. 直接寻址 D. 相对寻址
5. 当ALE信号有效时,表示( B ) A. 从ROM中读取数据 B. 从P0口可靠的送出地址低8位 C. 从P0口送出数据 D. 从RAM中读取数据
6. 关于数据传送类指令,下列说法正确的是( D )。 A. 在内部数据存储区中,数据不能直接从一个地址单元传送到另一个 地址单元 B. 程序存储器空间中的数据能直接送入内部存储区中任意单元 C. 所有的数据传送指令都不影响PSW中的任何标志位 D. 只能使用寄存器间接寻址方式访问外部数据存储器
7. 已知(A)=0ABH,(R1)=7FH,执行指令ADD A,R1后,标志位Cy、OV的值是( C ) A. Cy=1,OV=0 B. Cy=0,OV=1 C. Cy=1,OV=1 D. Cy=0,OV=0
8. 以下选项中不正确的位地址表示方式是( D ) A. 0E0H B. RS0 C. PSW.0 D. A.2
9. ORG 0000H AJMP 0040H ORG 0040H MOV SP,#00H 当执行完上述程序后,PC的值是( D )。 A. 0040H B. 0041H C. 0042H D. 0043H
10. 假定设定堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( D )。 A. 36H B. 37H C. 38H D. 39H
七、 判断题(共20分,对的打“√”,错的打“×”)
11. 当MCS-51上电复位时,堆栈指针SP=00H。 ( × )
12. MCS-51系列单片机的四个I/O端口都是多功能的I/O端口。 ( × )
13. 片内RAM与外部设备统一编址时,需要专门的输入/输出指令。( × )
14. MCS-51内部位寻址区,只能进行位寻址,而不能进行字节寻址。( × )
15. 当MCS-51上电复位时, SBUF=0FH。 ( × )
16. 异步通信方式比同步通信方式传送数据的速度快。 ( × )
17. 单个LED的工作电流都在1毫安之下。 ( × )
18. LED数码管显示器的显示工作方式有静态和动态两种。 ( √ )
19. LED数码管显示器只能显示0~9这十个数字。 ( × )
20. 矩阵式键盘在识别时可选用扫描法和行反转法。 ( √ )
八、 程序分析题(每题5分,共20分)
1. 程序存储器空间表格如下:
地址
2000H
2001H
2002H
2003H
…
内容
3FH
06H
5BH
4FH
…
已知:片内RAM的20H中为01H,执行下列程序后(30H)= A4H 。 MOV A,20H INC A MOV DPTR,#2000H MOVC A,@A+DPTR CPL A MOV 30H,A HERE:SJMP HERE
2. 设:R0=20H, R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何?
CLR C
MOV R2,#3
LOOP: MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,LOOP
JNC NEXT
MOV @R0,#01H
SJMP $
NEXT: DEC R0
SJMP $
解答:这是一个两个3字节数相加处理程序,即将片内RAM(20H~22H)单元内容与(25H~27H)单元内容之和存入(20H~22H)中,进位存入23H单元中,最终R0的内容是和存放的最高地址值。
3. 阅读下列程序,然后填写有关寄存器内容。
MOV R1,#48H
MOV 48H,#51H
CJNE @R1,#51H,00H
JNC NEXT1
MOV A,#0FFH
SJMP NEXT2
NEXT1:MOV A,#0AAH
NEXT2:…
累加器A=( AAH )。
4. 已知单片机的时钟频率为6MHz,阅读下列程序并回答问题。
MOV 20H,#40
BBB1: MOV 21H,#250
BBB2: NOP
NOP
DJNZ 21H,BBB2
DJNZ 20H,BBB1
SJMP $
(1)请问该程序执行何种操作?解答:这是一个软件延时80ms处理程序。
(2)若单片机的时钟频率为12MHz,情况如何?答:延时40ms程序。
九、 编程题(每题10分,共20分)
1. 有一变量存放在片内RAM的20H单元,其取值范围为:00H~05H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元。
解答:根据题意流程图如右图所示,
程序如下:
ORG 1000H
START:MOV DPTR,#2000H
MOV A,20H
MOVC A,@A+DPTR
MOV 21H,A
SJMP $
ORG 2000H
TABLE:DB 00,01,04,09,16,25
END。
2. 已知单片机的时钟频率为12MHz,设计一个延时50ms的子程序。
解答:若晶振频率为12MHz,则一个机器周期为1μs。执行一条DJNZ指令需要2个机器周期,即 2μs。采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的循环结构。程序段如下:
DEL:MOV R7,#200 ;1 μs
DEL1:MOV R6,#123 ;1 μs
NOP ;1 μs
DEL2:DJNZ R6,DEL2 ;2μs,计(2×123)μs
DJNZ R7,DEL1 ;2μs,
RET
共计 [(2×123+2+ 2)×200+1] μs,即50.001ms
展开阅读全文