简单交通灯控制系统设计单片机简单交通灯课程设计文档格式.docx
《简单交通灯控制系统设计单片机简单交通灯课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《简单交通灯控制系统设计单片机简单交通灯课程设计文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
第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;
存入东西方向红灯初始时间
;
-------------------------------------------
N0:
SETBTR0;
启动T0计时器
MOV76H,R7;
红灯时间存入76H
N00:
MOVA,76H;
东西方向禁止,南北方向通行
MOVR3,A
MOVDPTR,#0000H;
置8255A口,东西方向红灯亮,南北方向绿灯亮
MOVA,#0DDH
N01:
JBP2.0,B0
N02:
SETBP3.0
CJNER3,#00H,N01;
比较R3中的值是否为0,不为0转到当前指令处执行
------黄灯闪烁5秒程序------
N1:
MOVR3,#05H
置8255A口,东西,南北方向黄灯亮
MOVA,#0D4H
MOVX@DPTR,A
N11:
MOVR4,#00H
N12:
CJNER4,#7DH,$;
黄灯持续亮0.5秒
N13:
置8255A口,南北方向黄灯灭
N14:
黄灯持续灭0.5秒
CJNER3,#00H,N1;
闪烁时间达5秒则退出
------------------------------------------------------------
N2:
MOVR7,#00H
MOVA,R0;
东西通行,南北禁止
置8255A口,东西方向绿灯亮,南北方向红灯亮
MOVA,#0EBH
N21:
JBP2.0,T03
N22:
CJNER3,#00H,N21
N3:
MOVA,#0E2H
N31:
N32:
N33:
CJNER3,#00H,N3;
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
MOVDPTR,#0001H
MOVA,#0F7H
DS2:
MOVA,7AH;
显示个位
MOVDPTR,#TAB
MOVA,#0FBH
RET
------东西方向车流量检测程序------
T03:
SUBBA,#00H;
若绿灯倒计时完毕,不再检测车流量
JZN3
INCR7
CJNER7,#64H,E1
中断到100次则清零
E1:
SJMPN22
------东西方向车流量显示程序------
T02:
MOVA,R7;
R7中值二转十显示转换
DIS3:
DS4:
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