杨双义 郑州工业应用技术学院 河南新郑 451150
【文章摘要】
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁和社会经济的发展,交通问题成为很多人关注的头等问题。交通信号灯的出现和发展,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近些年来由于人类社会的飞速发展,道路拥挤现象日趋严重。传统的交通控制方法已经不能有效的解决交通中出现的问题。这就需要我们运用先进的控制方法来进行交通灯系统的设计。本次设计以单片机AT89C52 为中心模块来进行交通灯系统设计,系统实用性强、操作简单、扩展性强。本设计硬件上采用LED 数码管,发光二极管,点动开关等一些器件配合单片机模块组成硬件系统。
【关键词】
单片机;红绿灯;交通;显示;LED 数码
交通在人类社会生活中起着至关重要的作用,交通就像人类社会的大动脉, 人类的物资运输和出行全都依赖于交通。交通的发展也会很大的促进工业的发展和社会经济的进步。因此一些发达国家非常重视交通,早在1858 年,在英国伦敦有些街头就安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行,这是世界上最早的交通信号灯。后来电气启动的红绿灯出现在美国。交通灯信号的出现和发展,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯的发明对整个交通系统的发展起到了巨大的推动作用。
1 硬件设计
通过交通灯系统的总体设计,可以得出交通灯的硬件部分至少包括以下几个模块:控制器模块,按键控制模块,时间显示模块,信号灯模块,外围电路模块。
1.1 系统控制器模块
控制模块是交通灯系统的核心模块, 本次控制模块主要采用单片机来实现。单片机具有可靠性高、处理功能强、处理速度快、低功耗、控制功能强等许多优点。本次设计选用AT89C52 单片机。
1.2 时间显示模块
在交通灯系统中需要设置倒计时显示模块显示剩余的通行时间以提醒过往的行人和车辆。本次设计中时间显示模块采用两位一体SN460561 数码管来实现。
LED 数码管的驱动方式有静态显示驱动和动态显示驱动,静态显示驱动也称直流驱动。LED 数码管的静态显示是指各位的共阴极或共阳极连接在一起并接地(或者是接+5V);每位的段码(a ~ dp) 分别与一个8 位的I/O 口锁存器输出段相连。如果送往各个LED 数码管所显示字符的段码一经确定,则相应的I/O 口锁存器锁存的段码输出将一直维持不变,直到送入另一个字符的段码为止。正因为这样,静态显示方式的显示才无闪烁,亮度也较高,软件控制也比较简单。数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示段即“a,b, c, d, e, f, g, dp”的同名端连在一起,另外为每个数码管的公共极增加位选控制电路,位选端由各自独立的I/O 口控制,当单片机输出字形码时, 所有数码管都接收到相同的字形码,但是由哪个数码管显示出字形,则取决于单片机送个位选端的高低电平,所以我们只要将需要显示的数码管的位选端打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个LED 数码管的位选端,就使各个数码管轮流受控显示, 这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为1 ~ 2ms,由于人的视觉暂留现象以及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示字形,不会有闪烁感。动态显示的效果和静态显示是一样的,而且与静态显示相比动态显示能够节省大量的I/O 口,而且功耗更低。
1.3 信号灯模块
交通灯系统的信号灯模块用来显示十字路口每个方向的通行和禁行状态,本次设计中信号灯模块采用红色,黄色和绿色发光二极管来实现。
交通灯的各个方向的通行状态都采用红、黄、绿三个发光二极管表示。发光二极管的阴极与单片机的P1 口相连,阳极与+5V 电源相连,当P1 口为低电平时,发光二极管就被会点亮。因为本次设计采用的发光二极管的工作电流一般在20mA 左右,因此每个发光二极管需要串联220 欧的电阻,用来保证二极管的正常工作。
1.4 按键控制模块
交通灯系统的时间调整功能和紧急情况处理功能采用按键控制模块来实现,按键控制模块主要有点动按钮,点动按钮是一种接触性开关。
点动开关S1、S2、S3、S4、S5 的一段分别与单片机的P3.2、P3.3、P3.5、P3.6、P3.7 相连。另一端接地。S1 按钮为时间设置按钮,S2 按钮为紧急情况按钮,时间设置功能和紧急情况处理功能需要通过外部中断来实现,所以S1 和S2 分别与外部中断 0 和外部中断1 引脚相连。S3 为返回正常状态按钮,S4 为东西方向通行时间调整按钮,S5 为南北方向通行时间调整按钮。当需要进行车道切换时, 可直接按下S4 或S5 进行车道切换。
2 系统软件设计
2.1 系统流程图
在本次设计中AT89C52 单片机作为处理数据的核心芯片,通过C 语言进行编程,以此来实现交通灯系统要求的功能。
根据交通灯的状态流程图可以画出系统程序流程图,程序流程图如下图2.1 所示。
图2.1 程序流程图
2.2 紧急情况处理
当有紧急车辆通过十字路口时需要对其它车辆禁行,当P3.3 口为低电平时则调用紧急情况处理程序。
2.3 时间设置
在交通灯系统中需要根据车流量来对东西方向和南北方向的通行时间进行设置。当P3.2 口为低电平时,则调用时间设置程序。
2.4 数码管显示及信号灯控制
在交通灯系统中需要设置时间显示模块来提醒行人和车辆所剩余的通行时间。在本次设计中主要是利用P0 口的高低电平来控制LED 数码管显示时间。
信号灯控制。在交通灯系统中,信号灯用来表示通行状态,用来提醒行人和车辆通行或者禁行。
【参考文献】
[1] 陈继红,徐晨. 微型机原理及应用[M]. 北京:高等教育出版社,2004.
[2] 戴胜华,蒋大明. 单片机原理与应用[M]. 北京:清华大学出版社, 2005.
[3] 李刚. 新概念单片机教程[M]. 天津:天津大学出版社,2004.
【作者简介】
杨双义(1987-),男,河南开封人,大学本科,研究方向:电子电气。031