智能交通灯设计与实现.doc

上传人:牧羊曲112 文档编号:4264833 上传时间:2023-04-12 格式:DOC 页数:16 大小:466KB
返回 下载 相关 举报
智能交通灯设计与实现.doc_第1页
第1页 / 共16页
智能交通灯设计与实现.doc_第2页
第2页 / 共16页
智能交通灯设计与实现.doc_第3页
第3页 / 共16页
智能交通灯设计与实现.doc_第4页
第4页 / 共16页
智能交通灯设计与实现.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《智能交通灯设计与实现.doc》由会员分享,可在线阅读,更多相关《智能交通灯设计与实现.doc(16页珍藏版)》请在三一办公上搜索。

1、 辽宁工程技术大学 集成电路EDA技术课程设计报告 题 目: 智能交通灯设计与实现指 导 教 师: 李淑艳 院(系、部): 电子与信息工程学院专 业 班 级: 电子092 学 号: 0906040216 姓 名: 穆加林 日 期: 2012.06.18智能交通灯设计与实现 摘要:智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,

2、表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。 本文为了实现交通道路的管理,力求交通管理先进性、科学化。分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。 关键词: 交通信号灯 单片机 一. 技术指标 1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行。 2) 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆。3) 东西方向、南北方向车道除了有红、黄、绿灯指示

3、外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。4) 同步设置人行横道红、绿灯指示。5) 考虑到特殊车辆情况,设置紧急转换开头。 二. 智能交通灯的方案选择1) 智能交通灯的研究现状 其实,用红黄绿三色来作交通讯号和人的视觉机能结构和心理反应有关。 我们的视网膜含有杆状和三种锥状感光细胞。杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感。由于这种视觉结构,人最容易分辨红色与绿色。虽然黄色与蓝色也容易分辨,但因为眼球,对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳。 颜色也有活动的含意,要表达热或剧烈的话,最强是红色,其次是黄色。绿色则有较冷及

4、平静的含意。因此,人们常以红色代表危险,黄色代表警觉,绿色代表安全。 而且,由于红光的穿透力最强,其他颜色的光很容易被散射,在雾天里就不容易看见,而红光最不容易被散射,即使空气能见度比较低,也容易被看见,不会发生事故。所以我们用红色表示禁止。2) 智能交通灯的设计方案针对道路交通拥挤,交叉路口经常出现拥堵的情况。利用单片机控制技术提出了软件和硬件由于AT89S51单片机自单带有2计数器,6个中断源,能满足系统的设计要求。用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯,系统构图如图1所示:图1系统结构框图 三. 智能交通灯方案的实现根据设计任务和

5、要求,可画出该控制器的原理框图, 为确保十字路口的交通安全,往往都采用交通灯自动控制系统来控制交通信号。其中红灯亮,表示禁止通行;黄灯亮表示暂停;绿灯亮表示允许通行。1) 控制器的系统框图如图2所示图2 交通灯控制器系统框图2) 电路图智能交通灯电路图如图3所示。3) 智能交通灯系统的组成交通灯系统由四部分组成:车检测电路,信号灯电路,时间显示电路,紧急转换开关。4) 工作原理十字路口的红绿灯指挥着行人和各种车辆的安全通行。有一个主干道和一个支干道的十字路口如图3-1所示。每边都设置了红、绿、黄色信号灯。红灯亮表示禁止通行,绿灯亮表示可以通行,在绿灯变红灯时先要求黄灯亮几秒钟,以便让停车线以外

6、的车辆停止运行。 、信号灯电路信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图5。每个路口的信号的的转换顺序为:绿黄红,绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行,绿灯的时间为20秒,红红最短时间为25秒,黄灯时间为5秒。 、时间显示电路在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两

7、位数码管可以时间的时间为0-99秒完全可以满足系统的要求。 四. 智能交通灯方案的仿真图 五.结束语:1、能实现的功能 交通灯的状态转换和计时时间的显示,基本能实现甲、乙道路直行和转弯灯的显示功能。2、不足之处 设计过程中用的芯片太多。传统的定时交通灯控制还是起到了一定的作用,但随着社会的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这是传统的交通控制等已经无法满足现在的通行状况,功能还不够完善。交通灯红、黄、绿时间还不能按交通紧松完成手控调整,软件编写实现功能还不能很好控制硬件。 通过这次设计,掌握了对Proteus的基本使用方法,掌握了一些单片机的使用及构造知识,对单片机

