收藏 分销(赏)

基于单片机ATC的交通灯控制器的设计.doc

上传人:二*** 文档编号:4557202 上传时间:2024-09-29 格式:DOC 页数:84 大小:10MB
下载 相关 举报
基于单片机ATC的交通灯控制器的设计.doc_第1页
第1页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基于单片机ATC的交通灯控制器的设计(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)2014届本科生毕业设计分类号:TP368。1题目:基于单片机AT89C51的交通灯控制器的设计姓名:张建猛学号:2010080870学院:机械与电子工程学院专业:自动化指导教师职称:胡波刘明指导教师职称:助教(硕士) 工程师2014-0511摘 要 本文采用AT89C51单片机芯片为核心控制器件设计的交通灯控制器,该系统主要包括单片机最小系统,按键,数码管显示,交通灯演示系统.系统主要具有有人行道,交通灯的基本功能,倒计时,紧急情况处理,根据具体情况手动控制等功能。通过AT89C51并接数码管和发光

2、二极管来实现交通灯的变化规律,P1口设置红,绿灯点亮时间功能的实现;红绿灯循环点亮,倒计时剩余10秒时黄灯闪烁警示。本系统的研发周期短,可靠性高,实用性,操作简单,维护方便,扩展功能强大。本系统软硬件相结合,通过Proteus软件仿真,基本实现了交通信号灯的模拟。关键词:AT89C51;数码管;交通灯控制器ABSTRACTIn this paper, AT89C51 chip as the core control device design traffic light controller, the system includes smallest single-chip system, k

3、eyboard, digital display, traffic lights demonstration system。 System mainly has a sidewalk, the basic functions of traffic lights, countdown, emergency treatment, according to the specific circumstances of manual control and other functions。 And connected via AT89C51 LED digital tube and realized t

4、raffic lights change, P1 port settings of red, green lighting time function is implemented; traffic light cycle light, countdown 10 seconds remaining yellow flashing warning. The system development cycle is short, high reliability, practicality, simple operation, easy maintenance, expansion and powe

5、rful. This system combines hardware and software, Through the Proteus Software Simulation,the basic realization of traffic lights simulation.Keywords: AT89C51; System; Digital pipe; Traffic light controller目 录绪 论11。整体方案设计21.1 方案分析21.2 方案确立32。系统的硬件设计32.1设计原理及方法32。2AT89C51单片机最小系统42.2.1 复位电路42.2.2 时钟电路

6、42。2。2 EA脚的功能及接法52.3其它硬件模块介绍及连接72。3.1 倒计时显示模块72.3.2 交通灯显示模块 82.3。3 按键控制模块92。3。4 电源模块103.系统的软件设计103。1系统相关参数计算103。1.1T0的计数初值103.1.2 倒计时显示的理论分析103.1。2 交通灯状态显示的理论分析113.2系统主程序设计114。系统的Proteus软件仿真124。1Proteus仿真图124。2Proteus仿真的结果分析12结束语14参考文献14致 谢15附录:程序源代码16绪 论随着人口的迅速增长,道路资源的有限性和交通工具爆炸性的发展,城市交通正面临着严峻考验,因此

7、造成日益严重的交通问题,每天的交通拥堵成了家常便饭但又不得不忍受。在这种情况下,与我国城市道路交通的实际情况相结合,开发出适合我们自身特点的智能信号灯控制系统已成为一个主要的任务.一个好的交通灯控制系统,将给道路拥堵,违章行驶等方面给予技术创新.随着电子技术的发展,采用单片机技术,能够智能管理交通灯,已成为目前广泛使用的方法。在人类的生活,工作环境中,交通扮演着极其重要的角色,人们的出行与交通时时刻刻打着交道。城市交通控制系统是基于城市交通信号控制技术为主导的发展,与汽车行业的发展并行。在其发展的不同阶段,由于交通出现的各种矛盾,人们总是试图把各个历史阶段的最新科技成果应用到交通自动控制中,从

