单片机交通灯课程设计报告.doc

上传人:本田雅阁 文档编号:2058019 上传时间:2019-02-09 格式:DOC 页数:19 大小:454.51KB
返回 下载 相关 举报
单片机交通灯课程设计报告.doc_第1页
第1页 / 共19页
单片机交通灯课程设计报告.doc_第2页
第2页 / 共19页
单片机交通灯课程设计报告.doc_第3页
第3页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机交通灯课程设计报告.doc》由会员分享,可在线阅读,更多相关《单片机交通灯课程设计报告.doc(19页珍藏版)》请在三一文库上搜索。

1、1 湖南文理学院课程设计报告湖南文理学院课程设计报告 课程名称: 电子技术基础课程设计 系 部: 电气与信息工程学院 专业班级: 应用电子 09201 班 学生姓名: 崔 剑 指导教师: 李 建 英 学 号: * 完成时间: 2011.6.23 报告成绩: . 评阅意见: 评阅教师 日期 2 目目 录录 1 设计任务和性能指标设计任务和性能指标1 1.1 设计任务1 1.2 性能指标2 2 设计方案设计方案2 2.1 任务分析2 2.2 方案设计2 3 系统硬件设计系统硬件设计4 3.1 单片机的最小系统4 3.2 电源电路4 3.3 数码管显示时间电路设计5 3.4 信号灯控制电路设计5 4

2、 系统软件设计系统软件设计6 4.1 主程序设计6 5 调试及性能分析调试及性能分析8 5.1 调试分析8 5.1.1 软件调试.8 5.1.2 系统功能调试.8 6 心得体会心得体会9 参考文献参考文献10 致谢致谢10 附录附录 1 系统原理图系统原理图.11 附录附录 2 系统仿真图系统仿真图.12 附录附录 3 程序清单程序清单.13 1 1 设计任务和性能指标设计任务和性能指标 1.1 设计任务 东西、南北两干道交与一个十字路口, 各干道有一组红、黄、绿三色的指示 灯,指示车辆和行人安全通行。红灯 亮禁止通行,绿灯亮允许通行。黄灯 亮提示人们注意红、绿灯的状态即将切 换,切黄灯燃亮时

