资源描述
《单片机原理与应用》期中练习题答案
一、填空(每格1分共24分)
1.8051单片机的内部硬件结构包括:中央处理器(CPU)、数据存储器(RAM) 、程序存储器和 2个16位定时/计数器以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过内部总线相连接。
2.通常,单片机上电复位时PC = 0000H,SP =07H;而工作寄存器则缺省采用第0组,这组寄存器的地址范围是从00H至07H。
3.MCS-51单片机访问片外存储器时利用ALE信号锁存来自P0口的低八位地址信号。
4.将8031片外程序存储器内的数据传送给A,可以采用的指令是MOVC A,@A+PC和MOVC A,@A+DPTR。
5.若PSW为18H,则选择的是第3组通用寄存器。
6. 80C51单片机一共有40个引脚。其中I/O口线32个,外扩ROM、RAM及I/O接口时,P0口做数据线,同时又做低八位地址线,P2口做高八位地址线,控制线6根,ALE和地址锁存器的数据输入选通G端联接,PESEN和外存储器的OE(输出允许)联接。
7.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为低电平。
8.起止范围为0000H~3FFFH的存储器容量为16KB。
二、 选择题(选出一个正确答案,将其代号写在括号内。每题2分,共10分)
1.MCS—51单片机的复位信号是( A )有效。
(A)高电平 (B)低电平 (C) 脉冲 (D)下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。
(A)2μs (B)4μs (C)8μs (D)1ms
3.区分片外程序存储器和数据存储器的最可靠方法是(D)。
(A)看其芯片型号是RAM还是ROM
(B)看其位于地址范围的低端还是高端
(C)看其离MCS-51芯片的远近
(D)看其是被RD还是被PSEN信号连接
4. 在中断服务程序中,至少应有一条(D)
(A)传送指令 (B)转移指令 (C)加法指令 (D)中断返回指令
5. 下面哪条指令产生WR信号(D)
(A)MOVAX A,@DPTR (B)MOVC A, @A+PC
(C) MOVC A,@A+DPTR (D)MOVX @DPTR,A
三、判断题(下列命题你认为正确的在括号内打“√”错的打“×”,每小题2分,共10分)
1.在MCS-51系统中,一个机器周期固定等于1.5us. (× )
2.MCS-51单片机扩展系统中, P0口必须接一个8位的锁存器,而P2口不必接。 (√)
3.MOV A,@R7,将R7单元中的数据作为地址,从该地址中取数,送入A中。(×)
4.8031芯片内一共有4K的ROM,256字节的RAM。(×)
5.SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。(×)
四、阅读并分析程序(每小题8分,共16分)
1.下列程序执行后,结果如何?
MOV R0, #7FH ;R0=7FH
MOV 7EH,#0 ;(7EH)=0
MOV 7FH,#40H ;(7FH)=40H
DEC @R0 ;(7FH)=3FH
DEC R0 ;R0=7EH
DEC @R0 ;(7EH)=0FFH
答: (R0)= 7EH, (7EH)= 0FFH (7FH)=3FH。
2.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行后,结果如何?
CLR C ;C=0
MOV R2,#2H ;R2=2
LOOP: MOV A,@R0 ;A=80H;A=90H
ADDC A,@R1 ;A=20H,C=1;6FH+90H+100H=0FFH,C=1
MOV @R0, A ;(20H)=20H;(21H)=0FFH;
INC R0 ;R0=21H;R0=22H
INC R1 ;R1=26H;R1=27H
DJNZ R2, LOOP
JNC NEXT
MOV @R0, #01H ;(22H)=01H
SJMP $
NEXT:DEC R0
SJMP $
答:(20)H= 20H, (21H)=0FFH, (22H)= 01H,
Cy= 1, A=90H, R0= 22H, R1=27H
五、编程题(每小题20分,共40分)
1. 将 5个双字节数正整数求和,5个数分别放在20H∽29H,结果放在30H、31H,进位在32H。试编写程序实现之。
2.如下图所示,在8051的P1口接一共阳型数码管,令其轮流显示0、1、2、3、、、E、F一秒钟。试编写程序实现的之。
1. 解: ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:MOV SP,#60H
MOV R7,#05H ;送双字节数正整数个数
MOV 30H,#00H ;结果寄存器清零
MOV 31H,#00H
MOV R0,#20H
CLR C
LOOP:MOV 32H,C
MOV A,30H ;第一字节相加
ADD A,@R0
MOV 30H,A
INC R0 ;第二字节相加
MOV A,31H
ADDC A,@R0
MOV 31H, A
MOV A,C ;进位相加
ADD A,32H
MOV 32H,A
DJNZ R7,LOOP
SJMP $
2.解:设系统采用6MHz晶体,则机器周期为2us,采用T0方式一定时,则中断10次为1秒。
1STOOP BIT 00H
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT
ORG 0100H
MAIN:MOV SP,#60H
MOV R6,#10 ;置中断次数
CLR 1STOOP ; 1秒未到标志
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
MOV R7,#0FH ;置送显次数
MOV R1,#00H ;置查显示代码表地址偏移量首址
LOOP:MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
JNB 1STOOP,$
CLR 1STOOP
INC R1
DJNZ R7,LOOP
SJMP MAIN
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,C6H,0A1H,86H,8EH ;"0-F"
T0INT: PUSH ACC
PUSH PSW
PUSH DPH
PUSH DPL
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R6,FZD
SETB 1STOOP
FZD: POP DPL
POP DPH
POP PSW
POP ACC
RETI
展开阅读全文