8、而促进交通自动控制技术不断发展。早在1850年,城市交叉路口处安全和拥堵问题引起人们的关注,全球第一个自动交通灯诞生,打开城市交通控制的序幕。在1868年,英国工程师娜奕特在伦敦西部威斯敏斯特街口安装一个红色和绿色煤气照明灯,用来控制交叉路口的马车通行,但一次煤气爆炸事故致使交通信号灯消失了近半个世纪. 1914年,美国克利夫兰,纽约和芝加哥重新出现的交通信号灯,他们使用电动驱动,与现在意义的交通信号灯几乎是一样的。随着时代的发展,各种运输方式和交通管制的需要,第一光名副其实的三色灯(红,黄,绿)出生于1918年。它的周围是三色圆形投影机被安装在纽约市五号街一座高塔上,由于它的诞生,城市交通大

9、大改善。 在近一个世纪的发展,道路交通信号控制系统经历了一个手动到自动,从固定到灵活配时,从无感应控制到有感应控制,从单点控制到干线控制,从区域控制到网络控制的长期过程。 交通网络是城市的动脉,是一个城市的生活经济水平,工业文明的象征。交通关系到人民对财产,安全和时间相关的利益.凭借优良科学的交通控制技术对资源物流和人们出行是非常有价值的,确保交通安全线的畅通,才能确保舒适的出行,物流按时到位,甚至是生命通道延伸。为了确保安全,高效的交通秩序,除了制定一系列的交通规则,而且还必须通过一定的技术手段来实现.随着单片机和传感器技术的迅速发展,自动检测领域发生了翻天覆地的变化,交通自动检测控制研究已

10、经取得了显着的进步,必将以其优良的性能价格比,逐步取代传统的交通控制措施。1.整体方案设计1。1方案分析 交通灯一般设在城市道路的十字路口,可以分为东西方向(主干道)和南北方向(次干道),东西南北四个路口均设有有红绿黄3种灯和1个二位数码显示管。在某一时刻规定只有一个方向可以通行,另一方向被禁行,状态经过一定的过渡时间,将通行方向和禁行方向相互对换。其具体状态如下图所示。(白色表示灭)。通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如图1:图1 交通灯状态图东西方向(主干道)红灯灭,同时绿灯亮,南北方向(次干道)黄灯灭,同时红灯亮,倒计时显示60秒。在此种状态下,东西方向(主干道)

11、允许通行,南北方向(次干道)禁止通行。东西方向(主干道)绿灯灭,同时黄灯闪烁,南北方向(次干道)红灯亮,倒计时显示10秒。在此种状态下,除了正在通行中的车辆外,其他所有的车辆都应该等待状态转换。南北方向(次干道)红灯灭,同时绿灯亮,东西方向(主干道)黄灯灭,同时红灯亮,倒计时50秒。在此种状态下,东西方向(主干道)禁止通行,南北向允许通行.南北方向(次干道)绿灯灭,同时黄灯闪烁,东西方向(主干道)红灯亮,倒计时10秒。在此种状态下,除了正在通行中的车辆外,其他所有车辆都应该等待状态转换.1。2 方案确立本设计系统以AT89C51单片机为控制核心,连接成最小系统,由倒计时显示模块、交通灯显示模块

12、、按键开关控制模块组成。软件部分使用的是C 语言编程,由软件设置交通灯的初始时间,东西方向(主干道)通行60秒,南北方向(支干道)通行50秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的点亮与熄灭,采用中断方式实现各按键的功能.2.系统的硬件设计2。1设计原理及方法本设计采用模块化的分层次设计方法,以单片机AT 89C 51为控制核心,连接成最小系统,由倒计时显示模块、交通灯显示模块、按键开关控制模块等组成.系统的总体框图如下所示. 图2 交通灯控制器框图本系统采用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色

13、灯构成信号灯指示模块,4个数码管东西南北方向各一个构成倒计时显示模块,通过四个按键、模拟控制交通灯东西通行,南北通行,返回,紧急情况各个交通灯工作情况之间相互转化。2。2AT89C51单片机最小系统单片机最小系统一般有晶振、复位、电源、系统的输入控制、输出显示,以及其他外围模块(如通信、数据采集等)等模块组成。2.2。1复位电路单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效.复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数.复位电路由手动复位和上电复位两部分组成.(1)上电复位电路要求接通

14、电源后,通过外部电容充电来实现单片机自动复位操作.上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。(2)手动复位:手动复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1.这表明单片机复位期间不会有任何取指操作。图3 单片机手动复位电路2.2。2时钟电路 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器

15、,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。单片机晶振的作用是为系统提供基本的时钟信号.单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式.在内部时钟方式下单片机内部的高增益、反相放大器通过XTAL1、XTAL2外接作为反馈元件的外部晶体管振荡器与电容组成的并联谐振回路构成一个稳定的自激振荡器,向内部时

16、钟电路提供振荡时钟。振荡器的频率主要取决于晶体的振荡频率.外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步.一般要求外部信号高电平的持续时间大于20s,且为频率低于12MHz的方波。本设计采用内部时钟方式,单片机系统常用的晶振频率有6MHz、110592MHz、12MHz、本系统采用110592MHz晶振,电容选22pF或30pF均可。图4 单片机时钟电路2。2.2EA脚的功能及接法AT89C51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管

17、是否有内部程序存储器,只访问外部存储器。由于现在单片机内部的flash容量都很大,因此基本都是从内部的存储器读取程序,即不需要外接ROM来存储程序,因此,EA脚必须接高电平。图5 单片机最小系统2.3其它硬件模块介绍及连接2.3。1倒计时显示模块 系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的P0口送出数据的段码,位选信号用P2口送出,用动态扫描的方法显示东西、南北的倒计时间。7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符.本设

18、计采用共阴数码管,需要接上470欧上拉电阻以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安.图6 数码管显示模块2.3。2交通灯显示模块本系统利用单片机的P1口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管。发光二极管是半导体二极管的一种,可以把电能转化成光能,常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的

19、空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。图7 交通灯模块按键控制模块本系统设置了有4个键:K0键,K1键,K2键,K3键。每个按键一端接地,另一端接上二极管。低电平有效,当按键按下端口接地,单片机捕获到低电平,从而得到相应的输入信息.本系统采用了二极管做开关,是为了防止有一按键被按下3根线同时被低,中断无效.二极管在正向电压作用下电阻很小,处

20、于导通状态,相当于一只接通的开关;在反向电压作用下,电阻很大,处于截止状态,如同一只断开的开关.利用二极管的开关特性,可以组成各种逻辑电路。程序开始运行先东西段通行、南北段禁止60s,后南北段通行、东西段禁止50s,依此循环.系统分三种工作模式:南北通行模式、东西通行模式、返回模式、紧急情况模式,并且通过四个按键K0、K1、K2、K3实现之间的相互转化。 图8 按键控制模块2.3。4电源模块单片机工作时需要的+5V电压,所以在设计电源电路时,需要一个电子元件能提供+5V电压,由于78L05能够提供5V电压的三端稳压电源,78L05一脚为电源输入端,二脚为公共接地端,三脚即为我们所需要的+5V电

21、压输出端.本系统采用典型的78L05提供电压的电路,即在78L05的1脚和公共接地端(即2脚)之间接入0.3F的电容,在公共接地端和三脚+5V电压输出端之间接入0.1F的电容。图9 电源模块3。系统的软件设计3.1系统相关参数计算3。1.1T0的计数初值T0的计数初值:X=21612*501000/12=15536=3CB0H倒计时显示的理论分析倒计时显示的理论分析:利用定时器中断,设TH0=TH1(6553650000)/256,即每0.05秒中断一次。每到第20次中断即过了200。05秒1秒时,使时间的计数值减1,便实现了倒计时的功能.3.1。2交通灯状态显示的理论分析状态灯显示的理论分析

22、:黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了100。05秒0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。3。2系统主程序设计本系统采用AT89C51单片机实现交通灯的控制,程序的编写用C语言来完成。系统控制程序可以分为若干模块:初始化程序,按键开关控制程序,交通灯转换控制程序,LED数码管显示程序,按键消抖动程序,延时程序,中断服务子程序等。系统相应的程序流程如图所示。图10 程序流程图4.系统的Proteus软件仿真4.1Proteus仿真图 交通灯控制系统的仿真是通过 proteus 软件实现的交通灯控制系统仿真效果,仿真如下图9所示:图11 仿真图4.2Proteus

23、仿真的结果分析Proteus仿真实现东西方向和南北方向的十字路口的车辆相互交替通过,东西方向(主干道)每次通行时间设置为60秒、南北方向(次干道)通行时间设置为50秒。同时可以实现红灯、黄灯、绿灯各状态之间的相互转换,黄灯闪烁时间设置为10秒,数码管可以准确进行倒计时显示。按下东西放行键K0,东西方向(主干道)绿灯亮,南北方向(次干道)红灯亮;按下南北放行键K1,南北方向(次干道)绿灯亮,东西方向(主干道)红灯亮;无论在任何时候按下返回键K2,该控制系统都将返回到初始状态;若遇紧急情况,按下紧急情况按键K3,东西南北方向都亮红灯,实现主干道和支干道全部禁止通行;模拟了控制交通灯东西方向(主干道

24、)通行,南北方向(次干道)通行,返回,紧急情况各个交通灯工作情况之间相互转化,实现了课程设计的要求。 结束语通过这次毕业设计,使我受益匪浅。使我在软硬件结合的综合运用能力上有了进一步的提升,对课堂上所学的单片机知识有了进一步的加深和巩固,在C语言的掌握方面也向前迈了一大步,在老师和同学的帮助下,提高了个人分析解决实际问题的综合能力以及协同合作的能力,同时还锻炼了我查阅资料的能力、动手能力、发现问题、解决问题的能力.面对电脑搜索资料,一点点,一块块的电路慢慢拼成完整的电路经过一次次的反复修改终于设计出了属于自己的程序和电路,虽然还有诸多不足之处,不过使自己真正的体会到了探索事物的奥秘的快乐,同时

25、自己也更深入的了解到了单片机的巨大的潜力,虽然有的时候可能遇到了一些困难,但是我最终解决了,我也会感觉到成功给我带来的喜悦,我知道我在专业知识上的掌握还是远远不够的,我还要更加努力的去学习,提高自己了实践能力。参考文献 1 杨素行模拟电子技术M北京:高等教育出版社20062余孟尝数字电子技术M北京:高等教育出版社 2006 3 邱关源,罗先觉电路M北京:高等教育出版社20114 张毅刚单片机原理及应用M北京:高等教育出版社2011 5 凌志浩AT89C52单片机原理与接口技术M北京:高等教育出版社20116 郭循钊,邝帆基于单片机的多功能交通灯控制系统设计与仿真实现J公路交通技术20107刘日

26、华,宋海基于单片机的交通灯设计J科技致富向导20129高文庆,吕英英 基于AT89C51单片机的数字秒表设计J 电脑知识与技术201210 谭浩强著,C程序设计 第三版M清华大学出版社200611 彭虎,周佩玲 微机原理与接口技术M电子工业出版社2011 12 GUO HailiDesign of Traffic Light Control System Based on Proteus and Single-chip ComputerJournal of Hengshui UniversityJ2012 13 Tang Jing-nan, Qin Shen Development and E

27、xamples of 51 Microcontrollers C Language MPosts Telecom Press2008致谢本毕业设计在胡波和刘明老师的亲切关怀和悉心指导以及同学们的热心帮助下完成的。感谢他们在此次毕业设计过程中给予我的悉心指导与各方面的帮助,他们给了我许多非常有益的建议和意见,使我在思路上得到了很大的启发,从中认识到了自己存在的不足,并且学到了很多非常宝贵的知识。同时也要感谢系里其它同学和我的朋友在设计中给我提供的帮助和支持.总的来说,这次设计给了我一个很好的锻炼机会,让我学到了很多东西,让我将自己所掌握的理论知识切实运用于工作和生活实践中,这不仅有利于加深对书本

