(绝对实用)基于51单片机及数字电路的两种智能交通灯仿真与设计 西南交通大学
基于-51单片机的交通灯设计
4.1 基本原理
主体电路:交通灯自动控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器等组成。
本设计先是从普通三色灯的指示开始进行设计,用P1口作为输出。程序的初始化是东西南北方向的红灯全亮。然后南北方向红灯亮,东西方向绿灯亮,60秒后东西方向黄灯闪亮5秒后南北方向绿灯亮,东西方向红灯亮。重复执行。倒计时用到定时器T0,用P2口作为LED的显示。二位一体的LED重复执行60秒的倒计时。作为突发事件的处理,本设计主要用到外部中断EX0。用一模拟开关作为中断信号。实际中可以接其它可以产生中断信号的信号源。
1.单片机最小系统
图3.1 51单片机最小系统版
2. 数码管显示电路:由8位共阴LED数码管即驱动芯片74HC573组成,单片机控制两片锁存器是使能端,通过不停打开关闭使能端达到单片机一个8位I/O口控制8位数码管显示的效果。数码管显示电路如图3.2所示。
图3.2数码管显示电路
3.12位LED灯:由12个LED小灯排列起来,加上限流电阻就组成了12位交通灯。12位流水灯的阴极接在单片机的I/O端口,以灌电流输进单片机从而驱动LED。交通LED灯的原理图如图3.3所示。
师大学
电气工程及自动化
实习报告
姓 名:
班 级:
学 号:
实习科目:单片机实训
指导教师:
实习时间:
智能交通信号灯
摘 要
本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用STC89C52单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。红灯亮禁止通行绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。
基于51单片机控制交通灯课程设计报告
基于51单片机控制交通灯课程设计报告本设计课程使用STC89c52型号的芯片及相关元器件自己组装单片机最小系统,并编写程序用于控制交通信号灯。
1.STC89c52的芯片元器件的说明:STC89c52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,STC89c52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能,STC89c52在众多嵌入式控制应用系统中得到广泛应用。
2.STC89c52的功能是:·标准MCS-51内核和指令系统·片内8kROM(可扩充64kB外部存储器)· 32个双向I/O口· 256x8bit内部RAM(可扩充64kB外部存储器)· 3个16位可编程定时/计数器·时钟频率3.5-12/24/33MHz·向上或向下定时计数器·改进型快速编程脉冲算法· 6个中断源· 5.0V工作电压·全双工串行通信口·布尔处理器—帧错误侦测· 4层优先级中断结构—自动地址识别·兼容TTL和CMOS逻辑电平·空闲和掉电节省模式· PDIP(40)和PLCC(44)封装形式3.管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
基于51单片机的智能交通灯课程设计
目录0要................................................................................................................................................. 摘1 系统硬件设计.. 01.1 80C51单片机引脚图及引脚功能介绍 01.2 74LS245引脚图及功能 (3)1.3 八段LED数码管 (3)1.4 硬件系统总控制电路 (5)1.5各模块控制电路 (6)1.5.1 交通灯控制电路 (6)1.5.2 倒计时显示电路 (8)1.5.3 紧急通行电路 (11)1.5.4 声音警示装置 (11)2 系统程序设计 (12)2.1 主程序流程图 (12)2.2 显示子程序流程图 (13)3 心得体会 (14)参考文献 (15)附录源程序 (16)要摘近年来随着科技地飞速发展,一个以微电子技术、计算机技术和通信技术为先导地信息革命正在蓬勃发展.计算机技术作为三者之一,怎样与实际应用更有效地结合并发挥其作用.单片机作为计算机技术地一个分支,正在不断地应用到实际生活中,同时带动传统控制检测地更新.在实时检测和自动控制地应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象地特点,配以其它器件来加以完善.十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现交通地井然秩序呢?靠地是交通信号灯地自动指挥系统,来实现交通地井然有序.交通信号灯控制方式很多.本系统采用美国ATMEL公司生产地单片机AT80S51,以及其它芯片来设计交通灯控制.实现了通过AT89S51芯片地P1口设置红、绿灯点亮地功能,输出设置显示时间.交通灯地点亮采用发光二极管实现,时间地显示采用七段数码管实现.单片机系统采用地直流供电.单片机;智能交通灯控制系统;AT89S51关键词:单片机智能交通灯设计51基于系统硬件设计1 单片机引脚图及引脚功能介绍1.180C51.80C51系列中,用CHMOS工艺制造地单片机都采用双列直插式(DIP)40脚封装,引脚信号完全相同.图1-1为引脚图引脚图图1-1 80C51这40根引脚大致可分为:电源(VCC、VSS、VPP、VPD)、时钟(XTAL1、XTAL2)、I/O口(P0~P3)、地址总线(P0口、P2口)和控制总线(ALE、RST、、)等几部分、. 它们地功能简述如下:.电源1.),电源接地端20+5VVcc(引脚号40),芯片电源,接;Vss(引脚号2.时钟当采)内部振荡电路反相放大器地输入端,是外接晶振地一个引脚.18XTAL1(引脚号.用外部振荡器时,此引脚接地当采用外)内部振荡器地反相放大器输出端,是外接晶振地另一端(引脚号XTAL219..部振荡器时,此引脚接外部振荡源控制总线3. ALE/ (引脚号30): 正常操作时为ALE(1)功能(允许地址锁存),用来把地址地低字节锁存到外部锁存器.ALE引脚以不变地频率(振荡器频率地1/6)周期性地发出正脉冲信号.因此,它可用作对外输出地时钟信号或用于定时.但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲.ALE端可以驱动(吸收或输出电编程期间,此引脚接编程脉冲(EPROM .在8751单片机流)8个LSTTL电路.功能)在从外部程序存储器取指令):外部程序存储器读选通信号.)(引脚号(229(或数据)期间,在每个机器周期内两次有效可以..LSTTL电路驱动8个(3)RST/VPD(引脚号9):复位信号输入端.振荡器工作时,该引脚上持续2个机器周期地高电平可实现复位操作.此引脚还可接上备用电源.在Vcc掉电期间,.中地数据RAM提供电源,以保持内部RAM由向内部):( 4 )为内部程序存储器和外部程序存储器地选择端.当/Vpp(引脚号31);当4KPC值小于为低为高电平时,访问内部程序存储器(电平时,访问外部程序存储器.对于87C51单片机,在EPROM编程期间,此端为21V.编程电源输入端线 4. I/O(1)P0口(引脚号32~39):单片机地双向数据总线和低8位地址总线.在访问外部存储器时实现分时操作,先用作地址总线,在ALE信号地下降沿,地址被锁存;.LSTTL负载口能驱动8个然后用作为数据总线.它也可以用作双向输入/输出口.P0.负载4个LSTTL口(引脚号1~8):准双向输入/输出口,它能驱动P1(2)(3)P2口(引脚号21~28):准双向输入/输出口.在访问外部存储器时,用作高8位地址总线.P2口能驱动4个LSTTL负载.(4)P3口(引脚号10~17):准双向输入/输出口,它能驱动4个LSTTL负载.P3口地每一引脚还有另外一种功能::串行口输入端——RXD P3.0:串行口输出端TXDP3.1——中断请求输入端:外部中断P3.2——0中断请求输入端1:外部中断——P3.3外部输入端计数器0P3.4——T0:定时器/外部输入端计数器1P3.5——T1:定时器/:外部数据存储器写选通信号P3.6 ——:外部数据存储器读选通信号——P3.7引脚图及功能1.2 74LS24574LS245是我们常用地芯片,用来驱动led或者其他地设备,它是8路同相三态双向总线收发器,可双向传输数据.它地功能引脚图如图1-2所示.图1-2 74LS245引脚图.74LS245还具有双向三态功能,既可以输出,也可以输入数据当8051单片机地P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总.线驱动器当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收).均为高阻态、B B 传输;(发送)当CE为高电平时,A DIR=“1”,信号由A 向由于P2口始终输出地址地高8位,接口时74LS245地三态控制端1G和2G接地,P2口与驱动器输入线对应相连.P0口与74LS245输入端相连,E端接地,保证数据线畅通.8051地/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1).1.3 八段LED数码管LED显示屏作为大型显示设备地一种,具有亮度高、价格低、寿命长、维护简便等优点.LED 数码管地结构简单,分为七段和八段两种形式,也有共阳和共阴之分.以八段共阳,每个发光),即点dP比七段多一个发光二极管,用来显示(个发光二极管8管为例,它有.根段选根位选线和8LED.这样,一个数码管就有I二极管地阳极连在一起,如图1-3所示为方便起见,本文主要讨线,要想显示一个数值,就要分别对它们地高低电平来加以控制..LED数码显示管,其他类形地显示管与其类似论共阳八段1-3 八段共阳管示意图图LED 灯地显示原理:通过同名管脚上所加电平地高低来控制发光二极管是否点亮而显示不同地字形,如dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如表1所示.表1 驱动代码表显示数值dp,g,f,e,d,c,b,a驱动代码C0H011010000F9H111111001A4H210100100B0H31011000099H10011001492H10010010582H100000106F8H11111000780H81000000090H910010000相应在程序软件上,可以通过调用程序给定地秒值经过特定计算算出需要显示地个位和十位,然后有DPTR调取LEDMAP地代码.LED8段数码管地设置为每个方位上地一对2为显示器.四个方位上总共用4个LED接在单片机地IO口上.虽然路口不一样,但是显示地时间在数字上是一样地,所以两边连接地IO口是对称地.硬件系统总控制电路1.4本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成.其具体地硬件电路总原理图如图1-4所示.其中P0用于送显四片LED数码管,P2用于控制红绿黄发光二极管,P1.0,P1.1,与P1.1和P1.2对数码管进行片选,P3口为紧急情况处理按键,既根据车流量控制红绿黄发光二极管通断时间.系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P2口,将要显示地时间值地个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管.时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态地相应状态码值以及时间值,当然,还要开启三个外部中断,其一为全部路口紧急情况处理中断,一旦信号有效,即按键为低电平时进入中断服务子程序,东西南北路口地状态禁止通行.其二为东西方向或南北方向禁止通行,一旦信号有效将进入相应中断服务子程序,某一方向状态禁止通行.其三为通行时间调整中断,若按键有效,进入相应地中断子程序,对时间进行调整,可延长或减少某一路段地通行时间,此后再按确定键则中断结束返回.图1-4 控制系统总原理图各模块控制电路1.5交通灯控制电路1.5.1这里我们采用发光二极管作为交通灯来使用,单片机地I/O接口直接和交通灯(发光二极管)连接.在十字路口地四组红、黄、绿三色交通灯中,东西方向道路上地两组同色灯控P2.1~P2.6连接在一起,南北方向道路上地两组同色地灯也彼此连接在,控制受单片机制.单片机地I/O接口与交通灯电路地具体连接方式为:P2.1~P2.3分别接东西方向地红、黄、绿共6个放光二极管,P2.4~P2.6分别接南北方向地红、黄、绿共6个发光二极管.12个发光二极管采用了共阴极地连接方式,因此I/O口输出高电平时,与之相连地发光二极管会亮,I/O口输出低电平是,相应地发光二极管会灭.初始东西绿灯亮,南北红灯亮,东西路口车通行,时隔20s,黄灯闪烁5次.之后,南北绿灯亮,东西红灯亮,方向开始通车,时隔20s,南北黄灯闪烁5次,然后又切换成东西方向通车,如此重复.当某一方向发生交通意外或者需要停止方向通行是,这一方向亮红灯.处理完之后,按下确定键,重新按上述方式工作.当发生交通意外(中断产生)时,全部亮红灯,进行交通事故地处理.当事故处理完毕,按下确定键,重新按上述方式工作.当南北路口地流量大时,可以增加南北路口亮绿灯地时间,当东西路口地流量大时,可以增加东西路口亮绿灯地时间,结束后调回正常状态.交通灯电路如图1-5所示.交通灯电路图1-5倒计时显示电路1.5.2倒计时显示可以提醒驾驶员在信号灯灯色发生改变地时间、在“停止”和“通过”两者间作出合适地选择.驾驶员和行人普遍都愿意选择有倒计时显示地信号控制方式,并且认为有倒计时显示地路口更安全.倒计时显示是用来减少驾驶员在信号灯色改变地关键时刻做出复杂判断地1种方法,它可以提醒驾驶员灯色发生改变地时间,帮助驾驶员在“停止”和“通过”两者间作出合适地选择.四个路口地计时显示都是由P0口控制,又P1口地P1.0~P1.2片选这些显示管,而东西两个方向地显示时间一样,南北方向时间也一样,片选信号能控制东地5S当某一方向为绿灯时,在绿灯倒计时结束后会再显示一个.西也南北显示不同地时间.倒计时,以供黄灯显示使用.显示管连接图如图1-5所示.在单片机与显示器之间加了一个8*4.7k 地排阻与一个74LS245芯片,排阻地作用是上拉电阻,防止电流过高烧掉显示管,起到保护显示管地作用,其连接图如图1-6所示.74LS245地作用是驱动显示管点亮.其连接图如图1-7所示.图1-5 显示管连接图图1-6 排阻连接图图1-7 74LS245驱动芯片连接图紧急通行电路1.5.3该电路为紧急情况和根据车流量调节红绿灯时间长度控制电路.通过单片机地P3.1~P3.7口地七个接口来控制.在紧急情况下,需要停止所有方向上地车地行驶,按下P3.1接口上地开关,接低电平,使其发生作用,发出令所有路口地红灯点亮地脉冲,禁止所有车辆通行.当需要禁止东西方向或者南北方向通行时,按下P3.2或者P3.3可以使其方向上地红灯亮起,禁止该方向车辆通行,而另一方向上则绿灯常量,车辆通行.例如,按下P3.2上地开关,此时南北方向上地红灯常亮,而东西方向上绿灯常亮,这就起到了南北禁止东西通行地效果,按下P3.3上地开关则与之相反.有时候某个方向上地车流量比较大,另一个方向上地车流量比较少,这就需要调整通行时间,P3.5是加时间端口,P3.6为减时间端口,按下一次开关则会增加或者减少1S,P3.7接地是切换方向开关,按下开关可以切换方向时间地调整,例如现在切换开关是东西方向,而东西方向车流量比较少,南北方向车流量比较大,这就需要增加南北方向通行时间,减少东西方向通行时间.首先通过P3.6口减少东西方向通行时间,然后按下切换方向键,这就切换到了南北方向时间调整状态,这是按下P3.5,可以增加通行时间.P3.4为确定键,也可以称之为复位键,要解除禁止时,按下确认键就可回到正常工作状态,当时间调整结束后,也可以通过确认键回到工作状态.控制电路图如图1-8所示.图1-6 按键电路控制电路图声音警示装置1.5.4当发生紧急情况需要全面停止通行时,需要声音警示装置来提醒车辆,这个警示装置由P3.0口控制,其电路图如图1-7所示.图1-7声音警示控制电路系统程序设计2 主程序流程图2.1主程序路程图图2-1显示子程序流程图2.2开始取倒计时数值显示子程序流程图图2-2心得体会3如往常每一次实训,我获得了很大.这次课程设计,我们小组做地智能交通等控制系统.地收获首先,我要说说我学到地团队精神,这次课设需要多人协作完成,我有幸找到三位认真负责且乐于交流讨论地队友.这次选交通灯为题目来做课设一是经验不足,二是信心不足.通过这次课设,我既积累了经验,也获取了信心,今后会找寻机会再做一些与拖动相关地电子设计,因为我们自动化专业和电机是息息相关地,很大程度研究地是电机地拖动问题.通过这两周地单片机课程设计,我们运用所学地知识,利用单片机控制原理设计了一个交通灯控制系统,我们对单片机有了更深地体会.我们了解和掌握了一些简单地编程思想和对I/O口地使用.这次课设通过单片机地I/O口来控制交通灯.实现一些具体地功能和对特殊情况地处理.通过这次地实践,我们对单片机地I/O口地使用地条件有更深地理解,对单片机地各个管脚功能地理解也加深了,以及在常用编程设计思路技巧,特别是汇编语言地掌握方面都能向前迈了一大步.这次地课程设计让我们把单片机地理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论是实践地基础,实践有着能检验理论地正确性,让我们受益非浅,对我们以后参加工作或者继续学习将会产生巨大地帮助和影响.在课设过程中遇到地硬件和软件问题都通过询问老师、同学和去图书馆、上网得到了.解决参考文献2004电子技术基础实验[M].北京:高等教育出版社[1]陈大钦2003 [M].北京:机械工业出版社[2]陈梓城电子技术实训2003单片机原理及应用技术吴黎明[M].北京:科学出版社[3]2006北京航空航天大学出版社单片机基础教程标准80C51[M].北京:李学海[4]2004华中科技大学出版社北京:[M].微型计算机接口技术及应用刘乐善[5]2010 湘潭大学出版社EDA技术实用教程[M].北京:[6] 陈炳权曾庆六,2002.[M].北京:清华大学出版社先锋工作室. 单片机程序实例[7]2004.北京:电子工业出版社,MCS-51单片机地嵌入式系统地设计[M].李伯成[8] .基于[9] 吴洪潭,肖艳萍,赵伟国.单片机原理及应用系统设计[M].北京:国防工业出版社,2005.[10] 吴黎明, 王桂棠, 洪添胜, 等. 单片机原理及应用技术[ M ] . 北京: 科学出版社,2005.源程序附录#include <reg51.h>#define uchar unsigned char#define uint unsigned int。
基于51单片机交通灯课设(内含程序和实物图)
单片机控制交通灯摘要随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。
因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。
根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。
设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。
单片机的应用正在不断深入,单片机可以用来仿真各个系统。
在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。
本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键词:单片机交通灯数码管看门狗目录第1章前言 (1)1.1课题任务及主要实现内容 (1)1.2原理分析 (1)1.2.1交通灯显示时序的理论分析 (1)1.2.2 交通灯显示的理论分析 (2)第2章设计方案分析 (3)2.1 单片机与外围接口部件 (3)2.2 倒计时显示界面 (4)2.3 交通灯 (4)第3章硬件系统设计 (4)3.1 单片机的选择 (4)3.2 STC89c52的看门狗设置 (8)3.3 硬件电路实现 (9)3.2.1 最小系统设计 (9)3.3.2 显示设计 (11)3.2.3 发光二极管模拟红绿灯 (13)3.2.4 按键模块 (14)第4章软件电路设计 (15)4.1 软件编译环境测试 (15)4.1.1 C语言介绍 (15)4.1.2 Keil uVision4介绍 (15)4.2软件总体设计 (15)第5章电路检测 (17)结论 (20)参考文献 (21)附录:22原理图 (22)源程序: (22)第1章前言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
基于51单片机的智能交通灯系统设计说明
十字路口交通灯控制系统的设计1.设计思路近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
1.1 电源提供方案采用单片机控制模块提供电源。
1.2显示界面方案采用数码管显示。
这种方案只显示有限的符号和数码字符,简单,方便。
1.3 输入方案:直接在I/O口线上接上按键开关。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择该方案。
2 单片机交通控制系统总体设计2.1单片机交通控制系统的通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
一共可以有四个状态。
通过具体的路口交通灯状态的分析我们可以把这四个状态归纳如下:(1)东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时80秒。
此状态下,东西向禁止通行,南北向允许通行。
(2)东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
(3)南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时60秒。
此状态下,东西向允许通行,南北向禁止通行。
(4)南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
用图表表示灯状态和行止状态的关系如下:表1交通状态及红绿灯状态灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
基于单片机的智能交通信号灯控制系统设计及仿真
基于单片机的智能交通信号灯控制系统设计及仿真一、本文概述随着城市化进程的加快和汽车保有量的不断增加,交通拥堵和交通事故问题日益突出,智能交通信号灯控制系统的研究和应用显得尤为重要。
本文旨在设计并仿真一种基于单片机的智能交通信号灯控制系统,以提高交通流通效率,减少交通事故,并优化城市交通环境。
本文首先介绍了智能交通信号灯控制系统的研究背景和意义,阐述了单片机在交通信号灯控制中的应用优势。
接着,详细阐述了系统的总体设计方案,包括硬件设计和软件设计两大部分。
硬件设计部分主要介绍了单片机选型、外围电路设计以及信号灯的选型与连接方式;软件设计部分则主要介绍了交通信号灯控制算法的设计和实现,包括交通流量的检测、信号灯的调度策略以及控制逻辑的编写。
在完成系统设计后,本文进一步进行了仿真实验,以验证系统的可行性和有效性。
仿真实验采用了交通仿真软件,模拟了不同交通场景下的信号灯控制效果,并对仿真结果进行了详细的分析和讨论。
本文的研究成果对于推动智能交通信号灯控制技术的发展具有一定的理论价值和实际应用价值,对于缓解城市交通问题、提高交通效率具有积极意义。
二、智能交通信号灯控制系统总体设计在智能交通信号灯控制系统的设计中,我们首先需要明确系统的总体架构和功能模块。
基于单片机的设计思路,我们将系统划分为几个关键部分:信号控制模块、传感器数据采集模块、通信模块以及电源管理模块。
信号控制模块:这是整个系统的核心部分,负责根据交通流量和道路状况实时调整交通信号灯的状态。
我们选用高性能的单片机作为控制器,通过编程实现多种交通控制策略,如固定时序控制、感应控制和自适应控制等。
传感器数据采集模块:为了实时感知道路交通状况,我们采用了多种传感器,如红外传感器、车辆检测传感器和摄像头等。
这些传感器负责采集道路上的车辆数量、速度和方向等信息,并将数据传递给信号控制模块进行处理。
通信模块:为了实现智能交通信号灯之间的联动和与交通管理中心的通信,我们设计了通信模块。
毕业设计(论文)-基于51单片机的交通信号灯系统
摘 要:随着世界范围内科技的发展,随着世界范围内科技的发展,社会的进步,社会的进步,但也导致城市化进程的加快,但也导致城市化进程的加快,越来越多的人越来越多的人也买得起车了,也买得起车了,从而导致交通拥挤的现象时有发生。
从而导致交通拥挤的现象时有发生。
从而导致交通拥挤的现象时有发生。
由此可以看出,由此可以看出,简单的十字路口交通信号灯已经不能适应现代化发展的潮流,因此需要一个更加合理、有效的智能交通灯控制系统来缓解城市交通的压力。
在现代,在现代,利用单片机来实现交通信号灯的控制成为了我们调控交通的主流。
利用单片机来实现交通信号灯的控制成为了我们调控交通的主流。
运用单片机运用单片机控制交通信号灯比较方便,而且性能高,控制交通信号灯比较方便,而且性能高,易于控制。
易于控制。
易于控制。
所以,所以,所以,我们有必要对这一课题进行一次我们有必要对这一课题进行一次系统的研究学习。
在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯控制系统,号灯控制系统,并且利用单片机来对该系统进行合理的控制。
并且利用单片机来对该系统进行合理的控制。
并且利用单片机来对该系统进行合理的控制。
本系统由本系统由AT89C51单片机、交通信号灯状态控制电路、通信号灯状态控制电路、LED LED 数码管显示电路、按键电路组成。
系统除了拥有基本交通信号灯状态控制功能外,还具有倒计时、时间设置等功能。
关键词:单片机单片机 交通信号灯交通信号灯AbstractWith the worldwide development of science and technology, the progress of the society, but also led the city to speed up, more and morepeople can afford to buy a car, causing traffic congestion phenomenon, can be seen, traffic lights at the crossroads of simple already can not adapt to the modern development trend, so we need a smart traffic the lamp is more reasonable, effective control system to alleviate the city traffic pressure.In modern times, to achieve control of traffic lights using SCM into the mainstream of our traffic regulation. The use of single-chipmicrocomputer to control the traffic signal lamp is convenient, high performance, easy to control. Therefore, we are necessary to study a system on this subject. In this graduation design, the main design taskis to design a control system of traffic lights at a crossroads, and the use of single-chip microcomputer to the reasonable control of the system. This system consists of AT89C51 microcontroller, a key circuit, the state of the traffic lights control circuit, LED digital tube display circuit.In addition to the basic state of the traffic lights control function, but also has a countdown, time setting and other functions.Keywords Keywords:: SCM, traffic signal lamp目 录1 绪论 . (1)1.1交通控制系统的设计背景 . ................................................................................................ 1 1.2交通控制系统设计的现实意义 . ....................................................................................... 1 1.3 国内外交通信号灯系统的发展情况 . .. (1)1.4 主要研究内容 . (2)2 单片机交通控制系统方案设计 (3)2.1单片机交通控制系统的通行方案 (3)2.2 单片机交通控制系统基本原理及所要实现的功能 (3)2.2.1 基本原理 (3)2.2.2 所要实现的要求 . (3)2.3单片机交通控制系统框图 . (4)3 系统硬件电路的设计 . (5)3.1 控制芯片AT89C51单片机 . ............................................................................................... 5 3.1.1 AT89C51单片机简介 . .. (5)3.1.2 AT89C51单片机的主要性能 . (5)3.1.3 单片机组成及结构 . ........................................................................................................ 5 3.1.4 单片机各引脚功能 . ........................................................................................................ 6 3.1.5 AT89C51的中断源 (8)3.2 LED 数码管 ........................................................................................................................... 8 3.3 发光二极管 .. (9)3.4 各电路模块设计 (10)3.4.1 单片机最小系统 . ........................................................................................................... 10 3.4.2 交通信号灯显示电路 ................................................................................................. 10 3.4.3 倒计时显示电路 . .. (10)3.4.4 按键操作电路 (11)4 系统程序设计 (13)4.1主程序框图 (13)4.2 交通灯闪烁子程序 . (13)4.3 LED 数码管显示子程序 . ................................................................................................... 14 4.5 红绿灯时间调整程序 . (15)5 交通灯控制系统仿真与调试 . (18)5.1 开发软件—开发软件—KeilC51KeilC51········································································································ 18 5.2仿真软件—仿真软件—Proteus Proteus 简介............................................................................................... 18 5.3 系统仿真结果 . .. (18)总 结 .............................................................................................................. 20 致 谢 .. (21)参考文献 . (22)附 录 (23)第 1 页 共27页1 绪论1.1交通控制系统的设计背景随着世界范围内城市化进程的加快,并且汽车越来越普及化,城市的交通状况已经成为一个全球性的问题。
基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)
课程名称单片机原理及应用课程设计院部名称信息技术学院专业计算机科学与技术班级09计(嵌入式系统方向)姓名学号**********指导教师刘钰金陵科技学院教务处制摘要本文介绍了一个基于MCS-51及PROTEUS的十字路口交通灯控制系统的设计与仿真,通过对现实路况交通灯的分析研究,理解交通控制系统的实现方法。
十字路口交通灯控制系统通常要实现自动控制和在紧急情况下禁止普通车辆,而让紧急车辆优先通行。
本文还对MCS-51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。
最后介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus 软件对交通灯控制系统进行了仿真,仿真结果表明系统工作性能良好。
关键字:单片机,proteus仿真,中断,十字路口交通灯控制系统前言1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。
交通灯信号灯的出现是人类历史上的一次重大改革,使人类的聚居生活,产生了深远的影响。
使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。
如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。
2,此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B 道。
规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。
3,应用单片机实现对交通灯的控制,在十字路口用红,黄,绿的指示灯,加上四个以倒计时显示的数码管来控制交通。
基于51单片机的交通灯控制系统的设计
论文题目【摘要】本文根据AT89C51单片机的特点及交通灯在实际控制中的特点,提出了一种用单片机自动控制交通灯以及时间显示的方法,同时给出了软硬件设计的方法。
设计的过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要设计问题都有涉足。
本系统采用单片机作为核心控制器,通过红外检测系统来测量东西方向和南北方向的车流量大小,经过简单的算法得出红绿灯时间。
然后分别用红、黄、绿灯的不同组合来指挥两个方向的通车与禁行,用LED数码管作为倒计时指示,实时地控制当前交通灯时间使LED显示器进行倒计时工作并与状态灯保持同步,在保持交通安全的同时最大限度地提高交通能顺畅交替运行,从而实现十字路口的智能交通控制。
关键词:单片机;交通灯;红外检测;智能控制发发到的【关键词】AT89C51单片机,交通控制,传感检测,倒计时显示,异常状况判别及处理论文题目(英文)【Abstract】XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX…………【Keywords】XXXXXXX XXXXXXXXXXXXX XXXXXXXXXX…………(与中文摘要基本对应)目录引言----------------------------------------------------------------------------- 1第一章绪论------------------------------------------------------------------- 3 1.1研究意义-------------------------------------------------------------------- 3 1.2交通灯研究现状-------------------------------------------------------------101.2.1国内城市交---------------------------------------------------------------- 41.2.2国际先进成果-------------------------------------------------------------- 7 1.3研究内容-------------------------------------------------------------------15 第二章总体方案设计----------------------------------------------------------17第三章硬件设计-------------------------------------------------------------- 27 3.1单片机概述------------------------------------------------------------------28 3.2电源电路--------------------------------------------------------------------28 3.3检测电路--------------------------------------------------------------------283.3.1红外传感器----------------------------------------------------------------- 43.3.2常用的红外传感------------------------------------------------------------- 73.3.3主动式红外传感器简--------------------------------------------------------- 43.3.4检测电路------------------------------------------------------------------ 7 3.4紧急按键K1电路-------------------------------------------------------------28 3.5红绿灯显示电路------------------------------------------------------283.6倒计时显示电路-------------------------------------------------------283.7振荡电路-------------------------------------------------------------283.8复位电路-------------------------------------------------------------28第四章系统软件设计------------------------------------------------------ 30 4.1主程序设计-------------------------------------------------------------284.2延时子程序------------------------------------------------------284.2.1计数器硬件----------------------------------------------------------------- 44.2.2软件延时------------------------------------------------------------- 74.3计数器计数-------------------------------------------------------284.4数码管显示子程------------------------------------------------------------28 4.5黄灯闪烁子程序--------------------------------------------------------284.6车流量算法子程序------------------------------------------------------284.7紧急车辆子程序------------------------------------------------------------28 第五章系统实现------------------------------------------------------------- 305.1仿真软件简介-------------------------------------------------------------285.1.1Proteus软件简介--------------------------------------------------------- 45.1.2Keil软件简介-----5.2仿真实现------------------------------------------------------5.3实物设计-----结束语---------------------------------------------------------------------------32 致谢---------------------------------------------------------------------------- 33 参考文献------------------------------------------------------------------------ 34 ABSTRACT------------------------------------------------------------------------------------------------------------- 34附录程序清单------------------------------------------------------------------35基于单片机的交通灯控制系统设计摘要:本文根据AT89C51单片机的特点及交通灯在实际控制中的特点,提出了一种用单片机自动控制交通灯以及时间显示的方法,同时给出了软硬件设计的方法。
基于51单片机智能灯设计与仿真
3、启动仿真
在完成电路设计和程序编写后,我们可以启动仿真来观察系统的运行情况。通 过调整光照传感器的参数或程序中的逻辑,我们可以测试智能灯在不同情况下 的亮灭状态和性能表现,从而对设计进行优化。
四、结果分析
通过仿真,我们可以观察到51单片机智能灯在不同的光照条件下可以实现准确 的亮灭控制。同时,通过测量仿真过程中的电压和电流数据,我们可以分析智 能灯在不同场景下的能耗表现。结果表明,51单片机智能灯控制系统在实现智 能化控制的同时,还有效降低了能源消耗,达到了节能减排的目的。
51单片机智能灯控制系统主要由51单片机、光照传感器、LED灯等组成。其中, 光照传感器负责采集环境光照信息,并将信息传输给51单片机;51单片机根据 接收到的信息控制LED灯的亮灭,以达到节能和智能化控制的目的。
2、电路设计
51单片机智能灯的电路设计主要包括电源电路、光照传感器电路和LED灯驱动 电路。电源电路为整个系统提供稳定的工作电压;光照传感器电路负责采集环 境光照信息并传输给51单片机;LED灯驱动电路则根据51单片机的指令控制 LED辆和行人的流量情况,控制交通灯的状态。当车辆较多时,延长绿灯时 间,减少红灯时间;当行人较多时,延长红灯时间,减少绿灯时间。同时,通 过按键控制程序,实现手动/自动切换功能。
3、时间显示
通过LED显示电路实时显示交通灯的状态和时间。通过编写程序,将交通灯状 态和时间以数字或字符的形式显示在LED显示屏上。
五、结论
本次演示详细介绍了基于51单片机的智能灯设计与仿真过程。通过电路设计和 软件编程,我们实现了对环境光照的智能检测和LED灯的亮灭控制。通过仿真 分析,我们验证了该系统的准确性和节能效果。51单片机智能灯的设计与仿真 为智能家居的发展提供了新的思路和方法,具有广泛的应用前景和推广价值。
基于51单片机的交通灯设计
基于51单片机的交通灯设计交通信号灯是指示人和交通工具在道路交通中行进方向或行为的一种交通设施。
在设计交通信号灯时,应考虑交通流量、车辆速度、交叉口结构等因素,以确保交通的顺畅和安全。
本文将基于51单片机设计一种交通信号灯系统,并详细介绍其原理和实现方法。
交通信号灯系统的设计目的是通过控制红、黄、绿三种不同颜色的灯,指示车辆和行人在交通路口安全行驶。
在单片机设计中,我们将使用三个LED灯分别代表红、黄、绿三种状态。
通过控制LED的亮灭,来实现交通信号灯的变换。
首先,我们需要选择适当的硬件设备进行交通信号灯的设计。
在51单片机设计中,可以选择STC89C51或者AT89C51等型号的单片机。
此外,还需要准备三个LED灯、电阻、电容、按键等器件。
接下来,我们将进行电路设计。
在设计电路时,首先将三个LED灯连接到单片机的三个IO口上,每个IO口通过一个电阻与正极连接,负极与GND连接。
此外,在单片机的一个IO口上连接一个按键,通过按下按键触发程序的执行。
在编写程序之前,首先需要确立交通信号灯的运行逻辑。
一般而言,交通信号灯的运行逻辑如下:1.全红状态:所有车辆和行人均停止,任何方向都不可行驶。
2.绿灯状态:一些方向的车辆和行人可以行驶,其他方向均不可行驶。
3.黄灯状态:信号灯将要变成红灯或绿灯,此时车辆和行人应注意刹车或等待。
接下来,我们将编写程序并烧录到单片机中。
在程序中,需要使用到定时器和中断来进行交通信号灯的控制。
具体步骤如下:1.在程序中定义三个LED灯所对应的IO口。
2.初始化定时器,并设置定时时间,用于控制信号灯的变化。
3.设置中断,用于按键的检测和处理。
4.在主循环中,不断检测按键状态,当按键按下时,切换信号灯的状态。
5.根据信号灯的状态,控制LED灯的亮灭。
在程序设计中,应充分考虑各种异常情况和执行顺序,以保证交通信号灯的正常运行。
此外,还可以增加一些辅助功能,如倒计时显示等,以提高交通信号灯的可视性和安全性。
《单片机原理及应用》基于51单片机的交通信号灯模拟控制系统实验
《单片机原理及应用》基于51单片机的交通信号灯模拟控制系统实验交通信号灯是城市交通管理中常见的一种交通管理设施。
它通过控制不同方向的红绿黄灯亮灭时间来指示不同方向的车辆和行人通行状态,有效地维护交通秩序和保障交通安全。
本实验基于51单片机,通过模拟控制系统实现交通信号灯的控制,以深入理解单片机原理及应用。
首先,我们需要明确实验的目标和要求。
通过本实验,我们可以掌握以下内容:1.掌握51单片机的基本工作原理和硬件结构;2.熟悉51单片机的编程语言和编程环境;3.理解交通信号灯的工作原理和设计要求;4.掌握基于51单片机的交通信号灯控制系统的设计和实现。
本实验的主要设备和材料包括:51单片机开发板、交通信号灯模拟电路、继电器、电压稳压模块、LED等。
实验步骤如下:1.搭建交通信号灯的模拟电路。
根据交通信号灯的工作原理,将LED 灯分别连接到单片机的不同IO口上,并通过继电器和电压稳压模块控制电路的通断,以实现红、黄、绿三个灯的交替亮灭。
2.编写单片机的控制程序。
根据交通信号灯的工作模式,编写单片机的控制程序,通过控制不同IO口的电平状态,实现红、黄、绿三个灯的控制。
程序中需要设置不同灯的时间参数和控制逻辑,确保交通信号灯能够按照预定的时间间隔进行工作。
3.上传程序到单片机。
将编写好的单片机控制程序通过编程器上传到单片机上,使得单片机能够执行相应的控制逻辑。
4.调试和测试。
将交通信号灯模拟电路的电源插入电源插座,观察LED灯的亮灭情况,并根据设定的时间参数检查交通信号灯是否按照预期工作。
如有需要,可以通过修改程序中的参数,调整交通信号灯的控制逻辑。
5.实验总结。
在实验完成后,我们应该对实验结果进行总结和分析,检查实验是否达到预期的目标和要求。
同时,我们还可以对实验中遇到的问题和解决方法进行总结,为今后的实验和应用提供借鉴。
通过这个实验,我们可以深入了解51单片机的原理和应用,并在实践中掌握交通信号灯的控制方法。
《单片机原理及应用》基于51单片机的交通信号灯模拟控制系统
《单片机原理及应用》基于51单片机的交通信号灯模拟控制系统一、实验目的和要求1.掌握单片机基本资源使用。
2.掌握单片机电路原理图绘制和仿真。
3.掌握单片机C语言软件开发以及联合仿真。
二、实验内容和原理实验内容:1.根据题目绘制单片机电路原理图。
2.绘制程序流程图并编写C语言程序3.在仿真程序中进行联合仿真,最后提交实验报告三、主要仪器设备keilC,proteus。
四、操作方法与实验步骤4.1 题目要求用单片机设计一个十字路口交通灯模拟控制系统,要求东西、南北两个方向都通行20秒,警告3秒,禁止20秒,同时要考虑到东西、南北两个方向出现异常情况,出现异常情况器该方向通行60秒。
4.2 系统设计思路南北的红,绿,黄发光二极管与单片机AT89C51单片机的P1.0,P1.1,P1.2相连。
东西的红,绿,黄发光二极管与单片机AT89C51单片机的P1.4,P1.5,P1.6相连。
因此改变单片机P1口的输出编码就可控制交通灯的输出状态。
程序中实现交通灯正常运行过程,两种异常用外中断0和外中断1管理,外接开关模拟异常发生,在中断服务程序中实现异常处理,在主程序中开放外中断0和外中断1,设置为边沿触发方式。
时间单位采用500ms信号,由定时/计数器0定时50ms,循环10次产生,定时/计数器0采用查询方式,主程序中设定定时/计数器0的工作方式:方式1。
4.2 电路图绘制(包含详细的参数选定文字和图像叙述)C1=1nF,C2=1nF,C3=1nF,R1=300,R2=300,R3=300,R4=300,R5=300,R6=300,R7=300,R8=300,R9=300,R10=300,R11=300,R12=300,R13=300,时间单位=500ms。
4.3 C程序编制(包含详细的文字和程序流程图)#include<reg51.h>void delay 500ms(unsigned char k); void main(void){SP=0x60;TMOD=0x01;IE=0x85;TCON=0x05;while(1){p1=0x21;delay500ms(40);p1=0x41;delay500ms(6);p1=0x12;delay500ms(40);p1=0x14;delay500ms(6);}void int_0(void) interrupt 0{unsigned char i1,i2;for(i2=0;i2<60;i2++){p1=0x21;delay500ms(1);p1=0x00;delay 500ms(1);}p1=i1;}void int_(void) interrupt 2 {unsigned char j1,j2;j1=p1;for(j2=0;j2<60;j++){p1=0x12;delay500ms(1);p1=0x00;delay500ms(1);}}void delay500ms(unsigned char m) {unsigned char k1,k2;TH0=0x3c;TL0=0xB0;TR0=1;for(k1=0;k1<m;k1++){for(k2=0;k2<10;k2++){while(!TF0);!TF0=0;TH0=0x3c;TL0=0xB0;}}}4.3 仿真分析(包含文字和图像叙述)五、讨论和心得虽然做的实验是比较简答的,但麻雀虽小五脏俱全,因此自己也通过实验课学到了很多知识。
基于51单片机控制的交通灯的课程设计
电子产品实训报告基于单片机的交通灯控制学院:机电工程学院专业:应用电子技术班级:09应电1班摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用STC-51系列单片机STC89C51来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。
本系统实用性强、操作简单、扩展功能强。
关键词:单片机交通灯电路连接图 Proteus仿真图一.引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
二.单片机概述1单片机的历史自1971年美国INTEL公司制造出第一块4位微处理器以来,其发展十分迅猛,到目前为止,大致可分为以下五个阶段[1]。
(1)4位单片机(1971-1974)(2)低档8位单片机(1974-1978)(3)高档8位单片机(1978-1982)(4)16位单片机(1982-1990)(5)新一代单片机(90年代以来)2单片机的应用因单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,故在国民经济建设、军事及家用电器等领域均得到广泛的应用。
基于51单片机交通信号灯控制毕业设计
第一章绪论近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
随着中国加入WTO,我们不但要在经济、文化等各方面与国际接轨,在交通控制方面也应与国际接轨。
如果交通控不好道路还是无法保障畅通安全。
作为交通控制的重要组成部份单片机。
因此,本人选择制作交通灯作为课题加以研究。
我国大中城市交通系统压力沉重。
交通管制当以人性化、智能化为目的,做出相应的改善。
以此为出发点,本系统采用的单片机控制的交通信号灯。
该系统分为单片机主控电路、键盘控制电路和显示电路三部分组成。
并在软硬件方面采取一些改进措施,实现了根据十字路口车流量、进行对交通信号灯的智能控制,使交通信号灯现场控制灵活、有效从一定程度上解决了交通路口堵塞车辆停车等待时间不合理等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。
1.1 课题背景随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已成为影响城市可持续发展的一个全局性问题。
而街道各十字路口,又是车辆通行的瓶颈所在。
已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。
研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通堵塞,提高畅通率具有十分现实的意义。
地面道路是一个庞大的网络,交通状况十分复杂,使目前交通控制器的单一时段控制已不能满足现代交通流量的多边性,特别是在交通流量高峰期时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。
道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源”,国内外城市的交通事故约有一半发生在交叉口。
(绝对实用)基于51单片机及数字电路的两种智能交通灯仿真与设计
(绝对实用)基于51单片机及数字电路的两种智能交通灯仿真与设计附件二:□指定类别□可选类别西南交通大学电气工程学院实验竞赛月活动实验报告(作品)工作名称:智能交通信号灯设计、仿真与实践专业:电气工程及其自动化团队成员姓名:教员:在XXXX,完成这项工作的起止时间是4月13日至5月10日三月XXXX35-1首先,话题的由来目前,交通灯安装在各种道路交叉口,并已成为最常见和最有效的交通工具分流手段。
这项技术出现在19世纪。
1858年,以燃煤气体为光源的红色和蓝色机械扳手型信号灯被安装在英国伦敦的主要街道上,以引导马车通过。
1868年,英国机械工程师奈特在伦敦威斯敏斯特议会大厦前的广场上安装了世界上最早的气体交通灯。
它由红色和绿色旋转方形玻璃灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,警察受伤,这一事件被取消。
电动交通灯出现在美国。
交通灯由红色、绿色和黄三圆形投影仪组成,1914年安装在纽约市第五大街的一座高塔上。
红灯表示“停止”,绿灯表示“通过”。
信号灯的出现使交通得到有效控制,对缓解交通流量、提高道路通行能力、减少交通事故有明显效果。
绿灯是交通信号。
面对绿灯的车辆可以直走、左转和右转,除非另一个标志禁止特定的转弯。
左转和右转的车辆必须优先考虑在路口合法行驶的车辆和通过人行横道的行人。
红灯是禁止通行的信号。
面对红灯的车辆必须在十字路口停在停车线后面。
黄灯是一个警告信号。
面对黄灯的车辆不能越过停车线,但是当它们离停车线太近而不能安全停车时,它们可以进入十字路口。
二、课题的目的和意义为了让行人更方便、更安全地通过交叉口,使车辆交通有序、规范,有必要设计更加完善、人性化、标准化的交通信号灯,以保证行人和车辆的安全通行,减少社会公共财富的损失。
为了让交通更方便,在实现交通灯基本功能的前提下,我们增加了一个蜂鸣器,不仅可以给行人提示,还可以引导盲人安全通过路口,蜂鸣器的声音还可以让司机保持警惕,大大提高了路口的交通安全。
基于51单片机的智能交通信号灯控制器设计
基于51单片机的智能交通信号灯控制器设计智能交通信号灯控制器设计摘要:本文以基于51单片机为核心的智能交通信号灯控制器为研究对象,对其系统设计、硬件、软件实现等方面进行了探讨。
该控制器能够实现红绿灯的自动控制和人工干预,有效缓解了城市交通拥堵状况,提高了城市交通的效率。
关键词:智能交通,信号灯控制器,51单片机一、绪论随着城市化进程的加速,交通状况日益复杂,交通拥堵问题日益凸显,影响着城市的生产、生活和社会发展。
因此,对城市交通控制的研究和开发具有重要的现实意义。
智能交通系统作为一种新型交通管理模式,具有重要的意义。
通信、控制和计算等技术的集成,使智能交通系统更加便利、高效和安全。
其中,信号灯控制器是智能交通系统中的重要组成部分,在城市交通中起到了重要的作用。
本文以基于51单片机为核心的智能交通信号灯控制器为研究对象,对其系统设计、硬件、软件实现等方面进行了探讨。
该控制器能够实现红绿灯的自动控制和人工干预,有效缓解了城市交通拥堵状况,提高了城市交通的效率,具有重要的实际应用价值。
二、系统设计智能交通信号灯控制器系统在设计时,需要考虑到其实用性、可靠性和安全性。
该控制器由硬件和软件两部分组成,其中硬件部分包括电路板、电源、传感器等,软件部分包括程序设计和控制。
2.1 硬件设计该控制器的硬件部分采用了51单片机作为主控芯片,通过输入输出口与其他电路板和外部设备进行连接。
其主要功能包括红绿灯的控制、人工干预、传感器输入处理等。
2.2 软件设计该控制器的软件设计主要包括程序设计和控制。
程序设计主要包括算法设计和代码实现两部分。
控制方面包括自动控制和人工干预两种方式。
三、系统实现该控制器在实现时,首先进行硬件部分板子的制作和组装,然后进行软件部分程序的编辑和载入。
在运行时,通过传感器等设备对周围环境进行感知,自动控制红绿灯的切换,并且能够通过人工干预进行信号灯的控制。
四、实验结果与分析本文开发的智能交通信号灯控制器,在实验中取得了良好的实验结果,实现了红绿灯自动控制和人工干预控制。
基于51单片机控制交通灯
目录1 绪论 (1)1.1 课题研究目的 (1)1.2 研究现状 (2)1.3 本文的主要工作 (3)2 系统方案设计 (3)2.1 总体方案设计与分析 (3)2.2 主控制器方案 (4)2.3 显示方案 (5)3 系统电路设计 (5)3.1 主控制器电路 (5)3.1.1 单片机电路 (5)3.1.2 晶振电路 (7)3.1.3 复位电路 (7)3.2 显示电路 (8)3.3 按键电路 (8)3.4 交通灯电路 (9)4 系统硬件设计 (9)4.1 主程序软件设计 (9)4.2 子程序软件设计 (11)4.2.1 显示软件设计 (11)4.2.2 按键扫描软件设计 (13)5 系统测试 (13)5.1 系统调试 (13)5.2 故障检查 (16)6硬件组装与调试 (16)6.1 系统组装 (17)6.2 上电后调试 (18)总结 (19)参考文献 (20)致谢 ...................................................................................................................错误!未定义书签。
附录 (21)附录1:成品图 (21)附录2:原理图 (22)1 绪论1.1 课题研究目的19世纪的时候,英国就出现了世界上首个交通信号灯,因为他的能源来自于煤气的交通信号灯,这种方案在后期的设备运行中很容易产生爆炸,所以后来此种交通信号灯设备就没有在出现了。
到了20世纪的时候,美国的克利夫兰市又有了交通灯设备,然而此次的能源设计方案是电力信号灯。
1930年德国有人开发了选取自动化的设计方案去操作的交通灯,这种设计标志着交通自动操作的起步。
20世纪开始,发达国家第一次选取车辆感应方案处理信号,车辆传感器的主要特点为,此设计能够按照交通拥堵的具体情况去操作交通灯运行的时间参数,这样来解决交通十字路口的拥堵问题,使得车辆可以很快的通过路口,此方案被很多地区进行使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件二:□规定类□自选类西南交通大学电气工程学院实验竞赛月活动实验(作品)报告作品名称:智能交通灯的设计、仿真及实践专业:电气工程及其自动化队员姓名:指导老师:作品完成起止时间:2012年4月13日起至5月10日止2012年3月一、课题的由来当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
二、课题的目的、意义为了使行人通过十字路口时更加方便、安全,也使车辆通行秩序化、规范化,就必须设计出更加完善、更加人性化和更加规范化的交通灯,以保障行人和车辆的安全通行,减少社会公共财富的流失。
我们为了使通行更加方便,在实现交通灯的基本功能的前提下,增设了蜂鸣器,这不仅能给行人以提示,更能引导盲人安全通过十字路口,而且蜂鸣器的声音也能是司机保持警惕,大幅度增加了十字路口交通的安全性。
我们设计的单片机控制交通灯就是基于信号灯,同时也加入了个性元素。
三、人员分工蔺子存:实现对交通灯电路的仿真,程序的编写及修改,绘制并制作印制板;俞宙杰:实物制作与连接,程序的编写及修改;王竞远:结题报告的编写,程序的编写及修改。
四、实验原理及预期结果在本次实验中,本队本队使用了单片机和数字电路两种仿真方式设计出了较为合理的交通灯方案,我们也对传统交通灯进行了适当改进,使其更适应当今复杂多变的交通环境。
(一)基于单片机原理的智能交通灯设计仿真与实践1、单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH 地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2、Proteus7与Keil3 C51的原理及仿真Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP、WIN7等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil3 C51与Proteus的联调:这是本设计仿真的核心。
在所有仿真软件以及编译器之间,只有Proteus和Keil C51之间才能实现C语言编译8051、AVR等系列单片机程序.hex文件和proteus单片机模块的完美联调。
在联调中需要用到右图所示的驱动,且需要设置Proteus启动远程调试功能,以及Keil的Option for Target‘Target1’选项中通过修改Tools.int目录调试出“调试”中的“Proteus VSM Simulator”一栏,就可以实现与Proteus的联合仿真。
3、仿真电路的功能实现在Proteus中,AT89c51单片机的仿真电路省略了复位电路、晶振以及部分固定的接口的接线,经几次修改后的仿真电路图如下:工作方式:(1)正常显示:●南北亮红灯,从24秒开始倒计时;东西亮绿灯,20秒开始倒计时●东西倒计时到0,绿灯灭,黄灯亮3秒,并倒计时●东西红灯亮,从31秒倒计时;南北绿灯亮,从25秒倒计时●南北倒计时到0,绿灯灭,黄灯亮5秒,并倒计时(2)信号灯时间调节按钮功能:●SET:按1下为调节东西绿灯显示时间;按2下为调节东西黄灯时间;按3下为调节南北绿灯时间;按4下为调节南北黄灯时间。
调时间时数码管以每秒钟3次的频率闪动,红灯时间=绿灯时间+黄灯时间+1●ADD:时间+1,长按加10●SUB:时间-1,长按减10(3)紧急情况中断功能●SW1闭合:正常显示状态和调时间状态时闭合,所有计时停止,数码管熄灭,东西南北信号灯统一亮红灯●SW1断开:数码管点亮,继续从中断时间计时,信号灯继续亮红灯,待缓冲倒计时结束后恢复正常信号灯显示4、单片机源程序:#include"at89x51.h"unsigned char num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数字0~9unsigned char ctr[]={0x7e,0xf5}; //0xfa(P3_0和P3_2为0,即高位有效)0xf5(P3_1和P3_3为0,即低位有效)//修改::0xfe(P3_7为1)unsigned char disEW[2]; //记录东西向高低位数值unsigned char disSN[2]; //记录南北向高低位数值unsigned char v;unsigned char cnt_ctr;unsigned int scdEW,scdSN;unsigned int cntSN,cntEW;unsigned char cntP3_4,cntP3_5,cntP3_6;unsigned int cnt_num,cnt_key,cnt_flash,keyMemory;int greenEW = 20,yellowEW = 3,greenSN = 25,yellowSN = 5;//延时函数,a为1延时1毫秒void delay_ms(unsigned int a){int i;while(a--){i = 70;while(i--);}}//设置红绿黄灯秒数void setSecond(void){while(P3_4 == 0);cntP3_4++; //标志设置键被按下的次数switch(cntP3_4){case 1:cntEW = 5;P1 = 0xf7;break;case 2:cntEW = 1;P1 = 0xef;break;case 3:cntSN = 1;P1 = 0xfe;break;case 4:cntSN = 3;P1 = 0xfd;break;case 5:cntEW = 5;cntSN = 5;cnt_num = 0;cntP3_4 = 0;break;}}//秒数加1void addSecond(void){while(P3_5 == 0);cnt_key = 0; //记录长按键的参数清零switch(cntP3_4){case 1:if(keyMemory != greenEW + 10) //判断按键是否已经加10,如果没有加10则秒数加1,如果已经加10则不加1{greenEW++;}if(greenEW == 90){greenEW = 0;}scdEW = greenEW;scdSN = greenEW + yellowEW + 1;break;case 2:if(yellowEW++ == 9){yellowEW = 0;}scdEW = yellowEW;break;case 3:if(keyMemory != greenSN + 10){greenSN++;}if( greenSN == 90){greenSN = 0;}scdEW = greenSN + yellowSN + 1;scdSN = greenSN;break;case 4:if(yellowSN++ == 9){yellowSN = 0;}scdSN = yellowSN;break;}}//秒数减1void subSecond(void){while(P3_6 == 0);cnt_key = 0; //记录长按键的参数清零switch(cntP3_4){case 1:if(keyMemory != greenEW - 10) //判断按键是否已经减10,如果没有减10则秒数减1,如果已经减10则不减1{greenEW--;}if(greenEW == -1){greenEW = 89;}scdEW = greenEW;scdSN = greenEW + yellowEW + 1;break;case 2:if(yellowEW-- == 0){yellowEW = 9;}scdEW = yellowEW;break;case 3:if(keyMemory != greenSN - 10){greenSN--;}if(greenSN == -1){greenSN = 89;}scdEW = greenSN + yellowSN + 1;scdSN = greenSN;break;case 4:if(yellowSN-- == 0){yellowSN = 9;}scdSN = yellowSN;break;}}//正常显示秒数void display(void){cnt_num++;if(cnt_ctr == 10){cnt_ctr = 0;P3 = 0xff;P3 = ctr[v];P2 = num[disEW[v]]; //显示东西方向秒数P0 = num[disSN[v]]; //显示南北方向秒数if(v++ == 1){v = 0;}}}//闪烁显示秒数void dspFlash(void){cnt_flash++;if(cnt_flash < 660){P3 = 0xff;//数码管灭}else{if(cnt_flash == 1333)//数码管亮1333=4000/3 即1秒闪3次{cnt_flash = 0;}if(cnt_ctr == 25){cnt_ctr = 0;P3 = 0xff;P3 = ctr[v];switch(cntP3_4){case 1:P3_0 = 1;P3_1 = 1;P2 = num[disEW[v]];break;case 2:P3_0 = 1;P3_1 = 1;P2 = num[disEW[v]];break;case 3:P3_2 = 1;P3_3 = 1;P0 = num[disSN[v]];;break;case 4:P3_2 = 1;P3_3 = 1;P0 = num[disSN[v]];break;}if(v++ == 1){v = 0;}}}}//长按加10秒void add_10s(void){cnt_key = 0;switch(cntP3_4){case 1:greenEW = greenEW + 10; //长按秒数加10if(greenEW >= 90){greenEW = 0;}keyMemory = greenEW + 10; //keyMemory用来标记秒数已经加10scdEW = greenEW;scdSN = greenEW + yellowEW + 1;break;case 3:greenSN = greenSN + 10;if(greenSN >=90){greenSN = 0;}keyMemory = greenSN + 10;scdEW = greenSN + yellowSN + 1;scdSN = greenSN;break;}}//长按减10秒void sub_10s(void){cnt_key = 0;switch(cntP3_4){case 1:greenEW = greenEW - 10; //长按秒数减10if(greenEW < 0){greenEW = 89;}keyMemory = greenEW - 10; //keyMemory用来标记秒数已经减10scdEW = greenEW;scdSN = greenEW + yellowEW + 1;break;case 3:greenSN = greenSN - 10;if(greenSN < 0){greenSN = 89;}keyMemory = greenSN - 10;scdEW = greenSN + yellowSN + 1;scdSN = greenSN;break;}}//T0中断void t0(void) interrupt 1{cnt_ctr++;if(cntP3_4 == 0){display(); //正常显示秒数}if(cntP3_4 != 0){dspFlash(); //闪烁显示秒数}if(cnt_num == 4000){cnt_num = 0;if(scdEW-- == 0){cntEW++; //东西向秒数减至0,标志位加1}if(scdSN-- == 0){cntSN++; //南北向秒数减至0,标志位加1}}switch(cntEW){case 1:scdEW = yellowEW; //东西向黄灯亮,显示黄灯秒数P1_3 = 1;P1_4 = 0;P1_5 = 1;cntEW++; //避免程序到此阻塞,故将其至为2break;case 3: //避免cntEW为2scdEW = greenSN + yellowSN + 1; //东西向红灯亮,显示红灯秒数P1_3 = 1;P1_4 = 1;P1_5 = 0;cntEW++; //避免程序到此阻塞,故将其至为4break;case 5: //避免cntEW为4scdEW = greenEW; //东西向绿灯亮,显示绿灯秒数P1_3 = 0;P1_4 = 1;P1_5 = 1;cntEW = 0;break;}switch(cntSN){case 1:scdSN = greenSN; //南北向绿灯亮,显示绿灯秒数P1_0 = 0;P1_1 = 1;P1_2 = 1;cntSN++; //避免程序到此阻塞,故将其至为2break;case 3: //避免cntSN为2scdSN = yellowSN; //南北向黄灯亮,显示黄灯秒数P1_0 = 1;P1_1 = 0;P1_2 = 1;cntSN++; //避免程序到此阻塞,故将其至为4break;case 5: //避免cntSN为4scdSN = greenEW + yellowEW + 1; //南北向红灯亮,显示红灯秒数P1_0 = 1;P1_1 = 1;P1_2 = 0;cntSN = 0;break;}if(P3_5 == 0){if(cnt_key++ == 4000){add_10s(); //长按数码管加10秒}}if(P3_6 == 0){if(cnt_key++ == 4000){sub_10s(); //长按数码管减10秒}}disEW[0] = scdEW/10;disEW[1] = scdEW%10;disSN[0] = scdSN/10;disSN[1] = scdSN%10;}//主函数void main(void){TMOD = 0x02; //设置定时器0为工作方式2TH0 = 0x06;TL0 = 0x06; //初始化8位定时器(256 - 6)*40000 = 1sEA = 1; //总中断允许ET0 = 1; //T0中断允许TR0 = 1; //打开T0中断EX0 = 1; //xiugai::开外部中断P1 = 0xf3; //东西向绿灯,南北向红灯P3_4 = 1;scdEW = greenEW; //设置东西向显示秒数scdSN = greenEW + yellowEW + 1; //设置南北向显示秒数while(1){if(P3_4 == 0){delay_ms(15);if(P3_4 == 0){setSecond(); //设置红绿黄灯秒数}}else if(P3_5 == 0){delay_ms(15);if(P3_5 == 0){addSecond();}}else if(P3_6 == 0){delay_ms(15);if(P3_6 == 0){subSecond();}}keyMemory = 200; //给keyMemory任意赋值,防止长按加10或减10后不能正常加减}}void exter0() interrupt 0 //紧急中断按钮{P1_2=0;P1_5=0;P1_3=1;P1_0=1;P2=0;P0=0;}5、实物的制作(二)基于数字电路原理的智能交通灯设计仿真与Altium Designer PCB板电路实物制作1、Multisim 10简介相信很多电子爱好者都对Multi sim并不陌生吧?Multi sim 10是加拿大图像交互技术公司(Interactive Image Technoligics简称IIT公司)推出的继EWB5.0之后电路仿真功能更强的电路仿真软件。