3、间为东西南北两干 道的公共停车时间。设东西道比南北道 的车流量大,指示灯燃亮的方案如下 表所示。 60S5S80S5S 东西道红灯亮黄灯亮绿灯亮红灯亮 . 南北道绿灯亮黄灯亮红灯亮黄灯亮 南 北 东 西 2 1.2 性能指标 (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿 灯,此道车辆通过,行人禁止通行。通行时间为 60 秒。 (2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通 行,行人通行。时间为 80 秒。东西方向车辆打通行时间长。 (4)这样如上表的时间和红、绿、黄出现的顺序依次处出

4、现这样行人和车辆就 能安全畅通的通行。 (5)此表可根据车辆动态设定红绿灯初始值。 2 设计方案设计方案 2.12.1 任务分析任务分析 模拟交通灯控制器就是使用单片机来控制一些 LED 和数码管,模拟真实交通灯 的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字 路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等 2.22.2 方案设计方案设计 3 1、硬件图、硬件图 根据设计的要求可知,系统的硬件原理框图如下图所示。 键 盘 LED数码管显示 三色灯显示 复位电路 单片机 晶振电路 系统硬件框图 单片机可选用 AT89C51,它与 8051 系列单片机全兼容,但其内部

5、带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。 南北向和东西向各采用 4 个数码管计时,同时需要对该方向的指示灯的点亮时 间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择 线式键盘或矩阵式键盘,若单片机的 I/O 口不够用时,可以考虑扩展 8255 或 8 155 满足系统的要求。 2.2. 软件方案软件方案 根据设计要求,程序框图如图 1 所示。软件可由汇编语言完成,也可由 C 语 言完成,这里就采用汇编语言。软件设计可以分为以下几个功能模块: 主程序主程序:初始化及键盘监控。 计时程序模块:计时程序模块:为定时器的中断服务子

6、程序,完成 0.1 秒(或其他时间)和 1 秒的时间定时。 显示程序模块显示程序模块:完成 60 个发光二极管(实际上只需驱动 30 个)和 8 个 LED 数码管的显示驱动。 开始 初始化 判断当前状态 调用正常 运行子程序 调用紧急 状态子程序 4 3 系统硬件设计系统硬件设计 3.1 单片机的最小系统 ATMEL 公司生产的 AT89C52 单片机它是硬件电路的核心部分,时钟电路晶 振使用 12MHz,复位电路采取按键复位方式。具体连接图 3.1 和图 3.2。 单片机系统的时钟电路 单片机系统的复位电路 3.2 电源电路设计 电源用 5V 直流变压器直接供电。 5 3.3 数码管显示电

7、路 显示电路采用 8 个共阴数码管,P1 口作为数码管的输入,P3.4、P3.5、P3.6 P3.7 分 别作为东西南北四路数码管的位选端。 数码管显示电路 3.4 信号灯控制电路 应急电路 6 4 4 系统软件设计系统软件设计 4.14.1 主程序设计主程序设计 1、主程序流程图主程序流程图 调南北通行子程序 调南北黄灯闪烁子程 调东西通行子程 调东西黄灯闪烁子程 是否有中断按键按 下? 中断处理 中断初始化 中断返回(到子程序处) YES 开 始 NO 7 2、紧急中断子程序流程图紧急中断子程序流程图 断点入栈保护 状态参数设置 送状态字至端口 状态响应 断点返回 开 始开 始 3 3、循

8、环流程控制思路:、循环流程控制思路: 东西绿灯东西绿灯 南北红灯南北红灯 东西黄灯闪东西黄灯闪 南北红灯亮南北红灯亮 东西红灯东西红灯 南北绿灯南北绿灯 东西红灯亮东西红灯亮 南北黄灯闪南北黄灯闪 8 5 调试及性能分析调试及性能分析 5.1 调试分析 5.1.1 软件调试软件调试 软件调试主要是利用 proteus 仿真软件完成电路的搭建,运行以发现设计中 的错误及时改正。 5.1.2 系统功能调试系统功能调试 通过软件仿真显示,系统基本能完成要求,但键盘没有正确的做出来,没 有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。仿真结果请见 附表。 6 心得体会心得体会 两个星期的电子课

9、程设计很快就结束了。在本次课程设计中,我通过动手 实践操作,进一步学习和掌握了单片机原理的有关知识,特别是在计算机编程 方面。这让我加深了对单片机原理及应用技术的认识,进一步巩固了单片机知 识,掌握了简单的单片机应用系统的设计、制作、调试的方法。对于交通灯这 个题目,由于本学期学习单片机课程和 DSP 课程时,都接触过类似相关的实验, 所以感觉蛮亲近,只是使用汇编语言我确实还不够熟练。在整个课程设计中我 查阅了大量的资料,以及得到了很多同学的指导和帮忙。 本次课程设计重点是通过实践操作和理论相结合,提高实际解决问题能力。 在这一周多的的时间里我了解了很多有关单片机的知识,使自己的知识得到丰 富

10、和充实。单片机是我们自动化专业重要课程之一,要做好一个课程设计,就 必须做到:1、在设计程序之前,对所用单片机的内部结构有一个系统的了解, 知道该单片机内有哪些资源;2、要有一个清晰的思路和一个完整的的软件流程 图;3、在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改 进是程序设计的必经之路;4、要养成注释程序的好习惯,一个程序的完美与否 不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存 9 和交流提供了方便;5、在设计课程过程中遇到问题是很正常的,但我们们应该 将每次遇到的问题记录下来,并分析清楚,这样下次再碰到同样的问题时就能 很好的解决了。课程设计已经接

11、近尾声,从中学到的知识会让我受益终身。在 设计的过程中我发现了自己很多不足之处,如对以前所学过的知识理解得不够 深刻,掌握得不够牢固。通过查阅大量有关资料,并跟同学互相讨论,交流经 验和自学,使自己学到了不少东西,虽然经历了不少艰辛,但收获同样巨大。 通过这次课程设计,使我对以前学过的知识进行了巩固,加深了理解,提 高了应用能力和发现、分析、解决问题的能力。经历了从最初的设计到最后完 成设计的整个过程,使我进一步增强了对本专业的认识和兴趣。对于我们工科 来说,对以后就业工作来说,肯定也会有很好的帮助的。 参考文献 1 曾屹.单片微型机原理与应用 中南大学出版社,2009.6 2 张一斌 余建坤

12、.单片机原理课程设计 中南大学出版社,2009.9 3 邓红 张越.单片机实验与应用设计教程 冶金工业出版社,2004.5 4 李刚 林凌 姜苇.51 系列单片机系统设计与应用技巧 北京航空航天大学 出版社,2004.1 5. 朱彩莲. Multism 电子电路仿真教程. 西安电子科技大学出版社,2007. 6. 张庆双等. 电子元器件的选用与检测M. 北京机械工业出版社, 2003 7. 杨邦文. 实用信号产生电路 200 例M. 北京电子工业出版社,1998. 10 致谢致谢 这次电子课程设计是本学期的一次重要学习任务,从中学到了很多,让我 真正渗入到了专业学习,我能有这样的机会并且获益匪

13、浅,感谢于身边每一位 给予我支持和帮助的人。 感谢父母的养育之恩,是您们让我走进了美丽的大学校园,让我经历着人 生美好的时光,并从中汲取营养,不断地成长。 感谢湖南文理学院,感谢电气与信息工程学院,校园的良好环境培养了一 批又一批的学子,身为电信学子,我骄傲、我自信,感谢美丽的校园。 感谢本次课程设计的指导老师,您的课题指点为之后课题的成功完成指引 了方向,奠定了基础。 感谢我的室友们还有班级的其他同学,当我的课题设计遇到困难时,是你 们帮助我解决和查阅资料,设计过程中我遇到了很多大大小小的问题,你们给 了我最直接最快捷的指导和帮助。 我真诚地感谢每一位关心、帮助过我的同学、老师、朋友,不论是

14、过去、 现在或将来! 11 附录附录 1 系统原理图系统原理图 12 附录附录 2 系统仿真图系统仿真图 13 附录附录 3 程序清单程序清单 ;- ;程序实现功能 ;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道 在内的道路交通状态。 ;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。 ;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。 ;工作寄存器及存储单元分配 ;1.工作寄存器 ;R2 设置为定时器定时中断次数,R6、R7 用于延时程序中的寄存器 ;2.片内存储单元 ;30H、31H 作为两组数码管显示数据存储单元;32H、33H 作为交通

15、灯初始状态存储单元; 40H、41H 作为交通灯显示数据存储单元 ;3.标志位 ;00H:南北通行标志位 ; 01H:东西通行标志位;02H:紧急事件标志位 ;- SNF EQU 00H ;南北通行标志位 EWF EQU 01H ;东西通行标志位 URF EQU 02H ;紧急事件标志位 ORG 0000H LJMP MAIN ;上电转主程序 ORG 000BH ;定时中断入口 LJMP DSZD ORG 0003H ;紧急中断入口 LJMP URZD ORG 0030H MAIN: LCALL INIT ;调用初始化子程序 LOOP: LCALL DIS ;循环执行显示子程序 AJMP LO

16、OP ;/初始化程序 INIT: SETB SNF SETB EWF SETB URF MOV R2,#20 ;定时器中断 20 次为 1s MOV TMOD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;开定时中断与紧急中断 14 SETB ET0 SETB TR0 SETB EX0 SETB IT0 ;设置中断程控方式 MOV DPTR,#TAB ;数值首地址放入 DPTR 中 MOV 40H,#40 ;东南西北通行时间设置 MOV 41H,#40 MOV 30H,#40 ;通行时间初始化 MOV 31H,#60 MOV P0,#4CH

17、;初始化时南北通行并把交通灯状态分别放在 32H 和 33H 中 MOV 32H,#4CH MOV P2,#15H MOV 33H,#15H RET ;/显示子程序 DIS: MOV P3,#0DFH ;选中南北方向的十位数码管 MOV A,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A ; LCALL D1MS MOV P3,#0EFH ;选中南北方向的个位数码管 MOV A,B ;送入数码管显示 MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#7FH ;选中第东西方向的十位数码管 MOV

18、 A,31H ;送入数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#0BFH ;选中第东西方向的个位数码管 MOV A,B MOVC A,A+DPTR MOV P1,A LCALL D1MS SETB P3.0 SETB P3.1 JNB P3.0,DIS_S ;查询是否第一个按键按下 15 JNB P3.1,DIS_E ;查询是否第二个按键按下 AJMP DIS_R ;没有键按下则返回 DIS_S:LCALL D5MS ;按键去抖 JNB P3.0,DIS_SN AJMP DIS_R DIS_SN:MOV 40

19、H,#50 ;对通行时间从新分配,南北通行时间加长 MOV 41H,#30 AJMP DIS_R DIS_E:LCALL D5MS ;按键去抖 JNB P3.1,DIS_EW AJMP DIS_R DIS_EW:MOV 40H,#30 ;东西通行时间加长 MOV 41H,#50 DIS_R:RET ;/定时中断处理程序 DS_C: LJMP DS_R ;接力跳转 DSZD: PUSH ACC ;保护现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,DS_C ;判断 1m 时间是否到达

20、MOV R2,#20 ;到达重新赋值 DEC 30H ;南北方向通行时间减一 MOV A,30H ;把减一后的时间送入显示存储单元 ;南北通行到达最后 4 秒时黄灯闪烁 DS_10:CJNE A,#4,DS_11 ;如果通行时间剩余 4 秒 JNB SNF,DS_11 ;判断是否是南北通行 MOV P0,#8AH MOV 32H, #8AH ;把交通灯状态存入存储单元(后面类似) DS_11:CJNE A,#3,DS_12 ;不是剩余 3 秒,返回 JNB SNF,DS_12 ;不是南北通行时间,返回 MOV P0,#88H MOV 32H, #88H DS_12:CJNE A,#2,DS_1

21、3 JNB SNF,DS_13 MOV P0,#8AH MOV 32H, #8AH DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#88H MOV 32H, #88H ;- 16 DS_14:JNZ DS_NE ;通行时间没有结束转向改变东西方向的数码管 CPL SNF ;如果通行时间结束则对标志位取反 JNB SNF,DS_1 ;判断是否南北通行 MOV 30H,40H ;是,点亮相应的交通灯 MOV P0,#4CH MOV 32H,#4CH ;存储交通灯状态 MOV P2,#15H MOV 33H, #15H ;存储交通灯状态 DS_NE:DEC 3

22、1H ;东西方向通行时间减一 MOV A,31H ;把通行剩余时间送入显示存储单元 ;东西方向通行时间剩余 4 秒钟黄灯闪烁(程序注释与南北方向类似 略) DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#51H MOV 32H, #51H DS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#41H MOV 32H, #41H DS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#51H MOV 32H, #51H DS_23:CJNE A,#1,DS_24 JB EWF,DS_24 MOV

23、P0,#41H MOV 32H, #41H ;- DS_24:JNZ DS_R ;东西方向时间没有结束,返回 CPL EWF ;对通行状态取反 JNB EWF,DS_2 ;东西方向通行时间到来,跳转 MOV 31H,#80 ;东西方向通行结束,重新显示时间 MOV P0,#89H ;点亮相应的交通灯 MOV 32H, #89H MOV P2,#29H MOV 33H, #29H AJMP DS_R DS_1: MOV 30H,#80 ;南北通行时间结束,重新对显示存储单元赋值 MOV P0,#89H ;执行转弯状态 1 MOV 32H, #89H MOV P2,#26H MOV 33H, #2

24、6H AJMP DS_NE DS_2: MOV 31H,41H ;东西方向开始通行,赋值予显示存储单元 17 MOV P0,#61H ;点亮相应的交通灯 MOV 32H, #61H MOV P2,#15H MOV 33H, #15H DS_R: SETB TR0 POP PSW ;恢复现场 POP ACC RETI ;/紧急中断处理程序 URZD: PUSH ACC ;保护现场 PUSH PSW CLR IE0 ;清除中断标志位 CLR TR0 ;关定时器 CPL URF ;紧急事件标志位 JB URF,UR_CON ;紧急结束;跳转 MOV P0,#49H ;各路口灯全显示红灯亮 MOV P2,#15H AJMP UR_R UR_CON:SETB TR0 ;恢复正常交通 MOV A,32H MOV P0,A MOV A,33H MOV P2,A UR_R: POP PSW ;恢复现场 POP ACC RETI ;/查表指令 TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH ;/延时 5ms 与 1ms D5MS: MOV R7,#5 D1MS: MOV R7,#10 MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RET END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1