28、知识的理解和巩固,而且在很大程度上提高了我们在理论知识的指导下观察、分析和解决问题的能力。最后,再次向所有帮助过我的老师、同学表示衷心的感谢!谢谢你们!附录:程序源代码 /*#includeREG51.H*/ includeAT89X51。H#define uchar unsigned char uchar code duanma10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;uchar code weima4=0x0D,0x0E,0x07,0x0B; uchar code deng4=0xDE,0xDD,0xF3,0xEB; char

29、 SN=50,WE=60; char SN_G=50,WE_G=40,Y=10; uchar i,k=0,count=0; void delayms(uchar ms);void light();void led(); sbit K0=P37;sbit K1=P36;sbit K2=P33;sbit K3=P35;/程序初始化/void init(void) /12MHz */ TMOD=0x01; TH1=(6553650000)/256; /*0x3C*/ TL1=(6553650000)%256; /0xB0/计50000个数,用时50ms*/ IT0=1;/外部中断0为边沿触发方式/

30、ET0=1;/*允许T0中断*/ TR0=1;/启动计数器*/ EA=1;/CPU开放总中断*/ EX0=1;/*允许外部中断0中断,即允许响应端口P32(K4)中断*/ EX1=1;/允许外部中断1中断,即允许响应端口P33(K2)中断/ /延时ms毫秒*/void delayms(uchar ms) uchar i; while(ms-) for(i=0;i200;i+) /中断0处理程序/void int0(void) interrupt 0 EA=0;/CPU禁止响应一切中断/P1=0xF6,P0=duanma0;/东西南北方向均红灯亮,P0口输出0*/ while(1)/*无条件循环

31、/ P2=weima0,P0=duanma(SN_G+Y)%10;/*南北方向数码管显示可通行时间的个位/ delayms(10); /延时*/ P2=weima1,P0=duanma(SN_G+Y)/10;/南北方向数码管显示可通行时间的十位/ delayms(10); /*延时*/ P2=weima2,P0=duanma(WE_G+Y)%10;/东西方向数码管显示可通行时间的个位*/ delayms(10); /延时/ P2=weima3,P0=duanma(WE_G+Y)/10;/东西方向数码管显示可通行时间的十位*/ delayms(10); /*延时*/ /*设置南北方向通行时间*/

32、 if(K0=0) /*P37=0*/ delayms(20);/*延时,把抖动的时间抛掉/ if(K0=0) while(K0=0)/当松开K0开关时,跳出空循环,执行后面的程序/ SN_G+;/*南北方向绿灯时间+1*/ if(SN_G=100) SN_G=0;/由于使用的是两位数码管,当南北方向绿灯时间加到100后清零/ /设置东西方向通行时间/ if(K1=0) /P36=0/ delayms(20);/延时,把抖动的时间抛掉*/ if(K1=0) while(K1=0)/*当松开K1开关时,跳出空循环,执行后面的程序/ WE_G+;/东西方向绿灯时间+1/ if(WE_G=100)

33、WE_G=0;/由于使用的是两位数码管,当东西方向绿灯时间加到100后清零/ /返回/ if(K3=0) /*P35=0/ delayms(20);/*延时,把抖动的时间抛掉*/ if(K3=0) while(K3=0)/*当松开K3开关时,跳出空循环,执行后面的程序*/ count=0;/清零*/ k=0;/南北方向通车,东西方向不通车*/ SN=SN_G,WE=SN_G+Y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ light();/调用交通灯函数*/ led(); /*调用数码管函数*/ EA=1; /*CPU开放总中断/ br

34、eak;/*跳出*/ /中断1处理程序*/void int1(void) interrupt 2P1=0xF6,P0=duanma0;/东西南北方向均红灯亮,P0口输出0/ EA=0;/*CPU禁止响应一切中断/TR0=!TR0;/*计数器停止工作*/ while(1)/*无条件循环*/数码管扫描程序,/ P2=weima0;/*显示南北方向个位/ delayms(10);/延时*/ P2=weima1;/*显示南北方向十位/ delayms(10);/*延时/ P2=weima2;/*显示东西方向个位*/ delayms(10);/延时*/ P2=weima3;/显示东西方向十位*/ del

