




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.前言1.1研究背景近年来随着微控技术的日益完善和飞速发展,单片机的应用正在不断深入,它的应用必将导致系统控制技术从根本上发生变革,同时带动传统控制检测技术日益更新。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化控制。在实际检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。在社会经济快速发展,人们生活水平的日益提高的今天,繁忙的道路交通变得越来越受到广泛的重视,因此设计适当的交通灯电路对我们的生活息息相关。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。靠的就是交通信号灯的自动指挥系统来实现这井然秩序。交通信号灯是城市交通有序、安全、快速运行的重要保障,而保障交通信号灯正常工作就成了保障交通有序、安全、快速运行的关键。为此,采用MCS-51系列单片机8051为中心器件来设计交通灯控制电路,交通灯显示模块,调时模块,晶振电路,复位电路以及控制电路,实现根据实际车流量通过8051芯片的P3口设置红、绿、黄灯燃亮时间,三种颜色灯交替点亮以及紧急情况下的中断处理功能,以达到交通通畅,人流车流和谐有序的目的。1.2发展现状当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:(1)两车道的车辆轮流放行时间相同,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。(2)两条干道的红绿时间不能随实际路况的不同而让紧急车辆先通行。国内外很多研究机构都致力于潜心研究交通信号灯的控制的更新换代。比如太阳能交通信号灯,太阳能交通信号灯是靠阳光的能量保证信号灯的正常使用。它利用的能源是太阳能,既省电又环保,安装时还不需要铺设电缆。信号灯具有蓄电池功能,可保证1030天正常工作。主要适用于新建成的路口和车流量大、急需新增交通信号指挥的路口,可满足交警应对紧急停电、限电以及其他突发情况的需要。并配有多种控制系统,如可编程控制器(PLC)控制系统,基于DEA技术的交通信号灯定时控制系统,微机原理控制系统和单片机控制系统等。单片机是微型计算机的一个重要分支,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路块,具有功能强、体积小、可靠性高、价格低廉等特点,在控制领域也得到广泛应用。1.3研究意义信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯,红灯是禁止信号,黄灯是警示信号,绿灯时通行信号。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用。特别是在经济和科技高度发展的今天,安全问题同发展问题同等的不容忽视,交通信号灯,是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。常见于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。在城市交通中,交通信号灯已成为道路畅通的必备工具交通信号灯用于道路平面交叉路口,通过对车辆、行人发出进行或停止的指令,使人与人、车与车之间尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。1.4设计方法和研究途径本设计主要从单片机的应用上来实现十字路口交通灯的智能化管理,用来控制过往车辆的正常、安全、有序运作。根据8051单片机及交通灯在实际控制中的特点,本文提出了一种用单片机模拟控制交通灯并且有时间显示的方法;同时给出了系统的硬件和软件设计方法,对在单片机应用中可能遇到的技术问题都有涉及。8051单片机的交通灯控制系统由8051单片机、键盘、外围电路、交通灯显示等模块组成;系统除基本交通灯功能外,还有紧急车辆强行通过等交通异常状况处理等相关功能。在本设计中,以8051单片机作为主控制器,采用8051的P1口与指示灯相连,通过串行输入,并行输出与数码管相连。利用P3口作为按键输入端口,通过查询指令来判断外部是否有请求信号,当P3口是低电平时,通过跳转指令,执行子程序。正常运行时,主干道放行60S(其中5S用于警告),然后次干道放行30S(其中5S用于警告);这样周而复始的运行。当有紧急车辆通过时,将控制键K0按下,使主次干道均为红灯,确保紧急车辆顺利通行,实现设计的人性化、实际化。1.5本设计主要工作为了实现对交通道路的管理,力求交通管理先进性、科学化,本设计分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济、能够有效地疏导交通,提高交通路口的通行能力。本设计主要做以下几方面的工作:一、对交通信号灯的研究意义和交通灯的研究现状进行分析,确定系统交通控制的总体设计,包括交通灯控制系统通常要实现自动控制等各项应有功能,还增加了在紧急情况下能够手动切换信号灯让特殊车辆优先通行的功能。二、本文还对硬件电路中AT89S51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计的各个电路以及元器件的结构功能进行了详细的介绍和分析。三、进行了软件系统的设计,对于本设计,本人采用单片机汇编语言编写,对定时器、中断以及延时原理做了详尽说明,总体上完成了软件的编写。并介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用PROTEUS软件对交通信号灯控制系统进行了仿真。2.总体设计2.1整体规划本设计交通信号灯的变化规律,根据设计要求,设计一个完整的交通灯只能控制系统,该系统有交通灯单片机、按键电路、驱动电路、复位电路、稳压电源等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。本系统的特色是具有硬件调时功能与应对紧急事件功能,并且使用仿真软件模拟实现交通信号灯控制情况。2.1.1 示意图G1G2R2Y2G1Y1R1Y1R1G2Y2R2BA 图2.1 整体规划示意图本设计分主干道A和次干道B,分别以R1、Y1、G1模拟主干道的红、黄、绿灯,R2、Y2、G2模拟次干道的红、黄、绿灯,首先A道路通车,即G1、R2亮60S,保持R2亮灯状态,G2闪3S,R1闪2S;然后G2、R1亮灯30S,同样保持R1亮灯状态,Y2闪3S,R2闪2S,状态循环;若有紧急车辆通过时,系统会有外部信号传入,此时R1、R2均为两灯状态,直至接到新的信号再转入下一轮循环,如图2.1示。2.1.2 流程图 开始四个路口红灯亮(状态0)南北绿灯亮,东西红灯亮,延时(状态1)东西黄灯闪烁,南北绿灯亮,延时(状态2)东西红灯亮,南北绿灯亮,延时(状态3)东西绿灯亮,南北黄灯闪烁,延时(状态4) 图2.2 状态流程图初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪6次转亮黄灯,延时5秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪3次转亮黄灯,延时5秒,南北仍然红灯。最后循环至状态1。状态流程图如图4所示初始化,置十字路口东西南北四个方向全为红灯,接下来南北方向绿灯亮,东西方向红灯亮,延时60s;绿灯闪烁4下后,南北黄灯亮,延时5s,跟着南北红灯亮,东西绿灯亮,延时30s此后顺序循环下去。主程序流程图如图2.2所示.当有紧急车辆出现时,应是东西南北四个方向全亮红灯,以便紧急车辆通过。技术上可用外部中断0发出一脉冲向CPU申请中断,CPU不断检测,检测到低电平时开始执行中断,并继续检测直到检测到高电平中断结束,继续执行主程序。2.2工艺过程(1)正常情况下A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行1分钟(其中5秒用于警告),B道放行30秒(其中5秒用于警告)。(2)有紧急车辆通过(用按键开关K0模拟)时,A、B道均为红灯。系统设计:交通控制系统要控制两车道的交通,以8051单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行,另外通过K0按键来模拟有紧急车辆通过时的情况。根据设计要求制定总体设计思想如下:(1)正常情况下运行程序,采用0.5s延时子程序的反复调用来实现各种定时时间;(2)有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置该中断为高优先级中断。系统整体方案:首先接通电源,然后按下启动按钮,系统能按控制要求工作,并能够利用AT89S51主控制芯片的内部定时器根据设计要求自行启动和停止。当紧急信号出现时,又能自动中断原有的工作来应急处理,返回后,又能重新投入工作,完全实现自动控制,提高系统可操作性。交通管理的方案论证:东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2.1示: 表2.1 指示灯亮暗方案亮灯时间55s3s2s25s3s2sA车道绿灯亮绿灯闪烁黄灯亮红灯亮红灯亮黄灯亮B车道红灯亮红灯亮黄灯亮绿灯亮绿灯闪烁黄灯亮3.硬件设计3.1实现方案本系统采用AT89S51单片机作为主控制芯片,用12只发光的二极管模拟交通信号灯,以AT89S51单片机的P1口控制这12只发光二极管,由于单片机的带负载能力有限,因此在P1口与发光二极管之间用驱动器做为LED的驱动和信号逻辑转换芯片,12V锂电池电源外接稳压电路来保证系统工作电压的恒定,P1口输出低电平时,信号灯亮,输出高电平时,信号灯灭。在正常情况下和交通繁忙时,A、B两车道的12只信号灯的控制状态有5种形式,P1口的控制功能及相应控制码如表3.1所示。以按键K0模拟紧急车辆通过开关,当K0为高电平时为正常情况,K0为低电平时为紧急车辆通过时的情况,直接将K0信号接至(P3.2)脚即可实现外部中断0中断。 表3.1 P1口控制功能与相关控制码如表控制状态P1口控制码P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0未用未用B道绿灯B道黄灯B道红灯A道绿灯A道黄灯A道红灯A道放行B道禁止F3H11110011A道警告B道禁止F5H11110101A道禁止B道放行DEH11011110A道禁止B道警告EEH11101110AB道均禁止F6H11110110本设计具有紧急优先控制功能,该功能主要是便利交通管理紧急处理。因此,在交通信号灯正常控制的基础上,增加了允许紧急优先处理功能,诸如消防、急救等情况出现时,东西、南北方向的红等均变亮,持续20s,以便紧急处理。在紧急情况处理完后,交通信号灯又能够恢复到先前的工作状态。这里采用了中断技术,应用单刀双掷开关K0来模拟,并且在程序中把外部中断0设为高优先级中断,这样使系统更可靠地接受紧急信号,在模拟时K0为手动开关。3.2硬件结构及相关元器件的选择硬件结构说明:采用MCS-51系列单片机AT89S51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5s时黄灯闪烁警示(交通灯信号通过P1口输出,P3口为复位锁存器);若有紧急车辆通行则两路口均置红灯,保证车辆畅通!本系统以8051单片机为核心,加上适当的驱动电路,数码管显示,红、黄、绿交通灯显示,在单片机计数器达到规定数值瞬间完成十字路口通行状态的转换。本系统的特色是具有硬件调时功能与应对紧急事件功能,并且使用仿真软件模拟实现交通信号灯控制情况良好,如图3.1示:电源电路复位电路晶振电路按键电路8051单片机驱动电路驱动电路A车道LED显示电路B车道LED显示电路 图3.1硬件结构图本设计需要的元器件有单片机芯片、稳压电源块、驱动器、发光二极管、按键、电源、晶振。下面对芯片选择和电路设计思想作以介绍:8051芯片单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。MCS51系列单片机是国内目前应用最广泛的一中八位单片机之一,经过20多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍应用,MCS51系列单片机的发展又进入了一个新的阶段。近年来,基于51系列单片机的嵌入式实时操作系统的出现与推广,表明51系列及其衍生型单片机将在今后很长一段时间内占据嵌入式系统产品的低端市场。近年来随着单片机技术的不断发展,单片机内部功能越来越多。AT89s51是在89c51基础上更加发展优势的芯片,AT89C51 的性能相对于8051 已经算是非常优越的了,AT89S51在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写 1000 次)存储器取带了原来的 ROM(一次性写入),也就是增加了在线更新程序的功能。ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能;此外,89s51自身带有内部集成看门狗计时器,A/D、D/A转换,PWM于一体,体现了单片机由MCU向SOC偏上系统发展的全过程,不再需要像89C51 那样外接看门狗计时器单元电路。但也有其弊端,AT89S51比AT89C51功能是多了,但驱动能力差了,抗干扰性能差了,所以在电路设计时要外加电路来克服此项缺点。AT89S51单片机是低功耗的、具有4KB在线课编程Flash存储器的单片机。它与通用80C51系列单片机的指令系统和引脚兼容。片内的Flash可允许在线重新编程,也可使用非易失性存储器编程。他将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能性价比的微控制器。 图3.2 89S51芯片引脚图引脚功能简介RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。ALE/:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。当在Flash编程时还可以作为编程脉冲输出()。一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。:程序存储允许时外部程序存储器的读选通信号。当AT89C51执行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。/VPP:外部访问允许。为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,必须同GND相连接。需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。当执行内部编程指令时,应该接到VCC端。XTAL1:振荡器反相放大器以及内部时钟电路的输入端。XTAL2:振荡器反相放大器的输出端。Vcc电源电压输入端。GND电源地。 AT89S51单片机内部看门狗定时器介绍89S51看门狗定时器一个14位计数器和一个看门狗复位WDTRST,地址是0A6H。WDT在单片机复位后的默认状态是关闭的,必须由程序激活后才开始工作,因此必须保持单片机有可靠的上电复位,否则看门狗将无法工作。由于89S51的看门狗定时器只是一个14位的计数器,如果要避免89S51在程序正常运行时产生复位信号,必须在16383个时钟周期内至少喂狗一次。而且这个时间是固定的无法更改。如果单片机的晶振频率是12MHZ,则每隔16S需要喂狗一次。由于WDT作用的是单片机的晶振,当晶振停振时,看门狗也随之失效。3.3 端口分配P0口:(1)作I/O口使用时,是一个准双向口,需要外加上拉电阻,特点是:当某引脚由原来的输出变为输入时,用户应先向锁存器写“1”,以免错误读出引脚上的内容。当复位时,口锁存器均自动置“1”,即输出驱动器(VT2)已截止,P0口作为输入口使用。(2)作为地址/数据总线口使用时,是一个真正的双向口,不需要做任何的工作。P1口:是一个标准的准双向口,只能作为通用I/O口使用。作为输出时无需外接上拉电阻;当其作为输入时,同样也需要先向其锁存器写“1”,使输出驱动截止,P1口为输入端口。可作为I/O口和高8位地址线A8A15输出口。P2口比P1口多了一个多路开关MUX,当P2口作为通用的I/O口使用时,硬件置开关NUX倒向锁存器的Q端是一个准双向口。复位时,口锁存器均自动置“1”,即输出驱动器已截止,P2口可作为输入使用。当开关NUX倒向地址端时,P2输出高8位段地址A8A15,用于寻址外接的存储器和I/O口,这时不能再作为并行的I/O口使用。P3口:P3口是一个双功能口,分第一功能和第二功能。当作为第一功能使用时,由内部硬件自动将第二功能输出线W置“1”,这时P3口作为通用I/O口,与P1口类似,是一个准双向口。复位时,口锁存器均自动置“1”,即输出驱动器截止,P3口作为输入口使用。当作为第二功能使用时,P3口同时具有AT89C51的多种特殊功能,具体如表3.2所示:表3.2 P3口的第二功能端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD(串行输出口)P3.2 (外部中断0)P3.3(外部中断1)P3.4T0(定时器0)P3.5T1(定时器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器都选通)3.4详细电路设计3.4.1 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。复位后PC=0000H使单片机从第一个单元取指令。在实际应用中,无论是在单片机刚开始接上电源时,还是在断电或者发生故障以后都要复位。所以必须弄清楚MCS-51系列单片机的复位条件,复位电路的复位后状态,单片机的复位条件是在RST/UPD或RST端子上持续两个机器周期(即24个振荡周期)的高电平,如果时钟频率为12MHZ没个机器周期为1us,则只要2us以上的高电平时间就能复位。当MCS-51系列单片机的复位端子RST两个机器周期以上的高电平时,单片机执行复位操作,完成对CPU的初始化处理,复位操作是整个应用系统运行前必须进行的一个环节。但是如果RST持续为高电平,单片机就处于循环复位状态,无法执行用户的控制程序。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动/自动按钮复位和上电复位。单片机采用上点自动复位电路,如下图所示,在通电的瞬间,由于电容两端电压不能突变,故在RST端的电位与Vcc相同;随后C通过R充电,充电电流逐渐减少,RST端的电位也逐渐下降,只要保证RST为高电平的时间大于两个机器周期,便能恢复正常。常用的上电复位电路如图3.3所示: 图3.3 上电自动复位电路3.4.2 时钟电路时钟电路是单片机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同指令功能的。89S51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,利用芯片内部反相器和电阻组成的振荡电路,在XTAL1和XTAL2引脚上跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,形成单片机的时钟电路,可稳定频率并对振荡频率有微调作用。每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。晶振的作用是为系统提供基本的时钟信号。本设计中取晶体振荡器的频率,电容C1、C2的主要作用是帮助振荡器起振,其值的大小对振荡器的频率有微调作用,典型值为C1=C230pF。 图3.4 内部时钟方式电路图3.4.3 驱动电路单片机与LED显示器的接口电路中,要是LED数码管正常发光,显示器驱动芯片也很重要。采用动态显示方式编写软件时,应选合适的延时时间,如果时间不合适,LED将会不停闪烁,这时可以适当调整延时常数即可解决问题。选择合适的驱动芯片以保证足够的显示亮度驱动电路如图3.5示。用12只发光二极管模拟交通信号灯,以AT89S51单片机的P1口控制这12只发光二极管,由于单片机带负载能力有限,因此在P1口与发光二极管之间用74LS07作驱动。 图3.5 驱动电路 图3.6 74LS07引脚图 图3.7 内部逻辑符号图3.4.4 稳压电源考虑到单片机工作需要严格稳定的5V电压,本设计采用12V锂电池输出电压经7805稳压块变压稳压,得到稳定的5V直流电压,分别供接口电路和LED信号灯使用。集成稳压器是指将不稳定的直流电压变为稳定的直流电压的集成电路。由于集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等显箸优点,在各种电源电路中得到了普遍的应用。电路图如3.8: 图3.8 稳压电路图 稳压电路工作原理:7805集成稳压器是常用的固定正输出电压的集成稳压器,输出电压有5V ,7805将调整器,取样放大器等环节集于一体,它的内部含有限流保护、过热保护和过压保护电路,可以防止过载,具有较高的稳定度和可靠性。采用了噪声低、温度漂移小的基准电压源,工作稳定可靠7805属串联型集成稳压器。VD3整流,C2滤波,VD4稳压后提供5V电压。7805集成稳压器为三端器件:1脚为输入端,2脚为接地端,3脚为输出端,使用十分方便。其输出电压是固定不变的,这种固定电压输出,极大的限制了它的应用范围,同时也使它的功能在可应用范围内较为稳定,因此选用到本设计电路中。3.4.5 按键电路 图3.9 按键电路图首先外部中断0出现低电平的时候,就产生一个中断0,可以通过中断0进行处理数据,而且必须外部中断0端子为高电平的时候才能恢复中断。外部按键电路中R1为上拉电阻,起到限流的作用,那么当你按下触发时,单片机引脚得到低电平,定时器0开始工作,松开触发按键,外部中断0一直为低电平,直到再次手动按开触发器时,中断才完成,在此期间CPU一直杂不停的检测,检测到低电平时开始执行中断,检测到高电平时,中断结束,继续执行主程序,电路图如3.9示。3.4.6 外接二极管电路设计采用发光二极管模拟交通信号灯,发光二极管(LED)具有发光亮度高、色泽鲜艳醒目、电光转换效率高、耗电量少、寿命长、响应时间快等优点。其电压在2V左右,电流在10mA左右,为了保证电流、电压的稳定电路中还设有稳压块。因为7805输出的5V电压,二极管分压一般普通发光二极管的正向导通电压为2V,工作电流为10mA,所以电阻的分压为3V,R1=(5V-2V)/10mA=300欧,串联的分压电阻取300即可3.5 电路图设计 图3.10 硬件电路图本设计要采用MCS-51系列单片机AT89S51为中心器件来设计交通灯控制器,来实现能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5s时黄灯闪烁警示(交通灯信号通过P1口输出,P3口为复位锁存器);若有紧急车辆通行则两路口均置红灯,保证车辆畅通!本系统以8051单片机为核心,加上适当的驱动电路,数码管显示,红、黄、绿交通灯显示,在单片机计数器达到规定数值瞬间完成十字路口通行状态的转换(如图3.10所示)。怎么还有空页4.软件设计4.1 编程的思路及方法考虑到所编程序必须有可靠地使用性,并且编程的思路和方法的好坏将直接影响到程序的执行效率,因此此设计采用了如下思路和方法:1) 采用中断技术,并采用边沿触发技术,极大地加强了系统的实时处理能力并节省了系统成本;2) 采用89s51单片机内部的定时系统控制时间来实现工作过程的自动化,从而降低操作费用和简化操作过程,提高系统的自动化程度;3) 采用把外部中断0设定为高优先级,这样可以有效地保证当有紧急情况出现时,系统能够及时处理;4) 采用程序指令的优化来确保系统软件的执行效率。4.2.软件延时原理MCS-51的工作频率为12HZ,机器周期与主频率有关,机器周期是主频的1倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1S的时间,但同时由于单片机的运行速度很快其他执行时间可以忽略不计。4.3 软件主题应为具体设计,另外可以加入按键抖动,延时流程等程序的设计流程,以丰富你的设计.设计4.3.1 主程序框图子程序的调用是主程序的基本任务,一个主程序可以调用多个子程序,对于89S51单片机,主程序是一个无限循环的过程,即是一个反复调用子程序的过程。主程序采用查询方式定时,由R2寄存器确定调用0.5s延时子程序的次数,从而获取交通灯的各种时间。子程序采用定时器1方式1查询定时,定时器定时50S。R3寄存器确定50S循环10次,从而获取0.5S的延时时间,从而满足控制系统设计要求,A道路放行,B道路禁止60S,包含5S警告时间(绿灯闪烁3S,黄灯闪烁2S),B道路放行,A道路禁止30S,包含5S警告时间(绿灯闪烁3S,黄灯闪烁2S),若无完结中断请求,则循环下去。延时2sB黄灯 A红灯延时25sB绿灯闪烁3次A红灯 B绿灯A绿灯 B红灯延时55s绿灯闪3次初始化开始延时2s 图3.10 主程序框图4.3.2 主程序设计ORG 0000H;LJMP MAIN ;转向主程序ORG 0003HLJMP INTTO ;转向紧急车辆终端中断服务程序ORG 0013H主程序为:MAIN:MOV SP,#30H ;设定堆栈指针SETB PX0 ;置外部中断0为高优先级中断MOV TCON,#00H ;置外部中断0,1为电平触发MOV TMOD,#10H ;置定时器1为方式1MOV IE,#85H ;开CPU中断,开外中断0,1中断LOOP:MOV P1,#0F3H ;A道绿灯放行,B道红灯禁止MOV R1,#110 ;置0.5s循环次数(0.5X110=55s)DIP1:ACALL DELAY ;调用0.5s延时子程序DJNZ R1,DIP1 ;55s不到继续循环MOV R1,#06 ;置A绿灯闪烁循环次数WAN1:CPL P1.2 ;A绿灯闪烁ACALL DELAYDJNZ R1,WAN1 ;闪烁次数未到继续循环MOV P1,#0F5H ;A黄灯警告,B红灯禁止MOV R1,#04H ;置0.5s循环次数(1.5X4=2s)YL1:ACALL DELAYDJNZ R1,YL1 ;2s未到继续循环MOV P1,#0DEH ;A红灯,B绿灯MOV R1,#32H ;置0.5s循环次数(0.5X50=25s)DIP2:ACALL DELAYDJNZ R1,DIP2 ;25s未到继续循环MOV P1,#06HWAN2:CPL P1.5 ;B绿灯闪烁ACALL DELAYDJNZ R1,WAN2MOV P1,#02EH ;A红灯,B黄灯MOV R1,#04HYL2:ACALL DELAYDJNZ R1,YL2AJMP LOOP ;循环执行主程序DELAY:MOV R3,#0AH ;0.5s子程序(50msX10=0.5s)MOV TH1,#3CH ;置50ms初值x=3CB0HMOV TL1,#0B0HSETB TR1 ;启动T1LP1:JBC TF1,LP2 ;查寻计数溢出SJMP LP1LP2:MOV TH1,#3CH ;置50ms初值x=3CB0HMOV TL1,#0B0HDJNZ R3,LP1RET4.3.3 中断程序框图中断子程序的主要任务是:当有紧急车辆通过时,中断服务程序也需要保护现场,调用延时子程序和P1口,但是不需要关中断,因为其为高优先级中断,然后执行相应的中断服务,每0.5mS定时器中断发生,程序跳转到中断服务程序INTT0开始执行。中断服务程序一次将定时器中断计数变量减1,当定时器中断中数值变量为0时,0.5S定时时间到,将位变量SECOND_FLAG置1。定时器中断服务通过RETI指令返回,程序将跳转到中断前断点继续执行。待交通信号出现后延时20s,确保紧急车辆通过交叉路口,然后恢复现场,返回继续执行主程序。 保护现场中断响应A红灯,B红灯恢复现场返回CPU检测是否为低电平 图4.2 中断程序框图4.3.4 中断子程序设计INTT0:PUSH P1 ;P1口数据压栈保护PUSH TH1 ;TH1压栈保护PUSH TL1 ;TL1压栈保护MOV P1,#0F6H ;A,B道均为红灯MOV R2,#40 ;置0.5s循环初值(20s)DEY0:ACALL DELAYDJNZ R2,DEY0 ;20s未到继续循环POP TL1 ;弹栈恢复现场POP TH1POP P1RETI ;返回主程序4.3.5 中断绍题目不完整,另外要把中断及定时器介绍穿插在你的程序流程设计过程中,不要单独成节.这样相当于将对应技术融入到你的设计中了.及使用所谓中断,是指在计算机执行程序过程中,当出现某种情况,如发生紧急事件或其他情况时,由服务对象向CPU发出中断请求信号,要求CPU暂时中断当前后程序的执行,而转去执行相应的处理程序,待处理程序完成之后,再返回来继续执行原来被中断的程序。外部中断有两个:和,分电平触发和边沿触发两种形式,由特殊功能计数器TCON中的IT0、IT1控制。TCON既与中断控制有关,又与定时器控制有关。特殊功能寄存器TCON的地址为88H,可位寻址,每一位有相应的位地址,其格式如表4.1示: 表4.1 TCON位置位格式TCON(88H) D7 D6 D5 D4 D3 D2 D1 D0位地址8FH8EH8DH8CH8BH8AH89H88H功能TF1TR1TF0TR0IE1IT1IE0IT0当IT0=0(IT1=1)时,()为低电平触发方式。CPU在每个机器周期对()采样,一旦在P3.2引脚上检测到低电平时,则认为有中断请求,使IE0(IE1)置“1”,向CPU申请中断。本设计采用的是外部中断0,即.4.3.6定时器/计数器的介绍单片机的定时器/计数器模块是由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。定时器0和定时器1实际上是两个16位的加法计数器,分别由两个8位的特殊功能寄存器组成。定时器/计数器T0的输入脉冲周期与机器周期一样,为振荡频率的1/12,本设计的时钟频率为12MHZ,现要采用中断方法去实现0.5S延时,要在定时器0中设置一个时间常数,使其每隔0.5S产生一次中断,CPU响应中断后将R0中计数值减一,令R0=0AH,即实现0.5S延时。若将T0的工作方式设定为工作方式1,则T0的初值为3CB0H,即利用MOV TH0,#3CH和MOV TL0,#0B0H指令赋初值。工作方式寄存器TMOD(1)TMOD的地址为89H,用于设定T0、T1的工作方式。无位地址地址不能位寻址,只能通过字节指令进行设置。复位时,TMOD所有位均为“0”。其格式如表6所示: 表4.2 TMOD位置位格式 TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0 功能GATEC/M1M0GATEC/M1M0定时器T1定时器T0 TMOD的低4位为T0工作方式字段,高4位为T1工作方式字段,其含义完全相同。M0和M1的工作方式选择位对应关系见表4.3: 表4.3 M1、M2工作方式选择位对应关系M0 M1工作方式功能说明0 0方式013位计数器0 1方式116位计数器1 0方式2自动再装入计数器初值,8位计数器1 1方式3定时器T0;分成两个8位计数器。定时器T1,停止计数 (2)C/功能选择位。C/=0为选择定时方式,C/=1为外部事件计数方式。(3)GATE门控制位TR0或TR1启动计数器T0或T1;GATE=1,允许通过外部引脚(P3.2)、TR0或(P3.3)、TR1启动计数器,控制T0或T1的运行。TCON的地址为88H,具有地址位,可位寻址,用来存放定时器的溢出标志TF0、TF1和定时器的启、停控制位TR0、TR1.复位时,TCON的所有位均为“0”。其格式如表4.4S示: 表4.4 TCON位置位格式位地址8FH8EH8DH8CH8BH8AH89H88H功能TF1TR1TF0TR0IE1IT1IE0IT0本设计定时器被选作工作方式1,即M1、M2两位为01时,方式1 和方式0的差别仅在于计数器的位数不同。时钟定时常数的确定定时器/计数器最常见的用法是用于内部定时和外部计数。定时时长与装入TH0、TL0的常数有关,定时常数TC的计算公式为:t=12/f(-TC)本设计中电子钟的中断定时时长是50mS,因为仿真晶振频率选为12MHZ,采用定时器T0工作方式1,方式1为16位计数器,其定时时间为 TC= t*f/12 公式(1)取晶振频率为12MHZ,即线6,f=12MHZ,t=50mS=50000Us,根据公式(1)则定时常数为TC=5000012/12=15536=3CB0H,即TH0=3CH,TL0=0B0H.5.仿真调试单片机系统的硬件调试和软件调试的不能分开的,许多硬件错误是在软件调试过程中被发现和纠正的,但是通常是排除明显的硬件故障后,在和软件结合起来调试,以进一步排除故障。可见硬件的调试是基础,如果硬件的调试不通过软件的设计将无从说起。硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态再动态,利用万能表或逻辑测试仪器,检查电路的各器件以及引脚是否连接正确,是否有短路故障。5.1、硬件调试: 硬件调试是利用DVCC实验与单片机开发系统、基本测试仪器等(电压表、电流表、示波器),来检查设计系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试是在设计系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值。第四步是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。但是由于时间关系,非常遗憾,本设计只是给出了硬件调试方案,并没有实际进行仿真,但是在进行了详细的软件仿真,今后有机会一定要进行本设计硬件仿真。5.2 软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。本设计采用keil软件进行仿真。单片机开发软件在不断发展,Keil软件是目前最流行的开发MCS-51系列单片机的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真器在内完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。本设计采用KeilC51与proteus连接来实现软件仿真,之所以选择KeilC51开发系统,是因为它有生成的目标代码效率高,多数语句生成的汇编代码紧凑,容易理解等优点,在开发大型软件时更能体现高级语言的优势。5.2.1 Keil C51开发系统基本知识(1)系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,汇编语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 (2)Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手指点画《大树》课件
- 油墨厂三辊机转速校准规定
- 四川省自贡市蜀光绿盛实验学校2025-2026学年七年级上学期9月月考英语试题(无答案)
- 学生食品安全培训小结课件
- 2025-2026学年山西省吕梁市汾阳中学高二(上)第一次月考数学试卷(含答案)
- 手工搬运安全培训课件
- 会议管理制度保密
- 连续性认知形成路径-洞察及研究
- 手写安全培训课件
- 注册化工工程师练习题:专业知识测练习题模拟及答案
- Linux操作系统基础任务式教程(慕课版)课件 任务4 使用Linux操作系统中的硬盘
- 自控系统报警管理制度
- 口腔服务5S管理
- 保安投诉管理制度
- 2025年高考江苏卷物理真题(原卷版)
- 【公开课】种子植物+第2课时课件-2024-2025学年人教版生物七年级上册
- 2024年贵州贵州贵安发展集团有限公司招聘笔试真题
- 人教部编版四年级上册语文第1单元(看拼音写词语)
- 房屋在别人名下协议书
- TSGR0005-2011移动式压力容器安全技术监察规程现行
- 智能型大型变压器企业数字化转型与智慧升级战略研究报告
评论
0/150
提交评论