图2-8 MCS-51单片机的机器周期
对于单机器周期指令,从S1P2开始把指令码读到指令寄存器。如果是双字节指令,则在同一个机器周期的S4读入第二字节。对单字节指令,在S4仍有一次读指令码的操作,但读入的内容被忽略(不处理),并且程序计数器不加1,这种无效的读取称为假读。在下一个机器周期的S1才真正读取此指令码。
2.3 复位电路
复位是单片机的初始化操作,如对AT89C51单片机的复位引脚RST加上大于24个时钟振荡周期的高电平就可使其正常复位。
当AT89C51单片机进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化,当程序运行出错或操作错误使系统处于死锁状态时,也须按复位键让RST引脚置为高电平,使AT89C51单片机摆脱“跑飞”或“死锁”状态而重新启动。
除PC外,复位操作还对其他一些寄存器有影响,主要寄存器复位时的状态见表2-9。
表2-9 主要寄存器复位时的状态
AT89C51单片机的复位是由外部的复位电路实现的。复位电路通常采用上电自动复位和按钮复位两种方式,如图2-9所示。
图2-9 AT89C51单片机的外部复位电路
上电自动复位是通过外部复位电路的电容充电实现的。当电源接通时,电容C1充电,RST处于高电平,且时间远超过1ms,从而确保单片机正常复位;当电容充电完毕时,RST被电阻R1下拉到低电平,单片机开始正常运行。
需要注意的是,几乎所有单片机都需要外接复位电路,但不同厂家的产品,其复位逻辑电平可能不同,如新华龙C8051F020单片机,尽管该单片机仍然是51内核,但CPU采用低电平复位,即RST引脚接低电平时单片机复位,该引脚接高电平时为正常运行状态。
2.4 MCS-51单片机的最小系统
MCS-51单片机硬件资源较为丰富,单个芯片配合一定的外围电路就能构成一个最小系统,实现简单的应用,图2-10是MCS-51单片机的最小系统电路图。一般来说,单片机的最小系统包括电源部分(电源正、电源地)、晶振部分(11.0592MHz、12MHz、6MHz)、复位电路。将以上三个电路正确连接,单片机就能正常工作。EA有两种接法,一是接高电平,此时单片机采用内部程序存储器,不使用外部程序存储器,最小系统在启动后执行单片机内部程序存储器中的程序;另一种是接低电平,单片机采用外部程序存储器,此时就不是一个最小系统,而是单片机扩展系统了。
最小系统中主要电路构成介绍如下。
(1)电源电路。引脚Vcc(引脚40)接 5V电源,引脚GND(引脚20)接地线。为提高电路的抗干扰能力,1个瓷片电容和1个电解电容通常被接在引脚Vcc和接地线之间。
(2)程序存储器选择电路。如前所述,Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器,因此在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中,引脚EA(引脚31)接高电平,单片机在复位后从内部ROM的0000H开始执行程序。
(3)时钟电路和时序。系统时钟是一切微处理器、微控制器内部电路工作的基础。AT89C51芯片的时钟频率为2~24MHz。单片机内部有1个可以构成振荡器的电路。在这个放大电路的引脚XTAL2和XTAL1接上晶体电容就可以构成单片机的时钟电路。常用时钟电路有内部时钟方式和外部振时钟方式。图2-10中的时钟电路由晶体Y1和电容C2与C3组成。单片机的时钟频率取决于晶体Y1的频率。电容C2与C3的取值范围为20~30pF。
(4)复位电路。对于AT89C51单片机,只要复位引脚RST保持24个时钟周期的高电平,就可以完成复位。为了保证应用系统可靠地复位,通常将复位电路中引脚RST保持10ms以上的高电平。
图2-10 MCS-51单片机的最小系统电路图
最小系统是单片机能够正常运行程序的最低条件,在实际应用中,通常需要进行功能扩展,扩展电路在最小系统基础上使用P0~P3端口的普通I/O功能或P3端口的特殊功能,只要电路设计和程序编写正确,系统就能正常工作。
本章小结
本章首先介绍了MCS-51单片机的组成结构及主要功能部件,详细介绍了引脚功能与特性,着重讨论了存储器的结构,特别是数据存储器的结构和功能,最后介绍了MCS-51单片机的时钟电路、复位电路、总线工作时序及最小系统的电路组成。
思考题与习题
2.1 简述MCS-51单片机各引脚的名称和作用。
2.2 阐述MCS-51 单片机程序存储器的配置,并说明EA引脚的连接电平与访问程序存储器的关系。
2.3 阐述MCS-51单片机数据存储器的配置,如何区别内部和外部数据存储器?
2.4 阐述P0、P1、P2、P3端口的功能。
2.5 在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为______。
2.6 AT89C51单片机的一个机器周期等于_____个时钟振荡周期。
2.7 内部RAM中,位地址为40H、88H的位,它们所在字节的字节地址分别为_____和_____。
2.8 片内字节地址为2AH单元的最低位的位地址是_____,片内字节地址为88H单元的最低位的位地址是_____。
2.9 阐述MCS-51单片机的寄存器PC和DPTR为何采用16位。
2.10 为何MCS-51单片机外部程序存储器和数据存储器允许地址重复?