(完整版)基于STC90C51单片机的智能交通灯设计.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 STC90C51单片机的交通灯设计
1、设计题目
基于 STC90C51单片机的智能交通灯设计
2、设计要求
2.1、系统功能
(1)按照交通规则,控制宝田路和前进路方
向及其人行道的交通信号灯(红﹑黄﹑绿)的通断。
(2)设置信号灯的通断时间。
(3)可人工干预,使交通信号灯开启不同模式。
2.2、性能参数:
(1)电源: 5VDC
(2) LED灯电流: 10mA
(3)定时时间: 10s-200s
3、总体设计
根据系统功能和设计要求,系统采用单片机控制
的方案,基于HC6800S开发板,由STC90C51,74HC573,交通灯模块,动态数码显示管以及4*2
独立按键组成。
3.1 系统工作原理
在十字路口,分为宝田路和前进路,正常情况下,
在任一时刻只有一个方向通行,另一方向禁行,
持续一定时间,经过短暂的过渡时间,将通行禁
行方向对换。其具体状态如下:?
( 1)普通模式:
状态一:宝田路通行阶段(宝田路及其人行道
亮绿灯 30 秒、前进路及其人行道亮红灯30 秒);
状态二:黄灯阶段(宝田路和前进路亮黄灯 5 秒、两侧人行道亮红灯 5 秒);
状态三:前进路通行阶段(前进路及其人行道
亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒);
状态四:黄灯阶段(宝田路和前进路亮黄灯 5 秒、两侧人行道亮红灯 5 秒);
返回到状态一。
(2)高峰期模式(设宝田路为主干道):
按下按键 2( key2),开启高峰期模式;
状态一:宝田路通行阶段(宝田路及其人行道
亮绿灯 60 秒、前进路及其人行道亮红灯30 秒);
精心整理
状态二:黄灯阶段(宝田路和前进路亮黄灯 5 秒、两侧人行道亮红灯 5 秒);
状态三:前进路通行阶段(前进路及其人行道
亮绿灯 30 秒、宝田路及其人行道亮红灯30 秒);
状态四:黄灯阶段(宝田路和前进路亮黄灯 5 秒、两侧人行道亮红灯 5 秒);
返回到状态一;
按键 2 释放,回到普通模式。
(3)紧急模式:
按下按键 1( key1),开启紧急模式,所有道路及其人行道均红灯亮,数码管不显示。释放按键1,回到普通模式。
3.2? 单片机交通控制系统的功能要求 ?
本设计能模拟基本的交通控制系统,用红绿黄
灯表示禁行,通行和等待的信号发生,还能进行倒
计时显示,通行时间调整功能和紧急情况全面禁
行。 ?
(1)倒计时显示 ?
倒计时显示可以提醒驾驶员在信号灯灯色发生
改变的时间、在“停止”和“通过”两者间作出合
适的选择。驾驶员和行人普遍都愿意选择有倒计时
显示的信号控制方式,并且认为有倒计时显示的路
口更安全。倒计时显示是用来减少驾驶员在信号灯
色改变的关键时刻做出复杂判断的一种方法,它可
以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 ?。?
(2)时间的设置 ?
本设计中对时间进行了人为控制设置,正常情
况下宝田路和前进路的绿灯通行与红灯禁行时间均
设置为 30 秒、黄灯等待时间设置为 5 秒。假设前进路为主干道,考虑到主干道在上下班高峰期车流量
和人流量较大,人为增加开关K2。当 K2 开启时,主干道前进路上绿灯通行时间和宝田路上的红灯禁
行时间更改为 60 秒,其余设置均不变;当 K1 关闭时,又恢复正常情况下的时间设置。
(3)紧急情况全面禁行
本设计中在紧急情况下增加了全面禁行状态,
增加开关 K1。当 K1 开启时,宝田路和前进路及其
各自人行道均量红灯禁行;当K1关闭时,交通灯恢复正常状态。
4、详细设计—硬件设计
为了实现本设计要求的具体功能,选用STC90C51 单片机及外围器件构成最小控制系统,10 个发光二极管分别分成两组红黄绿和两组红绿灯构成信号灯
指示模块, 4 个 LED动态数码管构成各个方向倒计
时显示模式,两个按键分别用来设置高峰期模式和
紧急模式。
4.1、单片机系统设计
单片机设计交通灯控制系统,可用单片机直接
控制信号灯的状态变化,基本上可以指挥交通的具
体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到 LED数码管上实时显示。
HC6800S整体结构视图:
STC90C51内部结构图:
STC90C51芯片引脚图:
4.2、LED数码管显示屏设计
LED动态数码管的显示原理为:
2 位 8 段数码管电路采用“共阳”连
接驱动代码,如右图所示。
段码和位码,段码即段选信号 SEG,它负责数码管显示的内容,图中 a~g、dp组成的数据(a 为最低位,
dp 为最高位)就是段码。位码即位选信号DIG,它决定哪个数码管工作,哪
个数码管不工作。LED数码管显示代码表如下表所示:
显示数值dp,g,f,e,d,c,b,a 代码
0 01111111 0x3f
1 00000110 0x06
2 01011011 0x5b
3 01001111 0x4f
4 01100110 0x66