基于单片机的交通灯的设计.docx
- 文档编号:23088922
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:17
- 大小:492.28KB
基于单片机的交通灯的设计.docx
《基于单片机的交通灯的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯的设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的交通灯的设计
摘要
近年来,随着我国国民经济的快速发展,我国机动车发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。
如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。
目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯再加上一个倒计时的显示计时器来控制行车。
我国交通法规也对交通指挥信号灯做出了规定:
(1)绿灯亮时,准许车辆、行人通行。
但转弯的车辆不准妨碍直行的车辆和被放行的行人通行。
(2)黄灯亮时,不准车辆、行人通行,但已越过停止线的车辆和已进入行人道的行人,可以继续通行。
(3)红灯亮时,不准车辆、行人通行。
(4)绿色箭头灯亮时,准许车辆按箭头所示方向通行。
(5)黄灯闪烁时,车辆、行人在确保安全的原则下可以通行。
信号灯的出现,使交通得到有效的管制,对于疏导交通流量、提高道路通行能力和减少交通事故有明显效果。
目录
摘要2
第一章概述
1.1概要设计3
1.1.1设计思路3
1.1.2总体设计框图3
1.2硬件设计4
1.2.1AT89C51单片机概述4
1.2.289C51单片机的时钟6
1.2.389C51单片机的的封装和引脚7
第二章方案设计7
2.1设计任务9
2.2设计方案11
第三章单元电路模块设计12
3.1复位电路12
3.2晶振电路13
3.3倒计时显示电路14
3.4交通灯电路15
3.5紧急通行电路16
第四章系统程序设计17
4.1主程序流程图17
4.2显示子程序流程图18
第六章设计心得19
参考文献20
1.2概要设计
1.2.1设计思路
利用单片机实现交通灯的控制,该任务分以下几个方面:
a实现红、绿、黄灯的循环控制。
要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。
b用数码管显示倒计时。
可以利用动态显示或静态显示,串行并出或者并行并出实现。
C实现急通车。
这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。
当情况解除,让时间回到只能隔断处继续进行。
1.2.2总体设计框图
见图2-1:
图2-1
1.3硬件设计
1.3.1AT89C51单片机概述:
AT89C51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
下图是89C51的基本结构:
图3-189SC51的基本结构
89SC51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等极大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明。
中央处理器:
8位CPU,含布尔处理器;时钟电路;总线控制逻辑。
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统的工作,完成运算和控制输入输出等操控。
数据存储器(RAM):
128KB数据存储器(RAM,可再扩64KB);特殊功能寄存器SFR。
89CS51内部有128个8位用户数及存储单元和128个寄存器单元,他们是统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户自定义的字型表。
程序存储器(ROM):
4KB的程序存储器(ROM/EPROM/Flash,可扩至64KB);89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器(ROM):
89C51有两个16位的可编程定时/计数器,一时想定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:
89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外数据传输。
中断系统:
89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,客满著不同的控制要求,并具有2级优先级别选择。
时钟电路:
89C51内置最高频率高达12Hz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片继续外置震荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
1.3.289C51单片机的时钟
(1)振荡器和时钟电路
89C51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。
89C51的时钟产生方法有以下两种。
a内部时钟方式
利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。
外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2MHz~12MHz之间选择。
为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2靠近。
图3-289C51时钟电路接线方法
b外部时钟方式
此方式是利用外部振荡脉冲接入XTALl或XTAL2。
HMOS和CHMOS单片机外时钟信号接入方式不同。
表3-189C51单片机外部时钟接入方法
芯片类型
接线方法
XTAL1
XTAL2
HMOS
接地
接片外时钟脉输入端(引脚需接上拉电阻)
CHMOS
接片外时钟脉冲输入端
悬空
1.3.389C51单片机的的封装和引脚
89C51系列单片机采用双列直插式(DIP).QFP44(QuadFlatPack)和LCC(LeadedChipCaiier)形式封装。
这里仅介绍常用的总线型DIP40封装。
如图3-4所示。
40个引脚按引脚功能大致可分为4个种类:
电源、时钟、控制和I/O引脚
(1)电源:
VCC-芯片电源,接+5V;VSS-接地端;
图3-480C51单片机的的封装和引脚
(2)时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
(3)控制线:
控制线共有4根,
ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
ALE功能:
用来锁存P0口送出的低8位地址
PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
PSEN:
外ROM读选通信号。
RST/VPD:
复位/备用电源。
RST(Reset)功能:
复位信号输入端。
VPD功能:
在Vcc掉电情况下,接备用电源。
EA/Vpp:
内外ROM选择/片内EPROM编程电源。
EA功能:
内外ROM选择端。
Vpp功能:
片内EPROM的芯片,在EPROM编程期间,施加编程电源
Vpp。
(4)I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
第一章
方案设计
2.1设计任务
本设计要求用单片机设计一个智能交通灯控制系统,使其能模仿城市“十字”路口交通灯的功能,并能满足特殊的控制要求(如按键K1、K2、K3的使用),该系统的具体功能如下:
(1)该控制系统能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。
(2)当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯。
(3)当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯。
(4)两垂直方向的准行时间均为15s。
(5)准行方向亮绿灯与禁行方向亮红灯10s后,四个道口同时加亮一盏黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变(即准行变为禁行,禁行变为准行)。
(6)四个道口只用一组由十位和个位组成的数码管显示准行(或禁行)的剩余时间。
(7)在交通情况比较特殊的情况下,可以通过K1、K2、K3三个按键对交通灯进行控制,具体要实现的功能如下:
当有紧急情况发生,如消防车、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色灯进行闪烁(闪烁时间为5S),并且倒计时显示装置关闭,黄色灯5S闪烁完成后,四个路口的信号灯全部变成红灯,这样四个路口的普通车辆禁行,只允许紧急车辆通过,待紧急车辆通过后。
松开K1键,表示紧急状态消除,交通灯控制系统恢复正常工作。
当东西方向车辆过多时,按下K2键,四个路口同时加亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许东西方向车辆通过,南北方向车辆禁行,从而有效地调节东西方向车辆过多的情况,松开K2键,交通灯又开始正常工作。
当南北方向车辆过多时,按下K3键,四个路口同时加亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许南北方向车辆通过,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况,松开K3键,交通灯又开始正常工作。
主要硬件设备:
AT89C51单片机、发光二极管(LED)、共阳型LED数码管、上位电阻、开关按键等
2.2设计方案
本系统拟采用AT89C51单片机作为智能交通灯系统的控制核心。
从设计所要完成的任务来看,单一路口显示倒计时时间的数码必须用两位,对于七段数码管,考虑到AT89C51单片机所能提供I/O接口的数量,倒计时显示装置中的数码管在本系统中采用的是静态显示;设置了3个按键用来处理交通灯在实际应用中可能出现的特殊情况,共使用3个I/O端口,其中P3.0接K1键,P3.2接K2键,P3.3接K3键;十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体I/O接口分配为:
P1.0~P1.2分别接东西方向的红、绿、黄共6盏信号灯,P1.3~P1.5分别接南北方向的红、绿、黄共6盏信号灯;AT89C51单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O口就可以驱动,从而简化硬件电路的设计;此外专门设计了监控电路对控制系统进行实时监控,保证系统工作的稳定性和持续性。
系统的整体方案设计如图2-1所示
图2-1系统的整体方案设计
第二章
单元电路模块设计
3.1复位电路
图3-1上电自动复位电路
为了确保控制系统能够稳定可靠的工作,复位电路是必不可少的一部分。
它可以保证程序从指保证程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。
另外当程序运行出错或操作错误使系统处于死机状态时需复位以重新启动。
上电自动复位是通过外部复位电路的电容充电实现的。
通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过电阻对电容进行充电,RST端电压慢慢降下来,降到一定程度时变为低电平,单片机正常工作,这是一种自动复位电路。
上电自动复位电路如图3-1所示。
3.2晶振电路
图3-2晶振电路
单片机必须在时钟的驱动下才能进行工作。
AT89C51单片机内部具有一个时钟振荡电路,只需要外接振荡器,即可为各部分提供时钟信号。
使用晶振电路时,只要在引脚XTAL1和XTAL2上外接定时反馈回路,振荡器OSC就能自激振荡,产生矩形时钟脉冲序列。
定时反馈回路常由石英晶振和微调电容组成,其中石英晶振的频率是单片机的重要性能指标之一,时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
该电路是用12MHz的石英晶振和两个30p的电容器。
石英晶振的频率选为典型值12MHz,这样有得于得到没有误差的波特率。
电容器C2和C3是起稳定振荡频率、快速起振的作用。
3.3倒计时显示电路
图3-3倒计时显示电路图
该交通灯控制系统在正常工作情况下,每15s循环变换一次,为方便提示路上的行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。
该显示装置选用七段数码管来显示交通灯的剩余时间。
本来根据控制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管,但由于四组显示的倒计时时间都是一样所以只需使用一组数码管即可。
由于AT89C51单片机的I/O作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。
而在电路中是用阻值为4.7k的排电路作为上位电路,限流电阻却用阻值为200的电阻。
如图3-3所示。
3.4交通灯电路
南北方向
东西方向
图3-4交通灯电路图
单片机的I/O接口直接和交通灯(LED)连接。
在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色灯连接在一起,受单片机P1.0~P1.5控制。
12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,I/O口输出高电平时,与之相连的LED会灭。
交通灯电路如图3-4所示。
3.5紧急通行电路
图3-5紧急通行电路
该系统的K1、K2、K3三个键分别与单片机的P3.0、P3.1、P3.6相接,它们可以在特殊的交通情况下使用。
例如,当有紧急情况发生时:
按下K1键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,四个路口信号灯同时转为红灯,从而保证紧急车辆通过。
松开K1键,交通灯系统恢复正常工作状态;
按下K2键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许东西方向车辆通行,南北方向禁行。
松开K2键,交通灯系统恢复正常工作状态;
按下K3键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许南北方向车辆通行,东西方向禁行。
松开K3键,交通灯系统恢复正常工作状态
按键电路如图3-5所示。
第四章系统程序设计
4.1主程序流程图
该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。
智能交通灯控制系统在正常的情况下,每15s循环变化一次。
每个循环周期在还剩余5s时,四个路口的黄灯同时点亮并开始闪烁,以提醒行人及车辆,交通灯将发生转换。
要程序中定时扫描P3口,若有键按下,则调用键盘子程序进行相应也处理;若无,则程序继续执行。
主程序流程图如图4-1所示。
图4-1主程序流程图
4.2显示子程序流程图
该交通灯控制系统采用的是静态显示,对于得到的倒计时显示数据,首先应提取出倒计时数据的十位和个位,然后将十位和个位的字型码分别送到单片机的P0和P2口。
其中P0口用来向倒计时显示装置传送十位数字型码,P2口用来传送个位数字型码。
显示子程序流程图如图4-2所示。
图4-2显示子程序流程图
设计心得
通过本次课程设计,我深深的体会到了作为一个硬件工程师的艰辛。
即使做一个小小的项目,都需要这么多的辛苦,必须考虑到问题的任何一个细节,否则最后也将是功败垂成。
原理图设计:
当我们选取了这样一个题目,我们就开始收集相关的各种资料,对题目有个大致的了解,规划一下设计的任务将要完成哪些功能。
然后就具体的每一项功能应该怎样具体的设计,例如用什么方法完成这一功能,这种想法是否合理,比较使用哪个芯片来完成这项功能。
经过长时间的查阅资料、思索、推敲,最后定出了这次设计的原理图
程序既然已经在仿真的软件上通过认证,如果连接上硬件不好使的话,说明在硬件上某个部分存在一定的问题。
这点得到了验证:
硬件模拟的时候,紧急情况用的开关有一个不好使,按下的时候没有反应。
用万用表检测发现,开关内部的连接没有错误,但是当开关按下的时候,不是接通的,说明此开关有问题。
但是开关的四个引脚不好再拆下,最后想了个没有办法的办法,在一个引脚上连了一根导线,通过触碰是开关断开或连接。
这次课程设计我是全身心的投入进去了,从中确确实实学到了不少东西,使我受益匪浅。
这次课程设计中犯下了不少错误,以后我会接受这些教训,同时把这些教训转换为经验应用到以后的此类设计中。
最后,衷心感谢在课程设计期间老师对我们的无私帮助,还要感谢和我同组的合作者,以及所有帮助过我的同学。
参考文献
(1)单片机原理与应用技术电子工业出版社
(2)单片机技术中国电力出版社
(3)AT89C51单片机原理、开发与实例应用中国电力出版社
(4)8051单片机课程设计实训教材清华大学出版社
(5)单片机开发应用技能与技巧中国电力出版社
(6)单片机原理与接口技术大连理工大学出版社
(7)单片机系统的Proteus设计与仿真电子工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通灯 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)