《2022年单片机交通信号灯控制系统设计方案完整版.docx》由会员分享,可在线阅读,更多相关《2022年单片机交通信号灯控制系统设计方案完整版.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源重庆高校网络训练学院毕 业 设 计 ( 论 文 )题目基于单片机的交通信号灯掌握系统设计同学所在校外学习中心四川南充校外学习中心批次 层次 专业 092专科起点本科电气工程及其自动化学号 W09205801学 生 邓力指 导 教 师 黄艳玲起止日期 2021 年 9 月 1 日起至 2021 年 11 月 30 日止欢迎下载精品学习资源摘要随着社会经济的进展,城市交通问题越来越引起人们的关注;人、车、路三者关系的和谐,已成为交通治理部门需要解决的重要问题之一;城市交通掌握系统是用于城市交通数据监测、交通信号灯掌握与交通疏导的运算机综合治理系统,它是现代城市交通监控指挥系统中最重要的
2、组成部分;随着当今社会的快速进展,汽车的销售量有了很大的提高;大量汽车的出售, 给我们的生活带了很大的便利;但是,它也给城市的交通提出了更加严肃的考查;在这种情形下,我们除了要修建更加好的道路外,仍需要设计出更多更好的交通信号灯掌握系统;在现代,利用单片机来实现交通信号灯的掌握成了我们调控交通的主流;运用单片机掌握交通信号灯便利,性能高,易于掌握;所以,我们很必要对这一课题进行一次系统的争论学习;在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯,并用单片机进行合理的掌握;本系统由AT89C51 单片机、键盘、LED 显示、交通灯演示系统组成;系统包括人行道、左转、右转、以及
3、基本的交通信号灯的功能;系统除基本交通信号灯功能外,仍具有倒计时、时间设置、紧急情形处理、分时段调整信号灯的点亮时间以及依据具体情形手动掌握等功能;关键词:单片机,交通信号灯欢迎下载精品学习资源目 录中文摘要1. 引言12. 设计任务及思路13. 单片机33.1 单片机简介33.2 单片机基本结构33.3 单片机硬件特性34. 芯片的挑选44.1 74LS373以及74LS07芯片简介 44.28255芯欢迎下载精品学习资源片54.2.1 8255可编程并行接口芯片简介 54.2.2 8255可 编 程 并 行 接 口 芯 片 方 式 控 制 字格 式 说明54.3晶闸管75. 交通灯控制原理
4、分析及方案论证 86. 系统硬件设计96.1 总体设计96.2 单片机最小系统96.2.1 振荡电路96.2.2 复位电路106.3 显示及其驱动模块欢迎下载精品学习资源116.3.1 键盘与状态显示功能116.3.2 倒计时计数功能117. 系统软件设计127.1 延时程序设计127.1.1 计数器硬件延时127.1.2 软件延时137.2 时间及信号灯的显示147.2.1 8031并行口的扩展147.2.2 显示原理157.2.3 8255输出信号的放大欢迎下载精品学习资源157.2.4 8255输出信号与信号灯的连接 157.2.58255与8031的连接167.3 程序设计167.3.
5、1 流程图167.3.2 源程序代码197.4 调试运行23设计总结24参考文献25致谢26附录1欢迎下载精品学习资源27附录228欢迎下载精品学习资源1. 引言当今,交通信号灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术在 19 世纪就已显现了;1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行;这是世界上最早的交通信号灯;1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯;它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“留意”; 1869 年 1 月
6、 2 日,煤气灯爆炸,造成人员伤亡,遂被取消;电气启动的红绿灯显现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年开头安装于纽约市 5 号大街的一座高塔上;红灯亮表示“停止”,绿灯亮表示“通行”;1918 年,又显现了带掌握的红绿灯和红外线红绿灯;带掌握的红绿灯,一种是把压力探测器安在地下 , 另一种是用扩音器来启动红绿灯;信号灯的显现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,削减交通事故有明显成效;1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定;绿灯是通行信号,面对绿灯的车辆可以直行,左转 弯和右转弯,除非另一种标志禁止某一种转向;左右转
7、弯车辆都必需让合法地正在 路口内行驶的车辆和过人行横道的行人优先通行;红灯是禁行信号,面对红灯的车 辆必需在交叉路口的停车线后停车;黄灯是警告信号,面对黄灯的车辆不能越过停 车线,但车辆已特别接近停车线而不能安全停车时可以进入交叉路口;基于单片机构成的城市交通信号灯掌握系统,可以节省人力资源和降低系统成本,从而有效的提高工作效率;但利用单片机掌握交通信号灯涉及到一些现实问 题,诸如信号的驱动、车辆到达的感知等;为此,我们采纳模拟方式进行说明;所谓模拟,就是用绿、黄、红色三只共四组发光二极管代替交通信号灯;目前,城市交通信号灯掌握系统应用广泛,因此,开发这种系统特别有用;2. 设计任务及思路设计
8、一个能够掌握十二盏交通信号灯的模拟系统;通过交通信号灯掌握系统的设计;欢迎下载精品学习资源系统工作受开关掌握,起动开关ON 就系统工作;起动开关 OFF 就系统停止工作;掌握对象如下:东西方向红灯两个 ,南北方向红灯两个,东西方向黄灯两个 ,南北方向黄灯两个, 东西方向绿灯两个 ,南北方向绿灯两个,北西东南图 1 交通信号示意十字路口东西方向和南北方向各装有直行(包括右拐弯)掌握红、黄、绿交通 信号灯(如图 1 所示);仍有倒计时显示器,显示器用于显示相应方向直行掌握当前点亮信号灯仍要连续的时间(即剩余时间);系统中有两个按钮启动和停止, 启动按钮按下后信号灯系统开头工作,并周而复始地循环;停
9、止按钮按下,全部信 号灯都熄灭;信号灯的掌握规律如表1 所示;即系统启动后,东西方向先绿灯亮25s,然后绿灯闪耀 3s,最终黄灯亮 2s,与此同时南北方向红灯亮 30s;南北方向红灯亮 30s 后转为先绿灯亮 25s,然后绿灯闪耀 3s,最终黄灯亮 2s,东西向红灯亮30s;由此周而复始地循环;要求采纳单片机实现交通灯的掌握规律;欢迎下载精品学习资源表 1 信号灯掌握规律东西方向信号绿灯亮绿灯闪耀黄灯亮红灯亮时间25s3s2s30s南北方向信号时间红灯亮30s绿灯亮25s绿灯闪耀3s黄灯亮2s设计电路中使用到的主要元器件,单片机芯片、8255 芯片和晶闸管;十字路口分四条道,每条道有三个红绿灯
10、,共十二个;每个红绿灯由一块8031 芯片单独掌握,我们只设计一个红绿灯的燃亮情形,同理依据燃亮次序设计其它红绿灯;然后再组合起来,达到设计要求;3. 单片机3.1 单片机简介单片机是一种集成电路芯片,简称为单片微型运算机;是采纳超大规模集成电路技术把具有数据处理才能的中心处理器CPU,随机储备器 RAM,只读储备器 ROM,多种 I0口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小而完善的运算机系统;3.2 单片机基本结构单片机由运算器,掌握器,储备器,输入输出设备组成;3.3 单片机硬件特性(1) )单片机集成度很高,单片机包括CPU、4KB 容量的 ROM8031 无 、
11、128B 容量的 RAM、2 个 16 定时计时器、 4 个 8 位并行口、全双工串口行口;(2) )单片机系统结构简洁,使用便利,实现了模块化;(3) )单片机牢靠性能好,可工作很长时间;(4) )处理功能强,速度快欢迎下载精品学习资源4. 芯片的挑选4.1 74LS373 以及 74LS07 简介74LS373 是一种带三态门的 8D锁存器,其管脚示意图 2 如下所示:图 2 74LS373 管脚示意图其中: 1D-8D为 8 个输入端;1Q-8Q为 8 个输出端;LE 为数据打入端:当 LE 为“ 1”时,锁存器输出状态同输入状态;当 LE由“ 1”变“ 0”时,数据打入锁存器OE为输出
12、答应端;当 OE=0时,三态门打开; 当 OE=1时,三态门关闭,输出高阻;六驱动器 OC高压输出 74LS07Vcc6A6Y5A5Y4A4141312111098 Y =A) 1234567 7805 实现正电压输出,负电压截止;欢迎下载精品学习资源4.2 8255 芯片4.2.1 8255可编程并行接口芯片简介8255 可编程并行接口芯片有三个输入输出端口,即A口、B 口和 C口,对应于引脚 PA7 PA0、PB7PB0和 PC7PC0;其内部仍有一个掌握寄存器,即掌握口; 通常 A口、B 口作为输入输出的数据端口; C口作为掌握或状态信息的端口,它在方式字的掌握下,可以分成 4 位的端口
13、,每个端口包含一个 4 位锁存器;它们分别与端口 AB 协作使用,可以用作掌握信号输出或作为状态信号输入;8255 的内部组成框图如图 3 所示:图 3 8255 内部组成框图4.2.2 8255可编程并行接口芯片方式掌握字格式说明欢迎下载精品学习资源8255 有两种掌握命令字:一个是方式挑选掌握字;另一个是C口按位置位复位掌握字;其中 C口按位置位复位掌握字方式使用较为繁难,说明也较冗长,故在此不作表达;方式掌握字格式说明如图4 所示:图 48255方式掌握字方式 0:基本输入输出方式;适用于三个端口中的任何一个;每一个端口都可以用作输入或输出;输出可被锁存,输入不能锁存;方式0 适合于两种
14、情形:一种是无条件传送,另一种是查询方式传送;欢迎下载精品学习资源方式 1:选通输入输出方式;这时A口或 B口的 8 位外设线用作输入或输出,C口的 4 条线中三条用作数据传输的联络信号和中断恳求信号;方式 2 :双向选通输入 / 输出方式;只有 A 口具备双向选通输入 / 输出方式, 8位外设线用作输入或输出;4.3晶闸管晶闸管( Thyristor)是晶体闸流管的简称,又可称做可控硅整流器,以前被简称为可控硅;晶闸管是PNPN四层半导体结构,它有三个极:阳极,阴极和门极;晶闸管工作条件为:加正向电压且门极有触发电流;其派生器件有:快速晶闸管,双 向晶闸管,逆导晶闸管,光控晶闸管等;它是一种
15、大功率开关型半导体器件,在电路中用文字符号“ VT”表示;图 5 为晶闸管的结构图;图 6 为晶闸管的电路图;AP1IaRN1PNPP2Ic1I c2GIc0N2EI gNPNI kAGKK图 5 晶闸管的结构图图 6 为晶闸管的电路图晶闸管 VT在工作过程中,它的阳极 A 和阴极 K与电源和负载连接,组成晶闸管的主电路,晶闸管的门极 G 和阴极 K 与掌握晶闸管的装置连接,组成晶闸管的掌握电路;晶闸管的工作条件:1.晶闸管承担反向阳极电压时,不管门极承担何种电压,晶闸管都处于关断状态;2.晶闸管承担正向阳极电压时,仅在门极承担正向电压的情形下晶闸管才导通; 3.晶闸管在导通情形下,只要有肯定
16、的正向阳极电压, 不论门极电压如何,晶闸管保持导通,即晶闸管导通后,门极失去作用;在电路中 我们使用的晶闸管来掌握红绿灯的亮灭;如图7 所示:欢迎下载精品学习资源图 7晶闸管掌握电路5. 交通灯掌握原理分析与方案论证本设计以单片机为核心,以LED 数码管作为倒计时指示,依据设计的要求我们考虑了各功能模块的几种设计方案,以求正确方案,实现实时显示系统各种状态, 系统仍增设了依据交通拥挤情形可分别设置主干道和次干道的通行时间,以提高效 率,缓减交通拥挤;系统总体设计框图如图8 所示:键盘与状态显单片示机交最通倒小灯计系时统图 8 系统总体设计1. 电源供应方案为使模块稳固工作,须有牢靠电源;本次设
17、计考虑了两种电源方案:方案一:采纳独立的稳压电源;此方案的优点是稳固牢靠,且有各种成熟电路可供选用;缺点是各模块都采纳独立电源,会使系统复杂,且可能影响电路电平;方案二:采纳单片机掌握模块供应电源;该方案的优点是系统简明扼要,节省成本;缺点是输出功率不高;综上所述,挑选其次种方案;2. 显示界面方案欢迎下载精品学习资源该系统要求完成倒计时功能;基于上述缘由,本次设计考虑了两种方案:方案一:完全采纳点阵式LED 显示;这种方案功能强大,可便利的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作;方案二:完全采纳数码管显示;这种方案优点是实现简洁,可以完成倒计时功能;缺点是功能较少
18、,只能显示有限的符号和数码字符;依据本设计的要求,方案二已经满意了要求,所以本次设计采纳方案二以实现系统的显示功能; 3输入方案这里同样争论了两种方案:方案一:采纳 8155 扩展 I/O 口、键盘及显示等;该方案的优点是使用敏捷可编程,并且有 RAM及计数器;如用该方案,可供应较多I/O 口, 但操作起来稍显复杂;方案二:直接在 I/O口线上接上按键开关;由于设计时精简和优化了电路,所以剩余的端口资源仍比较多,我们使用六个按键,分别是P16、P17、P27、P30、P32、P33,依次完成倒计时加1、倒计时减 1、调完确认、调时方向切换、南北强行和东西强行等功能;由于该系统是对交通灯及数码管
19、的掌握,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故挑选方案二;6. 系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要仍要考虑如下几个因素:系统稳固度;器件的通用性或易选购 性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重 要;现从各功能模块的实现逐个进行分析探讨;6.1 总体设计本设计以单片机为掌握核心,采纳模块化设计,共分以下几个功能模块:单片机掌握系统、键盘及状态显示、倒计时模块等;单片机作为整个硬件系统的核心,它既是和谐整机工作的掌握器,又是数据处理器;它由单片机振荡电路、复位电路等组成;欢迎下载精
20、品学习资源键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1 输入到系统;系统采纳双数码管倒计时计数功能,最大显示数字99;友好的人机界面、敏捷的掌握方式、优化的物理结构是本设计的亮点;6.2 单片机最小系统6.2.1 振荡电路AT89C51是内部具有振荡电路的单片机,只需在18 脚和 19 脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开头振荡起来;振荡电路就为单片机工作供应了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(如有)开头工作;振荡电路不工作,整个单片机电路都不能正常工作; AT89C51常外接 6MHz、12MHz的石英晶体, 18 脚和 19 脚
21、分别对地接了一个 20pF 的电容,目的是防止单片机自激;如从 18 脚输入外部时钟脉冲,就 19 脚接地;6.2.2 复位电路复位电路就是在 RST 端( 9 脚)外接的一个电路,目的是使单片机上的电开头工作时,内部电路从初始状态开头工作,或者在工作中人为让单片机重新从初始状 态开头工作;在时钟工作的情形下,只要复位引脚高电平保持在两个机器周期以上 的时间, AT89C51便能完成系统重置的各项工作,使得内部特别功能寄存器的内容均被设置成已知状态,并且从地址0000H 处读入程序代码而执行程序;单片机最小系统电路如图 9 所示:欢迎下载精品学习资源图 9单片机最小系统电路6.3 显示及其驱动
22、模块6.3.1 键盘与状态显示功能键盘在本设计中用于紧急情形的手动掌握装置,以及定时时间的设置等功能,起到了不行缺少的重要作用;当定时器定时为1 秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时始终显示信号灯的颜色,这时在返回定时子程序定时 1 秒,在显示黄灯的下一个时间,这样依次把全部的时间显示完后在重新给时间计数器赋初值,重新进入循环;键盘电路如图10 所示:欢迎下载精品学习资源欢迎下载精品学习资源6.3.2 倒计时计数功能图 10 键盘电路欢迎下载精品学习资源本系统使用数码管完成倒计时显示功能;以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1
23、,始终减到 1;然后又从红灯的设置时间最大值往下减,始终减到 1;接下来又显示绿灯时间,如此循环;系统共有 4 个两位的 LED 数码管,分别放置在模拟交通灯掌握板上的四个路口;各个方向的数码管个位(把数码管其次位定义为个位,第一位定义为十位)用一根信号线掌握,十位用另一根信号线掌握;这里采纳动态显示;LED 数码管如图11 所示:图 11LED 数码管7. 系统软件设计7.1 延时程序设计延时方法可以有两种一种是利用MCS-51内部定时器产生溢出中断来确定延时的时间,另一种是采纳软延时的方法;下面给出延时1 秒的实现方法;欢迎下载精品学习资源7.1.1 计数器硬件延时 计数器初值运算定时器工
24、作时必需给计数器送计数器初值,这个值是送到TH 和 TL 中的;它是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断恳求;因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为 TC 可得到如下运算通式:TC=M-C欢迎下载精品学习资源13式中, M为计数器模值,该值和计数器工作方式有关;在方式0 时 M为 2 1 时 M的值为 216;在方式 2 和 3 的 M值为 28; 运算公式T=(MTC) T 计数或 TC M T T 计数T 计数是单片机时钟周期TCLK的 12 倍; TC为定时初值如单片机的主脉冲频率为 TCLK=12MHZ,经过 12 分频;在方式欢迎下载精
25、品学习资源13方式 0TMAX2 *1 微秒 8.192 毫秒16方式 1TMAX2 *1 微秒 65.536 毫秒8方式 2、3TMAX= 2*1 微秒=256 微秒明显 1 秒钟已经超过了计数器的最大定时间,所以我们只有采纳定时器和软件相结合的方法和级联的方式解决这么个问题;设置秒延时我们采纳在主程序中设定一个初值为20 的软件计数器和使 T0 定时 50 毫秒;这样每当 T0 到 50 毫秒时 CPU就响应它的溢出中断恳求,进入他的中断服务子程序;在中断服务子程序中, CPU先使软件计数器减1,然后判定它是否为零;为零表示1 秒已到,可以返回到输出时间显示程序;相应程序代码 主程序定时器
26、需定时 50 毫秒,故 T0 工作于方式 1;初值: TCMTT 计数 216 50ms/1us=15536=3CBOH ORG 1000H欢迎下载精品学习资源START: MOV TMOD, #01H;令 T0 为定时器方式 1MOV TH0,#3CH;装入定时器初值MOV TL0,#BOHMOV IE,#82H;开 T0 中断SEBTTR0;启动 T0 计数器MOVRO,#14H;软件计数器赋初值LOOP:SJMP$;等待中断 中断服务子程序ORG000BHAJMPBRTO ORG2000HBRTO :DJNZ R0,NEXTAJMPTIME;跳转到时间及信号灯显示子程序MOV R0,#1
27、4H;复原 R0值MOV TH0,#3CH;重装入定时器初值MOV TL0,#BOH MOV IE,#82HRETIEND7.1.2 软件延时MCS-51的工作频率为 2-12MHZ,我们选用的 8031 单片机的工作频率为 6MHZ;机器周期与主频有关,机器周期是主频的12 倍,所以一个机器周期的时间为12*( 1/6M)=2us;我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定 1 秒的时间;具体的延时程序分析:DELAY:MOV R4,#08H;延时 1 秒子程序DE2:LCALL DELAY1DJNZ R4,DE2欢迎下载精品学习资源RETDELAY1:MOV
28、R6,#0; 延时 125ms 子程序MOV R5,#0DE1:DJNZ R5,$ DJNZ R6,DE1 RETMOV RN, #DATA;字节数数为 2, 机器周期数为 1DELAY1为一个延时 125mS子程序的双重循环,循环次数256*256=65536 所以延时时间为 65536*2=131072us 约为 125ms;R4 设置的初值为 8 时,主延时程序循环 8 次,所以 125ms*8= 1 秒;由于单片机的运行速度很快其他的指令执行时间可以忽视不计;7.2 时间及信号灯的显示7.2.1 8031并行口的扩展8031 虽然有 4 个 8 位 I/O 端口, 但真正能供应借用的只
29、有 P1 口, 由于 P2 和 P0 口通常用于传送外部传送地址和数据 ,P3 口也有它的其次功能;因此, 8031 通常需要扩展;由于我们向外输出时间时,时间的个位、十位、信号灯的显示都要用到一个 I/O 端口,明显 8031 的端口是不够,需要扩展;扩展的方法有两种:( 1)借用外部 RAM地址来扩展 I/O端口;( 2)采纳 I/O接口芯片来扩充;我们也可以用8255 并行接口芯片来扩展I/O 端口;7.2.2 显示原理当定时器定时为 1 秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时始终显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样
30、依次把全部的灯色的时间显示完后在重新给时间计数 器赋初值 ,重新进入循环;7.2.3 8255输出信号的放大要使行人能观察信号灯的情形,必需把8255 输出的信号进行放大,这里我们用欢迎下载精品学习资源VT 双向晶闸管,当门极为高电平常晶闸管导通,该支路指示灯亮;当门极为低电平常关断,该支路指示灯灭;我们用连接 7 段数码管的方法来连接晶闸管;7.2.4 8255输出信号与信号灯的连接LED 灯的显示原理 : 通过同名管脚上所加电平的高低来掌握发光二极管是否点亮而显示不同的字形如 dp ,g,f,e,d,c,b,a管角上加上 7FH 所以 SP 上为 0 伏,不亮其余为 TTL高电平,全亮就显
31、示为8;采纳共阴级连接 :其中 PA0PB0-a, PA1PB1-b,PA2PB2-c, PA3PB3-d, PA4PB4-e, PA5PB5-f, PA6PB6-g PA7PB7 -SP 接地驱动代码表显示数值dp g f e d c b a驱动代码( 16 进制)00 0 1 1 1 1 1 13FH10 0 0 0 0 1 1 006H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 14FH40 1 1 0 0 1 1 066H50 1 1 0 1 1 0 06DH60 1 1 1 1 1 0 07DH70 0 0 0 0 1 1 107H欢迎下载精品学习资源80 1 1 1 1 1 1 17FH7.2.5 8255与 8031 的连接用 8031 的 P0 口的 P0.7连接 8255 的片选信号 CS;我们用 8031 的地址采纳全译码方式,当 P0.7 =0 时片选有效,其他无效, P0.1 用于挑选 8255 端口;P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 A7A6A5A4A3A2A1 A01XXXXX0000H为 8255 的 PA口1XXX
限制150内