您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机交通灯课程设计报告
0目录1设计任务----------------------------------------------------------12设计方案----------------------------------------------------------12.1任务分析-----------------------------------------------------12.2方案设计-----------------------------------------------------12.3硬件方案-----------------------------------------------------12.4软件方案-----------------------------------------------------23系统硬件设计------------------------------------------------------33.1单片机的最小系统--------------------------------------------33.2电源电路设计-------------------------------------------------33.3数码管显示电路-----------------------------------------------34系统软件设计------------------------------------------------------44.1主程序设计--------------------------------------------------44.2系统程序-----------------------------------------------------45调试及性能分析----------------------------------------------------45.1软件调试-----------------------------------------------------45.2硬件调试-----------------------------------------------------45.3系统功能调试-------------------------------------------------56遇到的问题及解决--------------------------------------------------57心得体会----------------------------------------------------------5附录:--------------------------------------------------------------6总结---------------------------------------------------------------1011设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。2设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。2.2方案设计我们设计的是十字路口的红绿灯,有东西,南北两个走向,前两个灯是东西的红灯和绿灯,后两个是南北的红灯和绿灯,前两个灯不会同时亮,后两个灯不会同时亮,第1个和第3个不会同时亮,暂时没有黄灯的功能。2.3硬件方案根据设计的要求可知,系统的硬件原理框图如下图所示图1硬件原理框图单片机LED数码管显示晶振电路复位电路数码管显示2单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。2.4软件方案首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块:数码管显示模块动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。LED红绿灯显示模块状态1,东西绿灯亮,南北红灯亮状态2,东西黄灯亮,南北红灯亮状态3,东西红灯亮,南北绿灯亮状态4,东西红灯亮,南北黄灯亮3结构框图图2LED红绿灯显示框图3系统硬件设计3.1单片机的最小系统STC公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。3.2电源电路设计电源用5V直流变压器直接供电,usb接口供电。3.3数码管显示电路显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2,P2.3分别作为东西,南北四路数码管的位选端。程序初始化状态1状态2状态3状态4结束44系统软件设计4.1主程序设计系统程序流程图图3系统程序流程图4.2系统程序根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录5调试及性能分析5.1软件调试软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.2硬件调试硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查开始程序初始化显示子程序中断处理5并修复完后,给该硬件电路上电,电源指示灯点亮。5.3系统功能调试通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到最佳水准。让系统最大限度的发挥其功效。6遇到的问题及解决在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不完善效率还不是很高等等,这需要在实践中进一步完善。7心得体会这学期是我们首次接触单片机这门课程,大一的时候学长为我们展示了单片机,告诉我们这是我们以后要学习的很重要的东西,那时候只看到一块板子上可以显示数字,现在我知道了那个叫数码管。单片机刚刚学习的时候我觉得很难,代码都看不懂,更别说编程了,所以这次课设对我们来说很困难,可是随着组员之间的讨论我们解决了一些问题,也更深的了解了单片机的原理,交通灯在所有课设里面不算是难的,可是对我们来说都一样很困难。问题虽然很多但我们还是努力去解决,从计时到LED亮都很难,从书本学习的东西用在实际中才知道有多重要,最后我们只实现了简单的红绿灯而没有黄灯,这是我们的课设需要改进的。在以后的学习中我们应该勤动手,多动脑,遇到问题思考怎么解决,并且要有合作意识,团队的能力总是比一个人要大的,我们会改进作品,更好的使用单片机。6附录:ORG0000HLJMPMAINORG0003HLJMPINTT0ORG0013HLJMPINTT1ORG001BHLJMPTT1ORG0100HTT1:MOVTH1,#0D8H;定时器1,定时10usMOVTL1,#0F0HDJNZR6,EXITMOVR6,#100;定时器定时100次MOVR1,#0FFHEXIT:RETIINTT0:MOVP1,#0BEH;外部中断0,JBP3.4,$RETIINTT1:MOVP1,#0BBH;外部中断1,JBP3.4,$RETIORG1000HMAIN:MOVR6,#100;主程序;MOVR1,#00HMOVTMOD,#10H;初始化MOVTH1,#0D8HMOVTL1,#0F0HMOVIE,#8DHMOV20H,#10MOV21H,#5MOV22H,#10MOV23H,#157MOV24H,#15SETBTR1ST1:MOVP1,#0EBHCJNER1,#0FFH,TZ1MOVR1,#00HDEC20HDEC23HTZ1:MOVR2,20HMOVR3,23HLCALLDISPMOVA,20HCJNEA,#00H,ST1MOV20H,#10ST2:MOVP1,#0EDHCJNER1,#0FFH,TZ2MOVR1,#00HDEC21HDEC23HTZ2:MOVR2,21HMOVR3,23HLCALLDISPMOVA,21HCJNEA,#00H,ST2MOV21H,#05MOV23H,#15ST3:MOVP1,#0BEHCJNER1,#0FFH,TZ3MOVR1,#00HDEC24HDEC22HTZ3:MOVR2,24HMOVR3,22HLCALLDISPMOVA,22H8CJNEA,#00H,ST3MOV22H,#10ST4:MOVP1,#0DEHCJNER1,#0FFH,TZ4MOVR1,#00HDEC24HDEC21HTZ4:MOVR2,24HMOVR3,21HLCALLDISPMOVA,21HCJNEA,#00H,ST4MOV21H,#05MOV24H,#15LJMPST1DISP:MOVA,R2MOVB,#10DIVABMOV60H,AMOV61H,BMOVA,R3MOVB,#10DIVABMOV62H,AMOV63H,BMOV40H,#04HMOVR5,#01HMOVR0,#60HLLP:MOVA,@R0MOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,AMOVA,R5MOVP2,A9LCALLDEL
本文标题:单片机交通灯课程设计报告
链接地址:https://www.777doc.com/doc-5727915 .html