课设交通灯.docx

上传人:b****6 文档编号:7716883 上传时间:2023-05-12 格式:DOCX 页数:14 大小:262.28KB
下载 相关 举报
课设交通灯.docx_第1页
第1页 / 共14页
课设交通灯.docx_第2页
第2页 / 共14页
课设交通灯.docx_第3页
第3页 / 共14页
课设交通灯.docx_第4页
第4页 / 共14页
课设交通灯.docx_第5页
第5页 / 共14页
课设交通灯.docx_第6页
第6页 / 共14页
课设交通灯.docx_第7页
第7页 / 共14页
课设交通灯.docx_第8页
第8页 / 共14页
课设交通灯.docx_第9页
第9页 / 共14页
课设交通灯.docx_第10页
第10页 / 共14页
课设交通灯.docx_第11页
第11页 / 共14页
课设交通灯.docx_第12页
第12页 / 共14页
课设交通灯.docx_第13页
第13页 / 共14页
课设交通灯.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

课设交通灯.docx

《课设交通灯.docx》由会员分享,可在线阅读,更多相关《课设交通灯.docx(14页珍藏版)》请在冰点文库上搜索。

课设交通灯.docx

课设交通灯

摘要

实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、等方案来实现。

但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。

因此,在本次设计中采用单片机技术,应用目前广泛应用的C语言描述,实现交通灯系统控制器的设计,完成系统的控制作用。

本系统选用AT89S51单片机,配合一些简单的外围电路完成交通控制系统。

由于该单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。

实现同样的功能,这个方案既简单又经济!

该灯控制逻辑可实现3种颜色LED灯的交替点亮。

经PROTEUS仿真模拟的试验,该系统得到了预期的实时控制效果.本论文针对单片机控制技术,从硬件设计和软件设计两个方面分别介绍通用小型实时交通监控系统的设计方法。

关键词:

交通灯;单片机;硬件设计;软件设计

 

Abstract

TherearemanywaystocontroltheIntersectiontrafficsignalsystems.Thatyoucanusestandardlogicdevices,programmablelogiccontrollerPLC,andotherprogramstoachieve.However,thefunctionsofthesecontrolmethodsrequiremodificationanddebuggingsupportforhardwarecircuit,toacertainextent,anincreaseoffunctionalmodificationsandsystemdebuggingdifficulties.Thus,inthisdesign,usingSCMtechnology,applicatingC-languagetodescribeandrealizethedesignoftrafficsignalsystemcontrollertocompletethesystemcontrolaction.

ThesystemchoseAT89S51microcontroller,withafewsimpleexternalcircuittocompletethetrafficcontrolsystem.Sincethemicrocontrollerhasasimple,practical,highreliability,goodperformanceandlowcost,aswellastheadvantagesofsmallsize,hasbeeninvarioustechnicalfieldshasbeendevelopingrapidly.Toachievethesamefunction,thisprogramissimpleandeconomical!

ThelampcontrollogiccanrealizethreekindsofalternatingcolorLEDlampslit.ThePROTEUSsimulationexperiments,thesystemhasbeentheexpectedreal-timecontroleffect.Inthispaper,forthemicrocomputercontroltechnology,fromhardwaredesignandsoftwaredesignintroducetwoaspectsofuniversalsmall-scalereal-timetrafficmonitoringsystemdesignmethod..

Keywords:

trafficsignalsystems;SCMtechnology;hardwaredesignandsoftwaredesign

 

目录

1概述…………………………………………………………………………1

1.1交通灯产生的背景………………………………………………………………1

1.2单片机概述……………………………………………………………………………1

2MSC-51芯片………………………………………………………………2

2.1MCS-51单片机内部结构………………………………………………………………2

2.2MCS-51的引脚图……………………………………………………………………3

3.方案论证……………………………………………………………………4

3.1交通管理的方案论证…………………………………………………………4

3.2系统硬件选择…………………………………………………………………4

3.2.1系统总框图………………………………………………………………5

3.2.2分部件介绍……………………………………………………………5

4.交通灯的程序设计…………………………………………………………6

4.1程序流程图…………………………………………………………………6

4.2延时的设定…………………………………………………………………6

4.3延时子程序…………………………………………………………………74.4主程序说明…………………………………………………………………7

5.电路制作及调试过程……………………………………………………7

6.课程设计的体会……………………………………………………………8

参考文献………………………………………………………………………9

谢辞……………………………………………………………………………10

附录……………………………………………………………………………11

1.概述

1.1交通灯产生的背景

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。

但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。

红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。

绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。

左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。

红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。

黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

1.2单片机概述

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

 

.

2.MSC-51芯片

2.1MCS-51单片机内部结构

AT89S51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

AT89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。

图1是MCS-51系列单片机的内部结构示意图

图1

 

