复习例题 第二章
一、 判断题
1、用户构建单片机应用系统,只能使用芯片提供的信号引脚。(对 ) 2、程序计数器PC不能为用户使用,因此它就没有地址。(对)
3、内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用(错) 4、对单片机的复位操作就是初始化操作。(对)
5、MCS-51单片机内部高128个字节特殊寄存器区都是可位寻址区。(错) 二、 填空题
1、 MCS-51单片机采用12MHz晶振时,ALE引脚脉冲频率为_2MHz___。
2、若由程序设定RS1、RS0=11,则工作寄存器R0-R7的直接地址为_18H-1FH___。 3、 累加器A中的数据为01110010B,则PSW中的P=_0_______。
4、 MCS—5l单片机的堆栈区只可设置在 便笺区 ,堆栈寄存器SP是 8 位寄存器。 5、 复位时,A=(00H),PSW=(00H),SP=(07H),P0-P3=(FFH). 三、 选择题
1、对程序计数器PC的操作( A )
A、是自动进行的。 B、是通过传送指令进行的。
C、是通过加1指令进行的。 D、是通过减1指令进行的。 2、以下运算中对溢出标志位OV没有影响的是(A )。
A、逻辑运算 B、符号数加减法运算 C、乘法运算 D、除法运算
3、以下有关PC和DPTR的结论中错误的是( C )
A、 DPTR是可以访问的而PC不能访问。B、它们都是16位的寄存器
C、它们都具有自动加1功能 D、DPTR可分为2个8位寄存器用而PC不能。
4、PC的当前值是( C )
A、当前指令前一条指令的地址 B、当前正在执行指令的地址 C、下一条指令的地址 5、假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为(D A、36H B、37H C、38H D、39H 6、在MCS-51中(C )
A、具有独立的专用的地址线 B、由P0口和P1口的口线作地址线
C、由P0口和P2口的口线作地址线 D、由P1口和P2口的口线作地址线
第三章
一、判断题
1. 判断以下各条指令是否正确(LL1和PROC为符号地址) (1)MOVX @R0,B (错) (2)MOV A,30H (对) (3)MOVX A,30H (错) (4)ADDC A,R7 (对) (5)SUB A,R2 (错) (6)ANL #99H ,36H (错) (7)MOV C,ACC.0 (对) (8)ORL P1.0,P3.1 (错) (9)JBC P0,LL1 (错) (10)ACALL PROC (对) 在错误的指令后画×。
MOV @R1,#80H ( ) MOV R7,@R1 (×) MOV 20H,@R0 ( ) MOV R1,#0100H (×) CPL R4 (× ) SETB R7.0 (×) MOV 20H,21H ( ) ORL A,R5 ( ) ANL R1,#0FH (×) XRL P1,#31H ( ) MOVX A,2000H (×) MOV 20H,@DPTR (×)
1
) MOV A,DPTR (×) MOV R1,R7 (×) PUSH DPTR (×) POP 30H ( ) MOVC A,@R1 (×) MOVC A,@DPTR (×) MOVX @DPTR,#50H (×) RLC B (×) ADDC A,C (×) MOVC @R1,A (×) 2、ACALL调用范围和AJMP的转移范围是一样的。(对) 3、直接寻址方式是访问专用寄存器的唯一方法。(错):还可用寄存器寻址方式 二、填空题
1、以助记符形式表示的计算机指令就是它的 汇编 语言。
2、按长度分,MCS-51指令有 1 字节的、 2 字节的和 3 字节的。 3、在寄存器寻址方式中,指令中指定寄存器的内容是 操作数 。
4、在变址寻址方式中,以 A累加器 作变址寄存器,以 DPTR 或 PC 做基址寄存器。
5、假定外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为 80H 。 MOV P2, #20H MOV R0, #00H MOVX A, @R0
6、假定累加器A的内容为30H,执行指令:
1000H:MOVC A, @A+PC 后,
把程序存储器 1031H 单元的内容送累加器A中。
7、假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令: PUSH ACC
PUSH B 后,
SP的内容为 62H ,61H单元的内容为 30H ,62H单元的内容为 70H 。
8、假定(A)=85H,(R0)=20H,(20H)=5FH,(CY)=1,执行指令:
ADD A, @R0 后,
累加器A的内容为 E4H ,CY的内容为 0 ,OV的内容为 0 。
9、假定(SP)=40H,(39H)=30H,(40H)=60H。执行下列指令:
POP DPH
POP DPL 后,DPTR的内容为 6030H ,SP的内容是 38H 。 10、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A, @A+DPTR后,
送入A的是程序存储器 8140H 单元的内容。 11.执行下列程序段
MOV A,#56H ;A=56H ADD A,#74H ;A=CAH ADD A,ACC ;A=94H
后,CY=-----1------------,OV=--------0------,A=------94H--------- 12.设内部RAM中(59H)=50H,执行下列程序段 MOV A,59H;A=59H MOV R0,A;R0=59H MOV A,#0;A=0
MOV @R0,A;(59H)=0 MOV A,#25H;A=25H MOV 51H,A;(51H)=25H MOV 52H,#70H;(52H)=70H 问A=---25H---,(59H)=-0----,(51H)=---25H----,(52H)=---70H----,
13.设SP=60H,内部RAM的(30H)=24H,(31H)=10H,在下列程序段注释的括号中添执行结果。 PUSH 30H ;SP=( 61H ),(SP)=( 24H ) PUSH 31H ;SP=( 62H ),(SP)=( 10H )
2
POP DPL ; SP=( 61H ),DPL=(10H ) POP DPH ; SP=( 60H ),DPH=( 24H ) MOV A,00H ;A=0
MOVX @DPTR,A ;(2410H)=0
最后的执行结果是( 外部数据存储器(2410H)=00H ) 14.对下列程序中各条指令做出注释,并分析程序运行的最后结果。 MOV 20H,#0A4H ;(20H)=0A4H MOV A,#0D6H ;A=0D6H MOV R0,#20H ;R0=20H MOV R2,#57H ;R2=56H ANL A,R2 ;A=56H ORL A,@R0 ;A=0F6H SWAP A ;A=6FH CPL A ;A=90H
ORL 20H,A ;(20H)=B4H SJMP $
15.单片机的晶振是6MHz,求下列延时子程序的延时时间 DELAY: MOV R1,#0F8H LOOP: MOV R3,#0FBH DJNZ R3,$
DJNZ R1,LOOP RET
T=[1+(1+2*0FBH+2)*0F8H+2]*2=250486us
第五章
一、填空题
1、MCS-51单片机扩展程序存储器所用的控制信号为Psen,扩展数据存储器所用的控制信号为WR和RD。 2、为扩展存储器而构造系统总线,应以P0口的8位口线作为 低8位地址和数据 线,以P2口的口线作为 高8位地址 线。 3、访问内部RAM使用 MOV 指令,访问外部RAM使用 MOVX 指令,访问内部ROM使用 MOVC
指令,访问外部ROM使用 MOVC 指令。
4、在存储器扩展中,用线选法还是译码法,最终都是为扩展芯片的 片选 端提供信号。 5、当使用8031单片机时,需要扩展外部程序存储器,此时EA应接__地____。 二、选择题
1、在MCS-51中,需要双向传递信号的是(B )
A、地址线 B、数据线 C、控制信号线 D、电源线 2、在MCS-51中,为实现P0口线的数据和低位地址复用,应使用(A ) A、地址锁存器 B、地址寄存器 C、地址缓冲器 D、地址译码器 3、在下列信号中,不是给程序存储器扩展使用的是(D ) A、Psen B、EA C、ALE D、WR
1、 定时器与计数器的工作原理均是对脉冲进行计数。(对) 2、 P3口每个引脚都有两种功能。(对)MCS-51单片机四个I/O口内部均有上拉电阻。(错):P0口没上拉电阻4、同级中断中,中断优先级由高到低为外中断0,定时中断0,外中断1,定时中断1,串行中断。(对) 二、填空题
1. MCS-51单片机扩展的I/O端口的编址采用_和存储器统一___编址方式。
2. 定时器/计数器的工作方式2是指将 定时器/计数器 拆成两个独立的8位计数器。其中一个用作8位的加
一计数器,而另一个定时器/计数器此时只可作为 寄存器 使用。
3
3、 MCS—51单片机不扩展存储器和I/O接口时,P0通常用作_通用I/O口使用_____,扩展存储器或I/O 接口时,P0通常用作__数据口和低8位地址口___。
4、在接口电路中,把已经编址并能进行读写操作的寄存器称之为 端口 。
5、在三态缓冲电路中,除了数据输入线和数据输出线外,还应当有一个 控制 信号线。
6、在单片机中,为实现数据的I/O传送,可使用3种传送方式,即: 无条件传送 、查询式和 中断式 。 7、在查询和中断两种数据输入输出控制方式中,效率较高的是 中断方式 。
8、在多位LED显示器接口电路的控制信号中,必不可少的是 段 控信号和 位 控信号。 9、对于电流输出的D/A转换器,为了得到电压的转换结果,应使用 运算放大器 。 10、使用双缓冲方式的D/A转换器,可以实现多路模拟信号的 同步 输出。
11.单片机的主频是6MHz, ALE上输出的脉冲频率(1MHz),机器周期是(2us),定时器T0所使用的时钟周期是(2us)。 三、选择 1、执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。从堆栈弹出的断点地址送给(C ) A、A 累加器 B、CY C、PC D、DPTR 3、三态缓冲器的输出应具有三种状态,其中不包括( B )
A、高阻抗状态 B、低阻抗状态 C、高电平状态 D、低电平状态 4、为给扫描法工作的键盘提供接口电路,在接口电路中只需要( B)
A、一个输入口 B、一个输入口和一个输出口 C、一个输出口 D、两个输入口和一个输出口 5、下列理由中,不能说明MCS-51的I/O编址是统一方式而非独立方式的理由是(D)
A、没有专用的I/O指令 B、没有区分存储器和I/O的控制信号C、使用存储器指令进行I/O操作 D、P3口线具有第二功能
6、在LED显示中,为了输出位控和段控信号,应使用指令(A或B )
A、MOV B、MOVX C、MOVC D、XCH 四、简答题
1. 简述堆栈概念及其存取原则。P53
2. 简述MCS-51单片机中断响应过程。P211
3. 哪些指令能使PSEN有效?
答: 能使PSEN有效的指令是:MOVC A,@A+DPTR; MOVC A,@A+PC 4. 访问外部数据存储器的指令是什么?各使用什么控制信号?
答:读(取)外部数据存储器使用的指令是 MOVX A,@DPTR;控制信号是RD; 写(送入)外部数据存储器使用的指令是 MOVX @DPTR,A;控制信号是WR。
5、51单片机5个中断源各是什么?各中断源对应的中断服务程序的入口地址是否能任意设定?想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。
答:不能。用户可在中断入口地址处存放一条三字节的长转移指令,CPU执行这条长转移指令便可转入相应的中断服务程序执行。 例如:如果INT0中断服务程序起始地址为2000H单元,则如下指令执行后便可转入2000H处执行中断服务程序。
ORG 0003H LJMP 2000H
6.8031、8051、8751有何异同?
答: 异:片内ROM:8031无片内ROM;8051有4KB的片内ROM;8751有4KB的片内EPROM。
同:其他各功能部件和指令系统完全一样 7.MCS-51的位寻址区在哪里?寻址范围是多少? 答:在片内RAM的位寻址区。寻址范围:20H-2FH
8.8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何?
答:2个。16位。4中。二进制的加1计数器,当计数器满回零时能自动产生溢出中断请求,表示定时时间已到或计数已经终止。
9.MCS-51单片机的PSW中无ZERO标志位,如何判断某内部数据存储单元的内容是否为0? 答:内部数据存储单元的内容传送到A,通过JZ指令即可进行判断。 7. 说明下列各条指令中目的操作数/源操作数的寻址方式 (1) ANL A,20H 寄存器/直接寻址 (2) ADDC A, #20H 寄存器/立即寻址
4
(3) MOV A,@R1 寄存器/寄存器间址 (4) MOV 30H, C 位寻址
(5) MOVC A,@A+DPTR 寄存器/变址寻址
(6)ADD A,40H 寄存器 /直接 (7)PUSH ACC 直接 (8)MOV B,20H 寄存器/直接 (9)ANL P1,#35H 寄存器/立即 (10)MOV @R1,PSW 寄存器间址/寄存器 (11)MOVX @DPTR,A寄存器间址/寄存器 五.按要求写指令
1. 片外ROM 2000H单元内容传送到片内RAM60H单元. CLR A
MOV DPTR,#2000H MOVC A,@A+DPTR MOV 60H,A
2. 将30H单元内容减去40H单元内容,差值放入50H单元 CLR C MOV A,30H SUBB A,40H MOV 50H,A
3. 片内RAM 20H单元内容传送到片外RAM20H单元. MOV R0,#20H MOV A,20H MOVX @R0,A
4. 片外RAM 1000H单元内容与片内RAM20H单元内容相加,和放到片外RAM1000H单元. MOV DPTR,#1000H MOVX A,@DPTR ADD A,20H MOVX @DPTR,A
5. 片内RAM 20H单元内容除以30H单元的内容,商送到20H单元,余数送到30H单元. MOV A,20H MOV B,30H DIV AB MOV 20H,A MOV 30H,B
6. 片外RAM 20H单元内容传送到片内RAM30H单元. MOV R0,20H MOVX A,@R0 MOV 30H,A
7. 片外RAM 1000H单元内容传送到片内RAM20H单元. MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A
8. 片外ROM 1000H单元内容传送到片外RAM2000H单元. MOV DPTR,#1000H CLR A
MOVC A,@A+DPTR MOV DPTR,#2000H MOVX @DPTR,A
9. 一条指令就能使A累加器内容变为零的指令写四个. CLR A ANL A,#00H MOV A,#00H XRL A,A
10.将20H单元的内容与30H单元的内容相加,和放入40H单元。 MOV A,20H
5