1、单片机交通灯课程设计报告目 录1设计任务 12 设计方案 12.1任务分析 12.2方案设计 12.3硬件方案 12.4软件方案 23 系统硬件设计 3 3.1单片机的最小系统 33.2电源电路设计 33.3数码管显示电路 34 系统软件设计 44.1 主程序设计 44.2系统程序 45 调试及性能分析 45.1软件调试 45.2硬件调试 45.3系统功能调试 56 遇到的问题及解决 57 心得体会 5附录: 6参 考 文 献 101设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿
2、灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。2 设计方案2.1任务分析 模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。红、黄、绿交替点亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。2.2方案设计 我们设计的是十字路口的红绿灯,有东西,南北两个走向,前两个灯是东西的红灯和绿灯,后两个是南北的红灯和绿灯,前两个灯不会同时亮,后两个灯不会同时亮,第1个和第3个不会同时亮,暂时没有黄灯的功能。2.3硬件方案根据设计的要求可知,系统的硬件原理框图如下图所示图1 硬件原理框图
3、 单片机可选用STC89C52,它与8051系列单片机全兼容,但其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。按键可以根据系统的需要进行复位。用三极管驱动数码管显示,三极管控制共阳位选端,控制数码管的显示。2.4 软件方案 首先南北方向红灯、东西方向绿灯亮,南北方向红灯15秒、东西方向绿灯10秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间5秒,
4、东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为10秒,东西方向有黄灯跳转为红灯,时间为15秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。根据设计要求,程序框图如图所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块:数码管显示模块 动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管
5、公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。LED红绿灯显示模块状态1, 东西绿灯亮,南北红灯亮状态2, 东西黄灯亮,南北红灯亮状态3, 东西红灯亮,南北绿灯亮状态4, 东西红灯亮,南北黄灯亮结构框图 图2 LED红绿灯显示框图3 系统硬件设计3.1单片机的最小系统 STC公司生产的AT
6、89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。3.2电源电路设计 电源用5V直流变压器直接供电,usb接口供电。3.3数码管显示电路 显示电路采用4个共阳数码管,用74HC244做驱动器,P0口作为数码管的输入,ULN2803作为控制位选端,P2.0,P2.1,P2.2, P2.3分别作为东西,南北四路数码管的位选端。4 系统软件设计4.1 主程序设计 系统程序流程图图3 系统程序流程图 4.2系统程序 根据设计方案,设计满足要求的程序,并将程序烧写进单片机,运行程序,观察现象是否符合要求,若不符合要求继续修改程序。直至能达到要求。程序清单见附录
7、5 调试及性能分析5.1软件调试 软件调试主要是利用protus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。5.2硬件调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。5.3系统功能调试 通过通电调试系统的功能,观察系统是否正常运行,是否达到设计指标,通过修改软件完成系统的系能指标,也可以通过仿
8、真软件进行仿真运行,调试并修改系统,以便达到最佳水准。让系统最大限度的发挥其功效。6 遇到的问题及解决 在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。 综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。 由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以
9、随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不完善效率还不是很高等等,这需要在实践中进一步完善。7 心得体会这学期是我们首次接触单片机这门课程,大一的时候学长为我们展示了单片机,告诉我们这是我们以后要学习的很重要的东西,那时候只看到一块板子上可以显示数字,现在我知道了那个叫数码管。单片机刚刚学习的时候我觉得很难,代码都看不懂,更别说编程了,所以这次课设对我们来说很困难,可是随着组员之间的讨论我们解决了一些问题,也更深的了解了单片机的原理,交通灯在所有课设里面不算是难的,可是对我们来说都一样很困难。问题虽然很多但我
10、们还是努力去解决,从计时到LED亮都很难,从书本学习的东西用在实际中才知道有多重要,最后我们只实现了简单的红绿灯而没有黄灯,这是我们的课设需要改进的。在以后的学习中我们应该勤动手,多动脑,遇到问题思考怎么解决,并且要有合作意识,团队的能力总是比一个人要大的,我们会改进作品,更好的使用单片机。附录: ORG 0000H LJMP MAIN ORG 0003H LJMP INTT0 ORG 0013H LJMP INTT1 ORG 001BH LJMP TT1 ORG 0100HTT1: MOV TH1,#0D8H ;定时器1,定时10us MOV TL1,#0F0H DJNZ R6,EXIT M
11、OV 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 22H,#10 MOV 23H,#15 MOV 24H,#15 SETB TR1ST
12、1: 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: MOV R2,21H MOV R3,23H LCALL DISP MOV A,21H CJNE A,#00H,ST2 MOV 21H,#05 MOV 23H,#15ST3: MOV P1,#0
13、BEH 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 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 M
14、OV 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 R0,#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.4 朝青.单片机原理及接口技术(第3版).2005年10月5 张迎新.单片微型计算机原理、应用及接口技术(修订版)北京:国防工业出版社,2004.1.6 房小翠.单片微型计算机与机电接口技术.北京:国防工业出版社,2002.3
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1