2.2MCS-51的引脚图

图2

MCS-51系列单片机中多种型号均采用40Pin封装的双列直接DIP结构,图2是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:

Pin9:

RESET/Vpd复位信号复用脚,当芯片通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。

AT89S51的复位方式可以是自动复位,也可以是手动复位。

此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

•Pin30:

ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。

而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。

更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。

如果单片机是EPROM,在编程其间,将用于输入编程脉冲。

•Pin29:

当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

•Pin31:

EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。

如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。

显然,对内部无程序存储器的8031,EA端必须接地。

在编程时,EA/Vpp脚还需加上21V的编程电压。

3.方案论证

3.1交通管理的方案论证

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。

红灯亮禁止通行,绿灯亮允许通行。

黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。

图3.状态表

时间间隔

10S

3S

10S

3S

东西道

绿灯亮

黄灯闪

红灯亮

红灯亮

南北道

红灯亮

红灯亮

绿灯亮

黄灯亮

 

说明:

(1)当南北方向为红灯,此道车辆禁止通行,东西道行人可通过;东西道为绿灯,此道车辆通过,行人禁止通行。

时间为10秒。

(2)东西道在3秒内黄灯闪烁5下,警示车辆和行人绿灯的状态即将切换。

(3)当东西方向为红灯,此道车辆禁止通过,行人通行;南北方向为绿灯,南北道车辆通行。

时间为10秒。

