图4.1 引脚图
VCC:供电电压。 GND:接地。
P0口:8位双向I/O口。在访问外部存储器时,P0口用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。P0口能驱动8个LSTTL门。在不接外ROM和外RAM时,P0口可做双向I/O口用。
P1口:P1口是一个内部提供上拉电阻的8位准双向I/O口,P1口负载能力为4个LSTTL门。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:8位准双向I/O口。在访问外部存储器时,P2口用于传送高8位地址。P2口负载能力为4个LSTTL门。
P3口:8位准双向I/O口。可做一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口第二功能如下。
P3.0--RXD (串行输入口) P3.1--TXD (串行输出口) P3.2--/INT0 (外部中断0) P3.3--/INT1 (外部中断1)
P3.4--T0 (定时/计数器0外部输入) P3.5--T1 (定时/计数器1外部输入) P3.6--/WR (外部数据存储器写选通) P3.7--/RD (外部数据存储器读选通)
- 9 -
P3口负载能力为4个LSTTL门。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE、/PROG:①正常使用为ALE功能,用来锁存P0口送出的低8位地址。P0口一般分时传送低8位地址还是8位数据地址呢?当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。通常在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。需要指出的是,当CPU不执行访问外RAM指令(MOVX)时,ALE以时钟振荡频率1/6的固定速率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。
ALE端可驱动8个LSTTL门电路。
②/PROG在固化片内存储器的程序(也称为“烧录程序”)时,此引脚用于输入编程脉冲,此时为低电平有效。
/PSEN:外ROM的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外RAM或内ROM时,这两次有效的/PSEN信号将不出现。 /EA、VPP:正常工作时,/EA为内外ROM选择端。MCS-51型单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外。当/EA保持高电平时,先访问内ROM,但当PC(程序计数器)值超过4KB时,将自动转向执行外ROM中的程序。当/EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。对80C31芯片,片内无ROM,因此/EA必须接地。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 4.2 复位电路
按键复位:与AT89C51的RESET脚相连,复位电路如图:
- 10 -
图4.2 复位电路图
在加电的瞬间,电容通过电阻充电,就在RST端出现一定宽度的高电平,根据时间长数τ=RC,设置R和C的大小使τ≥20ms就可以使单片机有效的复位。此复位电路在程序运行期间还可以手动复位,即按住开关键S1。 4.3 芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 4.4 振荡器特性
MCS51单片机内部的振荡电路是一个到增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。单片机内部虽然有震荡电路,但要形成时钟,外部还需要附加电路。石英振荡和陶瓷振荡均可采用。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证
- 11 -
脉冲的高低电平要求的宽度。51单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。利用其内部的震荡电路XTAL1和XTAL2引线上外接定时元件,内部震荡电路便产生自激震荡,用示波器可以观察到XTAL2输出的时钟信号。在MCS51单片机一般常用内部时钟方式,也就是在XTAL1和XTAL2之间连接晶体震荡器与电容构成稳定的自激震荡器,如下图:
图4.3 内部时钟方式
晶体和电容决定了单片机的工作时间精度为1微秒。晶体可在1.2-12MHz之间选择。MCS-51单片机在通常应用情况下,使用震荡频率为6MHz的石英晶体,而12MHz频率的警惕主要是在高速串行通信情况下才使用,在这里我用的是6MHz石英晶体。对电容无严格要求,但它在取直对震荡频率输出的稳定性、大小及震荡电路起震荡速度有一点影响。C1和C2可在20-100pF之间取,一般情况取30pF。外部时钟方式是把外部震荡信号源直接接入XTAL1或XTAL2。由于XTAL2的逻辑电平不是TTL的,所以还要接一个上拉电阻。
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。
5 计时交通灯系统的设计
5.1 硬件系统设计 5.1.1硬件框图
- 12 -
相关推荐: