单片机交通灯.docx

上传人:b****5 文档编号:12120576 上传时间:2023-04-17 格式:DOCX 页数:20 大小:1.69MB
下载 相关 举报
单片机交通灯.docx_第1页
第1页 / 共20页
单片机交通灯.docx_第2页
第2页 / 共20页
单片机交通灯.docx_第3页
第3页 / 共20页
单片机交通灯.docx_第4页
第4页 / 共20页
单片机交通灯.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机交通灯.docx

《单片机交通灯.docx》由会员分享,可在线阅读,更多相关《单片机交通灯.docx(20页珍藏版)》请在冰豆网上搜索。

单片机交通灯.docx

单片机交通灯

第一章前言

城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。

在其各个发展阶段,由于交通的各种矛盾不断出现,人们总是尽可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。

早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。

世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。

1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。

1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。

早期的交通信号灯使用“固定配时”方式实行自动控制,这种方式对于早期交通流量不大的情况曾起过一定的作用。

但随着汽车工业的发展、交通流量增加、随机变化增强,采用以往那种单一模式的“固定配时”方式已不能满足客观需要,于是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方案的控制器[1]。

20世纪30年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当时使用的车辆检测器是气动橡皮管检测器。

车辆感应控制器的特点是它能根据检测器测量的交通流量来调整绿灯时间的长短,使绿灯时间更有效地被利用,减少车辆在交叉口的时间延误,比定时控制方式有更大的灵活性。

车辆感应控制的这一特点刺激了车辆检测器技术的发展[2]。

继气动橡皮管式检测器之后,雷达、超声波、光电、地磁、电磁、微波、红外以及环形线圈等检测器相继问世。

当今在城市道路交通自动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器。

超声波检测器主要在日本等少数国家得到广泛应用。

计算机技术的出现为交通控制技术的发展注入了新的活力,更是实现了以一个城市或者更大地域,而非简单的一个路口的交通总体控制系统。

1952年,美国科罗拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方案自动选择式信号灯控制[3],而加拿大多伦多市于1964年完成了计算机控制信号灯的实用化,建立了一套由IBM650型计算机控制的交通信号协调控制系统,成为世界第一个具有电子数字计算机城市交通控制系统的城市[4]。

交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分必要。

智能化交通管理体系在国外已经有了40多年的发展历史,是目前发达国家普遍采用的交通管理方式,这种方式是在发达的交通网络基础上,应用卫星定位系统,对所辖区域的交通流量实施有效控制,使有限的交通网络功能得到充分合理的利用,极大发挥城市的载体功能。

智能交通系统将大大提高交通效率而节省大量的燃料和时间,除此之外,智能交通系统能够减少交通事故,减少因事故造成部分经济损失。

在与世界发达国家机动车人均拥有量差距还很大的情况下,我国一些特大城市的交通拥堵已排在世界前列。

在2002年北京召开的“第二届国际智能交通系统技术研讨暨技术与产品展览会”上透露,我国将投资20亿元对北京、上海、天津、重庆、广州、深圳、济南、青岛、杭州、中山10个城市进行交通智能化改造[5]。

目前国内外对智能交通系统的理解不尽相同,但不论从何种角度出发,有一点是共同的:

智能交通系统是用各种高新技术,特别是电子信息技术提高交通效率,增加交通安全性和改善环境的技术经济系统。

日本、欧洲等众多国家和地区在智能交通系统方面都取得了相当大的进展,对当地交通运输效率的提高起了关键性的作用。

 

第二章设计要求

2.1基本要求

交通灯智能控制器主要由STC89C52单片机、数码管倒计时显示、LED红绿灯指示、紧急通车的中断按键模式组成。

其主要功能:

1).倒计时功能

根据国家标准和道路的实际情况,数码管采用两位共阳数码管就能满足需要,它能够提醒驾驶者通行和停止的剩余时间,帮助驾驶者在复杂的道路情况下做出通行或者停车的合适选择,这种直观的显示使得路口更加畅通,有效的保障了人们的生命安全。

2).信号灯变化

中华人民共和国道路交通安全法实施条例第三十八条,机动车信号灯和非机动车信号灯表示:

绿灯亮时,准许车辆通行,但转弯的车辆不得妨碍被放行的直行车辆、行人通行;黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。

在本设计中,设有红绿黄三种LED灯,但由于材料所限均有红色LED灯代替。

3).紧急中断

交通路口出现紧急状况在所难免,如特大事件发生,消防车、救护车等急行车通过时,应该保证车辆的顺利通行,毕竟这种情况应该是分秒必争的,时时刻刻关系着公共财产安全和个人安危。

因此需要在设计中加入按键进行中断控制,当紧急情况发生时,各路口全部红灯,倒计时显示停在当前时间。

路面情况正常后,再次按键,交通灯恢复中断前状态,数码管继续倒计时。

2.2设计方案

设计本系统能够实现带倒计时的A、B两个方向车辆绿灯通行、红灯停止的基本功能,并具备紧急中断功能。

1)起始状态为A方向红灯,倒计时显示为31,B方向为绿灯,倒计时显示为26。

2)按下开关K1:

A方向红灯,倒计时从31——5,B方向绿灯,倒计时26——0;

A方向红灯,倒计时从4——0,B方向黄灯,倒计时4——0;

A方向绿灯,倒计时从26——0,B方向红灯,倒计时31——5;

A方向黄灯,倒计时从4——0,B方向红灯,倒计时4——0;

一直循环此过程。

3)按下开关K2:

紧急中断,A、B方向倒计时停。

4)解除中断

再次按下开关K1,系统恢复中断前状态。

 

第三章系统硬件设计

3.1系统构成

交通灯控制系统可用单片机直接控制信号灯的状态变化,又接入数码管就可以显示倒计时以提醒驾驶者,更具人性化。

增加按键中断,可以对紧急事件进行控制。

单片机电路主要完成的任务是控制红绿灯的规律转换,数码管倒计时的显示和中断延时控制。

整个系统由单片机电路、数码管倒计时显示电路、LED红绿灯、中断按键、电源和串口通讯等部分构成。

系统硬件框图如图3-1所示。

图3-1系统硬件框图

由于本系统的设计是在C版基础上进行的扩展,所以只需扩展6个电阻,6个发光二极管即可。

图3-2C版原理图

3.2七段数码管

LED有着显示亮度高、响应速度快的特点,最常用的是七段式LED显示器,又称数码管[12]。

七段式LED显示器内部由7个条形发光二极管和一个小圆点发光二极管组成,根据各管亮暗组成字符。

显示原理是通过同名管脚上所加电平的高低来控制发光二极管是否点亮,而显示不同的字形。

表3-3数码管共阴字形码

显示字符段符号dp,g,f,e,d,c,b,a共阴代码

0000011113FH

10000011006H

2010110115BH

3010011114FH

40110011066H

5011011016DH

6011111017DH

70000011107H

8011111117FH

9011011116FH

3.3发光二极管

发光二极管因其驱动电压低、功耗小、寿命长、可靠性高等优点广泛应用于显示电路中。

发光二极管具有单向导电性,红色一般开启电压在1.6~1.8V之间,正向电流越大,发光越强。

使用时,应特别注意不要超过最大功耗、最大正向电流和反向击穿电压等极限参数,因此我们添加了保护电阻。

电路连接时,将发光二极管正极接电源,负极接保护电阻,再接P10——P15,依次为A方向绿黄红灯,B方向绿黄红灯。

 

第四章系统软件设计

4.1流程设计:

图4-1软件总体流程

N

Y

N

Y

 

图4-2紧急通车中断流程

 

4.2程序设计

#include

#defineuncharunsignedchar

sbitled1=P2^4;//definethefirstled-controllingline

sbitled2=P2^5;//definethesecondled-controllingline

sbitled3=P2^6;//definethethirdled-controllingline

sbitled4=P2^7;//definethefourthled-controllingline

sbita1=P1^0;//g绿

sbita2=P1^1;//y黄

sbita3=P1^2;//r红

sbitb1=P1^3;//g绿

sbitb2=P1^4;//y黄

sbitb3=P1^5;//r红

sbitK0=P2^3;//definethekey0

sbitK1=P2^2;//definethekey1

sbitK2=P2^1;//definethekey2

sbitK3=P2^0;//definethekey3

#defineab1a1=1;a2=1;a3=0;b1=0;b2=1;b3=1;//rg

#defineab2a1=1;a2=1;a3=0;b1=1;b2=0;b3=1;//ry

#defineab3a1=0;a2=1;a3=1;b1=1;b2=1;b3=0;//gr

#defineab4a1=1;a2=0;a3=1;b1=1;b2=1;b3=0;//yr

