基于单机片的带遥控功能的交通灯控制系统_第1页
基于单机片的带遥控功能的交通灯控制系统_第2页
基于单机片的带遥控功能的交通灯控制系统_第3页
基于单机片的带遥控功能的交通灯控制系统_第4页
基于单机片的带遥控功能的交通灯控制系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、带遥控功能的交通灯控制系统摘要:十字路口车辆穿梭,行人熙囔,车行车道,人行人道,有条不紊。那么,靠什么来实现这井然有序呢?靠的是交通信号灯的自动指挥系统。交通信号灯的控制方式很多。本文提出了一种单片机自动控制交通灯的方法。同时给出了软硬件设计方法,设计过程包括电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。本文对十字路口状态预设为两种,一种是正常状态,另一种是紧急状态,并分别用黄、红、绿色灯的不同组合来表示。系统包括人行道、左转、右转,直走以及基本的交通灯功能。还具有倒计时、时间配置、紧急情况处理、交警遥控控制等手动功能。关键词:交通灯 红绿灯 手动控制STC10F

2、04目录带遥控功能的交通灯控制系统1摘要:2目录31 绪论41.1 课题背景41.2 城市交通信号灯的研究现状41.3 研究的意义51.4 设计要求62 研究内容及基本思路72.1 研究内容72.2 基本思路73 系统设计103.1 单片机最小系统103.2 键盘输入模块133.2 数码管显示模块133.3 通行灯显示模块153.4 遥控及接收电路164 系统软件设计174.1 编程语言介绍174.2 软件总体流程图194.3 红绿灯循环显示模块214.4 遥控部分程序235 结论26参考文献27致谢28附录一:电路原理图29附录二:程序301 绪论1.1 课题背景科学技术的进步促进了交通工具

3、的现代化。而人类社会以及经济的发展加剧了交通的堵塞程度。尤其在大中城市,普遍存在着机动车辆运行效率低下的问题。该问题严重影响着经济的发展以及居民的日常生活。为了提高机动车辆的运行效率,可以从改造交通网络和改进交通控制技术两个方面进行研究,本课题仅涉及到交通控制技术的内容。1.2 城市交通信号灯的研究现状利用红绿灯来控制管理交通的方式己有百余年的历史。交通信号诞生于1868年,最早采用燃气燃烧发光,随着科技的进步和交通的发展,交通信号灯不断的获得改进,今天已达到了完全自动化的水平。交通信号灯的作用主要是从时间上将相互冲突的交通流分离,使其在不同的时间通过,以保证行车安全;同时交通信号对于组织、指

4、挥和控制交通流的流向、流量以及维护交通秩序等均有非常重要的作用。信号灯控制经过一个多世纪的蓬勃发展,主要包含了以下主要几个控制模式:一、单交叉路口的控制:这种控制形式用于单个有信号的路口。在这种路口,交通流的控制不考虑邻近的有信号路口的控制情况,即“点控”。二、干线交叉路口的控制(开放网络):这种控制形式用于沿干线街道的多个有信号的路口,主要考虑的是为沿干线行进的交通流提供方便。在这种情况下,各路口信号的运行必须作为一个系统来考虑,即“线控”。三、闭合网络的控制:这种控制形式用于一组相邻的有信号路口,从信号控制的角度看,必须考虑联锁。城市商业区的交通控制就是一个典型例子,即“面控”。现阶段,按

5、交通信号灯的运行方式而言,基本上可划分为两大类:其一是按固定配时方案运行的;其二是由车辆检测器提供的实时交通信息控制信号灯的运行,即按信号灯的实时配时方案运行。一、固定配时方案控制系统这种系统有一个或一系列事先经脱机运算确定的配时方案。各路口信号机则严格地执行这些方案。在事先确定的配时方案中,绿灯时间的长短、信号周期以及每个方向上绿灯的起始时间都是相对固定的,亦即在某一确定的时间区段中,上述这些配时参数保持不变。二、实时配时方案控制系统这种系统是由车辆感应检测器将检测到的车辆到达信息传输给信号控制器,信号控制器将这种实时的交通信息对信号灯实行实时控制。包括每种灯色显示时间的长短和各进口方向灯色

6、的转换时序等。因为要利用车辆感应检测器,如环形线圈、红外探头等,系统的投资要增加,但这种系统在信号配时控制上具有很大的灵活性,信号周期时间的有效利用率较高。目前,应用中的城市交通控制系统主要有两种:一种是以澳大利亚SCAT系统为代表的实时配时方案选择系统:另一种是以英国SCOOT系统为代表的利用联机交通模型计算配时参数的控制系统。这两种系统在我国都已引进,并在实际中正式使用,但控制效果都不尽人意。因为城市交通系统是一个不确定影响因素众多的复杂系统,传统的通过建立精确数学模型或预先人为地设定多套方案,难以做到尽善尽美,尤其是我国的城市交通车辆种类多,兼有自行车和行人的干扰,更是如此。为此,非常有

7、必要继续对交通信号灯控制系统进行研究,在原有系统的基础上进行更新和改进。1.3 研究的意义对于城市道路的畅通,采用有效的控制措施,最大限度地提高道路的使用效率是城市道路交通控制的重要内容。道路交叉口处的交通信号灯是城市道路网中的主要控制设施,城市道路交通控制主要是对交通信号的控制。城市交通信号控制是通过对交通流的调节,警告和诱导以达到改善人和货物的安全运输,提高运营效率。其目标在于改善交通流的质量,更好地利用现有运输能力,实现交通流的安全性,快速性和舒适性,因此信号灯必须以最优控制策略存在,以减小道路网络中所有车辆的行程的时间,必须要有一个智能信号灯控制系统来达到城市道路的最大畅通。基于以上描

8、述以及结合我国现阶段自身特点,智能信号灯的研究具有重大的意义。交通是国民经济的基础产业之一,也是社会发展和人民生活水平提高的基本条件。交通运输的发达程度是衡量一个国家现代化程度的标志之一。随着我国经济的迅速发展,我国的公路交通条件有了很大的改善。但是随着车辆数量的增加、交通量的不断增长和交通密度的大幅提高,有效的交通管理成为我国各大城市面临的难题。为了保障交通的安全通畅,采用先进的交通监控系统来预防和减少交通阻塞、交通事故,减少人员伤亡和财产损失就显得非常重要。1.4 设计要求1东西方向允许通行(绿灯)时,南北方向禁止通行(红灯);同样,当南北方向允许通行(绿灯)时,东西方向应禁止通行(红灯)

9、。2在绿灯信号要切换为红灯信号之前,为提醒司机提前减速并刹车,应有明显的提示信号:绿灯闪烁同时黄灯亮。3信号灯控制系统启动后应能自动循环动作。4能够调整红绿灯延时的时间。5. 具有紧急通道应急功能。6. 交警可以根据路口车流量的情况,通过发送装置输入端灵活设定交通灯红、绿灯延时时间进行无线控制,从而保障路口的正常交通秩序。2 研究内容及基本思路2.1 研究内容本论文在查阅大量文献资料的基础上,综合分析了国内外在交通流特征及交叉口信号配时方面的研究现状。本论文选择研究对象为城市交叉口,并结合人行道进行总体设计。本论文的内容包括:1探讨如何通过对城市平面信号灯交叉口的空间设计和改良,来增加交叉口的

10、通行能力和安全性。2系统研究城市平面信号交叉口控制方略,讨论如何使用合适的信号控制方法增加交叉口的通行能力。3探讨评价交叉口信号控制方案的方法。4设计并制作一套交通信号灯控制模型。拟解决的关键问题:1. 车行道、人行道通行顺序、通行时间逻辑关系的整理。2. 红绿灯延时时间的调整。3. 遥控装置的设计。2.2 基本思路交通灯控制系统分为车行道控制和人行道控制。车行道(红黄绿3个),四个路口共计12个。人行道红绿灯(2个),四个路口共计16个。东西南北四个路口,四个相位的示意图如下。四个路口,车行道、人行道四个路口的时间关系如下表所示。车行道人行道红黄绿南北方向人行道红绿相位一,由南向北直走,左转

