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

下载本文档

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

文档简介

1、1 简介1.1 研究背景近年来,随着微控制技术的日益完善和快速发展,单片机的应用不断深入。它的应用必然会导致系统控制技术发生根本性的变化,同时也将带动传统控制检测技术的更新换代。已广泛应用于工业控制、数据采集、智能仪表、机电一体化、家用电器等领域,大大提高了这些领域的技术水平和自动化控制。在单片机应用系统的实际检测和自动控制中,往往以单片机作为核心部件,仅有单片机的知识是不够的,还应根据具体硬件结构的软硬件结合。随着社会经济的快速发展和人民生活水平的提高,繁忙的道路交通越来越受到人们的关注,因此设计合适的红绿灯线路与我们的生活息息相关。车辆穿梭在路口,行人熙熙攘攘,车道、人行道,井然有序。它依

2、靠红绿灯的自动指挥系统来实现这个命令。红绿灯是城市交通有序、安全、快捷运行的重要保障,保障红绿灯正常运行已成为保障交通有序、安全、快捷运行的关键。为此,以MCS-51系列单片机8051为中心器件,设计了红绿灯控制电路、红绿灯显示模块、时间调整模块、晶振电路、复位电路和控制电路,实现了红绿灯的P3口。 8051芯片根据实际流量。设置红绿黄灯点亮时间,三色灯交替点亮,中断紧急情况下的处理功能,实现交通畅通,人车流和谐有序。1.2 发展现状如今,交通信号灯安装在各个路口,已成为交通车辆分流最常见、最有效的手段。但这项技术自 19 世纪以来就已经存在。道路 HYPERLINK %20%20%20%20

3、:/baike.baidu%20%20%20%20/view/597759.htm t _blank 交通信号灯是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/309306.htm t _blank 交通安全产品的一个类别。它们是加强道路交通管理、减少交通事故、提高道路使用效率、改善交通条件的重要工具。中国的红绿灯一般都设在十字路口,红绿黄灯在显眼位置。加上一个倒计时显示计时器来控制骑行。对于正常情况下的安全驾驶,车辆分流还是可以起到一定作用的,但是根据实际驾驶过程,还是存在以下不足:( 1 ) 。两车道车辆轮流同时放行。在路口,往

4、往一条车道为主路,车辆较多,放行时间要长一些;另一条车道是次干道,车辆较少,放行时间应该更短。(2) 两条主干道的红绿时间不能让应急车辆先行,视实际路况而定。国外很多研究机构都致力于研究红绿灯控制的更换。比如太阳能红绿灯,太阳能红绿灯依靠能源来保证路灯的正常使用。它使用的能源是太阳能,既省电又环保,安装时不需要铺设电缆。信号灯带电池功能,可保证正常工作10-30天。主要适用于新建路口和车流量大、急需新的交通信号指挥的路口,可满足交警应对紧急停电、停电等突发事件的需要。还配备了多种控制系统,如可编程逻辑控制器(PLC)控制系统、基于DEA技术的交通信号定时控制系统、微机原理控制系统和单片机控制系

5、统等。微机的重要分支。它是1970年代中期开发的面向控制的大规模集成电路块。具有功能强、体积小、可靠性高、价格低的特点。也广泛应用于控制领域。被广泛使用的。1.3 研究意义信号灯的出现,实现了有效的交通管制,对疏通车流、提高道路通行能力、减少交通事故等起到了明显的作用。中国的红绿灯一般设置在十字路口,红、绿、黄指示灯在显眼位置。红灯是禁止信号,黄灯是警告信号,绿灯是通过信号。加上一个倒计时显示计时器来控制骑行。为正常情况下的安全驾驶,车辆分流仍可发挥作用。特别是在经济和科技高度发达的今天,安全问题和发展问题不容忽视。红绿灯是交通安全产品的一个类别。用于加强道路交通管理,减少交通事故,提高道路使

6、用效率。 ,改善交通状况的重要工具。常见于十字路口、T字路口等交叉路口,由道路交通信号控制器控制,引导车辆和行人安全有序通过。在城市交通中,红绿灯已成为畅通道路的必备工具。交通信号灯用于道路交叉口。通过指示车辆和行人前进或停止,可以尽可能减少人与车辆之间的互动。干扰,从而提高路口的通行能力,保证路口的通畅和安全。1.4 设计方法和研究途径本设计主要通过单片机的应用实现对路口红绿灯的智能管理,用于控制过往车辆的正常、安全、有序运行。针对8051单片机和红绿灯在实际控制中的特点,提出了一种单片机模拟和控制红绿灯并显示时间的方法;涉及的所有技术问题。 8051单片机红绿灯控制系统由8051单片机、键

