《单片机原理及应用》考试样卷A一简答(4*5=20分)1指令MOV@R1,A对目的操作数采用的是何种寻址方式?写出它的机器代码。2指出下列指令的对错(对用”T”表示,错用”F”表示):1)MOVR1,R32)PUSHDPTR3)RRCA4)MOVA,@R25)DJNER1,LOOP3MCS-51的并行I/O口信息有哪两种读取方法?ORLP1,#0FFH这条指令对P1口使用的是哪种读取方法?4简述软件实现按键消抖的方法以及为什么要消除按键抖动。二程序阅读题(6+8+9=23分)1)当下列程序执行完后,R0及累加器的内容是什么?MOVA,#71HMOVR0,#0AHXCHDA,R0SWAPAXCHA,R02)执行下述程序后,SP=?B=?PC=?,并写出每条指令的首地址。ORG3100HMOVSP,#50HMOVA,#50HLCALLSUBRADDA,#22HCLRCSUBBA,#50HMOVB,AL1:SJMPL1SUBR:MOVDPTR,#310DHHPUSHPSWPUSHAPUSHDPLPUSHDPHRET3)假设8031片内RAM由地址20H开始的10个单元内存放着字符串‘ABC123%@#!’(ASCII码)。片内RAM由地址30H开始的10个单元内存放的数均为0。I.这段程序的功能是什么?II.程序执行后,R7=III.程序执行后30H~39H的内容是什么?程序清单如下:MOVR0,#20HMOVR1,#30HMOVR6,#10MOVR7,#0NEXT1:MOVA,@R0INCR0CJNEA,#30H,L1L1:JCNEXT2CJNEA,#3AH,L2L2:JNCNEXT2INCR7MOV@R1,AINCR1NEXT2:DJNZR6,NEXT1RET三为下列程序中有下划线的指令写出简要注释,并指出整个程序实现的功能。(16分)1)ORG0000HMAIN:MOVSCON,#50HMOVTMOD,#20HMOVTH1,#0E4HMOVTL1,#0E4HSETBTR1MOVP2,#20HMOVR0,#60HMOVR7,#30HERE:JBCRI,REVAJMPHEREREV:MOVA,SBUFMOVX@R0,AINCR0DJNZR7,HEREEND功能:2)ADC0809与8031单片机的接口MOVR0,#50HMOVDPTR,#0FBFBHMOVR6,#08HLOOP:MOVX@DPTR,AMOVR7,#0AHDLAY:NOPNOPNOPDJNZR7,DLAYMOVXA,@DPTRMOV@R0,AINCR0DJNZR6,LOOP功能:四编程题(2*10=20分)1.编写一查表程序,已知数据块的首地址为2100H,数据块以-3作为结束,现要求找出ASCII码F,并将其地址存入1100H和1101H单元中;若未找到,则1100H和1101H单元中存FFH。2.设MCS-51单片机的晶振频率为12MHZ,P3.3输入低频负脉冲信号,要求P3.3每次发生负跳变时,P1.6输出250μs的同步负脉冲。波形如下,试编写控制程序(必须用中断方法)五下图为8031和8155的接口连接图。(11分)1.写出8155中RAM的地址范围,以及I/O的地址。2.若A口定义为选通输出,B口定义为基本输入,C口作为控制联络信号端,并启动定时器/计数器,定时器作为方波发生器对输入脉冲进行48分频,编写8155I/O口初始化程序。六下面是以8031为主机,采用139译码器,扩展2片6264作SRAM,1片27128作EPROM的电路图,请添加必要的控制信号线和片选线,并写出各存储芯片的地址范围。(10分)80312712862646264373AB74LS139IC1IC2IC3《单片机原理及应用》考试样卷A参考答案一简答(4*5=20分)1寄存器间接寻址,指令代码:F7H2F、F、T、F、F(对用”T”表示,错用”F”表示)3读锁存器和读引脚;读锁存器4为了保证CPU对键的一次闭合仅作一次键输入处理,必须去处抖动影响,软件上采取措施为:在监测到有键按下时,执行一个10MS左右的延时程序后,再确认该键电平是否仍保持闭合状态,若是,则确认该键处于闭合状态,从而去除了抖动的影响。二程序阅读题(23分)1)R0=A7H,A=01H2)地址在指令前的横线上填入。ORG3100H3100HMOVSP,#50H3103HMOVA,#50H3105HLCALLSUBR3108HADDA,#22H310AHCLRC310BHSUBBA,#50H310DHMOVB,A310FHL1:SJMPL13)I.这段程序的功能是统计字符串中0-9之间数的个数,并将它们存放在以30H为首地址的单元。II.程序执行后,R7=3III.程序执行后30H~39H的内容是31H,32H,33H,00H,00H,00H,00H,00H,00H,00H三为下列程序中有下划线的指令写出简要注释,并指出整个程序实现的功能。(16)1)MOVSCON,#50H;串行口工作在方式1,允许接收MOVTMOD,#20H;定时器T1工作在方式2SETBTR1;启动定时器T1HERE:JBCRI,REV;判断是否接收到一帧数据程序运行结果:SP=54HB=50HPC=310FHREV:MOVA,SBUF;启动发送2)MOVDPTR,#7FFFBH;指向通道3MOVR6,#08H;采集数据的个数LOOP:MOVX@DPTR,A;启动A/D转换MOVXA,@DPTR;读取转换结果四编程题(略)五1)RAM的地址:0FB00H-------0FBFFH;I/O的地址:0FF00H-------0FF05H2)8155I/O口初始化程序清单:MOVDPTR,#0FF04HMOVA,#30HMOVX@DPTR,AINCDPTRMOVA,#20HMOVX@DPTR,AMOVDPTR,#0FF05HMOVA,#0C9HMOVX@DPTR,A六功能:通过串行口接收30个数据,存放在片外RAM以2060H开始的单元功能:采用软件延时的方法,从通道3中采集8个数据,并将它们转存到片外50H开始的数据存储区。地址范围:片外程序存储器IC1:0000H------3FFFH[P2.7=P2.6=0]片外数据存储器IC2:8000H------9FFFH(A000H---BFFFH)[P2.7=1,P2.6=0]片外数据存储器IC3:4000H------5FFFH(6000H----7FFFH)[P2.7=0,P2.7=1]