《单片机课程设计报告1 交通灯.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告1 交通灯.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖南工业大学单片机课程设计单片机交通灯设计学院:电气与信息工程学院专业:应用电子 班 级:电子0821班姓 名: 学 号:15号指导老师:彭华夏目录1 设计任务和性能指标41.1设计任务41.2性能指标42 设计方案52.1任务分析52.2方案设计52.2.1硬件方案52.2.2软件方案63 系统硬件设计83.1单片机的最小系统83.2电源电路93.3数码管显示时间电路93.4系统原理图103.5系统元件104 系统软件设计114.1 主程序设计114.2系统程序115 调试及性能分析125.1调试分析125.1.1软件调试125.1.2硬件调试125.1.3系统功能调试126心得体会13附录
2、一14参考文献18摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本系统采用单片机AT89C52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。
3、本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用C52编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键字:电子线路 ;STC89C52;LED;交通灯。1 设计任务和性能指标1.1设计任务 模拟图利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有
4、时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。1.2性能指标(1)两路口是同等的。处于允许通行的状态,有车来时允许通行。东西道亮绿灯时,南北道亮红灯;南北道亮绿灯时,东西道亮红灯。绿红灯之间以黄灯间隔。(2)两个方向均有车时,两者交替允许通行,均每次放行15秒,设立15秒计时、显示电路。红灯10秒。(3)通行时间及黄灯亮的时间均可在099秒内任意设置。2 设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。2.2
5、方案设计2.2.1硬件方案根据设计的要求可知,系统的硬件原理框图如下图所示STC89C52单片机数码管显示LED数码管显示晶振电路复位电路系统硬件框图单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。2.2.2 软件方案首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数
6、字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以
7、分为以下几个功能模块:数码管显示模块动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。LED红绿灯显示模块状态1, 东西绿灯亮,南北红灯亮状态2, 东西黄灯亮,南北红灯亮状态3, 东
8、西红灯亮,南北绿灯亮状态4, 东西红灯亮,南北黄灯亮程序初始化状态1(S1)状态2 (S2)状态3(S3)状态4(S4)结构框图 3 系统硬件设计3.1单片机的最小系统STC公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。XTAL2XTAL1单片机系统的时钟电路RESET单片机系统的复位电路3.2电源电路设计 电源用5V直流变压器直接供电,usb接口供电。 3.3数码管显示电路 显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2, P2.3分别作为东
9、西,南北四路数码管的位选端。Vcc数码管显示电路图3.4系统原理图 系统原理图3.5 系统元件去电子市场按原件清单购买所需原件,检测所购元件的性能是否达到所需标准,然后按照系统原理图接好硬件图,检查接线是否正确,是否有漏接,短接等。并用测试程序检查元器件是否能正常工作,以便修改,一切就绪后,就将写好的程序下载进单片机。以下是元器件清单列表。元器件名称元器件属性元器件个数电源接口5v一个电源指示灯红色一个电源开关带自锁一个电阻10k一个300一个电容电解电容10uf一个瓷片电容30pf两个瓷片电容0.1uf四个晶振12MHZ一个复位按键不带自锁一个下载端口集成块MAX232一片带插槽单片机stc
10、89c52一片带插槽8线驱动74HC244一片带插槽达林顿驱动电路ULN2803一片带插槽数码管共阳极四个三色发光二极管红,黄,绿各四个4 系统软件设计4.1 主程序设计 系统程序流程图开始参数初始化显示子程序中断处理 4.2系统程序根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录一。 5 调试及性能分析5.1 调试分析5.1.1软件调试 软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.1.2硬件调试硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步
11、骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。5.1.3系统功能调试 通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿真软件进行仿真运行,调试并修改系统,以便达到最佳水准。让系统最大限度的发挥其功效。6 心得体会 这次单片机课程设计历时三个星期的时间,在这次设计过程里我们体验了从总体方案设计、画原理图、设计
12、程序、焊电路板到调试完善的整个过程。 我学会了用更多的工具去查阅资料,获取所需的知识,解决了很多我在之前的学习中没有弄懂的问题。了解了很多元件的作用和用法。熟悉了单片机的使用,熟悉了单片机的各个管脚的功能。这可以说是给我上了深刻的复习课,在我即将忘记单片机知识的时候,又让我加深了我对它的认识,而且了解了更多以前没有注意的问题。通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。在设计过程中,会出现
13、了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不
14、完善效率还不是很高等等,这需要在实践中进一步完善。当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我。通过这次课程设计,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力。经历了从最初的设计到最后做出产品的开发过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影响。附录一 ORG 0000H LJMP MAIN ORG 0003H LJMP INTT0 ORG 0013H LJMP INTT1 ORG 001BH LJMP TT1 ORG 0100HTT1: MOV TH1,#0D8H
15、 ;定时器1,定时10us MOV TL1,#0F0H DJNZ R6,EXIT MOV R6,#100 ;定时器定时100次 MOV R1,#0FFHEXIT: RETIINTT0:MOV P1,#0BEH ;外部中断0, JB P3.4,$ RETIINTT1:MOV P1,#0BBH ;外部中断1, JB P3.4,$ RETI ORG 1000HMAIN: MOV R6,#100 ;主程序; MOV R1,#00H MOV TMOD,#10H ;初始化 MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH MOV 20H,#10 MOV 21H,#5 MOV
16、22H,#10 MOV 23H,#15 MOV 24H,#15 SETB TR1ST1: MOV P1,#0EBH ;第一个状态,主干道亮绿灯、支干道亮红灯; CJNE R1,#0FFH,TZ1 MOV R1,#00H DEC 20H DEC 23HTZ1: MOV R2,20H MOV R3,23H LCALL DISP ;调用显示子程序。 MOV A,20H CJNE A,#00H,ST1 MOV 20H,#10ST2: MOV P1,#0EDH ;第二个状态,主干道亮黄灯、支干道亮红灯; CJNE R1,#0FFH,TZ2 MOV R1,#00H DEC 21H DEC 23HTZ2:
17、MOV R2,21H MOV R3,23H LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST2 MOV 21H,#05 MOV 23H,#15ST3: MOV P1,#0BEH ;第三个状态,主干道亮红灯、支干道亮绿灯; CJNE R1,#0FFH,TZ3 MOV R1,#00H DEC 24H DEC 22HTZ3: MOV R2,24H MOV R3,22H LCALL DISP ;调用显示子程序。 MOV A,22H CJNE A,#00H,ST3 MOV 22H,#10ST4: MOV P1,#0DEH ;第四个状态,主干道亮红灯、支干道亮黄灯
18、; CJNE R1,#0FFH,TZ4 MOV R1,#00H DEC 24H DEC 21HTZ4: MOV R2,24H MOV R3,21H LCALL DISP ;调用显示子程序。 MOV A,21H CJNE A,#00H,ST4 MOV 21H,#05 MOV 24H,#15 LJMP ST1 ;跳转到第一个状态。DISP: MOV A,R2 ;显示子程序。 MOV B,#10 DIV AB MOV 60H,A MOV 61H,B MOV A,R3 MOV B,#10 DIV AB MOV 62H,A MOV 63H,B MOV 40H,#04H MOV R5,#01H MOV R
19、0,#60HLLP: MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P2,A LCALL DELAY1 MOV P2, #00H; 注意,这里是程序修改的地方,令显示器熄灭,以免产生残影 RL A MOV R5,A INC R0 DJNZ 40H,LLP RETDELAY1: ;延时子程序 MOV R4,#12DL2: MOV R7,#12 DJNZ R7,$ DJNZ R4,DL2 RETTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END参考文献1 徐维祥.单片微型机原理及应用 大连理工大学出版社,2006.122 胡汉才.单片机原理与接口技术M.北京: 清华大学大学出版社,2004.1-505.3 闫胜利.Altium Designer 6.中文版使用教程电子工业出版社2007.64 朝青.单片机原理及接口技术(第3版).2005年10月5 张迎新.单片微型计算机原理、应用及接口技术(修订版)北京:国防工业出版社,2004.1.6 房小翠.单片微型计算机与机电接口技术.北京:国防工业出版社,2002.318
限制150内