7、盘、外围电路、红绿灯显示等模块组成;除了基本的红绿灯功能外,系统还具备应急车辆强行通过等交通异常情况等相关功能。本设计采用8051单片机作为主控制器,8051的P1口接指示灯,串行输入、并行输出接数码管。使用P3端口作为按键输入端口,通过查询命令判断是否有来自外部的请求信号。当 P3 端口为低电平时,通过跳转命令执行子程序。正常运行时,主路释放60S(5S用于警告),然后次路释放30S(5S用于警告);这一次又一次地发生。当有应急车辆经过时,按下控制键K0,使主、次道路为红灯,保证应急车辆通行,实现设计的人性化和实用性。1.5 本次设计的主要工作为实现对交通道路的管理,力求交通管理的先进性和科

8、学性,本设计分析应用单片机实现智能红绿灯控制控制系统。根据系统的软硬件设计方法,实验证明该系统实现简单、经济。 , 可有效分流交通,提高交通路口的通行能力。本设计主要做了以下工作:1、分析红绿灯的研究意义和红绿灯的研究现状,确定系统交通控制的总体设计,包括通常需要实现自动控制等应有功能的红绿灯控制系统。手动切换信号灯优先考虑特殊车辆的功能。2、本文还介绍了AT89S51单片机在硬件电路上的结构特点和重要引脚功能。同时详细介绍和分析了智能交通信号灯控制系统设计中各个电路和部件的结构和功能。3.软件系统设计。本次设计我使用单片机汇编语言编写,对定时器、中断和延时原理做了详细的讲解,软件已经整体写好

9、了。并介绍了PROTEUS嵌入式系统仿真开发平台的使用方法,并使用PROTEUS软件对红绿灯控制系统进行仿真。2. 整体设计2.1 总体规划本设计改变了红绿灯的规律,根据设计要求,设计了一套完整的红绿灯专用控制系统,该系统由红绿灯单片机、按钮电路、驱动电路、复位电路、稳压电源等组成。单片机是集成IC芯片,只需要根据实际设计要求进行选择即可。其他部分需要根据应用要求和性能指标进行设计。该系统的特点是具有硬件时间调整和应急响应功能,并利用仿真软件模拟红绿灯的控制情况。2.1.1示意图G1G1G2R2Y2G1Y1R1Y1R1G2Y2R2BA图 2.1 总体规划示意图本设计分为主路A和次路B。R1、Y

10、1、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 状态流程

11、图初始状态0是从东到西的红光和从北到南的红光。然后转1号州,南北绿灯通车,东西向红灯。过一段时间,切换到状态2,南北绿灯闪6下变黄,延时5秒,东西灯依旧红。然后转向状态3,东西绿灯通车,南北红灯。一段时间后,切换到状态4,东西绿灯闪烁3次变黄,延时5秒,南北灯依然是红色。最后循环到状态1。状态流程图如图4所示初始化,设置路口的四个方向都是红灯,然后是南北方向的绿灯,东西方向的红灯,延迟60s;绿灯闪烁4次后,南北黄灯亮,延时5s,随后南北红灯亮,东西绿灯亮,依次循环延迟 30s。主程序流程图如图 2.2 所示。有应急车辆时,东、西、南、北四个方向的红灯应亮,以便应急车辆通过。从技术上讲,外部中

12、断 0 可用于向 CPU 发送脉冲以申请中断。 CPU在检测到低电平时不断检测并开始执行中断,一直检测到检测到高电平中断结束,继续执行主程序。2.2 流程(1)一般情况下,A、B车道(A、B车道交叉口形成交叉口,A为主路,B为支路)轮流放行,A车道放行1分钟(其中 5 秒用于警告),车道 B 被释放。 30 秒(其中 5 秒用于警告)。( 2 )当有紧急车辆通过时(通过钥匙开关K0模拟),A、B车道均为红灯。系统设计:交通控制系统需要控制AB两车道的通行,以8051单片机为核心芯片,通过控制三色LED灯的亮灭来控制每条车道的通行,用K0键模拟紧急车辆通过时的情况。根据设计要求,制定总体设计思路

13、如下:(1)正常情况下运行程序,利用0.5s延时子程序的重复调用,实现各种定时时间;(2)当有紧急车辆经过时,使用外部中断0执行中断服务程序,并将中断设置为高优先级中断。系统总体规划:先接通电源,再按启动键,系统可按控制要求工作,并可利用AT89S51主控芯片的部分定时器按设计要求自动启动和停止。当紧急信号出现时,可自动中断原工作以应对紧急情况。返回后可再次投入工作,完全实现自动化控制,提高系统的可操作性。交通管理项目示范:东西、南北主干道在一个路口相交,每条主干道都有一组红、黄、绿灯,引导车辆和行人安全通过。红灯禁止通行,绿灯允许通行。黄灯亮提醒人们注意红绿灯即将切换的状态,黄灯亮的时间是东

14、西、南北主干道的公共停车时间.假设东西路的车流量比南北路大,指示灯亮,方案如表2.1所示:表 2.1 指示灯亮暗方案照明时间55s3s2s25s3s2s一条车道绿灯绿灯闪烁黄灯红灯亮红灯亮黄灯B道红灯亮红灯亮黄灯绿灯绿灯闪烁黄灯3.硬件设计3.1 实施计划本系统以AT89S51单片机为主控芯片,使用12个发光二极管模拟交通信号灯,通过AT89S51单片机的P1口控制这12个发光二极管。由于单片机的负载能力有限,P1端口与发光二极管之间存在间隙。驱动器作为LED驱动和信号逻辑转换芯片,12V锂电池电源连接稳压电路,保证系统工作电压恒定。 P1端口输出低电平时,信号灯亮,输出高电平时,信号灯熄灭。

15、正常情况下,车流量大时,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车道,禁止B车道F3H11110011A 道路警告 B 道路禁止F5H11110101车道 A 禁止超车道 BDEH11011110

16、道路 A 禁止 道路 B 警告EEH11101110AB车道被禁止F6H11110110本设计具有应急优先控制功能,主要是方便交通管理的应急处理。因此,在红绿灯正常控制编制依据上,增加了允许紧急优先处理的功能。当发生消防、急救等情况时,东、西、南、北四个方向的红灯会亮20s进行紧急处理。紧急情况处理完毕后,交通信号灯可以恢复到之前的工作状态。这里采用中断技术,采用单刀双掷开关K0进行模拟,程序中将外部中断0设置为高优先级中断,使系统能够更可靠地接收紧急信号。 K0 是模拟过程中的手动开关。3.2 硬件结构及相关部件的选择硬件结构说明:红绿灯控制器设计以MCS-51系列单片机AT89S51为中心

17、器件,通过P1口实现根据实际交通流量设置红绿灯亮灯时间的功能。 8051芯片;红绿灯循环点亮并倒计时。剩余5s时黄灯闪烁警告(红绿灯信号通过P1口输出,P3口为复位锁存器)。该系统以8051单片机为核心,加上相应的驱动电路,数码管显示,红黄绿交通灯显示,当单片机计数器达到规定值时,完成交通状态的转换。路口。本系统的特点是具有硬件时间调整和应急响应功能,使用仿真软件模拟红绿灯控制效果好,如图3.1所示:电源电路电源电路复位电路晶振电路按键电路8051单片机驱动电路驱动电路A车道LED显示电路B车道LED显示电路图 3.1 硬件结构图本设计所需的元器件包括单片机芯片、稳压电源块、驱动器、发光二极管

18、、按键、电源、晶振。下面介绍一下芯片选型和电路设计思路:8051芯片单片机是一种集成电路芯片,采用超大规模集成电路技术,集成了中央处理器CPU随机存储器RAM、只读存储器ROM、各种I/O端口和中断系统,具有数据处理能力的定时器/定时器。和其他功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路复用器、A/D转换器等电路)集成在一个小而完整的硅芯片上的计算机系统中。 MCS-51系列单片机是国内应用最广泛的八位单片机之一。经过20多年的推广和发展,51系列MCU已形成规模化、功能齐全、资源丰富的产品群。随着嵌入式系统和片上系统等概念的引入和普遍应用,MCS-51系列单片机的发展进入了一个新的阶

19、段。近年来,基于51系列单片机的嵌入式实时操作系统的出现和推广,预示着51系列及其衍生产品将在未来很长一段时间内占据嵌入式系统产品的低端市场。近年来,随着单片机技术的不断发展,单片机的功能也越来越多。 AT89s51是89c在51编制依据上更有优势的芯片。与8051相比, AT51的性能89C已经非常优越了。 AT89S51在原有基础上增强了时钟等多项功能。可改写1000次)内存采用原ROM(一次性写入),即增加了在线更新程序的功能。 ISP在线编程功能,该功能的好处是改写单片机内存的程序不需要将芯片从工作环境中剥离。它是一个强大且易于使用的功能;此外,89s51自带集成看门狗定时器、 A/D

20、、D/A转换、PWM,体现了单片机从MCU到SOC系统的全过程。不再需要89C像51那样连接外部看门狗定时器单元电路。但它也有它的缺点。 AT89S51的功能比AT 89C51多,但驱动能力差,抗干扰性能差。因此,应该增加一个额外的电路来克服电路设计中的这个缺点。AT89S51 微控制器是一款具有 4KB 闪存的低功耗微控制器,用于在线课程编程。兼容通用51系列单片机的指令系统和引脚。80C片上闪存可以在线重新编程或使用非易失性存储器进行编程。他将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、灵活且高性价比的微控制器。图 3.2 89S51 芯片引脚图引脚功能介绍RST:复

21、位输入。当振荡器运行时,两个机器周期内 RST 引脚上的高电平将使微控制器复位。ALE/ :访问外部存储器时,地址锁存使能是一个输出脉冲,用于锁存地址的低8位字节。在 Flash 中编程时,它也可以用作编程脉冲输出( )。一般来说,ALE 以晶体频率的 1/6 输出,可用于外部时钟或定时目的。但还要注意,每当访问外部数据存储器时,都会跳过一个 ALE 脉冲。 : 当程序存储器使能时,读取外部程序存储器的选通信号。当 AT 89C51 从外部程序存储器执行指令时,每个机器周期有效两次,除了访问外部数据存储器时,会跳过两个信号。 /VPP:允许外部访问。为了使微控制器能够有效地将指令从外部数据存储

22、器从 0000H 传输到 FFFH 单元,必须将其连接到 GND。主要的是,如果加密位 1 被编程,EA 终端将在复位时自动部分锁存。执行部分编程指令时,应连接到 VCC 端。XTAL1:振荡反相放大器的输入端和该部分的时钟电路。 XTAL2:振荡器反相放大器的输出。 Vcc电源电压输入端。 GND电源地。AT89S51 MCU部看门狗定时器介绍89S51看门狗定时器一个14位计数器和一个看门狗复位WDTRST,地址为0A6H。单片机复位后WDT的默认状态是关闭,必须通过程序激活才能开始工作。因此,单片机必须有可靠的上电复位,否则看门狗将无法工作。由于89S51的看门狗定时器只是一个14位的计

23、数器,如果要避免89S51在程序正常运行时产生复位信号,则必须在16383个时钟周期内至少喂狗一次。而这个时间是固定的,无法更改。如果单片机的晶振频率为12MHZ,则需要每隔16S喂一次狗。由于 WDT 作用于单片机的晶振,当晶振停止时,看门狗也失效。3.3 端口分配端口 0:(1) 用作I/O口时,为准双向口,需外接上拉电阻。特点是:当某个引脚从原来的输出变为输入时,用户应先将“”写入锁存器,以1”避免读取该引脚上的容量时出错。复位时,端口锁存器自动设置为“” 1”,即,输出驱动器(VT2)被切断,(2)用作地址/数据总线端口时,是真正的双向端口,不需要做任何工作。P1 端口:它是一个标准的

24、准双向端口,只能用作通用 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/OP3 端口:P3口为双功能口,分为第一功能和第二功能。当用作第一个函数时,第二个函数输

25、出线W被硬件自动设置为“1”。此时P3口作为通用I/O口,与P1口类似,是准双向口。复位时,端口锁存器自动设置为“1”,即关闭输出驱动器,将P3端口用作输入端口。作为第二功能使用时, P3口还具有89CAT 51的各种特殊功能,如表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等功能部件处

26、于一定的初始状态,并从这个状态开始工作。复位后,PC=0000H 使微控制器从第一个单元获取指令。在实际应用中,无论单片机何时首次接通电源,都必须在断电或故障后复位。因此,需要弄清楚MCS-51系列MCU的复位条件,复位后复位电路的状态,MCU的复位条件是RST上持续两个机器周期(即24个振荡周期)的高电平/UPD 或 RST 端,如果时钟频率为 12MHZ 且无机器周期为 1us,只要高电平时间超过 2us 即可复位。当MCS-51系列单片机的复位端RST为高电平超过两个机器周期时,单片机进行复位操作,完成CPU的初始化处理。复位操作是整个应用系统运行前必须进行的一个环节。但如果RST持续为

27、高电平,则单片机处于循环复位状态,无法执行用户的控制程序。单片机在启动时需要进行复位,使CPU及系统各部件处于一定的初始状态,从初始状态开始工作。 89系列单片机的复位信号从RST引脚输入到芯片的施密特触发器。当系统处于正常工作状态,且振荡器稳定后,若RST管脚为高电平并保持2个机器周期(24个振荡周期)以上,CPU可以响应并复位系统。单片机系统的复位方式有:手动/自动按键复位和上电复位。单片机采用上点自动复位电路。如下图所示,在上电的瞬间,由于电容两端的电压不能突变,因此RST端的电位与Vcc相同;然后C通过R充电,充电电流逐渐减小,RST端的电位也逐渐减小,只要RST处于高电平两个机器周期

28、以上,即可恢复正常。常用的上电复位电路如图3.3所示:图 3.3 上电自动复位电路3.4.2时钟电路时钟电路是单片机的心脏,控制着计算机的工作节奏。 CPU通过复杂的时序电路完成不同的指令功能。 89S51芯片有一个高增益反相放大器组成一个振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2。利用片内反相器和电阻组成的振荡电路,将晶振和微调电容跨接在XTAL1和XTAL2引脚上,从而形成稳定的自激。构成单片机时钟电路的振荡器,可以稳定频率,对振荡频率有微调作用。每个单片机系统中都有一个晶振,整个过程称为晶振。晶振在单片机系统中起着非常重要的作用。它结合单片机的电路,产生单片机所需的时钟频

29、率。单片机所有指令的执行成立。在此基础上,晶振提供的时钟频率越高,单片机的运行速度就越快。晶振采用能将电能和机械能转换成谐振状态的晶体,提供稳定、精确的单频振荡。晶振的作用是为系统提供基本时钟信号。在本设计中,采用晶体振荡器的频率。电容器C1和C2的主要作用是帮助振荡器开始振动。其值的大小对振荡器的频率有微调作用。典型值为 C1=C230pF。图 3.4 部分时钟法电路图3.4.3驱动电路在单片机与LED显示屏的接口电路中,如果LED数码管正常发光,显示驱动芯片也很重要。在动态显示模式下编写软件时,应选择合适的延迟时间。如果时间不合适,LED会一直闪烁,可以通过适当调整延迟常数来解决问题。选择

30、合适的驱动芯片,保证足够的显示亮度。驱动电路如图 3.5 所示。用12个发光二极管模拟交通灯,用AT89S51单片机的P1口控制这12个发光二极管。由于单片机负载能力有限,在P1端口和发光二极管之间使用74LS07作为驱动。图 3.5 驱动电路图 3.6 74LS07 引脚图图 3.7 部分逻辑符号图3.4.4电源考虑到单片机需要严格稳定的5V电压,本设计采用12V锂电池输出电压经7805稳压块变压稳压后得到稳定的5V直流电压,用于接口电路和LED信号灯。集成稳压器是指将不稳定的直流电压转换成稳定的直流电压的集成电路。由于集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等明

31、显优点,已广泛应用于各种电源电路中。电路图如图3.8所示:图 3.8 稳压器电路图稳压电路的工作原理:7805一体化稳压器是一种常用的一体化稳压器,具有固定的正输出电压。输出电压为5V。 7805集成了稳压器、采样放大器等环节。其部分包括限流保护、过热保护和过压保护。该电路可防止过载,具有较高的稳定性和可靠性。采用低噪声、温漂小的基准电压源,工作稳定可靠。 7805是串联集成稳压器。 VD3整流,C2滤波,VD4稳压后提供5V。 7805集成稳压器为三端器件:1脚为输入端,2脚为地端,3脚为输出端,使用非常方便。它的输出电压是固定的,这种固定的电压输出极大地限制了它的应用范围,也使得它的功能在

32、适用范围内更加稳定,所以在本设计电路中选用了它。3.4.5关键电路图 3.9 按钮电路图首先,当外部中断0出现低电平时,产生中断0,可以通过中断0处理数据,只有在外部中断0端为高电平时才能恢复中断。在外部按键电路中,R1为上拉电阻,起限流作用,当按下触发时, MCU管脚变为低电平,定时器0开始工作,松开触发按键,外部中断 0 始终为低电平,直到再次手动按下触发才完成中断。在此期间,CPU一直在不断地检测。当检测到低电平时,启动中断。当检测到高电平时,中断结束,继续执行主程序。电路图如 3.9 所示。3.4.6外部二极管电路该设计使用发光二极管来模拟交通信号灯。发光二极管(LED)具有发光亮度高

33、、色彩鲜艳夺目、电光转换效率高、功耗低、寿命长、响应时间快等优点。电压2V左右,电流10mA左右。为了保证电流和电压的稳定,电路中还有稳压块。由于7805输出5V电压,二极管分压器一般为2V为普通发光二极管的正向导通电压,工作电流为10mA,所以电阻分压器为3V,R1=( 5 V- 2 V)/ 10 mA = 300欧姆,串联分压电阻可以是300欧姆3.5 电路图设计图 3.10 硬件电路图本设计以MCS-51系列单片机AT89S51为中心器件设计红绿灯控制器,实现根据P1路实际交通流量设置红绿灯时间的功能。 8051芯片的端口; 5s黄灯闪烁警告(红绿灯信号通过P1口输出,P3口为复位锁存器

34、)。本系统以8051单片机为核心,加上相应的驱动电路,数码管显示,红黄绿红绿灯显示,当单片机计数器到达时完成路口交通状态的转换。指定的值(如图 3.10 所示)。节目)。为什么还有空白页为什么还有空白页4. 软件设计4.1 编程的思想和方法考虑到所编写的程序必须可靠使用,而编程思想和方法的好坏将直接影响程序的执行效率,本设计采用以下思想和方法:采用中断技术和边沿触发技术,大大增强了系统的实时处理能力,节约了系统成本;采用89S51单片机定时系统控制时间,实现工作过程的自动化,从而降低运行成本,简化操作过程,提高系统的自动化程度;外部中断0设置为高优先级,可以有效保证发生紧急情况时,系统能够及时

35、处理;通过程序指令的优化来保证系统软件的执行效率。4.2.软件延迟原理MCS-51的工作频率为12HZ,机器周期与主频有关,机器周期是主频的1倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道每条指令的周期数,这样我们就可以通过执行的指令数来确定1S的时间,但同时由于单片机的运行速度快,其他的执行时间可以忽略不计。4.3 软件主题它应该是一个特定的设计。此外,您还可以添加key jitter、delay process等程序的设计流程,丰富您的设计。设计它应该是一个特定的设计。此外,您还可以添加key jitter、delay process等程序的设计流程,丰富您的设