#definedig1led1=1;led2=0;led3=0;led4=0;

#definedig2led1=0;led2=1;led3=0;led4=0;

#definedig3led1=0;led2=0;led3=1;led4=0;

#definedig4led1=0;led2=0;led3=0;led4=1;

#defineshowP0//defineP0asthecodetobedisplayed

uncharnumber[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};

uncharone;

uncharten;

uncharhundred;

uncharthousand;

ints;

s=0;

//**************1ms延时子程序***************

voiddelay_ms(unsignedinttime)

{

unsignedinti,j;

for(i=time;i>0;i--)

for(j=112;j>0;j--)

{

if(K1==0)

{

s=0;

}

}

}

//*************************************************

voidT0_init(void)

{

TMOD=0x01;//choosethemode1

TL0=0x66;//every6msinterruptonce

TH0=0xea;

TF0=0;//cleartheinterrupt

ET0=1;//permitttheinterrupt

EA=1;//openthechiefinterrupt

TR0=1;//runthetimer

}

//**********themainfunction******************

voidmain(void)

{

//unchari,j,k,m;

inti,j,k,m,p;

T0_init();

i=6;

j=2;

k=1;

m=3;

one=number[i];

ten=number[j];

hundred=number[k];

thousand=number[m];

p=0;

ab1;

while

(1)

{

if(K0==0)

{

delay_ms(20);

if(K0==0)

{

s=1;

while(s)

{

k--;

if(k==-1)

{

k=9;

m--;

if(m==-1)

{

if(p==0)

{

k=6;

m=2;

}

elseif(p==1&&i==5)

{

k=4;

m=0;

ab4

}

elseif(p==1&&i==0)

{

k=1;

m=3;

}

}

}

i--;

if(i==-1)

{

i=9;

j--;

if(j==-1)

{

if(p==0&&k==4)

{

i=4;

j=0;

ab2;

}

elseif(p==0&&k==6)

{

i=1;

j=3;

p=1;

ab3;

}

elseif(p==1&&k==1)

{

i=6;

j=2;

p=0;

ab1;

}

}

}

one=number[i];

ten=number[j];

hundred=number[k];

thousand=number[m];

delay_ms(1000);

}

}

}

}

}

voidtime_display(void)interrupt1

{

staticuncharshow_bit=1;

TL0=0x66;//定时器装入初值

TH0=0xea;

switch(show_bit)//动态循环显示

{

case1:

{

dig4;

show=thousand;

show_bit=2;

break;

}

case2:

{

dig3;

show=hundred;

show_bit=3;

break;

}

case3:

{

dig2;

show=ten;

show_bit=4;

break;

}

case4:

{

dig1;

show=one;

show_bit=1;

break;

}

}

}

 

第五章硬件焊接与软件调试

5.1硬件焊接

1)检查各种元件是否完好。

2)确定发光二极管引脚,长脚为正极,短脚为负极。

3)焊接元件。

4)检查电路连接是否存在短路或者开路。

5)利用下载编程烧录软件将事先已经编译生成的.hex文件写入单片机中,根据软件提示上电,程序写入后,根据实际显示进行软件和硬件互相配合调试。

5.2软件调试

程序调试中出现的问题:

数码管显示闪烁频繁

解决方法:

增大定时器初值

经过调试,系统能够实现预期功能。

5.3实验结果

 

第六章总结

此次课程设计完成了具有中断紧急通车,数码管倒计时显示,车辆通行功能的交通智能控制系统。

而且在理论基础之上,又进行了软件汇编程序设计和实物焊接制作。

实物与计算机连接,USB接口提供直流电,利用软件将程序在线下载到单片机中。

通过观察实物的运行状态,修改软件程序,不断调试,从而完善了实物的交通灯系统设计。

从总体来说,基本上完成了课题的要求。

本设计中实物所呈现的交通灯状态清晰明了,倒计时显示醒目易懂,紧急通车模式对现实中的重大事故处理有一定的保护意义。

但是将本课题与国际先进的交通控制系统进行比较发现,由于考虑实物制作的成本和时间问题,未加入车流量和违章车辆检测模块,不能对车流量和违章情况进行实时的监测,不能达到倒计时时长自动调整功能,这还有待在将来的其他课题中继续完善。

 

第七章致谢

感谢学校安排了本次课程设计,也感谢本次课程设计中其他同学给我的帮助和老师对我的指导

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1