智能交通灯设计(19页).doc

上传人:1595****071 文档编号:37280082 上传时间:2022-08-30 格式:DOC 页数:19 大小:174KB
返回 下载 相关 举报
智能交通灯设计(19页).doc_第1页
第1页 / 共19页
智能交通灯设计(19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《智能交通灯设计(19页).doc》由会员分享,可在线阅读,更多相关《智能交通灯设计(19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-智能交通灯设计-第 16 页酒 泉 职 业 技 术 学 院课 程 设 计 2014 级 电气自动化 专业题 目: 智能交通灯的设计 设计时间:12.18 学生姓名: 吴生元 指导教师: 岳志明 杜娟 班 级: 14电气自动化(1)班 2015年12月18日目 录一 方案的设计1(一)方案的设计与论证1(二)电源提供方案2(三)显示界面方案2(四)功能介绍2二、硬件设计4(一)总体设计4(二)单片机的基本结构4(三)单片机的外围电路设计6(四)硬件调试8三 交通信号灯控制系统的设计9(一)十字路口交通信号灯具体的控制要求9(二)十字路口交通信号灯示意图10四、软件设计11(一)软件设计应用环境

2、11(二)软件设计流程11五、结论12参考文献 13附件一:总体原理图14附件二:源程序代码14智能交通灯的设计摘要:本系统采用单片机AT89S52来设计交通灯控制器,实现了能根据实际车流量通过AT89S52芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。目前,伴随着机动车辆的不断增加,尤其是十字路口的交通建设 颇为关键,严重的影响到城市交通安全。社会主义建设以来,有许许多多的设计工作者投身于十字路口交通建设的研究之中,创造和设计出了很多新型的方案,把我国交通建设推向了更高的发展阶段。 关键词: AT89S52单片机;交

3、通灯;倒计时;时间显示一 方案的设计(一)方案的设计与论证本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图所示。交通灯控制的框图如下图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。 单 片 机电源电路时钟电路 数码管显示电路复位电路Led信号灯控制电路按键电路图1 交通灯控制的框图(二)电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:

4、方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择第二种方案。(三)显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的

5、要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。(四) 交通灯运行状态(五) 功能介绍1. 由单片机、按键、发光二极管、共阳数码管、三极管设计而成。2. 按键说明:设置键、加键、减键、紧

6、急模式键,单独一个按键为复位按键。3. .单片机型号:STC89C52.4. 可以设置东西、南北的倒计时时间。5. 紧急模式:当消防车、救护车等特殊车辆通行时按下;紧急模式键:全部亮红灯,待紧急车辆通过后,再恢复后再退出。6. 夜间模式:4个方向黄灯闪烁。7. 可以按键设置交通灯东西、南北的倒计时时间,第一次按设置键是设置东西方向的时间,第二次按设置键是设置南北方向的时间,再按加减键就可以设置对应的时间。8. 设定的参数具有掉电保存,保存在STC单片机的内部,上电无需重新设置。9. 东西和南北方向各有两个数码管分别显示时间、东西和南北的时间相差5秒,这5秒为黄灯闪烁的时间。10. 当有特殊情况

7、时,可以按紧急模式进行调整。11. 第一次按紧急键4个方向全部亮红灯(禁止通行)12. 第2次东西南北4个方向黄灯闪烁(夜间模式)13. 第3次南北绿灯亮东西红灯亮(南北优先通行)14. 第4次南北红灯亮东西绿灯亮(东西优先通行)15. 再按一次回到正常显示,不同的模式适合不同的交通情况(如夜间模式,有交通事故的时候)16. 可以实现特种车辆优先通行或交通事故应急处理。二 系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功

8、能模块的实现逐个进行分析探讨。(一)总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。系统采用双数码管倒计时计数功能,最大显示数字99。友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。(二) 单片机的基本结构 AT89S52单片机是一款低功耗、低电压、高性能CMOS8位单片机,片内含8KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATME

9、L公司的高密度,非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容,片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域1。AT89S52具有以下主要性能:1.8KB可改编程序FLASH存储器;2.全表态工作 :024HZ;3.256X8字节内部RAM;4.32个外部双向输入,输出(I、O)口;引脚说明如图2-2。VCC:电源电压。图2 单片机引脚图图2 单片机引脚图(三)单片机外围电路设计1复位电路设计MCS-51的复位输入引脚RST为MCS-51提

10、供了初始化的手段,可以使程序从指定处开始执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则MCS-51循环复位,只有单RET由高电平变成低电平以后,MCS-51才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路。图3 复位电路图2时钟电路设计MCS-51的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式,本论文根据实际需要和简便,采用内部振荡方式,MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个

11、放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成了一个自激振荡器。MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶振的频率可在1.2MHZ12MHZ之间任选,电容C1和C2的典型值在20pf100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。图4 时钟电路图3 显示模块电路设计该模块由共阳LED数码管组成,利用数码管的动态扫描

12、原理,由三极管进行锁存,当控制数码管的IO口P20和P21为低电平时(及三极管基极为低电平),则三极管导通,VCC通三极管给数码管供电,则数码管被点亮,利用数码管点亮的余辉和人眼的视觉暂留原理,则看起来数码管是同时被点亮的。图5 显示电路图从设计完成的任务与要求来看,显示通行时间必须用二位数码管,从节省硬件资源的角度考虑,可采用扫描的方式来处理,对于7段数码管,占用7个单片机的I/O口,另外设置2个电子开关对2位显示进行配合,占用2个I/O端口,十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用12个端口进行控制,加上两个方向的紧急通行按钮,占2个I/O端口和一个蜂鸣器端口,因此实际占

13、用的单片机I/O口为24个,为此,我们可以选用51系列单片机中的ATAT89S52来作为中央处理器。这款单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O口就可以直接驱动,能简化硬件电路的设计。4 单片机的硬件调试第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。检查它是否有虚焊、是否有毛剌等。第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看它们的通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。第三步为加电检查。当系统加电时,首先检查所有插座或器件引脚的电源端是

14、否有符合要求的电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。第四步是联机检查。在对硬件电路调试过程中,还遇到了不少问题,第一次把所有的元件都焊上去后,都准备调试了,才发现正负电源的插针离得太近了,不容易接电源,本不该犯的错误,这些都是由于自己的粗心大意造成的,所以说,做任何事情都必需经过“三思而后行”,来不得半点的马虎,否则浪费了时间和精力三 交通信号灯控制系统的设计交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信

15、号灯。交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。因此必须合理的设计路口主干道的系统。(一) 十字路口交通信号灯具体的控制要求 (1) 交通信号灯分布于东南西北,每个路口均有三个。南北方向绿灯和东西方向的绿灯不能同时亮;如果同时亮,则应自动立即关闭信号灯系统,并立即发出报警信号。系统工作后,首先南北红灯亮并维持30s;与此同时,东西绿灯亮,并维持25s时间,到25s时,东西绿灯熄灭。在东西绿灯熄灭时,东西黄灯亮并维持5s,然后东西黄灯熄灭,东西红灯亮,同时南北红灯熄灭,南北绿灯亮

16、;东西红灯亮并维持30s;与此同时,南北绿灯亮并维持15s;然后,南北绿灯熄灭南北绿灯熄灭时,南北黄灯亮维持5s后熄灭;同时南北红灯亮,东西绿灯亮。至此,结束一个工作循环,如下交通信号灯变化表:交通信号灯变化表东西绿灯亮黄灯亮红灯亮25S5S20S南北红灯亮绿灯亮黄灯亮30S15S5S(2)在交通信号灯亮和闪烁的同时,路口设有两位七段码的显示器倒数计时,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。以便于司机和行人能够在有限的时间内准确的通行。(二)十字路口交通信号灯示意图 交通信号灯共有12盏,每个路口各有红,黄,绿三盏,具体分布如下图所示:四 交通信号灯控制系统程序编制(一) 软件设

17、计流程软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。其流程图如图所示。设置定时,显示初始化南北绿灯亮,东西红灯亮,延时南北黄灯闪烁,东西红灯亮,延时 南北红灯亮,东西绿灯亮,延时南北红灯亮,东西黄灯闪烁,延时 开 始 图4-1 主程序框图(二)交通灯定时器模块AT89S52单片机内部有3个定时器T0,T1和T2,本次设计中使用

18、T0工作在方式1,即16位定时器,定时50ms,20次中断产生秒信号,从而控制红绿灯的点亮时间。 工作方式寄存器TMOD用来设置T0、T1的工作方式。这次实习中设置TMOD=0x01,即T0工作于方式0(16位定时器)。内部定时器/计数器用作定时器时,是对机器周期计数,每个机器周期的长度是12个振荡周期。定时常数的设置可用一下方式计算:机器周期=12/12MHz=1us(65536-定时常数)*1.0us=50ms 所以定时常数是50000。五 结论本论文介绍了一种基于AT89S52单片机的交通灯的设计方法,本论文完成了系统的硬件设计与制作,详细介绍了系统硬件设计的过程,并结合软件系统完成了整

19、个系统的软、硬件联调,系统工作良好,实现了基本功能。通过本次设计,巩固了我学习过的专业知识,也使我把理论与实践从真正意义上相结合了起来,锻炼了借助互联网络搜集、查阅相关文献资料和组织材料的综合能力,从中我也认识到自己的不足之处,我会在日后的学习中加以改进与提高。经过这次课程设计,我在各方面都有很大的提高。学到了很多不曾学过的东西,也使我学会了更好地利用一些资源和工具如图书馆及一些软件查阅资料。在设计过程中也遇到很多的困难,遇到一些原理性不懂的时候就要去有针对性地查找资料或者请教知道老师和其他同学,然后加以吸收利用,提高了自己的应用能力,扩充了自己的知识储备,同时提高了动手能力。 参考文献1 刘

20、勇.数字电路M.电子工业出版社.20042 杨子文.单片机原理及应用M.西安电子科技大学出版社.20064 胡汉才.单片机原理及其接口技术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.中国高新技

21、术企业,2009年第15期.附件一:总体原理图附件二:源程序代码#include /调用单片机头文件#define uchar unsigned char /宏定义uchar代替unsigned char。#define uint unsigned int /宏定义uint用来定义无符号整型数。#include eeprom52.h/数码管段选定义 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/ AB C D E F不显示 0x88,0x83,0xc6,0xa1,0x

22、86,0x8e,0xff; /断码uchar dis_smg8 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;uchar smg_i = 4; /显示数码管的个位数/数码管位选定义sbit smg_we1 = P20; /数码管位选定义sbit smg_we2 = P21;sbit smg_we3 = P36;sbit smg_we4 = P37;char dx_s = 0;/东西 南北 倒计时变量sbit dx_red = P24; /东西红灯sbit dx_green = P23;/东西绿灯sbit dx_yellow = P22;/东西黄灯sbit

23、nb_red = P27;/南北红灯sbit nb_green = P26;/南北绿灯sbit nb_yellow = P25;/南北黄灯uchar flag_jtd_mode; /交通灯的模式 根据时间 bit flag_1s = 0;bit flag_500ms;bit flag_dx_nb; /东西南北模式uchar flag_5m_value;uchar i;uchar flag_alarm;/模式uchar dx_time = 30,nb_time = 20; /东西、南北的时间uchar flag_jdgz ; /交通管制/*数码位选函数*/void smg_we_switch(u

24、char i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;/*把数据保存到单片机内部eeprom中

25、*/void write_eeprom()SectorErase(0x2000);byte_write(0x2000, dx_time);byte_write(0x2001, nb_time);byte_write(0x2058, a_a);/*把数据从单片机内部eeprom中读出来*/void read_eeprom()dx_time = byte_read(0x2000);nb_time = byte_read(0x2001);a_a = byte_read(0x2058);/*开机自检eeprom初始化*/void init_eeprom() /开机自检eeprom初始化read_eep

26、rom();/先读if(a_a != 1)/新的单片机初始单片机内问eeproma_a = 1;dx_time = 30;nb_time = 20; /东西、南北的时间write_eeprom(); /保存数据* 名称 : delay_1ms()* 功能 : 延时1ms函数* 输入 : q* 输出 : 无void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j110;j+);* 名称 : display()* 功能 : 数码管显示* 输入 : 无* 输出 : 无void display()uchar i;for(i=0;i 5)dx_red

27、= 1; /灭 dx_green =0;/亮dx_yellow = 1;/灭nb_red = 0; /亮 nb_green =1;/灭nb_yellow = 1;/灭flag_5m_value = 0;else if(dx_s 5)dx_red = 0; /亮dx_green =1; /灭dx_yellow = 1; /灭nb_red = 1; /灭nb_green =0; /亮nb_yellow = 1; /灭flag_5m_value = 0;else if(dx_s 5)flag_jdgz = 0;if(flag_jdgz = 1) / 全部亮红灯 dx_red = 0; /亮 dx_g

28、reen =1;/灭dx_yellow = 1;/灭nb_red = 0; /亮 nb_green =1;/灭nb_yellow = 1;/灭if(flag_jdgz = 2) / 东西红灯 南北绿灯dx_red = 0; /亮 dx_green =1;/灭dx_yellow = 1;/灭nb_red = 1; /灭 nb_green =0;/亮nb_yellow = 1;/灭if(flag_jdgz = 3) / 南北红灯 东西绿灯dx_red = 1; /灭 dx_green =0;/亮dx_yellow = 1;/灭nb_red = 0; /亮 nb_green =1;/灭nb_yell

29、ow = 1;/灭if(flag_jdgz = 4) / 南北绿灯 东西绿灯dx_red = 1; /灭 dx_green =0;/亮dx_yellow = 1;/灭nb_red = 1; /灭 nb_green =0;/亮nb_yellow = 1;/灭if(flag_jdgz = 5) / 南北黄灯 东西黄灯dx_red = 1; /灭 dx_green =1;/灭dx_yellow = 0;/亮nb_red = 1; /灭 nb_green =1;/灭nb_yellow = 0;/亮if(key_can = 1) /设置键menu_1 +;if(menu_1 = 3)menu_1 = 0

30、;if(menu_1 = 1) /设置东西的时间if(key_can = 2)dx_time + ;/加1if(dx_time 99)dx_time = 99;if(key_can = 3)dx_time - ;/减1if(dx_time 99)nb_time = 99;if(key_can = 3)nb_time - ;/减1if(nb_time = 10)nb_time = 10;dis_smg0 = smg_du11 ;/显示为Bdis_smg1 = smg_du11 ;/显示为Bdis_smg2 = smg_dunb_time % 10 ;/显示东西设置的时候dis_smg3 = smg_dunb_time / 10 ;write_eeprom(); /保存数据* 名称 : main()* 功能 : 实现灯的闪烁* 输入 : 无* 输出 : 无void main()P0 = P1 = P2 = P3 = 0XFF; /IO口全部输出为1time0_init();init_eeprom(); /开机自检eeprom初始化dx_s = nb_time; /东西时间while(1)key();if(key_can = 20)value = 0;flag_1s = 1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