您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > MCS51单片机试题及答案
试题1参考答案一、填空题(25分,每空1分)1.AT89S51单片机为8位单片机2.MCS-51系列单片机的典型芯片分别为8031、8051、8751。3.AT89S51的异步通信口为全双工(单工/半双工/全双工)4.AT89S51有2级中断,5个中断源5.AT89S51内部数据存储器的地址范围是00H~7FH,位地址空间的字节地址范围是20H~2FH,对应的位地址范围是00H~7FH,外部数据存储器的最大可扩展容量是64K。6.AT89S51单片机指令系统的寻址方式有__寄存器寻址__、____直接寻址____、___寄存器间接寻址_____、_立即寻址____、基址寄存器加变址寄存器寻址。7.如果(A)=34H,(R7)=0ABH,执行XCHA,R7;结果(A)=0ABH,(R7)=34H。8.82C55可以扩展3个并行口,其中8条口线具有位操作功能;9.当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。10.若A中的内容为67H,那么,P标志位为1。11.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8片芯片。二、判断以下指令的正误:(5分)(1)MOV28H,@R4;(×)(2)INCDPTR;(√)(3)DECDPTR;(×)(4)CLRR0;(×)(5)MOVT0,#3CF0H;(×)三、简答题1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POPDPH;POPDPL;POPSP;则:(DPH)=___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)2、采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少?(请给出计算过程)(6分)解:∵采用6MHZ晶振∴机器周期为2us(213-X)×2×10-6=1×10-3∴X=7692(D)=1E0CH=1111000001100(B),化成方式0要求格式为111100001100B即0F00CH综上可知:TLX=0CH,THX=0F0H3.分析下列程序的功能(5分)PUSHACCPUSHBPOPACCPOPB解:该程序的功能是通过累加器ACC与寄存器B数据交换。四、图为8段共阴数码管,请写出如下数值的段码。0__3FH___1__06H___2_5BH3_4FH__4_66H_56DH___abcdefghD0D1D2D3D4D5D6D7bacdefgh2P__73H__7_03H___8_7FH__C_39H_五、简述MCS-51系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原理图)(10分)答:原理图如上图所示,假设主机呼叫01H从机,首先呼叫:主机发送地址帧000000011(TB8)此时各从机的SM2位置1,且收到的RB8=1,故激活RI。各从机将接收到的地址与地机地址比较,结果1#机被选中,则其SM2清零;0#、2#机不变。接着传数;主机发送数据帧,××××××××0,此时1#机SM2=0,RB8=0则激活RI,而0#,2#机SM2=1,RB8=0则不激活RI,然后数据进入1#机的缓冲区。六、简述一种多外部中断源系统的设计方法。(给出图和程序)(10分)答:原理电路如图所示程序如下:INT:PUSHPSWPUSHAJNBP1.0,IR0;扫描中断请求JNBP1.1,IR1JNBP1.2,IR2JNBP1.3,IR3INTIR:POPA;返回POPPSWIR0:中断服务子程序;中断服务AJMPINTIRIR1:中断服务子程序AJMPINTIRIR2:中断服务子程序AJMPINTIRIR3:中断服务子程序AJMPINTIP七、简述行列式扫描键盘的工作原理。(8分)TXDRXD8031主机TXDRXD00HTXDRXD01HTXDRXD02HTXDRXD03H从机从机从机从机3答:扫描键盘工作原理(1)首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。(2)接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。(3)再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2步骤作.(4)再Y2输出低电平,Y0,Y1,Y3输出高电平扫描(5)再Y3输出低电平,Y0,Y1,Y2输出高电平扫描根据据以上扫描,确定以上各键是否按下。八、请回答:(共20分)1、下图中外部扩展的数据存储器容量是多少?(2分)2、三片6264的地址范围分别是多少?(地址线未用到的位填1)(6分,)3、若外部程序存储器已扩展(未画出),请编写程序,要求:(1)将30H~3FH中的内容送入62641#的前16个单元中;(6分)(2)将62642#的前32个单元的内容送入40H~5FH中;(6分)P2.7P2.6P2.5P2.4P2.0ALE8031P0.0P0.7RDWRD0Q0D7Q7GOEA0~A7A8~A12CS62641#CED0~D7DEWRA0~A7A8~A12CS62642#CED0~D7DEWRA0~A7A8~A12CS62643#CED0~D7DEWR8588888373VccVccVcc~~~~解:1.外部扩展的数据存储器为3片8K的RAM,外扩容量为24K42.A15A!4A13地址范围0116000H~7FFFH101A000H~BFFFH3.(1)程序如下:ORG0000HRESET:AJMPMAIN;复位,转主程序ORG0100HMAIN:MOVDPL,#00H;初始化DPTRMOVDPH,#60HMOVR0,#30H.;初始化R0LOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRCJNER0,#40H,LOOPNOPRET(1)程序如下:ORG0000HRESET:AJMPMAIN;转主程序ORG0100HMAIN:MOVDPL#00H;初始化DPTRMOVDPH,#0A0HMOVR0,#40H;初始化R0LOOP2:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0CJNER0,#60H,LOOP2NOPRET试题2参考答案一、填空题(24分,每空1分)1.AT89S51单片机是(8)位的单片机。2.AT89S51单片机有(5)个中断源,(2)级优先级中断。3.串行口方式3发送的第9位数据要事先写入(SCON)寄存器的(TB8)位。4.串行口的方式0的波特率为(fOSC/12)。5.AT89S51内部数据存储器的地址范围是(00-7FH),位地址空间的字节地址范围是(20-2FH),对应的位地址范围是(00-7FH)外部数据存储器的最大可扩展容量是(64KB)。6.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为(28H)。7.如果(A)=58H,(R1)=49H,(49H)=79H,执行指令XCHA,@R1后;结果(A)=(49H),(49H)=(58H)。8.利用81C55可以扩展(3)个并行口,(256)个RAM单元。9.当单片机复位时PSW=(00)H,SP=(07H),P0~P3口均为(高)电平。10.若A中的内容为88H,那么,P标志位为(0)。11.当AT89S51执行MOVCA,@A+DPTR指令时,伴随着(PSEN*)控制信号有效。12.AT89S51访问片外存储器时,利用(ALE)信号锁存来自(P0口)发出的低8位地址信号。13.已知fosc=12MHz,T0作为定时器使用时,其定时时间间隔为(1us)。514.若AT89S51外扩8KB程序存储器的首地址若为1000H,则末地址为(2FFF)H。二、判断对错,如对则在()中写“√”,如错则在()中写“×”。(10分)1.AT89S51单片机可执行指令:MOV35H,@R3。(×)2.8031与8751的区别在于内部是否有程序存储器。(√)3.当向堆栈压入一个字节的数据后,SP中的内容减1。(×)4.程序计数器PC中装的内容是当前正在执行指令的地址。(×)5.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√)6.AT89S51单片机中的PC是不可寻址的。(√)7.当AT89S51执行MOVX@DPTR,A指令时,伴随着WR*信号有效。(×)8.AT89S51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。(×)9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被WR*还是被PSEN*信号连接。(√)10.各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×)三、简答题1.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H,(40H)=34H,(41H)=50H,(42H)=80H,则执行下列指令后:POPDPHPOPDPLRET则:(PCH)=_34H_;(PCL)=_12H__;(DPH)=__80H__;(DPL)=__50H__;(4分)2.AT89S51采用6MHz的晶振,定时2ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)(6分)答:机器周期6×106=2×10-6s=2uS又方式1为16进制定时器.故(216—X)×2×10-6=2×10-3=216-X=1000=X=65536-1000=64536即初值=FC18H3.AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?(6分)答:不发生数据冲突的原因是:AT89S51中访问程序存储器和数据存储器的指令不一样。选通信号也就不一样,前者为PSEN,后者为WR与RD。程序存储器访问指令为MOVCA,@DPTR;MOVCA,@A+pc。数据存储器访问指令为:MOVXA,@DPTR;MOVXA,@Ri;MOVX@DPTR,A。4.说明AT89S51的外部引脚EA*的作用?(4分)答:当EA*为高电平时,AT89S51访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,AT89S51只读取外部程序存储器。5.写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?(6分)答:外部中断INT0*定时器/计数器中断T0外部中断INT1*定时器/计数器中断T1串行口中断其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。四、下图为某AT89S51应用系统的3位LED8段共阳极静态显示器的接口电路,(1)该静态显示器电路与动态扫描的显示器电路相比有哪些优缺点?(2)写出显示字符“3”、“8”、“5”的段码,注意:段码的最低位为“a”段,段码的最高位为“dp”段(3)已知8255A的PA口、PB口和PC口的地址分别为FF7CH、FF7DH、FF7EH,且8255A的这3个端口均已被编写完毕的初始化程序初始化为方式0输出,请编写出使3位LED共阳极显示器从左至右显示“3.85”的程序段。(14分)abcdefg●dp8255APBPCPA来自AT89S51+5V···º82C556解:(1)优点是:亮度高,字符不闪烁,占用CPU资源少。缺点是:占用的I/O口太多,当需要的LED数目较多时,需要外扩展的I/0口。(2)3.:→B0H8:→80H5:→92H(3)MOVDPTR,#0FF7CHMOVA,#30HMOVX@DPTR,AMOVDPTR,#0FF7DHMOVA,#80HMOVX@DPTR,AMVOX@DPTR,#0FF7EHMOVA,#92HMOVX@DPTR,ARET五、画出AT89S51系列单片机利
本文标题:MCS51单片机试题及答案
链接地址:https://www.777doc.com/doc-1836988 .html