单片机课程设计智能交通灯的控制与管理系统Word文档格式.docx
《单片机课程设计智能交通灯的控制与管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计智能交通灯的控制与管理系统Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
3.1调试步骤及方法6
3.2实验结果及分析6
参考文献7
附录1(源程序)8
附录2(原理图)13
第1章总体设计方案
1.1课程设计的内容和要求
(1).课程设计内容:
利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口设置红、黄、绿三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、黄、绿发光二极管作信号灯。
设东西向为主干道,南北为支干道。
①状态1:
仅灯亮,数码管不工作。
按下键4,红/黄/绿三色灯交替
红(20秒)黄(闪烁)(5秒)绿(20秒)黄(闪烁)(5秒)
②状态2:
灯和数码管相结合,模拟十字路口的交通灯,在以上功能的基础上数码管倒计时显示时间。
(2).课程设计要求:
①独立完成课程设计任务;
②通过老师当场验收;
③交出完整的课程设计报告。
1.2课程设计原理
根据题目要求,要完成交通灯的控制与管理,在本次设计中主要使用了定时器、外部接口P1口、数码管显示、二极管和键盘以及部分连线来完成交通灯的控制与管理。
通过P1口的各不同输出口来控制交通灯的变化,通过定时器控制交通灯转换的频率,通过调用显示程序控制三色灯亮灭时间,用一开关实现状态的转换。
1.3课程设计思路
(1).提出方案
首先,设计灯的红、黄、绿交替变换,可以用P1口与红、绿、黄灯来控制灯的变化,控制P1口每一位输出以此来控制灯的变化;
利用定时器作为两种颜色灯期间的延时程序,再用不同的寄存器控制延时时间的长短;
通过键盘扫描确认按键4进入主程序;
在状态2中,用八段数码管倒计时显示延时时间可通过查表来实现;
用一个开关控制状态1和状态2的转换,开关可以由P1口的某一位控制。
(2).方案论证
目前设计交通灯的方案很多,有用CPLD设计实现交通信号灯控制器方法;
有用PLC实现交通灯的控制,还有利用单片机实现交通灯的控制;
本设计采用单片机的方法。
即在十字路口醒目的地方用红、绿、黄三种颜色的信号灯,加上一个倒计时显示器来控制行车,本交通灯系统选用了LED灯和双位数码管来模拟显示交通灯状态。
1.4实验环境
·
硬件环境:
WAVE实验箱,PC机。
软件环境:
LCA88ET应用软件
第2章详细设计方案
2.1实现方法
利用P1口的P1.0~P1.2接主干道的红灯、黄灯、绿灯,P1.3~P1.5接之支干道的红灯、黄灯、绿灯,控制P1口输出位来控制不同颜色灯的变化,进而实现交通灯的控制;
通过扫描键盘确认按键4,即向列扫描地址逐级输入低电平,然后从行地址码读回,若按下键4,则相应位变为低电平,再从行地址码读回即可确认按键4,进而进入主函数;
两种颜色的灯之间的延时程序可调用字函数实现,再利用寄存器设定延时时间的长短,字函数可用定时器实现,定时器用查询方法定时;
延时时间倒计时在八段数码管上显示的函数设成一个字函数,主函数通过调用子函数实现,子函数可以利用查表的方法实现,即把0~9在八段数码管中的表示的数据列成一个表;
利用P1.7控制开关以此控制状态1和状态2的转换。
2.2模块设计
2.2.1程序连接图
硬件电路由键盘显示接口芯片MCS-51构成,如图2.1所示。
图2.1硬件连线图
MCS-51是把那些作为控制应用所必须的基本功能部件集成在一个电路芯片上,是一种可编程设置型芯片,主要由I/O功能块构成。
I/O功能块能控制功信号灯二极管的亮灭情况;
MCS-51片选信号控制数码管显示及键盘的扫描。
2.2.2.时间显示模块
时间显示模块是根据八段数码管显示实现的,八段数码管显示不同位控制不同数码管,然后输入相应的值,并通过延时程序控制显示频率,如图2.2所示。
图22时间显示模块流程图
数码管显示是通过控制段地址和位地址显示数据的,先向段地址内写入要显示的数据,在向要显示的数码管内输入数据,然后位地址移位,再输入段码数据,输入段码数据是通过查表实现的。
2.2.3主程序流程图
图2.3主程序流程图
主程序用于控制键盘扫描、信号灯的转换、延时程序、数码管的显示及显示程序等功能子程序的调用和相应的芯片及内存、寄存器、变量的初始化,协调整个程序的运行,所以,主程序要能很好的组织程序的运行。
第3章调试及结果分析
3.1调试步骤及方法
编译并连接程序后全速运行,然后按下键4,利用开关控制运行状态1或状态2,若运行在状态1拨动开关,此时仅信号灯亮数码管不显示时间,观察信号灯的转换情况以及相应的亮的时间。
若要数码管上倒计时显示时间,则使开关置1,运行程序按下键4,观察信号灯与数码管的状态,即要实现信号灯转换与数码管时间一致,即数码管倒计时到零时,灯的颜色要改变。
在状态2运行期间使开关置0,则要切换到状态1使数码管不工作。
在状态1运行期间使开关置1亦可以切换到状态2,使数码管倒计时显示时间。
3.2实验结果及分析
本程序满足课程设计要求,在程序运行在状态1时,首先支干道亮20秒红灯同时主干道亮20秒绿灯,然后主干道和主干道的黄灯均闪烁5秒,之后主干道亮20秒红灯主干道亮20秒绿灯,以此构成循环。
在程序运行在状态2时,支干道亮20秒红灯主干道亮20秒绿灯与此同时数码管倒计时20秒,当数码管计时到0时,主干道和主干道的黄灯均闪烁5秒,数码管倒计时5秒之后主干道亮20秒红灯主干道亮20秒绿灯,数码管倒计时20秒,黄灯闪烁5秒数码管倒计时5秒构成循环。
刚开始按下键4运行程序时,发现按整行任意一个键程序均运行,通过分析发现程序中赋低电平时整行都赋了低电平而不是仅要按键的列赋低电平,改正后,仅按下键4时程序才运行;
在程序运行期间黄灯闪烁慢,改变黄灯变化的频率,就加快了黄灯闪烁;
在数码管工作时,发现两个数码管不能同时工作,调试时发现延时程序不正确,通过改变延时时间,数码管正常工作。
参考文献
[1]袭尚福.微机原理与接口技术[M].西安:
西安电子科技大学出版社,2003
[2]王忠民.微型计算机原理[M].西安:
[3]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].北京:
清华大学出版社,2001
[4]郑初华.汇编语言、微机原理及接口技术[M].北京:
电子工业出版社,2006
[5]张雪兰.汇编语言程序设计[M].北京:
清华大学出版社,2006
[6]薛栋梁.单片机原理及应用[M].西安:
中国水利水电出版社,2001
[7]谢筑森.单片机开发与典型应用设计[M].西安:
中国科学技术大学出版社,2003
[8]高卫东,辛友顺.单片机原理与实践[M].北京:
北京航空航天大学出版社,2004
[9]张毅刚.单片机原理与应用[M].哈尔冰工业大学,2006
附录1(源程序)
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVA,#0DFH
LOOP0:
MOVDPTR,#08002H
MOVX@DPTR,A
MOVDPTR,#08001H
MOVXA,@DPTR
ANLA,#04H
CJNEA,#00H,LOOP0
SJMPSTART
START:
SETBP1.0
SETBP1.5
CLRP1.2
CLRP1.3
CLRP1.1
CLRP1.4
MOVR0,#14H
MOVR6,#14H
LOOP:
ACALLDING
ACALLCHA1
DECR6
DJNZR0,LOOP
MOVR1,#05H
MOVR6,#05H
LOOP2:
MOVR5,#0AH
LOP:
CLRP1.0
CLRP1.5
CPLP1.1
CPLP1.4
ACALLDING1
DJNZR5,LOP
DJNZR1,LOOP2
LOOP1:
SETBP1.2
SETBP1.3
DJNZR0,LOOP1
LOOP3:
LOP1:
DJNZR5,LOP1
DJNZR1,LOOP3
LJMPSTART
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,6FH,6FH
DING:
MOVTMOD,#01H
MOVR2,#0AH
L:
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
L3:
JNBTF0,L3
CLRTF0
DJNZR2,L
RET
DING1:
MOVTMOD,#10H
MOVTH1,#3CH
MOVTL1,#0B0H
SETBTR1
L2:
JNBTF1,L2
CLRTF1
CHA1:
MOVC,P1.7
JCTEND
MOVDPTR,#8004H
MOVB,#0AH
MOVA,R6
DIVAB
MOVR3,A
MOVA,B
PUSHDPH
PUSHDPL
MOVDPTR,#TABLE
MOVCA,@A+DPTR
POPDPL
POPDPH
MOVDPTR,#8002H
MOVA,#01H
MOVR4,#32H
DELY:
MOVR5,#0C8H
DELY1:
DJNZR5,DELY1
DJNZR4,DELY
MOVA,R3
MOVA,#04H
DELY2:
DELY3:
DJNZR5,DELY3
DJNZR4,DELY2
TEND:
附录2(原理图)
附录3(元器件清单)
编号
型号
名称
数目
3~8
R
电阻
5
0~9
LED
二极管
6
A
8031
单片机芯片
1
C
CAP
电容
3
A1
74245
双向总线收发器
A3
74374
三态触发器
A2
LED-2
数码管
VCC
电源
GND
接地
S
SW-PB
开关
9
课程设计总结:
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,而且使我对汇编语言和接口芯片MCS-51有了进一步的了解,并且巩固了对芯片功能的理解和应用,增加了我的动手能力和实践能力。
并且在设计过程中,与同学分工设计,与同学的交流过程中,开阔了自己的想法。
本次课程设计是用硬件实现智能交通灯的控制与管理系统。
在刚开始实验中遇到了很多问题,其中很多是因为自己的不认真导致程序的功能不能正确实现,还有一些是在编写程序时出现的错误,后来通过查阅资料和请教老师同学才能顺利完成课程设计的要求。
在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的老师,这次的课程设计离不开老师您的细心指导。
而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。
指导教师评语:
指导教师(签字):
年月日
课程设计成绩