1、单片机课后题测试题一一、选择题1、执行下列3条指令后,30H单元的内容是(C)MOV R0,#30H MOV 40H,#0EH MOV R0,40H A)40H B)30H C)0EH D)FFH2、在堆栈中压入一个数据时(B)A)先压栈,再令SP+1 B)先令SP+1,再压栈 C)先压栈,再令SP-l D)先令SP-1,再压栈3、在堆栈操作中,当进栈数据全部弹出后,这时的SP应指向 AA)栈底单元 B)7FH C)栈底单元地址加1 D)栈底单元地址减l4、指令MOVC A,A+PC源操作数的寻址方式是 DA)寄存器寻址方式 B)寄存器间接寻址方式 C)直接寻址方式 D)变址寻址方式5、ANL
2、 20H,#30H指令中,源操作数的寻址方式是A A)立即寻址方式 B)直接寻址方式 C)位寻址方式 D)相对寻址方式6、ANL C,30H指令中,源操作数的寻址方式是 C A)立即寻址方式 B)直接寻址方式 C)位寻址方式 D)相对寻址方式7、Jz rel指令中,操作数rel的寻址方式是 DA)立即寻址方式 B)直接寻址方式 C)位寻址方式 D)相对寻址方式8、Jz rel指令中,是判断A中的内容是否为0。A)A B)B C)C D)PC9、MOVX A,DPTR指令中源操作数的寻址方式是(B)A)寄存器寻址(B)寄存器间接寻址(C)直接寻址 (D)立即寻址10、下面条指令将MCS-51的工
3、作寄存器置成3区(B)A)MOV PSW,#13H(B)MOV PSW,#18H11、MOV C,00H指令中源操作数的寻址方式是(A) A)位寻址 B)直接寻址 C)立即寻址 D)寄存器寻址二、填空题1、8051单片机共有7种寻址方式。访问外部数据存储器应采用寄存器间接寻址方式。2、访问外部数据存储器应采用寄存器间接寻址方式;查表应使用变址寻址方式。3、在8051单片机中,堆栈操作的指令有PUSH和 POP两个。4、在8051单片机中,子程序调用的指令有ACALL和 LCALL两个。5、CJNE指令都是3字节字节指令。6、指令SJMP $的功能是无条件转移到本指令的首地址执行程序,即将本指令
4、的首地址送给PC。7、十进制调整指令DA A不能单独执行,在执行该指令之前必须先执行ADD指令或者ADDC指令。8、位转移指令都是采用相对寻址方式实现转移的。9、子程序必须使用RET指令返回主程序,而中断服务程序必须使用RETI指令返回主程序。10、PUSH指令是实现把数据压入堆栈的操作,而POP指令是实现把数据从堆栈中弹出的操作。11、执行了DIV AB指令后,则商存放在A中,余数存放B中。12、执行了MUL AB指令后,则积的高8位存放在B中,而积的低8位存放在A。13、在MCS-51单片机中,加法指令可以分为ADD和ADDC两种。14、读程序存储器指令有MOVC A,A+DPTR 和MO
5、VC A,A+PC两个,它们的源操作数都属于变址寻址方式。15、减法指令的助记符为SUBB,其作用是将累加器A中的内容减去源操作数,再减去进位位C的内容,所得的结果存入累加器A。16、INC指令的功能是将操作数加l后存放到原处,DEC指令的功能是将操作数减1后存放到原处。17、在立即寻址方式中,在数前使用#号来表示立即数。18、在立即寻址方式中,立即数一定出现在源操作数中。19、在执行MOVX A,R0指令时,源操作数的高8位是由 P2寄存器提供的。20、访问外部数据存储器必须使用 MOVX指令。三、判断题1、在堆栈操作中,当栈内的数据全部弹出后,这时的SP指向栈底单元。()2、在堆栈操作中,
6、当栈内的数据全部弹出后,这时的SP指向栈顶单元。()3、数据传送指令将改变源操作数的内容。()4、调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。()5、堆栈遵循数据先进后出,后进先出的原则。()6、在MCS-51单片机中,堆栈的地址随着压栈数据从小到大递增。()7、子程序返回可以使用RET指令,也可以使用RETI指令。()8、ACALL指令是2字节指令,而LCALL指令是3字节指令。()9、空操作指令不占机器周期。()10、减法指令只有带借位的减法,没有不带借位的减法。()11、加法指令只有带进位的加法,没有不带进位的加法。()12、不能使用无条件转移指令直接从
7、子程序中转到主程序中去。( )四、应用题1、说明下列指令中各个操作数的寻址方式。(1)ADD A,30H(2)MOV 30H,20H(3)MOV A,R0(4)MOVX A,R1(5)SJMP $(6)MOV R0,#20H(7)ORL C,00H(8)MOV DPTR,#2000H(9)MOVC A,A+PC(10)ANL 20H,#30H(11)ANL C,30H(12)CPL C(13)CPL A(14)CPL 20H(15)ADD A,R1(16)MOVC A,A+DPTR(17)DJNZ R0, rel(18)SETB 00H解答:(1)解答:源操作数为:直接寻址方式:目的操作数为:
8、寄存器寻址方式。(2)解答:源操作数为:直接寻址方式;目的操作数为:直接寻址方式。(3)解答:源操作数为:寄存器间接寻址方式;目的操作数为:寄存器方式。(4)解答:源操作数为:寄存器间接寻址方式;目的操作数为:寄存器寻址方式。(5)解答:操作数为:相对寻址方式。(6)解答:源操作数为:立即寻址方式;目的操作数为:寄存器寻址方式。(7)解答:源操作数为:位寻址方式;目的操作数为:位寻址方式。(8)解答:源操作数为:立即寻址方式;目的操作数为:寄存器寻址方式。(9)解答:源操作数为:变址寻址方式;目的操作数为:寄存器寻址方式。(10)解答:源操作数为:立即寻址方式:目的操作数为:直接寻址方式。(1
9、1)解答:源操作数为:位寻址方式;目的操作数为:位寻址方式。(12)解答:操作数为:位寻址方式。(13)解答:操作数为:寄存器寻址方式。(14)解答:操作数为:位寻址方式。(15)解答:源操作数为:寄存器间接寻址方式:目的操作数为:寄存器寻址方式。(16)解答:源操作数为:变址寻址方式;目的操作数为:寄存器寻址方式。(17)解答:源操作数为:相对寻址方式;目的操作数为:寄存器寻址方式。(18)解答:操作数为:位寻址方式。2、写出下列程序的运行结果。(1)MOV SP,# 40HMOV A,#20HMOV B,#30HPUSH APUSH BPOP APOP B(SP)=?(A)=? (B)=?
10、解答:(SP)=40H,(A)=30H,(B)=20H(2)MOV SP,#40HMOV A,#20HMOV B,#30HPUSH APUSH BPOP BPOP A(SP)=?(A)=? (B)=?解答:(SP)=40H,(A)=20H,(B)=30H(3)MOV R0,#7EHMOV DPTR#10FEHMOV 7EH,#0AAHMOV 7FH#0BBHINC R0INC R0INC R0INC DPTR(7EH)=? (7FH)=?(R0)=? (R0)=? (DPTR)=?解答:(7EH)=0ABH,(7FH)=0BCH,(R0)=7FH,(R0)=0BCH, (DPTR)=10FFH
11、(4)MOV R0,#00HMOV A,#20HMOV B,#0FFHMOV 20H,#0F0HXCH A,R0XCH A, BXCH A, R0 (A)=? (B)=? (20H)=? (R0)=?解答:(A)=F0H (B)=00H (20H)=FFH (R0)=20H3、在设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段后上述各单元内容的变化。 MOV A,R0 MOV R0,32HMOV 32H,A MOV R0,#31HMOV A,R0解答:R0=31H, A=0BH ,(30H)=0CH、(31H)=0BH、
12、(32H)=0AH4、请用数据传送指令来实现下列要求的数据传送。(1) R0的内容输出到R1解答:MOV A,R0MOV R1,A(2)内部RAM20H单元的内容传送到A中。解答:MOV A,20H(3)外部RAM30H单元的内容送到R0。解答:MOV R0,#30HMOVX A,R0MOV R0,A(4)外部RAM30H单元的内容送内部RAM20H单元。解答:MOV R1,#30HMOVX A,R1MOV 20H,A(5)外部RAM1000H单元的内容送内部RAM20H单元。解答:MOV DPTR,#1000HMOVX A,DPTRMOV 20H,A(6)程序存储器ROM2000H单元的内容
13、送R1。解答:MOV DPTR,#2000HCLR AMOVC A,A+DPTRMOV R1,A(7) ROM2000H单元的内容送到内部RAM20H单元。解答:MOV DPTR,#2000HCLR AMOVC A,A+DPTRMOV 20H,A(8) ROM2000H单元的内容送外部RAM30H单元。解答:MOV DPTR,#2000HCLR AMOVC A,A+DPTRMOV R0,#30HMOVX R0,A(9) ROM2000H单元的内容送外部RAM1000H单元。解答:MOV DPTR,#2000HCLR AMOVC A,A+DPTRMOV DPTR,#1000HMOVX DPTR,
14、A5、设A=5AH,R1=30H,(30H)=E0H,Cy=1。分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。(1)XCH A,R1;A=30H(2)XCH A,30H;A=E0H(3)XCH A,R1;A=E0H(4)XCHD A,R1;A=50H(5)SWAP A;A=A5H(6)ADD A,R1;A=8AH(7)ADD A,30H;A=30H(8)ADD A,#30H;A=8AH(9)ADDC A,30H;A=31H(10)INC A;A=5BH(11)SUBB A,30H;A=79H(12)SUBB A,#30H;A=29H(13)DEC A
15、;A=59H(14)RL A;A=B2H(15)RLC A ;A=B5H(16)CPL A;A=A5H(17)CLR A;A=00H(18)ANL A,30H;A=40H(19)ORL A,R1;A=FAH(20)CRL A,#30H;A=BAH五、问答题1、在MCS-51单片机中有几种寻址方式?写出每一种寻址方式。解答:有7种寻址方式,分别是立即寻址方式、直接寻址方式、寄存器寻址方式、寄存器间接寻址方式、变址寻址方式、相对寻址方式和位寻址方式。2什么是堆栈?解答:堆栈是一个特殊的存储空间,有一端是固定的,称为栈底,另一端是活动的,称为栈项,数据的存取是在栈顶进行的。数据的存取遵循先进后出,后
16、进先出的原则。3.在MCS-51单片机的指令系统中,有关堆栈操作的指令有哪些?解答:PUSH和POP指令。4.已知CJNE指令的一般格式为: CJNE操作数l,操作数2rel简述怎样使用CJNE指令判断两个操作数的大小。解答:若操作数1操作数2,则进位标志C=0,否则C=15.写出AJMP和LJMP指令的共同点和区别。解答:共同点是都是无条件转移,转到指定的标号执行程序。区别:(1)转移范围不同,LJMP指令的转移范围为64KB,AJMP指令的转移范围为2KB。(2)指令字节数不同,LJMP指令是3字节指令,AJMP指令是2字节指令。(3)AJMP指令的机器码特殊。6.写出ACALL和LCAL
17、L指令的共同点和区别。解答:共同点是都是调用子程序指令,转到指定的标号执行子程序。区别:(1)转移范围不同,LCALL指令的调用范围为64KB,ACALL指令的调用范围为2KB。(2)指令字节数不同,LCALL指令是3字节指令,ACALL指令是2字节指令。(3)ACALL指令的机器码特殊。7.RET和RETI指令主要有哪些区别?解答:区别:(1)使用场合不同,RET指令在子程序中使用,RETI指令在中断服务程序中使用。(2)从功能上看,RET指令从堆栈中自动取出断点地址给PC,使之返回到调用指令的下一个指令,继续执行主程序。而RETI指令除了具有RET指令的功能之外,还有清除中断响应时被设置的
18、优先级状态、开放低级中断以及恢复中断逻辑等功能。8.NOP指令的用途是什么?解答:常常用于程序的等待或时间的延迟。测试题二练习1:将内部RAM单元中20H单元到2FH单元的数传到外部RAM中的2000H到200FH单元中.ORG 0000HMOV R0,#20HMOV DPTR,#2000HMOV R2,#10HLOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R2,LOOPEND练习2:外部RAM3000H 开始有 50个数传送到内部RAM 30H开始的区域;算法分析:取地址指针DPTR=3000H、 R0=30H、计数器R7=50 ORG 0000H
19、MOV DPTR,#3000H MOV R0,#30H MOV R7,#32HLOOP: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R7,LOOP; END练习3:设在外ROM的TAB处开始有一串数字,该串数字以0结尾,编程把他们从P1口输出。ORG0000HMOV DPTR,#TAB ;设字符串首地址指针 MOV A,#00HSOUT: MOV B,A MOVC A,A+DPTR ;取字符 JZ NEXT ;整串结束则转跳MOV P1,AMOV A,BINC A ;修改地址指针SJMP SOUT ;没结束继续取数发送NEXT: SJMP $ ;结束处
20、理TAB:DB 04H,05H ;定义数字串DB 03,07H,0FH,00H ;以0结尾 END练习4:2ms延时程序,已知晶振频率为12MHZ,则机器周期为1us。 ORG 0DELAY2ms: MOVR7,#10 ;1TDL1: MOVR6,#48 ;1TDL2: NOP ;1T NOP ;1T DJNZR6,DL2;2T DJNZR7,DL1;2T END;该段程序耗时为: 1+1+(1+1+2)48+210+2 = 1953 (us)练习5:编程通过P1.0线连续输出256个宽度为5个机器周期长的方波。ORG 0MOV R0,#00HCLR P1.0LOOP: CPL P1.0NOP
21、NOPDJNZ R0,LOOPEND练习6 :将8051内部RAM的40H 4FH单元置初值#A0H #AFH。ORG 0MOV R0,#40H MOV R2,#10H MOV A,#0A0HLOOP:MOV R0,AINC R0INC ADJNZ R2,LOOPEND练习7:设P1口的P1.0 P1.3为准备就绪信号输入端,当该四位为全1时,说明各项工作已准备好,单片机可顺序执行(将R2里的数送给A),否则,循环等待。ORG 0WAIT:MOV P1,#0FFHMOV A,P1ANL A,#0FHCJNE A,#0FH,WAIT ;P1.0 P1.3不为全1时,返 回WAITMOV A,R2
22、END测试题三一、单项选择题1、CPU主要的组成部部分为:A(A)运算器.控制器(B)加法器.寄存器(C)运算器.寄存器(D)运算器.指令译码器2MCS 51系列单片机外扩存储器芯片时,4个I/O口中作为数据总线的是 B 。(A)P0口和P2口(B)P0口(C)P2口和P3口(D)P2口3、单片机应用程序一般存放在:B(A)RAM(B)ROM(C)寄存器4下列指令中,不影响堆栈指针的指令是B。A RET B JB bit,relC LCALL addr16 D RETI5、在程序状态寄存器PSW中,判断是否有借/进位的标志位是A若选择寄存器工作组时标识位应是C(A)CY(B)AC(C)RS1和
23、RS0(D)OV(E)P6、以下指令中,哪条指令执行后使标志位CY清0:D(A)MOV A,#00H(B)CLRA(C)ADD A,#00H(D)ADDCA,#00H7.在CPU内部,反映程序运行状态或反映运算结果一些特征的寄存器是B。A .PC B.PSW C.A D.SP8、下面那一段程序能准确地读取P1口引脚信号:B(A)MOVA,#00H;MOVP1,A;MOVA,P1(B)MOVA,#0FFH;MOVP1,A;MOVA,P1(C)MOVA,#00H;MOVA,P1(D)MOVA,#0FFH;MOVA,P19、8031单片机中既可位寻址又可字节寻址的单元是A(A)20H(B)30H(C)00H(D)70H10、定时/计数器有种操作模式,它们由下列哪个寄存器中的M1和M0状态决定。B(A)TCON(B)TMOD(C)PCON(D)SCON11、定时器/计数器工作于模式2,在计数溢出时,计数器工作于下列哪个状态。B(A)计数从零重新开始(B)计数从初值重新开始(C)计数停止(D)计数从0FFH重新开始12、T0设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1