智能交通灯设计Word格式.docx
- 文档编号:8529086
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:25
- 大小:231.66KB
智能交通灯设计Word格式.docx
《智能交通灯设计Word格式.docx》由会员分享,可在线阅读,更多相关《智能交通灯设计Word格式.docx(25页珍藏版)》请在冰点文库上搜索。
本系统采用单片机AT89S52来设计交通灯控制器,实现了能根据实际车流量通过AT89S52芯片的P1口设置红、绿灯燃亮时间的功能;
红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示。
本系统实用性强、操作简单、扩展功能强。
目前,伴随着机动车辆的不断增加,尤其是十字路口的交通建立颇为关键,严重的影响到城市交通平安。
社会主义建立以来,有许许多多的设计工作者投身于十字路口交通建立的研究之中,创造和设计出了很多新型的方案,把我国交通建立推向了更高的开展阶段。
关键词:
AT89S52单片机;
交通灯;
倒计时;
时间显示
一方案的设计
〔一〕方案的设计与论证
本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最正确方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。
系统总体设计框图如下图。
交通灯控制的框图如下列图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。
图1交通灯控制的框图
〔二〕电源提供方案
为使模块稳定工作,须有可靠电源。
本次设计考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;
缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
该方案的优点是系统简明扼要,节约本钱;
缺点是输出功率不高。
综上所述,选择第二种方案。
〔三〕显示界面方案
该系统要求完成倒计时功能。
基于上述原因,本次设计考虑了两种方案:
完全采用点阵式LED显示。
这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。
完全采用数码管显示。
这种方案优点是实现简单,可以完成倒计时功能。
缺点是功能较少,只能显示有限的符号和数码字符。
根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。
这里同样讨论了两种方案:
采用8155扩展I/O口、键盘及显示等。
该方案的优点是使用灵活可编程,并且有RAM及计数器。
假设用该方案,可提供较多I/O口,但操作起来稍显复杂。
直接在I/O口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的端口资源还比拟多。
由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,应选择方案二。
〔四〕交通灯运行状态
〔五〕功能介绍
1.由单片机、按键、发光二极管、共阳数码管、三极管设计而成。
2.按键说明:
设置键、加键、减键、紧急模式键,单独一个按键为复位按键。
3..单片机型号:
STC89C52.
4.可以设置东西、南北的倒计时时间。
5.紧急模式:
当消防车、救护车等特殊车辆通行时按下;
紧急模式键:
全部亮红灯,待紧急车辆通过后,再恢复后再退出。
6.夜间模式:
4个方向黄灯闪烁。
7.可以按键设置交通灯东西、南北的倒计时时间,第一次按设置键是设置东西方向的时间,第二次按设置键是设置南北方向的时间,再按加减键就可以设置对应的时间。
8.设定的参数具有掉电保存,保存在STC单片机的内部,上电无需重新设置。
9.东西和南北方向各有两个数码管分别显示时间、东西和南北的时间相差5秒,这5秒为黄灯闪烁的时间。
10.当有特殊情况时,可以按紧急模式进展调整。
11.第一次按紧急键4个方向全部亮红灯〔制止通行〕
12.第2次东西南北4个方向黄灯闪烁(夜间模式)
13.第3次南北绿灯亮东西红灯亮〔南北优先通行〕
14.第4次南北红灯亮东西绿灯亮〔东西优先通行〕
15.再按一次回到正常显示,不同的模式适合不同的交通情况〔如夜间模式,有交通事故的时候〕
16.可以实现特种车辆优先通行或交通事故应急处理。
二系统硬件设计
硬件设计是整个系统的根底,要考虑的方方面面很多,除了实现交通灯根本功能以外,主要还要考虑如下几个因素:
①系统稳定度;
②器件的通用性或易选购性;
③软件编程的易实现性;
④系统其它功能及性能指标;
因此硬件设计至关重要。
现从各功能模块的实现逐个进展分析探讨。
〔一〕总体设计
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、键盘及状态显示、倒计时模块等。
单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机振荡电路、复位电路等组成。
系统采用双数码管倒计时计数功能,最大显示数字99。
友好的人机界面、灵活的控制方式、优化的物理构造是本设计的亮点。
〔二〕单片机的根本构造
AT89S52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB〔可经受1000次擦写周期〕的FLASH可编程可反复擦写的只读程序存储器〔EPROM〕,器件采用CMOS工艺和ATMEL公司的高密度,非易失性存储器〔NURAM〕技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。
因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域[1]。
AT89S52具有以下主要性能:
1.8KB可改编程序FLASH存储器;
2.全表态工作:
0~24HZ;
3.256X8字节内部RAM;
4.32个外部双向输入,输出〔I、O〕口;
引脚说明如图2-2。
VCC:
电源电压。
图2单片机引脚图
〔三〕单片机外围电路设计
1复位电路设计
MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开场执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,那么MCS-51循环复位,只有单RET由高电平变成低电平以后,MCS-51才从0000H地址开场执行程序,本系统采用按键复位方式的复位电路。
图3复位电路图
2时钟电路设计
MCS-51的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;
另外一种为外部方式,本论文根据实际需要和简便,采用内部振荡方式,MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反应元件的片外晶体或陶瓷谐振器一起构成了一个自激振荡器。
MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反应回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的上下,振荡器的稳定性,起振的快速性和温度的稳定性。
晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。
图4时钟电路图
3显示模块电路设计
该模块由共阳LED数码管组成,利用数码管的动态扫描原理,由三极管进展锁存,当控制数码管的IO口P20和P21为低电平时〔及三极管基极为低电平〕,那么三极管导通,VCC通三极管给数码管供电,那么数码管被点亮,利用数码管点亮的余辉和人眼的视觉暂留原理,那么看起来数码管是同时被点亮的。
图5显示电路图
从设计完成的任务与要求来看,显示通行时间必须用二位数码管,从节省硬件资源的角度考虑,可采用扫描的方式来处理,对于7段数码管,占用7个单片机的I/O口,另外设置2个电子开关对2位显示进展配合,占用2个I/O端口,十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用12个端口进展控制,加上两个方向的紧急通行按钮,占2个I/O端口和一个蜂鸣器端口,因此实际占用的单片机I/O口为24个,为此,我们可以选用51系列单片机中的ATAT89S52来作为中央处理器。
这款单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O口就可以直接驱动,能简化硬件电路的设计。
4单片机的硬件调试
第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进展仔细的检查。
检查它是否有虚焊、是否有毛剌等。
第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看它们的通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。
第三步为加电检查。
当系统加电时,首先检查所有插座或器件引脚的电源端是否有符合要求的电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。
第四步是联机检查。
在对硬件电路调试过程中,还遇到了不少问题,第一次把所有的元件都焊上去后,都准备调试了,才发现正负电源的插针离得太近了,不容易接电源,本不该犯的错误,这些都是由于自己的粗心大意造成的,所以说,做任何事情都必需经过“三思而后行〞,来不得半点的马虎,否那么浪费了时间和精力
三交通信号灯控制系统的设计
交通信号灯由红灯、绿灯、黄灯组成。
红灯表示制止通行,绿灯表示准许通行,黄灯表示警示。
交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面穿插道口信号灯。
交通信号灯用于道路平面穿插路口,通过对车辆、行人发出行进或停顿的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和平安。
因此必须合理的设计路口主干道的系统。
〔一〕十字路口交通信号灯具体的控制要求
(1)交通信号灯分布于东南西北,每个路口均有三个。
南北方向绿灯和东西方向的绿灯不能同时亮;
如果同时亮,那么应自动立即关闭信号灯系统,并立即发出报警信号。
系统工作后,首先南北红灯亮并维持30s;
与此同时,东西绿灯亮,并维持25s时间,到25s时,东西绿灯熄灭。
在东西绿灯熄灭时,东西黄灯亮并维持5s,然后东西黄灯熄灭,东西红灯亮,同时南北红灯熄灭,南北绿灯亮;
东西红灯亮并维持30s;
与此同时,南北绿灯亮并维持15s;
然后,南北绿灯熄灭南北绿灯熄灭时,南北黄灯亮维持5s后熄灭;
同时南北红灯亮,东西绿灯亮。
至此,完毕一个工作循环,如下交通信号灯变化表:
交通信号灯变化表
东西
绿灯亮
黄灯亮
红灯亮
25S
5S
20S
南北
30S
15S
(2)在交通信号灯亮和闪烁的同时,路口设有两位七段码的显示器倒数计时,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。
以便于司机和行人能够在有限的时间内准确的通行。
〔二〕十字路口交通信号灯示意图
交通信号灯共有12盏,每个路口各有红,黄,绿三盏,具体分布如下列图所示:
四交通信号灯控制系统程序编制
〔一〕软件设计流程
软件总体设计主要完成各局部的软件控制和协调。
本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对
键盘进展扫描,等待外部中断,以及根据所需要的功能进展相应的操作。
交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;
通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。
其流程图如下图。
图4-1主程序框图
〔二〕交通灯定时器模块
AT89S52单片机内部有3个定时器T0,T1和T2,本次设计中使用T0工作在方式1,即16位定时器,定时50ms,20次中断产生秒信号,从而控制红绿灯的点亮时间。
工作方式存放器TMOD用来设置T0、T1的工作方式。
这次实习中设置TMOD=0x01,即T0工作于方式0〔16位定时器〕。
内部定时器/计数器用作定时器时,是对机器周期计数,每个机器周期的长度是12个振荡周期。
定时常数的设置可用一下方式计算:
机器周期=12/12MHz=1us
〔65536-定时常数〕*1.0us=50ms
所以定时常数是50000。
五结论
本论文介绍了一种基于AT89S52单片机的交通灯的设计方法,本论文完成了系统的硬件设计与制作,详细介绍了系统硬件设计的过程,并结合软件系统完成了整个系统的软、硬件联调,系统工作良好,实现了根本功能。
通过本次设计,稳固了我学习过的专业知识,也使我把理论与实践从真正意义上相结合了起来,锻炼了借助互联网络搜集、查阅相关文献资料和组织材料的综合能力,从中我也认识到自己的缺乏之处,我会在日后的学习中加以改良与提高。
经过这次课程设计,我在各方面都有很大的提高。
学到了很多不曾学过的东西,也使我学会了更好地利用一些资源和工具如图书馆及一些软件查阅资料。
在设计过程中也遇到很多的困难,遇到一些原理性不懂的时候就要去有针对性地查找资料或者请教知道教师和其他同学,然后加以吸收利用,提高了自己的应用能力,扩大了自己的知识储藏,同时提高了动手能力。
参考文献
[1]刘勇.数字电路[M].电子工业出版社.2004
[2]杨子文.单片机原理及应用[M].西安电子科技大学出版社.2006
[3]刘华东.单片机原理与应用〔第2版〕[M].电子工业出版社.2006.8
[4]胡汉才.单片机原理及其接口技术[M].清华大学出版社,2006.
[5]沈精虎.电路设计与制版Protel99入门与提高[M].人民邮电出版社,2004.
[6]范风强,兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社.,2001.
[7]顾曙敏.单片机与串行时钟DS1307的接口设计[J].现代电子技术,2003,26(14)85-87.
[8]孙晓燕.基于8051单片机的交通灯控制系统设计与模拟[J].南宁职业技术学院学报,2007年03期.
[9]陈毅,许飞,王学飞.基于单片机的交通灯智能控制系统[J].中国高新技术企业,2009年第15期.
总体原理图
源程序代码
#include<
reg52.h>
//调用单片机头文件
#defineucharunsignedchar//宏定义"
uchar"
代替"
unsignedchar"
。
#defineuintunsignedint//宏定义"
uint"
用来定义无符号整型数。
#include"
eeprom52.h"
//数码管段选定义0123456789
ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
//ABCDEF不显示
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
//断码
uchardis_smg[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
ucharsmg_i=4;
//显示数码管的个位数
//数码管位选定义
sbitsmg_we1=P2^0;
//数码管位选定义
sbitsmg_we2=P2^1;
sbitsmg_we3=P3^6;
sbitsmg_we4=P3^7;
chardx_s=0;
//东西南北倒计时变量
sbitdx_red=P2^4;
//东西红灯
sbitdx_green=P2^3;
//东西绿灯
sbitdx_yellow=P2^2;
//东西黄灯
sbitnb_red=P2^7;
//南北红灯
sbitnb_green=P2^6;
//南北绿灯
sbitnb_yellow=P2^5;
//南北黄灯
ucharflag_jtd_mode;
//交通灯的模式根据时间
bitflag_1s=0;
bitflag_500ms;
bitflag_dx_nb;
//东西南北模式
ucharflag_5m_value;
uchari;
ucharflag_alarm;
//模式
uchardx_time=30,nb_time=20;
//东西、南北的时间
ucharflag_jdgz;
//交通管制
/***********************数码位选函数*****************************/
voidsmg_we_switch(uchari)
{
switch(i)
{
case0:
smg_we1=0;
smg_we2=1;
smg_we3=1;
smg_we4=1;
break;
case1:
smg_we1=1;
smg_we2=0;
case2:
smg_we3=0;
case3:
smg_we4=0;
}
}
/******************把数据保存到单片机内部eeprom中******************/
voidwrite_eeprom()
SectorErase(0x2000);
byte_write(0x2000,dx_time);
byte_write(0x2001,nb_time);
byte_write(0x2058,a_a);
/******************把数据从单片机内部eeprom中读出来*****************/
voidread_eeprom()
dx_time=byte_read(0x2000);
nb_time=byte_read(0x2001);
a_a=byte_read(0x2058);
/**************开机自检eeprom初始化*****************/
voidinit_eeprom()///开机自检eeprom初始化
read_eeprom();
//先读
if(a_a!
=1)//新的单片机初始单片机内问eeprom
a_a=1;
dx_time=30;
nb_time=20;
write_eeprom();
//保存数据
/********************************************************************
*名称:
delay_1ms()
*功能:
延时1ms函数
*输入:
q
*输出:
无
***********************************************************************/
voiddelay_1ms(uintq)
uinti,j;
for(i=0;
i<
q;
i++)
for(j=0;
j<
110;
j++);
display()
数码管显示
voiddisplay()
uchari;
smg_i;
{
P0=0xff;
//消隐
smg_we_switch(i);
//位选
P0=dis_smg[i];
//段选
delay_1ms(3);
}
/*********************定时器0、定时器1初始化******************/
voidtime0_init()
EA=1;
//开总中断
TMOD=0X11;
//定时器0、定时器1工作方式1
ET0=1;
//开定时器0中断
TR0=1;
//允许定时器0定时
//ET1=1;
//开定时器1中断
//TR1=1;
//允许定时器1定时
/*********************交通灯处理函数*********************************/
voidjiaotongdeng_dis()
if(flag_1s==1)
flag_1s=0;
if(dx_s==0)
{
if(flag_dx_nb==1)
dx_s=nb_time;
//南北时间
else
dx_s=dx_time;
//东西时间
flag_dx_nb=~flag_dx_nb;
}
dx_s--;
dis_smg[0]=smg_du[dx_s%10];
dis_smg[1]=smg_du[dx_s/10];
dis_smg[2]=smg_du[dx_s%10];
dis_smg[3]=smg_du[dx_s/10];
/***********************南北时间*********************************/
if(flag_dx_nb==0)
if(dx_s>
5)
{
dx_red=1;
//灭
dx_green=0;
//亮
dx_yellow=1;
//灭
nb_red=0;
//亮
nb_green=1;
nb_yellow=1;
flag_5m_value=0;
}elseif(dx_s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 交通灯 设计