8、有进一步的认识。设计中遇到的问题也可以通过自己的查询和同学的帮助解决,锻炼了自己的独立思维能力和动手动脑能力。要有一个明确的目标和一颗团结合作的心,还要保持一个良好的心态,才能把设计做得更好!参考文献: 1、陈大钦主编 电子技术基础实验 高等教育出版社 2004年 2、陈梓城主编 电子技术实训 机械工业出版社 2003年 3、吴黎明主编 单片机原理及应用技术 科学出版社 2003年 4、李学海主编 标准80C51单片机基础教程 北京航空航天大学出版社 2006年 5、刘乐善主编 微型计算机接口技术及应用 华中科技大学出版社 2004年附录:附智能交通灯控制程序:ORG 0000HA_BIT E

9、QU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北十位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ; 用于存放东西位数TEMP1 EQU 24H ;用于存放第一二南北状态要显示的时间TEMP2 EQU 25H ;用于存放第一二东西状态要显示的时间TEMP3 EQU 26H ;用于存放第三第四南北状态要显示的时间TEMP4 EQU 27H;用于存放第三第四南北状态要显示的时间LJMP MAINCLR P1.0CLR P1.4 ;南北通行,东西禁止通行CLR P1.6CLR P2.3MOV P1,#0FFH ;清除先前状态MOV P2,#

10、0FFHCLR P1.2CLR P2.1CLR P1.3 ;东西通行,南北禁止通行CLR P1.5ORG 0100H ;初始情况MOV P1,#0FFHMOV P2,#0FFH ;灭所有灯MOV TMOD,#55H ;计数方式方式1MOV TEMP1,#20 ;MOV TEMP2,#25MOV TEMP3,#25STAR:MOV P1,#0FFHMOV P2,#0FFH ;灭所有灯MOV A,24H ;将显示时间送ACJNE A,#20,T40T ;判断时间,选初始值T20T: ;南北通行要显示的时间为20的计数器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1 ,#0

11、FFH ;送20秒时的初始值MOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP20 ;跳到20秒TEMP20: ;TEMP1=20情况SETB TR0 ;开始计数SETB TR1CLR P1.2CLR P2.1 ;南北通行,东西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#20 ;南北要显示的时间,MOV TEMP2,#25 ;东西要显示的时间STLOP:ACALL DISPLAY1 ;调用显示DEC TEMP1 ;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT ;若显示时间不为0保持现在状态LJMP STAR

12、2 ;若显示时间为 0跳到第二状态NEXT: LJMP STLOPSTAR2: ;状态1SETB P1.2CLR P1.1 ;南北黄灯,东西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要显示的时间,MOV TEMP2,#05 ;东西要显示的时间,STLOP2:ACALL DISPLAY1 ;调用显示DEC TEMP1 ;时间够一秒显示时间减1DEC TEMP2CJNE A,#0,NEXT2 ;若显示时间不为0保持现在状态JB TF1 ,T40 ;判断南北是否多车JB TF0 ,T40 ;判断北南是否多车MOV TEMP1,#20 ;少车下次显示时间为20秒LJM

13、P STAR3 ;若显示时间为 0跳到第三状态NEXT2:LJMP STLOP2SETB TR0 ; 开始计数SETB TR1CLR P1.2CLR P2.1 ;南北通行,东西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#20 ;南北要显示的时间,MOV TEMP2,#25 ;东西要显示的时间STLOP11:ACALL DISPLAY1 ;调用显示DEC TEMP1 ;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT11 ;若显示时间不为0保持现在状态LJMP STAR22 ;若显示时间为 0跳到第二状态NEXT11: LJMP STL

14、OP11STAR22: ;状态1SETB P1.2CLR P1.1 ;南北黄灯,东西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 ;南北要显示的时间,MOV TEMP2,#05 ;东西要显示的时间,STLOP22:ACALL DISPLAY1 ;调用显示DEC TEMP1 ;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT22 ;若显示时间不为0保持现在状态LJMP STAR3 ;若显示时间为 0跳到第三状态NEXT22:LJMP STLOP22STAR3:MOV A,26HCJNE A,#25,T40T1 ;判断时间,选初始值

15、T20T1: ;南北通行要显示的时间为20的计数器初始值CLR TF0 ; 清溢出位CLR TF1MOV TH1 ,#0FFH ; 给初值MOV TL1 ,#0FCHMOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP320CLR TF0 ;CLR TF1MOV TH1,#0FFH ;给初值MOV TL1 ,#0F8HMOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP340TEMP320:;状态三SETB TR1 ;南北停止计数SETB TR0 ;东西开始计数SETB P1.1 ;东西通行,南北禁止通行CLR P1.0SETB P1.1CLR P1

