单片机模拟试卷001答案一、选择题(每题1分,共10分)1.D2.B3.B4.D5.A6.C7.B8.B9.A10.D二、填空题(每空1分,共30分)1.一个完整的微机系统由硬件和软件两大部分组成。2.8051的引脚RST是IN脚(IN脚还是OUT脚),当其端出现高电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到低电平,8051才脱离复位状态,进入程序运行状态,从ROM0000H单元开始取指令并翻译和执行。3.半导体存储器分成两大类:RAMROM,其中RAM具有易失性,常用于存储临时性数据。4.求十进制数-102的补码(以2位16进制数表示),该补码为9AH。5.PC存放_CPU将要执行的指令所在的ROM单元的地址,具有自动加1特性。在8051中决定程序执行顺序的是PC还是DPTRPC?它是16位?不是(是,不是)SFG?6.123=01010010B=52H。7.8051内部有4个并行口,P0口直接作输出口时,必须外接上拉电阻;并行口作输入口时,必须先将口锁存器置1,才能读入外设的状态。8.MCS-51的堆栈只可设置在内RAM低128B区,其最大容量为128B,存取数据的原则是先进后出。堆栈寄存器SP是8位寄存器,存放堆栈栈顶的地址。9.中断处理的全过程分为以下3个段:中断请求、中断响应、中断服务。10.定时和计数都是对脉冲进行计数,定时与计数的区别是定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数。三、判断题(对者打√,错者打×,并改正,每题1分,共10分)1中断服务程序的最后一条指令是RETRETI。×2存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息。×3P2口既可以作为I/O使用,又可以作地址/数据复用口使用。√4在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。√5LCRLA为循环左移指令。×6MOVA,30H的源操作数为立即直接寻址方式。7MOVMOVCA,@A+DPTR是一条查表指令。×8MULAB的执行结果是高低8位在A中,低高8位在B中。×9AJMP跳转空间最大可达到642KB。10DPTR是由DPH和DPL两个8位特殊寄存器组成的。√四、简答题(每题5分,共15分)1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)答:定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388HTMOD的值是00000001B,TH0=13H;TL0=88H。3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。五、作图题(10分)答:WR接6264的WERD接6264的OEAB0---AB12接6264的A0---A12DB0—DB7接6264的D0—D7AB15、AB14分别接Y0和Y1地址:0000H---1FFFH;2000H---3FFFH六、设计题1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。答:图(5分)构思(3分)MOVA,#80H(1分)UP:MOVP1,A(1分)RRA(2分)SJMPUP(1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。答:图(5分)构思(3分)程序(4分)ORG0000HLJMPMAINORG0003HLJMPAINT0ORG0013HLJMPBINT1MAIN:MOVIE,#83HSETBIT0SETBIT1MOVR0,#00HMOVDPTR,#TABUP:MOVA,R0MOVCA,@A+DPTRMOVP1,ASJMPUPAINT0:INCR0CJNER0,#10,AINT01MOVR0,#0AINT01:RETIBINT1:DECR0CJNER0,#0FFH,BINT11MOVR0,#9BINT11:RETI单片机模拟试卷002参考答案一、填空题(每空1分,共10分)1.00H~7FH2.高8位地址线3.08~0FH4.用户RAM区5.如何确定操作数的单元地址6.存储器在整个存储空间的地址范围7.定时时间到8.从查询中断请求标志位到转向中断区入口地址所需的机器周期数9.程序查询方式10.关中断二、单项选择题(每小题1分,共10分)1.C2.C3.D4.A5.A6.C7.D8.D9.A10.B三、简答题(每小题4分,共20分)1.要点:(1)说明P3口有第一功能和第二功能的使用。(2)P3口的第二功能各位线的含义。(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。(4)读引脚数据时,必需先给锁存器输出“1”。2.(1)8位专用寄存器。(2)运算时存放一个操作数。(3)运算后存放运算结果,所以称它为累加器。3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。(2)寻址范围:①内部RAM低128单位,形式@Ri(i=0,1)。②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。它们是:外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H5.(1)传送按位顺序进行,速度慢。(2)传输线少,成本低。(3)传送距离远,可达几公尺到几千公里。四、读程序题(每小题4分,共20分)1.(P1)=9BH2.(A)=8BH(或10001011B)(CY)=不影响3.(R0)=7FH(7EH)=00H(7FH)=41H4.(PC)=0345H(61H)=25H(62H)=01H5.(data)×10操作五、编程题(每小题4分,共20分)1.SQR:1NCAMOVCA,@A+PCRETTAB:DB0,1,4,9,16DB25,36,49,64,812.ORLC,11HMOV12H,CMOVC,P1.0ORLC,/10HANLC,12HMOVBIT,CRET3.MOVA,VARCJNEA,#0,COMPSJMPRES;x=0,Y=0COMP:JNCPOSI;x0,Y=1MOVA,#0FFH;x0,Y=-1SJMPRESPOSI:MOVA,#01HRES:MOVFUNC,ARET4.MOVR0,#SUMMOVA,R2ANLA,#OFHMOV@R0,A;存低字节BCDMOVA,R2ANLA,#0F0HSWAPA1NCR0MOV@R0,A;存高字节BCDRET5.MOVDPTR,#8000HMOVR0,#10HMOVR2,#50HLOOP:MOVXA,@DPTR;取数MOVX@R0,A;存数1NCDPTR1NCR0DJNZR2,LOOPRET六、综合应用题(每小题10分,共20分)1.(1)(2)初始化程序:MOVDPTR,#0100HMOVA,#0DHMOVX@DPTR,A2.(1)巡回采集8个通道的数据(2)ADC0809口地址为7FF0H~7FF7H(或7FF8~7FFFH)(3)EOC为A/D转换结束信号,用来引起中断或查询,以便读取A/D的转换结果。(4)结果存入外部RAM的A0H~A7H。单片机模拟试卷004参考答案一、填空题(15分,每空1分)1.并行数据总线地址总线P0P1—P32.片内数据存储区(器)3.脉冲方式低电平4.定时器/计数器0串行口的波特率发生器5.64K0000H—FFFFH2080H2018H二、简答题(15分,每小题5分)1.具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。(6分)2.各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分)3.如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分)ORGO003H(2分)JMPINTOP列举其他中断跳转的例子也可,但叙述的中断源要与中断地址相对应才可得分,如外中断0对应0003H地址。三、参数计算题(16分)P=1/f=(1/11.059×106)=0.09×10-6s=90nsS=2P=2×90ns=180ns机器周期=12P=12×90ns=1.08μs双指令周期=2×机器周期=2.16μs判题标准:每问4分,结果错,分值全扣;结果正确,量纲错或四、改错题:(共5分,每小题1分)以给出的指令操作码为依据,请判断MCS—51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。1.MULRoRl乘法指令应使用A、B寄存器操作2.MOVA,@R7间接寄存器使用R7有误,间址寄存器只能使用R0、R13.MOVA,#3000H8位累加器A不能接受16位数据4.MOVC@A+DPTR,AMOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。5.UMP#1000H长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。五、寻址方式(5分,每问1分)说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书写)1.ANLA,20H直接寻址2.ADDCA,#20H立即寻址3.JZrel相对寻址4.CLRC位寻址5.RRA寄存器寻址六、使用简单指令序列完成以下操作(12分,每小题6分)1.请将片外RAM20H—25H单元清零MoVR0,#20HMOVR7,#06HCLRALOOP:MOVX@R0,AINCR0DJNZR7,LOOP2.请将ROM3000H单元内容送R7MOVDPTR,#3000HCLRAMOVCA,@A+DPTRMOVR7,A七、编程题(18分,其中编程12分,表中每一空1分)CYADPTR片外01H片外00H片外8000H001H8000H0lH00H86HMOVDPTR,#8000H;加数单元地址送DPTRMOVXA,@DPTR;取加数之一ADDA,20H;两数相加MOVR0,#00H;和值的低位送片外00H单元MOVx@R0,AINCR0CLRA;计算和值的高位ADDCA,#00HMOVx@R0,A;高位送片外01H单元RET编程要考虑将进位位的值作为结果的一部分取出来。采用其他编程方式也可以,但结果是不会改变的,和值=100H八、判读电路题(14分)1.请简单叙述2764芯片的功能、容量,在电路中起什么作用?(3分)2764为EPROM型存储器,其容量为8K,在电路中通常是作为程序存储器使用。2.请简单叙述6264芯片的功能、容量,在电路中起什么作用?(3分)6264为随机存储器,其容量为8K,在电路中通常是作为数据存储器使用。3.请分析各片2764、6264所占用的单片机数据存储空间的地址范围是多少?U3: