单片机原理与接口技术课程设计-交通灯控制器.doc_第1页
单片机原理与接口技术课程设计-交通灯控制器.doc_第2页
单片机原理与接口技术课程设计-交通灯控制器.doc_第3页
单片机原理与接口技术课程设计-交通灯控制器.doc_第4页
单片机原理与接口技术课程设计-交通灯控制器.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

太原理工大学现代科技学院 单片机原理与接口技术 课程设计 设计名称 交通灯控制器 专业班级 信息13-1班 学 号 姓 名 指导教师 太原理工大学现代科技学院专业班级信息13-1班学生姓名00课程名称“单片机原理与应用技术”课程设计设计名称交通灯控制器设计周数1.5周指导教师设计任务主要设计参数设计一个以单片机为核心的交通灯控制器设计参数要求:(1) 系统包括人行道直行、左转、右转以及基本交通灯功能。交叉道路上的车辆交替通行时间为25S,黄灯亮5S且每秒闪亮1次。(2)系统除基本交通灯功能外,还具备倒计时、时间设置、紧迫环境处置以及根据具体环境手动节制等功能。设计内容设计要求(1) 通过查阅手册和有关文献资料,掌握独立分析和解决实际问题的能力。(2) 通过实际电路方案的设计分析比较、设计计算、元件选取、仿真、安装调试等环节,掌握实用电路的分析方法和工程设计方法。(3) 熟悉常用仪器设备的使用方法,掌握实验调试方法,提高动手能力。主要参考资 料1 单片机原理与接口技术,李晓林等,电子工业出版社,2015。学生提交归档文件课程设计说明书1份课程设计任务书注:1.课程设计完成后,学生提交的归档文件应按照:封面任务书说明书图纸的顺序进行装订上交(大张图纸不必装订) 2.可根据实际内容需要续表,但应保持原格式不变。指导教师签名: 日期:2016.06.30 目 录交通灯控制器1一、前言11.1选题背景11.2设计意义11.3设计内容1二、 设计目的和要求22.1课程设计目的22.2课程设计要求2三、设计硬件电路及其相关介绍23.1AT89C5123.1.1AT89C51简介23.1.2AT89C51管脚功能介绍33.1.3AT89C51复位电路43.1.4时钟电路43.2 74LS4753.2.1 74LS47管脚图和真值表53.2.2引脚功能 63.2.3实用电路连接73.3 74LS13973.3.1 74LS139管脚73.3.2 74LS139真值表83.4设计中用到的其他器件83.4.1RESPACK-783.4.2反向器740583.4.3TRAFFIC LIGHTS83.4.4 7SEG-MPX2-CA83.4.5 BUTTON9四、设计总体方案94.1课程设计总体思路94.1.1路口状态设置104.1.2实现主程序状态功能的流程图104.1.3主程序汇编114.2调显示时间程序144.2.1设计思想144.2.2设计重要部分流程图154.2.3调显示汇编程序164.3各类情况处置程序174.3.1各类情况介绍174.3.2调配各模式流程图184.2.3调配各模式程序194.2.4少车模式H1194.2.5手动指挥模式H2204.2.6单南北通行模式H3204.2.7单南北向左转模式H4204.2.8单东西通行模式H5204.2.9单东西向左转模式H6204.2.10智能调控模式204.2.11智能调控模式演示204.2.12内部延时程序214.2.13显示调用程序21五、 protues硬件连线图22六、 protues仿真236.1基本交通灯显示功能236.1.1上电启动-南北向通行236.1.2黄灯闪烁236.1.3南北向左转通行236.1.5东西向左转通行24 6.2调时显示功能246.2.1调时基本操作246.2.2调时246.2.3调时后交通灯显示256.3各类处置情况266.3.1紧急处置模式266.3.2夜间模式266.3.3交警指挥模式266.3.4单独通行模式276.3.5智能控制模式-南北向1级276.3.6智能控制模式-东西向2级28七、 设计心得体会29附录1:汇编源程序30附录2:整体设计图40专业班级 信息13-1班 学号 2013100000 姓名 00 成绩 交通灯控制器一、前言1.1选题背景19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德哈特设计、制造。那时的交通灯只有红、绿两色,后来经改良后,再增加一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。中国最早的马路红绿灯,是于1928年出现在上海的英租界。道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具。适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行。近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。1.2设计意义社会发展至今,全球人类将近有73亿人,中国人有13亿之多,在当今的城市,一块较小的地方容纳了大量的人、大量的汽车,那么如何有效的管理人们和汽车的出行方式才能合理的利用资源呢?在我国各大城市的交叉路口,随处可见交通信号灯,也就是说交通信号灯的使用量非常大,而且如何用一块尽可能的小的芯片来实现更全、更多的功能,具有很大的现实意义。总之,交通网络是城市的动脉,象征着一个城市的工业文明水平。交通关系着人们对于财产,安全和时间相关的利益。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。1.3设计内容基于整个交通控制系统的发展情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的单片机芯片AT89C51为控制中心,设计出一套十字路口的交通控制系统,以指挥十字路口的实时通行状态。 本设计的工作: 确定系统交通控制的总体设计,其中包括交通信号灯的亮灭基本控制,左转、右转、直行、人行道控制、交通灯倒计时,交通灯手动调节和设置时间、交通灯紧迫环境处置惩罚(包括110、119、120通过、凌晨时间黄灯闪烁等)、分时段控制调整交通信号灯的点亮时间以及具体环境手动节制等功能。2、 设计目的和要求2.1课程设计目的课程设计时单片机原理与接口技术课程集中实践环节的主要内容之一,可以使学生达到对单片机系统组成、编程、调试和绘图设计等基本技能训练。学生通过选作的课题,可以进一步熟悉单片机应用系统的开发过程,软、硬件设计的工作内容、方法、步骤。培养学生理论联系实际,提高分析问题、解决问题的能力和实际动手能力,以及正确应用单片机解决工业控制、工业检测等领域具体问题的能力。2.2课程设计要求(1)通过查阅手册和有关文献资料,掌握独立分析和解决实际问题的能力。(2)通过实际电路方案的设计分析比较、设计计算、元件选取、仿真、安装调试等环节,掌握实用电路的分析方法和工程设计方法。(3)熟悉常用仪器设备的使用方法,掌握实验调试方法,提高动手能力。三、设计硬件电路及其相关介绍3.1AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。3.1.1AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。3.1.2AT89C51管脚功能介绍VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能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(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.3AT89C51复位电路复位实单片机的初始化操作。单片机系统再上电启动运行时,都需要先复位。其作用是使CPU和系统中其他部件都处于一个初始的状态,并从这个状态开始工作,因而,复位实一个很重要的操作方式。但单片机本身是不能自动复位的,必须配合相应的外部复位电路才能实现。单片机的复位方式有上电自动复位和上电加按键手动复位两种。 图 1 图 2(1) 上电自动复位上电自动复位实利用电容器的充电实现。AT89C51单片机的上电自动复位电路如图1所示,在时钟电路工作后,再RST端连续给出两个机器周期的高电平就可以完成复位操作。图中给出了复位电路参数。(2)上电加按键手动复位AT89C51单片机的上电加手动按键复位电路如图2所示,当复位按键按下后,复位端通过51的小电阻与+5V电源接通,电容迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V的电源通过2K电阻对22UF电容重新充电,RST引脚端出现复位正脉冲。其持续时间取决于RC电路的时间常数。本设计中采用这种复位方式(protues的ISIS仿真中若复位无效,降低电阻试试)。3.1.4时钟电路单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU再执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作,单片机内部电路应该再唯一的时钟信号下严格地按时序进行工作。AT89C51单片机内部有一个高增益反向放大器,用于构成震荡器,但是要形成时钟脉冲,外部还需要附加电路。AT89C51的时序有以下两种。 图 3图 4(1)内部时钟方式利用芯片内部的震荡器,然后再引脚XTAL1和XTAL2两端跨接晶体震荡器,就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶体振荡器时,C4和C5的值选择再30PF左右,C4和C5对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.212MHZ之间选择,为减小寄生电容,更好的保证震荡器稳定、可靠的工作,震荡器和电容应尽可能安装得与单片机引脚XTAL1和XTAL2靠近,单片机内部时钟电路如图3所示(本次设计中采用内部时钟方式)。(2) 外部时钟方式此方式是将外部震荡脉冲接入XTAL1或XTAL2.HMOS和CHMOS单片机接入方式不同,单片机HMOS型外部时钟电路如图4所示。3.2 74LS4774LS47是BCD-7段数码管译码器驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它来进行解码,可以直接把数字转换为数码管的数字,从而简化了程序,节约了单片机的IO开销。因此是一个非常好的芯片!3.2.1 74LS47管脚图和真值表74LS47是BCD-7段数码管译码器/驱动器, 74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数字。 74LS47为低电平作用 管脚图如图5所示: 图 5真值表如下:D C B Aabcdefg说明0X1XXXX0000000试灯XX0XXXX1111111熄灭10000001111111灭零1000000000000101X10001100111111X10010001001021X10011000011031X10100100110041X10101010010051X10110110000061X10111000111171X11000000000081X11001000110093.2.2引脚功能 (1)LT:试灯输入,是为了检查数码管各段是否能正常发光而设置的。当 LT=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,也就是七段将全亮,若驱动的数码管正常,是显示8。 (2) BI:灭灯输入,是为控制多位数码显示的灭灯所设置的。当BI()=0时,不论LT和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极数码管熄灭。 (3)RBI:灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI=0作用下,使译码器输出全为高电平。其结果和加入灭灯信号的结果一样,将0熄灭。(3) RBO:灭零输出,它和灭灯输入BI()共用一端,两者配合使用,可以实现多位数码显示的灭零控制。3.2.3实用电路连接图 6如图6所示为74LS47的实用电路,本设计中也采用类似设计,通过51单片机的任何一个输出管脚,提供四根线连入译码端,三个使能控制端均接电源或者如上图所示接法,再通过输出一根位选信息来选中相应的数码管,通过51软件输出就可实现数码管的正常显示。也可采用动态扫描的方法,由四根管脚控制2个LED灯的显示,通过2个管脚实现位选信息。3.3 74LS13974LS139 为两个2线4 线译码器,共有 54/74S139和 54/74LS139 两种线路结构型式3.3.1 74LS139管脚A、 B 译码地址输入端G1、G2 选通端(低电平有效)B、 Y0Y3 译码输出端(低电平有效)管脚图和实物图如图7所示 图 73.3.2 74LS139真值表输入输出GBAY0Y1Y2Y31XX11110000111001101101011010111110 本设计中是为了你补AT89C51输出管脚不够的问题,通过74LS139实现管脚的功能复3.4设计中用到的其他器件3.4.1RESPACK-7RESPACK-7是一种七脚电阻排。其中一个引脚是公共端,其余六个引脚对公共引脚的电阻值是相等的。这种电阻排大都用来做集成电路的上拉电阻,占用面积小,使用方便,而且一致性好。Protues中器件图如图8所示:图 83.4.2反向器74057405具有反相器的功能,将输入1转变为0或者将输入为1转变为0,设计中引入7405的目的是为了解决0与1的转换问题。Protues中器件如图9所示。3.4.3TRAFFIC LIGHTS此元件模仿的实现实中的交通灯,具有三个管脚,分别控制红、黄、绿三个颜色的亮灭,高电平有效,设计中采用它来代表交通灯。Protues中器件如图10所示图 9图 103.4.4 7SEG-MPX2-CA7SEG-MPX2-CA是共阳极数码管,此元件是集成两个LED显示管的元件,设计中用它来实现倒计时,通过管脚1和2进行位选,ABCDEFG为显示的7段,DP为小数点显示,设计中没有用到。Protues中器件如图11所示。 图 11 图 123.4.5 BUTTONBUTTON为protues中的仿真模拟按钮,具有按钮和开关的功能,当鼠标单击悬帽时,相当于按钮,点一下则按下去又弹起,当点击右侧的红色圈圈时,按钮按下不弹起。使用起来很方便。Protues中器件如图12所示。四、设计总体方案4.1课程设计总体思路交通灯分红、黄、绿三种,十字路口右转一般与直行同步,本设计中也同步,人行横道的交通灯控制与南北向、东西向直行方向相同,本设计中直行交通灯包含了人行横道控制的功能,所以设计中不再画出人行横道。见图13南北东西图 13上图中东西向跟南北向相同,均由3个交通信号和一个双显示数码构成,其中一个信号灯的功能是实现南北向的左转弯控制显示器(如南面紧挨灯的一个),另外两个一个是控制南北向直行通过的功能(附带人行横道控制的功能),再一个与直通行信号灯同步,为右转控制信号灯。显示管为集成双显示,通过1、2进行位选输出倒计时信号的十位和个位。4.1.1路口状态设置设计各个路口状态如下:状态123456时间25S3S2S15S3S2S南北绿黄红红红红南北左转红红红绿黄红东西红红红红红红东西左转红红红红红红状态789101112时间25S3S2S15S3S2S南北红红红红红红南北左转红红红红红红东西绿黄红红红红东西左转红红红绿黄红说明:1.考虑实际情况,将5S的黄灯闪烁,改为3S黄灯闪烁,2秒红灯。2.状态1-3:当南北道为绿灯,此道车辆、行人通行。时间为25秒;东西方向为红灯,此道车辆行人禁止通行。当南北方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。当南北方向为红灯,其他方向也实红灯,东南西北车辆行人不得通过。3.状态4-6:当南北方向为红灯,南北左转为绿灯,车辆可以左转弯,行人禁止通行;东西方向为红灯,此道车辆行人禁止通行。当南北左转方向为黄灯闪烁3秒,警示车辆绿灯状态即将切换。当南北左转为红灯,其他方向也实红灯,东南西北车辆行人不得通过。4.状态7-9:当东西道为绿灯,此道车辆、行人通行。时间为25秒;南北方向为红灯,此道车辆行人禁止通行。当东西方向为黄灯闪烁3秒,警示车辆和行人红、绿灯的状态即将切换。当东西方向为红灯,其他方向也实红灯,东南西北车辆行人不得通过。5.状态10-11:当东西方向为红灯,东西左转为绿灯,车辆可以左转弯,行人禁止通行;南北方向为红灯,此道车辆行人禁止通行。当东西左转方向为黄灯闪烁3秒,警示车辆绿灯状态即将切换。当东西左转为红灯,其他方向也实红灯,东南西北车辆行人不得通过。6.表内时间可根据实际情况改变初值。4.1.2实现主程序状态功能的流程图1计算东西向红灯时间写入南北向、东西向、两路左转时间开始开始执行1-3状态,倒计时显示,南北方向允许通行,其他禁止每三个状态的执行过程:开 始结 束执行结束,则返回1重新开始开始执行第79状态,倒计时显示,东西方向允许通行,其他禁止计算南北向红灯时间开始执行第1012状态,倒计时显示,东西左转允许通行,其他禁止结 束第三中状态给循环变量赋值2,实现全路段红灯,实现缓存功能,显示1S计时并循环变量减一直至为0第二种状态给循环变量赋值3,实现黄灯闪烁功能,1S闪烁一次,并且循环变量减一直至为0第一种状态绿灯亮,调用显示程序显示并且做1S计时,循环变量减一直至为0开始执行第4-6状态,倒计时显示,南北左转允许通行,其他禁止计算红灯的时间公式为:红灯时间=反方向绿灯时间+反向左转绿灯时间+2x黄灯等待状态4.1.3主程序汇编主程序程序为:START:MOV 30H,40H;南北绿灯直通行时间MOV 31H,41H;南北向左转绿灯时间MOV 32H,42H ;东西绿灯直通行时间MOV 33H,43H;东西左转向绿灯时间MOV R0,30H;南北向绿灯时间写入MOV A,30H;计算东西向红灯时间ADD A,#10;两次黄灯等待时间共10SADD A,31H;加上南北左转向绿灯时间MOV R2,A;东西方向红灯写入MOV R7,#25;延时使用MOV R6,#15;黄灯闪烁使用MOV R5,#10;黄灯闪烁使用LOOP1:SETB P3.4;P3.4置1,第二功能要求MOV P1,#0FFH;交通灯全灭SETB P3.0;P3.0置1以便检查输入MOV P1,#01H;南北绿灯亮;其余红灯亮LCALL XIANSHI;调用显示程序DJNZ R7,LOOP1;1S显示结束MOV R7,#25;重新赋值循环变量DEC R2;东西方向时间减一DJNZ R0,LOOP1;南北时间减一,并做循环变量MOV R0,#3;南北方向黄灯显示LOOP2: MOV P1,#0FFH;交通灯灭MOV P1,#03H;东西向红灯,南北直通灭LOOP11:CLR P1.0;南北黄灯灭LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R5,LOOP11;南北黄灯灭400msLOOP22:SETB P1.0;南北黄灯亮LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R6,LOOP22; 南北黄灯亮600msDEC R2;东西向时间减一MOV R5,#10;重置循环变量MOV R6,#15DJNZ R0,LOOP2;南北向黄灯时间减一,并做循环变量MOV R0,#2;全部红灯2SLOOP5:MOV P1,#00H;四路红灯亮起LCALL XIANSHI;调用显示程序第二作用延时40msDJNZ R7,LOOP5;1s显示MOV R7,#25;重新赋值循环变量DEC R2;东西方向时间减一DJNZ R0,LOOP5;南北方向时间减一并且做循环变量MOV R0,31H;南北左转时间写入LOOP3:MOV P1,#0FFH;交通灯灭MOV P1,#04H;南北向左转向绿灯亮,其他红灯LCALL XIANSHI ;调用显示第二作用延时40msDJNZ R7,LOOP3;1S显示MOV R7,#25;秒循环并重新赋值DEC R2;东西时间减一DJNZ R0,LOOP3;南北时间减一并循环MOV R0,#3;黄灯3sLOOP4: MOV P1,#0FFH;交通灯灭MOV P1,#0CH;东西向红灯,南北左转灭LOOP12:CLR P1.2;南北左转黄灯灭LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R5,LOOP12;南北左转黄灯灭400msLOOP23:SETB P1.2;南北左转黄灯亮LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R6,LOOP23; 南北左转黄灯亮600msDEC R2;东西向时间减一MOV R5,#10;重置循环变量MOV R6,#15DJNZ R0,LOOP4;南北向黄灯时间减一,并做循环变量MOV R0,#2;全部红灯2SLOOP6:MOV P1,#00H;四路红灯亮起LCALL XIANSHI;调用显示程序DJNZ R7,LOOP6;1s显示MOV R7,#25;重新赋值循环变量DEC R2;东西方向时间减一DJNZ R0,LOOP6;南北方向时间减一并且做循环变量MOV R2,32H;东西向绿灯时间写入MOV A,32H;南北向红灯时间计算ADD A,#10;东西向两次黄灯等待时间加入ADD A,33H;东西向左转时间加入MOV R0,A;南北红灯时间写入LOP1:SETB P3.4;P3.4置1,第二功能要求MOV P1,#0FFH;交通灯全灭SETB P3.0;P3.0置1以便检查输入MOV P1,#10H;东西绿灯亮;其余红灯亮LCALL XIANSHI;调用显示程序DJNZ R7,LOP1;1S显示结束MOV R7,#25;重新赋值循环变量DEC R0;南北方向时间减一DJNZ R2,LOP1;东西方向时间减一,并做循环变量MOV R2,#3;东西方向黄灯显示LOP2: MOV P1,#0FFH;交通灯灭MOV P1,#30H;南北向红灯,东西直通向灭LOOP13:CLR P1.4;东西黄灯灭LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R5,LOOP13;东西黄灯灭400msLOOP24:SETB P1.4;东西黄灯亮LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R6,LOOP24; 东西黄灯亮600msDEC R0;南北向时间减一MOV R5,#10;重置循环变量MOV R6,#15DJNZ R2,LOP2;东西向黄灯时间减一,并做循环变量MOV R2,#2;全部红灯2SLOP5:MOV P1,#00H;四路红灯亮起LCALL XIANSHI;调用显示程序DJNZ R7,LOP5;1s显示MOV R7,#25;重新赋值循环变量DEC R0;南北方向时间减一DJNZ R2,LOP5;东西方向时间减一并且做循环变量MOV R2,33H;东西左转绿灯时间写入LOP3:MOV P1,#0FFH;交通灯灭MOV P1,#40H;东西向左转向绿灯亮,其他红灯LCALL XIANSHI ;调用显示DJNZ R7,LOP3;延时1sMOV R7,#25;秒循环并重新赋值DEC R0;南北时间减一DJNZ R2,LOP3;东西时间减一并循环MOV R2,#3;黄灯3sLOP4: MOV P1,#0FFH;交通灯灭MOV P1,#0C0H;南北向红灯,东西左转灭LOOP14:CLR P1.6;东西左转黄灯灭LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R5,LOOP14;东西左转黄灯灭400msLOOP25:SETB P1.6;东西左转黄灯亮LCALL XIANSHI;调用显示程序相当于延时40msDJNZ R6,LOOP25; 东西左转黄灯亮600msDEC R0;南北向时间减一MOV R5,#10;重置循环变量MOV R6,#15DJNZ R2,LOP4;南北向黄灯时间减一,并做循环变量MOV R2,#2;全部红灯2SLOP6:MOV P1,#00H;四路红灯亮起LCALL XIANSHI;调用显示程序DJNZ R7,LOP6;1s显示MOV R7,#25;重新赋值循环变量DEC R0;东西方向时间减一DJNZ R2,LOP6;南北方向时间减一并且做循环变量LJMP START;一轮循环结束,返回再次循环4.2调显示时间程序在交通灯控制系统中,除了状态灯之外,最重要的就是时间显示,交通是否顺畅,很大程度上取决于红绿灯通行的时间,所以调试程序尤其重要。4.2.1设计思想设计四个有效控制位选择控制南北路绿灯时间、南北路左转绿灯时间、东西路绿灯时间、东西路左转绿灯时间,这里选取P0.6,P0.7,P2.6,P2.7分别控制,当然也可集成由一路输入控制,通过计数判断当前状态要修改哪一路信息,为了检测方便和调试程序,本设计分开设置。检测到被调控的显示时间后转入执行相应的调整程序,调整程序中根据是否按下加(P3.6)减(P3.7)执行相应的调整程序,调整完毕后存入新的存储空间(设计中为40H43H),通过在主程序执行完一次之后在start程序初始赋值(设计中40H43H重新赋值给30H33H),调时程序结束后,交通灯不会立刻发生变化,在下一次从主程序开始执行才会发生变化,并且调时结束后交通灯一直按照最新调整结果进行倒计时。在设计中还通过调整和显示程序一共实现延时250ms以便于对计数值修改每秒增量为4,同时也达到了消抖的功能。调整结束?调用显示延时200ms4.2.2设计重要部分流程图开 始YNNNNN东西左转有效?东西有效?南北左转有效?南北有效?调整T5调整T4调整T3调整T2 YYYY子程序调控图开始程序返回写入调整初值调用显示并延时40msNN减有效?加有效?赋值最大调整值Y赋值最大调整值YN 保存结果N超界限?变量减1超界限?变量加1结束4.2.3调显示汇编程序;调整时间服务程序;注意:调整后的时间在第二轮计时才会显示,第一轮仍按照原定时间;TZ1:MOV R1,#00;调整寄存器赋初值MOV R3,#00TZ11:LCALL XIANSHI1;调用显示程序LCALL XIANSHI1;连同下面调时共延时5X40msLCALL XIANSHI1LCALL XIANSHI1JNB P3.0,FANHUI1 ;P3.0为调整结束按钮JBP0.6,T2 ;若调整南北直通时间则跳转JB P0.7,T3 ;若调整南北左转时间则跳转JBP2.6,T4 ;若调整东西直通时间则跳转JBP2.7,T5 ;若调整东西左转时间则跳转LJMP TZ11 ;均无效时转回延时继续检测T2:MOV R1,40H ;南北直通调整时间写入LCALL XIANSHI1 ;调用显示并且延时40msJB P3.6,T11 ;若调整+无效则跳转INC R1 ;南北直通时间加1CJNE R1,#60,T21 ;南北直通最多限制时间60SMOV R1,#00H ;若R1=60则赋值为0重新加载AJMP T21 ;南北向加法调整时间结束,转入赋值T11:JB P3.7,T21 ;调整-无效则跳转DECR1 ;南北向直通时间减1CJNE R1,#00H,T21 ;最大调整时间60SMOV R1,#60 ;若超出则重新赋值T21:MOV 40H,R1 ;调整后的时间写入LJMP TZ11 ;南北向调整完毕返回重新检测FANHUI1:LJMP FANHUI ;因为JNB跳转范围限制,在此补加一次跳转T3:MOV R1,41H ;南北左转调整时间写入LCALL XIANSHI1 ;调用显示并且延时40msJB P3.6,T12 ;若调整+无效则跳转INC R1 ;南北左转时间加1CJNE R1,#30,T22 ;南北左转最多限制时间30SMOV R1,#00H ;若R1=30则赋值为0重新加载AJMP T22 ;南北向左转加法调整时间结束,转入赋值T12:JB P3.7,T22 ;调整-无效则跳转DECR1 ;南北左转向时间减1CJNE R1,#00H,T22 ;最大调整时间30SMOV R1,#30 ;若超出则重新赋值T22:MOV 41H,R1 ;调整后的时间写入LJMP TZ11 ;南北左转向调整完毕返回重新检测T4:MOV R3,42H ;东西向直通时间写入LCALL XIANSHI1 ;调用显示程序第二功能延时40msJB P3.6,T13 ;若加法输入无效则跳转INC R3 ;东西直通时间加1CJNE R3,#60,T23 ;东西直通最大时间60SMOV R3,#00H ;超过60s则重新赋值AJMP T23 ;加法调整完毕,调入赋值T13:JB P3.7,T21 ;若减法输入按钮无效,则跳转DECR3 ;东西直通时间减1CJNE R3,#00H,T23 ;最大时间60SMOV R3,#60 ;若减到界限则重新赋值T23:MOV 42H,R3 ;将调整结果写入LJMP TZ11 ;东西直通调整完毕,返回重新检测T5:MOV R3,43H ;东西左转调整初值转入LCALL XIANSHI1 ;调用显示程序,第二功能延时40MSJB P3.6,T14 ;若加法输入端无效则跳转INC R3 ;东西左转时间+1CJNE R3,#30,T24 ;最大调整时间30SMOV R3,#00H ;超出重新赋值AJMP T24 ;加法调整完毕转入赋值T14:JB P3.7,T22 ;若减法无效则跳转DECR3 ;东西左转时间减1CJNE R3,#00H,T24 ;最大调整时间30SMOV R3,#30 ;若溢出则重新赋值T24:MOV 43H,R3 ;将调整时间写入LJMP TZ11 ;东西左转调整完毕跳转重新检测FANHUI:RETI;子程序结束,返回4.3各类情况处置程序4.3.1各类情况介绍在现实的应用中,交通灯需要很多的功能,除了实现正常亮灭和控制计数之外,还需要紧急处置模式、夜间少车模式、交警手动指挥模式、单南北通行方式、单南北左转向方式、单东西通行方式、单东西左转向通行方式、智能调控程序等功能,本设计已经实现以上功能,每个功能介绍如下:(1)紧急处置模式:如110、119、120等需要通过,则全路段实行红灯暂停模式,紧允许以上车类通过。(2)夜间少车模式:在很多的交通路口,夜间行人车辆特别少,由路口等候又显得不合理,这个时候全路段闪烁黄灯,让过往车辆行人注意瞭望通过。(3)交警手动指挥模式:在这个模式下,相当于关闭交通灯的工作,但是为了保持相关设置不做更改,所以程序还需要待机,这个时候输出的计时器和交通灯都是灭的,具体通行方式根据交警指挥通行。(4)单南北通行方式:其余路段均为红灯,南北主路绿灯只允许南北方向的行车通过。(5)单南北左转向方式:其余路段均为红灯,南北左转向绿灯,紧允许南北左转向。(6)单东西通行方式:其余路段均为红灯,东西主路绿灯只允许东西方向的行车通过。(7)单东西左转向方式:其余路段均为红灯,东西左转向绿灯,紧允许东西左转向。(8)智能调控程序:即由某种方式统计各方向的行车,智能控制交通灯的亮灭和倒计时时间,因为仿真中无法使用统计设备完成检测的功能,所以设计了两级自动调控级别,可通过按键进行选择。具体的调控级别可由自己设定。4.3.2调配各模式流程图开始1Y少车模式?转入H1执行该模式NY转入H2执行该

温馨提示

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

评论

0/150

提交评论