毕业设计
基于单片机的交通信号的灯控制系统
一. 综合实训的主要内容 1.设计任务
设计一单片机控制的交通信号灯系统,模拟城市十字路口交通信号灯功能。
2.基本功能要求
2.1 交通信号控制
直行车道红黄绿灯控制、左行车道绿灯控制、人行横道红绿灯控制。 2.2 通行时间显示
数码管倒计时显示通行时间。 2.3 时间参数设置存储
按键实现通行时间的设置,并存储到EEPROM(24C02)芯片中。
二. 硬件方案设计与论证 1. 显示模块设计
1.1倒计时时间显示
设计思想:由于该系统要求完成倒计时显示通行时间的功能,且考虑到实际的交通系统中车辆及行人通行时间不会超过一分钟,基于以上原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位共阴极数码管进行显示。(其实物图见附录1图5.3)
+5V gfGNDaba aab bcc fgbdd 共阴极 共阳极 ceee dpffd·g g dpdpedGNDcdp (a)(b) 图2.1 数码管原理图
原理图分析:
为了显示数字或字符,必须对数字或字符进行编码。七段数码管(a,b,c,d,e,f,g)加上一个小数点(dp),共计8段,构成一个字节,通过对这八段给予高低平使二极管
导通或截止,从而显示不同的数字或字符。系统中所使用的是2位共阴数码管(实物图见附录),其管脚从左上方起顺时针依次为1,a,b,e,d,2,g,f,dp,c。 1.2 状态灯显示
设计思想:由于该系统要求完成状态灯显示的功能,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯,人行横道采用红绿灯控制,综上所述,我们共使用16个LED绿灯,12个LED红灯,4个LED黄灯来完成状态灯显示功能。
2.控制模块设计
2.1 设计思想
由于本系统结构简单,实现较容易,不需要大量的外围扩展,所以我们采用STC89C51单片机作为主控制器,STC89C51单片机具有体积小,功耗低,控制能力强,价格低、扩展灵活,使用方便等特点,其最小系统由振荡电路、复位电路构成。 2.2 最小系统原理图
图2.2 单片机最小系统原理图
原理图分析:51单片机最小系统由复位电路,振荡电路组成。振荡电路使用11.0592MHz高精度晶振,振荡电容选择30pF瓷片电容;复位电路采用RC电路。
3.存储模块
3.1 设计思想:系统掉电存储模块采用串行E2PROM,它是基于IIC总线的存储器件,遵循二线制协议,其具有接口方便,体积小,数据掉电不丢失等特点。 3.2 24C02芯片原理图
管脚描述 :A0A1A2引脚 器件地址选择
SDA引脚 串行数据/地址 SCL引脚串行时钟 WP 写保护
VCC电源 1.8~6V VSS 地
4.系统理论分析
4.1交通灯显示时序的理论分析
依次循环共分4种状态:南北方向直行通行、南北方向左拐通行、东西方向直行通行,东西方向左拐通行。
南北方向直行:南北段直行通行(绿灯)、东西段禁止(红灯),,此时,南北段人行道通行(绿灯),东西段人行道禁止(红灯),同时南北段和东西段方向的数码管分别从20s和30s(加上南北段左拐时间)开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后南北段左拐(左拐绿灯亮)通行、东西段禁止(红灯)10s,南北段、东西段人行道都禁止(红灯),同时南北段和东西段方向的数码管都从10s开始倒计时,至最后5s时南北段左拐灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯),东西段人行道通行(绿灯),南北段人行道禁止(红灯),同时东西段和南北段方向的数码管分别从20s和30s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左拐(左拐灯亮)通行、南北段禁止(红灯)10s,东西段、南北段人行道都禁止(红灯),同时东西段和南北段方向的数码管都从10s开始倒计时,至最后5s时东西段左拐灯变成黄灯闪烁,即完成一次循环。 4.2 状态切换
系统中共设置了四种模式,分别为开始模式、延长通行时间模式、减少左拐时间模式、急停模式,这几种模式分别通过相应的按键进行切换。 开始模式:直行20s,左拐10s;
延长通行时间模式:直行40s,左拐20s; 减少左拐时间模式:直行40s,左拐10s
急停模式:当有紧急事故发生时,所有指示灯全变成红灯,禁止通行,数码管显示00.
4.3倒计时显示的具体实现
利用定时器中断,设置 TH0=TH1=(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒=1秒时,使时间的计数值减1,便实现了倒计时的功能。
4.4状态灯显示的实现方法