单片机复习题答案.docx
《单片机复习题答案.docx》由会员分享,可在线阅读,更多相关《单片机复习题答案.docx(20页珍藏版)》请在冰豆网上搜索。
![单片机复习题答案.docx](https://file1.bdocx.com/fileroot1/2023-2/21/c37c4953-0fe2-4837-942b-f537c4659b7e/c37c4953-0fe2-4837-942b-f537c4659b7e1.gif)
单片机复习题答案
《单片机应用与实践》模拟试卷一参考答案
一.选择题
1.D2。
A3。
C4。
D5。
B6。
C
7.C8。
A9。
B10。
D11。
A12。
B
13.B14。
B15。
D
二.填空题(每空1分,共24分)
1.(80H)
2.(62H)(30H)(70H)。
3.(01××××11B)
4.(00H)(01H)。
5.(程序)(数据)
6.(程序)和(数据)、(64K)
7.(低位地址/数据),(高位地址)
8.(0F1H),(0),(57H),C=
(1)。
9、计算延时程序的执行时间。
(设时钟f=12MHz)
源程序指令周期(M)指令执行次数
DELAY:
MOVR6,#64H1
(1)
I1:
MOVR7,#0FFH1(100)
I2:
DJNZR7,I22(100*255)
DJNZR6,I12(100)
RET2
(1)
延时时间t=(1×1+1×100+2×100×255+2×100+2×1)×T=51.3ms
三.简答题(每小题5分,共10分)
1.答:
(1)复位的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。
(2)复位方法有上电自动复位和按键手动复位
(3)复位后单片机的状态为:
PC=0000H、PSW=00H、SP=07H、DPTR=0000H、P0、P1、P2、P3各为FFH
2.答:
(1)中断:
程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去;完成中断服务程序后,CPU继续执行原来被打断的程序。
(2)80C51单片机有5个中断源,分别是INT0、INT1、T0、T1和串行中断。
(3)CPU响应中断时,中断入口地址如下:
中断源入口地址
INT00003H
INT1000BH
T00013H
T1001BH
串行中断0023H
四.编程题(每小题8分,共16分)
1.参考程序:
ORG0000H
START:
MOVR1,#40H;R1作为地址指针
CLRA;A作为计数器
LOOP:
CJNE@R1,#24H,NEXT;与“$”号比较,不等转移
SJMPNEXT1;找到“$“结束循环
NEXT:
INCA;计数器加1
INCR1;指针加1
SJMPLOOP;循环
NEXT1:
INCA;再加入”$”这个字符
MOV30H,A;存结果
END
2.参考程序:
ORG0000H
MOV51H,#0H
MOV52#,#0H
MOVR1,#30H
MOVR0,#20H
MOVA,@R1
INCR1
ANLA,#01H
JZLOOP1
INC51H
SJMPLOOP2
LOOP1:
INC52H
LOOP2:
DJNZR0,LOOP3
RET
五.编程设计题(每小题10分,共20分)
1.
参考程序:
ORG0000H
AJMPMAIN
ORG0003H
RLA;中断服务
MOVP1,A
RETI
MAIN:
MOVA,#0FFH
MOVP1,A;第一灯亮
SETBEA
SETBEX0;允许INT0外部中断
SETBIT0;中断触发方式为下降沿触发
SJMP$;等待中断
2.
参考程序:
DIR2:
SETBP3.5
MOVR2,#02H
MOVR1,#50H
MOVDPTR,#TAB
LP:
MOVA,@R1
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
INCR1
DJNZR2,LP
CLRP3.5
RET
TAB:
DB0C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H。
《单片机应用与实践》模拟试卷二参考答案
一.选择题(正确答案在序号前打√,每小题2分,共20分)
1.B2.C3.A4.D5.C
6.B7.C8.A9.D10.A
二、判断题(正确打√,错误打ⅹ,每小题1分,共5分)
1.(√)
2.(√)
3.(ⅹ)
4.(ⅹ)
5.(√)
三、指出下列程序的功能(每小题5分,共10分)
1.
程序功能:
把片外数据存储器1000H~1050H中的内容传送到片内数据存储器
20H~70H中。
2.
程序功能:
利用查表的方法实现RO中的十六进制数转换为ASCⅡ码
四、编程题(每小题10分,共20分)
2.
参考程序:
MOV30H,#0
MOV31H,#0
MOV32H,#0
MOVDPTR,#2000H
MOVR1,#100
L4:
MOVXA,@DPTR
INCDPTR
CJNEA,#0,L1
INC32H
SJMPL5
L2:
JCL3
INC30H
SJMPL5
L3:
INC31H
L5:
DJNZR1,L4
SJMP$
3.
参考程序:
注意压缩的BCD码为一个字节占两位BCD码。
ORG0000H
MOVR7,#05H;R7为转换字节数
MOVR0,#20H;R0为源操作数地址
MOVR1,#25H;R1为目的操作数地址
NE:
MOVA,@R0
ANLA,#0FH;先取低位BCD码
ADDA,#30H;将BCD码转换成ASCⅡ码
MOV@R1,A
INCR1
MOVA,@R0
ANLA,#0F0H;取高位BCD码
SWAPA;半字节交换
ADDA,#30H;将高位BCD码转换成ASCⅡ码
MOV@R1,A
INCR0
INCR1
DJNZR7,NE
SJMP$
END
五、编程设计题(每小题15分,共45分)
1、
T1工作方式2:
,x=243=f3h
MOVTMOD,#00100000B
MOVSCON,#01010000B
MOVPCON,#00H
MOVTH1,#0F3H
MOVTL1,#0F3H
CLRES
MOVR7,#16
MOVR0,#50H
SETBTR1
WAIT:
JNBRI,WAIT
CLRRI
MOV@R0,SBUF
INCR0
DJNZR7,WAIT
2.
参考程序:
ORG0000H
AJMPMAIN
ORG0003H
AJMPSINT0
ORG0100H
SETBIT0
SETBEX0
SETBEA
HERE:
AJMPHERE
SINT0:
MOVA,#0FFH
MOVP1,A
MOVA,P1
SWAPA
ORLA,#0FH
MOVP1,A
RETI
3.
参考程序:
ORG0200H
FLASH:
MOVA,#01H
FSH0:
MOVR2,#0AH
FLOP:
MOVP1,A
LCALLDY1S
MOVP1,#00H
LCALLFLOP
DJNZR2,FLOP
RLA
SJMPFSH0
RET
《单片机应用与实践》模拟试卷三参考答案
一、填空题(20%,每空1分)
1、程序存储器,数据存储器,64KB,64KB
2、13H
3、操作数的地址
4、27H,48H,23H,3456H
5、4.3ms
6、PC,0000H
7、片内机器周期脉冲数,片外脉冲
8、2
9、电平触发,边沿触发
10、同步方式,异步方式
二、下列列出几个程序段,请分别求出执行后的结果。
(15%,每小题5分)
1、27h,01h
2、05h,14h
3、47h,34h
三、编写指令段完成下列数据传送。
(15%,第1小题3分,其余每小题4分)
(1)MOVA,R1
MOVR0,A
(2)MOVDPTR,#0020H
MOVXA,@DPTR
MOVR0,A
(3)MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#0020H
MOVX@DPTR,A
(4)MOVDPTR,#2000H
MOVA,#0
MOVCA,@A+DPTR
MOVDPTR,#0020H
MOVX@DPTR,A
四、(15%)
方式1:
(216-x)×2=20000,x=dbf0h
ORG000H
LJMPMAIN
ORG001BH
LJMPT1_INT
ORG050H
MAIN:
MOVTMOD,#00010000B
MOVTH1,#0D8H
MOVTL1,#0F0H
SETBEA
SETBET1
SETBTR1
SJMP$
ORG2000H
T1_INT:
CPLP1.7
MOVTH1,#0D8H
MOVTL1,#0F0H
RETI
五、(15%)
采用外部中断0方式,信号从INT0(P3.2)引脚输入,从P1.0引脚输出
ORG0000H
LJMPMAIN
ORG0003H
LJMPI_INT0
ORG0050H
MAIN:
SETBIT0
SETBEA
SETBEX0
MOVR7,#0
SJMP$
I_INT0:
INCR7
CJNER7,#2,GORETI
CPLP1.0
MOVR7,#0
GORETI:
RETI
六、(20%)
地址范围:
(1):
c000h~dfffh
(2):
a000h~bfffh
(3):
6000h~7fffh
《单片机应用与实践》模拟试卷四参考答案
一、填空题(35%)
1、在RST端保持至少2个机器周期的高电平,0000H,0000H,07H,00H
2、1,0,1,0
3、18H
4、1024,15
5、1/12us,1/6us,1us,4us
6、内RAM及FSR,256B,外RAM,64KB,ROM,64KB
7、SP,寄存器间接寻址,B,寄存器
8、23H,3412H
9、片内机器周期脉冲,片外脉冲
10、4,同步移位输入输出,fosc/12,RXD,TXD
二、
答:
80C51能扩展64KBROM(包括片内ROM)和64KB外RAM(包括扩展I/O口)。
并行扩展存储器,产生片选信号的方式有线选法和译码法两种。
线选法是将高位地址线直接连到存储器芯片的片选端。
其优点是连接简单,缺点是芯片的地址空间相互之间可能不连续,存储空间得不到充分利用,存在地址重叠现象。
线选法适用于扩展存储容量较小的场合。
译码法是通过译码器将高位地址线转换为片选信号,2条地址线能译成4种片选信号,3条地址线能译成8种片选信号,4条地址线能译成16种片选信号。
译码法与线选法比较,硬件电路稍微复杂,需要使用译码器,但可充分利用存储空间,全译码还可避免地址重叠现象,局部译码因还有部分高位地址线未参与译码,因此仍存在地址重叠现象。
译码法的另一个优点是若译码器输出端留有剩余端线未用时,便于继续扩展存储器或I/O口接口电路。
三、xequ30h
yequ31h
MOVDPTR,#TAB
MOVA,x
MOVCA,@A+DPTR
MOVy,A
SJMP$
TAB:
DB0,1,4,9,16,25,36,49,64,81
四、
ORG000H
LJMPMAIN
ORG013H
LJMPI_INT1
ORG030H
MAIN:
MOVTCON,#00000100B
MOVIE,#10000100B
MOV30H,#0
MOV31H,#0
SJMP$
I_INT1:
MOVA,30H
ADDA,#!
MOV30H,A
MOVA,31H
ADDCA,#0
MOV31H,A
RETI
五、
(216-x1)*1us=10000us→x1=b8f0h
216-x0=500us→x0=fe0ch
org000h
ljmpmain
org00bh
ljmpt0_int
org01bh
ljmpt1_int
org100h
main:
movsp,#60h
movtmod,#00010101b
movie,#10001010b
movth0,0feh
movtl0,0ch
clrp1.0
setbtr0
sjmp$
t0_int:
movth0,0feh
movtl0,0ch
movth1,#0b8h
movtl1,#0f0h
setbp1.0
setbtr1
reti
t1_int:
clrp1.0
clrtr1
reti
六、
T1工作在方式2:
波特率=
=
=1200
T1初值:
甲机:
MAIN:
MOVTMOD,#00100000B
MOVSCON,#01000000B
MOVPCON,#00H
MOVTH1,#0F3H
MOVTL1,#0F3H
CLRES
SETBTR1
MOVP1,#0FFH
LOOP:
MOVA,P1
MOVSBUF,A
JNBTI,$
CLRTI
SJMPLOOP
乙机:
ORG000H
LJMPMAIN
ORG0023H
LJMPI_ES
ORG050H
MAIN:
MOVTMOD,#00100000B
MOVSCON,#01010000B
MOVPCON,#00H
MOVTH1,#0F3H
MOVTL1,#0F3H
CLRES
SETBTR1
SJMP$
I_ES:
MOVA,SBUF
CLRRI
MOVP1,A
RETI
《单片机应用与实践》模拟试卷五参考答案
一、填空题(每空2分,共20分)
1.高级、低级。
2.布尔处理器、进位标志位C。
3.低128、高128。
4.拍节、状态、机器周期、指令周期。
二、说明引脚或寄存器功能(每题5分,共25分)
1.PSEN外部程序存储器读选通信号
2.VSS地线
3.PSW程序状态字
4.PC程序计数器
5.IP中断优先控制寄存器
三、说明指令功能及操作数寻址方式(双操作数时只要求说明源操作数)(每题5分,共25分)
1.SP加1,DPH内容送栈顶单元。
直接寻址。
2.指令跳转到A+DPTR处。
变址寻址。
3.CY内容送位地址3BH。
位寻址。
4.将A中内容与EDH相加,结果送入A寄存器。
立即寻址。
5.将外部RAM中以DPTR内容为地址的单元内容送入A寄存器。
寄存器间接寻址。
四、阅读程序,指出程序功能,并给循环体内指令加上注释。
(10分)
注释5分,功能5分
LOOP:
MOVXA,@R0;取一个加数
ADDCA,R2;单字节数相加
MOVR2,A;和低位送R2
JNCLOOP1;无进位转移
INCR1;有进位高位加1
LOOP1:
DECR0;地址减量
DJNZR3,LOOP;次数减1,不为0转移
功能:
4个字节数相加,结果低字节送R2,高字节送R1。
五、
扩展作图(10分)
地址范围(4分)6264:
C000H~DFFFH
2764:
C000H~DFFFH
六、编程(10分)
解:
(2分)计数初值X=256-50=206=CEH
(2分)TMOD=02H
(6分)主程序:
MOVTMOD#02H
MOVTH0,#0CEH
MOVTL0,#0CEH
SETBEA
SETBET0
LOOP:
SETBTR0
HERE:
SJMP$
中断服务程序:
CPLP1.0
RETI