《于基单片机的数字交通灯-说明书--本科毕业设计.doc》由会员分享,可在线阅读,更多相关《于基单片机的数字交通灯-说明书--本科毕业设计.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、四川信息职业技术学院毕业设计说明书(论文)设计(论文)题目:基于单片机的数字交通灯 _ 专 业: 班 级: 学 号: 姓 名: 指导教师: 二00八年十二月三十日四川信息职业技术学院毕业设计(论文)任务书学生姓名学号班级专业通信技术设计题目基于单片机的数字交通灯指导教师姓名职称工作单位及所从事专业联系方式备注讲师四川信息职业技术学院电子系高级工程师四川九洲电子科技股份有限公司设计内容:(1)设计指标 设计一个十字路口的交通灯控制电路,要求东西方向车道和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都设为50秒。时间可设置修改; 在绿灯转为红灯时,要求黄灯先亮3秒钟,才能变换运行车道;
2、黄灯亮时,要求每秒闪亮一次; 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法); 同步设置人行横道红、绿灯指示(2)设计要求 画出电路原理图(或仿真电路图); 元器件及参数选择; 单片机程序设计与编程; 电路仿真与调试; PCB文件生成与打印输出进度安排:第5周:任务下达,理解消化任务要求;初步设计方案确定;第6周第10周:设计方案确定,分模块部分完成;第11周:中期检查,查找问题,分析解决难点;第12周第15周:分模块调试,整体电路调试,论文书写等;第16周:答辩主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1沈鸿星LED交通
3、信号灯系统的硬件设计J电子工程师,2004(03) 2张毅坤单片微型计算机原理及应用,西安电子科技大学出版社,19983余锡存曹国华单片机原理及接口技术M.陕西:西安电子科技大学出版社,2000审批意见教研室负责人:年 月 日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。四川信息职业技术学院毕业设计说明书目录摘要1第章绪论2第2章方案设计与论证4第3章系统硬件设计63.1总体设计63.2单片机最小系统的设计63.3显示及其驱动模块73.3.1键盘与状态显示功能73.3.2倒计时计数功能7第4章系统软件设计84.1软件总体设计84.2软件主要子程序设计114.2.1紧急状态子
4、程序设计114.2.2设置状态子程序设计114.2.3键盘模块子程序设计12第5章系统调试与测试125.1系统操作说明125.2调试12结论13致谢14参考文献15附录1交通灯的总体设计原理图16附录2PCB板图16附录3程序清单18I摘要本系统由单片机系统、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通
5、控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。关键词单片机;交通灯;控制器第1页共25页第章绪论随着我国社会经济的发展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进行合理的管理和调度而尽可能减少堵车现象成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可缺少的作用。 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世
6、界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红
7、外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红第2页共25页灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停
8、车线而不能安全停车时可以进入交叉路口。 我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后。道路拥挤、阻塞现象及交通事故常有发生。如何利用当今自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,提高车辆速度,减少交通事故是值得我们研究的新课题。交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关。随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性,本文介绍的交通灯控制系统除具有一般的红绿灯显示功能外,还具有倒计时功能,以方便人们的生活需求。此系统的核心控制器是MCS-51系列单片机中的AT89C51。
9、本次设计对红绿灯显示系统、按键系统都采用keil软件调试程序,并给出了调试过程及全部程序代码。第3页共25页四川信息职业技术学院毕业设计说明书第2章方案设计与论证本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图1-1所示。单片机最小系统倒计时显示时间交通灯键盘与状态显示图1-1系统总体设计框图1电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:方案一:采用独立的稳压电源。
10、此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择第二种方案。2显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以
11、本次设计采用方案二以实现系统的显示功能。3输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多,我们使用六个按键,分别是P16、P17、P27、P30、P32、P33,依次完成倒计时加1、倒计时减1、调完确认、调时方向切换、南北强行和东西强行等功能。由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。第5页
12、共25页四川信息职业技术学院毕业设计说明书第3章系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。3.1总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到
13、系统。系统采用双数码管倒计时计数功能,最大显示数字99。友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。系统总体设计原理图见附录1。3.2单片机最小系统的设计1振荡电路让单片机活起来的心脏AT89C51是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(若有)开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51常外接6MHz、12MHz的石英晶体,18脚和19脚分别对地接了一个20pF的电容,目的是防止单片机自激
14、。若从18脚输入外部时钟脉冲,则19脚接地。2复位电路恢复初始状态值复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,AT89C51便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H处读入程序代码而执行程序。3.3显示及其驱动模块3.3.1键盘与状态显示功能键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能,起到了不可缺少的重要作用。当定时器定时为1秒时程序跳转到
15、时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时1秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。工作流程如图3-1所示。 开始初始化等待键盘事件键盘事件处理显示程序处理 图3-1键盘显示模块3.3.2倒计时计数功能本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到1。然后又从红灯的设置时间最大值往下减,一直减到1。接下来又显示绿灯时间,如此循环。系统共有4个两位的LED数码管,分别放置在模拟交通灯控制板上的四个路口。因
16、为四个方向的数码管应该显示同样的内容,所以我们可以把它们同样对待。也就是说各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。这里采用动态显示。第7页共25页四川信息职业技术学院毕业设计说明书第4章系统软件设计硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故
17、障的重要手段。由于LCD的菜单界面设计需要多重选择判断,这里我们选用了移值性好、结构清晰、能进行复杂运算的C语言来实现编程。4.1软件总体设计软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对键盘进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作。其流程图如图4-1所示。图4-1软件总体流程图第8页共25页4.2软件主要子程序设计4.2.1紧急状态子程序设计1在紧急状态下,只有紧急状态手动控制按键才可以使所有的LED都被置为红灯,车辆禁行、行人通行。紧急情况结束后再转成自动状态。程序流程如图4-2所示。图4-2紧急状态子程序
18、4.2.2设置状态子程序设计设置状态子程序如图4-3所示。图4-3设置状态子程序在设置状态,按下按键1(P16)开始设置南北的红灯时间,按下按键2(P17)设置南北的绿灯时间,按下按键3(P27)返回正常运行状态。红灯和绿灯的时间最大可以设为99,超出99的时候会从50开始重新计数。它包含倒计时调整和紧急状态两个状态。主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子程序处理。当检测到按键2(P17)键按下的时候就自动返回到主程序。当出现紧急的情况的时候,按下按键3(P27)就切换到紧急状态,当紧急事件处理完毕的时候,按下按键2(P17),就可以返回正常状态。4.2.
19、3键盘模块子程序设计键盘是人机进行交互的重要接口之一。用户通过按键对仪器下达命令,仪器对按键译码获得相应的键值,并执行相应的命令程序。键盘部分的软件实现主要是指对键盘管理进行编程,从而成功地读取键盘值,实现相应的功能。键盘实现的程序流程图如图4-4所示。开始初始化设定初值红灯倒计时倒计时完毕黄灯闪3S绿灯倒计时倒计时完毕黄灯闪3S结束图4-4实现的程序流程图第12页共25页四川信息职业技术学院毕业设计说明书第5章系统调试与测试5.1系统操作说明本设计采用的是开关键盘,共6个键。键盘用来输入倒计时时间数字信息;功能菜单选择键则用于主次干道通行时间分别设置、确定、取消(即调时方向的切换、倒计时的加
20、减、东西强行、南北强行,调完确认)等功能。 系统分为两个状态:设置状态和显示状态。利用键盘可以进行两个状态间的切换;开机时,系统为显示状态,此时显示四个路口数码管从默认的倒计时时间开始倒计时;显示状态时,交通灯模组的四个LED数码管进行倒计时;显示过程中按键可以重新进入设置状态。5.2调试根据电路功能逐级进行:1)通行方式功能调试:对行人和行车方向指示灯亮度和驱动电路调试;2)倒计时功能调试:数码管亮度调试;3)紧急情况手动控制功能调试:包括按键功能的调试;调试结果如图5-1所示。图5-1调试后的原理图第12页共25页结论本设计以单片机为核心,以LED数码管作为倒计时指示,该设计很好地完成了设
21、计的各项要求,主要体现如下:出现紧急情况时系统可设置成手动控制,紧急情况结束后再转成自动,控制十分灵活;主干道和次干道可以分开设置时间功能,使控制更加灵活;以上所有功能均在城市交道口模型上得到很好地实现,该设计在确保功能实现的基础上,充分考虑了控制系统操作方便、可靠性高、稳定性好等要求。该设计的交通灯控制器,实现了能根据实际车流量通过AT89C51芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示绿灯时间可检测车流量并可通过双位数码管显示。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面的系统的锻炼。使我在单片机的基本原理、单片机应用系统开
22、发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。该设计虽然结束了,但由于时间、设备、条件和水平等各方面因素,还存在一些不足,还需要不断改进,当然也就需要学习并运用更多相关的知识。第13页共25页四川信息职业技术学院毕业设计说明书致谢时间依然保留着它的荒凉,它不会为什么而改变;但时间也像海绵里的水,只要肯挤,还是很多的;我相信机会总是眷顾有准备的人!在本次毕业设计中我深有体会!当然,做毕业设计是作为当代一名大学生将知识运用于实践的一个重要环节。完成这次毕业设计,我要感谢所有帮助过我的老师(特别是毕业指导潘锋老师)和同学。在
23、这次毕业设计中,我巩固了所学的电子基础知识,也扩大了自己的知识面;即将告别培育过我的母校、老师和同学,真的舍不得。对于学过的知识只有运用到实践中,才能体现出它的价值。而这次毕业设计是自我锻炼的一个很好的机会,让我的大学生活画上一个圆满的句号。我知道,现在社会竞争激烈,只有不断学习才会有好的出路。母校给了我学习的空间和展示自我的舞台,今天的成功离不开每位老师的细心教导和同学们的之间互相帮助。在此,再次对所有关心和帮助过我的老师和同学表示衷心的感谢,祝愿您们身体健康,一切顺利。第14页共25页四川信息职业技术学院毕业设计说明书参考文献1沈鸿星LED交通信号灯系统的硬件设计J电子工程师,2004(0
24、3)2张毅坤单片微型计算机原理及应用西安:西安电子科技大学出版社,19983余锡存,曹国华单片机原理及接口技术M陕西:西安电子科技大学出版社,2000第15页共25页四川信息职业技术学院毕业设计说明书附录1交通灯的总体设计原理图第16页共25页附录2PCB板图第17页共25页四川信息职业技术学院毕业设计说明书附录3程序清单#include #include #define uchar unsigned char#define uint unsigned intsbit k1=P16;sbit k2=P17;sbit k3=P27;sbit k4=P30;sbit yellowled_nb=P1
25、4;/南北黄灯sbit yellowled_dx=P11;/东西黄灯uchar code table11=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;uchar data dig;/位选uchar data led;/偏移量uchar data buf4;uchar data sec_dx=39;/东西数码指示值uchar data sec_nb=39;/南北数码指示值uchar data set_timedx=39;uchar data set_timenb=39;/倒计时设置的键值保存uchar data b;/定时器中断次
26、数bit time;/灯状态循环标志bit int0_time;/中断强行标志bit set;/调时方向切换键标志void delay(int ms);/延时子程序void key();/按键扫描子程序void key_to1();/键处理子程序void key_to2();void display();/显示子程序void main()TMOD=0X01;TH0=0X3C;TL0=0XB0;EA=1;ET0=1;TR0=1;EX0=1;EX1=1;P1=0Xf3;/ 东西通行while(1)key(); /调用按键扫描程序display(); /调用显示程序void key()/按键扫描子程
27、序if(k1!=1)delay(10);if(k1!=1)while(k1!=1);key_to1();if(k2!=1)delay(10);if(k2!=1)while(k2!=1);key_to2(); if(k4!=1) delay(10); if(k4!=1) while(k4!=1); set=!set; if(k3!=1&int0_time=1)TR0=1; /启动定时器sec_nb=39;sec_dx=39;int0_time=0;/清标志 else if(k3!=1&int0_time=0) TR0=1;set_timenb=sec_nb;set_timedx=sec_dx;
28、/设置的键值返回保存 void display()buf1=sec_dx/10; /第1位 东西秒十位buf2=sec_dx%10; /第2位 东西秒个位buf3=sec_nb/10; /第3位 南北秒十位buf0=sec_nb%10; /第4位 南北秒个位P0=tablebufled;delay(2);/先延时,提前显示一位了P2=dig;dig=_crol_(dig,1);led+;if (led=4)led=0;dig=0xfe;void time0(void) interrupt 1 using 1 /定时中断子程序b+;if(b=10) / 定时器中断次数。b=0;sec_dx-;s
29、ec_nb-;/*南北黄灯闪烁判断*/if(sec_nb=3&time=0) yellowled_nb=1;/南北黄灯亮 delay(300); yellowled_nb=0; if(sec_nb=2&time=0)yellowled_nb=1;/南北黄灯亮 delay(300); yellowled_nb=0;if(sec_nb=1&time=0)yellowled_nb=1; delay(300); yellowled_nb=0; /*东西黄灯闪判断*/ if(sec_dx=3&time=1) yellowled_dx=1;/南北黄灯亮 delay(300); yellowled_dx=0
30、; if(sec_dx=2&time=1)yellowled_dx=1;/南北黄灯亮 delay(300); yellowled_dx=0;if(sec_dx=1&time=1)yellowled_dx=1; delay(300); yellowled_dx=0; /*/if(sec_dx=0|sec_nb=0) /东西或南北先到达1S时即开始重新计时 sec_dx=set_timedx;sec_nb=set_timenb; /第一次循环结束重置 if(time=1)P1=0XF3; /东西通行elseP1=0xde; /南北通行time=!time; /取反void key_to1()TR0
31、=0; /关定时器if(set=0)sec_nb+; /南北加1Selsesec_dx+;/东西加1Sif(sec_nb=100)sec_nb=1;if(sec_dx=100)sec_dx=1;/加到100置1void key_to2()TR0=0;/关定时器if(set=0)sec_nb-; /南北减1Selsesec_dx-; /东西减1Sif(sec_nb=0)sec_nb=99;if(sec_dx=0 )sec_dx=99;/减到1重置99void int0(void) interrupt 0 using 1 /东西强行TR0=0;P1=0XF3;sec_dx=88;sec_nb=88
32、;int0_time=1;void int1(void) interrupt 2 using 1 /南北强行TR0=0;P1=0XDE;sec_nb=88;sec_dx=88;int0_time=1;void delay(int ms)uint j,k;for(j=0;jms;j+)for(k=0;k124;k+);第25页共25页四川信息职业技术学院学生姓名学号班级专业通信技术设计(论文)题目基于单片机的数字交通灯指导教师指导老师考核意见 等级: 指导教师:答辩评语等级: 答辩老师: 总评成绩等级: 考核小组组长:备注以上两项成绩综合后,指导老师考核成绩占总分的60%,答辩成绩占总分的40%,按五级记分(优、良、中、及格、不及格)。毕业设计(论文)评语