吴昊交通信号灯控制器的设计.docx
《吴昊交通信号灯控制器的设计.docx》由会员分享,可在线阅读,更多相关《吴昊交通信号灯控制器的设计.docx(15页珍藏版)》请在冰豆网上搜索。
吴昊交通信号灯控制器的设计
通信综合设计课程设计(论文)
题目:
交通信号灯控制器的设计
摘要
单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
然而随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。
现在交通系统已不能满足经济发展的需求。
在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。
本次课设采用MSC-51系列单片机AT89C51为中心器件来设计交通灯控制器,通过P2口设置红、绿灯燃亮的功能;红绿灯循环燃亮,倒计时剩2秒时黄灯闪烁警示;之后红绿灯变换继续之前的变化过程。
关键字:
单片机89C51;数码显示;交通灯
目录
第1章设计方案论证1
1.1设计的应用意义1
1.2设计方案选择1
1.3总体设计方案框图及分析2
第2章硬件电路设计3
2.1晶振电路设计3
2.2复位电路的设计3
2.3单片机引脚及功能4
2.4数码显示电路5
2.5交通灯显示电路6
第3章程序设计8
3.1程序流程图8
3.2源程序清单9
第4章设计总结11
参考文献12
附录1:
13
附录2:
14
第1章设计方案论证
1.1设计的应用意义
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。
智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。
使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
1.2设计方案选择
方法一:
采用MSC-51系列单片机AT89C51来设计交通灯控制器,实现了能根据实际车流量通过AT89C51芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩2秒时黄灯闪烁警示。
提高单片机系统的抗干扰性;绿灯时间可检测车流量并可通过数码管显示。
方法二:
采用MSC-51系列单片机ATSC52为中心器件来设计交通灯控制器,通过P2口设置红、绿灯燃亮的功能;红绿灯循环燃亮,倒计时剩2秒时黄灯闪烁警示;之后红绿灯变换继续之前的变化过程。
此方法电路简单,且使用单片机ATSC52,性能较单片机ATSC51好。
由于因此本次课设要求,故采用方法一。
1.3总体设计方案框图及分析
任务和要求:
完成交通信号灯控制器的硬件和软件设计。
设计任务包括:
1、系统硬件框图设计说明
2、使用proteus7完成系统电气原理图设计
通过AT89C51并接数码管及发光二极管来模拟交通灯的变化规律。
八个数码管用来显示秒值,东、西、南、北各两个。
12个发光二极管,东、西、南、北各三个,分别为红、绿、黄三种颜色。
通车时间为20秒,绿灯闪烁时间为3秒,黄灯时间为2秒。
3、在keil中完成程序的编辑和调试;
4、通过keil和proteus进行联合仿真,真正模拟交通灯系统的运行规律。
第2章
硬件电路设计
2.1晶振电路设计
晶振电如图:
为了保持了电路中所提供的频率是稳定的,故采用晶振电路,并且晶振电路采用的是外部晶振电路,两个33PF电容并联接地,并在中间再并联12M的晶振,晶振电路的作用就是保持外部晶振电路的振荡频率与89C51的内部频率一致,因此可输出稳定的频率。
2.2复位电路的设计
复位是单片机的初始化操作,只需给89C51的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使89C52复位。
复位时,PC初始化为0000H,使89C52单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当程序运行出错(如程序跑飞),或操作错误使系统处于死锁状态时,也需按复位键是RST脚为高电平,使89C51摆脱“跑飞”或“死锁”状态而从新启动。
复位电路图如下:
复位操作还对其他一些寄存器有影响,复位时,SP=07H,而P1到P3的引脚为高电平。
另外,在复位有效期间,89C51的ALE引脚和PSEN引脚均为高电平,且内部RAM的状态不受复位影响。
2.3单片机引脚及功能
单片机引脚图如下:
图2.3单片机
89C51的引脚分为三类:
第一类为电源和时钟引脚:
1)电源引脚:
电源引脚接入单片机的工作电源。
(1)Vcc(40引脚):
接+5V电源。
(2)Vss(20引脚):
接地。
2)时钟引脚
(1)XTAL1(19引脚):
片内振荡器反相放大器和时钟发生器电路的输入端。
(2)XTAL2(18引脚):
片内振荡器反相放大器的输出端。
第二类为控制引脚:
(1)RST(9引脚):
复位信号输入端,高电平有效。
(2)EA/Vpp(31引脚):
EA为外部程序存储器访问允许控制端,Vpp为该引脚的第二功能,为编程电压输入端。
(3)ALE/PROG(30引脚):
ALE为低8位地址锁存允许信号,PROG为该引脚的第二功能,在对片内Flash存储器编程时,此引脚作为编程脉冲输入端。
(4)PSEN(29引脚):
片外程序存储器的读选通信号。
第三类为I/O口引脚
(1)P0口:
8位,漏极开路的双向I/O口,可作为地址总线(低8位)及数据总线的分时复用端口。
(2)P1口:
8位,准双向I/O口,具有内部上拉电阻。
(3)P2口:
8位,准双向I/O口,具有内部上拉电阻。
(4)P3口:
8位,准双向I/O口,具有内部上拉电阻。
2.4数码显示电路
数码显示电路图如下:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
2.5交通灯显示电路
交通灯显示电路如下:
LED显示器有共阴极和共阳极两种。
用阴极LED显示器的发光二极管的阴极连接在一起,通常此共阴极接地。
当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
同理,用阳极LED显示器的发光二极管的阴极连接在一起,通常此共阳极接地。
当某个发光二极管的阴极为低电平时,发光二极管点亮,相应的段被显示。
本次课设所使用的是共阳极。
第3章
程序设计
3.1程序流程图
总程序流程图:
南北红3s,东西闪3s
南北红2s,东西黄2s
结束
图3.1总程序流程图
3.2源程序清单
#include
unsignedints,n;
voiddelay(intm);
voidmain()
{
s=50;//表示红绿灯循环的周期
n=0;
TMOD=0x01;//用T0定时
TH0=0x3c;//给T0定时器的高8为赋初值
TL0=0xb0;//给T0定时器的低8为赋初值
EA=1;//开启中断
ET0=1;//允许T0中断
TR0=1;//开启定时器T0
while
(1)
{
if(s>30){P1=0x1E,P2=(((s-25)/10)<<4)+((s-25)%10),P0=(((s-30)/10)<<4)+((s-30)%10);delay(20);}
elseif(s>27){
switch(s)
{
case30:
P1=0x1F;break;case29:
P1=0x1E;break;case28:
P1=0x1F;break;
}P2=s-25,P0=s-27;
delay(20);
}elseif(s>25){P1=0x1D,P2=s-25,P0=s-25;delay(20);}
elseif(s>5){P1=0x33,P2=(((s-5)/10)<<4)+((s-5)%10),P0=((s/10)<<4)+(s%10);delay(20);}
elseif(s>2){
switch(s){case5:
P1=0x3B;break;case4:
P1=0x33;break;case3:
P1=0x3B;break;
}P2=s-2,P0=s;delay(20);}
else{P1=0x2B,P2=s,P0=s;delay(20);}
}
}
voidTimer0()interrupt1
{
TH0=0x3c;
TL0=0xb0;
n++;
if(n==20)
{
n=0;
s--;
if(s==0)s=50;}
}
voiddelay(intm)
{
unsignedinti,j;
for(i=0;i}
第4章
设计总结
本次课设运用单片机设计了交通灯的控制电路,采用MSC-51系列单片机ATSC51为中心器件来设计交通灯控制器,通过P2口设置红、绿灯燃亮的功能。
利用数码管显示主干道和支干道的倒计时,利用发光二极管显示红、黄绿三个颜色的交通灯。
将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。
这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。
同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”。
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
实现当支干道无车时亮红灯,则主干道处于允许通行状态亮绿灯。
每次允许通行时间结束,其绿灯变黄灯后再变成红灯。
此25秒钟内原红灯变,5秒钟结束由红灯变成绿灯,即一干道通行停止,另一干道仍不允许通行。
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、状态显示、倒计时模块等。
参考文献
[1]徐亲知,陈淑华.石油经济学.第二版.哈尔滨:
黑龙江人民出版社,1988:
38-135
[2]张洪润,张亚凡.单片机原理及应用[J].清华大学出版社,2006
[3]边海龙,孙永奎.单片机开发与典型工程项目实例详解[J].电子工业出版社,2008
[4]王为青,邱文勋.51单片机开发案例精选[J].人民邮电出版社,2009
[5]刘智勇,智能交通控制理论及其应用[M].北京:
科学出版社.2008
[6]史忠科,黄辉生等.交通控制系统导论[M].北京:
科学出版社.2007
[7]陆化普,智能运输系统[M].北京:
人民交通出版社.2010
[8]余发山,单片机原理及应用技术[M].徐州:
中国矿业大学出版社.2007
附录1:
整体电路原理图
附录2:
元器件清单
元器件列表
器件名称
数量
参数
发光二极管
12
红,黄,蓝
数码管
4
1位
开关
2
电容
3
33pf
晶振
1
12MHZ
电阻
6
1
10
电源
4
单片机89C51
1