单片机十字路口交通灯设计

发布时间 : 星期四 文章单片机十字路口交通灯设计更新完毕开始阅读

首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以,为东南西北走向。初始状态0为东西南北都红灯亮。然后转状态1东西绿灯通车25s,南北红灯亮。转状态2,东西绿灯闪3下,南北还是红灯。再转状态3,东西黄灯亮2s,南北还是红灯。转状态4,东西黄灯灭红灯亮,南北绿灯亮25s,转状态5,南北绿灯闪3下,东西还是红灯。转状态6,南北黄灯亮2s,东西还是红灯。转状态1,如此循环。

列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭) 状态 北 绿黄红 0 1 2 3 4 5 6

对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。 2.3单片机的选择

AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样

001 001 001 001 100 100 010 西 绿黄红 001 100 100 010 001 001 001 南 绿黄红 001 001 001 001 100 100 010 东 绿黄红 001 100 100 010 001 001 001

长的时间是不可能在线修改程序的。

2.4时钟电路模块

为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个30P的独石电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如下图所示:

2.5复位电路模块

单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用200Ω的阻值,电容采用电容值为10μ的电解电容。具体连接电路如下图:

2.6交通灯信号控制电路

用P0和P1口作信号输出端来控制12个灯的亮灭,因为单片机的驱动电流非常小,为了使LED能够发光或者亮的更明显,用470Ω的上拉电阻组成驱动电路。南北的绿灯,黄灯,红灯(东西的绿灯,黄灯,红灯)同时亮也同时灭,可以使其串联或并联。如果并联是5V电压经过1K电阻后将被两个LED分流,每个只有2.5mA。如果是串联5V电压经过1K电阻后将有5 mA流经两个LED。所以串联时的LED的亮度将比并联时的大。具体如下图:

2.7LED数码管显示接口电路

由于南北的绿灯,黄灯,红灯时间相同,可用一个两位一体的共阴极数码管显示相应的时间,同理东西的绿灯,黄灯,红灯时间一个两位一体的共阴极数码管显示。单片机的驱动电流非常小,采用74HC164同相三态缓冲器器作驱动电路。如下图所示:

联系合同范文客服:xxxxx#qq.com(#替换为@)