单片机交通灯控制器的设计程序
单片机交通灯控制器的设计
一. 设计任务
在一十字路口设置交通灯,并用单片机对其进行合理的控制。
时间 方向 控制要求
白天 东西 绿灯 黄灯 红灯
南北 红灯 绿灯 黄灯
夜晚 东西 黄灯
南北 黄灯
二. 总体设计方案
现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方
向)的路口,即主干道的通行时间为从干道的 2 倍。在正常情况下,两干道的交通灯按图 1 进行转换,并
以倒计数的方式将剩余时间显示在每个干道对应的两位 LED 上;另发挥部分为当出现紧急情况时,路口
的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。其具体状态如图 1。
状态 持续时间/S 南北方向 东西方向 控制码
绿 黄 红 绿 黄 红
1 40 亮 灭 灭 灭 灭 亮 01111110B
2 5 灭 亮 灭 灭 灭 亮 10111110B
3 20 灭 灭 亮 亮 灭 灭 11001111B
4 5 灭 灭 亮 灭 亮 灭 11011101B
5 按紧急键 灭 灭 亮 灭 灭 亮 11011110B
6 按夜晚键 灭 亮 灭 灭 亮 灭 01111100B
7 按恢复键 恢复 恢复 恢复 恢复 恢复 恢复 恢复原来
其系统框图如图 2。
三.硬件电路的设计
1. 单片机系统
单片机系统采用 atmel 公司的 AT89C51 芯片,晶振选用 6MHZ,电源电压采用 5V。其总体系统电路图
见图 3。
2. 信号灯与按钮电路的设计
信号灯采用发光二极管组成,分红黄绿三种颜色。该系统用于控制信号灯的输出线路有六条,按钮输出线
有三条,应用 AT89C51 的 P2.7,P3 口来实现上述连接。3 个按钮一端通过上拉电阻连接到电源,并输
入单片机,另一端接地,这样未按下时,输入是高电平,反之,为低电平。采用软件消抖。
3. LED 显示电路
用 LED 显示器共有 4 位,需 8 位输出口用于位选输出,分别选用 AT89C51 的 P1,P2 口,驱动电路采
用芯片 7407 驱动器。
四.软件设计
本系统的软件包括主程序,显示程序和定时器溢出中断程序三部分。
1. 主程序:设置堆栈,定时器初始化,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。
主程序流程图见图 4。
2. 中断服务程序
其功能主要包括:不同状态下的时间计时,状态的循环切换,更新显示等,其流程图见图 5。
评论0