基于单片机控制的智能交通灯毕业论文(编辑修改稿)内容摘要:

外检测器是顶置式或路侧式的交通流检测器,一般采用反射式检测技术。 反射式检测探头由一个红外发光管和一个红外接收管组成。 由调制脉冲发生器产生调制脉冲,经红外探头向道路上辐射,当有车辆通过时,红外脉冲从车体反射回来,被接收管接 收后经过解调、放大、整流滤波后输出一个检测信号送入单片机。 显然,方案一有方法繁琐、寿命短的缺点;方案二由于信号衰减,以及马路噪声源较多的缘故稳定性和抗干扰性不好;方案三最好,因为方案三不必安装多郑州航空工业管理学院毕业设计(论文) 12 余的车辆检测硬件,从而减少开支,经济实用,而且当前技术已经非常成熟,因此本设计采用方案三。 通过监控系统的实施,可完成准确及时采集高速公路车流的各种数据和信息;对高速公路车流实现全程、实时、不间断的监控;建立多种信息发布渠道,为驾驶员提供信息服务,以便调整行驶路线,进而达到交通流动态平衡;根据已掌握的车流量信息,迅 速做出有针对性的处理和优化控制方案;对交通事故、突发状况等能做出快速反应,迅速排除事故根源,采取相应的应急措施,提供救援服务;建立高速公路车流量数据库,用以支持道路运行状况评价,为改善道路经营和交通管理的决策提供数据支持。 中断程序设计 中断是分优先级的,本程序的紧急中断和时间设定中断优先级是最高的,当响应这两个中断程序的时候 CPU 关闭全局中断 EA=0,当中断程序执行完毕时开启全局中断令 EA=1;而定时器中断优先级列在紧急中断和时间设定中断之后,所以在紧急中断和时间设定中断程序执行时数码管是不计时 的,中断执行过程如图 32所示; 键盘扫描是实时刷新的,而且每个按键都写有去抖动程序以免产生不必要的仿真和实物演示结果紊乱。 中 断 开 启执 行 中 断 程 序返 回 键 按 下返 回 到 中 断 点YN 图 32 中断执行过程 交通灯基本功能的状态转换 由于交通灯包含直行、左拐和黄灯闪烁,所以基本状态可以分为六种 S1S6,郑州航空工业管理学院毕业设计(论文) 13 状态之间的转换及条件如图 33 所示: 南 北 通 行 、 各 路 右 行数 码 管 倒 计 时南 北 黄 灯 亮 、 各 路 禁 行南 北 左 转 、 各 路 右 拐东 西 通 行 、 各 路 右 行数 码 管 倒 计 时南 北 黄 灯 亮 、 各 路 禁 行东 西 通 行 、 各 路 右 行数 码 管 倒 计 时东 西 黄 灯 亮 、 各 路 禁 行南 北 左 转 、 各 路 右 拐S 1S 2S 3 S 4S 5S 6倒 计 时 期 间 , 车 流 量 统计 是 否 改 变 通 行 时 间倒 计 时 期 间 , 车 流 量 统计 是 否 改 变 通 行 时 间图 33 各状态基本功能 其中车流量大小的判断方法为: 本次设计设定 30 秒内南往北通过车辆 达不到 15辆时,判断该方向为少车,设定通行为 30秒,当 30 秒时间内南往北或者北往南任意一个方向通过的车辆达到 15 辆及以上时证明该状态车辆较多,下一次该方向绿灯方形时间延长 10 秒,改为 40 秒,当 40秒内通过车辆达到 25 辆时判断为拥挤,下一次绿灯放行时间仍为 40 秒,当 40秒内通过车辆达不到 25 辆时判断为少车,下次绿灯放行时间改为 30 秒,依次类推。 这样检测,某次可能不准确,但下次肯定能补回来,累积计算是很准确的。 由于南往北、北往南显示时间相同,所以只要一个方向多车,下次时间就要加长。 东往西、西往东也一样,如图 34 所示: 若 上 次 T = 3 0车 流 量 L = 1 5 ?下 次 T = 4 0 s 下 次 T = 3 0 s若 上 次 T = 4 0车 流 量 L = 2 5 ?下 次 T = 4 0 s 下 次 T = 3 0 sYNYN图 34 车流量大小判断规则 郑州航空工业管理学院毕业设计(论文) 14 总程序流程图 智能交通灯控制系统要求车流量检测及倒计时的显示,程序包含了外部中断、定时器中断、按键扫描、车流量按键模拟等部分,在程序编写中南北车流量检测计数使用的是计数器 T1 按键模拟,而东西车流量使用的是普通按键模拟。 其中车流量大小判断条件已经给出,流程图如图 35所示: 第 一 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 第 二 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 第 三 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 判 断 程 序 第 四 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 第 五 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 第 六 状 态 时 间 显 示显 示 时 间 减 1 s 显 示 时 间 = 0。 判 断 程 序车 流 量 检 测 ,显 示 时 间 减 1 s 显 示 时 间 = 0。 停 止 检 测 , 输出 检 测 量 L 1车 流 量 检 测 ,显 示 时 间 减 1 s 显 示 时 间 = 0。 停 止 检 测 , 输出 检 测 量 L 4NYNYNYNNYNYNYYN图 35 总程序流程图 单片机的 I/O分布 智能交通灯 中 STC89C52 单片机的 I/O 分配表如下所示: 郑州航空工业管理学院毕业设计(论文) 15 表 31 C52 单片机控制系统的 I/O 分配表 D0 GREEN_B D1 K8 D2 dula D3 wela D4 K7 D5 K6 D6 K5 D7 K4 RED_A K3 YELLOW_A K2 GREEN_A K1 RED_B K0 YELLOW_B 如表 41所示对于 C52 单片机的端口 接 9 引脚上拉电阻 RP1 的下端 8个引脚,最上端的引脚接高电平。 分别接, RED_A(南北向红灯) ,YELLOW_A(南北向黄灯) ,GREEN_A(南北向绿灯) ,RED_B(东西向红灯) ,YELLOW_B(东西向黄灯) ,GREEN_B(东西向绿灯) ,分别控制其路灯的亮灭。 接 k8, 接 dula 控制锁存器的段选, 接 wela 控制锁存 器的位选, 分别接 k7, k6, k5, k4, k3, k2, k1, k0 来用于实现按键控制。 锁存器 74HC573的 I/O分布 智能交通系统中 74HC573 锁存器 U2, U3 的接口分配表如下所示: 郑州航空工业管理学院毕业设计(论文) 16 表 32 74HC573 锁存器 U2, U3 的接口分配表 D0( U2, U3) D0 Q3(U2) d D1( U2, U3) D1 Q4(U2) e D2( U2, U3) D2 Q5(U2) f D3( U2, U3) D3 Q6(U2) g D4( U2, U3) D4 Q7(U2) h D5( U2, U3) D5 Q0(U3) we1 D6( U2, U3) D6 Q1(U3) we2 D7( U2, U3) D7 Q4(U3) we3 Q0(U2) a Q5(U3) we4 Q1(U2) b LE(U2) dula Q2(U2) c LE(U3) wela 如表 42所示对于 74HC573 锁存器 U2, U3 的 D0D7分别接到 C52 单片机的 引脚。 U2 的 LE引脚接到 C52 单片机的 端口,也就是 dula 端口,来实现锁存器的段选功能,而 U3 的 LE 引脚接到 C52 单片机的 端口,也就是 wela 端口来实现锁存器的位选功能。 U2 的 Q0Q7 分别接到数码管的a,b,c,d,e,f,g,h 引脚,来实现数码管的数字显示,最后 U3 中的 Q0,Q1 分别接we1, we2。 Q4,Q5 分别接 we3, we4 来选择某一位的数码管显示。 编程软件 硬件平台结构一旦确定,大的功能框架基本形成。 软件在硬件平台上构筑,完成各部分硬件的控制和协调。 系统功能是由软硬件共同实现的,因为软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。 因此,软件是本系统的灵魂。 软件采用模块化设计方法,不但易于编程和调 试,也可减小软件故障率和郑州航空工业管理学院毕业设计(论文) 17 提高软件的可靠性。 同时,对软件进行全面测试也是检验错误排除故障的重要手段。 运用 keil 软件来进行编程,但由于汇编比较繁琐,在这次设计中我采用了常用的 C 语言编程来实现,更易于编写与调试。 keil 软件的使用 首先是启动 keil4,建立一个工程,设置工程存储路径,并为自己建立的工程起一个名字“智能交通灯”如图 36 所示: 图 36 工程起名 其次是选择选用单片机的型号: STC89C52 ,这一步是建立工程中的 C 文件,稍后要在这里面编写程序。 点击新建 保存按钮,并给文件起 名为智能交通灯 .c:注意后缀名为 .c,如图 37所示: 图 37 建立 C 文件 郑州航空工业管理学院毕业设计(论文) 18 最后点击 Target1 文件树,再点击 Source group1 右键单击鼠标,显示如下,选中 Add File to ‘ source group 1’ ,将保存的 C文件添加到文件树中: 图 38 将 C 文件添加到工程中 编译 用 keil 软件环境编写和修改程序, keil 里面带有单片机 89C52 运行很多的库程序,方面快捷。 当程序编写完毕编译无错误时,点击左上角的 按钮,点击 Output 项,并且在“ Create HEX File”前面打上对勾,通过编译可以生成后缀名为 .hex 的文件,此文件用于仿真和实物程序下载所用,如图 39所示: 图 39 keil 软件中生成 hex 文件方法 点击左上角的 按键,进行编译,查看所编的 C 语言程序是否存在语句方面错误,如图 310 所示: 郑州航空工业管理学院毕业设计(论文) 19 图 39 编译显示结果是否错误 在此操作的同时就已经在所保存的文件夹里生成了 hex 文件,该操作对后续的 proteus 软件进行仿真有着直接的关系。 郑州航空工业管理学院毕业设计(论文) 20 第 4 章 系统的仿真 了解虚拟物理原型的功能,在目标板没有制作或投产前,就可以 对硬件系统的功能、合理性和性能指标进行充分调整,并可以在没有硬件的情况下,进行相应的程序设计和调试,也可由仿真电路图直接导出绘制成印制电路板( PCB)。 仿真软件 本次设计使用的是 proteus 软件, Proteus 是世界上著名的 EDA 工具 (仿真软件 ),从原理图布图、代码调试到 单片机 与外围电路协同仿真,一键切换到 PCB设计,真正实现了从概念到产品的完整设计。 是目前世界上唯一将 电路仿真 软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805HC1 PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086 和 MSP430 等, 20xx年又增加了 Cortex 和 DSP 系 列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、 Keil 和 MPLAB 等多种 编译器。 Proteus 软件 具有其它 EDA 工具软件 的功能。 这些功能是: 1.原理布图 2. PCB 自动或人工布线 3. SPICE 电路仿真。 革命性的特点 : 1.互动的 电路仿真 用户甚至可以实时采用诸如 RAM, ROM,键盘,马达, LED, LCD, AD/DA,部分 SPI 器件,部分 IIC 器件。 2.仿真处理器及其外围电路 可以仿真 51 系列、 AVR、 PIC、 ARM、等常用主流 单片机。 还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。 配合 系统配置 的虚拟逻辑分析仪、示波器等, Prote。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。