基于单片机的交通灯设计课程设计论文桂电二院.docx
- 文档编号:24764570
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:23
- 大小:389.42KB
基于单片机的交通灯设计课程设计论文桂电二院.docx
《基于单片机的交通灯设计课程设计论文桂电二院.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯设计课程设计论文桂电二院.docx(23页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯设计课程设计论文桂电二院
题目:
基于单片机的交通灯控
制器设计
院(系):
信息与通信学院
专业:
微电子学
摘要
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
本系统由单片机系统、四位数码管显示、彩色LED交通灯演示系统组成。
设计一个用于东西、南北走向的交通管理。
南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为45秒、支干道每次通行间为30秒。
本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。
本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。
关键词:
交通灯;单片机;数码管
Abstract
Shuttlecrossroadsvehicles,pedestriansbustling,cardealerslanepavementspeople,methodical.Relyontoachieveorderlyorderit?
Isautomatedcommandsystemoftrafficlights.Thesystemconsistsofamicrocontrollersystem,fourdigitaldisplaycolorLEDtrafficlightsdemosystem.Thedesignfortheeastandwest,north-southtrafficmanagement.Laneofthenorth-southdirection(themainroad)andeast-westdirection(branchroads)lanesontwocross-roadvehiclesrunalternatelymainroadeverypassagetimeissetto45seconds,thebranchroadsbetweeneachpassage30seconds.Thesystemissimpleinstructure,easytooperate;achieveautomaticcontrol,smarthasacertainsignificance;optimizeurbantraffic.Thedesignofeachtasksegmentspackaging,remainrelativelyindependentofeachtask;effectivetoimprovethestructureoftheprogramtofacilitatemodulartreatmentprogramreadability,maintainabilityandportabilityhavebeenfurtherimproved.Withtherapiddevelopmentofscienceandtechnologyinrecentyears,theapplicationofSCMisthedeepeningofthetraditionalcontrolwhiledrivingdetectiontechnologyisincreasinglyupdates.Real-timedetectionandautomaticcontrolofmicrocomputerapplicationsystem,themicrocontrollerisoftenasacorecomponenttousemicrocontrollerknowledgealoneisnotenough,shouldbebasedonthespecifichardwarestructureofhardwareandsoftwarecombination,tobeimproved.ThisarticlecomemainlyfromtheapplicationofSCMcrossroadstrafficlightsintelligentmanagementtocontrolthenormalfunctioningofthepassingvehicles.
Keywords:
trafficlights;microcontroller;digitaltube
目录
引言1
1设计方案1
1.1交通灯历史简介1
1.2设计要求2
1.3设计思路2
2硬件电路设计2
2.1主要元器件简介2
2.1.1单片机AT89S522
2.1.2两位共阴数码管3
2.2电路原理图设计4
2.2.1整体硬件原理图4
2.2.2单片机最小系统4
2.2.3LED指示灯设计5
2.2.4数码管显示电路设计6
3程序设计6
3.1总体程序流程图6
3.2初始化程序6
3.3通车指示程序6
3.4倒计时程序6
3.5数码管显示7
4调试过程7
5心得体会7
谢辞8
参考文献9
附录10
引言
如今随着人们生活水平的提高,车辆越来越多,交通事故频繁发生。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。
交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。
因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。
为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
本系统设计一个基于单片机的交通灯控制系统。
能方便的对交通灯进行控制,使交通更和谐。
1设计方案
1.1交通灯历史简介
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1968年,美国机械工程师纳伊特在伦敦威斯敏斯特的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两种旋转式方形提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的透光其组成,1914年安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制得红绿灯,一种是把压力探测器放在地上,车辆一接近红灯变成绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直走,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法的正在路口内行驶的车辆和过人行道的行人先通过,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
1.2设计要求
本交通灯的设计要求如下:
(1)电源:
5V。
(2)剩余时间显示:
两位数码管。
(3)每次绿灯变红灯时,要求黄灯先亮3秒钟。
(4)主干道每次放行45秒;支干道每次放行30秒
1.3设计思路
本设计的题目是“基于单片机的交通灯控制器设计”,所以主控芯片当然是单片机,由于对AT89S52这款单片机比较熟悉,所以我选AT89S52作为主控芯片。
只要交通指示部分,红、绿、黄三种不同颜色的指示灯是必不可少的,这里我选用红、绿、黄三种颜色的高亮LED作为交通指示灯。
对于倒计时显示,选用一般的数码管即可,这里我选用的事两位共阴数码管。
由于东西、南北(反方向)的指示灯和倒计时是一致的,所以只需分别将东和西、南和北方向的并联在一起即可,这就简化了程序设计部分。
编程时,在快要到切换东西和南北通车方向的前3秒,先将此刻通车的方向的绿灯切换成黄灯。
2硬件电路设计
2.1主要元器件简介
2.1.1单片机AT89S52
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0口是一个8位漏极开路的双向I/O口。
P1口是一个具有内部上拉电阻的8位双向I/O口。
图1AT89S52引脚图DIP封装
2.1.2两位共阴数码管
数码管是一种半导体发光器件,其基本单元是发光二极管。
按数码管内部发光二极管的个数(段数)可以将数码管分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。
两位共阴数码管即可以同时显示两个数字的数码管。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
图2数码管内部电路图
图3两位数码管实物图
2.2电路原理图设计
2.2.1整体硬件设计
整体电路原理框图如下:
图4整体电路原理框图
整体硬件包括单片机最小系统本分、LED指示部分和数码管显示部分。
图5整体电路原理图
2.2.2单片机最小系统
(1)单片机在单片机应用系统中,单片机是核心部件,能够自动完成用户赋予它的任务,控制LED指示和数码管显示倒计时。
(2)晶振电路:
晶振电路是单片机一种时序电路,必须为其提供脉冲信号才能正常工作。
由于MCS-51系列单片机内部已集成了时钟电路,所以在使用时只要外接晶体振荡器和电容就可以产生脉冲信号。
晶体振荡器和电容所组成的电路称为晶振电路。
图6晶振电路
(3)复位电路:
单片机在启动运行时,都需要先复位,即是使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51系列单片机本身,一般不能自动进行复位,必须配合相应的外部电路才能实现。
复位电路的作用就是使单片机在上电时能够复位或运行出错时进入复位状态。
图7复位电路
(4)输入输出口线插座:
单片机通过输入输出口线与外界交换信息。
例如,单片机与外设的通讯就是通过输入输出口线实现的。
单片机输入输出口线的驱动能力有限。
驱动能力不足时,可以在口线上接驱动器。
2.2.3LED指示灯设计
高亮LED承受的电压比较小,所以不能直接在LED两端直接用5V电压驱动,这是需要串联上一个电阻进行分压。
但是如果用单片机端口直接驱动LED电路阳极,单片机输出端口的输出电流很小,需要另加驱动电路。
为了解决单片机不能直接驱动LED电路的问题,只需将单片机的输出口直接接到LED电路的阴极即可。
这样就不再需要另加驱动电路,简化了电路结构,降低成本。
图8南北方向LED指示电路
2.2.4数码管显示电路设计
由于数码管可以承受5V的电压,所以可以直接将数码管接到单片机的输出端口。
但是单片机的驱动电路很小,数码管亮度不够,所以要在单片机的输出端口接上上拉电阻作为驱动电路,增加驱动电流,提高驱动能力,增加数码管的亮度。
3程序设计
程序设计时,将程序进行模块设计可以让思路更加明确,方便阅读。
3.1总体程序流程图
图9程序流程图
3.2初始化程序
单片机的IO口可以不用专门的初始化程序,直接默认即可。
这里的初始化程序主要是定时器初始化,比如将计数器赋起始值等。
3.3通车指示程序
通车指示程序包括主干道东西通车指示程序和次干道南北通车指示程序,即东西通车函数和南北通车函数。
每个函数的内部都包括LED指示功能和数码管显示功能。
东西方向通车45秒(数码管显示倒计时),即在倒计时期间,先亮42秒绿灯,再亮3秒黄灯,期间南北方向不通车(红灯)。
南北通车30秒(数码管显示倒计时),即在倒计时期间,南北方向绿灯先亮27秒,然后再到黄灯亮3秒,期间东西方向亮红灯。
使用while循环语句让东西方向和南北方向交替通车。
3.4倒计时程序
实现通车剩余时间倒计时可用两种方法,一种是使用for循环语句倒计时,另外一种是使用定时器中断计算时间实现倒计时。
前一种方法,即使用for循环语句的方法计算的时间的方法,由于交通灯对时间的要求不是很精确,理论上也是可以的。
但是使用这种方法在实际调试时候,由于在倒计时的期间单片机要执行其他的程序语句,所以用这种方法很难实现。
后一种方法,即使用定时器中断函数来计算时间,不但可以很精确地计算时间,而且在定时的同时,单片机还可以执行其他语句,比如数码管动态显示。
所以选择了使用定时器中断来计算倒计时时间。
3.5数码管显示
由于这里使用的是两位共阴数码管,也就是说在同一时刻,数码管不能同时显示两位数字,所以不能使用数码管静态显示的方法。
在这里,我使用了数码管动态显示的方法,即让数码管的两位数字轮流显示,当周期很短的时候,由于视觉滞留的效果,看起来好像数码管的两位数是同时显示的。
4调试过程
调试可以分为硬件调试和程序调试。
在硬件调试前,先确认电源电压是否为5V。
将电路板接上电源后,先用万用表确认单片机等元件是否接上电。
然后开始结合程序,测试单片机是否正常工作,若单片机不能正常工作,检查晶振是否震荡。
确认单片机最小系统可以正常工作后,将程序烧录到单片机中,点亮每一个LED和数码管。
确认硬件可以正常工作后,开始程序调试。
程序调试的第一步是让数码可以正常显示数字,这样可以使后面调试过程出现的错误在数码管显示出来。
第二步,调试定时器倒计时程序,并在数码管上下面是出来。
第三步,分别编写东西通车和南北通车两个倒计时函数,并让这两个函数轮流切换运行。
第四步,分别在两个倒计时函数中调节红黄绿LED轮流切换的功能。
最后,将整个系统运行一段时间,检查系统是否已能正常工作,若不能正常工作,则分析原因并解决问题,直到系统正常。
5心得体会
通过本次的课程设计,很深刻地体会到一点,那就是我们在设计过程中一定要有一个整体的清晰的思路,知道自己的设计的对象的基本功能和核心器件的适用及其作用,只要把握住这些主要方面,一些小问题都将围绕着这些主要问题而逐步得到解决。
同时我也懂得,在整个设计过程中,生活中也一样,一定要意志坚定,克服自己的畏难情绪,这样才能将事情做好,才能干出一番成就。
谢辞
感谢学院给我们提供这样的实践动手机会,并通过课程设计使我们能够有机会将书本上学到的知识运用到的实际中去。
在课设过程中施娟老师给了我很多的指导和帮助,并监督我及时完成了本次课程设计,老师严谨的治学态度、对科研工作的执着追求、谦逊和蔼的风范对自己产生的深远影响,使自己受益终生。
在她的严格要求下,我的设计有了很大的进展,每次的指导我都会从中获得丰富的理论知识同时也会提高实践能力,这对我将来进一步学习电子方面的知识有着极大的帮助。
在此特别感谢施娟老师和给予我帮助的同学。
参考文献
[1] 张毅刚,彭喜元,彭宇.单片机原理及应用(第2版).高等教育出版社.2010.5
[2] 郑峰,王巧芝等.51单片机典型应用开发范例大全.中国铁道工业出版社.2011.10
[3] 曾峰.印刷电路板(PCB)设计与制作[M].北京:
电子工业出版社.2002.11
[4]刘文涛.MCS-51单片机培训教程(C51)版.电子工业出版社,2005.8.
[5]王宜怀.单片机原理及其嵌入式应用教程.北京希望电子出版社,2002.8.
[6]邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社,2006.3.
[7]龚运新.单片机C语言开发技术.清华大学出版社,2006.10.
[8]JeanJ.Labrosse著.嵌入式系统构件.袁勤勇等译.北京:
机械工业出版社,2002.
[9]江世明.基于Proteus的单片机应用技术[M].北京:
电子工业出版社,2009.
[10]李泉溪.单片机原理与应用实例仿真[M].北京:
北京航空航天大学出版社,2009.
[11]孙惠芹.单片机项目设计教程[M].北京:
电子工业出版社,2009.
附录
原理图:
PCB图:
电路板实物图:
C语言源程序:
#include
#defineucharunsignedchar
unsignedcharTab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//controlshape
//unsignedcharTab[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsignedcharport[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsignedcharint_time,count;//中断次数计数变量
unsignedcharWE_second,NS_second;//秒计数变量
sbitNS_greenlight=P1^0;
sbitNS_yellowlight=P1^1;
sbitNS_redlight=P1^2;
sbitWE_greenlight=P1^3;
sbitWE_yellowlight=P1^4;
sbitWE_redlight=P1^5;
sbitNS_timedec=P2^0;
sbitNS_timeunit=P2^1;
sbitWE_timedec=P2^2;
sbitWE_timeunit=P2^3;
uchartime=0,sec;
/////////////////////////////////////////////////////
/*****************************************************
函数功能:
延时1ms
***************************************************/
voiddelay1ms()
{
unsignedchari,j;
for(i=0;i<10;i++)
for(j=0;j<33;j++)
;
}
/*****************************************************
函数功能:
延时若干毫秒
入口参数:
n
***************************************************/
voiddelaynms(unsignedintn)
{
unsignedinti;
for(i=0;i delay1ms(); } voiddelay(void)//延时函数,延时约0.6ms { unsignedcharj; for(j=0;j<180;j++) ; } /****************************************************************** 函数功能: 南北通道通车时间 入口参数: ********************************************************************/ voidNS_traffic(uchart) { P2=0xfa; P0=Tab[t/10];//显示十位 delay(); delay(); delay(); delay(); P2=0xf5; P0=Tab[t%10];//显示个位 delay(); delay(); delay(); delay(); if(t>3) { NS_yellowlight=1; NS_redlight=1; NS_greenlight=0; WE_yellowlight=1; WE_redlight=0; WE_greenlight=1; } if(t<4&&t>0) { NS_yellowlight=0; NS_redlight=1; NS_greenlight=1; WE_yellowlight=0; WE_redlight=1; WE_greenlight=1; } if(t==0) { NS_yellowlight=1; NS_greenlight=1; NS_redlight=0; WE_yellowlight=1; WE_greenlight=0; WE_redlight=1; } } /******************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通灯 设计 课程设计 论文 桂电二院