仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
交通灯系统实现数码管显示灯位计时和中断恢复。
设计方案简述总体思路
根据智能交通灯的具有的功能,将它主要分为三部分,包括数码管显示剩余时间部分、交通灯显示部分和按键实现中断部分。
功能说明
整个十字路口由东西向道路和南北向道路垂直交叉形成,我们采用“上北下南,左西右东”的惯例进行构图。在北和东两个方向各有一组三色的LED灯来控制交通的流向和三个数码管控制交通的节奏。流向也即方向,通过不同LED灯颜色进行表征:红灯停,绿灯行,黄灯等一等;节奏通过倒计时时间进行控制,该时间的时基由单片机的定时器提供。
十字路口的倒计时时间分别通过三个一位的七段共阴极数码管显示。绿灯点亮道路上的数码管显示的数字是该道路所剩余的可通行时间,红灯点亮道路上的数码管显示的数字是该道路所剩余的禁行时间。
系统上电后,默认运行在“正常模式”下。此时南北向绿灯点亮,允许直行;东西向红灯点亮,禁止直行和左转。
当按下东西管控时不论当前交通灯运行到什么状态,均进入东西向绿灯,南北向红灯状态,数码管显示“0”,直到按下取消管控功能,系统进入正常运行状态。当按下南北管控时不论当前交通灯运行到什么状态,均进入南北向绿灯,东西向红灯状态,数码管显示“0”,直到按下取消管控功能,系统进入正常运行状态。
系统硬件电路设计:
硬件电路由 AT89C51 单片机、 6个4位共阴极的数码显示管、复位电路、时钟电路、按键电路以及交通灯演示系统组成。
系统中控制模块是最核心的部分,控制核心采用AT89C51单片机,利用AT89C51单片机内部定时器实现交通指示灯控制的计时功能,在正常情况下产生相应的控制信息控制倒计时显示电路,信号灯显示电路的正常运行。
信号灯显示模块采用四个集成交通指示灯来模拟红、黄、绿交通指示灯,用单片机的P1口控制发光二极管的亮灭状态。
倒计时显示模块的接口电路有静态显示和动态显示两种方式,由于动态显示方式在仿真软件中不易于查看,所以本次采用静态显示方式,这种方式优点是易于操作,缺点是浪费单片机接口资源。为了倒计时更加准确,采用外加晶振电路方法实现其功能。
AT89C51 芯片简介
AT89C51是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯中,ATMEL 的 89C51 是一种高效微控制器,89C2051 是它的一种精简版本
74HC573芯片
74HC573包含八路3态输出的非反转透明锁存器,是一种高性能硅栅CMOS器件。
SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。
原理说明
M54HC563/74HC563/M54HC573/74HC573的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,将输出锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。
单元电路设计复位电路
单片机在运行中由于本身或外界干扰的原因会导致出错,此时可以使用按键复位,使单片机恢复初始状态。
振荡电路
片内的高增益反向放大器通过XTAL1、XTAL2端外接作为反馈元件的片外晶体振荡器与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。本实验采用12MHz的晶振频率,电容C1,C2的值为30pF,电容的大小对
振荡频率有微小的作用,可起频率微调作用。
P0口驱动电路
用P0口控制两位的八段数码管。51 单片机的 P0 口作 IO 口时为开漏输出方式,所以需要外加上拉电阻输出高电平熄灭 LED 灯;P2 口作 IO 口时为上拉输出方式,直接可以输出高电平所以不需要外加上拉电阻。本实验采用阻值为100Ω的上拉电阻。
数码管显示电路
(1)八位共阴极数码管用于倒计时;
(2)段选端由锁存器控制,位选端分别由S1,S2,S3,S4,S5,S6控制;
(3)通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如dp, g, f, e, d, c,b, a全亮显示为8。
(4)采用共阴极连接:
红绿灯模块
在P1口外接六个红绿灯,东西南北各三个红绿灯,因为南北红绿灯变化一样,东西红绿灯变化一样,因此用P1_0、P1_1、P1_2端口控制东西方向的红绿灯,P1_3、P1_4、P1_5端口控制南北方向的红绿灯。
(1)图为两方向的红绿黄灯,分别接在P0口上,由P0口控制
(2)51系列单片机的P0口内部没有集成上拉电阻,加上拉就是提高驱动能力,必须要通过上拉电阻接VCC。上拉电阻一般接1K的。
按键模块
(1)P2键控制功能说明:
P2^6 key0 绿灯位选择
P2^5 key1 黄灯位选择
P2^4 key2 加1操作
P2^3 key3 减1操作
P2^2 key4 信号灯状态固定P2^1
key5 信号灯状态切换P2^0 key6 时钟时分秒设置键
(2)键盘上加上拉电阻是为了提高驱动能力
下载,如有错误 请指出:
交通灯.zip
(30.95 KB, 下载次数: 14)
|