交通灯课程设计.docx
《交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计.docx(21页珍藏版)》请在冰豆网上搜索。
交通灯课程设计
摘要
本设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。
使大家能在实践教学环节中,积累设计经验,开拓思维空间,全面提高个人的综合能力。
红绿灯控制是智能交通系统的一个重要部分,本文给出了一个用单片机控制的简易交通红绿灯自动控制系统。
该系统适用于十字路口,并对放行和禁行时间进行倒计时显示(秒)。
在车辆通行繁忙的十字交叉路口设置的交通灯控制系统,其特点是:
道路较窄而车辆通行较多,主干道,之干道的车辆通行时间不等,并设有左右弯道通行时间,同时设有道路应急控制。
具体的情况是:
在正常的情况下,东西支干道通行时间为20秒,其中左右弯道占时5秒,南北主干道通行时间为30秒,其中左右弯道占时5秒。
并且能够在人工监控状态下,如果一道有车而另一道无车,交通灯控制系统能立即让有车道放行。
而且有紧急车辆要求通过时,系统要能禁止普通车辆通行。
目录
1概述3
1.1课题名称3
1.2设计要求3
1.3课程设计的意义3
2系统总体方案设计4
2.1芯片的选择与简单介绍4
2.2系统方框图5
2.3工作原理5
2.4电路原理图6
3硬件设计7
3.1电源电路7
3.2单片机最小系统7
3.3显示电路8
3.4信号灯电路9
4软件设计10
4.1系统分析10
4.2参数计算10
4.3程序流程图11
5实验仿真12
5.1系统仿真电路图12
5.2仿真结果分析12
6课程设计体会13
参考文献14
附1源程序代码15
附2系统原理图21
1概述
1.1课题名称
单片机控制的交通灯控制系统
1.2设计要求
1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行时间为20秒。
2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。
3、黄灯亮时,要求每秒闪亮一次。
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5、一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。
6、有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。
1.3课程设计的意义
单片机原理及应用技术是一门实践性很强的课程,只靠短短的课堂教学,而学生不亲自动手去做,学生只能略懂一些肤浅的僵死的知识,这样,课堂教学就没收到预期的效果。
通过课程设计,我们遇到问题,就查书查资料,或与别人交流加以解决。
在发现问题和解决问题中,我们加深了对知识的理解,并可以窥见项目开发的冰山一角,对我们的毕业设计进行了预热,也为我们将来在技术领域的发展奠定了一定的基础。
2系统总体方案设计
2.1芯片的选择与简单介绍
主控芯片采用AT89C52单片机。
单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。
微计算机(单片机)在这种情况下诞生了,纵观生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。
如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。
(图1)
其管脚图如右图所示。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
1.中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
2 ·数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
3.程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
4.定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
2.2系统方框图
2.3工作原理
由软件设置交通灯的初始时间,南北方向通行30秒,东西方向通行20秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。
采用中断方式实现按键的功能。
2.4电路原理图
(图2)
3硬件设计
3.1电源电路
采用经市电变压,稳压的稳压电源电路图如图所示
(图3)电源电路
220V电压经过降压后得到12V交流电,经二极管整流成脉动直流电,经过电容滤波后再又经过LM7805稳压得到5V的直流电供系统工作,后面的发光二极管是起一个电源指示的作用,470UF的电容是起一个再次滤波的作用。
3.2单片机最小系统
(图4)
单片机最小系统以89C51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求.89C51单片机系列是MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺,CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。
时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C1,C2为30pF。
复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C3和电阻R2来实现,按键手动复位是图中复位键来实现的。
3.3显示电路
因为系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的P0口送出数据的段码,位选信号用P2口送出,用动态扫描的方法显示东西、南北的倒计时间。
数码管使用共阴数码管,需要接上470欧上拉电阻以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安。
(图5)
3.4信号灯电路
本设计利用单片机的p2口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管,如下图所示。
(图6)
4软件设计
4.1系统分析
总体流程图(实现各种状态间的转换):
4.2参数计算
T0的计数初值:
X=216-12*50*1000/12=15536=3CB0H
4.3程序流程图
5实验仿真
5.1系统仿真电路图
(图7)
5.2仿真结果分析
仿真实验能够实现红灯、黄灯、绿灯状态转换,可以准确显示每个状态所剩余的时间,按下禁行普通车辆键,东西南北方向都亮红灯;按下南北放行键,南北绿灯亮,东西红灯亮;按下东西放行键,东西绿灯亮,南北红灯亮;任何时候按下返回键,此系统都将回到初始状态,实现了课程设计的要求。
6课程设计体会
本系统就是充分利用了AT89C51芯片的I/O引角。
系统统采用MSC-51系列单片机为中心器件来设计交通灯控制器,实现了能根据实际车流量通过单片机芯片的P1口控制红、黄、绿灯的燃亮与熄灭;P0口外接数码管来显示各个信号灯的时间。
系统设计简便、实用性强、操作简单、程序设计简便。
系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。
这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。
通过这次课程设计,我得到了一次用所学知识与技能分析和解决问题的可贵的锻炼机会,使我深刻邻会了单片机的基本原理和单片机应用系统开发的过程。
在常用编程设计思路技巧(特别是汇编语言)的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
参考文献
[1]余发山编著.单片机原理及应用技术.江苏:
中国矿业大学出版社,2003.12
[2]付家才.单片机控制工程实践技术.北京:
化学工业出版社,2004.5
[3]潘新民.微型计算机控制技术[M].北京:
人民邮电出版社,1999.9
[4]余锡存,曹国华.单片机原理及接口技术[M].陕西:
西安电子科技大学出版社,2000.7
附1源程序代码
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTA0
ORG000BH
LJMPTIME0
ORG0013H
LJMPINTB1
ORG0040H
MAIN:
MOVSP,#70H
MOV40H,#0FH;东西绿灯显示时间
MOV41H,#19H;南北绿灯显示时间
MOV42H,#05H;黄灯闪烁时间
START:
MOVA,41H
ADDA,42H
MOV43H,A;东西红灯时间
MOVA,40H
ADDA,42H
MOV50H,A;南北红灯时间
MOVTMOD,#01H;开始正常工作状态
MOVTH0,#3CH
MOVTL0,#0B0H;定时50ms
SETBEA;开始计时
SETBET0;开T0中断
SETBTR0;启动定时器T0
SETBEX0
SETBINT0
SETBINT1
SETBEX1
STATUS1:
MOVP1,#84H;东西绿灯亮15秒,南北红灯亮
MOV44H,40H
MOV45H,50H
J11:
MOVR4,#14H
J0:
LCALLDISP
MOVA,R4
JNZJ0
DEC44H
DEC45H
MOVA,44H
JNZJ11
STATUS2:
MOVP1,#44H;东西黄灯闪5秒,南北红灯亮
MOVR3,42H
J22:
MOV44H,R3
MOVR4,#0AH
J20:
LCALLDISP
MOVA,R4
JNZJ20
MOVP1,#04H
MOVR4,#0AH
J21:
LCALLDISP
MOVA,R4
JNZJ21
MOVP1,#44H
LCALLDISP
DEC44H
DEC45H
DJNZR3,J22
STATUS3:
MOVP1,#30H;南北绿灯亮25秒,东西红灯亮
MOV44H,43H
MOV45H,41H
J31:
MOVR4,#14H
J30:
LCALLDISP
MOVA,R4
JNZJ30
DEC44H
DEC45H
MOVA,45H
JNZJ31
STATUS4:
MOVP1,#28H;南北黄灯闪5秒,东西红灯亮
MOV45H,42H
J42:
MOVR4,#0AH
J40:
LCALLDISP
MOVA,R4
JNZJ40
MOVP1,#20H
MOVR4,#0AH
J41:
LCALLDISP
MOVA,R4
JNZJ41
MOVP1,#28H
LCALLDISP
DEC44H
DJNZ45H,J42
JMPSTART
RET
DISP:
MOVA,44H
MOVB,#0AH
DIVAB
MOV46H,A;46h,47h存储东西方向显示的十位、个位数
MOV47H,B
MOVA,46H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOV46H,A
MOVA,47H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOV47H,A
MOVA,45H
MOVB,#0AH
DIVAB
MOV48H,A;48h,49h存储南北方向显示的十位、个位数
MOV49H,B
MOVA,48H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOV48H,A
MOVA,49H
MOVDPTR,#TAB
MOVCA,@A+DPTR;依次送字形码,字位信号
MOV49H,A
MOVP0,46H
MOVP2,#11110111B
LCALLDELAY
MOVP2,#0FFH
MOVP0,47H
MOVP2,#11111011B
LCALLDELAY
MOVP2,#0FFH
MOVP0,48H
MOVP2,#11111101B
LCALLDELAY
MOVP2,#0FFH
MOVP0,49H
MOVP2,#11111110B
LCALLDELAY
MOVP2,#0FFH
RETI
DELAY:
MOVR7,#06H;延时12us程序
HERE:
DJNZR7,HERE
RETI
TIME0:
;定时器溢出中断服务程序
PUSHAcc
PUSHPSW
DECR4
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBET0
SETBTR0
POPPSW
POPAcc
RETI
INTA0:
PUSHAcc;外部中断1的中断服务程序
PUSHPSW
MOVP1,#24H
MOV44H,#58H
MOV45H,#58H
INTS:
LCALLDISP
JNBP3.5,WANG
JNBP3.6,LI
JNBP3.7,JEND
LJMPINTS
WANG:
MOVP1,#30H
MOV44H,#0H
MOV45H,#0H
LCALLDISP
JBP3.7,WANG
LJMPJEND
RETI
LI:
MOVP1,#84H
MOV44H,#0H
MOV45H,#0H
LCALLDISP
JBP3.7,LI
LJMPJEND
RETI
JEND:
POPPSW
POPAcc
RETI
INTB1:
PUSHAcc;外部中断2的中断服务程序
PUSHPSW
INT1S:
MOVP1,#24H
MOV44H,#0H
MOV45H,#0H
LCALLDISP
JBP3.7,INT1S;判断有无返回信号
POPPSW
POPAcc
RETI
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;共阴极数码管字形码
RETI
END
附2系统原理图