单片机的简单交通灯控制设计_第1页
单片机的简单交通灯控制设计_第2页
单片机的简单交通灯控制设计_第3页
单片机的简单交通灯控制设计_第4页
单片机的简单交通灯控制设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

交通灯的单片机控制设计河南城建学院专科毕业设计(论文) 摘要PAGEPAGEI-PAGEIII摘要交通灯安装在各个路口上,成为疏导交通工具有效的手段,单片机是微型计算机的一个重要分支,特别适用于控制领域,故又称为微控制器,对基于单片机的交通灯控制系统进行了设计。本系统采用美国ATMEL公司生产的单片机AT89S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,通过AT89S51芯片的RXD、TXD输入、输出设置显示时间。单片机系统采用的直流供电。系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有直行通行指示灯。在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。设计包括硬件和软件两大部分。硬件部分包括单片机时钟电路、时间显示、交通灯显示,报警模块等部分。选用Atmel公司的AT89S51单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用二位LED显示器,交通灯显示则采用红绿黄单色高亮发光二极管来模拟。软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。关键词:交通灯;单片机;AT89S51PAGE21河南城建学院专科毕业设计(论文) 摘要AbstractTrafficlightcontrolsystembasedonSCM(SingleChipMicrocomputer)isdesignedinthispaper.SystemrequiresthatMCS-51seriesSCMisusedasCPU.Trafficlightcontrolsystemshouldbedesignedandmade.Therearefourgroupslightwhichindicatetoturnleft,turnright,andgostraightaheadandpedestrianaccessineast,west,northandsouthfourdirections.Timershowstrafficconversionremaindertime.Whenspecialvehicles,suchas119,120gothrough,thesystemcanautomaticallyallowspecialvehiclesrunningandothervehiclesisprohibited.Basedonanalysisofthesystemfunctions,threeschemesareputforward.Bycomparison,LEDdynamiccycledisplayschemehasbetterfunctionsanditisselectedtobedesigned.Thedesignincludeshardwarepartandsoftwarepart.Hardwarehasthreeparts.TheyareSCMsystem,LEDtimedisplay,trafficlights.AT89S51SCMisselectedascontrolCPU.LEDdisplayandtrafficlightsaresetineast,west,northandsouthfourdirections.ThreeLEDmonitorsareusedtoshowtime.Highlightandred-greentwocolortrafficlightsareusedastrafficlights.Softwareisdesignedbymodule.Itisdividedintomainprogram,timerinterruptingservicesubroutine,LEDdisplaysubroutine,trafficdisplaysubroutine.Keywords:Trafficlight;SCM;AT89S51河南城建学院专科毕业设计(论文) 目录河南城建学院专科毕业设计(论文) 目录目录摘要 I1、绪论 11.1课题背景 11.1.1课题研究的意义 11.1.2课题研究的动态 11.2课题内容 21.2.1课题研究的主要内容 21.2.2预期达到的成果 22、系统工作原理及设计方案 32.1设计原理 32.2方案论证 42.2.1显示界面方案 42.3单片机概述 53、硬件电路的设计 83.1时钟电路和复位电路 83.1.1时钟电路 83.2.2复位电路 83.2控制模块 93.3信号灯模块 103.4显示模块 113.4.1数码管介绍 113.4.2LED显示器的显示方法 123.5报警模块 133.6按键模块 134、程序设计与流程图 154.1主程序模块 154.2信号灯模块 154.3显示模块 164.4中断服务模块 19结论 21参考文献 22致谢 23附录A:源程序 24附录B:电路图 29河南城建学院专科毕业设计(论文) 绪论1、绪论1.1课题背景1.1.1课题研究的意义国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。微控技术的日益完善和发展,单片机的应用在不断走向深入,使它的应用比定导致传统的控制技术从根本上发生变革。也就是说单片机应用的出现是对传统控制技术的革命。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。因此单片机的开发应用已成为高技术工程领域的一项重大课题。因此了解单片机知识,掌握单片机的应用技术具有重大的意义。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制。1.1.2课题研究的动态交通灯系统多采用单片机或者各种门电路控制,甚至还存在人工控制交通灯,这些控制装置尽管成本较低,但是可靠性能较差,而且电子装置容易受高频信号的干扰,致使控制出现错乱,影响正常的交通次序。改用单片机控制,则可大大改善以上提到的问题,是其在定时的准确性和可靠性大大提高。面向21世纪的智能化汽车的交通运输系统应使车、路高度智能化,使人、车、路三者合一,逐步实现汽车在公路上自动安全地运行。为解决交通堵塞,交通事故的国际难题而发展起来的智能交通系统,是将先进的信息技术,数据通讯和传输技术、电子自动控制技术及计算机处理技术等有效地用于整个地面运输管理体系,全方位发挥作用的实时、准确、高效的公路综合管理系统。智能交通系统是指人们将先进的信息技术、数据通讯传输技术、电子控制技术、传感器技术以及计算机处理技术等有效地综合运用于整个运输体系中,从而建立起的一种在大范围内、全方位发挥作用的实时、准确、高效的运输综合管理系统。实施智能交通系统工程不仅能够提高交通的效益与效率,增强交通安全性,而且有利于合理利用土地与能源,甚至对于国民经济的持续发展与社会经济效益的全面提高都是至关重要的1.2课题内容1.2.1课题研究的主要内容随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,许多大城市出现了交通超负荷运行的情况,因此,有些城市纷纷修建城市高速道路。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。该篇文章根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用MCS-51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。虽然简单,但是对于研究单片机,初步的学习具有重要意义。而且伴随着城市化进程的加快,交通拥堵现象日益严重如何对交通进行管理成为很多成日急需解决的问题。显然交通灯在其中起着不可或缺的作用。作为本次设计的交通灯,控制的具体要求如下:

(1)信号灯受一个起动开关控制,当起动开关接通时,信号系统开始工作,且先南北红灯亮,东西绿灯亮。当起动开关断开时,所有信号灯都熄灭。

(2)南北绿灯和东西绿灯不能同时亮,如果同时亮时应关闭信号灯系统,并报警。

(3)南北红灯亮维持25S。在南北红灯亮的同时东西绿灯也亮,并维持20S。到20S时,东西绿灯闪烁,闪烁3S后熄灭。在东西绿灯熄灭时,东西黄灯亮,并维持2S。到2S时,东西黄灯熄,东西红灯亮。同时,南北红灯熄灭,南北绿灯亮。

(4)东西红灯亮维持30S。南北绿灯亮维持25S。然后闪烁3S,熄灭。同时南北黄灯亮,维持2S后熄灭,这时南北红灯亮,东西绿灯亮。

(5)周而复始。1.2.2预期达到的成果通过本次设计,实现十字路口交通灯的信号灯的控制,来指导东西南北四个方向的车辆的通行,维持十字路口的正常车辆通行秩序,保证车辆的通行安全,减少不必要的交通事故。不过这个设计只适用于简单的路口的信号灯控制。这只是交通信号灯设计中的初级设计,交通灯的设计的研究深度还是很大的,通过这次设计,使得我们将所学的知识与实际生活中的应用结合。河南城建学院专科毕业设计(论文)系统工作原理及设计方案2、系统工作原理及设计方案2.1设计原理随着城市化进程的加快,交通拥堵现象日益严重如何对交通进行管理成为很多成日急需解决的问题。显然交通灯在其中起着不可或缺的作用。设计一个十字路口交通灯控制电路,根据设定好的周期时间能够指挥车辆在十字路口完成各个路口不同时段的直行运行。采用AT89S51单片机作为控制器,通行倒计时显示采用LED数码管,通行指示灯采用发光二极管,LED显示采用动态扫描,以节省端口数。按以上系统构架设计,AT89S51单片机端口刚好满足要求。该系统具有电路简单,设计方便,耗电较少,可靠性高等特点。S0:南北红灯亮,东西绿灯亮,持续时间20s。S1:南北红灯亮,东西绿灯闪三次,持续时间3s。S2:南北红灯亮,东西黄灯亮,持续时间2s。S3:东西红灯亮,南北绿灯亮,持续时间25s。S4:东西红灯亮,南北绿灯闪三次,持续时间3s。S5:东西红灯亮,南北黄灯亮,持续时间2s。然后再依次循环。信号灯的状态表如下所示。表2.1状态表状态无南北方向东西方向十六进制值P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0红黄绿红黄绿S0000111101EHS1000111101EH000111111FHS2000111011DHS30011001133HS40011001133H001110113BHS5001010112BH注:(1)0表示灯亮,1表示灯灭。采用单片机的I/O口P3直接和交通灯连接,P0、P2口通过限流电阻接LED数码管。控制程序放在单片机的ROM中,在十字路口的四组红、黄、绿交通灯中,由单片机P1.0-P1.5控制,由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接,因此I/O口输出低电平时,与之相连的相应指示灯会亮,并通过LED数码管显示时间倒计时。I/O输出高电平时,相应指示灯会灭。根据具体的功能,该控制器分为以下几个功能模块:数码管显示模块,声音报警模块,指示灯显示模块,数码显示模块等。通过各模块的控制和调用可以实现交通灯控制器的基本功能。各模块之间结构图如图2-1。AAT89S51串行口计算机按钮开关数码管指示灯扬声器图2-1系统组成结构框图2.2方案论证2.2.1显示界面方案该系统要求完成倒计时的功能。基于上述原因,我们考虑了两种方案:方案一:完全采用LED显示。这种方案可以显示各种符号和数码字符,这种方案既满足系统功能要求,又减少了系统实现的复杂度。方案二:完全采用点阵式LCD显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。利用这很容易实现交通灯在紧急情况下处理能力。综上所述,第一方案就可以满足题目的要求,而且使系统变的简单可行。根据方案一,我们采用LED的静态显示原理。静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端固定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与8位I/O口输出的一位相连。I/O口只要有段码输出,相应字符就显示来来,并保持不变,直到I/O口输出新的段码。2.2.2LED连接方案关于LED的显示的不同,我们可以讨论两种连接方案。方案一:采用静态显示方式,较小的电流即可获得较高的亮度且占用CPU时间少,编程简单,显示便于监测和控制。但其硬件电路复杂,成本高,只适合于显示位数较少的场合。多位静态显示接口应用,如要用P1口显示多位,则每位数码管都应有各自的锁存、译码及驱动器。还需有相应的位选通电路,位选通电路输出位码。单片机通过对位、段的相应控制实现多位静态显示。方案二:采用动态显示接口方式,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应地并联在一起,由一个8位的I/O口控制,各位的位选线(共阴极或共阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规矩循环,即可使各位数码管显示需要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔时间足够短就可以给人以同时显示的感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示简单,所以我们选择第二种方案实现系统的显示功能。单片机概述单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。单片机芯片的引脚示意图如图2.2所示。图2.2单片机芯片示意图该系统的核心部件是单片机说以单片机得选择很重要,为了完成单片机遇上位机的通信,所以选择AT89S51系列的单片机,该单片机完全兼容传统的8051单片机。AT89S51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:1、中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)AT89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)AT89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:AT89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:AT89S51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。6、中断系统AT89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。本设计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时更新系统,根据道路情况适时调整交通灯的状态,全面有效地利用交通灯指示交通情况。AT89S51单机的电源线有以下两种:(1)VCC:+5V电源线。电源线(2)GND:接地线。河南城建学院专科毕业设计(论文) 硬件电路设计3、硬件电路的设计3.1时钟电路和复位电路3.1.1时钟电路系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30pF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。图3.1时钟电路外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。3.2.2复位电路使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够的时间高电位才能实现。上电复位、人工按钮复位和硬件看门狗复位都是硬件复位。硬件复位后,各专用寄存器均被初始化,且对片内通用寄存器没有影响。软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。对各专用寄存器的复位操作是容易的,也没必要完全模拟,可根据实际情况需要在主程序初始化完成。本次设计的复位是由外部的复位电路来实现的,即人工按钮实现。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。复位电路如图3.2所示。图3.2复位电路3.2控制模块控制模块电路如图所示。AT89S51的P1口用于控制南北东西通行灯,P3,P2,P0口用于2位LED显示器的段码控制。/VPP接+5V电源端,晶振及复位按典型电路设计,晶振频率为12MHz。控制模块电路图如图3.3所示。图3.3控制系统3.3信号灯模块由12个LED来实现红绿灯状态,若直接接在单片机的相关口线,路口倒计时的显示就不能实现,所以本次设计中采用一种比较简单电路如图3.4所示。图3.4灯控制电路观察图可以看出:四组发光管(每组含有红,黄,绿三种灯各一个)一端连接在单片机上,另一端接地。图中电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑的错误,以及防止由于在导电的瞬间电压过高损坏二极管。共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用单片机软件系统对二极管控制,低电平驱动。从而控制十字路口交通灯的灯灭和灯亮情况。3.4显示模块3.4.1数码管介绍LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如系统原理图。在动态方式中,逐个地循环地点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。本次采用四组两个数码管,同时为了节省口资源,采用串口显示的方式驱动数码管。数码管的图示如图3.5所示。图3.5数码管3.4.2LED显示器的显示方法在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。七段LED显示器由八个发光二极管组成。其中7个长条形的发光管排列成“日”字形,另一个圆点形的放光管在显示器的右下角作为显示小数点用,它能显示各种数字及部分英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称为共阴极LED。图3.6为共阴极LED显示器。图3.6共阴极共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7D6D5D4D3D2D1D0,于是用8位二进制码就可以表示欲显示字符的字型代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。如果是共阳LED显示器,公共阳极接高电平。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。本次设计采用共阳极的数码管接法。3.5报警模块报警电路使用的蜂鸣器是广泛应用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多应用场合。蜂鸣器与家用电器上面的喇叭在用法上也有相似的地方,通常工作电流比较大,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个电流放大的电路才可以,这一点与家用电器中的功放有相似之处三极管的B极通过AT89S51单片机的P3.7脚控制,通过网络标号ALARM电气连接。当P3.7脚为高电平时三极管截止,蜂鸣器不叫,当P3.7脚为低电平时三极管导通,蜂鸣器发出声音,使用电路图如图3.7所示。图3.7报警电路3.6按键模块在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为5~10ms,在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。而在本次设计中,牵涉到的按键虽然较少,但是从经济角度考虑,以及结合实际情况,所以还是认为采用软件消抖比较合适。如图3.8所示:图3.8键合断时的电压抖动河南城建学院专科毕业设计(论文)程序设计与流程图4、程序设计与流程图4.1主程序模块先是各个变量,端口的初始化,然后进行信号灯程序的循环执行环节,随之的是数码管对应的显示剩余秒数,依次按步执行,如果在某一时刻出现了东西南北绿灯同时亮,那么执行中断程序,使得所有的灯都灭,然后等待检修故障,再通过复位按钮,使得程序从新开始执行。主程序流程图如图4-1所示:开始开始各变量、端口初始化信号灯子程序显示子程序中断信号中断子程序否是图4-1主程序流程图4.2信号灯模块下面的是信号灯的程序流程,先是S0:南北红灯亮,东西绿灯亮,持续时间20s;S1:南北红灯亮,东西绿灯闪三次,持续时间3s;S2:南北红灯亮,东西黄灯亮,持续时间2s;S3:东西红灯亮,南北绿灯亮,持续时间25s;S4:东西红灯亮,南北绿灯闪三次,持续时间3s;S5:东西红灯亮,南北黄灯亮,持续时间2s。就这么依次循环。信号灯流程图如图4.2所示。开始开始南北红灯亮,东西绿灯亮,持续20s南北红灯亮,东西绿灯亮,持续20s 南北红灯亮,东西绿灯闪烁3s南北红灯亮,东西绿灯闪烁3s南北红灯亮,东西黄灯亮,持续2s南北红灯亮,东西黄灯亮,持续2s东西红灯亮,南北绿灯亮,持续25s东西红灯亮,南北绿灯亮,持续25s东西红灯亮,南北绿灯闪烁3s东西红灯亮,南北绿灯闪烁3s东西红灯亮,南北黄灯亮2s东西红灯亮,南北黄灯亮2s图4.2信号灯顺序流程图4.3显示模块显示程序采用动态显示,由位码控制那一个数码管显示,由段码控制数码管显示什么数值,根据中断程序显示时间来查表显示数值,两位数码管逐个点亮,同时每显示一次判断倒计时是否结束?没有没有结束继续显示,显示完了从头开始进入下一个阶段的显示。如图4.3所示:初始化初始化取数查表取段码段码送显示口位码送控制口调用延时子程序子程序返回图4.3显示程序流程图经过初始化后,通过查询相应的信号灯的状态,将相关信号传送到数码管,通过相关的转换程序以及延时程序,将剩余时间以倒计时的形式显示出来。东西向数码管先是显示25s,此时为东西向通行,南北红灯禁行。其中前20秒是绿灯亮,然后有3s是绿灯闪烁,最后是黄灯亮2s,然后转东西向红灯,红灯要亮30s,此时是东西向禁止行车,而南北向通行。等红灯倒计时结束后,就转到显示25s的状态,依次循环。东西向数码管的显示流程如图4.4所示。开始开始初始态显示25S减一减到二?显示2s减一减到零?显示30s减一减到零?NYNYNY图4.4东西向数码管的显示流程图 南北向数码管先是显示25s,此时为东西向通行,南北红灯禁行。等30s倒计时结束后,数码管显示30s,先是前25s绿灯亮,然后转到3s的绿灯闪烁,最后是黄灯亮2s。等黄灯过后,就转到显示25s的状态,之后就这样依次循环。南北向数码管现实的流程图如图4.5所示。开始初始态显示25S开始初始态显示25S减一减到零?显示30s减一减到二?显示2s减一减到零?NYNYNY图4.5南北向数码管的显示流程图 4.4中断服务模块当发生东西南北的绿灯都亮的情况时,那么系统产生中断,使所有的信号灯都熄灭,并发出报警信号。等故障解除后,可以恢复现场恢复到中断前的状态,也可以由人工复位按钮进行复位,使程序从新开始执行。其实这步也可以通过程序来实现,这样会更加方便,只是对程序的要求会更高,然而确实很方便的,只是由于水平有限,在这次设计中没有实现,感到十分遗憾。关于中断这个部分,本次的设计只是交通灯设计中很基础的部分,而且对于一些更有深度的部分并未涉足,比如说紧急情况下的中断及相关的恢复(例如救护车过十字路口等特殊状况),这方面就牵涉到程序的中断,及相关数据的恢复与保存。INT0INT0保护现场所有信号灯都熄灭等待解除故障解除故障后恢复现场中断返回图4.6中断程序流程图河南城建学院专科毕业设计(论文) 结论结论单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的交通灯系统,只是单片机广泛应用于各行各业中的一例。而本次设计只是交通灯系统中一个很基础简单的设计,这只是这个方面的初级入门,其实以后这个方向的前景还是很广阔的,也是很大,很深奥的,比如智能交通灯系统,能够随时间和路上车流量的不同而设置合适的时间以方便车辆的通行。而关于不同时间段的交通灯时间可以由人工进行手动修改,或是牵涉到随着车流量的大小而改变,这个就牵涉到智能模糊控制,但是由于所学知识的不足和卑微,力不能及。要是想在这方面学好,做好,确实还有很长的路要走。而我们只是了解了这方面的皮毛,路漫漫其修远。通过本次设计,本人提高了分析和解决实际问题的综合能力。另外,也培养了自己严肃认真的科学态度和严谨求实的作风。我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。在此,忠心感谢老师以及许多同学的指导和支持。我会继续努力。经过三年学习的积累,在已经掌握相关专业方面知识及其它各方面知识的情况下,我认真严肃的完成了我的毕业设计。它已不仅是一个对我三年学习知识情况和动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。在这个过程中我深刻的感受到了做毕业设计的意义所在。鉴于本人水平有限,本次设计还存在一些不足之处,而且有些部分确实做的不好,在程序部分,由于知识水平不足,根本无法胜任,期间找了本科班程度好的同学进行请教,所以可见知识的欠缺,有不当和错误之处,请评阅与答辩的各位老师谅解。河南城建学院专科毕业设计(论文) 参考文献参考文献[1]王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.[2]李忠国.单片机应用技能实训[M].北京:人民邮电出版社,2006.[3]先锋工作室.单片机程序设计实例[M].北京:清华大学出版社,2003.[4]李朝青.单片机原理及接口技术(修订版)[M].北京:北京航空航天大学出版社,1998.[5]余永权.世界流行单片机技术手册——美国系列[M].北京:北京航空航天大学出版社,2004.[6]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1992.[7]张毅刚.单片机原理及接口技术[M].哈尔滨:哈尔滨工业大学出版社,1990.[8]潘永雄.电子线路CAD实用教程[M].西安:西安电子科技大学出版社,2004.[9]何立民.单片机应用技术大全[M].北京:北京航空航天大学出版社,1994.[10]张毅刚.单片机原理及接口技术[M].哈尔滨:哈尔滨工业大学出版社,2001[11]谭浩强.单片机课程设计[M].北京:清华大学出版社,2000[12]蔡美琴MCS-51系列单片机系统及其应用[M].北京:高等教育出版社2004.2[13]付家才单片机控制工程实践技术[M].北京:化学工业出版社,2004.5[14]潘新民微型计算机控制技术[M].北京:人民邮电出版社,1999.9[15]余锡存单片机原理及接口技术[M].西安:西安电子科技大学出版社,2000.7[16]雷丽文等.微机原理与接口技术[M].北京:电子工业出版社,1997.2[17]周立功增强型80C51单片机速成与实战[M].北京:北京航空航天大学出版社2004.5[18]周航慈单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1991.[19]张志良等单片机原理与控制技术[M].北京:机械工业出版社,2001年7月第1版河南城建学院专科毕业设计(论文) 致谢致谢这次设计的完成离不开石磊老师的教导和训诲。在设计的整个过程中,石磊老师不断给我们讲解不会的地方,和需要指引的方向。他指导我们抓住问题的关键,条理清楚,理清思路。正是石老师的教导和讲解,与细致入微的关怀激励着我完成了本次毕业设计,真的很感谢石老师,在此,谨向石老师表示衷心的感谢。老通过这次毕业设计,使我拥有了将知识与实际相联系并结合的机会,锻炼了自己,也认识到自己无论是在知识方面,还是在动手方面,以及面对问题时的态度和心态方面,有很多的不足,也开拓了自己的视野。在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面使我都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。我在指导老师石磊老师的精心指导和严格要求下,获得了获得了重要的指导,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面的知识有极大的帮助。在此,我忠心感谢石在完成设计期间,还有许多其他专业课的老师给予了我们极大的帮助,热情的指导,在此向他们表示衷心的感谢!以及感谢本科班的一些同学给予我们在学习上的大力支持与无私帮助。在此,我还要感谢在一起愉快的度过大学生生活的电气系全体老师和领导,正是由于你们的培养和教导,使我们顺利毕业,教导我们如何为人处事。最后我还要感谢培养我长大含辛茹苦的父母,正是他们在物质和精神上的支持和帮助,我得以顺利完成学业。谢谢你们!