36、计。4.3.1主要框图子程序的调用是主程序的基本任务。一个主程序可以调用多个子程序。对于89S51单片机来说,主程序是一个无限循环的过程,即反复调用子程序的过程。主程序采用查询方式定时,调用0.5s延时子程序的次数由R2寄存器决定,从而获得各种红绿灯时间。该子程序采用定时器1方式1查询定时,定时器定时为50S。 R3寄存器确定50S周期10次,从而得到0.5S的延迟时间,从而满足控制系统的设计要求,A路放行,B路禁止60S,包括5S预警时间(绿灯闪烁3S,黄灯闪烁2S),B路释放,A路禁止30S,包括5S警告时间(绿灯闪烁3S,黄灯闪烁2S),如果没有完成中断请求,循环继续。延时延时2sB黄灯

37、 A红灯延时25sB绿灯闪烁3次A红灯 B绿灯A绿灯 B红灯延时55s绿灯闪3次初始化开始延时2s图 3.10 主程序框图4.3.2主程序设计组织机构 0000H;LJMP MAIN ;转到主程序组织机构 0003HLJMP INTTO;转向紧急车辆终端中断服务程序组织机构 0013H主要程序是:主:MOV SP,#30H;设置堆栈指针SETB PX0;设置外部中断 0 为高优先级中断MOV TCON, #00H ;设置外部中断0,1为电平触发移动 TMOD, #10H ;将定时器 1 设置为模式 1移动IE,#85H;打开CPU中断,打开外部中断0、1中断循环:MOV P1,# 0F3H ;

38、 A车道绿灯放行,B车道红灯禁止移动 R1, #110 ;设置 0.5s 循环时间 (0.5X110=55s)DIP1:呼叫延迟;调用0.5s延时子程序DJNZ R1,DIP1; 55s内继续循环移动 R1,#06 ;设置A绿灯闪烁循环次数WAN1:CPL P1.2;绿灯闪烁呼叫延迟DJNZ R1,WAN1 ;未达到闪烁次数,循环继续MOV P1,# 0F5H ; A黄灯警告,B红灯禁止MOV R1,#04H ;设置 0.5s 循环时间 (1.5X4=2s)YL1:呼叫延迟DJNZ R1, YL1; 2s还没有继续循环MOV P1, #0DEH ; A红灯,B绿灯移动 R1,#32H ;设置

39、0.5s 循环时间 (0.5X50=25s)DIP2:呼叫延迟DJNZ R1,DIP2; 25s 还没有继续循环MOV P1,#06HWAN2:CPL P1.5; B 绿灯闪烁呼叫延迟DJNZ R1,WAN2移动 P1, #02EH ; A红灯,B黄灯MOV R1,#04HYL2:呼叫延迟DJNZ R1, YL2AJMP 循环;循环主程序延迟:MOV R3,#0AH; 0.5s子程序(50msX10=0.5s)移动 TH1, #3CH ;设置 50ms 初始值 x=3CB0HMOV TL1,#0B0HSETB TR1;开始 T1LP1:C TF1,LP2;搜索计数溢出SJMP LP1LP2:

40、移动 TH1, #3CH ;设置 50ms 初始值 x=3CB0HMOV TL1,#0B0HDJNZ R3,LP1RET4.3.3中断框图中断子程序的主要任务是:当有紧急车辆经过时,中断服务程序也需要保护现场,调用延迟子程序和P1端口,但不需要关闭中断,因为它是一个高电平-优先中断,然后执行相应的中断服务,每发生0.5mS定时器中断,程序跳转到中断服务程序INTT0开始执行。中断服务程序一次将定时器中断计数变量减 1。当定时器中断中的value变量为0时,0.5S定时时间到,位变量SECOND_FLAG置1。定时器中断服务通过RETI指令返回,程序会跳转到中断前的断点继续执行。交通信号出现后延

41、迟20s,确保应急车辆通过路口,然后恢复场景,返回主程序。保护现场保护现场中断响应A红灯,B红灯恢复现场返回CPU检测是否为低电平图 4.2 中断框图4.3.4中断子程序设计INTT0:推P1; P1端口数据推送堆栈保护推 TH1; TH1 推栈保护推 TL1; TL1 推栈保护MOV P1,# 0F6H; A、B通道均为红灯移动 R2,#40 ;设置0.5s周期初始值(20s)DEY0:呼叫延迟DJNZ R2,DEY0 ; 20 秒前继续循环流行音乐 TL1;弹出栈恢复场景流行音乐 TH1POP P1视网膜病变;返回主程序4.3.5中断介绍主题不完整,中断和定时器的介绍应该穿插在你的程序流程

42、设计过程中,而不是单独的部分。这相当于将相应的技术集成到您的设计中。和使用主题不完整,中断和定时器的介绍应该穿插在你的程序流程设计过程中,而不是单独的部分。这相当于将相应的技术集成到您的设计中。所谓中断,是指计算机在执行程序的过程中,当出现某种情况,比如紧急情况或其他情况时,服务对象向CPU发出中断请求信号,请求CPU暂时中断当前程序的执行,转为执行相应的加工程序,加工程序完成后,返回继续执行原来中断的程序。外部中断有两种,电平触发和边沿触发,分别由特殊功能计数器TCON 中的IT0 和IT1 控制。 TCON 与中断控制和定时器控制有关。特殊功能寄存器 TCON 的地址为 88H,可按位寻址