16、.0SETB P1.5CLR P1.6SETB P2.1CLR P2.3MOV TEMP3,#25 ;南北要显示的时间,MOV TEMP4,#20 ;东西要显示的时间,STLOP33:ACALL DISPLAY ;调用显示DEC TEMP3 ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT33 ;若显示时间不为0保持现在状态LJMP STAR34 ;若显示时间为 0跳到第四状态NEXT33:LJMP STLOP33STAR34: ;状态四SETB P2.3CLR P2.2SETB P1.6 ;东西黄灯,南北禁止通行CLR P1.5MOV TEMP3,

17、#05 ;南北要显示的时间,MOV TEMP4,#05 ;东西要显示的时间,STLOP34:ACALL DISPLAY ;调用显示DEC TEMP3 ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT34 ;若显示时间不为0保持现在状态JB TF1 ,T402JB TF0 ,T402MOV TEMP3,#25NEXT34: LJMP STLOP34TEMP340 :SETB TR1 ;南北停止计数SETB TR0 ;东西开始计数SETB P1.1 ;东西通行,南北禁止通行CLR P1.0SETB P1.1CLR P1.0SETB P1.5CLR P1.

18、6SETB P2.1CLR P2.3MOV TEMP3,#25 ;南北要显示的时间,MOV TEMP4,#20;东西要显示的时间,STLOP43:ACALL DISPLAY ;调用显示DEC TEMP3 ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT43 ;若显示时间不为0保持现在状态LJMP STAR44 ;若显示时间为 0跳到第四状态NEXT43:LJMP STLOP43STAR44: ;状态四SETB P2.3CLR P2.2SETB P1.6 ;东西黄灯,南北禁止通行CLR P1.5MOV TEMP3,#05 ;南北要显示的时间,MOV T

19、EMP4,#05 ;东西要显示的时间,STLOP44:ACALL DISPLAY ;调用显示DEC TEMP3 ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP3CJNE A,#0,NEXT44 ;若显示时间不为0保持现在状态JB TF1 ,T403JB TF0 ,T403MOV TEMP3,#25LJMP START403:MOV TEMP3,#25 LJMP STARNEXT44: LJMP STLOP44;显示DISPLAY1:MOV A,TEMP1 ;将南北要显示的数存放到AMOV B,#10 ;B=10DIV AB ;A除以B商存A,余数BMOV B_BIT,A ; 将

20、A放到20HMOV A_BIT,B ;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到AMOV B,#10 ;B=10DIV AB ;A除以B商存A,余数BMOV C_BIT,A ;将A放到22HMOV D_BIT,B ;将B放到23HMOV DPTR ,#NUMT ;MOV R0,#2 ;R0=2DPL11: MOV R1,#250 ;R1=250DPLOP1:MOV A,A_BIT ;将南北要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示南北10位数CLR P2.7ACALL D1MS;延时1MSSETB P2.7 ;灭南北10位数MOV A,B

21、_BIT ;将南北要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示南北个位数CLR P2.6ACALL D1MS ;延时1MSSETB P2.6 ;灭南北个位数MOV A,C_BIT ;将东西要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示东西10位数CLR P2.5ACALL D1MS ;延时1MSSETB P2.5 ;灭东西10位数MOV A,D_BIT ;将东西要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示东西东西位数CLR P2.4ACALL D1MS ;延时1MSSETB P2.4 ;灭东西个位数

22、DJNZ R1,DPLOP ;循环扫描DJNZ R0,DPL1RET ;等待1秒返回;显示DISPLAY:MOV A,TEMP3 ;将南北要显示的数存放到AMOV B,#10 ;B=10DIV AB ;A除以B商存A,余数BMOV B_BIT,A ; 将A放到20HMOV A_BIT,B ;将B放到21HMOV A,TEMP4 ;将东西要显示的数存放到AMOV B,#10 ;B=10DIV AB ;A除以B商存A,余数BMOV C_BIT,A ;将A放到22HMOV D_BIT,B ;将B放到23HMOV DPTR ,#NUMT ;MOV R0,#2 ;R0=2DPL1: MOV R1,#25

23、0 ;R1=250DPLOP:MOV A,A_BIT ;将南北要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示南北10位数CLR P2.7ACALL D1MS;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT ;将南北要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示南北个位数CLR P2.6ACALL D1MS ;延时1MSSETB P2.6 ;灭南北个位数MOV A,C_BIT ;将东西要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示东西10位数CLR P2.5ACALL D1MS ;延时1MSSETB P2.5 ;灭东西10位数MOV A,D_BIT ;将东西要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A ;显示东西东西位数CLR P2.4ACALL D1MS ;延时1MSSETB P2.4 ;灭东西个位数DJNZ R1,DPLOP ;循环扫描DJNZ R0,DPL1RET ;等待1秒返回D1MS: MOV R7,#250 ;1MS延时程序DJNZ R7,$RET;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号