基于单片机的模糊控制交通灯的设计

上传人:无*** 文档编号:123580565 上传时间:2022-07-22 格式:DOC 页数:44 大小:402.50KB
返回 下载 相关 举报
基于单片机的模糊控制交通灯的设计_第1页
第1页 / 共44页
基于单片机的模糊控制交通灯的设计_第2页
第2页 / 共44页
基于单片机的模糊控制交通灯的设计_第3页
第3页 / 共44页
点击查看更多>>
资源描述
摘 要随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。通常情况下,交通信号灯控制器存在着缺陷:车道放行车辆时,时间设定相同且固定,十字路口经常出现主车道车辆多,放行时间短,车流无法在规定时间内通过,而副车道车辆少,放行时间明显过长等。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的必要性。针对当前城市交通系统中的被控对象具有较大的随机性和偶然性,引入了不需要建立精确数学模型的模糊控制。根据十字路口车辆计数传感器测得车辆的多少,由模糊控制器确定各路口红、绿灯延长时间。较好地解决了交通流量不均衡、不稳定所带来的车辆延误等问题,提高了道路的通行能力。一般的交通信号控制是设定了固定的时间来控制交通灯,而模糊控制交通器是总结交通警察指挥交通的经验,通过单片机用软件来实现实时控制交通灯。模糊控制具有很好的应用前景,模糊控制不仅适用于小规模线性单变量系统,而且逐渐向大规模、非线性复杂系统扩展,模糊控制特别适用于不确定性的复杂对象模型。模糊交通控制器的研究和应用在现代交通控制领域中有着重要的地位和意义。关键词:模糊控制;交通灯;车辆计数传感器;车流量AbstractAlong with the economic development, automobile quantity sharp growth, the urban road crowds day after day, the pounding of traffic has become an international question. Usually in the situation, the street-traffic control lights controller has the flaw: When the traffic lane allows to pass the vehicles, the time setting is the same and is fixed, the intersection presents the main traffic lane vehicles to be many frequently, allows to pass the time to be short, the stream of vehicles is unable in the scheduled time to pass, but the vice-traffic lane vehicles are few, allows to pass the time obviously long and so on. Therefore, the design reliable, safe, the convenient multi-purpose traffic light control system has the enormous necessity. Has the big randomness and fortuitousness in view of the current municipal transportation systems in controlled plant, introduced has not needed to establish the precise mathematical model the fuzzy control. Obtains vehicles how many according to the intersection vehicles counting sensor, determines each group lipstick, the green light extension of time by the fuzzy controller. Has solved questions well and so on vehicles delay which the traffic flow imbalanced, does not stabilize brings, sharpened paths traveling capability.The traffic signal control generally established the fixed time to control the traffic light, but the fuzzy control transportation was summarizes traffic police to direct the traffic the experience, realized the real-time control traffic light through the monolithic integrated circuit with the software. The fuzzy control has the very good application prospect, the fuzzy control is not only suitable for the small scale linearity single variable system, moreover to large-scale, the misalignment complicated system expands gradually, the fuzzy control is suitable specially for the uncertainty complex object model. The fuzzy transportation controllers research and the application have the important status and the significance in the modern traffic control domain.Key word: Fuzzy control; Traffic light; Vehicles counting sensor; Traffic flow magnitude目 录摘 要IABSTRACTII1 概述21.1 研究现状与发展前景21.2 研究意义和内容32 模糊控制器设计32.1 模糊控制理论简介32.2 模糊控制器的基本结构和组成42.3 模糊控制器的设计62.3.1 输入、输出及其模糊化62.3.2 模糊控制规则72.3.3 模糊控制矩阵计算72.3.4 模糊量精确化83 硬件系统设计83.1总体方案设计83.2单片机控制器的设计93.3 键盘与显示电路设计123.4 车辆计数传感器的选择163.5 红绿灯电路184 软件设计194.1 主程序设计194.2 T0中断程序设计204.3 键盘中断程序设计214.4 显示子程序设计224.6 车流量检测处理子程序设计25结论与展望26致 谢26参考文献27附录一 原理图29附录二 外文文献原文及译文30附录三 主要的参考文献及摘要34附录四 主要源程序361 概述1.1 研究现状与发展前景随着城市机动车辆的不断增加,十字路口车辆堵塞现象越来越严重,大部分城市仍然采用的定时控制十字路口的控制方法显然不再适用,所以新型的实时控制的交通系统应运而生,模糊控制理论在交通系统中得到了应用。面向21世纪的智能化汽车的交通运输系统应使车、路高度智能化,使人、车、路三者合一,逐步实现汽车在公路上自动安全地运行。为解决交通堵塞,交通事故的国际难题而发展起来的智能交通系统(ITS),是将先进的信息技术,数据通讯和传输技术、电子自动控制技术及计算机处理技术等有效地用于整个地面运输管理体系,全方位发挥作用的实时、准确、高效的公路综合管理系统。 智能交通系统(ITS,intelligent transport system)是指人们将先进的信息技术、数据通讯传输技术、电子控制技术、传感器技术以及计算机处理技术等有效地综合运用于整个运输体系中,从而建立起的一种在大范围内、全方位发挥作用的实时、准确、高效的运输综合管理系统。实施智能交通系统工程不仅能够提高交通的效益与效率,增强交通安全性,而且有利于合理利用土地与能源,甚至对于国民经济的持续发展与社会经济效益的全面提高都是至关重要的。1.2 研究意义和内容 单路口交通控制就是确定交叉路口红绿灯的信号配时,使通过交叉口的车辆延误尽可能小。传统的控制一般是采用模型控制或预先人为地设定多套方案,实践表明这种方法的控制效果并不理想。由于道路上的交通流具有较大的随机性和相当的复杂性,所实施的相位控制也应随交通流的不同而相应变化。交通警察在实际的交通指挥中可以根据实际情况来控制交通,比如:交警可以通过观察路口车辆数的多少来机动地控制各个路口的红绿灯时间。如若东西方向的车流量大,则其放行时间长,南北方向这流量小,则其放行时间短。近年来用模糊控制方法实现交通系统的控制,得到国内外学者的关注。故本设计采用车辆计数传感器以及单片机为核心的硬件电路,总结交通警察指挥交通的经验,用软件来实现模糊控制,以解决城市交通管理问题,采用控制技术、计算机技术及人工智能相结合,进行实际交通畅通问题的研究。2 模糊控制器设计2.1 模糊控制理论简介 模糊数学诞生于1965年,它的创始人是美国的自动控制专家(L.A.Zadeh)教授,他首先提出了隶属度函数来描述模糊概念,并创立了模糊集合论,为模糊学奠定了基础。由人作为控制器的控制系统是典型的智能控制系统,其中包含了人的高级智能活动。模糊控制在一定程度上模仿了人的控制过程,其中包含了人的控制经验和知识。它不需要有准确的控制对象模型。因此它是一种智能控制的方法。模糊控制方法既可以用于简单的控制对象,也可以用于复杂的过程。 模糊控制是模糊集合理论应用的一个重要方面。1974年英国教授马丹尼(E.H.Mamdani)首先将模糊集合理论应用于加热器的控制,其后产生了许多应用例子。包括交通路口的控制。在模糊控制的应用方面,日本走在了前列。日本在国内建立了专门的模糊控制研究所,日本仙台一条地铁的控制系统采用了模糊控制的方法取得了很好的效果。日本还率先将模糊控制应用到了日常家电产品的控制,如照相机、吸尘器、洗衣机等,模糊控制的应用在日本已经相当普及14。2.2 模糊控制器的基本结构和组成模糊控制器的基本结构见图2.1 模糊控制器的组成 模糊控制器主要有以下四部分组成(1)模糊化 这部分的作用是将输入的精确量转换成模糊化量。其中输入量包括外界的参考输入、系统的输出或状态等。模糊化的具体过程如下:知识库模糊化模糊推理清晰化被控对象输入量e输出量图 2.1模糊控制器的基本结构 i)首先对输入量进行处理以变成模糊控制器要求的输入量。 ii)将上述已经处理过的输入量进行尺度变换,使其变换到各自的论域范围。 iii)将已经变换到论域范围的输入量进行处理,使原先精确的输入量变成模糊量,并对相应的模糊集合来表示。(2)知识库 知识库中包含了具体应用领域中的知识和要求的控制目标。它通常由数据库和模糊控制规则库量部分组成。 i)数据库主要包括各语言变量的隶属函数,尺度变换因子以及模糊空间的分级数等。 ii)规则库包含了用模糊语言变量的一系列控制规则。它们反映了控制专家的经验和知识。(3)模糊推理 模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。该推理过程是基于模糊逻辑中的蕴含关系及推理规则来进行的。(4)清晰化 清晰化的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量。它包含以下两部分内容: i)将模糊的控制量经清晰化变换成表示杂论域范围的清晰量。 ii)将表示在论域范围的清晰量经尺度变换成实际的控制量。2.3 模糊控制器的设计2.3.1 输入、输出及其模糊化 本设计只针对交通路口的东西、南北直行方向的控制,所以是一个单输入、单输出模糊控制。输入量为路口的车流量,输出为绿灯的延时时间。 在选择模糊语言变量的语言值时要兼顾简单易行和控制效果两个方面。一般来说,一个语言变量选用210个语言值较适宜。输入量e用模糊变量表示,模糊语言值选取五个元素负大,负小,零,正小,正大,即NB,NS,ZO,PS,PB。基础论域取值-3,-2,-1,0,1,2,3七个。 其对应的隶属度函数见表2.1表2.1 e语言值的隶属函数表语言值论域取值-3-2-10123NB10.500000NS0.510.50000ZO00.510.5000PS000.510.500PB000000.51 输出量u是绿灯延时时间,其模糊语言值选取短,较短,中等,较长,长,即S,BS,M,BL,L。基础论域值取-4,-3,-2,-1,0,1,2,3,4九个档。其对应隶属函数见表2.2 表2.2 u语言值的隶属函数表语言值论域值-4-3-2-101234S10.50000000BS00.510.500000M0000.510.5000BL000000.510.50L00000000.512.3.2 模糊控制规则 由经验得到下列控制策略: 若e负大,则u短; 若e负小,则u较短; 若e零, 则u中; 若e正小,则u较长; 若e正大,则u长;状态作用表见表2.3表2.3 绿灯模糊控制状态表if(e)NBNSZOPSPBthen(u)SBSMBLL2.3.3 模糊控制矩阵计算表2.3所示的绿灯模糊状态表所表示的是输入、输出的模糊关系,其对应的五个矩阵分别为R1,R2,R3,R4,R5。则总的模糊关系R=R1R2R3R4R5;其中R1=NBS;R2=NSBS;R3=ZOM;R4=PSBL;R5=PBL;2.3.4 模糊量精确化 以上通过模糊推理得到的是模糊量,而对于实际的控制则必须为清晰量,因此需要将模糊量转换成清晰量,这就是清晰化计算所要完成的任务。采用最大隶属度法即可求出输入e和输出u的对应表。如表2.4所示: 表2.4 输入e和输出u的对应表if(e)-3-2-10123then(u)-4-2.5-2+1+2+2.5+4 实际上显示的是具体时间,所以必需对表2.4进行比例化。经过比例化后实际输出查询表如表2.5所示:表2.5 模糊控制输出查询表路口车流量(辆)04510111516202125263031以上绿灯延长时间(s)81521304048563 硬件系统设计3.1总体方案设计本模糊控制交通器系统硬件主要由车流信息检测电路、单片机控制器、8279键盘显示电路等电路组成。车流检测装置安放在各十字路口东西、南北道路方向实时检测车道车流信息。并将检测到的信息输至单片机进行处理,通过单片机编程技术实现信号灯绿、红切换及等待时间设定。单片机控制器键 盘时间显示车流信息信号灯控制8279接口图 3.1 系统原理框图 在本设计方案中,首先对系统各路口的车辆计数器对车辆计数,并传送给单片机,单片机依据模糊控制理论进行处理后来控制红绿灯延时时间,并把红绿灯延长时间通过8279送到LED显示。当有紧急情况时,可通过键盘全红灯等其他情况。3.2单片机控制器的设计本设计的硬件采用的是AT89S52单片机为处理核心,AT89S52单片机是美国ATMEL公司生产的低电压,高性能8位单片机,片内含8K bytes的可反复擦写的只读程序存储器和256bytes的随机存取数据存储器,与标准的MCS-51指令系统及8052产品引脚相兼容11。AT89S52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89S52的脚图如图3-2所示。1)AT89S52单片机各引脚的功能和应用介绍如下:P0口:P0口是开漏双向口,可以写为1使其状态为悬浮。用作高阻输入时,P0也可以在访问外部程序存储器时作地址的低字节;在访问外部数据存储器时,作为数据总线,此时通过内部强上拉输出1。P1口:P1口是带内部上拉的双向I/O口。向P1口写入1时,P1口被内部上拉为高电平,可用作输入口;当作为输入脚时被外部拉低的P1口,会因为内部上拉而输出电流。P2口:P2口是带内部上拉的双向I/O口。向P2口写入1时,P2口被内部上拉为高电平,可用作输入口;当作为输入脚时被外部拉低的P2口,会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时,分别作为地址高位字节和16位地址(MOVX DPTR)。此时通过内部强上拉传送1,当使用8位寻址方式(MOV Ri)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容。图 3.2 AT89S52引脚图 P3口:P3口是带内部上拉的双向I/O口。向P3口写入1时,P3口被内部上拉为高电平可用作输入口;当作为输入脚时被外部拉低的P3口,会因为内部上拉而输出电流P3口还具有以下特殊功能。 RXD(P3.0)串行输入口 TXD(P3.1)串行输出口 INT0(P3.2)外部中断0 INT1(P3.3)外部中断1 T0(P3.4)定时器0外部输入 T1(P3.5)定时器1外部输入 WR(P3.6)外部数据存储器写信号 RD(P3.7)外部数据存储器读信号 ALE:地址锁存使能在访问外部存储器时,输出脉冲锁存地址的低字节。在正常情况下,ALE输出信号恒定为1/6振荡频率并可用作外部时钟或定时。注意每次访问外部数据时一个ALE脉冲将被忽略,ALE可以通过置位SFR的auxlilary0,禁止置位后ALE只能在执行MOVX指令时被激活。 PSEN:程序存储使能当执行外部程序存储器代码时,PSEN每个机器周期被激活两次;在访问外部数据存储器时PSEN无效,访问内部程序存储器时PSEN无效。 EA:当此脚为低电平时,对ROM的操作限定在外部程序存储器,而它为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。 XTAL1:晶体1反相振荡放大器输入和内部时钟发生电路输入。 XTAL2:晶体2反相振荡放大器输出。 2)单片机最小系统的设计 单片机的最小系统包括时钟电路和复位电路,分别采用的是12M的外部晶振,和上电复位电路,时钟电路和复位电路如图3.3和3.4所示。下面就介绍下设计中的外部时钟电路和复位电路。(1)时钟电路在AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其它芯片功能,直到下一个硬件复位为止。本次设计电路中的电容C1和C2取30pF。一般晶体的振荡频率范围通常是1.2MHz12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也越快。但反过来运行速度快对存储器的速度要求就高,对印刷电路板的工艺要求也高。本次设计的晶振采用的频率是12MHz,选用这个频率的原因是在软件设计中的定时方面便于定时计算,同时能提高单片机运行速度。 定时振荡器的工作可由专用的寄存器PCON的PD位进行控制,把PD位置“1”,振荡器停止工作,系统进入低功耗状态。振荡电路产生的振荡脉冲并不是直接使用,而是经过分频后再被系统所用。振荡脉冲经过二分频后才作为系统的时钟信号,在二分频的基础上三分频产生ALE信号,六分频得到机器周期信号。(2)复位电路复位是单片机的初始化操作,其主要功能是把PC初试化为0000H,使单片机从0000H单元开始执行程序。AT89S52芯片的复位引脚在RST引脚,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期以上。复位操作有上电位自动复位和按键手动复位两种方式。上电位复位是通过外部复位电路的电容充电来实现的,只要外部电源接通,VCC的上升时间不超过1ms,就可以实现自动上电复位。按键手动复位有电平方式和脉冲方式两种。本次设计的复位方式是采用上电位复位方式,其电路图如图3-4所示。由于RST引脚是高电平有效,所以一旦当RST引脚通过电容C与VCC导通,得到了高电平,单片机复位开始工作。图 3.3 时钟电路图 3.4 复位电路3.3 键盘与显示电路设计 Intel8279是一种通用可编程键盘、显示器接口芯片。它能完成键盘输入和显示控制两种功能。所以本设计采用8279芯片来实现键盘和显示功能。键盘部分提供的扫描方式,可以和具有64个按键的矩阵键盘连接,能对键盘不断扫描,自动消抖,自动识别出按下的键并给出编码,能对双键或n键同时按下实行保护。显示部分为发光二极管、荧光管及其他显示器件提供了按扫描方式的显示接口,它为显示器提供多路复用信号,可显示16为的字符或数字。1、8279的引脚功能: 采用单5V电源供电,40脚封装。DB0DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟脉冲。RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。 WR:写信号输入线,低电平有效,将缓冲器读出,将数据从外部数据总线写入8279的缓冲器。2、8279的编程命令 8279可适应各种键盘和显示器的不同工作方式,这是由于8279内的各功能块的工作是可程控的,用户可根据自己的要求,利用向8279写命令字的方法对8279的工作方式等进行编程,只要同时使CS=0 WR=0A0=1,则可向8279写命令字,并在WR的上升沿把命令打入8279。对CPU而言,8279只有两个口地址,一个用于读写命令和状态(CS=0,A0=1),一个用于读写数据(CS=0,A0=0)但用于编程命令字却有多种,在8279中用于区别各种不同命令字的方法是命令字代码的高3位(D7,D6,D5)编码而低5位是命令字的真正内容。(1)键盘/显示器方式设置最高位 最低位命令代码 0 0 0 D D K K K 其中DD为显示方式,KKK为键盘方式 DD00 8个8位字符显示-左端传入01 16个8位字符显示-左端送入10 8个8位字符显示-右端送入11 16个8位字符显示-右端送入(2)程序时钟命令代码 0 0 1 P P P P P此命令确定定时和控制中的前置定标器的分频系数,代码PPPPP可形成2-31的数,前置定标器可对外部时钟分频,以得到内部基频,选基频为100KHZ,可得到前面规定的扫描和反跳时间,复位脉冲过后若无代码送入则自动为31。(3) 读FIF0/传感器RAM命令代码:0 1 0 AI X A A A X=任意此命令用于确定CPU读操作的对象是8279中的FIF0/传感器RAM,并确定8个 RAM字节中哪一个被读,其中AAA表示CPU要读的行,AI为自动加1特征位,在键盘扫描方式中这两者互不相干,对随后的每次读取8279都按照数据第一次进入的FIF0的同一顺序自动送出数据,所有随后发生的读,都是读自FIFO,直到写入新命令为止。在传感器阵列方式中,AAA选择传感器RAM8行中的一行若AI=1,则下一次读取便读自传感器RAM中的下一行。(4)读显示器RAM命令代码:0 1 1 AI A A A ACPU对8279写此命令,则确定了CPU以显示器RAM为数据源进行读操作, 其中AAAA为显示器RAM的地址,AI为自动加1特征位,若AI=1,则每读一行RAM之后,行地址自动加1(5)写显示器RAM命令代码: 1 0 0 AI A A A ACPU向8279写此命令,规定了下一步要对8279的显示RAM进行写,寻址方式和自动加1功能均与读显示器RAM相同。(6)显示器写入禁止/空格命令代码: 1 0 1 X IW IW BL BL X=任意(7)键盘与单片机的连接本设计采用了可编程键盘显示芯片8279来实现键盘和显示功能,8279与单片机的接口如图3.5所示:图 3.5 8279与单片机的接口电路上图3.5中将单片机的P0口与8279的DB口相连,用来实现单片机和8279的数据传输;IRQ接到单片机的外部中断INT1,当8279键盘电路有键按下时向单片机发出中断请求;CS接到P2.7口是用P2.7口对8279进行片选;RD、WR分别实现对8279的读写操作;单片机的P2.6口接至8279A0口,当A0=1时,若CPU进行写操作,则写入的时命令字。若进行的时读操作,则8279读出的是状态字当A0=0时,写入字节或读出字节均为数据。8279通过74LS138译码器扩展3个键盘、8位显示器。由3-8译码器对RL0RL2译出键扫描线,如图3-6所示。 图3.6所示为键盘和倒计时显示电路。因为东、西和南、北方向的显示时间相同,所以DIG1代表东、西方向的倒计时显示;DIG2代表南、北方向的倒计时显示。且都用74F07驱动LED的位驱动和段驱动。LED采用共阴动态显示。图 3.6 8279键盘显示电路3.4 车辆计数传感器的选择 车辆计数传感器用来实时检测十字路口车流量信息的装置,在十字路口的东西南北四个路口上方各安放一个车辆计数传感器,当有车辆经过时,车辆计数传感器便给单片机一个脉冲,从而达到对车辆进行计数的目的。 本设计采用的是市面上流行的热释电红外传感器,热释电红外传感器是一种能检测人或动物发射的红外线而输出电信号的传感器。热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,在传感器监测范围内温度有T的变化时,热释电效应会在两个电极上会产生电荷Q,即在两电极之间产生一微弱的电压V。由于它的输出阻抗极高,在传感器中有一个场效应管进行阻抗变换。热释电效应所产生的电荷Q会被空气中的离子所结合而消失,即当环境温度稳定不变时,T=0,则传感器无输出。当人体进入检测区,因人体温度与环境温度有差别,产生T,则有T输出;若人体进入检测区后不动,则温度没有变化,传感器也没有输出了8。图 3.7 车辆计数传感器模块 图3.7采用市面上流行的热释电红外传感器来进行车辆计数,该传感器技术已经成熟。图 3.8 热释电红外传感器 在十字路口的上方分别各安装一个热释电红外传感器来对车辆进行计数,车辆计数采用中断方式,因为东、西、南、北方向有四个传感器即需要四个中断口,所以对外部中断INT0扩展EI1EI4四个中断源。它们通过逻辑或非的关系接到AT89S52单片机的INT0引脚上,当EI0EI4四个外部中断源的其中之一变为高电平,即向CPU申请中断时,INT0引脚变为低电平,通知CPU外部有中断请求,接着CPU对P1.0P1.3引脚进行查询以确定到底是哪个中断源请求,并转到对应的中的中断服务程序的入口得知执行中断服务处理程序。本设计扩展的EI1EI4的四个中断源中,EI1表示东路口的中断请求;EI2表示西路口的中断请求;EI3表示南路口的中断请求;EI4表示北路口的中断请求。3.5 红绿灯电路 通过模糊控制器处理过的交通路口车流量信息后,单片机将处理信号输出给红绿灯显示,以实现对十字路口的实时控制,红、黄、绿灯接单片机P2口,其中red1、yellow1、green1代表东、西方向的红、黄、绿灯;red2、yellow2、green2代表南、北方向的红、黄、绿灯。东、西和南、北的四个黄灯接在单片机的P1.5口上,东、西的红灯接P1.4口,绿灯接P1.6口;南、北的红灯也接P1.4口,绿灯接P1.6口。如下图3-9所示:图 3.9 红绿灯电路4 软件设计 一个完整的系统,不仅包括硬件方面的设计,还包括了软件设计,没有软件的支持,硬件系统就无法完成相应的功能。本次软件设计包括:主程序设计、TO中断程序设计、键盘程序设计、显示子程序设计、模糊推理查表子程序设计、车流量检测处理子程序设计。4.1 主程序设计 主程序主要完成的是对整个系统的初始化,其中包括对堆栈初始化、相关单元初始化、定时器T0初始化、8279初始化、显示初始化、中断INT0和INT1初始化。主程序流程如图4.1所示:开中断堆栈初始化相关单元初始化定时器T0初始化中断INT0、INT1初始化显示初始化8279初始化主程序开始等待中断图 4.1 主程序流程图4.2 T0中断程序设计定时器T0的定时时间设为50ms,定时器T0工作在方式1,则计数初值X的计算方法如下:(65536-X)*2us=50000us解得X=65536-25000=40536=09D58H。因此,定时器初值TH0=09DH,TL0=58H。故定时器T0每50ms溢出一次,当溢出20次时,表示1s到了,则显示单元减113。T0中断程序流程图如图4.2所示:Y程序开始定时器T0装初值计数单元+1计数单元重装1s到了吗?开T0中断中断返回显示值单元减1N是否为0?YN调模糊推理子程序开中断INT0图 4.2 中断程序流程图4.3 键盘中断程序设计 本设计使用了三个按键K1、K2、K3,按下K1时调用设定好的红绿灯时间程序;按下K2时东、西方向的绿灯亮,南、北方向的红灯亮即东、西通行,南、北禁止;按下K3时南、北方向的绿灯亮,东、西方向的红灯亮即南、北通行,东、西禁止。程序流程图如图4.3所示:用设定好的时间是K1吗?是K2吗?是K3吗?东、西绿灯亮南、北绿灯亮开始中断返回YYYNNN读键值图 4.3 键盘中断程序流程图4.4 显示子程序设计 十字路口的显示的是红灯、绿灯或黄灯的时间倒计时。因为设计中用到了可编程键盘显示芯片8279,所以软件的显示子程序所用的是8279显示。其流程图如图4.4所示:N开始写显示RAM命令到8279显示缓冲区地址R0,长度R1查段码表显示数据段码写入8279(R0)+1送R0(R1)1=0?返回Y图 4.4 显示子程序流程图 4.5 模糊推理查表子程序设计比较车流量大小将大者送34H开始32H大于4吗?32H大于10吗?32H大于15吗?32H大于20吗?32H大于25吗?32H大于30吗?YYYYY将东、西和南、北控制位取反输出数8送R0输出数15送R0输出数21送R0输出数30送R0输出数40送R0输出数46送R0输出数56送R0相关单元清0返回图 4.5 模糊推理查表程序流程图4.6 车流量检测处理子程序设计 车流量检测是进行模糊处理的基础,传感器将检测到的信号以脉冲的形式发给单片机。本设计采用中断来对脉冲信号进行计数,由于需要四个中断源,所以对INT0进行了扩展。EI1EI4分别为东、西、南、北四个路口的扩展中断源,并为其在单片机内对应开辟了四个计数单元,分别为30H、31H、32H、33H。当某一路口有中断请求时则其对应单元的内容值加1,并在计数结束时清零。程序流程图如4.6图所示:保护现场开始EI1中断服务程序EI2中断服务程序EI1=1?EI2=1?EI3=1?EI4=1?EI3中断服务程序EI4中断服务程序恢复现场结束NYYYYNNN图 4.6 车流量检测流程图结论与展望 本设计在总结交通警察经验的基础上,通过传感器对车流信息的检测,并对检测信息模糊化、模糊推理再清晰化后来控制十字路口红绿灯的信号配时。实现了对十字路口的模糊控制,从而达到了实时控制交通路口的目的。 本设计采用模糊控制方法来设计交通灯实时控制系统。以单片机为处理核心,采用热释电红外传感器进行车辆计数、8279接口芯片等外围电路,用软件编程的方法实现对车辆信息的模糊处理控制。本设计配置了键盘来对应急情况进行处理,实现了人及对话功能。实践表明,采用这种方法设计的控制系统可进一步提高路网的通行能力,减少路口延误时间和停车次数,对高度非线性的、随机的十字路口车流量的控制更加精确,并取得了更高的经济效益。模糊控制交通器以其独具的优点在十字交通路口控制领域得到了很好的应用。 本设计的模糊控制交通器虽然具有很大的优点,但也存在着不足:本设计的控制器只针对城市单交叉路口的控制,而在城市十字路口相对集中的路段,模糊控制交通器只能各司其职,不能协调控制城市交通。完善的方向:以本设计的模糊控制交通器为基础,用上位机来指挥各路口的控制器,使整个城市交通构成一个网络系统。 本设计的模糊控制交通器的模糊子集隶属度函数是预先根据交通警察的经验确定,其控制效果很理想,相对于目前我国大多数交通路口所使用的定时控制具有相当大的优势。本设计还可以进一步扩展,使其作为下位机,通过软件编程实现与上位机的通信,使上位机能够综合附近的十字路口信息,以实现对整个交通系统的优化控制,达到“和谐”交通。在未来的交通系统中,模糊控制交通器将占主导地位。致 谢时光飞逝,四个多月的毕业设计结束了,在这里我最感谢的是我的指导老师。本课题从选题、开题到设计论文,直至完成设计,一直得到老师的悉心指导和帮助。在毕业设计的过程中我深切地感受到了孙老师严谨治学的态度和一丝不苟的作风,这些在我心里留下了深刻的印象。孙老师的谆谆教导我给了我莫大的帮助,在我以后的工作或学习中将会一直激励着我。在此真诚地向孙老师说一声:“谢谢您,孙老师,愿您一切都好!”本次毕业设计遇到了很多困难,期间除了老师的指导外,其他同学也给了我莫大的帮助,在此也衷心的感谢我亲爱的同学和朋友们! 参考文献1王晓薇、王 慧.基于GA 的交叉路口自适应模糊控制器设计J. 吉林大学学报(信息科学版),第22卷第4期2004.72付家才. 单片机控制工程实践技术M. 北京: 化学工业出版社, 2004.3刘丽莎、黄辉先、汤红忠.单交叉口模糊交通控制器的研究 J.电机与控制学报,20034陈小忠、黄宁、赵小侠.单片机接口技术实用子程序M.北京:人民邮电出版社,2005.9 5沙占友、孟志永、王彦朋.单片机外围电路设计(第2版)M.北京:电子工业出版社,2006.66何立民. 单片机应用技术选编M . 北京航空航天大学出版社. 2004. 7张化光、孟祥萍.智能控制基础理论及应用M. 北京:机械工业出版社,20058张秀珍、戴伏生、毛兴鹏.热释电红外传感器在车辆计数系统中的应用J.传感器技术,2000 年,第19 卷,第2 期9沈红卫. 单片机应用系统设计实例与分析M . 北京:航空航天大学出版社,2003. 10陈洪、陈森发.单路口交通实时模糊控制的一种方法M.信息与控制.1997,26(3):227-23311张兢、涂巧玲、郭建华.AT89S8252 单片机在智能设备中的应用J.重庆工学院学报, 2006, 20(5) : 70-72.12胡汉才.单片机原理及其接口技术M. 北京: 清华大学出版社, 1996.13杨振江. 流行单片机实用子程序及应用实例M . 西安:西安电子科技大学出版社,2002.714易继锴、侯媛彬.智能控制技术M.北京:北京工业大学出版社,1999.915绕庆和.MCS - 51 单片机实用技术M . 北京:电子工业出版社,2003.16阎石主编.数字电子技术基础(第4版)M.北京:高等教育出版社,199817 樊尚春.传感器技术及应用M.北京航空航天大学出版社,2004-8-118 蒋汝根、钱丹浩.基于AT89C51单片机的交通灯模拟控制系统J.无锡商业职业技术学院学报,2006年06期19 Christian Schmid. Fuzzy ControlEB/OL.http:/www.esr.ruhr-uni-bochum.de/rt1/syscontrol/nodel131.html,2005-05-0920 Wang Wei , Feng Jianlin , Lu Hongjun ,et al. condensed cube :an effective approach to reducing data cube sizeJ . The 18th Inter2national Conference on Data Engineering ( ICDE 2003) C21 Zadeh L.A. Fuzzy Sets and their ApplicationsEB/OL. New York:Academic Press,1975附录一 原理图附录二 主要源程序主程序:ORG 0000HLJMP MAINORG 0003H ;INT0中断入口地址LJMP INT0PORG 0013H ;INT1中断入口地址LJMP INT1PORG 000BH ;T0中断入口地址LJMP T0INTMAIN: MOV R0,#30H ;RAM首地址 MOV SP,#60H ;设置堆栈区 ;8279初始化程序: MOV DPTR,#BFFFH ;指向命令口 MOV A,#0D1H;总清除命令 MOVX DPTR,A;总清除命令送入 NOP NOPLOOP: MOVX A,DPTR;读入状态字节JB ACC.7,LOOP;清除等待MOV A,#34H;时钟20分频至100KHZ命令字MOVX DPTR,A;命令送入MOV A,#00H;键盘、显示命令MOVX DPTR,A;命令送入;T0初始化程序:MOV TMOD,#01H;0000 0001 T0方式1 MOV TH0,#3CH;T0定时100msMOV TL0,#0B0HMOV R7,#10;中断10次计数SETB ET0;开T0定时中断SETB EA;开CPU中断SETB TR0;启动定时器T0,开始定时SETB IT0;边沿触发SETB EX0;INT0开中断SETB EA;CPU开中断SJ: SJMP $;等待 SJMP SJT0中断服务程序:T0INT: DJNZ R7,T01;T0中断服务程序 MOV DPTR,#7FFFH;ADC0801通道地址LCALL MH;调模糊推理查表子程序SETB IT1;边沿触发SETB ET1;INT1开中断SETB EA;CPU开中断SJMP $;等待T01: MOV TH0,#3CH;T0重装值MOV TL0,#0B0HSETB TR0;启动T0计时RETIINT1中断服务程序:MOVX A,DPTR;采样MOV R0,#30H;设置间址指针MOV R0,A;将采样数据送到30HMOV R0,#31H;设置间址指针MOV R0,A;将采样数据送到31HINC R0;地址指针指向下一地址CLR IT1;清除边沿触发CLR ET1;关INT1中断CLR EA;关CUP中断DJNZ R6, M1;采样计数减1不为0跳转LCALL LB;调用滤波程序LCALL PCH;调用计算偏差程序SJMP $;等待RETI模糊推理查表子程序:MH: MOV DPTR,#CFFFHMOV A,#34H;把控制信号送出MOVX DPTR,A滤波程序:LB: PUSH PSW;保护PSW、APUSH AMOV R1, 40H;把第1次采样数据送到R1MOV R2, 41H;把第2次采样数据送到R2MOV A,R1;把第1次采样数据送到ACLR CSUBB A,R2;第1次采样数据大于第2次采样数据?MOV A,R1XCH A,R2;第1次采样数据和第2次采样数据互换MOV R1,ALOB01: POP A;恢复现场POP PSWRETLOB02: MOV A,R1MOV R0,AAJMP LOB01LOB04: MOV A,R3MOV R0,AAJMP LOB02键盘散转子程序:KEY: LJMP K1;转设定时间程序路口 LJMP K2;转东西绿灯亮程序路口 LJMP K3;转南北绿灯亮程序路口显示子程序: DIS: PUSH DPH;提示符显示代码入栈保护 PUSH DPL MOV R2,#08H;显示器LED位数送R2 MOV A,#90H;写显示RAM命令字 MOV DPTR #BFFFH;8279命令口地址 MOVX DPTR,A;将命令字写入8279 POP DPL;回恢复地址 POP DPH TI: MOV A,#00H;采用固定偏移量查提示符表 MOVC A,A+DPTR;查提示符代码表相对偏移量 PUSH DPH PUSH DPL MOV DPTR,#TAB;指向段选码表首地址 MOVC A,A+DPTR;取段选码送A MOV DPTR,#9FFFH;指向8279数据口 MOVX
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!