交通灯设计实验报告(硬件原理图+程序).doc
文本预览下载声明
WORD 格式 整理
学习 参考 资料 分享
交通灯信号灯自动控制系统
交通灯原理图
一、 系统的基本功能要求
以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。
通过键盘红黄绿三色信号灯所亮时间在0~99秒内任意设定。
十字路口的通行起始状态可人工设定,运行中可通过人工干预使十字路口通行状态固定于任何一种工作模式。
二、设计思路及总体框图,方案比较
硬件设计
1.系统总体框图
STC
STC
89
C52
单
片
机
锁存器(位选端)
倒计时显示数码管
键盘
锁存器(段选端)
时间显示数码管
码管码管
LED红绿灯
复位电路
时钟电路
P2
P1
P1
2.电路设计
(1) 显示模块
倒计时 与 时钟
说明:
⑴共阴极两位数码管用于倒计时 ;
段选端由锁存器控制,位选端用P3_0与P3_1控制
⑵两个四位共阴极数码组成八位数码管 用于时钟显示
段位选分别由两个锁存器控制
(2)红绿灯模块
说明:
⑴ 图为两方向的红绿黄灯 ,分别接在P0口上,由P0口控制
⑵ 51系列单片机的P0口内部没有集成上拉电阻,加上拉就是提高
驱动能力,必须要通过上拉电阻接VCC。上拉电阻一般接1K的。
(3) 键盘模块
说明
⑴ P2键控制功能说明:
P2^6 key0绿灯位选择
P2^5 key1黄灯位选择
P2^4 key2 加1操作
P2^3 key3 减1操作
P2^2 key4 信号灯状态固定
P2^1 key5 信号灯状态切换
P2^0 key6时钟时分秒设置键
⑵ 键盘加上拉电阻为了提高驱动能力
3.复位电路:
4.时钟电路:
说明 :用12M晶振时 电容要选择30p
软件部分
1、 主程序流程图
开始
开始
时钟初值设置子程序
绿灯初值设置子程序
黄灯初值设置子程序
开时钟2
开时钟1,倒计时
状态固定
状态选择
2、时钟初值控制子程序
Y是否有键盘按下Y
Y
是否有键盘按下
Y
是否按下时钟键
时钟键盘扫描
扫描加一,减一键盘
各个位的加一,减一
N
N
N
N
N
N
Y
Y
扫描绿灯键盘控制键
是否键盘按下
扫描加一,减一键
键盘是否按下
相应位加一或减一
4、时钟控制与倒计时控制
时钟,倒计时初值通过键盘输入。倒计时使用52单片机
内部定时器1实现计数,时钟控制部分是使用定时、计数器2
实现计时,以秒为基本单位在数码管中显示。时钟部分:当秒的
个位计时到了10,则秒个位清0,同时十位进一,以此类推;倒
计时部分显示是则递减显示。此过程通过判断语句实现。
5、.灯状态控制
灯的状态通过键盘扫描控制。状态固定键按下时,关闭定
时器1;再次按下此键时,打开定时器。状态选择键按下时,程
序跳至下一个状态的程序控制部分,从而实现状态改变。
三、 实现功能说明
基本功能:
(1)A B干道分别有两组红黄绿灯,各自的亮灯时间与状态由键盘
控制。
(2)两位数码管用于倒计时,记录各个灯的亮灯时间,定时时间由
键盘设定。
(3)十字路口通行状态可由键盘切换。
发挥部分功能:
(1) 由八位数码管显示,初试时间可由键盘设定,且在05:
00~23:00黄灯闪烁显示。
(2) 绿灯倒计时最后三秒和黄灯显示时闪烁显示(频率1HZ)。
(3)人行道的红绿灯配合车辆的红绿灯同时工作。
四、 所用器件与功能
(1) 共阴数码管10个:8个显示时间,2个显示倒计时时间
(2) 红黄绿发光二极管个4个:模拟十字路口信号灯。令各
加1个人行道上的红灯和绿灯
(3) 74HC573锁存器2个:段码和位选锁存各一个
(4) STC单片机一块 按键8个 12M晶振一个 排线 排针
电阻 电容若干
五、 故障及问题分析
(1)问题:每次通电后都要在十八、十十九口触发一下才能正
常工作。
分析:晶振电路与单片机距离过远,输入噪声很大
解决:把晶振电路改在紧挨单片机位置就可排除干扰。
(2) 共阳数码管需要接三极管放大驱动电流,为节约成本选用
共阴数码管。
(3) 键盘扫描程序中加了按键前沿消抖延时,但按键不够灵敏
加了后延消抖后使得按键足够灵敏。
(4) 在段锁存器给各个数码管送段码时相互之间有影响,在显
示函数中加消影程序解决相互之间的影响。
(5) 在第一次焊接时一次性焊接完,调试时无法检查错误,而
在第二次焊接时采用边调试边焊接的方法,加快速度,提
高了准确度。
(6) 杜邦线 数码管、锁存器等接线比较多,用单根导线焊接
容易相互连接且不易检查错误,用杜邦线便于检查和模块
化调试。
六、 心得体会
本次设计,我们花了不少时间和精力,但收获很大:
(1) 这次设计时间很长,期间,我们自学了单片机教程,
keil 2
显示全部