首页 理论教育单片机的外部结构改为单片机原理与应用:外部结构

单片机的外部结构改为单片机原理与应用:外部结构

【摘要】:单片机的外部结构主要是指其I/O引脚、控制总线等。通常,将使用最少元器件搭建起的单片机运行电路称为单片机的最小运行系统。对于8051单片机而言,最小系统包括时钟电路和复位电路两个部分。

单片机的外部结构主要是指其I/O引脚、控制总线等。

1.2.1 MCS-51单片机引脚的功能

MCS单片机都采用40引脚的双列直插封装方式。图1-12所示为引脚排列图,各引脚的说明如下:

图1-12 引脚排列图

1.主电源引脚VSS和VCC

(1)VSS:接地。

(2)VCC:正常操作时为+5 V电源。

2.外接晶振引脚XTAL1和XTAL2

(1)XTAL1:内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。

(2)XTAL2:内部振荡电路反相放大器的输出端,是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。

3.控制或与其他电源复用引脚RST/VPD,ALE//VPP

(1)RST/VPD:当振荡器运行时,在此引脚上出现两个机器周期的电平(由低到高跳变),将使单片机复位,在VCC掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

(2)ALE/正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)。

(3):外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八个LSTTL输入。

(4)VPP:内部程序存储器和外部程序存储器选择端。当/VPP为高电平时,则访问内部程序存储器;当/VPP为低电平时,则访问外部程序存储器。

对于EPROM型单片机,在EPROM编程期间,此引脚上加21 V EPROM编程电源(VPP)。

4.输入/输出引脚P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7

(1)P0口(P0.0~P0.7)是一个8位漏极开路型双向I/O端口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。

(2)P1口(P1.0~P1.7)是一个带有内部提升电阻的8位准双向I/O端口,能驱动(吸收或输出电流)四个LSTTL负载。

(3)P2口(P2.0~P2.7)是一个带有内部提升电阻的8位准双向I/O端口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。

(4)P3口(P3.0~P3.7)是一个带有内部提升电阻的8位准双向I/O端口,能驱动(吸收或输出电流)四个LSTTL负载。P3口还用于第二功能,见表1-1。

1.2.2 基本运行电路(www.chuimin.cn)

尽管8051系列单片机已经有很高的集成度,但其运行仍需要有外部电路配合才能正常工作。通常,将使用最少元器件搭建起的单片机运行电路称为单片机的最小运行系统。对于8051单片机而言,最小系统包括时钟电路和复位电路两个部分。

1.时钟电路

8051系列单片机在工作时需要有时钟信号的支持,时钟电路就是用来产生时钟信号的电路。按照时钟的来源不同,8051系列单片机可以使用两种不同类型的时钟。

1)内部时钟方式

内部时钟方式的时钟并非来源于单片机内部,而是由外接于单片机XTAL1和XTAL2引脚的晶体振荡器陶瓷谐振器及电容与单片机内部的反向放大器一起构成自激振荡器,为单片机运行提供时钟。当单片机工作在内部时钟方式时,其电路原理如图1-13所示。

图1-13 内部时钟方式

为便于计算时间和得到正确的串行通信波特率,晶体振荡器的频率通常选择12 MHz或11.0592 MHz。晶振的频率越高,单片机执行代码的速度也越快,但相应的功耗和电磁辐射也会增加。在要求不高的情况下,也可以使用陶瓷谐振器代替晶振作为时钟源。使用晶体振荡器时,C1、C2的电容推荐值为30 pF,而使用陶瓷谐振器时电容应选择40 pF。

2)外部时钟方式

当单片机工作在外部时钟方式时,外部时钟信号从XTAL2引脚输入,此时XTAL1引脚应接地。外部时钟方式常用在单片机使用有源晶振或多个单片机同时工作的情况下,其工作电路如图1-14所示。

图1-14 外部时钟电路

2.复位电路

MCS-51单片机的复位电路如图1-15所示。它在RESET(图中表示为RES)输入端出现高电平时实现复位和初始化

图1-15 复位电路

在振荡运行的情况下,要实现复位操作,必须使RES引脚至少保持两个机器周期(24个振荡器周期)的高电平。CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RES端电平变低。复位期间不产生ALE及PSEN信号。内部复位操作使堆栈指示器SP为07H,各端口都为1(P0~P3口的内容均为0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。当RES引脚返回低电平以后,CPU从0地址开始执行程序。复位后,各内部寄存状态如表1-8所示。

表1-8 寄存器的内容

图1-15(b)所示为加电自动复位电路。加电瞬间,RES端的电位与VCC相同,随着RC电路充电电流的减小,RES的电位下降,只要RST端保持10 ms以上的高电平就能使MCS-51单片机有效复位,复位电路中的R,C参数通常由实验调整。当振荡频率选用6 MHz时,C选22 µF,R选1 kΩ,便能可靠地实现加电自动复位,若采用RC电路接斯密特电路的输入端,斯密特电路输出端接MCS-51和外围电路的复位端,能使系统可靠地同步复位。图1-15(a)所示为人工复位电路。

复位电路在实际应用中很重要,不能可靠复位会导致系统不能正常工作,所以现在有专门的复位电路,如810系列。这种类型的器件不断有厂家推出更好的产品,如将复位电路、电源监控电路、看门狗电路、串行E2ROM存储器全部集成在一起的电路,有的可分开单独使用,有的可只用部分功能,让使用者就具体实际情况灵活选用。