完整word版51单片机复习题含答案doc.docx
- 文档编号:24305655
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:19
- 大小:44.07KB
完整word版51单片机复习题含答案doc.docx
《完整word版51单片机复习题含答案doc.docx》由会员分享,可在线阅读,更多相关《完整word版51单片机复习题含答案doc.docx(19页珍藏版)》请在冰豆网上搜索。
完整word版51单片机复习题含答案doc
一、填空题
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*
引脚应该接
+5V
9、单片机系统中使用的键盘分为
独立式键盘
和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。
10、单片机进行串行通信时,晶振频率最好选择
11.0592MHz
11、AT89S51复位后,PC与SP的值为分别为
0000H
和
07H
。
12、关于定时器,若振荡频率为
12MHz,在方式
2下最大定时时间为
256us
13、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对应的段码值。
答:
共阴3FH
06H
5BH
4FH
66H6DH
7DH
07H
7FH
6FH
2、请写出共阳数码管显示数字
0~9对应的段码值。
答:
共阳C0H
F9H
A4H
B0H
99H
92H
82H
F8H
80H
90H
3、AT89S51单片机指令系统的寻址方式有哪些?
答:
寄存器寻址、直接寻址、间接寻址、立即寻址。
4、请说明MCS-51单片机的外部引脚
EA*的作用?
答:
当EA*为高电平时,访问内部程序存储器,但当地址大于
0FFF时,自动转到外部程序存储器;当
EA*为低电平时,
只读取外部程序存储器。
第1页共7页
5、AT89S51采用6MHz的晶振,定时
1ms,如用定时器方式
1时的初值(16进制数)应为多少?
(写出计算过程)
答:
(216-X)*2*10-6=10-3
X=655036
X=FEOCH
6、写出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)交通控制设备。
第2页共7页
四、大题
1.MCS-51单片机P1端口上,经驱动器连接有8只发光二极管,若fosc=6MHz,试编写程序,使这8只发光二极管每隔2s循环发光一次(要求T0定时)。
#include
unsignedchardatacou;
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=0x01< tim=1; cou++; if(cou==8) cou=0; } } 2.设fosc=12MHz。 试编写一段程序,对定时器T1初始化,使之工作在模式2,产生200μs定时,并用 查询T1溢出标志的方法,控制P1.1输出周期为2ms的方波。 #include voidmain() { unsignedchari,j; TMOD=0x20; TL1=56; TH1=56; TR1=1; while (1) { while(TF1=1) 第3页共7页 { TF1=0; i++; if(i==5) { P1_1=~P1_1; i=0; } } } } 3.编写一C51程序,实现从P1口输出产生的流水灯,要求用C语言函数实现数据左移或右移。 #include #include #defineucharunsignedchar #defineuintunsignedint /***延时函数***/ voiddelay(uintz) { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /***主函数***/ voidmain() { uchari; P1=0xfe; while (1) { for(i=0;i<7;i++) { P1=_crol_(P1,1);//P1的值向左循环移动 delay(100); } for(i=0;i<7;i++) { P1=_cror_(P1,1);//P1的值向右循环移动 delay(100); } } } 4.MCS-51单片机P1端口上,经驱动器连接有2只数码管,若fosc=12MHz,试编写程序,使这2只数码管每隔1s计数一次的秒表。 (要求T0定时)。 第4页共7页 #include #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; 第5页共7页 P0=0xfd; wela=0; delay(5); } voiddelay(uintz)//延时函数 { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;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。 #include unsignedchardatasta; unsignedchardatacou; unsignedchardatamag; voidmain() { TMOD=0x02; TL0=131; TH0=131; TR0=1; ET0=1; EA=1; cou=0; While (1); } 第6页共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; } else cou++; } 第7页共7页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 51 单片机 复习题 答案 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)