您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机复习题(含部分答案)
第1页共8页《单片机原理及应用》课程复习题适用于电子信息工程11级一、填空题1、AT89S51单片机为8位单片机,共有40个引脚。2、AT89S51的机器周期等于12个时钟振荡周期。3、AT89S51访问片外存储器时,利用ALE信号锁存来自P0口发出的低8位地址信号。4、AT89S51的P3口为双功能口。5、AT89S51内部提供2个可编程的16位定时/计数器,定时器有4种工作方式。6、AT89S51有2级中断,5个中断源。7、AT89S51的P2口为高8位地址总线口。8、设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,则其EA*引脚应该接+5V9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。10、AT89S51内部数据存储器的地址范围是00H~7FH,位地址空间的字节地址范围是20H~2FH,对应的位地址范围是00H~7FH,外部数据存储器的最大可扩展容量是64K。11、如果(A)=34H,(R7)=0ABH,执行XCHA,R7;结果(A)=0ABH,(R7)=34H。12、在R7初值为00H的情况下,DJNZR7,rel指令将循环执行256次。13、欲使P1口的低4位输出0,高4位不变,应执行一条ANLP1,#0F0H命令。14、若CPU使用的是寄存器第1组,R0~R7的地址范围是08H-0FH。15、单片机进行串行通信时,晶振频率最好选择11.0592MHz16、当执行MOVXA,@R1指令时,伴随着RD*控制信号有效。17、若A中的内容为67H,那么,P标志位为1。18、AT89S51唯一的一条16位数据传送指令为MOVDPTR,data16。19、LJMP的跳转范围是64K,AJMP的跳转范围是2KB,SJMP的跳转范围是±128B(或256B)。20、74LS138是具有3路输入的译码器芯片,其输出作为片选信号时,最多可以选中8片芯片。21、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POPDPHPOPDPLPOPSP则:(DPH)=___3CH___;(DPL)=___5FH___;(SP)=___50H___;22、AT89S51复位后,PC与SP的值为分别为0000H和07H。23、当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。24、当AT89S51执行MOVCA,@A+DPTR指令时,伴随着PSEN*控制信号有效。25、D/A(数/模)转换器的作用是把(数字量)转换成(模拟量),而A/D(模/数)转换器第2页共8页则正好相反。26、51单片机指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算。27、如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHDA,@R1;结果(A)=42H,(20H)=15H。28、在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为28H。29、关于定时器,若振荡频率为12MHz,在方式2下最大定时时间为256us30、AT89S51单片机的通讯接口有串行和并行两种形式。在串行通讯中,发送时要把并行数据转换成串行数据。接收时又需把串行数据转换成并行数据。31、若AT89S51外扩32KB数据存储器的首地址若为4000H,则末地址为BFFFH。32、执行如下三条指令后,30H单元的内容是#0EHMOVR1,#30HMOV40H,#0EHMOV@R1,40H33、51单片机片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。34、一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为状态周期。35、执行MOVXA,DPTR指令时,51单片机产生的控制信号是RD*。36、ORG0000HAJMP0040HORG0040HMOVSP,#00H当执行完左边的程序后,PC的值是0042H37、对程序存储器的读操作,只能使用MOVC指令。38、当使用慢速外设时,最佳的传输方式是中断。39、51单片机串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON_加以选择。40、51单片机中,可变波特率的多机通信应使用方式3。41、使用定时器0、选择2区工作寄存器区,则中断服务函数的C语言代码应该是voidintdemo()interrupt1using2二、判断题1、MOV55H,@R5(×)2、INCDPTR(√)3、DECDPTR(×)4、CLRR0(×)5、MOVT0,#3CF0H(×)6、8031与8051的区别在于内部是否有程序存储器。(√)7、内部RAM的位寻址区,既能位寻址,又可字节寻址。(√)8、串行口工作方式1的波特率是固定的,为fosc/32。(×)9、8051单片机中的PC是不可寻址的。(√)10、51单片机系统可以没有复位电路。(×)11、某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√)12、PC存放的是即将执行的下一条指令。(√)13、TMOD中的GATE=1时,表示由两个信号控制定时器的启停。(√)14、特殊功能寄存器SCON与定时器/计数器的控制无关。(√)第3页共8页15、各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×)16、51单片机上电复位时,SBUF=00H。(×)。17、51单片机的相对转移指令最大负跳距是127B。(×)18、51单片机的程序存储器只是用来存放程序的。(×)19、51单片机的串行接口是全双工的。(√)20、51单片机的特殊功能寄存器分布在60H~80H地址范围内。(×)21、MOVC,#00H的寻址方式是立即寻址。(×)22、51单片机的5个中断源优先级相同。(×)三、简答题1、请写出共阴数码管显示数字0~9对应的段码值。2、请写出共阳数码管显示数字0~9对应的段码值。3、AT89S51单片机指令系统的寻址方式有哪些?4、请说明51单片机的外部引脚EA*的作用?答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器。5、举例说明指令PUSH和POP的工作原理。6、特殊功能寄存器中,哪些单元是可以位寻址的?7、AJMP指令和LJMP指令的区别?8、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?答:RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态。9、AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?答:AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突。这是因为它们的控制信号不同:(1)外扩程序存储器是PSEN*信号为其控制信号,外扩数据存储器是RD*与WR*信号为其控制信号(2)指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取。10、51单片机片内256B的数据存储器可分为几个区?分别作什么用?答:(1)通用工作寄存器区,00H–1FH,共4组,R0-R7,在程序中直接使用(2)可位寻址区,20H-2FH,可进行位操作,也可字节寻址(3)用户RAM区,30H-7FH,只可字节寻址,用于数据缓冲及堆栈区(4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能11、AT89S51采用6MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)12、写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?答:外部中断INT0*,定时器/计数器中断T0,外部中断INT1*,定时器/计数器中断T1,串行口中断。其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。13、51单片机指令系统主要有哪几种中断源?并写出每个中断入口地址?第4页共8页答:中断源入口地址外部中断00003H定时器0溢出000BH外部中断10013H定时器1溢出0001BH串行口中断0023H14、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态:显示期间,锁存器输出的段码不变,亮度大,各位LED的段选分别控制,位数多硬件电路复杂;动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单。15、请画出单片机最小系统。16、简述行列式扫描键盘的工作原理。答:扫描键盘工作原理首先X0~X3始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2步骤作.再Y2输出低电平,Y0,Y1,Y3输出高电平扫描再Y3输出低电平,Y0,Y1,Y2输出高电平扫描根据据以上扫描,确定以上各键是否按下。17、什么叫堆栈?答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以后进先出的结构方式处理的。实质上,堆栈就是一个按照后进先出原则组织的一段内存区域。18、PC是什么寄存器?是否属于特殊功能寄存器?它有什么作用?答:PC是16位程序计数器(ProgramCounter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC。PC是专门用于在CPU取指令期间寻址程序存储器。PC总是保存着下一条要执行的指令的16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。如果在执行转第5页共8页移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC。19、DPTR是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?答:DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器。20、熟记IE、IP、TCON、SCON、TMOD、PCON等寄存器各位的含义。四、大题1、编写课本的例6-1、6-2、6-4。2、编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。解:STRAT:MOVR0,#30HMOVR7,#0FHMOVDPTR,#3000HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOOPRET3、编一个程序,将累加器中的一个字符从串行接口发送出去.解:SOUT:MOVSCON,#40H;设置串行接口为工作方式MOVTMOD,#20H;定时器T1工作于模式2MOVTL1,#0E8H;;设置波特率为1200b/sMOVTH1,#0E8HSETBTR1MOVSBUF,AJNBT1,$CLBT1RET4、片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解:START:MOVR0,#40H;数据块首地址送R0MOVR7,#09H;比较次数送R7MOVA,@R0;取数送ALOOP:INCR0MOV30H,@R0;取数送30HCJNEA,30H,NEHT;(A)与(30H)相比NEXT:JNCBIE1(A)≥(30H)转BIR1MOVA,30H;(A)<(30H),大数送ABIE1:DJNZR7,LOOP;比较次数减1,不为0,继续比较MOV50H,A;比较结束,大数送50HRET5、编定一个软件延时1S和1min的子程序。设fosc=6Hz,则一个机器周期1μ
本文标题:单片机复习题(含部分答案)
链接地址:https://www.777doc.com/doc-2606434 .html