(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。

3.2系统硬件选择

选用设备:

AT89S51单片机一片,红LED灯3个(其中一个用来作电源指示灯),黄、绿LED各两个,按钮开关一个、10uf电容2个,22pf电容2个,0.1uf电容一个,12M晶振一个。

电阻阻值:

100,10K,1K和6个330.

 

3.2.1系统总框图如下

图4

3.2.2分部件介绍

(1)电源

图5:

电源部分

C3,C4为滤波电容用在电源整流电路中,用来滤除交流成分,使输出的直流更平滑。

此处的LED用作电源指示灯。

实际设计中,由于单片机电源用5V电压,为了供电方便,我也可以设计USB接口来实现电源供电功能,如图6所示。

图6

(2)时钟信号输入

在单片机的应用电路中,常使用晶振来输入时钟信号。

本电路就是采用12M石英晶振来产生频率的。

因为晶振的频率稳定性非常高,抗外界干扰。

(3)复位功能

在单片机的RST端口经过一按钮开关与VCC相连,如图7所示。

按钮开关控制RST端口,当单片机工作发生错乱或死机,按开关进行复位。

 

图7

(4)单片机输出部分

6个LED从P0_0至P0_5经上拉电阻接VCC。

 

4.交通灯的程序设计

4.1程序流程图

4.2延时的设定

延时方法可以有两种。

一种是利用MCS-51内部定时器溢出中断,另一种是采用软件延时的方法。

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。

他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。

因此,我们可以把计数器记满为零所需的计数值设为C,计数初值设定为TC,可得到如下计算通式:

T计数是单片机时钟周期的12倍;C=12*TC;

如单片机的主脉冲频率为12MHZ,经过12分频

TMAX=65536*12/12M=65.536毫秒

显然1秒钟已经超过了计数器的最大定时间,所以我选择软件软件延时办法解决这个问题.

4.3延时子程序

通过编写延时子程序来设置。

如12M晶振ms级别的延时子程序如下:

voidDelayMS(uintx)/*延时子程序*/

{

uchari;

while(x--)for(i=0;i<120;i++);

则1秒的延时程序就可以如下表示:

DelayMS(1000)

4.4主程序说明

在PC机上学习C语言编程不同的是,对于所有的嵌入式系统来说,其控制软件都必须是一个无限循环,换句话说,嵌入式软件的main()函数都不能够返回,通过一个while

(1)使得这段程序不停地进入循环。

如果一个嵌入式软件的程序不是无限循环,当所有的程序代码执行完后,单片机将以不可预知的方式运行,俗称单片机“跑飞”,这在实际的工业控制等应用中是十分危险的现象,要极力避免单片机出现“跑飞”的现象。

 

5.电路制作及调试过程

(1)使用PROTELDXP画原理图,做PCB图,步线。

(2)印板,腐蚀,打孔。

(3)焊接元器件。

(4)会运用KIEL设计单片程序。

(5)运用Proteus7.0ISIS进行电路仿真并调试程序

(6)烧写正确的单片机程序。

 

6.课程设计的体会

本次课设就是充分利用了MSC-51系列单片机来设计交通灯控制器,实现了红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示的功能(交通灯信号通过PA口输出)。

此次设计在软件编写程序方面花费时间太多我们上网找资料,上图书馆,尽可能多的了解交通灯控制和单片机程序编写的相关知识。

通过这次课程设计,掌握了Keil集成开发环境的使用方法,了解单片机芯片的烧写方法与步骤,进一步加深了对单片机常用指令的理解与运用。

能够较熟练的运用protelDXP绘制电路原理图及PCB图,对PCB板的一般制作过程有了一定的了解。

同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助。

这次设计的不足之处是交通灯的控制不够智能,延时时间也不够精确,这是由于使用软件延时不及定时器延时稳定。

交通灯与流水灯的不同之处在于延时的准确性,而一般准确的延时通过定时器中断产生或汇编语言编写。

由于个人能力不足,未能完善交通灯的倒计时显示。

这使我认识到理论知识的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认识。

总之,通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。

使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

 

参考文献

[1]林华兵编著.MCS-51单片机原理及应用.武汉:

华中科技大学出版社,2003.6

[2]先锋工作室编著.单片机程序设计实例.清华大学出版社,2003.1

[3]王卫东等编著.高频电子电路.电子工业出版社,2004.8

[4]黄维通马里妮编著.C语言程序设计.清华大学出版社,2003.5

[5]张洪润、蓝清华编著.单片机应用技术教程.清华大学出版社,1997.11

[6]求是科技、勒达编著.单片机应用系统开发实例导航.人民邮电出版社,2003.10

[7]南建辉、熊鸣、王军茹编著.MCS-51单片机原理及应用实例.清华大学出版社,2004.3

[8]王忠飞、胥芳编著.MCS-51系列单片机系统原理及嵌入式系统应用.西安电子科技大学,2007

[9]白驹珩、雷晓平编著.单片计算机及其应用.成都:

电子科技大学出版社,1997.12

[10]徐爱钧彭秀华编著.单片机高级C51应用程序设计.电子工业出版社,1998.6

[11]刘刚,彭荣群编著.rotelDXP2004SP2原理图与PCB设计北京:

电子工业出版社,2007

[12]袁涛编著.单片机C高级语言程序设计及其应用.清华大学出版社,2001.10

[13]张天凡等.51单片机C语言开发详解.北京:

电子工业出版社,2008

 

谢辞

本论文设计在陈紫强副教授的悉心指导和严格要求下业已完成,从课题选择到具体的写作过程,无不凝聚着陈紫强老师的心血和汗水,在我的课程设计论文写作期间,陈紫强老师为我提供了种种专业知识上的指导和一些富于创造性的建议,没有这样的帮助和关怀,我不会这么顺利的完成课程设计论文。

在此向陈紫强老师表示深深的感谢和崇高的敬意。

在此,我还要借此机会向在这两年多中给予了我帮助和指导的所有老师表示由衷的谢意,感谢他们两年多来的辛勤栽培。

不积跬步何以至千里,各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成课程设计论文。

同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。

我还要感谢同组的各位同学,在课程设计的这段时间里,你们给了我很多的启发,

提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢。

 

附页

程序源代码

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitRED_A=P0^0;/*设定管脚连接的灯*/

sbitYELLOW_A=P0^1;

sbitGREEN_A=P0^2;

sbitGREEN_B=P0^3;

sbitYELLOW_B=P0^4;

sbitRED_B=P0^5;

ucharFlash_Count=0,Operation_Type=1;/*Flash_Count表示黄灯状态改变次数,Operation_Type表示工作状态*/

voidDelayMS(uintx)/*延时子程序*/

{

uchari;

while(x--)for(i=0;i<120;i++);

}

voidTraffic_Light()

{

switch(Operation_Type)

{

case1:

/*状态1:

东西道绿灯亮南北道红灯亮*/

RED_A=1;YELLOW_A=1;GREEN_A=0;

RED_B=0;YELLOW_B=1;GREEN_B=1;

DelayMS(10000);/*调用延时子程序*/

Operation_Type=2;/*状态转到2*/

break;

case2:

/*状态2:

东西道黄灯闪南北道红灯亮*/

DelayMS(3000);

YELLOW_A=!

YELLOW_A;GREEN_A=1;

if(++Flash_Count!

=10)return;/*黄灯状态转换10次,即闪烁5下*/

Flash_Count=0;

Operation_Type=3;/*转到状态3*/

break;

case3:

/*状态3:

东西道红灯亮南北道绿灯亮*/

RED_A=0;YELLOW_A=1;GREEN_A=1;

RED_B=1;YELLOW_B=1;GREEN_B=0;

DelayMS(10000);

Operation_Type=4;/*转到状态4*/

break;

case4:

DelayMS(300);/*状态4:

东西道红灯亮南北道黄灯闪*/

YELLOW_B=!

YELLOW_B;GREEN_B=1;

if(++Flash_Count!

=10)return;

Flash_Count=0;

Operation_Type=1;/*又转到状态1,如此循环*/

break;

}

}

voidmain()

{

while

(1)Traffic_Light();

}

 

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2