河南城建学院专科毕业设计(论文) 附录附录A:源程序ORG0000HLJMPSTARTORG000BHLJMPCTC0ORG0030HSTART:MOVTMOD,#01H;定时器T0初始化MOVTH0,#3CH;定时器T0初始化MOVTL0,#0B0;定时器T0初始化MOVR3,#20;定时器次数初始化MOVR5,#03;循环次数初始化MOV30H,#16H;数据缓冲区初始化MOV31H,#16H;数据缓冲区初始化MOV32H,#16H;数据缓冲区初始化MOV33H,#16H;数据缓冲区初始化SETBEA;总允许中断SETBET0;T0允许中断SETBTR0;启动T0MOVDPTR,#TAB;置表格TAB起始值CLRAMOVCA,@A+DPTRMOVP3,A;查表将结果送P3口INCDPTRCLRAMOVCA,@A+DPTRMOVR4,A;查表下一地址,结果送寄存器R4MOV30H,A;将结果送30HINCDPTRCLRAMOVCA,@A+DPTRMOVR6,A;查表下一地址,将结果送R6MOV31H,A;将结果送31HINCDPTRCLRAMOVCA,@A+DPTRMOVR7,A;查表下一地址,将结果送R7MOV32H,A;将结果送32HINCDPTRCLRAMOVCA,@A+DPTRMOVR2,A;查表下一地址,将结果送R7 MOV33H,A;将结果送32HINCDPTRMOV50H,DPH;将下一地址送50H和51HMOV51H,DPLLOOP:LCALLDISPLAY;调用显示程序JBP1.0,LOOP1;K1键未按下,转LOOP1LCALLDELAY1;延时10ms消除抖动JBP1.0,LOOP1;K1键未按下,转LOOP1LOOP2JNBP1.0,LOOP2;K1键按下,顺序执行K1键功能MOVA,P0MOVP0,#11H;送11H到P0口,使两个方向的灯都亮红灯CLRTR0;定时器停止计数MOV30H,#16HMOV31H,#16HMOV32H,#16HMOV33H,#16HANJIAN:JBP1.1,LOOP;K2键未按下,转LOOPLCALLDELAY;延时10ms消除抖动JBP1.1,LOOP;K2键未按下,转LOOPL2:JNBP1.1,L2;K2键按下,顺序执行K2键功能SETBTR0;重新启动定时器MOVP0,A;将状态送P0口LJMPLOOPCTCO:PUSHACC;保护现场PUSHPSWDJNZ:R3,NEXT2;定时器一秒未到转NEXT2MOVR3,#20;定时一秒到,送20到R3MOVA,R4CJNEA,#0FF,L15;(主干道)判断个位,个位不等0,转L15MOVA,R6;个位等0顺续执行CJNEA,#0FFH,L16;判断十位,十位不等0,转L16LJMPL17;十位等0,转L17L16:DECR6;十位减1MOVR4,#09;个位送9LJMPL8L15:DJNZR4,L8;个位不为0时,个位减1L17;DJNZR5,LL1;未循环完,转LL1MOVR5,#05;循环寄存器重装初值MOVDPTR,#TAB1;将TAB1首地址送DPTRLJMPLL2L8:MOVA,R7CJNEA,#0FFH,L11;(直干道)判断个位,个位不等0,转L11MOVA,R2;个位等0顺续执行CJNEA,#0FFH,L18;判断十位,十位不等0,转L18LJMPL18L12:DECR2;十位减1MOVR7,#09;个位送9LJMPNEXT1L11:DJNZR7,NEXT1;个位不为0时,个位减1L18:DJNZR5,LL1;未循环完,转LL1MOVR5,#05;循环寄存器重装初值MOVDPTR,#TAB1;将TAB1首地址送DPTR

温馨提示

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

评论

0/150

提交评论