单片机习题指令和编程与答案Word格式.docx
- 文档编号:17663485
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:25
- 大小:41.76KB
单片机习题指令和编程与答案Word格式.docx
《单片机习题指令和编程与答案Word格式.docx》由会员分享,可在线阅读,更多相关《单片机习题指令和编程与答案Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
A.位寻址B.直接寻址C.立即寻址D.寄存器寻址
16.在算术运算中,与辅助进位AC有关的是(C)。
A.二进制B.八进制C.十进制D.十六进制
17.把P0口高四位变0,低四位不变,应使用指令(D)。
A.ORLP0,#0FHB.ORLP0,#0F0H
C.ANLP0,#0F0HD.ANLP0,#0FH
18ORG0000H
AJMP0040H
ORG0040H
MOVSP,#00H
当执行完上面的程序后,PC的值是(D)。
A.0040HB.0041HC.0042HD.0043H
19.在相对寻址方式中,“相对”两字是指跳转(A)。
A.地址偏移量relB.当前指令的首地址
C.当前指令的末地址D.DPTR值
20.使用8051,且
=1,则可以外扩ROM(B)。
A.64KBB.60KBC.58KBD.56KB
21.已知(31H)=21H,(32H)=04H,执行下列指令后,31H的容为(B)。
PUSH31H
PUSH32H
POP31H
POP32H
A.21HB.04HC.32HD.31H
22.已知(A)=00H,执行DECA指令后,A的容为(B)
A.00HB.FFHC.01HD.0FH
23.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是(B)。
A.MOVB.MOVXC.MOVCD.以上都行
24.LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指令,PC=(D)。
A.2000HB.2001HC.2002HD.2003H
25.程序设计的方法一般有(D)
A.1种B.2种C.3种D.4种
26.在寄存器间接寻址方式中,指定寄存器中存放的是(B)
A.操作数B.操作数地址C.转移指令D.地址偏移量
27.当8031外扩程序存储器8KB时,常使用EPROM2716(C)
A.2片B.3片C.4片D.5片
28.中断服务程序的最后一条指令必须是(C)
A.ENDB.RETC.RETID.AJMP
29.ADC0809启动A/D转换的方式是(C)
A.高电平B.低电平C.正脉冲D.负脉冲
30.MOVC,30H源操作数寻址方式为(D)
A.立即寻址B.寄存器寻址
C.寄存器间接寻址D.位寻址
31.POPA指令,MCS-51完成的操作是(A)
A.A←((SP))SP←(SP)-1B.SP←(SP)-1A←((SP))
C.A←((SP))SP←(SP)+1D.SP←(SP)+1A←((SP))
32.当(RS1,RS0)=(1,1)时,工作寄存器R0对应部RAM的(D)
字节单元。
A.00HB.08HC.10HD.18H
33.在R3初值为00H的情况下,DJNZR3,rel指令将循环执行(B)
A.0次B.256次C.128次D.10次
34.执行AJMPaddr11指令时,MCS-51完成的操作是(D)
A.保护PCB.PC←addr11
C.保护现场D.PC+2入栈PC0~10←addr11
35.ORG2000H
LCALL3000H
ORG3000H
RET
上面程序执行完RET指令后,(PC)=(C)。
A.2000HB.3000HC.2003HD.3003H
36.MCS-51执行完MOVA,#08H后,PSW的(D)位被置位。
A.CB.F0C.0VD.P
37.MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是(A)。
A.读锁存器B.读数据C.读A累加器D.读CPU
38.对程序存储器的读操作,只能使用(D)。
A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令
39.ORG8000H
DS08H
DB30H,8AH
则8008H单元容为(B)。
A.08HB.30HC.8AHD.不确定
40.MOVR0,A指令目标操作数的寻址方式是(A)。
A.寄存器间接寻址B.寄存器寻址C.直接寻址D.相对寻址
41.已知(60H)=23H,(61H)=61H,运行下列程序62H容为(A)。
CLRC
MOVA,#9AH
SUBBA,60H
ADDA,61H
DAA
MOV62H,A
A.38HB.D8HC.DBHD.3EH
42.设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为(B)。
DELAY:
MOVR2,#0FAH
L2:
DJNZR2,L2
RET
A.900μSB.1006μSC.500usD.5.501us
43.MCS-51的LJMP指令跳转空间为(C)。
A.2KB.–128~127C.64KD.32K
44.关于MCS-51的堆栈操作,正确的说法是(C)。
A.先入栈,再修改栈指针B.先修改栈指针,再出栈
C.先修改栈指针,再入栈D.以上都不对
45.JNZrel指令的寻址方式是(C)。
A.立即寻址B.寄存器寻址C.相对寻址D.位寻址
46.8051执行ADDA,20H指令时,首先在P0口上出现的信息是(A)。
A.操作码地址B.操作码C.操作数D.操作数地址
47.必须进行十进制调整的十进制运算(C)。
A.有加法与减法B.有乘法与除法C.只有加法D.只有减法
48.执行MOVXDPTR,A指令时,MCS-51产生(B)控制信号。
A.
B.
C.ALED.
49.已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为(C)。
DY2:
MOVR6,#2
DLP1:
MOVR7,#250
DLP2:
DJNZR7,DLP2
DJNZR6,DLP1
A.1msB.1.5msC.2msD.4ms
二.填空题(每小题1分,共15分
1.执行ANLA,#0FH指令后,累加器A的高四位=清零。
2.设DPTR=(2000)H,(A)=08H,则MOVCA,A+DPTR的操作数的实际地址为2008H。
3.假定addrll=B,标号JAZ的地址为1030H,执行指令JAZ:
AJMPaddrll后,程序转移地址1100H去执行。
4.JZrel的操作码的地址为1000H,rel=20H,他的转移目标地址为1022H。
28.执行当前指令后,PC容为下一条指令的首地址。
5.在寄存器间接寻址方式中,其“间接”体现在指令寄存器的容不是操作数,而是操作数的地址。
6.假定(A)=0FFH,执行指令INCA后,A的容为00H。
7.MCS-51系统中,当
信号有意义时,表示CPU要从外部程序存储器读取信息。
8.访问MCS-51程序存储器传送指令的操作码助记符应为___MOVC______。
9.累加器(A)=7EH,(20H)=#04H,MCS-51执行完ADDA,20H指令后,PSW.0为_____________。
10.INC指令_____________CY位。
11.假定累加器A的容为30H,执行指令1000H:
MOVCA,A+PC后,把程序存储器____1031H____单元的容送累加器A中。
12.在R7初值为00H的情况下,DJNZR7,rel指令将循环执行__256__次。
13.MOVPSW,#10H是将MCS-51的工作寄存器置为第______2___组。
14.指令LCALL37B0H,首地址在2000H,完成此操作后(PC)=___37B0H___。
15.假定DPTR的容为8100H,累加器A的容为4DH,执行指令MOVCA,A+DPTR后,送入A的是程序存储器____814DH_______单元的容。
16.累加器A中存放一个其值小于或等于127的8位无符号数,CY清“0”后执行RLCA指令,则A中数变为原来的_____2______倍。
17.MCS-51的两条查表指令是_MOVCA,A+PC_,_MOVCA,A+DPTR___。
18.指令DJNZR7,rel的指令操作码所在的地址为3000H,rel=EFH,则它的转移目的地址为_2FF1H___。
19.通过堆栈操作实现子程序调用,首先要把__PC______的容入栈,以进行断点保护。
20.调用返回时再进行出栈操作,把保护的断点弹回____PC____。
21.设(SP)=60H,(ACC)=30H,(B)=70H,执行指令PUSHACC,PUSHB后,SP的容为___62H____。
22.设(SP)=60H,(ACC)=40H,(B)=60H,执行PUSHACC,PUSHB后61H单元的容为___40H____。
23.设(SP)=60H,(ACC)=40H,(B)=80H,执行PUSHACC,PUSHB,62H单元的容为___80H_____。
24.PC中存放的是__下一条指令首地址____。
25.ORLA,#0F0H是将A的高4位置1,而低4位___不变____________。
26.一台计算机的指令系统就是它所执行的____指令________集合。
27.累加器(A)=80H,执行完指令ADDA,#83H后,进位位C=______1______。
28.以助记符表示的计算机指令就是它的_____汇编_______语言。
29.SJMPrel的指令操作码地址为0050H,rel=65H,那么它的转移目的地址为00B7H___。
30.执行如下指令序列后,所实现的逻辑运算式为__P3.0=_P1.0^P1.1_^/P1.2___。
MOVC,P1.0
ANLC,P1.1
ANLC,/P1.2
MOVP3.0,C
31.当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了____低8位地址____地址。
三、读程序回答
1.试求下列程序依次运行后有关单元的容。
已知(R0)=24H,(Cy)=1,(1FH)=59H,(20H)=24H,(24H)=B6H。
(6分)
MOVA,1FH;
(A)=______________
ADDCA,20H;
20H的寻址方式是
CLRA;
ORLA,R0;
R0的寻址方式是,
;
CPLA;
答案:
59H、直接寻址、00H、寄存器间接寻址、B6H、49H
SECH:
MOVDPTR,#2000H
MOVR2,#0FH
MOVXA,DPTR
MOVB,A
SLOP:
INCDPTR
CJNEA,B,SLP1
SLP1:
JNCSLP2
SLP2:
DJNZR2,SLOP
MOVR2,B
问:
(1)此程序完成的是将从H单元开始的H个数中的最值找出,放在单元中。
(2)B寄存器里暂存最值。
(3)若要比较100个数,则哪句程序需要修改?
(10分)
答案:
(1)2000H、10H、小、R2
(2)小
(3)将第二句MOVR2,#0FH改为MOVR2,#99
2.ORG6000H;
TAB:
DB45H,10,88H,’5’;
DW12H,56H,7800H;
ORG8000H
MOVDPTR,#6001H
CLRA
MOVCA,A+DPTR
MOVDPTR,#6005H
MOVXDPTR,A
(1)根据
行指令容,画出存储器从6000H—6009H中数据分布图。
(2)执行上面的程序,完成了什么功能?
(3)最后A的容为多少?
(10分)
(1)
(2)将从ROM单元地址为6001H的容传送到片外数据RAM6005H单元中。
(3)(A)=0AH
3.已知某二进制数(10H)存在部RAM50H单元中,阅读下列程序,说明其功能。
MOVR0,#50H;
(R0)=____
MOVA,R0H;
(A)=,寻址方式是。
RLCA;
(A)=____
ADDA,R1;
寻址方式是
INCR0
MOVR0,A;
R0的地址是_______________
50H,10H,寄存器间接寻址,20H,寄存器寻址,51H
4.START:
MOVR0,#30H
MOVR7,#0FH
MOVDPTR,#3000H
LOOP:
MOVA,R0
INCDPTR
DJNZR7,LOOP
(1)程序完成的什么功能?
(2)R7的作用是什么?
(3)RET指令完成什么功能?
(1)程序将片RAM中30H—3FH单元的容传送到片外RAM地址为3000H—300FH中
(2)R7是计数器,初值表示传送数据个数,传送1个减1,当(R7)=0时,表示传送完。
(3)返回到主程序的断点处。
5.ORG2000H
TAB1:
DB10H,22,‘A’
TAB2:
DW10H,2100H
MOVDPTR,#TAB2
MOVA,#2
(1)ROM2000H单元中的容___________。
(2)字符‘A’所在单元的地址为___________。
(3)2005H单元中的容为___________。
(4)执行程序后,DPTR的容为___________。
(5)A的容为___________。
(1)10H
(2)2002H
(3)21H
(4)2003H
(5)21H
6.若(A)=FFH,(R0)=00H,(00H)=FFH,(CY)=0,位地址(00H)=1,将结果填入横线。
DECA;
(A)=_______
INCR0;
此句将地址为___H的单元加1
SETB00H;
此句完成______功能
ANLC,00H;
(C)=______
ADDA,R0;
寻址方式=__________,(A)=__________
FEH,00H,位地址为00H的单元置1。
1,寄存器寻址,FEH
7.START:
MOVA,40H
MOVDPTR,#TAB
MOVCA,A+DPTR
MOV40H,A
TABDB30H,31H,32H,33H,34H
DB35H,36H,37H,38H,39H
假设40H单元中的数的围从0—9,问:
(1)这段程序完成什么功能?
(2)当执行程序前40H中的容为6,问执行完这段程序后40H中的容为_________。
(3)MOVCA,A+DPTR中的寻址方式是。
(1)这段程序完成了通过查表得到40H单元的数的ASC
码,并将结果返回40H单元。
(2)36H
(3)基址+变址的寻址方式
8.ADD3:
MOVA,R5
ADDA,R2
MOVR0,A
INCR0
MOVA,R6
ADDCA,R3
MOVR0,A
MOVA,R7
ADDCA,R4
(1)程序完成什么功能?
(2)假设执行程序前R0=30H,程序执行结束后30H,31H,32H中的容为___________,其中_________H中存放高字节
(3)执行结束后,CY的容为。
答案:
①程序完成了两个3字节数的求与。
加数
(1)在R7R6R5中,加数
(2)在R4R3R2
②三个字节中与,32H。
③三字节与最高位的进位位。
9.设(A)=5AH,(R1)=30H,(30H)=E0H,(CY)=1,根据程序填空。
SWAPA;
ADDA,#30H;
寻址方式________
ADDCA,30H;
(A)=______,寻址方式____
RLCA;
(A)=______
ANLA,30H;
A5H
立即数寻址
B5H,直接寻址
6BH
60H
10.ADDIO:
MOVR0,30H
MOVR7,#9
ADDA,R0
DJNZR7,LOOP
MOV30H,A
(1)程序完成的是什么功能?
(2)若把MOVR7,#9改成MOVR7,#4,程序功能有何变化?
(1)将片RAM从30H—39H十个单元中的容相加,与存在30H中。
(2)不是10个数相加,是30—34H五个数相加。
11.LOOK:
MOV51H,#0
MOVR0,#30H
MOVR1,#20H
LOP:
MOVA,R0
CPLA
JNZLP1
INC51H
LP1:
DJNZR1,LOP
(1)R0的作用是什么?
(2)程序结束后51H单元中存放的容是什么?
(3)若将JNZLP1这句变成JZLP1,程序完成什么功能?
(1)数据单元指针。
(2)片RAM30H—50H单元中容为FFH单元的个数。
(3)将片RAM30H—50H单元中容为非FFH单元的总个数送给51H。
12.设RAM(20H)=11001011B,(24H)=01010111B,求依次执行下列
指令后的结果。
(6分)
LOOP:
JB00H,LP1;
JB26H,LP2;
程序跳转到LP1还是LP2?
答________
Lp1:
MOVA,20H;
(A)=_____,寻址方式是______
CPLA(A)=______
ADDA,24H(A)=______
JZLP3;
执行完此句后,程序跳到LP3还是LP2处?
LP2:
INC20H
LP3:
┋
Lp1
11001011B,直接寻址
00110100B
10001011B
Lp2
13.ORG2000H
TAB:
DB01,02
DW03,04
DS03H
ORG2200H
MOVA,#02H
MOVCA,A+DPTR
问:
(1)请填入存储器2000H~2008H单元的容。
(2)执行完程序后A中的容为________。
(3)DPTR是一个______字节的寄存器。
01H
02H
00H
03H
04H
2000H
(2)(A)=00H
(3)2
14.START:
MOVDPTR,#2010H
MOVR7,#10H
MOVR0,#30H
MOVXA,DPTR
DECDPTR
(2)MOVXA,DPTR这句指令是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 习题 指令 编程 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)