三、简答
1. 什么是单片机?Intel 8051有哪些主要片内接口资源? 2. 什么是单片机最小系统?
3. Intel 8051的存储空间是如何组织的?引脚EA有何用途?8051与8052片内数据存储器有何差异?
答案: Intel 80C51的存储器空间物理上分为:片内ROM、片外ROM、片内RAM和片外RAM四个独立存储空间。逻辑上分为:统一编址的程序存储空间(0000H~FFFFH)、片内数据存储空间(00H~FFH)和片外数据存储空间(0000H~FFFFH)三部分。其片内数据存储空间又可分为:通用寄存器区(00H~1FH)、位寻址区(20H~2FH)、数据缓冲区(30H~7FH)、特殊功能寄存器区(80H~FFH)。 引脚EA用来选择程序存储空间的低4KB(0000H~0FFFH)映射在片内还是片外。当EA=0时,映射在片外,而当EA=1时,映射在片内。
4. MCS-51单片机的4个输入/输出口各有何用途?
答案: MCS-51单片机有4个8位双向的并行输入/输出口P0、P1、P2和P3,这些口既可以整体8位输入/输出,也可以只对某个引脚单独输入/输出。此外在外扩存储器时,P0口被用作地址/数据线AD7~AD0,P2口被用作高8位地址线A15~A8;P1口在8051单片机中没有复用的第二功能;P3口引脚从低到高依次复用为RXD串行接收、TXD串行发送、INT0外中断0输入、INT1外中断1输入、T0定时/计数器0外部计数输入、T1定时/计数器1外部计数输入、WR片外RAM存储器写信号、RD片外RAM存储器读信号。
5. 80C51单片机的定时/计数器有几种工作方式,各有何特点?
答案: 80C51单片机的定时/计数器有4种工作方式。
方式0。13位计数,定时时的定时时间=(213-计数初值)×12/fOSC。 方式1。16位计数,定时时的定时时间=(216-计数初值)×12/fOSC。
方式2。8位自动重装计数,定时时的定时时间=(28-计数初值)×12/fOSC。
方式3。将T0拆分为两个8为计数器,其中TL0可以定时或计数,而TH0只能定时。T1不能工作在此方式。
6. 80C51单片机的串行口有几种工作方式,各有何特点?串行通信时,8051单片机的波特率由什么决
定?
答案:80C51单片机的串行口有4种工作方式,数据收发均为先低位后高位。 方式0。移位寄存器方式,波特率为fOSC/12,数据由RXD引脚收发,TXD引脚输出移位时钟。
方式1。10位异步通信方式,波特率可变,数据由RXD引脚接收,TXD引脚发送。一帧数据由1位起始位、8位数据位和1位停止位组成。
方式2。11位异步通信方式,波特率为fOSC/32或fOSC/64,数据由RXD引脚接收,TXD引脚发送。一帧数据由1位起始位、8位数据位、1位可编程的第9位和1位停止位组成。
方式3。11位异步通信方式,波特率可变,数据由RXD引脚接收,TXD引脚发送。一帧数据由1位起始位、8位数据位、1位可编程的第9位和1位停止位组成。
5
7. 何谓波特率?8051单片机中的SMOD位有何作用?
8. 假如8051单片机的振荡时钟分别为11.0592MHz和12MHz两种,设定串行口工作在方式1,波特率
为9600bps,试分别计算定时/计数器1的计数初值应设置为多少合适,此时实际波特率是多少? 答案:由波特率计算公式:fosc×2SMOD /(32×12×(28-T1的计数初值)) 推导出:T1的计数初值=28-fosc×2SMOD/ (32×12×波特率)
取SMOD=0,fosc=11.0592MHz,波特率=1200 bps时,计算得到:T1的计数初值=232,实际波特率=1200bps,偏差为0。
取SMOD=0,fosc=11.0592MHz,波特率=2400 bps时,计算得到:T1的计数初值=244,实际波特率=2400bps,偏差为0。
取SMOD=0,fosc=11.0592MHz,波特率=4800 bps时,计算得到:T1的计数初值=250,实际波特率=4800bps,偏差为0。 取SMOD=0,fosc=11.0592MHz,波特率=9600 bps时,计算得到:T1的计数初值=253,实际波特率=9600bps,偏差为0。 取SMOD=1,fosc=11.0592MHz,波特率=19200 bps时,计算得到:T1的计数初值=253,实际波特率=19200bps,偏差为0。
取SMOD=1,fosc=11.0592MHz,波特率=38400 bps时,计算得到:T1的计数初值≈254,实际波特率=28800bps,偏差为25%。
取SMOD=0,fosc=12MHz,波特率=1200 bps时,计算得到:T1的计数初值≈230,实际波特率≈1202bps,偏差为0.17%。
取SMOD=0,fosc=12MHz,波特率=2400 bps时,计算得到:T1的计数初值≈243,实际波特率≈2404bps,偏差为0.17%。
取SMOD=0,fosc=12MHz,波特率=4800 bps时,计算得到:T1的计数初值≈250,实际波特率≈5208bps,偏差为8.5%。 取SMOD=0,fosc=12MHz,波特率=9600 bps时,计算得到:T1的计数初值≈253,实际波特率≈10417bps,偏差为8.5%。 取SMOD=1,fosc=12MHz,波特率=19200 bps时,计算得到:T1的计数初值≈253,实际波特率≈20833bps,偏差为8.5%。
取SMOD=1,fosc=12MHz,波特率=38400 bps时,计算得到:T1的计数初值≈254,实际波特率≈31250bps,偏差为18.6%。
四、设计
1.若8051单片机的振荡时钟为12MHZ,利用定时/计数0以定时中断方式实现,通过8051单片机的P1.0引脚输出占空比为20%的1KHz方波信号。
2.若8051单片机的振荡时钟为12MHZ,利用定时/计数0以定时中断方式实现一个秒信号灯。控制点亮P1.0引脚连接的LED,LED亮0.5秒,又灭0.5秒,如此交替循环。 3.编程实现对8051单片机P3口输入的逻辑电平状态进行判断,若其高4位输入与低4位输入相同时P1.0引脚输出0,否则P1.1引脚输出0。(余下引脚输出全为1)
4.编程实现对8051单片机P3口输入的逻辑电平状态进行判断,当输入高电平个数为奇数时P1.0引脚输出0,否则P1.1引脚输出0。(余下引脚输出全为1)
6
相关推荐: