单片机试题及其答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一填空题1.AT89S51单片机芯片共有40个引脚,MCS-51系列单片机为8位单片机。2.AT89S51单片机有2级优先级中断。3.AT89S51内部数据存储器的地址范围是00H-7FH,位地址空间的字节地址范围是20H-2FH,对应的位地址范围是00H-7FH,外部数据存储器的最大可扩展容量是64k字节。4.单片机也可称为微控制器或嵌入式控制器。5.当MCS-51执行MOVCA,@A+PC指令时,伴随着PSEN控制信号有效。6.当单片机复位时PSW=00H,当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。7.MCS-51系列单片机指令系统的寻址方式有寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址加变址、位寻址。(相对寻址也可)8.51系列单片机的典型芯片分别为AT89S51、8031、AT89C51。9.AT89S51的p3口为双功能口。10.由AT89S51组成的单片机系统在工作时EA引脚应该接地。二选择题1.如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHDA,@R1;结果(A)=(A)A.42HB.20HC.12HD.15H2.AT89S51复位后,PC与SP的值为分别为(B)A.0000H、00HB.0000H、07HC.FFFFH、00HD.0000H、FFH3.堆栈数据的进出原则是(B)A.先进先出B.先进后出C.后进后出D.进入不出4.已知:R0=28H(28H)=46H,顺序执行下面三条指令后MOVA,#32H;MOVA,45H;MOVA,@R0执行结果A的内容为(A)A.46HB.28HC.45HD.32H5.AT89S51单片机中,唯一一个用户不能直接使用的寄存器是(C).A.PSWB.DPTRC.PCD.B三判断题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个机器周期。(×)29.区分外部程序存储器和数据存储器的最可靠的方法是看其是被WR*还是被PSEN*信号连接。(√)10.各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×)四简答题1.为什么基本型51单片机指令MOVA,@R0;规定R0内容不能超过7FH,而增强型的没有此限制?答:因为寄存器间接寻址方式中R0或R1的内容是操作数的RAM地址,内部RAM的寻址范围是00H~7FH。2.简述中断响应需要满足的条件。答:1有中断源发出中断请求;2中断总允许位EA=1,即CPU开中断;3申请中断的中断源的中断允许位为1,即中断没有屏蔽;4无同级或更高级中断正在被服务;5当前的指令周期已经结束;6若现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完3.定时器/计数器用作定时器模式时,计数脉冲又谁提供?定时时间和哪些因素有关?答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。4.为什么定时器T1作为串行口波特率发生器时,常采用方式2?若已知时钟频率、串行口通信波特率、如何计算装入T1的初值?答:方式2的8位计数器(最大计数值=2^8=256d),每次计数溢出时,由硬件电路自动重装计数初值。初装值计算举例如下:波特率=((2的SMOD次方)xF)/(32x12x(256-N)其中:SMOD是特殊功能寄存器PCON的第7位,取1或0(波特率倍增,或不倍增)。晶振为11.0592MHZ,当SMOD取0,波特率=F/(32x12x(256-N)),计数初装值N=256-F/(波特率x32x12)=256-1105920/(9600x32x12)=253即0FDh五图为8段共阴数码管,请写出如下数值的段码3答案03FH106H25BH34FH466H56DHP73H707H87FHC39H六分析下面程序的功能:(1)写出每条指令的功能(2)分析程序的总体功能。ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:JNBP1.0,MAINMOVTMOD,#05H;定时器/计数器T0为计数方式1SETBTR0;启动T0,开始计数SETBET0;允许T0中断SETBEA;CPU开中断WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2在电平负跳变前,如果计数器溢出,则进位存入R2RETI七试编写程序,查找在内部RAM的30H~50H单元中是否有0BBH这一数据。如果有,则将51H单元置为“01H”;如果没有,则将51H单元置为“00H”START:MOVR0,#30HMOVR2,#20HLOOP:MOVA,@R0CJNEA,#0BBH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR04DJNZR2,LOOPMOV51H,#00HEXIT:RET一填空题1.单片机与普通微型计算机的不同之处在于其将CPU、存储器和(I/O口)三部分,通过内部总线连接在一起,集成在一块芯片上。2.AT89S51内部数据存储器的地址范围是00H~7FH,位地址空间的字节地址范围是20H~2FH,对应的位地址范围是00H~7FH,外部数据存储器的最大可扩展容量64K。3.如果(A)=34H,(R7)=0ABH,执行XCHA,R7;结果(A)=0ABH,(R7)=34H4.若A中的内容为67H,那么,P标志位为1。5.AT89S51复位后,PC与SP的值为分别为000H和07H6.AT89S51的P0口为高8位地址总线口。7.数据指针DPTR有16位,程序计数器PC有16位8.当单片机的PSW=01H时,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H9.串行口方式2接收到的第9位数据送SCON寄存器的RB8位中保存。10.欲使P1口的低4位输出0,高4位不变,应执行一条ANLP1,#0F0H命令。二选择题(每题2分共10分)1.(C)A.内部RAM单元数目不同B.内部RAM存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器数目不同2.对于程序存储器的操作,只能使用(D)A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令3.串行口工作方式1的波特率是(D)A.固定的,为fosc/32B.固定的,为fosc/16.C.固定的,为fosc/64D.可变的,由定时器T1的溢出率决定4.AT89S51只有()为单一功能口,其余都是多功能口。5A.P0B.P1C.P2D.P35.串行口的方式0的波特率为(A)A.fosc/12B.fosc/6C.fosc/32D.fosc/64三判断题1.AT89S51单片机可执行指令:MOV35H,@R3。(×)2.程序计数器PC中装的内容是当前正在执行指令的地址。(×)3.指令中直接给出的操作数称为直接寻址(×)4.当向堆栈压入一个字节的数据后,SP中的内容减1(×)5.当EA脚接高电平时,对ROM的读操作只访问片外程序存储器(×)6.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址(√)7.逐次比较型A/D转换器与双积分A/D转换器比较,转换速度比较慢(×)8.内部RAM的位寻址区,既能位寻址,又可字节寻址(√)9.串行口工作方式1的波特率是固定的,为fosc/32(×)10.定时器的方式2可以作为串行口波特率发生器(√)四简答题1.简述AT89S51单片机片内集成了哪些功能部件?答:1个CPU;128B的RAM单元;4KB程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);1个全双工串行口;定时器/计数器;一个中断系统,5个中断源,2个优先级;一个片内振荡器及时钟电路;可寻址64KB外部数据存储器和64KB外部程序存储器空间的控制电路2.简述定时器/计数器方式2有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。3.简述AT89S51串行口有几种工作方式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;方式1的波特率=2^SMOD/32×定时器T1的溢出率方式2的波特率=2^SMOD/64×fosc方式3的波特率=2^SMOD/32×定时器T1的溢出率4.采用6MHz的晶振,定时5ms,用定时器方式1时的初值应为多少?答:机器周期=12/Fosc=12/(6x10^6Hz)=2μs定时5ms的计数值=5000μs/2μs=2500d约定T1工作方式1,是16位计数器,初装值=2^16-2500d=65536d-2500d=63036d=F63ChTH1←F6H,TL1←3CH五简述行列式键盘线反转法识别按键的工作原理6答:第1步:让行线编程为输入线,列线编程为输出线,使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。第2步:再把行线编程为输出线,列线编程为输入线,使输出线输出为全低电平,则列线中电平由高变低的所在列为按键所在列。综合上述两步,可确定按键所在行和列。六分析下面程序的功能:(1)写出每条指令的功能(2)分析程序的总体功能。ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:JNBP1.0,MAINMOVTMOD,#05H;SETBTR0;SETBET0;SETBEA;WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2RETI七试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。如果有,则将51H单元置为“01H”;如果没有,则将51H单元置为“00H”答:START:MOVR0,#30HMOVR2,#20HLOOP:MOVA,@R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXIT7NEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功