单片机交通灯课程设计报告.docx
- 文档编号:27405337
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:23
- 大小:378.08KB
单片机交通灯课程设计报告.docx
《单片机交通灯课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机交通灯课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
单片机交通灯课程设计报告
湖南文理学院课程设计报告
课程名称:
电子技术基础课程设计
系部:
电气与信息工程学院
专业班级:
应用电子09201班
学生姓名:
崔剑
指导教师:
李建英
学号:
*************
完成时间:
2011.6.23
报告成绩:
.
评阅意见:
评阅教师日期
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系统软件设计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设计任务
东西、南北两干道交与一个十字路口,各干道有一组红、黄、绿三色的指示灯,指示车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,切黄灯燃亮时间为东西南北两干道的公共停车时间。
设东西道比南北道的车流量大,指示灯燃亮的方案如下表所示。
60S
5S
80S
5S
......
东西道
红灯亮
黄灯亮
绿灯亮
红灯亮
.......
南北道
绿灯亮
黄灯亮
红灯亮
黄灯亮
......
1.2性能指标
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
通行时间为60秒。
(2)黄灯闪烁5秒,警示车辆和行人红、绿灯状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。
时间为80秒。
东西方向车辆打通行时间长。
(4)这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。
(5)此表可根据车辆动态设定红绿灯初始值。
2设计方案
2.1任务分析
模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通灯的功能。
红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等
2.2方案设计
1、硬件图
根据设计的要求可知,系统的硬件原理框图如下图所示。
系统硬件框图
单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASHROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用4个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的I/O口不够用时,可以考虑扩展8255或8155满足系统的要求。
2.软件方案
根据设计要求,程序框图如图1所示。
软件可由汇编语言完成,也可由C语言完成,这里就采用汇编语言。
软件设计可以分为以下几个功能模块:
主程序:
初始化及键盘监控。
计时程序模块:
为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。
显示程序模块:
完成60个发光二极管(实际上只需驱动30个)和8个LED数码管的显示驱动。
3系统硬件设计
3.1单片机的最小系统
ATMEL公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。
具体连接图3.1和图3.2。
单片机系统的时钟电路
单片机系统的复位电路
3.2电源电路设计
电源用5V直流变压器直接供电。
3.3数码管显示电路
显示电路采用8个共阴数码管,P1口作为数码管的输入,P3.4、P3.5、P3.6P3.7分别作为东西南北四路数码管的位选端。
数码管显示电路
3.4信号灯控制电路
应急电路
4系统软件设计
4.1主程序设计
1、主程序流程图
2、紧急中断子程序流程图
3、循环流程控制思路:
5调试及性能分析
5.1调试分析
5.1.1软件调试
软件调试主要是利用proteus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。
5.1.2系统功能调试
通过软件仿真显示,系统基本能完成要求,但键盘没有正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动作。
仿真结果请见附表。
6心得体会
两个星期的电子课程设计很快就结束了。
在本次课程设计中,我通过动手实践操作,进一步学习和掌握了单片机原理的有关知识,特别是在计算机编程方面。
这让我加深了对单片机原理及应用技术的认识,进一步巩固了单片机知识,掌握了简单的单片机应用系统的设计、制作、调试的方法。
对于交通灯这个题目,由于本学期学习单片机课程和DSP课程时,都接触过类似相关的实验,所以感觉蛮亲近,只是使用汇编语言我确实还不够熟练。
在整个课程设计中我查阅了大量的资料,以及得到了很多同学的指导和帮忙。
本次课程设计重点是通过实践操作和理论相结合,提高实际解决问题能力。
在这一周多的的时间里我了解了很多有关单片机的知识,使自己的知识得到丰富和充实。
单片机是我们自动化专业重要课程之一,要做好一个课程设计,就必须做到:
1、在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;2、要有一个清晰的思路和一个完整的的软件流程图;3、在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;4、要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;5、在设计课程过程中遇到问题是很正常的,但我们们应该将每次遇到的问题记录下来,并分析清楚,这样下次再碰到同样的问题时就能很好的解决了。
课程设计已经接近尾声,从中学到的知识会让我受益终身。
在设计的过程中我发现了自己很多不足之处,如对以前所学过的知识理解得不够深刻,掌握得不够牢固。
通过查阅大量有关资料,并跟同学互相讨论,交流经验和自学,使自己学到了不少东西,虽然经历了不少艰辛,但收获同样巨大。
通过这次课程设计,使我对以前学过的知识进行了巩固,加深了理解,提高了应用能力和发现、分析、解决问题的能力。
经历了从最初的设计到最后完成设计的整个过程,使我进一步增强了对本专业的认识和兴趣。
对于我们工科来说,对以后就业工作来说,肯定也会有很好的帮助的。
参考文献
[1]曾屹.单片微型机原理与应用中南大学出版社,2009.6
[2]张一斌余建坤.单片机原理课程设计中南大学出版社,2009.9
[3]邓红张越.单片机实验与应用设计教程冶金工业出版社,2004.5
[4]李刚林凌姜苇.51系列单片机系统设计与应用技巧北京航空航天大学出版社,2004.1
[5].朱彩莲.Multism电子电路仿真教程.西安电子科技大学出版社,2007.
[6].张庆双等.电子元器件的选用与检测[M].北京机械工业出版社,2003
[7].杨邦文.实用信号产生电路200例[M].北京电子工业出版社,1998.
致谢
这次电子课程设计是本学期的一次重要学习任务,从中学到了很多,让我真正渗入到了专业学习,我能有这样的机会并且获益匪浅,感谢于身边每一位给予我支持和帮助的人。
感谢父母的养育之恩,是您们让我走进了美丽的大学校园,让我经历着人生美好的时光,并从中汲取营养,不断地成长。
感谢湖南文理学院,感谢电气与信息工程学院,校园的良好环境培养了一批又一批的学子,身为电信学子,我骄傲、我自信,感谢美丽的校园。
感谢本次课程设计的指导老师,您的课题指点为之后课题的成功完成指引了方向,奠定了基础。
感谢我的室友们还有班级的其他同学,当我的课题设计遇到困难时,是你们帮助我解决和查阅资料,设计过程中我遇到了很多大大小小的问题,你们给了我最直接最快捷的指导和帮助。
我真诚地感谢每一位关心、帮助过我的同学、老师、朋友,不论是过去、现在或将来!
附录1系统原理图
附录2系统仿真图
附录3程序清单
;------------------------------------
;程序实现功能
;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。
;某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。
;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。
;工作寄存器及存储单元分配
;1.工作寄存器
;R2设置为定时器定时中断次数,R6、R7用于延时程序中的寄存器
;2.片内存储单元
;30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元
;3.标志位
;00H:
南北通行标志位;01H:
东西通行标志位;02H:
紧急事件标志位
;-----------------------------------
SNFEQU00H;;;南北通行标志位
EWFEQU01H;;;东西通行标志位
URFEQU02H;;;紧急事件标志位
ORG0000H
LJMPMAIN;;;上电转主程序
ORG000BH;;;定时中断入口
LJMPDSZD
ORG0003H;;;紧急中断入口
LJMPURZD
ORG0030H
MAIN:
LCALLINIT;;;调用初始化子程序
LOOP:
LCALLDIS;;;循环执行显示子程序
AJMPLOOP
;///////////初始化程序
INIT:
SETBSNF
SETBEWF
SETBURF
MOVR2,#20;;;定时器中断20次为1s
MOVTMOD,#01H;;;初始化定时器
MOVTL0,#0B0H
MOVTH0,#3CH
SETBEA;;;开定时中断与紧急中断
SETBET0
SETBTR0
SETBEX0
SETBIT0;;;设置中断程控方式
MOVDPTR,#TAB;;;数值首地址放入DPTR中
MOV40H,#40;;;东南西北通行时间设置
MOV41H,#40
MOV30H,#40;;;通行时间初始化
MOV31H,#60
MOVP0,#4CH;;;初始化时南北通行并把交通灯状态分别放在32H和33H中
MOV32H,#4CH
MOVP2,#15H
MOV33H,#15H
RET
;////////////显示子程序
DIS:
MOVP3,#0DFH;;;选中南北方向的十位数码管
MOVA,30H;;;把显示数据送人数码管显示
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP1,A;;;
LCALLD1MS
MOVP3,#0EFH;;;选中南北方向的个位数码管
MOVA,B;;;送入数码管显示
MOVCA,@A+DPTR
MOVP1,A
LCALLD1MS
MOVP3,#7FH;;;选中第东西方向的十位数码管
MOVA,31H;;;送入数码管显示
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP1,A
LCALLD1MS
MOVP3,#0BFH;;;选中第东西方向的个位数码管
MOVA,B
MOVCA,@A+DPTR
MOVP1,A
LCALLD1MS
SETBP3.0
SETBP3.1
JNBP3.0,DIS_S;;;查询是否第一个按键按下
JNBP3.1,DIS_E;;;查询是否第二个按键按下
AJMPDIS_R;;;没有键按下则返回
DIS_S:
LCALLD5MS;;;按键去抖
JNBP3.0,DIS_SN
AJMPDIS_R
DIS_SN:
MOV40H,#50;;;对通行时间从新分配,南北通行时间加长
MOV41H,#30
AJMPDIS_R
DIS_E:
LCALLD5MS;;;按键去抖
JNBP3.1,DIS_EW
AJMPDIS_R
DIS_EW:
MOV40H,#30;;;东西通行时间加长
MOV41H,#50
DIS_R:
RET
;///////定时中断处理程序
DS_C:
LJMPDS_R;;;接力跳转
DSZD:
PUSHACC;;;保护现场
PUSHPSW
CLRTR0;;;关定时器及中断标志位并重新赋值
CLRTF0
MOVTL0,#0B0H
MOVTH0,#3CH
DJNZR2,DS_C;;;判断1m时间是否到达
MOVR2,#20;;;到达重新赋值
DEC30H;;;南北方向通行时间减一
MOVA,30H;;;把减一后的时间送入显示存储单元
;;;;;;;南北通行到达最后4秒时黄灯闪烁
DS_10:
CJNEA,#4,DS_11;;;如果通行时间剩余4秒
JNBSNF,DS_11;;;判断是否是南北通行
MOVP0,#8AH
MOV32H,#8AH;;;把交通灯状态存入存储单元(后面类似)
DS_11:
CJNEA,#3,DS_12;;;不是剩余3秒,返回
JNBSNF,DS_12;;;不是南北通行时间,返回
MOVP0,#88H
MOV32H,#88H
DS_12:
CJNEA,#2,DS_13
JNBSNF,DS_13
MOVP0,#8AH
MOV32H,#8AH
DS_13:
CJNEA,#1,DS_14
JNBSNF,DS_14
MOVP0,#88H
MOV32H,#88H
;------------------------
DS_14:
JNZDS_NE;;;通行时间没有结束转向改变东西方向的数码管
CPLSNF;;;如果通行时间结束则对标志位取反
JNBSNF,DS_1;;;判断是否南北通行
MOV30H,40H;;;是,点亮相应的交通灯
MOVP0,#4CH
MOV32H,#4CH;;;存储交通灯状态
MOVP2,#15H
MOV33H,#15H;;;存储交通灯状态
DS_NE:
DEC31H;;;东西方向通行时间减一
MOVA,31H;;;把通行剩余时间送入显示存储单元
;;;;;;;;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似略)
DS_20:
CJNEA,#4,DS_21
JBEWF,DS_21
MOVP0,#51H
MOV32H,#51H
DS_21:
CJNEA,#3,DS_22
JBEWF,DS_22
MOVP0,#41H
MOV32H,#41H
DS_22:
CJNEA,#2,DS_23
JBEWF,DS_23
MOVP0,#51H
MOV32H,#51H
DS_23:
CJNEA,#1,DS_24
JBEWF,DS_24
MOVP0,#41H
MOV32H,#41H
;-----------------------------
DS_24:
JNZDS_R;;;东西方向时间没有结束,返回
CPLEWF;;;对通行状态取反
JNBEWF,DS_2;;;东西方向通行时间到来,跳转
MOV31H,#80;;;东西方向通行结束,重新显示时间
MOVP0,#89H;;;点亮相应的交通灯
MOV32H,#89H
MOVP2,#29H
MOV33H,#29H
AJMPDS_R
DS_1:
MOV30H,#80;;;南北通行时间结束,重新对显示存储单元赋值
MOVP0,#89H;;;执行转弯状态1
MOV32H,#89H
MOVP2,#26H
MOV33H,#26H
AJMPDS_NE
DS_2:
MOV31H,41H;;;东西方向开始通行,赋值予显示存储单元
MOVP0,#61H;;;点亮相应的交通灯
MOV32H,#61H
MOVP2,#15H
MOV33H,#15H
DS_R:
SETBTR0
POPPSW;;;恢复现场
POPACC
RETI
;/////////////紧急中断处理程序
URZD:
PUSHACC;;;保护现场
PUSHPSW
CLRIE0;;;清除中断标志位
CLRTR0;;;关定时器
CPLURF;;;紧急事件标志位
JBURF,UR_CON;;;紧急结束;跳转
MOVP0,#49H;;;各路口灯全显示红灯亮
MOVP2,#15H
AJMPUR_R
UR_CON:
SETBTR0;;;恢复正常交通
MOVA,32H
MOVP0,A
MOVA,33H
MOVP2,A
UR_R:
POPPSW;;;恢复现场
POPACC
RETI
;////////////查表指令
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH
;//////////延时5ms与1ms
D5MS:
MOVR7,#5
D1MS:
MOVR7,#10
MOVR6,#50
L1:
DJNZR6,$
DJNZR7,L1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 交通灯 课程设计 报告