43、。每个位都有对应的位地址,其格式如表 4.1 所示:表 4.1 TCON 位位格式TCON(88H) D7 D6 D5 D4 D3 D2 D1 D0位地址8FH8EH8DH8通道8BH8AH89H88H功能TF1TR1TF0TR0IE1IT1IE0IT0IT0=0(IT1=1)时, ( )为低电平触发方式。 CPU在每个机器周期中采样( )。一旦检测到P3.2引脚为低电平,则认为有中断请求,将IE0(IE1)置“1”向CPU申请中断。本设计使用外部中断 0,即.4.3.6定时器/计数器简介单片机的定时器/计数器模块由定时器0、定时器1、定时器模式寄存器TMOD和定时器控制寄存器TCON组成。

44、Timer 0 和 Timer 1 实际上是两个 16 位的加法计数器,分别由两个 8 位的特殊功能寄存器组成。定时器/计数器 T0 的输入脉冲周期与机器周期相同,为振荡频率的 1/12。本设计的时钟频率为 12MHZ。现在要使用中断方法实现0.5S延迟,在定时器0中设置一个定时器。时间常数使其每0.5S产生一次中断。 CPU响应中断后,R0中的计数值减1,R0=0AH,即实现0.5S延时。如果 T0 的工作模式设置为工作模式 1,则 T0 的初始值为 3CB0H,即由 MOV TH0,#3CH 和 MOV TL0,#0B0H 指令分配初始值。工作模式寄存器 TMOD(1) TMOD的地址为8

45、9H,用于设置T0和T1的工作模式。无位地址 地址不能按位寻址,只能通过字节指令设置。复位时,TMOD 的所有位都是“ ” 0”。其格式如表 6 表 4.2 TMOD 位位格式TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0功能门C/M1M0门C/M1M0定时器 T1定时器 T0TMOD的低4位为T0工作模式字段,高4位为T1工作模式字段,含义完全相同。M0和M1的工作模式选择位对应关系如表4.3所示:表4.3 M1. M2 M1 0 M工作方式功能说明0 0方式 013 位计数器0 1方式116 位计数器1 0方式2自动重载计数器初值,8位计数器1 1方式3定时器 T0;分

46、为两个 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 位位格式位地址8FH8EH8DH8通道8BH8AH89H88H功能TF1TR1TF

47、0TR0IE1IT1IE0IT0在本设计中,定时器选择为工作模式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=50000 Us ,根据公式(1)那么时序常数为TC

48、= 50000 12/12=15536=3CB0H,即TH0=3CH,TL0=0B0H。5.仿真调试单片机系统的硬件调试和软件调试不能分开。很多硬件错误是在软件调试过程中发现并纠正的,但通常是在排除了明显的硬件故障后,再结合软件进行调试,进一步排除故障。可见硬件调试是基础。如果硬件调试没有通过软件设计,就无法启动。硬件的调试主要是调整电路的各种参数以满足设计要求。首先排除硬件电路故障,包括设计错误和工艺故障。大体原理是用万用表或逻辑测试仪检查电路各元件是否与引脚正确连接,是否有短路故障。5.1。硬件调试:硬件调试是利用DVCC实验和单片机开发系统、基本测试仪器等(电压表、电流表、示波器)来检查

49、设计系统硬件中存在的故障。硬件调试可以分为两个步骤:静态调试和动态调试。静态调试是设计系统不工作时的硬件测试。第 1 步:目视检查。检查各种外部元件或电路是否有断点。第二步是用万用表测试。先用万用表目测检查有问题的连接点,再检查各条电源线与地线是否短路。第三步是开机检测。给电路板加电并检查设备的所有插座或电源端子是否符合要求值。第四步,上网查。因为只有配合单片机开发系统才能完成用户系统的调试。动态调试是一种硬件检查,用于在用户系统工作时发现并排除用户系统硬件中存在的设备故障和设备连接逻辑错误。动态调试的一般方法是从近到远,从分到近。从划分到关闭是指首先将用户系统的硬件电路按照逻辑功能划分为若干

50、块。调试电路时,将所有与组件无关的设备从用户系统中移除,从而将故障限制在本地电路上。优越的。当每块电路无故障时,将每块电路逐块添加到系统中,并调试每块电路的功能和电路之间可能的互连。从拆分到关闭的调试就完成了。从近到远,就是按照与单片机的逻辑距离对信号流经的各个器件进行分层,然后逐层调试。调试时仍采用剔除无关组件的方法,通过逐层调试定位故障组件。但是由于时间关系,很遗憾本设计只提供了硬件调试方案,没有进行实际仿真。但是,在进行了详细的软件仿真之后,以后有机会就必须进行这种设计的硬件仿真。5.2 软件调试:软件调试是通过对程序的组装、链接和执行,找出程序中存在的语法错误和逻辑错误,并排除和纠正的

