a.MOV Pl,A b.ORL P1,#0FH c.MOV C,Pl.5 d.DJNZ P1,rel
46.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是_a_口。 a.P 0 b.P1 c.P2 d.P0 和 P2
47. 89C51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用
来___b__ 。
a.存放指令 b.存放16位地址,作间址寄存器使用 c.存放下一条指令地址 d.存放上一条指令地址
三、判断
1.PC存放的是当前正在执行的指令。( × )
2.51系列与52系列单片机使用不同的指令系统。( × ) 3.MCS-51单片机的堆栈按照先进先出的原则工作。( × )
4.程序计数器PC是不可寻址的,因此不能对它进行读写操作。( √ ) 5.MCS-51片内20H~2FH范围内的数据存储器,只可以位寻址,不能进行字节
寻址。( × )
6.51内部RAM寄存器区中的32个存储单元,既可以作为通用寄存器使用也可以
作为RAM单元使用。( √ )。
7.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。( × ) 8.AT89S51/52单片机系统可以没有复位电路。( × )
9.ROM与RAM的最大不同在于ROM掉电时信息不会丢失。( × )
10.对于MCS-51单片机,当芯片具有内部RAM时,EA引线端应按高电平;而当
芯片不具有内部RAM时,EA引线端则应接地。( × )。
11.51单片机的位寻址空间:一部分分布在片内RAM中,另一部分分布在片外
RAM中。( × )
12.8031、8051、8751单片机使用同一指令系统。(
)
13. 程序计数器PC既可以对程序存储器寻址,也可以对数据存储器寻址。(× )。 14.51系列单片机内部RAM的20H---40H单元可位寻址。( × ) 15.51单片机的堆栈可以设在51芯片的片内程序存储器中。( × ) 16.MCS-51单片机P3口的各口线,如果作为第二功能信号使用的话.那么它们
就不能再用来进行数据I/O传送;同样道理,如果用作数据传送.就不能再作为第二功能信号使用。(√ )
17.MCS-51的程序存储器只是用来存放程序的。(× )
18.由于复位后PC的值为0000H,因此对于8031芯片来说.扩展程序存储器必
- 11 -
须从0000H地址开始。( × )。
19.51单片机的ALE信号用来锁存地址的高8位。( × ) 20.51单片机有21个8位的特殊功能寄存器。( √ ) 21.特殊功能寄存器SFR的每一位都可进行位寻址。( × ) 22.8051片内没有RAM存贮器 。( × )
23.程序计数器PC是51系统的21个特殊功能寄存器之一。( × ) 24.PSW中RS1、RS0的作用是选择片内RAM或片外RAM。( × ) 25.51单片机复位后,P0、P1、P2口均输出高电平。( √ )
26.使用8751且 EA = 1时,仍可外扩64KB的程序存储器。( × ) 27.内部寄存器Rn(n=0~7)可作为间接寻址寄存器使用。 ( × ) 28.89C51单片机中的工作寄存器就是内部RAM中的一部份。 ( √ ) 29.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进
入死循环时,可按复位键重新启动。 ( √ ) 30.MCS-51系统可以没有复位电路。 ( × )
- 12 -
第三章 51系列单片机的汇编语言程序
一、填空
1. 一台计算机的指令系统就是它所能执行的 全部指令的 集合。51单片机共有
111 条指令。其中数据传送类指令有 29 条,算术运算类指令有 24 条,逻辑运算类指令有 24 条,位操作类指令有 17 条,控制转移类指令有17 条。
2.用 汇编编语言 或 高级语言 编写的程序称为源程序, 它需经过汇编或
编译才能形成计算机可理解和执行的 目标 程序。以助记符形式表示的计算机指令就是它的 汇编 语言。
3. 80C51单片机有 7 种寻址方式,它们是 立即寻址 、 直接寻址 和
寄存器寻址 、 寄存器间接寻址 、 相对寻址 以及 变址 寻址方式。访问特殊功能寄存器SFR只能采用直接寻址 寻址方式,访问外部RAM单元只能采用寄存器间接寻址方式。访问特殊功能寄存器SFR只能采用直接寻址寻址方式,访问内部RAM单元可以采用 直接寻址 、 寄存器间接寻址方式, 访问外部程序存储器可以采用 变址 寻址方式。
4.一般子程序的调用通过助记符为 LCALL 或 ACALL 的指令来实现,子程序
最后一条指令的助记符为应该是 RET 。中断子程序的最后一条指令是 RETI ,其功能是 返回子程序调用断点 和 中断点 。
5. 在访问不同的逻辑存储空间时,MCS-51提供了不同形式的指令。 MOV 指令用
于访问内部数据存储器; MOVX用于访问外部数据存储器; MOVC 用于访问内、外程序存储器。
6. MOV A, #45H指令表示把 45H 送往A累加器,源操作数采用的是 立即
寻址方式,MOV A,45H指令表示把 45H 地址对应单元的内容 送往A累加器,源操作数采用的是 直接 寻址方式。
7.将累加器的内容送片内RAM的7CH单元,可使用 MOV 7CH,A 指令,将工
作寄存器R5的内容送累加器可使用 MOV A,R5 指令。
8.MCS—51单片机系统中,同一地址信息可表示不同的存储单元。例如传送指令 MOV A,67H表示把 字节地址67H 单元的内容送往A累加器,而MOV C,67H指令表示把 位地址67H 单元的内容送往 C/位累加器 。
9.寄存器间接寻址方式中,其\间接\体现在指令中寄存器的内容不是操作数,
而是操作数的 地址 ,例如 MOV R0,#20H ,MOV A, @R0 。 10.PSW中RSl RSO=llH时,R2的地址为 1AH ,MOV PSW,#lOH是将MCS-
51的工作寄存器置为第 2 组。
11.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:
- 13 -
PUSH ACC PUSH B
后,SP的内容为 62H ,6lH单元的内容为 30H ,62H单元的内容为 70H 。 12.假定(SP)=62H,(61H)=30H,(62H)=70H。执行下列指令:
POP DPH POP DPL
后,DPTR的内容为 7030H ,SP的内容为 60H 。 13.执行当前指令后,PC内容为 下一条指令的首地址 。
14. 从程序存储器中读取操作数只能用“基址+变址的寄存器”间接寻址方式,
其指令有两条,一条是近程查表指令,其格式是 MOVC A, @A+PC ,另一条是远程查表指令,其格式是 MOVC A, @A+DPTR 。 指令 JMP @A+DPTR的寻址方式是 基址+变址的寄存器间接 寻址。
15.设DPTR=2000H,(A)=80H,则MOVC A,@A+DPTR操作数的实际地址为 2080H 。 16.假定(A)=30H,执行l000H: MOVC A,@A+PC指令后,程序存储器 1031H 单
元的内容送到A中。
17.假定DPTR的内容为8100H,累加器A的内容为40H,执行MOVC A,@A+DPTR
指令后,送入A的是程序存储器 8140H 单元的内容。 18. INC A指令 不 影响CY位。
19.MOV C,2OH源操作数寻址方式为 位 寻址。
20.累加器(A)=7EH,(2OH)=#04H,MCS-51执行完ADD A,2OH指令后,PSW.0= 0 。 21.累加器(A)= 80H,执行完指令ADD A,#83H后,进位位C = 1 。 22.Cy = 0,(A)= 4AH,(R0)= 27H,执行SUBB A,R0后,(A)= 23H 。 23.ORL A,#OFOH是将A的高4位置1,而低4位不变。
24.(A)= 90H,(R3)= 73H,执行XRL A,R3后,(A)= 0E3H 。 25. 执行ANL A,#0FH指令后,累加器A的高4位 = 0000B 。
26. 指令LCALL 37B0H首地址在2000H,所完成的主要操作是 2003H 入栈,37B0H
→ PC 。
27. 指令DJNZ R7,e操作码所在地址为300OH,e=EFH,则它的转移目的地址应
为 30F1H 。
28.在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行 256 次。 29. SJMP e的指令操作码地址为005OH,e=65H,那么它的转移目的地址为 0052H
+ 65 。
30.JZ e的操作码地址为10OOH,e=2OH,它的转移目的地址为 1022H 。 31. JBC OOH,e操作码的地址为20OOH,e=70H,它的转移目的地址为 2073H 。 32.51 单片机中执行时间最长的两条指令分别是 MUL 和 DIV 。 33.写出没有操作数的指令两条 RET 和 NOP 。
- 14 -
34.假定(A)=OFFH,(R3)=OFH,(30H)=OFOH,(RO)=40H,(40H)=OOH。执行指令:
INC A INC R3 INC 3OH INC @R0 后,累加器A的内容为 00H ,R3的内容为 10H ,30H的内容为 0F1H ,40H的内容为 01H 。
35.假定(A)= OFH,(R7)= 19H,(30H)= OOH,(Rl)= 40H,(40H)= OFFH。执行
指令:
DEC A DEC R7 DEC 3OH DEC @Rl
后,累加器A的内容为 0EH ,R7的内容为 18H ,30H的内容为 0FFH ,40H的内容为 0FEH 。 36.51指令系统
●欲使P1口的低4位输出0而高4位不变,应执行一条ANL P1,#0F0H 指令。 ●欲使P1口的高4位输出1而低4位不变,应执行一条 ORL P1,#0F0H 指令。 ●DIV AB指令执行后,OV标志为1,则此指令执行前(B)= 00 H。
37.在变址寻址方式中,以 A 作变址寄存器,以 PC 或 DPTR 作基址寄存器。
二、选择
1.计算机编程使用 b、c 语言,运行使用 a 语言。
a. 机器 b. 汇编 c. 高级 2.访问片内数据存贮器, 使用 a 指令。
a. MOV b. MOVX c. MOVC
3.MCS-51系列单片机属高档8位机,其指令系统中共有 b 指令。
a. 96 b. 111 c. 127 d. 256 4.51执行完MOV A,#08H后,PSW的 d 位被置位。
a. C b. F0 c. OV d. P
5.89C51单片机汇编语言指令格式中,唯一不可缺少的部分是 b 。
a. 标号 b. 操作码 c. 操作数 d. 注释 6.MOVX A, @DPTR指令中源操作数的寻址方式是 b 。
a. 寄存器寻址 b. 寄存器间接寻址 c. 直接寻址 d. 立即寻址 7.决定程序执行顺序的寄存器是 b 。
a. DPTR b. PC c. SP d. R0、R1 8.在寄存器间接寻址方式中,指定寄存器中存放的是 b 。
- 15 -