基于STC89C52RC单片机的智能交通灯控制系统设计 Design of Traffic Lights Control Module Based on STC89C52RC
摘要:交通灯控制系统是智能交通系统中重要的组成部分。选择微处理器STC89C52RC作为核心芯片,设计了一种通用化、可独立挂接的交通灯控制模块。硬件电路围绕STC89C52RC搭建,由单片机的I/0口给出控制信号,数码管显示倒计时,LED放光二极管模拟交通灯运行。软件体系在总体上按照串口通信机理设计了自定义通信协议,并编写了指令以实现系统运行所要求的功能。 关键词: 交通灯控制模块 STC89C52RC 单片机 倒计时 Proteus
1 引 言
城市智能交通系统(ITS)中,路口信号灯控制子系统是现代城市交通监控指挥系统中重要的组成部分。交通控制灯是我们日常生活中重要的交通控制设施,安装在各个交叉路口,在疏导车辆通行中有着很重要的意义。交通控制灯有红黄绿三种颜组成,红灯代表停止,绿灯代表通行,黄灯代表警示,在车辆逐渐增多的今天,交通灯的出现大大缓解了交通堵塞,以及
减少了交通事故的发生。目前交通信号灯控制系统有多种的实现方法,本文采用STC89C52RC为核心器件配以数码管,发光二极管来进行交通控制灯的设计,采用Proteus软件来进行模拟仿真,提高了系统的可实用性,使过程更加形象生动。
2 设计要求
十字交叉路口的东西南北四个方向各有一组红绿灯和一个时钟显示管,用于显示红绿灯的时间。设计要求如下: 1. 东西方向红灯亮30s,南北方向绿灯亮30s。
2. 东西方向黄灯亮3 s,南北方向黄灯亮3 s。
3. 东西方向绿灯亮30s,南北方向红灯亮30s。
4. 发光管东西方向黄灯亮3 s,南北方向黄灯亮3 s。
5. 依次循环显示。
6. 数码显示管采用倒计时方式显示,显示红黄绿灯的显示时间。
东 西 方 向 | | 红灯 | | | | | |
| | | | | | |
羟基磷酸钙 | 绿灯 | | | | | |
| | | | | | |
| 黄灯 | | | | | |
| | | | 水的声阻抗 | | | |
南 北 方 向 | | 红灯 | | | | | |
| | | | | | |
| 绿灯 | | | | | 自动充电电动车 |
| | | | | | |
| 黄灯 | | | | | |
| | | 30s | 3s | 30s | 3s | 30s |
| | 直播app推广 | | | | | |
图1 交通灯工作时序
3 系统总体设计及硬件电路系统
系统设计为独立模块,模块可以采用智能总线的形式与上位机相连接,这种分布式开放体系结构使得交通灯控制系统可以自由组合与自由发展。该系统支持在线软件升级,当将来有新功能时只要升级上位机的系统程序就可以支持模块新功能。下面给出这种通用性的城市交通灯控制模块的硬件电路设计方案,图2为交通灯控制模块硬件系统框图。
时钟电路 | | 单片机 STC89C52RC | | 74HC254 | | 倒计时 |
| | | | | |
| | | | |
复位电路 | | | LED显示 | |
| | | | | | |
图2 交通灯控制模块硬件系统框图
系统各组成部分说明如下:
1. MCU (Micro Controller Unit) 系统微处理采用宏晶科技公司的8位单片机STC89C52RC,该单片机是8位高性能,超低功耗:掉电模式下典型功耗<0.1,空闲模式下典型功耗2mA,正常工作模式下典型功耗4~7mA。具有8kFlash存储器、512kBRAM、、降低EMI功能、ISP(在系统可编程)功能单片机内部的看门狗电路经过特殊处理,是真正的看门狗,可放心省去外部看门狗。
2. 时钟源时钟振荡器及复位电路 本系统选取11.0592MHz晶振,在此频率下,起振所需的接地电容≤47pF即可,不需要电阻复位电路采用阻容复位.多级反相器增加驱动能力保证复位可靠.
3. 内置看门狗 本系统采用STC89C52内部的看门狗防止程序跑飞内置看门狗的功能是由芯片内部的一个特殊功能寄存器Watch Dog Timer SFR实现的。根据所要求的看门狗溢出时间,计算出需要设定的参数,对这个寄存器进行设定就可以方便地使用看门狗的功能。
4. 电平转换单元 STC89C52RC与PC的接口电路采用芯片Max232。Max232是德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器、2个接收器和1个
为电路提供TIA/EIA-232-F电平的电压发生器。Max232芯片的作用是实现电平转换功能,使单片机的TTL电平与PC的RS232电平达到匹配。在本系统中,电平转换单元用来与上位机进行通信。
5. LED模拟灯组单元 采用红、绿、黄发光二极管实时模拟被控制的路口交通灯,其亮灭时间与路口的红绿灯同步,方便技术人员直观地调试系统的运行。
6. 数码管倒计时单元 由于单片机CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。本系统采用74HC254增强I/O口驱动能力芯片。
图3 主程序流程图
4 系统软件设计
设计系统软件的设计主要包含延迟时间设计、显示程序设计以及中断切换程序设计。其中延迟时间设计方法是利用MCS-5l内部定时器产生溢出中断来确定1秒的时间,其优势是延时时间精确,不易发生时间叠加导致故障,从而引起死机。图3为主程序流程图。具体方案设计如下:
1. 延时时间的设计
在主程序上设定一个初值为20得软件计数器和使T调盘0定时50毫秒,这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务程序中,CPU先使软件计数器减l,然后判断它是否为零,若为零表示1秒已到,可以返回到输出时间显示程序。
2. 时间显示的设计
当信号灯按照给定的变化规律进行运行时,同时用2位数码管进行3Os递减时间显示,分别从P2、P3口输出LED显示器的数值,达到显示时间的目的。当定时时间为1秒时,程序跳转到时间显示及信号显示子程序,它将依次显示信号灯时间。同时一直显示信号灯的颜。依次把所有的灯的时间显示完后,再重新给时间计数器赋初值,重新进入循环。数码管驱动代码表见附录。
3. 中断程序的设计
中断程序的设计如图3所示
图4 中断子程序
5 系统Proteus仿真
Proteus仿真软件(英国Labcenter Electronic公司的EDA工具软件)的ISIS是电路分析实物仿真系统,支持单片机软件、各种电路和IC的仿真先用搭建系统的硬件电路,然后用keil软件编写程序,编写好源程序后,对其进行编译,使其生成Hex文件,再把此文件导入ISIS单片机中对系统进行仿真,其仿真画面如图3所示: