简单交通灯控制系统设计单片机简单交通灯课程设计.docx
- 文档编号:3568055
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:313.29KB
简单交通灯控制系统设计单片机简单交通灯课程设计.docx
《简单交通灯控制系统设计单片机简单交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《简单交通灯控制系统设计单片机简单交通灯课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
简单交通灯控制系统设计单片机简单交通灯课程设计
题目:
简单交通灯控制系统设计
专业:
xxxxxxxxxxxxxx
班级:
xxxxxxxxxxxxx
学号:
xxxxxxx
姓名:
xxxx
xxxxxxxxxx
20xx年x月x日
摘要
1引言
世界上最先使用交通信号灯的是英国伦敦。
1868年12月10日,在伦敦布里奇大街和警察厅拐角处一根7米高的钢柱上,装上了一套交通信号灯,这套装置是由铁路信号工程师奈特发明的。
它有红绿两种颜色,红色示意“停止”,绿色示意“当心”。
由于这种信号灯燃烧煤气,因而很不安全,在它安装使用后的第23天就发生了爆炸,负责转灯的警察也因此丧生。
1879年爱迪生发明了白炽灯,从此,电气照明迅速进入到各个领域。
第一个电动红绿交通信号灯于1914年8月5日在美国的俄亥俄州投入使用。
灯柱上还安装了一个电铃,当红绿灯转换颜色时会自动鸣响。
现代的红、黄、绿三色交通信号灯于1918年出现在美国纽约,它安装在交通岗亭上,用人工控制。
20世纪20年代后,自动变换颜色的交通信号灯开始在全世界的大小市镇安家落户。
现在,世界各国一般都采用红、黄、绿三种颜色作为交通信号。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
目录
第1章交通管理的方案论证1
第2章课程设计的题目及要求1
2.1设计目的1
2.2设计任务及要求1
第3章控制系统的硬件设计1
3.1系统设计总框图1
3.2系统引脚图1
第4章控制系统变的软件设计2
4.1程序流程图3
4.2程序清单3
第5章调试及性能分析8
第6章课程设计心得9
参考文献9
1.交通管理的方案论证
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
设东西道比南北道的车流量大,指示灯燃亮的方案
2.课程设计的题目及要求
(1)设计目的
1.熟悉单片机控制系统,并了解系统设计的一般规律。
2.掌握8255芯片的结构及编程方法。
3.熟悉模拟交通灯控制的实现方法。
(2)设计任务及要求
设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:
初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。
如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后将开关拨回原位,系统恢复原状态运行。
3.硬件设计
(1)系统设计总框图
图1系统硬件框图
(2)系统引脚图
图2系统引脚图图
4.软件设计
(1)程序流程图
根据设计要求,程序框图如图3所示。
软件可由汇编语言完成。
软件设计可以分为以下几个功能模块:
1.主程序:
初始化及键盘监控。
2.计时程序模块:
为定时器的中断服务子程序,完成时间定时。
3.如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后将开关拨回原位,系统恢复原状态运行。
图3程序流程图
(2)程序清单
ORG0000H;主程序的入口地址
LJMPMAIN;跳转到主程序的开始处
ORG0003H;外部中断0的中断程序入口地址
ORG000BH;定时器0的中断程序入口地址
LJMPT0_INT;跳转到中断服务程序处
ORG0013H;外部中断1的中断程序入口地址
MAIN:
MOVSP,#50H
MOVIE,#8EH;CPU开中断,允许T0中断,T1中断和外部中断1中断
MOVTMOD,#51H;设置T1为计数方式,T0为定时方式,且都工作于模式1
MOVTH1,#00H;T1计数器清零
MOVTL1,#00H
SETBTR1;启动T1计时器
SETBEX1;允许INT1中断
SETBIT1;选择边沿触发方式
MOVDPTR,#0003H
MOVA,#80H;给8255赋初值,8255工作于方式0
MOVX@DPTR,A
AGAIN:
JBP3.1,N0;判断是否要设定东西方向红绿灯时间的初值,若P3.1为1则跳转
MOVA,P1
JBP1.7,RED;判断P1.7是否为1,若为1则设定红灯时间,否则设定绿灯时间
MOVR0,#00H;R0清零
MOVR0,A;存入东西方向绿灯初始时间
MOVR3,A
LCALLDISP1
LCALLDELAY
AJMPAGAIN
RED:
MOVA,P1
ANLA,#7FH;P1.7置0
MOVR7,#00H;R7清零
MOVR7,A;存入东西方向红灯初始时间
MOVR3,A
LCALLDISP1
LCALLDELAY
AJMPAGAIN
;-------------------------------------------
N0:
SETBTR0;启动T0计时器
MOV76H,R7;红灯时间存入76H
N00:
MOVA,76H;东西方向禁止,南北方向通行
MOVR3,A
MOVDPTR,#0000H;置8255A口,东西方向红灯亮,南北方向绿灯亮
MOVA,#0DDH
MOVX@DPTR,A
N01:
JBP2.0,B0
N02:
SETBP3.0
CJNER3,#00H,N01;比较R3中的值是否为0,不为0转到当前指令处执行
;------黄灯闪烁5秒程序------
N1:
SETBP3.0
MOVR3,#05H
MOVDPTR,#0000H;置8255A口,东西,南北方向黄灯亮
MOVA,#0D4H
MOVX@DPTR,A
N11:
MOVR4,#00H
N12:
CJNER4,#7DH,$;黄灯持续亮0.5秒
N13:
MOVDPTR,#0000H;置8255A口,南北方向黄灯灭
MOVA,#0DDH
MOVX@DPTR,A
N14:
MOVR4,#00H
CJNER4,#7DH,$;黄灯持续灭0.5秒
CJNER3,#00H,N1;闪烁时间达5秒则退出
;------------------------------------------------------------
N2:
MOVR7,#00H
MOVA,R0;东西通行,南北禁止
MOVR3,A
MOVDPTR,#0000H;置8255A口,东西方向绿灯亮,南北方向红灯亮
MOVA,#0EBH
MOVX@DPTR,A
N21:
JBP2.0,T03
N22:
CJNER3,#00H,N21
;------黄灯闪烁5秒程序------
N3:
MOVR3,#05H
MOVDPTR,#0000H;置8255A口,东西,南北方向黄灯亮
MOVA,#0E2H
MOVX@DPTR,A
N31:
MOVR4,#00H
CJNER4,#7DH,$;黄灯持续亮0.5秒
N32:
MOVDPTR,#0000H;置8255A口,南北方向黄灯灭
MOVA,#0EBH
MOVX@DPTR,A
N33:
MOVR4,#00H
CJNER4,#7DH,$;黄灯持续灭0.5秒
CJNER3,#00H,N3;闪烁时间达5秒则退出
SJMPN00
;------闯红灯报警程序------
B0:
MOVR2,#03H;报警持续时间3秒
B01:
MOVA,R3
JZN1;若倒计时完毕,不再报警
CLRP3.0;报警
CJNER2,#00H,B01;判断3秒是否结束
SJMPN02
;------1秒延时子程序-------
N7:
RETI
T0_INT:
MOVTL0,#9AH;给定时器T0送定时10ms的初值
MOVTH0,#0F1H
INCR4
INCR5
CJNER5,#0FAH,T01;判断延时是否够一秒,不够则调用显示子程序
MOVR5,#00H;R5清零
DECR3;倒计时初值减一
DECR2;报警初值减一
T01:
ACALLDISP;调用显示子程序
RETI;中断返回
;------显示子程序------
DISP:
JNBP2.4,T02
DISP1:
MOVB,#0AH
MOVA,R3;R3中值二转十显示转换
DIVAB
MOV79H,A
MOV7AH,B
DIS:
MOVA,79H;显示十位
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0002H
MOVX@DPTR,A
MOVDPTR,#0001H
MOVA,#0F7H
MOVX@DPTR,A
LCALLDELAY
DS2:
MOVA,7AH;显示个位
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0002H
MOVX@DPTR,A
MOVDPTR,#0001H
MOVA,#0FBH
MOVX@DPTR,A
RET
;------东西方向车流量检测程序------
T03:
MOVA,R3
SUBBA,#00H;若绿灯倒计时完毕,不再检测车流量
JZN3
JBP2.0,T03
INCR7
CJNER7,#64H,E1
MOVR7,#00H;中断到100次则清零
E1:
SJMPN22
;------东西方向车流量显示程序------
T02:
MOVB,#0AH
MOVA,R7;R7中值二转十显示转换
DIVAB
MOV79H,A
MOV7AH,B
DIS3:
MOVA,79H;显示十位
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0002H
MOVX@DPTR,A
MOVDPTR,#0001H
MOVA,#0F7H
MOVX@DPTR,A
LCALLDELAY
DS4:
MOVA,7AH;显示个位
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0002H
MOVX@DPTR,A
MOVDPTR,#0001H
MOVA,#0FBH
MOVX@DPTR,A
LJMPN7
;------延时4MS子程序----------
DELAY:
MOVR1,#0AH
LOOP:
MOVR6,#64H
NOP
LOOP1:
DJNZR6,LOOP1
DJNZR1,LOOP
RET
;------字符表------
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
5.调试及性能分析
(1)软件调试
软件调试主要是利用proteus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。
。
(2)硬件调试
硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。
具体步骤及测试结果如下:
(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。
(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。
(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。
6.课程设计心得
这次单片机课程设计历时一个学期的时间,在这次设计过程里我们体验了从设计、画板、编程、焊板到调试的整个过程。
对于交通灯这个题目,由于以前学单片机这个课程时,做过类似相关的实验,觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,查阅了大量的资料,初步完成了电路设计方案。
通过这次课设,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力。
经历了从最初的设计到最后做出产品的开发过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影响。
由于本设计设计到的知识面比较广,就爱上本人在相关领域知识的缺乏,所以本设计的性能指标还是有待改善的,然而,模拟仿真证明了本设计的基本设计思想和设计方法以及基本功能是现实可行的。
参考文献
1刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.
2李平等.单片机入门与开发[M].机械工业出版社,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 交通灯 控制系统 设计 单片机 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)