《毕业设计(论文)基于AT89S51单片机的交通信号控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89S51单片机的交通信号控制系统设计.doc(39页珍藏版)》请在三一办公上搜索。
1、 毕 业 论 文题 目 : 交通信号控制系统设计专 业 : 计算机硬件与外设 班 级 :硬件081班 姓 名 : 指 导 教 师 : 完 成 日 期 :2010 年 12 月 23 日 2011届毕业设计任务书一 、 课题名称:交通灯控制系统的设计二 、 指导老师:颜谦和三 、 设计内容与要求 1、课题概述本课题采用单片机设计一个交通控制灯系统,实现交通灯控制系统的基本功能,通过按键调整主次干道的通行时间。通过这个具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段,在实践教学环节中,积累设计经验,开拓思维空间,全面提高个人的综合能力。 2、设计内容与要
2、求(1)设计内容:1) 绘制交通灯控制系统的系统框图,确定设计方案。2) 了解电路所需芯片的功能、参数和工作原理。3) 采用protel完成交通灯控制系统的原理图绘制。4) 采用C语言完成软件设计。5) 采用软件完成编译、仿真、下载。6) 完成交通灯控制系统的硬件设计方案。7) 调试并实现交通灯控制系统的功能。(2)设计功能要求:1) 用二极管显示红、绿、黄灯;2) 用数码管显示十字路口两个方向的剩余时间;3) 用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭;4) 用按键设置两个方向的通行时间(绿灯点亮时间)和暂缓黄灯通行时间(黄灯点亮的时间)。四、设计参考书模拟电子技术、数
3、字电子技术、单片机技术与应用五、设计说明书要求1) 封面2) 内容摘要3) 目录4) 绪论5) 正文(设计方案比较与选择、设计方案原理、计算、分析、设计结果的说明及特点)6) 文献7) 致谢8) 附录(参考文献、图纸、材料清单)六、毕业设计进程安排第1周:材料准备与借阅,了解设计思路。第2-3周:设计要求说明及课题内容辅导,完成图纸初稿。第4-6周:进行毕业设计,完成说明书初稿。第7-8周:第一次检查,了解设计完成情况。第9周:第二次检查学生设计完成情况,并做好毕业答辩准备。第10周:毕业答辩与综合成绩评定。七、毕业设计答辩及论文要求1、毕业设计答辩要求答辩前三天,每个学生应按时将毕业设计说明
4、书或者毕业论文、专题报告等必要数据交指导老师审阅,由指导老师写出审阅意见。学生答辩时对自述部分写出的书面提纲,内容包括课题的任务、目的和意义,所采用的原始数据或者参考文献、实验方法、测试方法、鉴别学生独立工作的能力、创新能力。2、毕业设计论文要求文字要求:说明要求打印,不能手写。文字通顺,语言通顺,排版合理,无错别字,不允许抄袭。3、图纸要求:按工程制图标准制图,图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。曲线图纸要求:所有曲线、图表、线路图、程序框图等不准手画,必须按国家标准。摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,
5、这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89S51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口系统、T0、T1定时器中断系统、交通灯状态显示系统、LED数码显示系统实现倒计时、复位电路可以让整个系统达到初始、按键电路实现各方向时间的调整、时钟电路几大部分组成。系统除基本的交通灯功能外,还具有倒计时、按键调整南北东西绿灯和黄灯通行的时间等功能,较好的模拟实现了十字路口可能出现的状况。
6、软件上采用C51编程,主要编写了主程序,LED数码管显示程序,中断程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键字: AT89S51 LED 交通灯 程序引言 随着我国社会经济的发展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进行合理的管理和调度而尽可能减少堵车现象成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可缺少的作用。当今,红绿灯安装在各个道口上,已成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的
7、交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯
8、当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以
9、进入交叉路口。我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后。道路拥挤、阻塞现象及交通事故常有发生。如何利用当今自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,提高车辆速度,减少交通事故是值得我们研究的新课题。交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关。随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性,本文介绍的交通灯控制系统除具有一般的红绿灯显示功能外,还具有倒计时功能,以便人们的生活需求。此系统的核心控制器是MCS-51系列单片机中的AT89S51。本设计对红绿灯显示系统、按键
10、系统都采用keil软件调试程序,并给出了调试过程及全部程序代码。目录2011届毕业设计任务书2摘要4引言5目录6第一章 方案论证与设计81.1 电源提供方案81.2 显示界面方案81.3 输入方案9第二章 单片机的简介102.1 单片机的基本组成102.2 8051的信号引脚112.3 单片机的最小系统122.3.1 时钟电路122.3.2 复位电路122.4 输入输出引脚132.5 LED显示电路14第三章 交通控制系统总体设计163.1 交通控制系统通行方案设计163.2 交通控制系统的功能要求173.2.1 倒计时显示173.2.2 车流量检测及调整173.2.3 时间手动设置183.2
11、.4 紧急处理183.2.5 违规检测18第四章 系统硬件设计194.1 总体设计194.2 系统硬件设计194.2.1 本实验硬件设计框图194.2.2 原理图说明204.2.3 系统工作原理21第五章 系统软件设计225.1 软件设计流程图225.2 流程图225.3 交通控制系统主程序26第六章 调试与功能说明356.1 硬件调试356.2 软件调试问题及解决356.3 实验步骤366.3.1 编写程序代码366.3.2 按照系统硬件连线图接好系统并调试36结论37致谢38参考文献39第一章 方案论证与设计本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能
12、模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。交通灯控制的框图如图1-1所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。图1-1 交通灯控制框图1.1 电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上
13、所述,选择方案二。1.2 显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求。综上所述,选择方案二。1.3 输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂
14、。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多。由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用。综上所述,选择方案二。第二章 单片机的简介单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件;中央处理器、存储器和I/O接口电路等。因此单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。2.1 单片机的基本组成8051是MCS-5
15、1系列单片机的典型芯片,其他型号除了程序存储器结构不同外,其内部结构完全相同,引脚完全兼容。这里是以介绍MCS-51系列单片机的内部组成及信号引脚。8051单片机的内部组成如图2-1所示:图2-1 8051单片机的内部组成单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:(1)中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
16、(2)数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据、运算的中间结果或用户定义的字型表。(3)程序存储器(ROM)8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。(4)定时/计数器8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。(5)并行输入输出(I/O)口8051共有4组8位I/O口(P0、 P1、P2和P3),用于对外部数据的传输。(6)全双工
17、串行口8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(7)中断系统8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。(8)时钟电路8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。2.2 8051的信号引脚8051单片机采用标准40引脚双列直插式封装,引脚排列如图2-2所示: 图2-2 8051信号引脚2.3 单片机的最小系统单片机最小应用系统,是指用最少的原件组成的单片机可以工作
18、的系统。对51系列单片机来说,最小系统应包括单片机的晶振电路、复位电路。下面介绍51单片机的最小系统电路图。2.3.1 时钟电路时钟电路如图2-3所示:图2-3 时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。 8051单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分
19、别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。2.3.2 复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位
20、,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用12MHz时,C取22F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如图2-4所示:图2-4 复
21、位电路2.4 输入输出引脚(1) P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2)P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3)P2端口P2.
22、0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4)P3端口P3.0P3.7 P3是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看表2-1。表2-1 P3引脚功
23、能P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通/WRP3.7外部数据存储器写选通/RD2.5 LED显示电路LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阳极连在一起,如图2-5所示。这样,一个LED数码管就有I根位选线
24、和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。图2-5 共阴极连接图LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为,采用共阳极连接驱动代码,代码表如表所2-2所示:表2-2 驱动代码显示数值dop 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
25、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 107H80 1 1 1 1 1 1 17FH第三章 交通控制系统总体设计3.1 交通控制系统通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如图3-1所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如下图所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:图3-
26、1 交通状态(1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。(2)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。(3)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。(4)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下面我们可以用表3-1表示灯状态和行止状态的关系如下:表3-1 交通状态及红绿灯状态状态1状态3状态4状态6
27、东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100上表东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。3.2 交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能。3.2.1 倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间,在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有
28、倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。3.2.2 车流量检测及调整随着我国经济建设的蓬勃发展,城市人口和机动车拥有量在急剧增长,交通流量日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器、磁频检测器、波频检测器、视频检测器等。一般车流量检测器采用传
29、感器+单片机+外围器件来实现。而且,目前国内使用的红绿灯都是固定的红绿灯时间,并自动切换。红灯时间和绿灯时间,是根据道口东西向和南北向的车流量,利用统计方法确定的。交通警察不断观察十字路口的两个方向,根据车辆密度和流速决定是否切换红绿灯,以保证最佳的道路交通控制状态。3.2.3 时间手动设置 除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费I0口资源,一般用于按键数量少的系统。后者适用于按键数
30、量较多的场合,但是在单片机I0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且I0口足够,可直接采用独立式。3.2.4 紧急处理交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。3.2.5 违规检测交通规则必须人人遵守,但是违反规则,如闯红灯等,也时有发生,交警等交通管理人员虽然可以进行实时监管,但是耗费精力,在路口设置检测传感器就可以进行自动的警报提示。第四章 系统硬件设计硬件设计是整个
31、系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。4.1 总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。系统采用双数码管倒计时计数功能,最大显示数字99。友好的人机界面、
32、灵活的控制方式、优化的物理结构是本设计的亮点。4.2 系统硬件设计4.2.1 本实验硬件设计框图本实验设计的是基于单片机控制交通灯,我们需要用到的几个模块有单片机的最小系统、LED灯的信号显示、显示模块数码管、四个按键的输入、下载模块,用框图表示如图4-1所示:图4.1 硬件设计总体框图 4.2.2 原理图说明通过设计我们根据单片的原理我们应用了AT89S51芯片的P1口的LED显示做南北与东西的交通灯信号,P10、P11、P12分别为东西的红、黄、绿灯;P13、P14、P15分别为南北的红、黄、绿灯;用单片机上的数码管四位一体的,V1、V2这组数码管为东西方向交通灯的显示时间,V7、V8这组
33、的数码管为南北方向交通灯的显示时间;按键是P3口的P30、P31、P32、P33为控制黄绿灯的通行时间,原理图如图4-2所示:图4-2 单片机交通控制系统设计原理图4.2.3 系统工作原理(1)开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统。(2)由8051单片机的定时器每秒通过P0口向8255的数据口送信息,由8255的PA口显示红、绿、黄等的燃亮情况;由8255的PV楼显示每个灯的燃亮时间。(3)8051通过设置各个信号灯的燃亮时间、通过8031设置,绿、红时间分别为60秒、80秒,循环由8051的P0口向数据口输出。(4)通过8051单片机的P3.0为来控制系统是工作或设置
34、初值,当牌位为0就对系统进行初始化,为1系统就开始工作。(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。(6)增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。(7)绿灯时间倒计时完毕,重新循环。第五章 系统软件设计 软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软件和硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时
35、,对软件进行全面测试也是检验错误排除故障的重要手段。5.1 软件设计流程图根据实验内容实现的功能,设计出软件框图如图5-1所示:图5-1 软件框图5.2 流程图T0中断流程图如5-2所示:图5-2 T0中断流程图T1中断流程图如图5-3所示:图5-3 T1中断流程图主程序流程图如5-4所示:图5-4 主程序流程图5.3 交通控制系统主程序/*交通灯*/*采用中断显示*/#include reg51.hunsigned char key ;unsigned char code duanxuan=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0
36、xbf,0xf6;unsigned char code weixuan=0xfe,0xfd,/*0xfb,0xf7,0xef,0xdf,*/0xbf,0x7f;unsigned char nbhdsj=6,nbldsj=25,dxhdsj=11,dxldsj=25;unsigned int nb_SJ,dx_SJ;sbit dxhhd=P10;/东西路口红灯sbit dxhd =P11;/东西路口黄灯sbit dxld =P12;/东西路口绿灯sbit nbhhd=P13;/南北路口红灯sbit nbhd =P14;/南北路口黄灯sbit nbld =P15;/南北路口绿灯sbit S1=P3
37、0;sbit S2=P31;sbit S3=P32;sbit S4=P33;bit nb_HD=0;bit dx_HD=0;/*短延时0.5ms*/void delay( unsigned int m)unsigned char n;for(;m0;m-)for(n=0;n=4)num=0;/*定时器T1中断显示*/void time1(void) interrupt 3 unsigned char counth;TH1=0xf8;TL1=0x30;counth+;if(counth=40) counth=0;if(nb_HD=1)nbhd=nbhd;if(dx_HD=1)dxhd=dxhd;
38、 disp_SJ();/*初始化*/void Init() TMOD=0x11;TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;TH1=0xf8;TL1=0x30;ET1=1;TR1=1;EA=1;/*主函数*/void main() unsigned char k,j;Init();P1=0xde;while(1) if(S1=0) delay(200); if(S1=0) k+; if(k=4)k=1; switch(k) case 1:TR0=0; if(S2=0) delay(200); if(S2=0) j+; if(j=5) j=1; switch(j) case 1: nb_SJ=nbhdsj; if(S3=0) delay(200);if(S3=0) nbhdsj+; if(nbhdsj=100) nbhdsj=0; if(S4=0) delay(200);if(S4=0) nbhdsj-; if(nbhdsj0) nbhdsj=99; break; case 2: nb_SJ=nbldsj;