11、,右转20203369相位二,由北向南直走,左转,右转202033闪6946相位三,由东向西直走,左转,右转20东西方向人行道203369相位四,由西向东直走,左转,右转202033闪6946总计1280红色数字为一组时间。蓝色数字为一组时间。粉红色数字由红色或者蓝色数字计算而来。红色和蓝色均为需要调整的时间,两组数字不一定相同。功能说明如下:(1) 黄灯默认为3s。(2) 人行道上的绿灯在转红灯的过程中闪烁3s。人行道上没有黄灯。(3) 东西南北四个路口的绿灯,红灯时间可调。(4) 紧急状态下,可强制四个路口均为红灯。4个2位数码管均显示99。(5) 可遥控控制红绿灯。遥控状态下,4个2位数

12、码管均不显示。遥控器实现五个功能:一个是实现相位一的功能。一个是实现相位二的功能。一个是实现相位三的功能。一个是实现相位四的功能。一个是实现四个路口全红灯的功能。一个是解除遥控功能。(6) 具有倒计时功能,每个路口两位数码管显示。3 系统设计基于时间的交通灯信号控制系统按功能可分为:主控模块、输入及显示模块、时钟模块、输出模块、LED显示模块、通讯模块等。本章主要讨论各系统模块的功能,接口参数及芯片选择。系统框图如下。STC10F04键盘设置倒计时时间倒计时红绿灯遥控器图3.1 系统框图3.1 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对5

13、1系列单片机来说,最小系统包括:单片机、晶振电路、复位电路。前面已经提到单片机选用STC10F04。单片机及外围电路如图3.2所示。 图3.2 单片机最小系统1.时钟电路 STC10F04内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.3(a)所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。图3.

