“微机原理与接口技术”期中复习题答案
一、 填空
1. 若外接晶振为6MHz,则8031单片机的振荡周期为 1/6us ,时钟周期为 1/3us ,机器周期为 2us ,指令周期最短为 2us ,最长为 8us 。 2. SP是 堆栈指针 ,PC是 程序计数器 ,DPTR是 数据指针 。 3. 外接程序存储器的读信号为 PSEN ,外接数据存储器的读信号为 RD 。 4. 程序中“LOOP:SJMP rel”的相对转移以转移指令所在地址为基点向前(大地址方向)最大可偏移129 个单元地址,向后(小地址方向)最大可偏移 126 个单元地址。 5. “MOVC A, @A+DPTR”指令为 变址 寻址方式。
6. 单片机寻址方式是指寻找 操作数 或 操作数地址 的方式,常用的寻址方式有 直接寻址 、 立即寻址 、 寄存寄寻址 、 寄存寄间接寻址 、 变址寻址 等。 7. 8031单片机内存20H的第7位,它的位地址为 07H。
8. 循环结构程序中循环控制的实现方法有 计数循环法 和 条件控制循环法 。 9. 循环结构程序中,当循环次数已知时,应采用 计数循环 控制法,循环次数未知时,应采用 条件控制 控制法。
10. 80C51单片机的位寻址区包括 20H~2FH 和 SFR中地址值能被8整除的特殊功能寄存器 。
11. 由8031组成的单片机系统在工作时,EA引脚应该接 低电平 。
12. LJMP的跳转范围是 64K ,AJMP的跳转范围是 2K ,SJMP的跳转范围是 -128~+127 。
13. 若A中的内容为68H,那么P标志位为 1 。
14. 单片机上电复位时PC= 0000H ,SP= 07H;而工作寄存器则缺省采用第 0 组,这组寄存器的地址范围是 00H~07H 。
15. JZ rel 的操作码地址为1000H,rel=20H,它转移的目标地址为 1022H 。 16. 8051内部有 4个 并行口,P0口直接作输出口时,必须外接 上拉电阻。并行口作输入口时,必须先 向端口写入1 ,才能读入外设的状态。
17. MCS-51的堆栈只可设置在 内部RAM区 ,其最大长度为 128Byte ,存取数据的原则是 先入后出 。堆栈寄存器SP是 8 位寄存器,用来存放 堆栈顶部的地址。 18. 假定(SP)=40H , (39H)=30H,(40H)=60H。执行下列指令: POP DPH POP DPL
后,DPTR的内容为 6030H ,SP的内容是 38H 。
19. CJNE <目的字节>,<源字节>,rel属于五大类指令中的_控制转移类__类指令,其操作码助记符含义是_如果目的和源中的内容不等,则跳转到偏移量为rel的指令去执行__。 20、微处理机的寻址能力(范围)由 地址线数目 决定。若某单片机有20根地址线,则它可寻址的存储器范围为 1024 K。
1
二、 选择题
1. 8031单片机的( d )口的引脚,还具有外部中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2. 下列指令中不影响标志位CY的指令有( d )。
a)ADD A,20H b)CLR C c)RRC A d)INC A 3. 当需要从MCS-51单片机程序存储器取数据时,采用的指令为( b )。 a)MOV A, @R1 b)MOVC A, @A + DPTR c)MOVX A, @ R0 d)MOVX A, @ DPTR
4. 8031单片机中既可位寻址又可字节寻址的单元是( a ) a)20H b)30H c)00H d)70H 5. 下列哪条指令是正确的( d )
a) PUSH R2 b) ADD R0,A c) MOV A, @DPTR d) MOV
@R0,A
6. 执行中断返回指令时,从堆栈顶部弹出的内容送给( c ). (A) A (B) CY (C)PC (D) DPTR
7. A7H和5BH两个立即数相加后,和为( c ),(CY)是( c )。 (A)1CH,0 (B) C1H,0 (C) 02H,1 (D) C1H,1
8. 若(A)=86H,(PSW)=80H,则执行RRC A指令后,A的内容是( A )。 (A)C3H (B) B3H (C) 0DH (D) 56H 9. 如果(P0)=65H ,则当 CPL P0.2 SETB C MOV P0.4 ,C 执行后(P0)=( C )
(A)61H (B) 75H (C) 71H (D) 17H
10. 若片内(60H)=8H,(R0)=60H,A=7H,则执行指令 C 后,片内(60H)=7H.
(A)MOV R0,A; (B)MOVX R0,A; (C)DEC @R0; (D)DEC R0;
11. MCS--51单片机在执行MOVX A,@DPTR指令时,将发出 A 信号。
(A)地址信号和RD信号;(B)数据信号和RD信号; (C)地址信号和WR信号;(D)数据信号和WR信号; 12. 调用指令ACALL 的调用范围是 A 。
(A)2K (B)64K (C)256 (D)512
2
13. SJMP ﹩ 指令跳转的偏移量范围为: A 。
(A)-128~127; (B)0~256;
(C)0~2047;
(D)0~65535;
14. 执行MOV PSW,#08H指令后,被选中的当前工作寄存器R0~R7是: B 。 (A)第0组
(B)第1组
(C)第2组
(D)第3组
15. 复位后执行PUSH 00H,是把: A 。
(A)R0的内容压入08单元
(B)00H的内容压入07H单元
三、 判断题(对者打√,错者打×)
1、 MCS-51系列芯片复位后堆栈设置成从07H单元开始使用。 × 2、 MCS-51中工作寄存器R7的实际物理地址与PSW中内容有关。√ 3、 DA A指令只能用在减法指令之后起到十进制调整的作用。 × 4、 使用8031的MCS-51系统其EA引脚必须接地。 √ 5、 中断服务程序的最后一条指令是RET。 ×
6、 P2口既可以作为I/O使用,又可以作地址/数据复用口使用。 × 7、 MOV A,30H的源操作数为立即寻址方式。 × 8、 MOV A,@A+DPTR是一条查表指令。 ×
9、 MUL AB的执行结果是高8位在A中,低8 位在B中。 × 10、AJMP跳转空间最大可达到64KB 。 ×
11、DPTR是由DPH和DPL两个8位特殊寄存器组成的。 √ 12、汇编语言源程序中的伪指令汇编成目标程序时不产生机器码。√ 13、MCS-51系列芯片特殊寄存器区按字节寻址时可以采用间接寻址。× 14、8051单片机的算术逻辑部件能完成带借位和不带借位的减法运算。 × 15、在MCS-51中,为使准双向的I/O口工作在输入方式,必须先预置为1。 √
四、 改错
请判断下列各条指令的书写格式是否有错,如有错说明原因: 1.MUL R0R1 2.MOV A,@R7 3.MOV A,#3000H 4.MOVC @A+DPTR, A
( × ) (MUL AB)
( × ) (MOV A, @Ri i=0,1) ( × ) (MOV A, #data8) ( × ) (MOVC A, @A+DPTR)
3
5.LJMP #1000H 6. MOVX @R0,B 7. MOV A,30H
( × ) (LJMP addr16) ( × ) MOVX @R0, A
( √ )
8. MOVX A,30H ( × ) MOVX A, @Ri 或 MOVX A, @DPTR 9. ADDC A,R7 10. SUB A,R2 11. ANL #99H ,36H 12. MOV C,ACC.0 13. ORL P1.0,P3.1 14. JBC P0,LL1 15. ACALL PROC
( √ )
( × ) SUBB A, R2
( × ) ANL A, direct 或 ANL direct, #data
( √ )
( × ) ORL C, bit ( × ) JBC bit, rel ( √ ) ( √ )
( × ) ADDC A, #data8 (√ )
( × ) MOVX A, @DPTR ( √ )
(× ) MOVC A, @A+PC
16. MOV 20H , R1 17. ADDC A , 2030H
18. CLR A 19. MOVX 40H , #30H( )
20. ORG 3000H 21. MOVC @A+PC , A
22. MOVX A ,2000H ( × ) MOVX A, @DPTR
23. DJNZ #data , rel ( × ) DJNZ Rn, rel;DJNZ direct, rel; 24. INC @R5 25. DEC DPTR 26. MOV R1 ,@ R2 27. SWAP R1 28. SETB 2000H 29. JZ A , LOOP 30. DA R2
五、简答题
1、 简述8031单片机ALE引脚的功能,请举例说明其在应用系统中有哪些应用?
答:ALE被称为“地址锁存信号”。主要有两个用途:(1)在8051并行扩展时,P0口为地址/数据复用口,这时利用ALE和锁存器(74LS73、74HCT373等)来锁存地址A0~A7.(2)ALE引脚输出频率为1/6振荡器频率的脉冲信号。
2、 片外数据存储器与程序存储器地址允许重复,如何区分?
答:片外数据存储器与程序存储器地址都可以为0000H~FFFFH。尽管地址范围相同,但能够很好地加以区分,而不会发生冲突。原因为:
读取ROM中数据时使用变址寻址的MOVC指令、CPU中控制器自动读取ROM中指令时均为访问ROM,访问ROM时是选通信号PSEN有效;
4
(×) (× ) DPTR没有自减一指令 (×) MOV A, @R2 (× ) SWAP A
(× ) SETB bit (×) JZ LOOP (× ) DA A
对片外RAM的读、写操作时使用间接寻址的MOVX指令,通过选通信号RD或WR有效来访问片外RAM。
3、 80C51单片机的MOV、MOVC、MOVX指令各适用哪些存储空间?请举例说明。
答:三类指令的差别是寻址空间不同。 答:MCS-51单片机指令寻址方式为间接寻址;
MOV指令的寻址空间为片内RAM和SFR寄存器,是片内数据存储器和寄存器之间的数据传送。如“MOV A, R0”
MOVC指令的寻址空间为片内外ROM的64K空间,即是访问程序存储器的指令,有MOVC A, @A+PC和MOVC A, @A+DPTR 两条查表指令。
MOVX指令的寻址空间为片外RAM的64K空间,是访问外部数据存储器的指令。如MOVX @DPTR, A。
4、 把下列数看作是无符号数,它们相应的十进制数为多少?若把下列数看成为带符号数的
补码表示,它们相应的十进制数为多少?
(1)7FH;(127 127) (2)DBH (219 -37) (3)FEH (254 -2) 5、 80C51单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的最主要功能是什
么?
答:80C51单片机内部主要包含微处理器CPU(算术逻辑单元ALU及控制器等)、只
读存储器ROM、读/写存储器RAM、定时器/计数器、并行I/O口P0-P3、串行口、中断系统及定时控制逻辑电路等,各部分通过内部总线相连。
(1) CPU:主要完成运算和控制功能, (2) 内部ROM:用于存放程序和表格数据等。
(3) 内部RAM:存储程序在运行期间的工作变量、数据以及堆栈区。 (4) I/O口:用于检测与控制。有些I/O引脚还具有多种功能,比如可以作为数
据总线、地址总线或某些控制总线。
(5) 串行I/O口:用以实现与某些终端设备进行串行通信,有些可用多个单片
机相连构成多机系统。
(6) 定时/计数器:80C51单片机内部有两个16位定时器/计数器,可以编程实
现定时和计数功能。
(7) 中断系统:80C51单片机具有内、外共5个中断源
(8) 定时电路及元件:单片机整个工作是在时钟信号的驱动下,按照严格的时
序有规律地一个节拍一个节拍地执行各种操作。
五、 按题意编写程序并加以注释,加上必要的伪指令。
1、 将40H中ASCII码转换为一位BCD码,存入42H的高4位中。
MOV A, 40H
5