单片机课程设计
交通灯控制系统设计
摘 要
本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。
本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。
对设计
进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。 系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒(调试时改为5 秒钟),B道放行20秒(调试时改为4 秒钟)。 一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。
目 录
1 概述 - 1 -
1.1 交通灯的重要作用 - 1 -
1.2 该交通灯系统的特点 - 1 -
系统总体方案及硬件设计 - 2 -
2.1 原理框图 - 2 -
2.2 设计功能 - 2 -
2.3 交通灯控制系统各部分硬件组成 - 2 -
2.3.1 复位部分 - 2 -
2.3.2 时钟电路部分 - 3 -
2.3.3 路口指示灯部分 - 3 -
2.3.4 显示部分 - 3 -
2.4 元器件清单 - 4 -
3 软件设计 - 5 -
3.1 交通灯控制系统软件流程图及程序
- 5 -
3.1.1 主程序流程图及程序模设计 - 5 -
3.1.2 INT0中断服务程序流程图及程序模设计 - 6 -
3.2 路口指示灯部分 - 7 -
3.3 显示部分 - 7 -
5 课程设计体会 - 9 -
参考文献 - 10 -
1 概述
本设计是根据单片使机原理就交通灯的系统作出的,由于车辆的增多,所以交通灯在现代道路交通中起着越来越重要的作用。为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。
1.1 交通灯的重要作用
交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。如今随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。该设计在熟练掌握单片机原理及其应用技术的使用方法基础上,综合应用单片机原理、微机原理、微机接口技术、proteus软件等课程方面的知识,设计一个采用AT89C51单片机控制的交通灯控制电路。能方便的对交通灯进行控制,使交通更和谐。
1.2 该交通灯系统的特点
本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。
系统总体方案及硬件设计
2.1 原理框图
调时、紧急情况处理
图(1)系统原理框图
根据设计功能及要求,我们可得系统的原理框图如图(1)所示。
2.2 设计功能
1.完成交通灯的基本功能,结合实际情况,控制红、黄、绿交通灯的亮和灭.其工作流程是:绿、黄、红分时间段开通,循环往复,计时电路以秒为单位作倒计时,计数为0时进行切换,计时时间可由LED数码管显示(需符合交通规则);
2.红、黄、绿交通灯的亮和灭的时间可调节;
3.若有交通异常情况,可以通过按键处理目前的紧急状态;
4.采用LED数码管显示红或绿交通信号灯亮的剩余时间;
5.通过按键设定红和绿交通信号灯亮一次的总时间;
6.控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;
7.夜间控制功能,按键进入夜间模式,黄灯闪亮;
8.控制系统的原理图和接线图采用PROTEL,PROTEUS等专用绘图软件绘制。
2.3 交通灯控制系统各部分硬件组成
2.3.1 复位部分
复位电路采用上电+按钮电平复位是上电复位与按钮复位的组合,当振荡频率是6MHz时,电容C取22
uf, R取1K
,Rs取200
左右。上电瞬间复位端(RST/Vpd)的电位与Vcc相同,随着充电电路电流的减少,RST/Vpd的电位下降,最后为0V,当按钮按下后,电源Vcc通过电阻R,施加在单片机复位端RST/Vpd上实现复位,电路连接图如图(2):
复位电路(2)
2.3.2 时钟电路部分
本系统采用内部时钟产生方式:在和两端跨接陶瓷谐振器,与内部反相器构成稳定的自激振荡器采。晶振采用12MHz的振荡频率和两个30Pf瓷片电容C1、C2,两个电阻对频率有微调作用。其电路如图(3)
时钟电路(3)
2.3.3 路口指示灯部分
采用红黄绿三种颜色的发光二极管共12个分为4组代
路口的交通灯(电路图中用两组示意).其中每两组控制一个路口,具体时序如表1:
表1:
方向
灯色
东西
南北
红灯
5
4
黄灯
1
1
绿灯
3
4
2.3.4 显示部分
图(4)显示部分
采用四位一体共阴数码管,分别显示南北和东西灯的剩余时间.片选部分和数码段显示部分,分别接单片机管脚的P2口和P0口,具体的共阴数码管管脚分布位置见图(4).
2.4 元器件清单
如表2:
器件名称
型号大小
数量
单片机
AT89S52
1
晶振
12MHz
1
LED数码管
四联共阴
1
电解电容
22uF
1
瓷片电容
30pF
2
排阻
470Ω
1
电阻
470Ω
1
发光二极管
红
4
黄
4
绿
4
开关
按键式
4
3 软件设计
3.1
图(5)主程序流程图
交通灯控制系统软件流程图及程序分析
3.1.1 主程序流程图及程序模设计
该交通信号灯控制系统的四中工作状态如图(5)所示(南北方向的交通灯为例):
(1)东西方向车道红灯亮,南北方向车道绿灯亮。表示东西方向车道上的车辆禁止通行,南北方向车道允许通行。绿灯亮足
的时间隔时,控制器发出状态信号,转到下一工作状态。
(2)东西方向车道红灯亮,南北方向车道黄灯闪亮。表示南北方向车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,东西方向车道禁止通行。黄灯闪亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(3)东西方向车道绿灯亮,南北方向车道红灯亮。表示东西方向车道允许通行,南北方向车道上的车辆禁止通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(4)东西方向车道黄灯闪亮,南北方向车道红灯亮。表示南北方向车道禁止通行,东西方向车道上位过限停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯闪亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第(1)种工作状态。
3.1.2 INT0中断服务程序流程图及程序模设计
图(6)中断服务流程图
INT0与K2连接,另一端与地连接。按下K2,东西南北四个方向全红,也就是说,东西南北四个通道都不能通车,这是紧急情况,但救护车等特殊车辆可以通过。K0与AT89C52的25管脚相连。K1与P2.5相接,K3与P2.6相接,K2与P3.2相接。在按下K2的前提下,按
按下K0,如果3秒中之内没有按键,则交通灯恢复正常。
50ms中断计算方法(适用于12MHz晶振):
T0的计数初值:X0=M-计数值
2
=M-Tc/TP
=M-(Tc×fosc)/12
=65536-(50ms×1SMHz/12)
=15536
≈15535
=3CB0H
其中4E.0H单元存放3s钟控制标志位,4F.0H单元存放1s控制标志位;4D.0单元存放0.5秒控制标志位
60H和61H单元分别存放产生1s和3s的中断次数,当它们单元中的值为零时,分别表示1s和3s到,对4E.0H单元和4F.0H单元进行置1,62H单元用于产生0.5秒
由于采用工作模式1,所以每次中断后,一定在中断程序中重装记数初值.
3.2 路口指示灯部分
用P1端口作为输出端口,用P1.0到P1.5端口分别控制东西和南北两组灯的状态低电平点亮,具体端口功能如下:
P1.0控制东西红灯的亮灭
P1.1控制东西绿灯的亮灭
P1.2控制东西黄灯的亮灭
P1.3控制南北红灯的亮灭
P1.4控制南北绿灯的亮灭
P1.5控制南北黄灯的亮灭
具体的程序我们以点亮东西红灯东南北绿灯为例: MOV P1, #0EEH