智能交通灯毕业设计--基于单片机的智能交通灯控制.doc_第1页
智能交通灯毕业设计--基于单片机的智能交通灯控制.doc_第2页
智能交通灯毕业设计--基于单片机的智能交通灯控制.doc_第3页
智能交通灯毕业设计--基于单片机的智能交通灯控制.doc_第4页
智能交通灯毕业设计--基于单片机的智能交通灯控制.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1 摘 要 本系统主要介绍了以 89C51 单片机为核心的新交通控制控制系统的设计。这个系 统采用手动控制,定时控制,实时控制。实时控制是交通控制中的一种较新颖且有效 的方法,该方法应用最优控制理论中的控制思想,实时地控制当前绿灯时间,在保证 交通安全的前提下最大限度地提高了交通效率。 系统主要包括软件和硬件两个部分。硬件部分:CPU 主控部分电路,交通灯信号 的输出和驱动电路,车辆检测出入(包括违规车辆检测) ,时钟电路。CPU 是整个交通 灯信号控制机的核心部件,通过它来控制个电路以实现信号机的各种功能。交通信号 输出电路是把主机的交通灯控制信号送驱动器,控制交通灯的状态。车辆检测输入是 将有无车辆和违规车辆的信号送入主机,产生相应的中断处理。时钟电路是为了显示 车辆通行的剩余时间。软件部分主要是协助硬件完成各项功能。 关键词: 89C51,定时控制,实时控制,遥控, 基于单片机的智能交通灯控制 Intelligent Traffic Light Control ABSTRACT The system has introduced that new traffic centering on 89C51 monolithic machine controls systematic design mainly. This system uses the hand control, timed control, wireless remote control and real-time control. The real-time control is in the transportation control one kind more novel also an effective method, in this method application optimum control theory control thought, the tendency, real-time controls the current green light time, maximum limit enhanced the transportation efficiency in under the guarantee traffic safety premise. The system mainly includes software and the hardware two parts. Hardware partial: The CPU host controls the partial electric circuits, the traffic light signal output and the actuation electric circuit, the vehicles examination difference (including contrary vehicles examination), keyboard and display circuit, clock electric circuit, communication circuit, electronic police system. CPU is the entire traffic light signal control machine core part, controls an electric circuit through it to realize semaphore each kind of function. The traffic signal output circuit is delivers the main engine traffic light control signal the driver, controls the traffic light the condition. Whether there is the vehicles examination input sends in the vehicles and the contrary vehicles signal the main engine, has the corresponding interrupt processing. The clock electric circuit is for demonstrate the vehicles general surplus time. The communication is the main engine and the central supervisory system, the street inter section foundation stand and the signal actuation partial communications. The keyboard interposes the control mode and each parameters mainly. Software are partial mainly is assists the hardware to complete each function. KEY WORDS: 89C51, Timed control, Real-time control, Remote control, Emergency case 1 1 概述 1.1 城市交通解决的主要途径 针对城市交通拥挤,有人提出修建新的城市道路或是修建新的立交桥。可是,过 不了多长的时间,道路又恢复到原来的拥挤状态。一般来说修建新的道路不会改变原 来的拥挤,诱发的交通量将很快占据新增的道路设施,这部分潜在的交通量是由于以 前受道路供给短缺的制约而未能得到实现的。 由于修建道路并不能从根本上解决城市交通拥挤的问题,人们开始寻求新的解决 途径。随着人们对控制理论的认识和利用的不断深入以及计算机技术的发展,利用控 制理论和计算机技术来解决交通问题显得越来越重要了。各国相继开发了不同的交通 控制系统,为缓解交通问题做出了很大的贡献。随着人工智能这一新兴的科学的兴起, 人们开始将其引入到城市交通控制中来。经过大量的探索和研究实践,人们相信智能 控制是解决城市交通问题的强有力的工具。 1.2 交通系统的主要特点 (1)采用实时检测控制系统,可以更加灵活的根据道路车辆的流量来调节红、绿灯 的延迟时间。 (2)具有手动控制、定时控制和实时控制,可以远距离无线遥控。 (3)采用串行通信,节省电缆,有利于降低成本和安装的难度。 (4)采用标准的接口,有利于模块化设计。 (5)当有紧急车辆通过是,可通过微波遥控路口的红灯以让紧急车辆通过。 1.3 交通控制方案设计 1.3.1 系统设计目的 系统设计目标包括:改善控制区域的交通秩序;增加现有道路设施的通行能力; 减少交通事故;减少交叉口停车次数和提高交叉口行驶速度(从而减少废气和噪音污 染) ;创造更整洁文明的现代化交通环境。 1.3.2 交通灯控制方案选择 作为交通信号灯控制系统的微型以有多种选择。因而实现的方案有多种。 方案一:标准数字编程逻辑控制控制器可器件、可编程控制器 PLC、嵌入式控制器 ARM 等控制器作为主控制器。这些控制器要么在控制上要求专业知识较高,要么价格相 对较高。一方面给系统设计的调试带来一定困难,另一方面则增加了生产成本。 方案二:单片机控制。价格相对较低,控制设计技术相当成熟的 AT89C51 单片机作 为系统的主控制器。该型号单片机具有简单实用,高可靠性和性价比高等优点。而且 这种单片机已经在国内外的各个领域中得到了很好的运用,可参考资料多,使得设计 人员在设计过程中遇到技术困难时,可以找到相关的参考方案来辅助解决。 1.3.3 方案的确定 有鉴于此,通过综合考虑后,本设计最终选择了单片机控制。 基于单片机的智能交通灯控制 本设计系统由主机控制系统和从机控制系统两部分组成。其中,主机控制系统可 以实现控制通行时间的倒计时显示、直走、左拐、绿灯、红灯、黄灯以及行人道通行 信号灯等状态。时间显示使用两位一体 LED 数码管显示器,信号灯则采用发光二极管, 在时间和信号灯的指示下,指挥机动车辆和人群有序地通过交叉路口,实现道路通行 顺畅。另外,从机控制系统负责检测道路的实时车流量,进而反馈到主机控制系统, 主机控制系统根据收到的信息做出是否增加通行时间的调整控制。 本系统设计运行的交通规则如图 1.1 所示。具体控制是: (1)南北车道 B 车道指示直走,同时指示左拐,A 车道红灯亮,东西车道亮红灯。 (2)南北车道 A、B 同时指示直走。 (3)南北 B 车道红灯亮,A 车道指示直走,同时指示左拐。 (4)南北车道红灯亮,东西 C 车道指示直走,同时指示左拐,D 车道红灯亮。 (5)东西 C、D 车道同时指示直走。 (6)东西 C 车道红灯亮,D 车道同时指示直走、左拐。 如此类推循环运行。此外,当一车道正在通行时,且此时从机控制系统检测到该 车道 50 米处还有车辆停滞,则向主机控制系统发出增加通行时间的信息,实时调整通 行时间。这样可以减少车辆堵塞,优化道路交通状况。 图 1.1 交通运行图 1.4 交通信号控制硬件设备简介 交通信号灯的硬件设备。其构成可分为以下五部分: (1) 信号灯:就是悬挂在道路上空或设置在路侧灯柱上的发光装置,内装彩色信 号灯; (2) 车辆检测器:车辆通过检测器时,由感应原理可以检测交通参数的设施,是 感应式信号控制系统的必要设施; (3)无线遥控装置:启闭信号灯,控制紧急车辆通过时的红灯; (4)单片机系统:整个信号灯控制的核心; (5)附属设施:包括装置信号控制机的底座与基础,埋设或悬挂传输线路的管道等。 1 1.5 交通信号控制原理 交通信号控制原理是按照一定的控制程序,在交叉路口的每个方向上通过红、黄、 绿三色灯循环显示,指挥交通流,在时间上实施隔离。交通规则规定:红灯停止 通行,绿灯放行,黄灯清尾,即允许已过停车线的车辆继续通行,通过交叉 路口。信号相位方案是指交通信号灯轮流给某些方向的车辆或行人分配交通权的一种 顺序安排。我们把每一种控制(即对各进口道不同方向所显示的不同色灯的组合)称 为一个信号相位。而一个相位又对应多个步伐,每一步伐对应该时刻不同灯色的状态。 路口的交通灯总在进行着一系列的相变以控制车辆的运动,一系列的相就组成了 周期,如附表所示。交通灯优化控制问题,就是通过改变这些相的持续时间以及相邻 路口交通灯的相的周期,使目标达到最优。 1.6 交通信号灯的控制方法 1.6.1 定时控制 交叉口信号控制机按事先设置的配时方案运行, 称为固定周期控制。一天只用一 个配时方案的称为单段式定时控制; 一天按不同时段的交通量采用几个配时方案的称 为多段式定时控制。 1.6.2 感应控制 感应控制是在交叉口的进口道上设置车辆检测器, 信号灯配时方案可随检测器检 测到的车流信息而随时改变的一种配时控制方式。感应控制包括半感应控制和全感应 控制。前者是指只在交叉口部分进口道上设置检测器的感应控制; 后者则是指在交叉口 全部进口道上设置检测器的感应控制。 实时感应实时控制 其工作原理是: 任一相开始绿灯, 感应信号控制机内设一个初始绿灯时间Gmin。 当绿灯开放一段时间到Gs时, 开始检测后边有无后续车辆到达。若有, 则增加一个单位 绿灯延长时间G;若无车辆则继续检测, 当达到最大极限绿灯时间Gmax时, 即使后边有 来车, 也不再增加绿灯时间。实际绿灯时间G大于等于初始时间Gmin,而小于极限延长 时间Gmax。 1.6.3红绿灯模糊控制 一般的感应式控制是检测车辆数据, 通过分析做出下一时刻的配时方案, 即不是实 时控制当前的交通信号, 而是要经过一定的延时。这样可能会造成“空等待”现象, 且 需要编制较复杂的计算程序。因此我们设计了一种红绿灯模糊控制方案, 它能根据交叉 口两个方向上车辆的动态状况, 自动判断红绿灯的时间间隔, 以保证最大车流量, 减少 道口交通堵塞, 实现自动红绿灯的最佳控制。为了采集绿灯方向的车流量数据, 在十字 路口的四个方向各安置两个压力传感器, 在“斑马线”近端的为近端传感器, 在距其 50100米处为远端传感器。绿灯期间, 由近端传感器记录通过道口的车辆数量。将红 基于单片机的智能交通灯控制 绿交通灯自动系统每一方向的绿灯时间分成两部分: 其一为固定的10秒, 作为路口状态 参数采集时间; 其二为根据当前状态, 由模糊逻辑决策的延时时间。最大延时时间是随 道口交通情况而变化的, 假设为20秒, 结果每一方向绿灯间隔时间为1030秒。 2 控制系统硬件设计 2.1 系统的组成 本系统采用单片机来控制交通信号灯,具有编程灵活、电路简单、工作稳定和功 1 能多等特点,其硬件框图如图 4-1 所示。从各路车辆检测器采集过来的车流量经输入 板,送入主板中的 CPU 进行分析处理、控制运算,并转化成控制策略,实现对路口交 通信号的控制。在主板中我选用 89C51 单片机作为主处理器。 交通信号控制机的硬件电路主要有主板、交通信号输出板、车辆检测输入板、键 盘及显示板。主板是整个交通信号控制机的硬件核心,它通过对各个电路板的操控, 来实现交通信号控制机的各种功能;交通信号输出板是将主板发送过来的交通信号灯 控制策略进行分析处理,将当前控制信息发送到交通灯信号驱动器,进而控制相应的 交通信号灯;车辆检测输入板是将各路车辆检测器检测出的车流量信息依次送入主板 中,使主板 CPU 能够制定出现实路口交通的控制;如图 2.1 图 2.1 系统组成框图 2.2 该系统主要硬件 2.2.1 芯片的性能介绍 (1) 89C51 基本介绍如下: 内部程序存储器(FLASH)4K 字节 外部程序存储器(ROM)64K 字节 内部数据存储器(RAM)256 字节 外部数据存储器(RAM)64K 字节 P0口:(P0.0P0.7)是一个8 位漏极开路双向输入输出端口,当访问外部数据时, 它是地址总线(低8 位)和数据总线复用。外部不扩展而单片应用时,则作一般双向 I/O 口用。P0 口每一个引脚可以推动8 个LSTTL 负载。 P2口:(P2.0P2.7)口是具有内部提升电路的双向I/O端口(准双向并行I/O 口), 当访问外部程序存储器时,它是高8 位地址。外部不扩展而单片应用时,则作一般双 向I/O 口用。每一个引脚可以推动4 个LSTL 负载。 P1口:(P1.0P1.7)口是具有内部提升电路的双向I/O端口(准双向并行I/O 口), 其输出可以推动4 个LSTTL 负载。仅供用户作为输入输出用的端口。 P3口:(P3.0P3.7)口是具有内部提升电路的双向I/O端口(准双向并行I/O 口), 它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器 基于单片机的智能交通灯控制 内容的读取或写入控制等功能。其特殊功能引脚分配如下: P3.0 RXD 串行通信输入 P3.1 TXD 串行通信输出 P3.2 INT0 外部中断0 输入,低电平有效 P3.3 INT1 外部中断1 输入,低电平有效 P3.4 T0 计数器0 外部事件计数输入端 P3.5 T1 计数器1 外部事件计数输入端 P3.6 WR 外部随机存储器的写选通,低电平有效 P3.7 RD 外部随机存储器的读选通,低电平有效 VCC:AT89C51 电源正极输入,接+5V 电压 GND:电源接地端 XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个 放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时 钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST:AT89C51 的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引 脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51 便能完成系统复位 的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。 ALE/PROG:ALE 是英文“ADDRESS LATCH ENABLE“的缩写,表示允许地址锁存允许 信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8 位锁存器 (如74LS373), 将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚 的输出频率是系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当 问外部存储器期间,将以1/12 振荡频率输出。 EA/VPP:该引脚为低电平时,则读取外部的程序代码 (存于外部EPROM 中)来执行 程序。因此在8031 中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果 是使用AT89C51或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访 问内部程序存储器,当程序指针PC 值超过片内程序存储器地址(如8051/8751/89C51 的PC 超过0FFFH)时,将自动转向外部程序存储器继续运行。此外,在将程序代码烧录 至8751 内部EPROM、89C51 内部FALSH 时,可以利用此引脚来输入提供编程电压 (8751 为2lV、AT89C51 为12V、8051 是由生产厂方一次性加工好)。 PSEN:此为“Program Store Enable“的缩写。访问外部程序存储器选通信号,平 有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN 信号。在执 行片内程序存储器指令时,不产生PSEN 信号,在访问外部数据时,亦不产生PSEN 信 号。 2.3 系统的组成框图 针对道路交通拥挤,交叉路口经常出现拥堵的情况。利用单片机控制技术提出 1 了软件和硬件设计方案及两点改进措施: (1) 根据各道路路口车流量的大小自动调节通行时间。 (2) 考虑特殊车辆通行情况,设计紧急切换开关。 由于 AT89S51 单片机自单带有 2 计数器,6 个中断源,能满足系统的设计要求。 用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本 文采用单片机设计交通灯,系统构图如图 2.2 所示: 图 2.2 系统原理框图 2.4 驱动电路的设计 由于十字路口 SN(南北)和 WE(东西)方向路口各有相同的四盏灯,只需要四个功率 开关,两个方向只用八个功率开关,用 P1 口作为输出口,输出数字量来达到控制功率 开关,从而来控制交通灯的目的。选用光电隔离和双向大功率可控硅作为功率开关。 驱动器选 74LS244,该驱动器为八同相三态单相驱动器。同时再利用三八译码器扩展 P1 口,用来控制摄像机的开启和关闭。 表 2.1 逻辑功能表 2G 1G 功 能 00 1A1-4 1Y1-4 2A1-4 2Y1-4 011A1-4 三态 2A1-4 2Y1-4 10 1A1-4 1Y1-4 2A1-4 三态 111A1-4 2A1-4 三态 P1 口的八个输出,通过 74LS244 驱动器后,使发光二极管发光,通过光电藕合器 件 MOC3041 驱动。它可以将交流高压和单片机低压系统进行电气隔离,提高装置的抗 干扰能力;该器件是双向可控硅的配套控制产品,输入端驱动电流为 15mA,所以单片 机的输出需经 74LS244 驱动。MOC3041 的输出端是带有过零触发控制器的硅光敏双向可 控硅,它直接接入交流 220V 的工作电流,能触发大功率的双向可控硅 TRIAC 器件的通 断;光电藕合器中的过零检测器可以保证在工作电压为零时触发双向可控硅 TRIAC。图 中 R、C 为吸收电路,可用于防止感性负载时,与电流不同步的过电压;MY 是双向稳压 管,可防止交流电路中出现的雷电和操作过电压。驱动部分电路图 2.3。 基于单片机的智能交通灯控制 1234 A B C D 4321 D C B A Title Num berRevisionSize A4 Date:6-Jun-2005 Sheet of File:C:Docum ents and SettingsAll UsersDocum ents259758HUDesign.ddbDrawn By: 1 2 3 4 5 6 15 14 13 12 11 10 9 7 用于存放南北十位数 B_BIT EQU 21H ;用于存放南北十位数 C_BIT EQU 22H ;用于存放东西十位数 D_BIT EQU 23H ; 用于存放东西位数 TEMP1 EQU 24H ;用于存放第一二南北状态要显示的时间 TEMP2 EQU 25H ;用于存放第一二东西状态要显示的时间 TEMP3 EQU 26H ;用于存放第三第四南北状态要显示的时间 TEMP4 EQU 27H;用于存放第三第四南北状态要显示的时间 LJMP MAIN ORG 0003H ;外部中断 0 入口 LJMP INT0 ;跳转到外部 0 中断 ORG 0013H ;外部中断 1 入口 LJMP INT1 ;跳转到外部 1 中断 INT0: MOV A,P1 ;外部 0 中断 PUSH ACC MOV A,P2 ;中断保护 PUSH ACC MOV P1,#0FFH ;清除先前状态 MOV P2,#0FFH CLR P1.0 CLR P1.4 ;南北通行,东西禁止通行 CLR P1.6 CLR P2.3 JNB P3.2 ,$ ;判断是否还在中断状态 POP ACC MOV P2,A ;返回中断前状态 POP ACC MOV P1,ACC RETI ;中断返回 INT1:MOV A,P1 ;外部 1 中断 PUSH ACC ;中断保护 MOV A,P2 PUSH ACC 1 MOV P1,#0FFH ;清除先前状态 MOV P2,#0FFH CLR P1.2 CLR P2.1 CLR P1.3 ;东西通行,南北禁止通行 CLR P1.5 JNB P3.3 ,$ ;判断是否还在中断状态 POP ACC MOV P2,A ;返回中断前状态 POP ACC MOV P1,A RETI ;中断返回 MAIN: ORG 0100H ;初始情况 MOV P1,#0FFH MOV P2,#0FFH ;灭所有灯 MOV TMOD,#55H ;计数方式方式 1 MOV IE,#85H ;开中断 MOV TEMP1,#20 ; MOV TEMP2,#25 MOV TEMP3,#25 MOV TEMP4,#20 STAR: MOV P1,#0FFH MOV P2,#0FFH ;灭所有灯 MOV A,24H ;将显示时间送 A CJNE A,#20,T40T ;判断时间,选初始值 T20T: ;南北通行要显示的时间为 20 的计数器初始值 CLR TF0 ;清 TF0 CLR TF1 ;清 TF1 MOV TH1 ,#0FFH ;送 20 秒时的初始值 MOV TL1 ,#0FCH ;在些设计 20 秒 6 辆为多车 MOV TH0 ,#0FFH MOV TL0 ,#0FCH LJMP TEMP20 ;跳到 20 秒 T40T: ;南北通行要显示的时间为 40 的计数器初始值 基于单片机的智能交通灯控制 CLR TF0 ;清 TF0 CLR TF1 ;清 TF1 MOV TH1,#0FFH ;送 40 秒时的初始值 MOV TL1 ,#0F8H ;在些设计 40 秒 8 辆为多车 MOV TH0 ,#0FFH MOV TL0 ,#0F8H LJMP TEMP40 ;跳到 40 秒 TEMP20: ;TEMP1=20 情况 SETB TR0 ;开始计数 SETB TR1 CLR P1.2 CLR P2.1 ;南北通行,东西禁止通行 CLR P1.3 CLR P1.5 MOV TEMP1,#20 ;南北要显示的时间, MOV TEMP2,#25 ;东西要显示的时间 STLOP: ACALL DISPLAY1 ;调用显示 DEC TEMP1 ;时间够一秒显示时间减 1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT ;若显示时间不为 0 保持现在状态 LJMP STAR2 ;若显示时间为 0 跳到第二状态 NEXT: LJMP STLOP STAR2: ;状态 1 SETB P1.2 CLR P1.1 ;南北黄灯,东西禁止通行 SETB P1.3 CLR P1.4 MOV TEMP1,#05 ;南北要显示的时间, MOV TEMP2,#05 ;东西要显示的时间, STLOP2: ACALL DISPLAY1 ;调用显示 DEC TEMP1 ;时间够一秒显示时间减 1 DEC TEMP2 MOV A,TEMP1 1 CJNE A,#0,NEXT2 ;若显示时间不为 0 保持现在状态 JB TF1 ,T40 ;判断南北是否多车 JB TF0 ,T40 ;判断北南是否多车 MOV TEMP1,#20 ;少车下次显示时间为 20 秒 LJMP STAR3 ;跳到状态 3 T40: MOV TEMP1,#40 ; 多车下次显示时间为 40 秒 LJMP STAR3 ;若显示时间为 0 跳到第三状态 NEXT2:LJMP STLOP2 TEMP40:;TEM=40 程序 SETB TR0 ; 开始计数 SETB TR1 CLR P1.2 CLR P2.1 ;南北通行,东西禁止通行 CLR P1.3 CLR P1.5 MOV TEMP1,#40 ;南北要显示的时间, MOV TEMP2,#45 ;东西要显示的时间 STLOP11: ACALL DISPLAY1 ;调用显示 DEC TEMP1 ;时间够一秒显示时间减 1 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT11 ;若显示时间不为 0 保持现在状态 LJMP STAR22 ;若显示时间为 0 跳到第二状态 NEXT11: LJMP STLOP11 STAR22: ;状态 1 SETB P1.2 CLR P1.1 ;南北黄灯,东西禁止通行 SETB P1.3 CLR P1.4 MOV TEMP1,#05 ;南北要显示的时间, MOV TEMP2,#05 ;东西要显示的时间, STLOP22: ACALL DISPLAY1 ;调用显示 DEC TEMP1 ;时间够一秒显示时间减 1 基于单片机的智能交通灯控制 DEC TEMP2 MOV A,TEMP1 CJNE A,#0,NEXT22 ;若显示时间不为 0 保持现在状态 JB TF1 ,T401 ; 判断是否多车 JB TF0 ,T401 MOV TEMP1,#20 ;少车下次显示时间为 20 秒 LJMP STAR3 T401:MOV TEMP1,#40 ;多车下次显示时间为 40 秒 LJMP STAR3 ;若显示时间为 0 跳到第三状态 NEXT22:LJMP STLOP22 STAR3: MOV A,26H CJNE A,#25,T40T1 ;判断时间,选初始值 T20T1: ;南北通行要显示的时间为 20 的计数器初始值 CLR TF0 ; 清溢出位 CLR TF1 MOV TH1 ,#0FFH ; 给初值 MOV TL1 ,#0FCH MOV TH0 ,#0FFH MOV TL0 ,#0FCH LJMP TEMP320 T40T1: ;南北通行要显示的时间为 40 的计数器初始值 CLR TF0 ; CLR TF1 MOV TH1,#0FFH ;给初值 MOV TL1 ,#0F8H MOV TH0 ,#0FFH MOV TL0 ,#0F8H LJMP TEMP340 TEMP320:;状态三 SETB TR1 ;南北停止计数 SETB TR0 ;东西开始计数 SETB P1.1 ;东西通行,南北禁止通行 CLR P1.0 SETB P1.1 CLR P1.0 1 SETB P1.5 CLR P1.6 SETB P2.1 CLR P2.3 MOV TEMP3,#25 ;南北要显示的时间, MOV TEMP4,#20 ;东西要显示的时间, STLOP33: ACALL DISPLAY ;调用显示 DEC TEMP3 ;时间够一秒显示时间减 1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT33 ;若显示时间不为 0 保持现在状态 LJMP STAR34 ;若显示时间为 0 跳到第四状态 NEXT33:LJMP STLOP33 STAR34: ;状态四 SETB P2.3 CLR P2.2 SETB P1.6 ;东西黄灯,南北禁止通行 CLR P1.5 MOV TEMP3,#05 ;南北要显示的时间, MOV TEMP4,#05 ;东西要显示的时间, STLOP34: ACALL DISPLAY ;调用显示 DEC TEMP3 ;时间够一秒显示时间减 1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT34 ;若显示时间不为 0 保持现在状态 JB TF1 ,T402 JB TF0 ,T402 MOV TEMP3,#25 LJMP STAR T402: MOV TEMP3,#45 LJMP STAR NEXT34: LJMP STLOP34 TEMP340 : 基于单片机的智能交通灯控制 SETB TR1 ;南北停止计数 SETB TR0 ;东西开始计数 SETB P1.1 ;东西通行,南北禁止通行 CLR P1.0 SETB P1.1 CLR P1.0 SETB P1.5 CLR P1.6 SETB P2.1 CLR P2.3 MOV TEMP3,#45 ;南北要显示的时间, MOV TEMP4,#40 ;东西要显示的时间, STLOP43: ACALL DISPLAY ;调用显示 DEC TEMP3 ;时间够一秒显示时间减 1 DEC TEMP4 MOV A,TEMP4 CJNE A,#0,NEXT43 ;若显示时间不为 0 保持现在状态 LJMP STAR44 ;若显示时间为 0 跳到第四状态 NEXT43:LJMP STLOP43 STAR44: ;状态四 SETB P2.3 CLR P2.2 SETB P1.6 ;东西黄灯,南北禁止通行 CLR P1.5 MOV TEMP3,#05 ;南北要显示的时间, MOV TEMP4,#05 ;东西要显示的时间, STLOP44: ACALL DISPLAY ;调用显示 DEC TEMP3 ;时间够一秒显示时间减 1 DEC TEMP4 MOV A,TEMP3 CJNE A,#0,NEXT44 ;若显示时间不为 0 保持现在状态 JB TF1 ,T403 JB TF0 ,T403 MOV TEMP3,#25 1 LJMP STAR T403: MOV TEMP3,#45 LJMP STAR NEXT44: LJMP STLOP44 ;显示 DISPLAY1: MOV A,TEMP1 ;将南北要显示的数存放到 A MOV B,#10 ;B=10 DIV AB ;A 除以 B 商存 A,余数 B MOV B_BIT,A ; 将 A 放到 20H MOV A_BIT,B ;将 B 放到 21H MOV A,TEMP2 ;将东西要显示的数存放到 A MOV B,#10 ;B=10 DIV AB ;A 除以 B 商存 A,余数 B MOV C_BIT,A ;将 A 放到 22H MOV D_BIT,B ;将 B 放到 23H MOV DPTR ,#NUMT ; MOV R0,#2 ;R0=2 DPL11: MOV R1,#250 ;R1=250 DPLOP1: MOV A,A_BIT ;将南北要显示的 10 位数送 A MOVC A,A+DPTR ;查表 MOV P0,A ;显示南北 10 位数 CLR P2.7 ACALL D1MS;延时 1MS SETB P2.7 ;灭南北 10 位数 MOV A,B_BIT ;将南北要显示的个位数送 A MOVC A,A+DPTR ;查表 MOV P0,A ;显示南北个位数 CLR P2.6 ACALL D1MS ;延时 1MS SETB P2.6 ;灭南北个位数 MOV A,C_BIT ;将东西要显示的 10 位数送 A MOVC A,A+DPTR ;查表 MOV P0,A ;显示东西 10 位数 基于单片机的智能交通灯控制 CLR P2.5 ACALL D1MS ;延时 1MS SETB P2.5 ;灭东西 10 位数 MOV A,D_BIT ;将东西要显示的个位数送 A MOVC A,A+DPTR ;查表 MOV P0,A ;显示东西东西位数 CLR P2.4 ACALL D1MS ;延时 1MS SETB P2.4 ;灭东西个位数 DJNZ R1,DPLOP ;循环扫描 DJNZ R0,DPL1 RET ;等待 1 秒返回;显示 DISPLAY: MOV A,TEMP3 ;将南北要显示的数存放到 A MOV B,#10 ;B=10 DIV AB ;A 除以 B 商存 A,余数 B MOV B_BIT,A ; 将 A 放到 20

温馨提示

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

评论

0/150

提交评论