西北民族大学单片机考试试题Word文档下载推荐.docx
《西北民族大学单片机考试试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西北民族大学单片机考试试题Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
MOV P1,#F0H;
(P1)=
MOV @R0,30H;
(90H)=
MOV DPTR,#3848H;
(DPH)=
MOV 40H,38H;
(40H)=
MOV R0,30H;
MOV 90H,R0;
MOV 18H,#30H;
(18H)=
MOV A,@R0;
(A)=
MOV P2,P1;
(P2)=
(R0)=48H
(P1)=F0H
(90H)=38H
(DPH)=38H
(40H)=40H
(R0)=38H
(18H)=30H
(A)=40H
(P2)=F0H
4.
判断下列各条指令的书写格式是否有错,并指出原因。
(1)MULR0R1(),原因:
()
(2)MOVA,@R7(),原因:
(3)MOVA,#3000H(),原因:
(4)MOVR1,C(),原因:
(5)MOVA,@A+PC(),原因:
×
乘法指令用A×
B;
寄存器间接寻址用R0和R1(只能用R1和R0作指针);
A是8位寄存器
C为进位位,不能送给寄存器
×
,本指令为查表指令,不能用MOV,应该用MOVC
5.
已知:
(30H)=X7X6X5X4X3X2X1X0B,(31H)=Y7Y6Y5Y4Y3Y2Y1Y0B,请给出下列指令执行后注释中的结果。
MOV32H,30H;
ANL32H,#0FH;
(32H)=
MOVA,31H;
SWAPA;
(A)=
RLA;
ANLA,#0F0H;
ORL32H,A;
(32H)=0000X3X2X1X0
(A)=Y3Y2Y1Y0Y7Y6Y5Y4
(A)=Y2Y1Y0Y7Y6Y5Y4Y3
(A)=Y2Y1Y0Y70000
(32H)=Y2Y1Y0Y7X3X2X1X0
6.
执行下列程序后,(A)=,(R0)=,(R1)=。
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#50H
LCALLSBRUT
SJMP$
SBRUT:
MOVR0,#00H
MOVR1,#0AH
MOVDPTR,#DATA
LOOP:
MOVA,R0
MOVCA,@A+DPTR
CJNEA,#0FFH,LOOP1
SJMPEXIT
LOOP1:
INCR0
DJNZR1,LOOP
EXIT:
RET
DATA:
DB00H,11H,22H,33H,44H
DB55H,66H,77H,88H,99H
END
(A)=99H,(R0)=0AH,(R1)=00H。
7.
若(50H)=40H,执行一下程序段后(A)=,(R0)=,(40H)=,(41H)=,(42H)=。
MOVA,50H
MOVR0,A
MOVA,#00H
MOV@R0,A
MOVA,#3BH
MOV41H,A
MOV42H,41H;
(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH
8.
请分析依次执行下面指令的结果,并填空。
MOV SP,#35H
MOV DPTR,#2345H
PUSH DPL (SP)=,(DPL)=,(36H)=
PUSH DPH (SP)=,(DPH)=,(37H)=
……
POP DPH (DPH)=,(SP)=
POP DPL (DPL)=,(SP)=
(SP)=36H,(DPL)=45H,(36H)=45H,
(SP)=37H,(DPH)=23H,(37H)=23H,
……
(DPH)=23H,(SP)=36H
(DPL)=45H,(SP)=35H
9.
执行下列程序段中第一条指令后,
(1)(P1.7)=____,(P1.3)=_____,(P1.2)=______;
执行第二条指令后,
(2)(P1.5)=____,(P1.4)=______,(P1.3)=______;
执行第三条指令后(3)(P1.7)=_________,(P1.4)=_________,(P1.3)=________,(P1.2)=_________。
ANLP1,#73H
ORLP1,#38H
XRLP1,#FFH
(1)(P1.7)=0(P1.3)=0,(P1.2)=0;
(2)(P1.5)=1,(P1.4)=1,(P1.3)=1;
(3)(P1.7)=1,(P1.4)=0,(P1.3)=0,(P1.2)=1。
10.
分析程序并填空。
(1)下列程序段执行后,(A)=_________,(B)=_________。
MOVA,#0FBH
MOVB,#12H
DIVAB
(2)已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_______,内部RAM(0AH)=_________,(0BH)=_________
PUSHDPL
PUSHDPH
(1)(A)=0DH,(B)=11H;
(2)(SP)=0BH,(0AH)=67H,(0BH)=45H.
11.
下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问该单片机的机器周期=,执行下列程序约需要ms?
MOVR3,#100;
1
LOOP:
NOP;
NOP
DJNZR3,LOOP;
2
RET;
2µ
s,1ms
12.
已知(A)=83H,(CY)=0,分析执行下列指令后A和CY的值。
指令结果
RLCAA=,CY=
RLAA=,CY=
RLCAA=,CY=
RRAA=,CY=
RRCAA=,CY=
A=06H,CY=1
A=0CH,CY=1
A=19H,CY=0
A=0CH,CY=0
A=06H,CY=0
13.
设两个数(A)=88H,(R1)=99H,(CY)=1,执行ADDCA,R1指令求两数之和,分析和的值及PSW的有关标志位的内容,并填空,即CY=,AC=,P=,OV=小,A=。
(CY)=1,(AC)=1,(P)=0,(OV)=1,(A)=22H
14.
已知A=FBH,B=12H,问:
执行DIVAB指令后,A=、B=,标志位CY=、OV=和P的值。
(A)=0DH,(B)=11H,(CY)=0,(OV)=0,(P)=1。
15.
下面查表程序中有一个数据表,设存于R0的数为8,运行下面查表程序后R1=。
地址源程序
0000H:
DECR0
0001H:
MOVA,R0
0002H:
ADDA,#03H
0004H:
MOVCA,@A+PC
0005H:
MOVR1,A
0006H:
SJMP$
0008H:
TAB:
1,4,9,16,25,36,49,64,81
(R1)=64
16.
MOVDPTR,#TABLE
DECR0
MOVCY,#0
ADDCA,#01H
MOVCA,@A+DPTR
MOVR1,A
TABLE:
DB0,1,4,9,16,25,36,49,64,81
17.
分析下面程序并填空。
MOVR0,#10H;
MOVA,#10H;
MOV@R0,A;
(10H)=
ADDA,10H;
MOV20H,A;
(20H)=
INCA;
SWAPA;
RR,A;
MOV10H,A;
(10H)=,(R0)=
(A)=10H,
(10H)=10H,
(A)=20H,
(20H)=20H,
(A)=21H,
(10H)=21H,
(A)=12H,
(A)=09H,
(10H)=09H,
(R0)=10H
18.
MOVDPTR,#2000H;
(DPL)=,(DPH)=
MOVA,#80H;
MOVX@DPTR,A;
(2000H)=
INCDPTR;
(DPTR)=
MOVA,#90H;
(2001H)=
MOVDPTR,#2000H;
MOVXA,@DPTR;
MOVB,A;
(B)=
INCDPTR;
MOVXA,@DPTR;
MOVDPTR,#2000H;
(DPL)=00H,(DPH)=20H
MOVA,#80H;
(2000H)=80H
(DPTR)=2001H
MOVA,#90H;
MOVX@DPTR,A;
(2001H)=90H
MOVDPTR,#2000H;
(DPTR)=2000H
(A)=80H
MOVB,A;
(B)=80H
(A)=90H
19
改正下列指令。
MOV@R3,A
MOVDPTR,A
INC@R3
DECDPTR
ADDC#30H,A
MOV@R1,A
MOVX@DPTR,A
INCR1
DECR0
ADDCA,#30H
20.
程序段如下,试说明其功能。
MOVR0,#50H
MOVR1,#60H
MOVA,@R0
ADDA,@R1
MOV@R0,A
INCR0
ADDCA,@R1
MOV00H,C
双字节无符号数加法;
被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。
21.
设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,试在后面的空格中填入程序执行后的结果。
CLRC
MOVR2,#3
LOOP:
MOVA,@R0
ADDCA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR2,LOOP
JNCNEXT
MOV@R0,#01H
NEXT:
结果:
(20H)=,(21H)=,(22H)=,(23H)=,CY=,AC=,A=,R0=,R1=,R2=。
(20H)=20H,(21H)=00H,(22H)=17H,(23H)=01H,(CY)=1,(AC)=0,A=17H,R0=23H,R1=28H,R2=00H。
22.
程序段如下,试说明其功能。
ST:
MOVA,30H
ACALLSQR
MOVR1,A
MOVA,31H
ADDA,R1
MOV32H,A
SQR:
MOVDPTR,#TAB
MOVCA,@A+DPTR
RET
TAB:
DB0,1,4,9,16,25,36,49,64,81
30H中数的平方加31H中数的平方,和存于32H单元。
23.
设(20H)=03H,(22H)=50H,(23H)=5AH,(24H)=71H,分析下面程序,说明其功能,并填写程序执行后的结果。
(21H)=,(00H)=。
CLRA
MOVR2,20H
MOVR1,#22H
ADDCA,@R1
DJNZR2,LOOP
MOV21H,A
MOV00H,C
实现50H、5AH和71H三个数的相加,并将和存入21H单元,进位CY的值存入00H单元。
(21H)=1BH,(00H)=1。
24.
有一程序如下,试说明其功能。
ADDB:
MOVA,40H
ADDA,50H
DAA
MOV60H,A
MOVA,41H
ADDCA,51H
MOV61H,A
两个双字节压缩的BCD数相加:
两数的低字节分别存于40H和50H单元,两数的高字节分别存于41H和51H单元,和的低字节存于60H单元,和的高字节存于61H单元。