资源描述
交通信号控制系统的开发,姓名: 专业:机械电子 指导老师:,1.交通灯的历史,(1)19世纪80年代出现了第一台交通自动信号灯,它简单的由红绿两种颜色构成,是英国一个叫纳伊特的工程师发明的。 (2)在那之后,美国的纽约和芝加哥等三个城市重新出现了交通信号灯,驱动方式为电力驱动。 (3)随着交通工具的发展和交通指挥的需要,第一盏三色交通灯于1918年诞生。,2.课题任务,本课题主要研究如何使交通控制系统更优化,使人们生活更方便、高效。可以针对不同的情况分别来考虑。它总体上可分为三大块,分别是: (1)确定仿真电路要实现功能。 (2)根据预想的仿真效果用Proteus画出电路图。 (3)在此基础上编写程序对其运行进行选用调试,以选取最优型号,达到最佳运行效果。,3.交通信号控制系统的选择,通过前期资料的查询了解了三种系统控制方法: (1)PLC控制 (2)单片机控制 (3)ZigBee控制。 经过三种控制方法的优缺性与可行性的综合考虑,我选择了采用单片机模式进行设计。,选用单片机组成交通控制系统的优势: (1)单片机成本低,性价比高。 (2)可模拟运行后再投入生产,新程序开发成本低。 (3)代码修改方便。 (4)体积小、重量轻、抗干扰能力强、易扩展、易于开发等。,4. Proteus与Keil的联合仿真,Proteus可以进行与实际硬件调试达到相同效果的仿真,微处理器可以用它仿真。 KeilVision3进行代码编写,Proteus负责模拟电路连接,对他们集成就是联合仿真过程。在这个系统中,KeilVision3作为软件调试接口,Proteus作为硬件仿真和调试接口,双击AT89C51单片机:,5.交通信号灯,简单交通灯信号设计 定时计数交通灯信号设计 紧急交通信号设计 结合学校作息交通灯信号设计,简单交通灯信号设计,(1)工作方式 采用三分钟一周期的循环方式。DEL子循环为0.1秒钟;若使黄灯亮,先调用DC子程序,使它再调用50次DEL子程序;若使绿灯亮,先调用DE子程序,使它8次调用DC子程序即可。 因为采用上拉电阻,所以LED灯其中一端已经固定为高电平。若使LED灯亮,则另一端必为低电平,及给其引脚清零。,简单交通灯信号设计,(2)实现功能,定时计数交通灯信号设计,(1)工作方式 它采用的是中断响应的方式。首先设置主程序和中断入口地址,接着执行主程序,当触发中断时,响应中断,执行完回到主程序。当再次触发中断,再次执行中断内容。,定时计数交通灯信号设计,在主程序最后“SJMP $”一直在等待中断出现。当定时时间到TF0溢出时,中断响应并重新赋值,接着判断R7次数。直到R7减为0,执行下一条程序,将50赋给R7并长调用DF2,将初始的“东西直行绿灯改为东西直行黄灯”。当50次计数结束时,因为中断每次返回主程序,所以第N次重新从“ORG 2000H”开始执行。因为在DF2中将R6减1,所以在FBT0中,根据“CJNE R6,#7,C2”跳到C2,若等于6,继续执行,若不等于再跳到C3判断,直到等于才执行其所对应的交通信号。,(2)工作原理,定时计数交通灯信号设计,(3)实现功能,紧急交通信号设计,(1)工作方式及原理 采用外部中断方式。进入主程序后,开中断,若无中断响应,调用正常3分钟循环子程序DC,通过F1循环调用。若发生外部中断响应(按键被按下去),调用中断子程序,将所有方向LED灯转换为红色,并一直保持这个状态。当按键恢复,中断响应结束,重新返回主程序刚才执行的步骤,继续执行。若无中断继续循环执行调用DC子程序。,紧急交通信号设计,(2)硬件连接 当按键按下时,出发中断,产生的负脉冲通过AT89C51 致使INT0中断,单片机响应这个中断,从P0口和P1口输出中断所响应的程序;,紧急交通信号设计,(3)实现功能,结合学校作息交通灯信号设计,(1)工作原理 对于一天的大循环,首先要确定开始时间,该设计定为0:00。 从0:00到早上7:50共470分钟,因为交通灯循环一周是三分钟,所以在7:51开始调用持续6分钟的只有南北方向通行的程序,这样让三分钟循环9DH次即可。当6分钟的子程序执行完成后,此时是7:57(不选8:00是因为通过实际观察,最后3分钟过马路的学生很少,这样更能提高效率)。再以3分钟为最小循环基础,到9:42共计数23H次。按照相同原理一次往下执行,再计数26H、1FH、24H、37H、0FH、29H、3AH一共9次就完成了一整天的循环。,结合学校作息交通灯信号设计,0:00-7:51 执行157次普通循环; 7:51-7:57 执行6分钟的南北直绿灯亮; 7:57-9:42 执行35次普通循环; 9:42-9:47 执行5分钟的南北直绿灯亮; 9:47-11:41 执行38次普通循环; 11:41-11:47 执行6分钟的南北直绿灯亮; 11:47-13:20 执行31次普通循环;13:20-13:27 执行7分钟的南北直绿灯亮; 13:27-15:12 执行36次普通循环;15:12-15:17 执行5分钟的南北直绿灯亮; 15:17-18:02 执行55次普通循环;18:02-18:07 执行5分钟的南北直绿灯亮; 18:07-18:52 执行15次普通循环;18:52-18:57 执行5分钟的南北直绿灯亮; 18:57-21:00 执行41次普通循环;21:00-21:06 执行6分钟的南北直绿灯亮; 21:06-24:00 执行58次普通循环。,(2)时间分配,结合学校作息交通灯信号设计,(3)实现功能,结合学校作息交通灯信号设计,6.需要改进完善地方,(1)由于程序执行本身占用时间,有一定的时间误差。 (2)没有倒计时显示其,添加会使仿真看起来更方便。,谢谢!,
展开阅读全文