admin管理员组

文章数量:1621133

文末获取程序源码+论文报告+原理图源文件+仿真源文件+制作教程等全套资料

文末接受单片机课设毕设定制


功能效果演示

基于51单片机的交通灯控制系统红绿灯设计课程毕业设计

基于51单片机交通灯原理图讲解


第一章 设计的背景及意义

篇幅有限,详见文末获取

第二章 系统方案设计与要求

2.1单片机交通灯控制系统通行方案设计
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:

东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。

东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。

南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

下面我们可以用图表表示灯状态和行止状态的关系如下:

东西南北四个路口均有红绿黄3灯和数码显示管4个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2-1所示。说明:0表示灭,1表示亮。

2.2单片机交通控制系统的功能要求
本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。按键可以控制禁行、复位、东西通行、南北通行、时间加、时间减、切换等功能。

2.2.1显示模块功能
显示模块分数码管显示和LED显示,数码管倒计时显示可以提醒驾驶员在信号灯颜色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。通过两种显示结合,是本设计更合理可靠。

2.2.2 按键模块功能
本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。按键可以设置系统的运行状态,禁行状态为数码管均显示“00”,红灯全亮;复位按键可以将整个系统复位;东西通行是东西方向的绿灯亮,南北方向上的红灯亮;南北通行为南北方向上的绿灯亮,东西方向上的红灯亮;时间加减可以设置通行和等待通行的时间;切换按键可以切换加减的方向时间。通过安检模块的控制,使得整个系统具有灵活性,实用性。

2.3单片机交通控制系统的基本构成及原理
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C52单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。本系统实用性强、操作简单、扩展功能强。

在相同的时间里提高通车的质量、效率。并能在高峰期根据实际状况结合方程式控制按钮来调整主次干道的通车时间,降低交通拥挤堵塞现象。并使交通控制系统具有紧急控制,使救护车、救护车通过时, 使两个方向均亮红灯,救护车和消防车通过后,恢复原来状态,增加对出现特殊情况的处理能力。

本单片机控制交通灯系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,单片机对此进行具体处理,及时调整控制指挥。如图(图2-2)所示:

键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。

据此,本设计系统以单片机为控制核心,连接成最小系统,和按键设置模块等产生输入,信号灯状态模块,LED倒计时模块和接受输出。系统的总体框图如上所示。

第三章 系统硬件电路的设计

3.1系统硬件总电路构成
实现本设计要求的具体功能,可以选用stc89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和模式选择按钮和紧急按钮等。

本系统以单片机为核心,组成一个处理、自动控制为一身的闭环控制系统。系统硬件电路由单片机、状态灯、LED显示、按键等组成。其具体的硬件电路总图如图3-1所示。其中P0,P1,用于送显LED数码管的型和位,P2用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3用于口按键控制。

3.2单片机系统(篇幅有限,详见文末获取)

3.3显示系统(篇幅有限,详见文末获取)

3.4信号显示驱动电路
三极管放大作用是通过小电流控制大电流晶体三极管是一种电流控制元件。

发射区与基区之间形成的PN结称为发射结,而集电区与基区形成的PN结称为集电结。晶体三极管按材料分常见的有两种:锗管和硅管。而每一种又有NPN和PNP两种结构形式,使用最多的是硅NPN和PNP两种,两者除了电源极性不同外,其工作原理都是相同的,三极管工作在放大区时,三极管发射结处于正偏而集电结处于反偏,集电极电流Ic受基极电流Ib的控制,Ic 的变化量与Ib变化量之比称作三极管的交流电流放大倍数β(β=ΔIc/ΔIb, Δ表示变化量。)在实际使用中常常利用三极管的电流放大作用,通过电阻转变为电压放大作用。三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。

3.5键盘输入电路(篇幅有限,详见文末获取)

第四章 系统软件程序的设计

4.1程序主体设计流程
全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图(图4-1)所示。


4.2子程序模块设计
按键模块的控制是调用中断来实现控制的,独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。


定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图如图所示。

定时中断服务程序在系统中的函数如下:

void  int_t0( )  interrupt  1   using  1
{
    TR0 =  0; 
time++; tc++; 
if(tc>=3) {tc=0;}  	
if(time==100) 
          {
             waittime--;
           }
else if(time==200) 
{
 waittime--;
 sec--;
  time=0;
shu0=sec%10; 
shu1 =sec/10;  
 }
     TH0 =  0xee;  
     TL0 =  0x00;  
     if(tc==0)    { smdis=md[shu0]; weishuang0  =  0; weishuang1  =  1;   weishuang2  =  1; }       
else if(tc==1) { smdis=md[shu1]; weishuang0  =  1; weishuang1  =  0;   weishuang2  =  1; }           
    else if(tc==2) { smdis=md[shu2]; weishuang0  =  1; weishuang1  =  1;   weishuang2  =  0; }               
			 //if(tc>=3) {tc=0;} 
TR0 =  1; 
 }

我们由在主程序中设定的初值可知T0定时5毫秒,这样每当T0到5毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器加1,然后判断它是否为200。为零表示1秒已到可以返回到输出时间显示程序。并使计数器变量清0。


附录一(电路原理图)

附录二(仿真图)


附录三(实物图)


点击下方小卡片,那边发送“资源”两个字

获取程序源码+论文报告+原理图源文件+仿真源文件+制作教程等全套资料

本文标签: 交通灯毕业设计单片机控制系统课程