基于51单片机的模拟交通灯课程设计报告.doc
模拟交通灯控制系统的设计
一、功能要求
利用红、绿、黄三种不同颜色的LED显示不同的通行情况,利用2个数码管进行1秒倒计时显示,最大定时时间为90秒;要求LED点亮时间和倒计时时间准确;完成单片机最小系统及其扩展设计,焊接电路板,组成功能完整的样机。模拟实际交通灯控制系统功能,完成控制软件的编写与调试。
二、方案论证
采用标准AT89C51单片机作为控制器;东、西、南、北各方向通行倒计时显示采用2位LED数码管,LED显示采用直接驱动方式;模拟交通信号灯采用直径为ψ5mm的圆形发光二极管;紧急车辆通行采用实时中断完成;通过蜂鸣器实现盲人提示功能。按以上系统构架设计,单片机端口资源刚好满足要求,该系统设计方便,电路简单。
三、系统硬件电路的设计
整套电路系统由控制系统模块、通行灯控制显示模块、时间显示模块、特种车辆通行控制模块和盲人提示电路模块等组成。
主控制系统
主控制器采用AT89C51单片机的P1.0~P1.5脚用于控制东西及南北方向的通行灯,P1.6脚用于控制盲人提示电路;P0口及P2口用于4组2位LED计时器的控制;特种车辆通过时使用外部中断0口(P3.2).
通行灯输出控制
模拟交通信号灯采用直径为ψ5mm的圆形发光二级管,东西南北方向各3个,颜色分别为红、黄、绿。为使电流小于10mA应串联一个阻值为330Ω的限流电阻。
时间显示模块
道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阴数码管,为了提高亮度给数码管的位选串联一个NPN型三极管,给段选并联一个驱动芯片74LS245。
紧急车辆通行控制模块
运用外部中断0口,当有特种车辆通过时,按下开关,各个方向的红灯就会同时亮起,并且在延时10秒后自动恢复以前的状态。
盲人提示电路模块
道口控制系统设计中也考虑到了方便盲人过人行道的声音提示电路,采用蜂鸣器作为声音提示装置,当绿灯倒计时10s时开始发声,当黄灯亮时,即行人结束通行,蜂鸣器停止发声,东西方向和南北方向的提示音音频不同(东西方向1s钟蜂鸣器发声两次,南北方向1s钟发声一次)。
四、系统主要程序的设计
道口交通控制系统控制程序主要分为以下几个模块:初始化程序、主程序、子程序(包括信号灯提示、数码管倒计时显示、盲人提示功能和紧急车辆通行功能等)。
初始化程序
初始化程序主要包括声明IO口的连接对象、声明7段LED数码管驱动信号数组、声明基本变量、定义无返回函数(延时函数)。
主程序
主程序主要负责总体程序管理功能,实现信号灯显示与数码管倒计时显示,以及蜂鸣器提示和特种车通行提示。
主程序流程图如下
开始
开始
初始化
状态1
紧急情况?
状态5
状态2
紧急情况?
状态5
状态3
状态5
状态5
紧急情况?
紧急情况?
状态4
是
否
否
否
是
是
是
否
子程序流程图如下
关闭盲人提示音状态5紧急情况?盲人提示(模式1)东西方向亮红灯,南北方向亮绿灯倒计时=15sY开始NN倒计时=5s关闭盲人提示音状态2YYN状态1
关闭盲人提示音
状态5
紧急情况?
盲人提示(模式1)
东西方向亮红灯,南北方向亮绿灯
倒计时=15s
Y
开始
N
N
倒计时=5s
关闭盲人提示音
状态2
Y
Y
N
紧急情况?东西方向亮红灯,南北方向亮黄灯开始N状态2
紧急情况?
东西方向亮红灯,南北方向亮黄灯
开始
N
状态5Y
状态5
Y
N
N
倒计时
倒计时=0s
Y
Y
状态3
状态3
30s倒计时开始
30s倒计时开始
关闭盲人提示音状态5紧急情况?盲人提示(模式2)南北方向亮红灯,东西方向亮绿灯倒计时=15s状态3
关闭盲人提示音
状态5
紧急情况?
盲人提示(模式2)
南北方向亮红灯,东西方向亮绿灯
倒计时=15s
NY开始NN倒计时=5s关闭盲人提示音状态4YY
N
Y
开始
N
N
倒计时=5s
关闭盲人提示音
状态4
Y
Y
状态5紧急情况?南北方向亮红灯,东西方向亮黄灯开始状态4
状态5