51、过程。本设计使用keil软件进行仿真。 MCU开发软件在不断开发。 Keil 软件是目前最流行的开发 MCS-51 系列 MCU 的软件。它提供了完整的开发解决方案,包括 C 编译器、宏程序集、链接器、库管理和强大的仿真器。 ,它通过集成开发环境 (uVision) 将这些部分组合在一起。本设计使用KeilC51与proteus连接实现软件仿真。之所以选择KeilC51开发系统,是因为它具有生成目标代码效率高、大多数语句生成的汇编代码紧凑、易于理解等优点,更适合大型软件的开发。体现高级语言的优势。5.2.1Keil C51开发系统基础知识(一)系统概述Keil C51是美国Keil Softw

52、are公司生产的51系列兼容单片机C语言软件开发系统。汇编语言在功能、结构、可读性和可维护性等方面优势明显,易于学习和使用。Keil C51软件提供丰富的库函数和强大的集成开发调试工具,具有全Windows界面。还有一点很重要,只要看一下编译后生成的汇编代码,就可以发现Keil C51生成的目标代码非常高效,大部分语句生成的汇编代码紧凑易懂。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分的功能和使用。( 2 ) Keil C51单片机软件开发系统整体结构C51工具包的整体结构如图(1)所示,其中uVision和Ishell分别是C51 for Windows

53、和Dos的集成开发环境(IDE),可以完成编辑、编译、链接的整个开发过程、调试和仿真。 .开发人员可以使用 IDE 本身或其他编辑器编辑 C 或汇编源文件。然后,编译 C51 和 A51 编译器以生成目标文件 (.OBJ)。目标文件可以通过LIB51创建生成库文件,也可以通过L51连接定位与库文件连接生成绝对目标文件(.ABS)。 ABS文件由OH51转换为标准Hex文件,可供调试器dScope51或tScope51进行源码级调试,也可用于仿真器直接调试目标板,也可直接写入程序存储器如 EPROM。使用独立 Keil 模拟器时的注意事项仿真器标配11.0592MHz晶振,但用户可以在仿真器的晶

54、振插孔中更换其他频率的晶振。本设计采用 12MHZ 晶振。仿真器上的复位按钮只复位仿真器芯片,而不是目标系统。仿真芯片的31脚(/EA)已经接高电平,所以只能使用片内ROM进行仿真,不能使用片外ROM;但仿真器外部引脚中的31 引脚没有连接到仿真芯片的31 引脚。 ,所以仿真器仍然可以插入到扩展了外部ROM的目标系统中(其CPU的/EA引脚接低电平)。软件调试的具体步骤在proteus软件中绘制电路图,在Keil C51中编译设计程序并生成可执行文件;连接proteus和Keil C51,调用程序进行仿真。仿真各步骤的显示状态和仿真结果如下图组所示:允许,禁止 B道5.1 A图 5.2 B 车

55、道保持红灯,A 车道黄灯警告禁止,允许B车道5.3 A禁止车道保持,车道 B 警告5.4 图 5.5 按下紧急按钮 K0,A 和 B 都禁止六、实验结论与总结经验6.1 设计结论交通信号灯控制在交通领域起着非常重要的作用。本设计完成了基于单片机的红绿灯控制系统的设计与仿真,包括交通方案设计、系统硬件设计、软件编程和仿真调试。在设计过程中,要完成的主要工作有:确定具体的红绿灯系统交通方案,明确南北主车道B方向和东西B副车道B方向车辆的行驶状态和时间分配,实现两边红灯的实现通过紧急车辆时的道路 A 和 B。系统硬件设计以ATMEL公司的AT89S51单片机为核心。如果有紧急车辆经过,手动按下紧急电

56、路按钮,CPU会不断检测到,如果输入信号为低则转中断程序,即在两个路口都设置红灯,直到紧急车辆安全通过,向微控制器输入高电平,转为正常交通秩序。系统软件采用汇编语言编写,在开发过程中尽量与Keil软件对接proteus进行仿真,使得编写和调试非常简单易行。6.2 总结经验本系统以单片机AT89 S 51芯片为核心部件,通过AT89 S 51芯片实现根据实际交通流量设置红绿灯亮灯时间的功能。这一次,我们在软件上花了很多时间。我们在网上搜索资料,去图书馆,尽可能多地了解红绿灯。在硬件仿真方面,由于时间关系,无法对实物进行仿真,但给出了完整的假设和具体步骤。通过这个毕业设计:了以前的序号不能用章号,可以用带括号的数字全面系统的锻炼,使原有的理论知识付诸具体实践。以前的序号不能用章号,可以用带括号的数字在单片机的基本原理、单片机应用系统的开发过程、掌握常用的编程和设计思维技巧(尤其是汇编语言编辑)方面,我都进步了一步。在软硬件仿真方面,在一定程度上了解了Keil C51单片机开发环境的功能特点和使用方法,并进行了仿真。通过老师对设计思维的指导,我制定了一个总点-通用的设计讨论描述结构,把我的设计展示的更加清晰完整。参考1

温馨提示

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

评论

0/150

提交评论