您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 51单片机复习题(含答案)
第1页共7页一、填空题1、AT89S51单片机为8位单片机,共有40个引脚。2、MCS-51系列单片机的典型芯片分别为8031、8051、8751。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、单片机进行串行通信时,晶振频率最好选择11.0592MHz11、AT89S51复位后,PC与SP的值为分别为0000H和07H。12、关于定时器,若振荡频率为12MHz,在方式2下最大定时时间为256us13、AT89S51单片机的通讯接口有串行和并行两种形式。在串行通讯中,发送时要把并行数据转换成串行数据。接收时又需把串行数据转换成并行数据。14、一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为状态12周期。15、当使用慢速外设时,最佳的传输方式是中断。16、MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON_加以选择。二、判断题1、8031与8051的区别在于内部是否有程序存储器。(√)2、内部RAM的位寻址区,既能位寻址,又可字节寻址。(√)3、串行口工作方式1的波特率是固定的,为fosc/32。(×)4、8051单片机中的PC是不可寻址的。(√)5、MCS-51系统可以没有复位电路。(×)6、某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。(√)7、PC存放的是即将执行的下一条指令。(√)8、TMOD中的GATE=1时,表示由两个信号控制定时器的启停。(√)9、特殊功能寄存器SCON与定时器/计数器的控制无关。(√)10、各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。(×)11、MCS-51的程序存储器只是用来存放程序的。(×)12、MCS-51的串行接口是全双工的。(√)13、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×)14、MCS-51的5个中断源优先级相同。(×)三、简答题1、请写出共阴数码管显示数字0~9对应的段码值。答:共阴3FH06H5BH4FH66H6DH7DH07H7FH6FH2、请写出共阳数码管显示数字0~9对应的段码值。答:共阳C0HF9HA4HB0H99H92H82HF8H80H90H3、AT89S51单片机指令系统的寻址方式有哪些?答:寄存器寻址、直接寻址、间接寻址、立即寻址。4、请说明MCS-51单片机的外部引脚EA*的作用?答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器。第2页共7页5、AT89S51采用6MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)答:(216-X)*2*10-6=10-3X=655036X=FEOCH6、写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?答:外部中断INT0*,定时器/计数器中断T0,外部中断INT1*,定时器/计数器中断T1,串行口中断。其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。7、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态:显示期间,锁存器输出的段码不变,亮度大,各位LED的段选分别控制,位数多硬件电路复杂;动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单。8、请画出单片机最小系统。9、简述行列式扫描键盘的工作原理。答:扫描键盘工作原理首先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输出高电平扫描根据据以上扫描,确定以上各键是否按下。10.单片机的应用有哪些?答:(1)工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、测控系统等。(2)仪器仪表。如智能仪表、医疗器械、数字示波器等。(3)计算机外部设备与智能接口。如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。(4)商用产品。如自动售货机、电子收款机、电子秤等。(5)家用电器。如微波炉、电视机、空调、洗衣机、录像机、音响设备等。(6)消费类电子产品。(7)通讯设备和网络设备。(8)儿童智能玩具。(9)汽车、建筑机械、飞机等大型机械设备。(10)智能楼宇设备。(11)交通控制设备。第3页共7页四、大题1.MCS-51单片机P1端口上,经驱动器连接有8只发光二极管,若fosc=6MHz,试编写程序,使这8只发光二极管每隔2s循环发光一次(要求T0定时)。#includereg51.hunsignedchardatacou;unsignedintdatatim;voidmain(){TMOD=0x02;TL0=16;TH0=16;TR0=1;ET0=1;EA=1;P1=0;cou=0;tim=1;While(1);}voidserve()interrupt1{tim++;if(tim==500){P1=0x01cou;tim=1;cou++;if(cou==8)cou=0;}}2.设fosc=12MHz。试编写一段程序,对定时器T1初始化,使之工作在模式2,产生200µs定时,并用查询T1溢出标志的方法,控制P1.1输出周期为2ms的方波。#includereg51.hvoidmain(){unsignedchari,j;TMOD=0x20;TL1=56;TH1=56;TR1=1;while(1){while(TF1=1)第4页共7页{TF1=0;i++;if(i==5){P1_1=~P1_1;i=0;}}}}3.编写一C51程序,实现从P1口输出产生的流水灯,要求用C语言函数实现数据左移或右移。#includereg51.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedint/***延时函数***/voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}/***主函数***/voidmain(){uchari;P1=0xfe;while(1){for(i=0;i7;i++){P1=_crol_(P1,1);//P1的值向左循环移动delay(100);}for(i=0;i7;i++){P1=_cror_(P1,1);//P1的值向右循环移动delay(100);}}}4.MCS-51单片机P1端口上,经驱动器连接有2只数码管,若fosc=12MHz,试编写程序,使这2只数码管每隔1s计数一次的秒表。(要求T0定时)。第5页共7页#includereg51.h#defineuintunsignedint//宏定义uinttemp,aa,shi,ge;//定义全局变量sbitdula=P2^6;//定义段选sbitwela=P2^7;//定义字选uintcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddisplay(uintshi,uintge);//申明显示函数voiddelay(uintz);//申明延时函数voidinit();//申明初始化函数voidmain(){init();//调用初始化函数while(1){if(aa==20){aa=0;temp++;if(temp==60){temp=0;}shi=temp/10;//分离出十位ge=temp%10;//分离出个位}display(shi,ge);//调用显示函数}}voiddisplay(uintshi,uintge)//显示函数{dula=1;//打开段选P0=table[shi];//送十位数dula=0;//关闭段选//P0=0xff;//消隐(只有两位数码管就不用了)wela=1;//打开位选P0=0xfe;//送那一位wela=0;//关闭位选delay(5);//调用延时函数dula=1;P0=table[ge];dula=0;//P0=0xff;wela=1;第6页共7页P0=0xfd;wela=0;delay(5);}voiddelay(uintz)//延时函数{uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}voidinit()//初始化函数{temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}voidtimer0()interrupt1//中断函数{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}5.两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz的方波,晶振频率为12MHz。#includeat89x52.hunsignedchardatasta;unsignedchardatacou;unsignedchardatamag;voidmain(){TMOD=0x02;TL0=131;TH0=131;TR0=1;ET0=1;EA=1;cou=0;While(1);}第7页共7页voidserve()interrupt1{unsignedchartemp;P3=0xff;temp=P3&0xfc;if(temp!=sta){sta=temp;cou=0;}if(sta=0x00)mag=7;elseif(sta=0x01)mag=3;elseif(sta=0x10)mag=1;elseif(sta=0x11)mag=0;if(cou==mag){P1_0=~P1_0;cou=0;}elsecou++;}
本文标题:51单片机复习题(含答案)
链接地址:https://www.777doc.com/doc-3319312 .html