基于51单片机的交通灯设计

2017-03-09 09:40秦风元
时代农机 2017年12期
关键词:交通灯数码管信号灯

秦风元

(重庆三峡职业学院,重庆 404155)

今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 进入新世纪以来,世界经济发展迅猛,从而带动了以出行、物流为主的交通行业的蓬勃发展,而对交通灯的控制是一种对大众进行管理的公共系统手段。安全并且高效的公共交通秩序,必须以一系列强制的交通规则作为基础保障,同时利用新兴的高科技方式进行有效实施。在交通管理中引入单片机控制交通灯代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。

中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。交管人员有更多的精力投入到整个城市交通管理中,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。本设计应用8051单片机为核心,利用数码管及LED灯组成显示电路,以键盘电路组成系统设置和特殊情况控制电路。

1 设计任务

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三个指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。设置红灯25s、黄灯5s、绿灯20s、采用两位数码管来显示时间,时间以倒计时方式来显示;通过键盘来调整东西、南北路口各信号灯的时间和紧急情况的设置。

1.1 系统硬件设计

本设计采用8051单片机作为控制器,通行时间或者等待时间通过数码管以倒计时方式显示,同时单片机控制交通信号灯(红灯、黄灯、绿灯)的正常替换工作。系统设计框图如图1所示。其中,单片机是整个系统的核心部件,是控制中心,能运行程序和处理数据,交通灯主要完成交通信号红、黄、绿灯的显示,数码管完成时间的显示。只有各个部件协调工作,才能实现整个系统的功能。通过对系统功能的分析,确定硬件组成,并在PROTUES中绘制系统原理图。

图1 系统硬件组成方框图

(1)单片机。单个芯片微型计算机(Single Chip Microcomputer)简称单片机,是把组成微型计算机的各功能部件:中央处理器CUP、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。单片机的产生与发展和微处理器的产生与发展大体上同步。现在,虽然单片机的品种繁多、各具特色,但以80C51为核心的单片机仍占主流,兼容其结构和指令系统的有Philips公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。

本设计采用美国ATMEL公司生产的AT89C51单片机作为主控模块,实现信息处理和对整个系统的控制功能。

(2)最小系统电路。系统中,复位电路、时钟电路、电源电路和单片机组成单片机最小系统,是保证单片机正常运行程序的最小硬件电路。只要正确完整设计单片机最小系统,单片机就能运行程序,从而控制硬件电路,实现交通灯的功能。其中复位电路采用按键复位,电路如图2所示。

(3)数码管显示电路。数码管显示分为静态显示和动态显示,本系统采用数码管动态显示方式。采用两个两位的共阳数码管,分别显示东西和南北路口的信号灯持续时间,时间采用倒计时显示,利用单片机的定时/计数器来实现1秒精确定时。数码管段码接单片机P0口,位码接P2口。电路如图2所示。

(4)信号灯电路。本设计应用单片机的P2口来控制12个发光二极管来模拟十字路口信号灯的工作情况,其中,P1.0,P1.1,P1.2分别控制东西路口的红灯、黄灯和绿灯,用P1.3,P1.4,P1.5分别来控制南北路口的绿灯、黄灯和红灯。二极管才用共阳连接方式,所以对应端口输出高电平信号灯点亮,输出低电平信号灯熄灭。

(5)键盘控制电路。单片机键盘电路分独立式键盘和矩阵式键盘,本设计应用独立式键盘。在单片机的P3口接几个按键开关,主要实现对东西和南北信号灯持续时间的调整。当需要根据实时交通堵塞情况实行人为控制时或遇到紧急情况时,键盘电路起到控制的作用,并能使各路交通恢复到初始状态。

根据上述对系统各部分电路的分析和设计,最后在protues中绘制完成整个系统的电路图,如图2所示。

图2 系统硬件电路原理图

1.2 系统软件设计

本系统软件采用C语言编写程序,C语言是一种编译型程序设计语言,兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运行速度快、编译效率高、有很好的可移植性,而且可以实现对系统硬件的直接控制。此外,C语言程序具有完善的模块程序结构,从而为软件设计中采用结构化程序设计方法提供了很好的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。

软件实现对整个硬件电路的控制,按要求完成本系统的全部功能。本系统软件主要包括主函数、延时函数、数码管显示函数、按键识别函数和定时器中断函数等。采用结构化程序设计,每个函数完成特定功能。整个程序的运行总是从主函数开始,最后从主函数结束,所以主函数是整个程序的入口,也是整个程序的出口。其中,主函数主要完成了交通灯的初始化工作,使得东西和南北干道交通能正常转换工作。在主函数中分别调用了两个子函数,一个是数码管动动态显示函数,用来控制十字路口信号灯持续时间,另一个是键盘扫描函数,用来实现键盘的识别和按键开关功能。系统1秒时间由单片机定时/计数器实现,一次定时50ms,连续定时20次就是1秒时间,定时/计数器采用中断方式,定时方便而且精确。

根据系统功能分析,确定软件设计算法,并画出程序流程图,然后在KEIL软件中进行程序的编写。

1.3 系统仿真并调试功能

打开绘制完成的电路图,将运行并编译成功的程序文件加载到单片机,在PROTUES中仿真运行系统,实现相应的功能。

图3 主函数流程图

2 结语

由此可见一个完整的单片机应用系统由硬件系统和软件系统组成,只有软件和硬件协调工作,才能完成系统功能。本次设计采用8051单片机为核心,结合特殊情况下的控制电路、时钟电路、键盘、LED显示,进而设计出一种高效快速,绿色节能的新型交通灯控制系统。

[1]刘小平.单片机应用技术[M].重庆:重庆大学出版社,2016.

[2]黄美兴.电子技术[M].南京:南京大学出版社,2015.

[3]张毅坤.单片微型计算机原理及应用[M].西安:西安电子科技大学出版社,1998.

[4]谭浩强.单片机课程设计[M].北京:清华大学出版社,1998.

猜你喜欢
交通灯数码管信号灯
微课教学设计之“数码管动态显示”
Arduino编程
基于单片机的交通灯模糊控制器研究
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
交通信号灯
信号灯为什么选这三个颜色?
为什么交通灯是红黄蓝三种颜色?
一直飘红的交通灯
基于单片机的LED模拟交通灯设计