线和控制总线等三大总线,现在分别加以说明。 中央处理器:
8位CPU,含布尔处理器;时钟电路;总线控制逻辑。中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统的工作,完成运算和控制输入输出等操控。
数据存储器(RAM):
128KB数据存储器(RAM,可再扩64KB);特殊功能寄存器SFR。 89CS51内部有128个8位用户数及存储单元和128个寄存器单元,他们是统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户自定义的字型表。 程序存储器(ROM):
4KB的程序存储器(ROM/EPROM/Flash,可扩至64KB); 89CS51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 定时/计数器(ROM):
89CS51有两个16位的可编程定时/计数器,一时想定时或计数产生中断用于控制程序转向。 并行输入输出(I/O)口:
9CS51共有4组8位I/O口(P0、P1、P2或P3),用于对外数据传输。 中断系统:
89CS51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,客满著不同的控制要求,并具有2级优先级别选择。 时钟电路:
89CS51内置最高频率高达12Hz的时钟电路,用于产生整个单片机运行的脉冲时序,但89CS51单片继续外置震荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据
6
存储器合二为一的结构,即普林斯顿(Princeton)结构。 2.2 89SC51单片机的时钟 (1)振荡器和时钟电路
89SC51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。89SC51的时钟产生方法有以下两种。 a 内部时钟方式
利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2MHz~12MHz之间选择。为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2靠近。
图2-2 89SC51时钟电路接线方法
b 外部时钟方式
此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同。
表2-1 80C51单片机外部时钟接入方法
芯片类型 HMOS CHMOS
XTAL1 接地 接片外时接线方法 XTAL2 接片外时钟脉输入端(引脚需接上拉电阻) 悬空 7
钟脉冲输入端 2.3 89SC51单片机的的封装和引脚
80SC51系列单片机采用双列直插式(DIP).QFP44(Quad Flat Pack)和LCC(Leaded Chip Caiier)形式封装。这里仅介绍常用的总线型DIP40封装。如图3-4所示。
40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚 (1) 电源:
VCC - 芯片电源,接+5V; VSS - 接地端;
图2-3 80C51单片机的的封装和引脚
(2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有4根,
ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址
PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。
RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。
8
Vpp功能:片内EPROM的芯片,在EPROM编程期间,施加编程电源 Vpp。 (4) I/O线
80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
三,电路模块设计
3.1系统的整体方案设计
本系统拟采用AT89C51单片机作为智能交通灯系统的控制核心。从设计所要完成的任务来看,单一路口显示倒计时时间的数码必须用两位,对于七段数码管,考虑到AT89C51单片机所能提供I/O接口的数量,倒计时显示装置中的数码管在本系统中采用的是静态显示;设置了3个按键用来处理交通灯在实际应用中可能出现的特殊情况,共使用3个I/O端口,其中P3.0接K1键,P3.2接K2键,P3.3接K3键;十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体I/O接口分配为:P1.0~P1.2分别接东西方向的红、绿、黄共6盏信号灯,P1.3~P1.5分别接南北方向的红、绿、黄共6盏信号灯;AT89C51单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O口就可以驱动,从而简化硬件电路的设计;此外专门设计了监控电路对控制系统进行实时监控,保证系统工作的稳定性和持续性。
系统的整体方案设计如图3-1所示
复位电路 时钟电路 红绿灯装置 单片机 AT89C51 倒计时显示装置
9
四,单元电路模块设计
4.1 复位电路
图4-1上电自动复位电路
为了确保控制系统能够稳定可靠的工作,复位电路是必不可少的一部分。它可以保证程序从指保证程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。另外当程序运行出错或操作错误使系统处于死机状态时需复位以重新启动。
上电自动复位是通过外部复位电路的电容充电实现的。通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过电阻对电容进行麅,RST端电压慢慢降下来,降到一定程度时变为低电平,单片机正常工作。上电自动复位电路如图4-1所示
10