单片机的交通控制灯设计毕业论文_第1页
单片机的交通控制灯设计毕业论文_第2页
单片机的交通控制灯设计毕业论文_第3页
单片机的交通控制灯设计毕业论文_第4页
单片机的交通控制灯设计毕业论文_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录TOC\o"1-3"\h\u28824摘要:13785 33450二单片机交通控制系统总体设计 424346(一)单片机交通控制系统的通行设计方案 413470(二)单片机交通控制系统的功能要求 413288三系统硬件设计 615467(一)显示部分电路设计 67528(二)时钟部分电路设计 717617(三)复位部分电路设计 7425四系统软件设计 715190(一)设计思路及关键技术 724929(二)软件流程 819196(三)交通灯的设计程序说明 923368(四)延时函数 928872(五)延时函数 1028362(六)显示函数 101691(七)定时器0中断函数 119761五心得体会 1128047参考文献 1221615致谢 12单片机的交通控制灯摘要:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。本次设计为十字路口交通灯控制系统设计,硬件部分它以8031单片机为核心,并在此基础上扩展了程序存储器(EPROM)2764、静态数据存储器(SRAM)6264,利用地址锁存器74LS373扩展I/O并行接口芯片8255A。软件部分它结合定时/计数等知识进行程序编译。关键词:单片机;存储器;扩展;定时/计数器前言随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。现在交通系统已不能满足经济发展的需求。由于生活水平的提高,人们对交通运输的安全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。2单片机交通控制系统总体设计单片机交通控制系统的通行设计方案(小四号宋体)设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始:表2-1交通状态及红绿灯状态状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2.1所示。说明:0表示灭,1表示亮。单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能。倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。车流量检测及调整随着我国经济建设的蓬勃发展,城市人口和机动车拥有量在急剧增长,交通流量日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器,磁频检测器、视频检测器等。一般车流量检测器采用传感器+单片机+外围器件来实现。而且,目前国内使用的红绿灯都是固定的红绿灯时间,并自动切换。红灯时间和绿灯时间,是根据道口东西向和南北向的车流量,利用统计方法确定的。交通警察不断观察十字路口的两个方向,根据车辆密度和流速决定是否切换红绿灯,以保证最佳的道路交通控制状态时间手动设臵除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。紧急处理交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。三系统硬件设计(小三号黑体)显示部分电路设计LED显示器有两中工作方式:静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字型码。送入一次字型码显示自行一直保持,直到送入新字型码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。各数码管在显示过程中持续得到显示信号,与各数码管接口的I/O口是专用的。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。各数码管在显示过程中轮流得到显示信号,与各数码管接口的I/O口是共用的。该设计采用如下所示的数码管,分别显示南北和东西灯的剩余时间。片选部分和数码段显示部分,分别接单片机管脚的P1口和P0口,具体的共阴数码管下见图——2。其中,A到G为码段控制端口,1,2为片选端口。时钟部分电路设计时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。本设计采用12MHz晶振和两个30Pf瓷片电容,他们构成一个稳定的自激振荡器。该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为单片机提供标准时钟。其中两个瓷片电容起微调作用。复位部分电路设计复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。该设计采用加电直接复位,复位电容采用22uF,电阻1000欧,为了节省元件,没有采用上电加按键模式。加电瞬间,RES管脚为高电平。通过电阻回路放电,使电压逐渐降为零,从而实现了复位功能。四系统软件设计(一)设计思路及关键技术一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。首先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。(二)软件流程系统总体流程图如图3-2-1所示:图3-2-1整体软件设计流程图(三)交通灯的设计程序说明这部分中定义了一些全局变量的数组和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitnom=P3^7;ucharcodeled_table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示数码表ucharcodelight_state[]={0x21,0x12,0x0c,0x12};//交通灯状态存储表ucharcodeem_state[3]={0x24,0x21,0x0c};//紧急灯状态显示表ucharlight_time[][2]={{0,4},{0,1},{0,5},{0,1}};//显示时间存储表ucharstatebef,time1s=100,state=0;//存储紧急灯状态,定时基数,状态基数uinttime;//显示时间变量bitmd_flag,state_flag=1,red;//显示时间更改状态,状态切换标志位,红绿切换标志位定义局部变量i,ji--j--j<100i==100j==100定义局部变量i,ji--j--j<100i==100j==100i<100yyNN延时函数的流程图如图3-4-1。延时程序如下:/*延时函数*/voiddelay(void){uchari,j;for(i=100;i>0;i--){for(j=100;j>0;j--);//循环10000次}}图3-4-1延时函数的流程图(五)延时函数读状态函数的流程图如图3-5-1。定义局部变量value定义局部变量value读P3口状态value右移4位取value低三位状态改变?return0return1YNstatebef=value/*读状态函数:判断是否有紧急灯状况出现*/ucharrd_emstate(void){ucharvalue;value=P3;value>>=4;value&=0x07;if(value!=statebef){statebef=value;return1;}//判断是否有紧急灯状况发生,//保存按键值,置返回标志为1elsereturn0;}(六)显示函数显示函数如下:voiddisplay(void){if(md_flag==1)//显示更改时间状态{if(1==red){//南北方向红灯时间显示 P2=0xf6;P0=led_table[light_time[0][0]];delay();//分钟P2=0xed;P0=led_table[light_time[0][1]/10];delay();//秒的十位P2=0xdb;P0=led_table[light_time[0][1]%10];delay();//秒的个位}……else//正常状态,显示时间{P2=0xf6;P0=led_table[time/100];delay();//分钟P2=0xed;P0=led_table[time/10%10];delay();//秒的十位P2=0xdb;P0=led_table[time%10];delay();//秒的个位}}(七)定时器0中断函数定时器0中断函数如下:voidTime0int(void)interrupt1{EA=0;TH0=-10000/256;TL0=-10000%256;time1s--;if(time1s==0){//一秒中到,重新置数time1s=100; time--;//显示时间自减 if(time==0){//显示时间减到0时切换显示时间状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论