35、ayms(10);/延时/ /返回*/ if(K3=0) /*P35=0/ delayms(20);/延时,把抖动的时间抛掉/ if(K3=0) while(K3=0)/当松开K3开关时,跳出空循环,执行后面的程序/ EA=1;/CPU开放总中断/TR0=!TR0;/启动计数器*/ break;/*跳出/ /键盘程序*/void key()/南北有车而东西无车/ if(K0=0) /*K0=0*/ delayms(20);/*延时,把抖动的时间抛掉/ if(K0=0) while(K0=0)/当松开K0开关时,跳出循环,执行后面的程序*/ light();/*调用交通灯函数/led(); /*

36、调用数码管函数*/ count=0;/*清零/ k=0;/南北方向通车,东西方向不通车*/ SN=SN_G,WE=SN_G+Y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ light();/*调用交通灯函数/ led(); /调用数码管函数/ /*南北无车而东西有车*/ if(K1=0) /K1=0*/ delayms(20);/延时,把抖动的时间抛掉/ if(K1=0) while(K1=0)/当松开K1开关时,跳出循环,执行后面的程序/ light();/*调用交通灯函数*/led(); /*调用数码管函数/ count=0;/*清

37、零*/ k=1;/*南北方向不通车,东西方向通车/ SN=WE_G+Y,WE=WE_G;/南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/ light();/调用交通灯函数*/ led(); /*调用数码管函数/ /*定时函数/void time1(void) interrupt 1TH0=0x3c;TL0=0xb0;/*计50000个数,用时50ms/count+; /*自增运算/if(count=20)/*当count大于或等于20时,历时1s,执行程序*/ SN;/自减运算*/ WE-;/自减运算*/ count=0;/*清零*/ if(S

38、N=0|WE=0)/*当SN=0或者WE=0时,执行程序*/ k+;/自增运算*/ if(k3)/*当k3时,执行程序/ k=0;/清零/ switch(k)/switch语句/ case 0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ case 1:SN=Y,WE=Y;break; /东西南北方向显示时间均为黄灯闪亮时间/ case 2:SN=WE_G+Y,WE=WE_G;break;/南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/ ca

39、se 3:SN=Y,WE=Y;break; /东西南北方向显示时间均为黄灯闪亮时间/ /*交通灯函数/void light() P1=dengk;/交通灯对应着k的值变化/ if(P1=deng1count=0)/*当南北方向亮黄灯且count=0时,执行程序/ TH1=(6553650000)/256; TL1=(65536-50000)256;/*延时50ms*/ P1=0xDF;/*南北方向黄灯熄灭,东西方向亮红灯*/ elseif(P1=deng3&count=0)/*当东西方向亮黄灯且count=0时,执行程序*/ TH1=(65536300000)/256; TL1=(65536-

40、300000)%256;/*延时50ms/ P1=0xFB;/*南北方向亮红灯,东西方向黄灯熄灭/ /数码管函数*/void led()P2=weima0,P0=duanmaSN10;/显示南北方向个位*/ delayms(10);/*延时*/ P2=weima1,P0=duanmaSN/10;/*显示南北方向十位/delayms(10);/延时/P2=weima2,P0=duanmaWE10;/显示东西方向个位/delayms(10);/延时*/ P2=weima3,P0=duanmaWE/10;/*显示东西方向十位/delayms(10); /*延时*/主函数/void main(void

41、)init();/*调用程序初始化函数*/ while(1)/无条件循环/ key();/*调用键盘程序*/ light();/调用交通灯函数*/ led(); /*调用数码管函数/ 引 言随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。随着A技术的发展,嵌入式通用及标准FPG器件的呼之欲出,片上系统(SOC)已经近在咫尺。FG/CLD以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注.FPA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点.交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。在这许许多多的方法之中,使用A和VDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。城市中的交通事故频

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服