14、3(a)内部方式时钟电路 图3.3(b)外部方式时钟电路外部方式的时钟电路如图3.3(b)所示,XTAL1接地,XTAL2接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。2.复位及复位电路 (1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位

15、状态如表3-1所示。表3-1 一些寄存器的复位状态 (2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.4所示。图3.4 复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。图3.4 复位信号的电路逻辑图上电自

16、动复位是通过外部复位电路的电容充电来实现的,其电路如图3.5 (a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。图3.5(a)上电复位 (b)按键电平复位 (c)按键脉冲复位按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.5(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图3.5(c)所示。上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图3.5(b)上电复位方式。3.2

17、 键盘输入模块键盘是标准的输入设备,实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描,如8279, CH451,LMC9768等,还有就是用软件实现键盘扫描。使用现成的芯片可以节省CPU的开销,但增加了成本,而用软件实现具有较强的灵活性,也只需要很少的CPU开销,可以节省开发成本。本文便使用软件实现键盘的扫描。常见的键盘可分为独立按键式键盘和行列扫描式键盘。独立按键式键盘应用在需要少量按键的情况,按键和单片机的I/O口线直接连接。而行列扫描式键盘用在按键需求较多的情形下。考虑到血压计面向大多数人群,需操作简单,所以采用独立按键式键盘。独立式键盘电路如图3.10所示。两个按键的两根线分别接

18、单片机P4.4、P4.5四个脚。其中,按键S2为修改切换键,S3为加1键。 图 3.10 按键电路图输入及显示模块完成由键盘输入数据,并把数据经接口芯片输入主控模块,及接收主控模块发出的数据,经接口芯片送LED显示。该模块由键盘显示芯片接LED数码管和键盘组成。3.2 数码管显示模块显示器分为数码管和液晶显示,我所采用是的数码管显示,其外形和引脚如图3.7所示:图3.7 数码管外形和引脚图 LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳极数码管;相反的,就叫共阴的(如图3.8所示)。那么应用时这个脚就分别的接VCC和G

19、ND。再把多个这样的8字装在一起就成了多位的数码管了。图3.8 共阴极和共阳极数码管内部电路 现在市场上专用的LED驱动器种类很多,但大多数功能较多,价格较贵,如果用在低成本的简单系统中,不仅是一种资源的浪费,而且增加了成本。所以我们选用价钱低,功耗较小,速度较快的74HC595芯片驱动LED。74HC595是美国国家半导体公司生产的通用移位寄存器芯片。并行输出端具有输出锁存功能。与单片机连接简单方便,只须三个I/O口即可。而且通过芯片的Q7引脚和SER引脚,可以级联。而且价钱便宜。在多位LED显示,为了简化电路,降低成本,节省系统资源,将所有的N位段选码并联在一起,由一片74HC595控制,

20、如图所示。由于所有的LED的段选码皆由一个74HC595并行输出口控制,因此,在每一瞬间,N位LED会显示相同的字符。想要每位显示不同的字符,就必须采用扫描的方法,即在每一瞬间只是用一位显示字符。在此瞬间,74HC595并行输出口输出相应字符段选码,而位选择控制I/O口在该显示位送入选通电平,以保证该位显示相应字符。如此轮流,使每位分别显示该位显示字符。由于74HC595具有锁存功能,而且串行输入段选码需要一定时间,因此,不需要演示,即可形成视觉暂留效果。N位LED显示时,只需要一片74HC595即可完成,成本最低。但是,此种方法的最大弱点就是当LED的位数大于12位时,出现闪烁现象,这是所有

21、动态LED显示方式共同的弱点。但本设计只用到8位LED,如图所示,74HC595最多需要5根控制线,即SER、SRCLK、SRCLR、RCLK和E。其中SRCLR直接接高电平,用软件来实现寄存器清零;因为不需要软件改变亮度,E直接接到低电平,用硬件来改变亮度。其余的三根线盒单片机的I/O口相连,即可对LED的控制。3.3 通行灯显示模块通行指示灯分为人行道和车行道两类,采用红黄绿三色发光二极管代替。每个方向的人行道均为红绿灯,四个路口总计8个绿灯,8个红灯,分为四组,即四个红灯一组,四个绿灯一组。比如东西人行道通行,南北人行道禁止通行时,南往北红灯2个,北往南红灯2个即合为一组,同时发光。其他

22、的三组都按此方式控制。每个方向的车行道有红绿黄三色灯各三个,四个路口总计4个红灯,四个黄灯,四个绿灯。分为四组,单独控制,如图所示南向北车行道三个颜色的灯按照第二章计算的时间进行控制分别点亮和熄灭。经过计算,两种控制模式均加了470欧姆的限流电阻。 3.4 遥控及接收电路无线接收模块我们采用品名: 超再生接收模块 型号: CHJ-9915XRF该高频接收模块采用进口SMD器件,6.5G高频三极管,高Q值电感生产。性能稳定可靠,灵敏度高,带有解码IC可直接使用,功耗低,质优价廉, 广泛应用于各种防盗系统,遥控控制系统。适用范围:(1)6位数据无线接收,防盗报警器信号接收;(2)工业遥控,遥测,遥

23、感;(3)各种家用电器的遥控等。工作电压5.0VDC 0.5V工作电流3mA(5.0VDC)工作原理超再生调制方式OOK/ASK频率范围250MHz-450MHz带 宽2MHz(315MHz, 灵敏度下降3dBm时测试)灵敏度优于-105dBm(50)速 率5Kbps(315MHz, -95dBm时)输出信号锁存(L)或脉动(M)或自锁(T)天线长度24cm(315MHz), 18cm(433.92MHz) CHJ-9915XRF芯片外形如图所示,电路连线图如图所示,分别接P0.0、P0.1、P0.2、P0.3四个口,分别对应遥控器的四种状态。 4 系统软件设计 交通灯控制系统的功能为控制交通

24、路口的红绿灯在不同的时间区间以不同的周期点亮,显示方法如第二章所示。控制功能的实现为CPU通过调用各个接口芯片控制程序完成对各功能模块的控制,由CPU协调控制各功能模块共同完成红绿灯的变时钟控制。本系统的软件按照功能可分为芯片初始化模块、红绿灯循环显示模块、LED驱动模块、键盘及显示功能模块等。4.1 编程语言介绍单片机嵌入式系统的发展已有二十多年的历史,面向单片机系统开发的高级语言也日臻完善,C语言是其中的典型代表。随着单片机硬件本身性能的不断提高,时钟速率越来越快,内部存储器越来越大,与汇编语言相比在运行速度、代码量方面的差距被大幅度缩小。而C语言在开发速度、软件可靠性、软件可维护性、软件

25、质量等方面的优势则远胜于汇编语言。并且C语言可以和汇编语言接口,使得C语言在开发单片机嵌入式系统领域有着积极的影响作用。正是由于上述理由,C语言常常被选作为单片机系统的编程语言。但是基于单片机的C语言和标准C语言有很大区别,如何结合单片机的系统资源,用C语言开发符合实际工程需要的单片机系统,对编程者来说具有十分重要的意义。单片机C语言的特点如下:由于现在越来越多的产品都采用单片机开发,所完成的计算和控制工作也日趋复杂,而单片机系统是一种资源十分有限的系统,这主要是在程序存储器资源的不足上,因此在程序设计时如何使用好这些有限的资源就显得十分重要。用C语言编程虽然具有许多的优点,但是生成德代码相对

26、较长,若编程技巧不好,生成德代码有可能比汇编语言生成的代码长几倍,因而对编程者来说,应该注意到单片机C语言和一般意义上的标准C语言的区别,对程序进行适当的优化。在这里介绍下关于数据类型的选用。单片机C语言编程不同于一般的C语言编程的一个显著特点,就是要和程序存储器资源结合起来。虽然其提供的数据类型十分丰富,但其中只有bit和char等数据类型是机器语言直接支持的数据类型,用此类数据类型的语句所生成的代码较短;而其它的数据类型如整型、浮点型等数据要有一定的内部程序或内部函数的支持,用该类数据类型的语句生成的代码则相对较长。有些C语言程序表面上看起来十分简单,但在实际编译时,生成的代码却相当长。所

27、以我们要按照实际需要,合理地选用数据,从而大大减少所生成的代码长度。同时要尽量使用高效的C语言代码,虽然在使用C语言编程时,不太可能生成的代码具有和汇编一样的效率,但是尽可能在了解所使用的C编译器的基础上,先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。这样在以后编程中,使用编译效率最高的语句,就能确保单片机C编程时同样功能不同的C程序,编译效率最高。但是各家的C编译器都会有一定的差异,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%,所以不同厂家的C编译器的编译效率也会有所不同。其次,要注意算法的优化。在选定数据类型之后

28、,需要对程序的算法优化。优化主要体现在提高程序的运行速度和减小程序的代码量,即对程序事件复杂度和空间复杂度进行优化上。而时间复杂度和空间复杂度的优化往往又是相互对立的,减小时间复杂度会增加空间复杂度,反之,减小空间复杂度会增加时间复杂度,这就需要在具体的情况下采用更符合系统要求的折中优化。大部分单片机系统仿真开发环境不提高对时间复杂度和空间复杂度的性能评估,需要开发人员自己来进行性能评估优化算法。关于时间复杂度的优化上有几点需要强调。时间复杂度的优化主要体现在对代码的执行时间上。一段代码从调用到返回的执行时间决定了代码的效率,可以通过以下方式来计算执行时间。一种办法是利用计时器:可以借助单片机

29、自身计时器来估算时间复杂度。将计时器设置为自动重载方式,某段代码在调用前启动计时器,在调用完成后停止计时器,读取计时器,就可估算代码的时间复杂度。另一种方法是利用示波器:可以借助示波器来估算时间复杂度。在代码执行期间由一TCH0口产生一个脉冲,通过示波器显示的脉宽时间来估算代码的运行时间。对于空间复杂度的优化,相比而言较容易进行,主要体现在减少代码量和优化程序结构上。代码的优化单片机C语言和标准C语言存在着很大差别,在计算机上进行C语言程序设计时由于不必考虑程序代码的长短,只需考虑程序功能实现,但是在单片机上进行C语言程序设计就必须考虑系统的硬件资源。有时并不是程序的算法越简单、长度越短越好,

30、因为有一些算法要调用一些内部的子程序和函数,生成的机器代码长度非常长。不同的算法对程序代码长度影响十分大,因此在进行程序设计时,应尽量采用程序生成代码短的算法,在不影响程序功能实现的情况下可以采用一些优化代码。在单片机C语言编译成机器代码时,不同的运算生成的机器代码的长度相差很大,尽可能地减少程序中对某种数据类型的运算种类,这对越复杂的数据类型效果越明显。在进行数据计算时,在一定的精度范围内,可以用一些近似的计算来完成一些运算,既不损失精度又能减少大量的代码。优化程序结构:一个任务的实现可以有多个不同的程序结构来完成,采用哪种程序结构形式,能产生更为高效的代码,可以通过最后生成的二进制/十六进

31、制文件的大小来优化程序。最后再论述下关于数据存储器的分配。单片机内部数据存储器RAM只有几百字节,如果通过扩展外部存储器RAM来提高数据存储量的话,那必将会增加硬件成本,并使系统更加复杂。访问外部程序存储器比访问内部存储器所需的代码也要长得多。有效地使用内部存储器、提高存储器空间的利用率对开发者来说十分关键。内部处理器、内部堆栈、压缩栈、所有程序变量和所有包含进来的库函数都将使用数量有限的内部数据存储器RAM。因为C语言采用了存储器的覆盖技术,可以在程序进行连接时,将那些已经被其他程序释放了的存储器空间重新定义给另一个程序段的变量使用,当这个程序运行结束时再将这些存储器释放以供其他程序段使用。

32、全局变量的作用范围是整个程序,因此不能被释放,静态变量由于在函数的调用中专用不变,也不能被释放只有局部变量中的动态变量可以被释放。因此在进行程序设计时应该尽量的使用局部变量,提高内部数据存储器的使用率。在C语言中程序中 结构及参数传递是通过内部的寄存器来完成的,若内部的存储器不够,那将会给程序带来许多莫名其妙的错误。总之,C语言具有很强的功能性和结构性,可以缩短单片机控制系统的开发周期,而且易于调试和维护,已经成为目前单片机语言中最流行的编程语言。4.2 软件总体流程图系统的总体流程图如图3.1所示。当按下测试电路开始键,系统会进入第一相位状态,这时此时系统开始计数,以MS为单位。当再有正确的

33、键按下时,系统才会停止计时,数码管显示倒计时时间,这时可进入时间修改状态。当系统收到遥控信息时,这时系统进入遥控状态。主程序如下所示。主程序流程图如图4.1所示。第一相位黄灯(3S)-1=0绿灯(20S)-1=0是是否否第二相位绿灯(20S)-1=0黄灯(3S)-1=0第三相位绿灯(20S)-1=0黄灯(3S)-1=0第四相位绿灯(20S)-1=0黄灯(3S)-1=0收到遥控信号退出自动状 态有按键按下进入调整时间状态设置完毕返回第一相位有中断信号 图4.1 主程序流程图/void main(void) /uint i; bit jj=0; / P4SW=P4SW | 0x10;/扩展 P4S

34、W=P4SW | 0x20; P4SW=P4SW | 0x40; / time_init(); / TR0=1; ET0=1; for(;) if(auto_on) xiangwei();/交通控制 display();/显示计数 key_in();/按键输入 else wr595(getcode(9);/显示9 out595();/输出 P2=0x00;/开启三极管 yaokong();/遥控 /这个是主函数的4.3 红绿灯循环显示模块红绿灯的日常显示由红绿灯循环显示模块控制显示,并由其控制完成设计要求的显示效果。红绿灯在正常显示状态,应按照规定的顺序和第二章计算得到的延时时间依次点亮,其点

35、亮方法为逐级渐进点亮。下面我们以自动状态下相位1为例,程序部分如下所示。程序流程图如图4.2所示。case 0: /相位1 if(now_time=n_b_time1) /南北绿灯时间 time_canshu_init();/时间参数初始化 zhuangtai_data=1; P1=0xff; P3=0xff;/关闭所有灯 else nan_green=0;/南向北绿灯 bei_red=0;/北向南红灯 dong_red=0;/东往西红灯 xi_red=0;/西往东红灯 n_b_green=0;/南北人行道绿灯 d_x_red=0;/东西人行道红灯 time1=n_b_time1 - now_

36、time+n_b_time3; /计算各个数码管显示的时间 time2=time1; time3=time2+n_b_time1+n_b_time3; time4=time3+d_x_time1+d_x_time3; break; case 1: /相位1黄灯 if(now_time=n_b_time3) time_canshu_init();/时间参数初始化 zhuangtai_data=2; P1=0xff; P3=0xff;/关闭所有灯 else nan_yellow=0;/南向北黄灯 bei_red=0;/北向南红灯 dong_red=0;/东往西红灯 xi_red=0;/西往东红灯

37、n_b_green=0;/南北人行道绿灯 d_x_red=0;/东西人行道红灯 time1=n_b_time3 - now_time; time2=time1; time3=time2+n_b_time1+n_b_time3; time4=time3+d_x_time1+d_x_time3; break;自动状态下相位1南向北绿灯-1=0南向北黄灯-1=0自动状态下相位2相位2是是否否4.4 遥控部分程序遥控器有四个按键组成,分别为ABCD四个按键。AB键为复用键。A键功能(复用):按第一下为相位一功能,无倒计时状态。按第二下为相位二功能,无倒计时功能。B键功能(复用):按第一下为相位三功能,

38、无倒计时状态。按第二下为相位四功能,无倒计时功能。C键:紧急按键,四个路口全红灯,无倒计时功能。D键:退出遥控状态,切换到自动状态相位一。程序流程图如图4.3所示。完整程序详见附录。 按键1程序如下所示。 if(yk_in1=0) /delay(1); if(yk_in1=0) ET0=0; TR0=0;auto_on=0;/清除自动if(fuyong1=0) fuyong1=1; P1=0xff; P3=0xff;/关闭所胡灯 nan_green=0;/南向北绿灯 bei_red=0;/北向南红灯 dong_red=0;/东往西红灯 xi_red=0;/西往东红灯 n_b_green=0;/

39、南北人行道绿灯 d_x_red=0;/东西人行道红灯 else fuyong1=0; P1=0xff; P3=0xff;/关闭所有灯 bei_green=0;/北向南绿灯 nan_red=0;/北向南红灯 dong_red=0;/东往西红灯 xi_red=0;/西往东红灯 n_b_green=0;/南北人行道绿灯 d_x_red=0;/东西人行道红灯 delay(5);while(yk_in1=0); 按键4程序如下所示。 if(yk_in4=0) & (auto_on=0) /delay(1); if(yk_in4=0) /ET0=1;/重新开放中断TR0=1;TH0=0x3c; TL0=0

40、xb0;small_time=0; /清零各个参数miao=0;now_time=0;zhuangtai_data=0;/恢复最原先的状态fuyong1=0;fuyong2=0; auto_on=1; delay(5);while(yk_in4=0); 按键1第1次按键1第2次按键2第1次按键2第2次按键3按键4遥控状态相位1相位2相位3相位4紧急状态,四个路口全红灯退出遥控状态,返回自动控制状态相位1图4.3 遥控状态流程图5 结论拿到课题后,开始着手设计。查阅了大量相关资料,结合毕业设计任务书中的指标要求,进行了方案论证,确定了设计方案:将系统分为控制模块、通行灯显示模块、时间显示模块、遥

41、控控制模块四部分。设计方案与元器件参数确定后,就开始采购元器件,然后进行硬件制作。在制作硬件的过程中,每制作一步,都要检查这一步的正确性,可靠性。最后硬件制作完毕后,先进行了静态调试,根据硬件电路图核对了元器件的型号,极性,安装是否正确,检查硬件电路连线是否与电路图一致。然后是通电调试,先调试电源部分。再调试单片机的复位和晶振电路。硬件电路制作完毕后,采用仿真器进行了软件调试,这个过程相当复杂艰难,出现了很多问题,例如输出灯不按规律显示,倒计时数码管显示不正确等。每一个问题都相当棘手,遇到这些问题后,首先检测硬件电路,对硬件电路排查完毕并确定无误后,对软件进行修改及再调试。问题一一被解决后最后

42、得出所需软件部分。这个过程让我学到很多东西:首先必须具有的是耐心和细心,问题出现后,必须分析问题,找出可能出现此种问题的原因,然后进行一一检测,进行多次修改后才得到所需结果。最后是软硬件联调,将程序烧入到单片机,进行调试直到成功。通过本次设计,本人的知识领域得到进一步扩展,专业技能得到进一步提高,同时提高了分析和解决实际问题的综合能力。另外,也培养了自己严肃认真的科学态度和严谨求实的作风。由于本人水平有限,本次设计还存在一些不足之处,请评阅与答辩的各位老师批评指正。参考文献1王幸之.AT89系列单片机原理与接口技术M .北京:北京航空航天大学出版社,2004.2李忠国.单片机应用技能实训M .

43、北京:人民邮电出版社,2006.3先锋工作室.单片机程序设计实例M .北京:清华大学出版社,2003.4 李朝青.单片机原理及接口技术(修订版)M .北京:北京航空航天大学出版社,1998.5 余永权.世界流行单片机技术手册美国系列M .北京:北京航空航天大学出版社,2004. 6 李广弟.单片机基础M .北京:北京航空航天大学出版社,1992.7 张毅刚.单片机原理及接口技术M .哈尔滨:哈尔滨工业大学出版社,1990.8 潘永雄.电子线路CAD实用教程M .西安:西安电子科技大学出版社,2004.9 何立民.单片机应用技术大全M .北京:北京航空航天大学出版社, 1994.10 楼然苗.单

44、片机课程设计指导M .北京:北京航空航天大学出版社,2007.11 谭浩强.单片机课程设计M .北京:清华大学出版社,1989.致谢本设计是在导师林老师的亲切关怀和悉心指导下完成。在设计的整个过程中,林老师不断给我指明方向,指导我抓住问题的关键。林老师对我言传身教、关心备至,正是她孜孜不倦的教诲与细致入微的关怀激励着我完成了本次毕业设计,学生无限感激,将会永远铭记在心,在此,谨向林老师表示衷心的感谢。导师敏锐的思维、开阔的视野、严谨的治学态度、丰富的科学经验、渊博的理论知识、一丝不苟的学术作风、正直宽厚的为人品格都给我留下了深刻的印象,使我终生受益。在完成设计期间,还有许多老师给予了我极大的帮

45、助,特别感谢同学A、同学B、同学C等同学给予我在学习上的大力支持与无私帮助。十分荣幸我们有一个融洽的集体,感谢电子信息工程班的全体同学的帮助和勉励,同窗之谊和手足之情,我将终生难忘!最后我还要感谢培养我长大含辛茹苦的父母,正是他们在物质和精神上的支持和帮助,我得以顺利完成学业。谢谢你们!附录一:电路原理图附录二:程序#include #define uchar unsigned char #define uint unsigned int#define ulong unsigned long /sbit led1=P20;/数码管第一位sbit led2=P21;/数码管第2位sbit led

46、3=P22;/数码管第3位sbit led4=P23;/数码管第4位sbit led5=P24;/数码管第5位sbit led6=P25;/数码管第6位sbit led7=P26;/数码管第7位sbit led8=P27;/数码管第8位sbit nan_red=P10;/南往北红灯sbit nan_green=P11;/南往北绿灯sbit nan_yellow=P12;/南往北黄灯sbit bei_red=P13;/北往南红灯sbit bei_green=P14;/北往南绿灯sbit bei_yellow=P15;/北往南黄灯sbit dong_red=P16;/东往西红灯sbit dong_

47、green=P17;/东往西绿灯sbit dong_yellow=P30;/东往西黄灯sbit xi_red=P31;/西往东红灯sbit xi_green=P32;/西往东绿灯sbit xi_yellow=P33;/西往东黄灯sbit n_b_red=P34;/南北人行道红道sbit n_b_green=P35;/南北人行道绿灯sbit d_x_red=P36;/东西人行道红道sbit d_x_green=P37;/东西人行道绿灯sbit input1=P44;/按钮1sbit input2=P45;/按钮2sbit yk_in1=P00;/遥控输入1sbit yk_in2=P01;/遥控输

48、入2sbit yk_in3=P02;/遥控输入3sbit yk_in4=P03;/遥控输入4sbit RCK=P05;/记住,是595 12脚sbit SCLK=P04;/记住,是595 11脚sbit SER=P06;/记住,是595 14脚/uchar small_time;/最小计时单位50MSuchar miao;/秒计时/uchar time1;/南往北数码管uchar time2;/北往南数码管uchar time3;/东往西数码管uchar time4;/西往东数码管uchar now_time;/当前时间uchar n_b_time1=20;/南北绿灯通过的时间uchar d_x_time1=20;/东西绿灯时间uchar n_b_time2;/南北红灯时间uchar d_x_time2;/东西红灯时间uchar n_b_time3=3;/南北黄灯时间uchar d_x_time3=3;/东西黄灯时间/uchar zhuangtai_data=0;/选择的程序顺序bit auto_on=1;/自动控制bit fuyong1=0;/复用bit fuyong2=0;/复用uchar set_xuanzhe=0;/设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论