单片机复习题带答案Word文件下载.docx
《单片机复习题带答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机复习题带答案Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
B、寄存器间接寻址
C、相对寻址
8、下列那条指令是正确的(C)
A、DECDPTRB、ADDR0,AC、PUSHACC
9、MOVDPTR,#1000H
MOVXA,@DPTR
MOVDPTR,#2000H
MOVX@DPTR
程序段实现的功能是(B)
A、将ROM的1000H单元中的内容送至外部RAM的2000H单元中
B、将外部RAM的1000H单元内容送至外部ROM的2000H单元中
C、将A的内容送至外部RAM的1000H单元中
10、PSW的OV位为(C)
A、辅助进位标志位B、进位标志C、溢出标志位
11、十进制数197.6875转换成二进制数是(A)
A、11000101.1011BB、11010101.1011BC、11000101.0011B
12、-2的补码为(C)
A、00000001B、10000001C、11111110
13、如果51单片机的晶振频率为12MHZ,则一个机器周期的时间为(B)
A、2微秒B、1微秒C、0.5微秒
14、对51单片机来说,以下既可以位寻址又可以字节寻址的是(B)
A、30HB、22HC、07H
15、如果将PSW种的RS1置1,RS0清0,则选定的工作寄存器为(B)
A、1区B、2区C、3区
16、指令中的常用的符号@Ri表示(C)
A、以R0为指针间接寻址的ROM单元
B、以R0为指针间接寻址RAM的单元
C、以R0或R1为指针间接寻址的RAM单元
17、MOVA,R0指令中源操作数的寻址方式是(A)
A、直接寻址B、寄存器间接寻址C、相对寻址
18.下列指令是正确的是(C)
A、DECDPTRB、ADDR0,AC、PUSHACC
19、MOVDPTR,#1000H
CLRA
MOVCA,@A+DPTR
MOVDPTR,#2000H
MOVX@DPTR,A
程序段实现的功能(A)
A、将ROM的1000H单元内容送至外部RAM的2000H单元内容中
B、将RAM的1000H单元内容送至外部ROM的2000H单元内容中
C、将ROM的2000H单元内容送至外部RAM的1000H单元内容中
20、已知(A)=85H,(R0)=20H,(20H)=0AFH,执行指令ADDA,@R0,则A和CY的值为(A)
A、(A)=34H,(CY)=1B、(A)=34H,(CY)=0C、(A)=3H,(CY)=1
二、填空
1、二进制数1011110011.101转换成八进制数是(1363.5)
2、已知(A)=80H,(R0)=20H,(20H)=12H,执行指令XCHDA,@R0,则(A)=(82H)
3、设(30H)=0FFH,执行指令INC30H,则(30H)=(100H)
4、已知(A)=30H,(1030H)=03H,(1031H)=04H,执行指令1000H:
MOVCA,@A+PC(此条指令为单字节指令)(A)=(04H)
5、若(SP)=3EH,(DPTR)=6030H,执行指令PUSHDPL,PUSHDPH,则(3FH)=(30H),(40H)=(60H),(SP)=(40H)
6、设(A)=01010101,(R5)=10101010,执行指令ORLA,RS,则(A)=(0FFH))
7、已知(A)=11111111,(CY)=0,执行指令RLCA,则(A)=(0FEH)
8、已知(A)=10H,(DPTR)=2000H,执行指令JMP@A+DPTR,则(PC)=(2010H)
9、51单片机的外部中断1的中断请求标志位是(IE1)
10、51单片机共有(5)个中断源,
(2)个中断优先级
11、51单片机共有(4)8位I/O接口,其中(P1和P2)口具有第二功能,(P0)作为通用输出口时,必须外接上拉电阻
12、二进制数1011110011.101转换成16进制数是(2F3.AH)
14、若(SP)=40H,(3FH)=30H,(40H)=60H,执行指令POPDPH,POPDPL,则(DPTR)=(6030H),(SP)=(3EH)
15、设(A)=01010101,(R5)=10101010,执行指令XRLA,R5,则(A)=(0FFH)
16、51单片机共有(4)8位I/O接口,其中(P1和P2)口具有第二功能,(P0)作为通用输出口时,必须外接上拉电阻
17、51单片机共有(5)个中断源,
(2)个中断优先级
18、51单片机中断服务子程序的最后一条指令是(返回指令RETI)
19、51单片机定时/计数器T0的溢出标志位和运行控制位分别是(TF0)和(TR0)
20、51单片机外部中断1的中断允许位是(EX1)
21、51单片机定时/计数器工作方式2的最大值是(256)
三、分析程序回答问题
MOVR3,A
MOVDPTR,#TAB
MOVR1,#50H
MOVR2,#03H
LOOP:
MOVCA,@A+DPTR
MOV@R1,A
MOVA,R3
INCA
MOVR3,A
INCR1
DJNZR2,LOOP
RET
ORG0070H
TAB:
DB12H,32H,56H,84H,02H,56H,63H,89H
DB0EFH,87H,02H,33H,64H,0DFH,14H,88H
该程序执行后,DPTR中的数值是(0070H),退出时A的数值是(03H),R1中的数值是(53H),R2中的数值是(00H),当A的值是1时,查表所得的值是(32H)
四、简答
1、1个中断源的中断请求要被响应,必须满足得到条件是什么?
答:
1.开放CPU中断,即中断允许控制位EA=1;
2.中断源有中断请求,即中断标志位被置位;
3.相应的中断允许位被置位,即某个中断源允许中断;
4.无同级或高级中断正在被服务。
2、写出51单片机的中断源自然优先级的顺序(由高到低),和响应中断入口地址
51单片机的中断自然优先级的顺序(由高到低):
外部中断0,T0溢出中断,外部中断1,T1溢出中断,串行口中断;
响应中断入口地址:
外部中断0的地址0003H,定时计数器0的地址000BH,外部中断1的地址0013H,定时计数器1的地址001BH,串行口中断0023H。
3、程序状态寄存器PSW各位的含义
程序状态寄存器PSW各位的含义:
进位标志CY,辅助进位标志AC,用户标志位F0,溢出标志OV,奇偶标志P,工作寄存器组选择位RS1、RS0。
五、编程
1、已知原码,求补码P64(4-5)
例:
设在内部RAM30H单元存放着一个有符号数,试编程求其补码,并存放回原单元。
ORG0100H
MOVA,30H
JNBACC.7,L1
CPLA
ADDA,#1
ORLA,#80H
MOV30H,A
L1:
SJMP$
END
2、将外部RAM地址送到片内RAM中P66(4-9)
将外部RAM1000H单元开始的20个字节数据传送到片内30H开始的单元。
MOVR7,#20
MOVDPTR,#1000H
MOVR0,#30H
MOVXA,@DPTR
MOV@R0,A
INCDPTR
INCR0
DJNZR7,L1
SJMP$
3、定时器P91(6-1)
选定定时计数器1方式0产生500定时,在引脚上输出周期为1的方波,设晶振频率=6MHz。
(1)计算定时计数器的初值
机器周期为2,设需要装入T1的初值为X,则有:
(2^13-X)×
2=500,可得X=7942D=1111100000110B,低5位送入TH1的低5位,高8位送入TH1,即(TL1)=00110=06H,(TH1)=11111000=F8H。
(2)初始化程序设计
根据题意对TMOD进行初始化。
GATE=0,用1控制定时器的启动和停止,CT=0,设为定时工作模式,M1M0=00,设为方式0,定时计数器0不用,TMOD低4位置0即可,则(TMOD)=00H。
(3)程序设计
程序的实现可以采用查询方式或中断方式。
采用查询方式,参考程序如下:
ORG0000H
LJMPMAIN
ORG0300H
MAIN:
MOVTHOD,#00H
MOVTH1,#0F8H
MOVTL1,#06H
MOVIE,#00H
SETBTR1
JBCTF1,ZCZ
AJMPLOOP
ZCZ:
CLRTR1
CLPP1.1
采用中断方式,参考程序如下:
ORG001BH
AJMPZPZ
MOVTMOD,#00H
SETBET1
SETBEA
$:
RETI
假设系统时钟频率为12MHz,使用定时计数器0工作在方式1,在P1.0端输出周期为20ms的方波。
要输出周期20ms的方波,只需在P1.0引脚每隔10ms交替输出高、低电平即可,因此定时时间为10ms。
机器周期为1。
设计数初值为X,则有
(2^16-X)×
1=10000,X=55536D=0D8F0H。
低8位送TL0,高8位送TH0,即(TL0)=0F0H,(TH0)=0D8H。
(2)对初始化
由题意可知,GSTE=0,CT=0,M1M0=01,定时计数器1不用,TMOD高4位置0,则()=01。
MOVTMOD,#01H
MOVTH0,#0D8H
MOVTL0,#0F0H
MOVIE,#01H
SETBTR0
JBCTF0,ZCZ
CLRTR0
MOVTL0,#0D8H
MOVTH0,#0F0H
CLPP1.0
ORG000BH
LJMPZCZ
MAIN:
MOVTHOD,#01H
SETBET0
HERE:
AJMPHERE
RET1