毕业设计-基于单片机的智能交通灯控制系统的设计

智能交通灯控制系统的设计

上海交通大学

学 生 姓 名

学 号

专 业 (班 级) 测试计量技术及仪器 B0903592 1090359019 1090359020 皮文苑 胡文涛 课 程 名 称 智 能 仪 器 设 计

任 课 教 师 丁 国 清

学院名称 电子信息与电气工程学院

1

基于单片机的智能交通灯控制系统的设计

目 录

第一章 绪论 ............................................................3

1.1 交通灯控制系统的研究现状 ........................................3

1.2基于单片机的智能交通灯控制系统设计的意义 ........................2

第二章 智能交通灯控制系统的相关设计 ....................................4

2.1 智能交通灯控制系统规划 ..........................................4

2.2 智能交通灯控制系统设计原理 ......................................4

2.3智能交通灯控制系统设计实现的功能 ................................5

第三章 智能交通灯控制系统的硬件设计 ...................................6

3.1 AT89S51单片机简介 ..............................................6

3.1.1 AT89S51单片机的主要性能参数 ...............................6

3.1.2 AT89S51芯片内部结构简介 ...................................6

3.1.3 主要引脚功能 ..............................................7

3.2 控制器的原理框图 ................................................9

3.3 各模块控制电路 .................................................11

3.3.1、车检测电路 ..............................................11

3.3.2 信号灯电路 ..............................................13

3.3.3 时间显示电路 .............................................13

3.3.4 紧急转换电路 .............................................15

第四章 智能交通灯控制系统的软件设计 ...................................18

4.1交通灯的软件设计流程图 .........................................18

4.2 控制器的软件设计 ...............................................18

4.2.1 每秒钟的设定 ............................................19

4.2.2 1秒的方法 ...............................................19

4.2.3 软件延时 ................................................20

第五章 系统分析及改进措施 ............................................21

参考文献 ..............................................................22

第一章 绪论

1.1 交通灯控制系统的研究现状

在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。而中国最早的马路交通灯却是诞生于1928年的上海英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。但是,随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。

随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。

1.2基于单片机的智能交通灯控制系统设计的意义

国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。

基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。

智能交通灯控制系统的设计

第二章 智能交通灯控制系统的相关设计

2.1 智能交通灯控制系统规划

我们将系统设计成可分离单独工作的主控制机与客户端的形式,但是和传统的C/S模式不一样的是,每个终端机可以脱离主控制机而独立工作。即使主控制机停止工作,或者由于某种原因不能正常工作,各终端机也可以照常稳定的工作。各个终端机负责管理路口的多个信号灯。为了方便我们称主控制机为主系统,各个终端机称为子系统。控制系统的总框图如图2-1示

图 2-1 总框图

2.2 智能交通灯控制系统设计原理

本设计中车辆检测电路中用到了模糊控制原理,模糊控制原理简单的说即是亦此亦彼的模糊逻辑, 模糊逻辑不是二者逻辑——非此即彼的推理,它也不是传统意义的多值逻辑,而是在承认事物隶属真值中间过渡性的同时,还认为事物在形态和类属方面具有亦此亦彼性。模棱两可性——模糊性。正因如此,模糊计算可以处理不精确的模糊输入信息,可以有效降低感官灵敏度和精确度的要求,而且所需要存储空间少,能够抓住信息处理的主要矛盾,保证信息处理的实时性。多功能性和满意性。

美国加州大学L.A.Zadeh博士于1965年发表了关于模糊集的论文,首次提出了表达事物模糊性的重要概念——隶属函数。这篇论文把元素对集的隶属度从原来的非0即1推广到可以取区间【0,1】的任何值,这样用隶属度定量地描述论域中元素符合论域概念的程度,就实现了对普通集合的扩展,从而可以用隶属函数表示模糊集。模糊集理论构成了模糊计算系统的基础,人们在此基础上把人工智能中关于知识表示和推理的方法引入进来,或者说把模糊集理论用到知识工程中去就形成了模

4

智能交通灯控制系统的设计

糊逻辑和模糊推理;为了克服这些模糊系统知识获取的不足及学习能力低下的缺点,又把神经计算加入到这些模糊系统中,形成了模糊神经系统。这些研究都成为人工智能研究的热点,因为它们表现出了许多领域专家才具有的能力。同时,这些模糊系统在计算形式 上一般都以数值计算为主,也通常被人们归为软计算。智能计算的范畴。 模糊计算在应用上可是一点都不含糊,其应用范围非常广泛,它在家电产品中的应用已被人们所接受,例如,模糊洗衣机。模糊冰箱。模糊相机等。另外,在专家系统。智能控制等许多系统中,模糊计算也都大显身手。究其原因,就在于它的工作方式与人类的认知过程是极为相似的。在这里,笔者结合自己的研究实践,以一个建筑结构选型的专家系统为例,说明模糊推理系统是如何模仿领域专家的思维进行工作的,其中所用到的步骤。计算过程在其他模糊系统中也具有典型的代表性。

2.3智能交通灯控制系统设计实现的功能

智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

在传统交通灯控制系统的基础上,智能交通灯控制系统实现以下功能: 1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短

2) 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆.

3) 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数

码管显示器进行显示(采用倒计时的方法)。

4) 同步设置人行横道红、绿灯指示。

5) 考虑到特殊车辆情况,设置紧急转换开头。

智能交通灯控制系统的设计

糊逻辑和模糊推理;为了克服这些模糊系统知识获取的不足及学习能力低下的缺点,又把神经计算加入到这些模糊系统中,形成了模糊神经系统。这些研究都成为人工智能研究的热点,因为它们表现出了许多领域专家才具有的能力。同时,这些模糊系统在计算形式 上一般都以数值计算为主,也通常被人们归为软计算。智能计算的范畴。 模糊计算在应用上可是一点都不含糊,其应用范围非常广泛,它在家电产品中的应用已被人们所接受,例如,模糊洗衣机。模糊冰箱。模糊相机等。另外,在专家系统。智能控制等许多系统中,模糊计算也都大显身手。究其原因,就在于它的工作方式与人类的认知过程是极为相似的。在这里,笔者结合自己的研究实践,以一个建筑结构选型的专家系统为例,说明模糊推理系统是如何模仿领域专家的思维进行工作的,其中所用到的步骤。计算过程在其他模糊系统中也具有典型的代表性。

2.3智能交通灯控制系统设计实现的功能

智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

在传统交通灯控制系统的基础上,智能交通灯控制系统实现以下功能: 1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短

2) 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆.

3) 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数

码管显示器进行显示(采用倒计时的方法)。

4) 同步设置人行横道红、绿灯指示。

5) 考虑到特殊车辆情况,设置紧急转换开头。

智能交通灯控制系统的设计

第三章 智能交通灯控制系统的硬件设计 3.1 AT89S51单片机简介

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器 既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

3.1.1 AT89S51单片机的主要性能参数

与单片机产品兼容8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

3.1.2 AT89S51芯片内部结构简介

·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(内部RAM):

数据存储器用于存放变化的数据。AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。

·程序存储器(内部ROM):

程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89S51内部配置了4KB闪存。

·定时/计数器(ROM):

定时/计数器用于实现定时和计数功能。AT89S51共有2个16位定时/计数器。 ·并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

·全双工串行口:

A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串

6

行口既可以用作异步通信收发器,也可以当同步移位器使用。

·时钟电路:

时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

·中断系统:

中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。

图3-1 AT89S51系列单片机的内部结构示意图

3.1.3 主要引脚功能

图3-2 AT89S51引脚图

·VCC:电源电压

·GND:地

·P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

·P1口:Pl 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。

表3-1 具有第二功能的P1口引脚

·P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。

·P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如表3-2所示:

表3-2 具有第二功能的P1口引脚

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。

·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

·PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。

·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。

·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。

3.2 控制器的原理框图 ——————————————————————

按任务和要求,可画出该控制器的原理框图, 为确保十字路口的交通安全,往往都采用交通灯自动控制系统来控制交通信号。其中红灯(R)亮,表示禁止通行;黄灯(Y)亮表示暂停;绿灯(G)亮表示允许通行。

1) 控制器的系统框图如图3-3所示。

图3-3 控制器的系统框图

大家都明白,绿灯的放行时间与车辆通过数量不成正比。比如说20秒内每车道可以通过20辆车,40秒内每车道却可以通过45辆车。因为这有一个起步的问题,还有一个黄灯等待问题。也就是说,绿灯放行时间越长,单位时间通过车辆的数量就越多。我们来计算一下,每车道通行20秒内可以通过20辆车,一个红绿灯循环是40秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要50秒,即50秒内通行的车辆为40辆。通过一辆车的平均时间是1.25秒。如果每次车辆通行的时间改为40秒,40秒内每车道可以通过45辆,一个红绿灯循环是80秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要90秒,即90秒内通行的车辆为90辆。通过一辆车的平均时间只需1秒。显然在车辆拥挤的情况下绿灯的通行时间越长,单位时间内通行的车辆越多,可以有效缓解车辆拥堵问题。当然绿灯时间也不可能无限长,要考虑到让另一路口的等待时间不能过长。人们总是希望在交通灯前等候的时间越短越好。所以笔者设定了绿灯通行时间的上限为40秒。在非拥挤时段绿灯的通行时间的下限为20秒,当交叉路口双方车辆较少时通行时间设为20秒,这样可以大大缩短车辆在红灯面前的等待时间。当交叉路口双方车辆较多时通行时间设为40秒。

图3-4 智能交通灯电路图

3.3 各模块控制电路

交通灯系统由四部分组成:车检测电路,信号灯电路,时间显示电路,紧急转换开关。

3.3.1、车检测电路

用来判断各方向车辆状况,比如:20秒内可以通过的车辆为20辆,当20秒内南往北方向车辆通过车辆达不到20辆时,判断该方向为少车,当20秒内北往南方向车辆通过车辆也达不到20辆时,判断该方向也为少车,下一次通行仍为20秒,当20秒时间内南往北或北往南任意一个方向通过的车辆达20辆时证明该状态车辆较多,下一次该方向绿灯放行时间改为40秒,当40秒内通过的车辆数达45辆时车辆判断为拥挤,

下一次绿灯放行时间改仍为

40秒,当40秒车辆上通过车辆达不到

45辆时,判断为少车,下次绿灯放行时间改为20秒,

依此类推。

绿灯下限时间为20

秒,上限值为

40秒,初始时间为20秒。这样检测,某次可能不准确,但下次肯定能弥补回来,累积计算是很准确的,这就是人们常说的“模糊控制”。因为路上的车不可能突然增多,塞车都有一个累积过程。这样控制可以把不断增多的车辆一步一步消化,虽然最后由于每个路口的绿灯放行时间延长而使等候的时间变长,但比塞车等候的时间短得多。本系统的特点是成本低,控制准确。十字路口车辆通行顺序如图5所示:

南往北通行 北向南通行 东往西通行 西往东能行

图3-5 十字路口车辆通行顺序

由于南往北,北往南时间显示相同,所以只要一个方向多车,下次时间就要加长东往西,西往东也一样,显示时间选择如表3-3.

3.3.2 信号灯电路

信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图3-6。每个路口的信号的的转换顺序为:绿——>黄——>红 绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行。绿灯的最短时间为20秒,最长时间为40秒,红红最短时间为25秒,最长时间为45秒,黄灯时间为5秒。

红黄绿

红黄绿

绿黄红

红黄绿

绿黄红

绿黄红

红黄绿

红黄绿

3.3.3 时间显示电路

在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为0-99秒完全可以满足系统的要求,数码管连接方法如图3-7所示

红黄绿

绿黄红

绿黄红

绿黄红

红黄绿

红黄绿

绿黄红

红黄绿

图3-6 交通信号灯运行状态

图3-7 数码管连接方法

下面我们用这种方法显示交通灯的时间,南北方向要显示20秒,东西方向要显示25秒,那么我们先给P0口送2的共阴极码即5BH,让第一位2要显示的位码GND段为低电平,其它三位的控制端都接高电平,那么第一位就显示2,其它三位不亮。让其显示1MS后再给P0口送0的共阴极码即3FH,让第二位要显示0的位码GND段为低电平,其它三位的控制端都接高电平,那么第二位就显示0,其它三位不亮。依此类推分别送完第一位2,第二位0,第三位2,第四位5,每一位点亮1MS一个扫描周期为4MS,一秒时间就要扫描250次其程序如下: MOV R6,#250;显扫描次数 LOOP:

MOV P0,#5BH ;送2的共阴极码 CLR P2.0;第一位显示2 ACALL D1MS ;延时1MS SETB P2.0 ;灭第一位

MOV P0,#3FH ;送0的共阴极码 CLR P2.1;第二位显示0 ACALL D1MS ;延时1MS

SETB P2.1 ;灭第二位

MOV P0,#5BH ;送2的共阴极码

CLR P2.2;第三位显示2

ACALL D1MS ;延时1MS

SETB P2.2 ;灭第三位

MOV P0,#6DH ;送5的共阴极码

CLR P2.3;第四位显示5

ACALL D1MS ;延时1MS

SETB P2.3 ;灭第四位

DJNZ R7,LOOP;不够一秒,继续扫描

NEXTNUMBER;到一秒显示下一个数

D1MS: ;1MS延时程序

STAT1:MOV R4,#2

MOV R3,#250

DJNZ R3,$

DJNZ R4,STAT1

RET

3.3.4 紧急转换电路

一般情况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关,下面简述单片机的中断原理。

ⅰ) Mcs—51的中断源

8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制,其中5个中断源的程序入口地址如表3-4所示:

ⅱ) 中断的处理流程

CPU响应中断请求后,就立即转入执行中断服务程序。不同的中断源、不同的中断要求可能有不同的中断处理方法,但它们的处理流程一般都如下所述:

(1)现场保护和现场恢复:

中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份——即保护现场。我们举个例子,在看书时,电话玲响需传去接电话时,必须在书本上做个记号,以便在接完电话后回来看书时,知道从哪些内容继续往下看。计算机的中断处理方法也如此,中断开始前需将有关寄存器的内容压入堆栈进行保存,以便在恢复原来程序时使用。中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。 如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,程序跑飞,自然使单片机不能正常工作。

(2)中断打开和中断关闭:

在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的中断,待这个操作完成后再打开总中断,以便实现中断嵌套。

(3)中断服务程序:

既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。

(4)中断返回:

执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。在MCS-51单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。

ⅲ) 交通灯中的中断处理流程

(1)现场保护和现场恢复:

有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。

(2)中断打开和中断关闭:

为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。

(3)中断服务程序:

有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。

(4) 中断返回:

执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。

智能交通灯控制系统的设计

第四章 智能交通灯控制系统的软件设计

4.1交通灯的软件设计流程图

智能交通灯的软件设计流程图如图4-1所示:

图4-1 交通灯的软件设计流程图

4.2 控制器的软件设计

4.2.1 每秒钟的设定

延时方法可以有两种一中是利用MCS-51内部定时器产生溢出中断来确定1秒的时间,另一种是采用软件延时的方法。

计数器硬件延时

.a计数器初值计算

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C

式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28

.b 计算公式

T=(M-TC)T计数

18

智能交通灯控制系统的设计 或TC=M-C/T计数

T计数是单片机时钟周期TCLK的12倍;TC为定时初值

如单片机的主脉冲频率为TCLK12MHZ ,经过12分频

方式0 TMAX=213 *1微秒=8.912毫秒

方式1 TMAX=216 *1微秒=65.536毫秒

显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。

4.2.2 1秒的方法

我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。

相应程序代码

(1)主程序

定时器需定时50毫秒,故T0工作于方式1。 初值:

TC=M-T/ T计数 =216 -50ms/1us=15536=3CBOH

ORG 1000H

START: MOV TMOD, #01H ; 令T0为定时器方式1

MOV TH0, #3CH ;装入定时器初值

MOV TL0, #BOH ;

MOV IE, #82H ;开T0中断

SEBT TRO ;启动T0计数器

MOV RO, #14H ;软件计数器赋初值

LOOP: SJMP $ ;等待中断

(2)中断服务子程序

ORG 00BH

AJMP BRT0

ORG 00BH

BRT0:DJNZ R0,NEXT

AJMP TIME ; 跳转到时间及信号灯显示子程序

DJNZ:MOV R0,#14H ;恢复R0值

MOV TH0, #3CH ;重装入定时器初值

MOV TL0, #BOH ;

MOV IE, #82H

RET1

智能交通灯控制系统的设计 END

4.2.3 软件延时

MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。

具体的延时程序分析:

DELAY:MOV R4,#08H 延时1秒子程序

DE2:LCALL DELAY1

DJNZ R4,DE2

RET

DELAY1:MOV R6,#0 ;延时125ms 子程序

MOV R5,#0

DE1: DJNZ R5,$

DJNZ R6,DE1

RET

MOV RN,#DATA ;字节数数为2 ,机器周期数为1

所以此指令的执行时间为2ms,而DELAY1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us 。DELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

第五章 系统分析及改进措施

智能控制交通系统实现是目前研究的方向,也已经取得不少成果,但传统的定时交通灯控制仍然在一些地方广泛应用,那是车流量不大,而且交通道路相对好的地方,传统的定时交通灯控制还是起到了一定的作用。但随着社会的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这时候,智能交通灯控制将会起到疏导交通,改善城市交通环境,推动城市化日益完善!基于Proteus智能交通灯控制系统软件设计上有两个主要特点,一方面是本设计采用模糊控制方法实现交通的控制,由于模糊控制不需要建立被控对象精确的数学模型,特别适用于随机的.复杂的城市交通控制,因此以多变少为例子,在通行时间方面控制设置为20s→25s→40s→45s→20s 为一个循环,根据车流量,合理分配了通行时间。另一方面,设计应急转换开关,考虑紧急车通过时,譬如,急救车或消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。实验测试结果证明用本系统PIC 单片机能完成交通灯控制过程,有效地疏导交通,提高了交通路口的通行能力.

该系统应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.

但功能还不够完善,比如交通灯红、黄、绿时间还不能按交通紧松完成手控调整,软件编写实现功能还不能很好控制硬件,本系统将增加更多功能,比如手控时间的调节,摄像机交通监控的控制,盲人通过时交通灯的控制等,使系统更加完善.

参考文献

[1]陈大钦 电子技术基础实验 [M].北京:高等教育出版社 2004

[2]陈梓城 电子技术实训 [M].北京:机械工业出版社 2003

[3]吴黎明 单片机原理及应用技术[M].北京:科学出版社 2003

[4]李学海 标准80C51单片机基础教程[M].北京: 北京航空航天大学出版社 2006

[5]刘乐善 微型计算机接口技术及应用[M].北京: 华中科技大学出版社 2004

[6] 陈炳权 曾庆六 EDA技术实用教程[M].北京: 湘潭大学出版社 2010

[7] 先锋工作室. 单片机程序实例[M].北京:清华大学出版社,2002.

[8] 李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,

2004.

[9] 吴洪潭,肖艳萍,赵伟国.单片机原理及应用系统设计[M].北京:国防工业出版社,2005.

[10] 吴黎明, 王桂棠, 洪添胜, 等. 单片机原理及应用技术[ M ] . 北京: 科学出版社,2005.

[11] 韩克, 柳秀山, 等. 电子技能与E D A 技术[M].广州:暨南大学出版社,2004.

[12] 周润景. 张丽娜. 基于P R O T E U S 的电路及单片机系统设计与仿真[ M ] . 北京:航空航天大学出版社, 2 0 0 6 .

智能交通灯控制系统的设计

上海交通大学

学 生 姓 名

学 号

专 业 (班 级) 测试计量技术及仪器 B0903592 1090359019 1090359020 皮文苑 胡文涛 课 程 名 称 智 能 仪 器 设 计

任 课 教 师 丁 国 清

学院名称 电子信息与电气工程学院

1

基于单片机的智能交通灯控制系统的设计

目 录

第一章 绪论 ............................................................3

1.1 交通灯控制系统的研究现状 ........................................3

1.2基于单片机的智能交通灯控制系统设计的意义 ........................2

第二章 智能交通灯控制系统的相关设计 ....................................4

2.1 智能交通灯控制系统规划 ..........................................4

2.2 智能交通灯控制系统设计原理 ......................................4

2.3智能交通灯控制系统设计实现的功能 ................................5

第三章 智能交通灯控制系统的硬件设计 ...................................6

3.1 AT89S51单片机简介 ..............................................6

3.1.1 AT89S51单片机的主要性能参数 ...............................6

3.1.2 AT89S51芯片内部结构简介 ...................................6

3.1.3 主要引脚功能 ..............................................7

3.2 控制器的原理框图 ................................................9

3.3 各模块控制电路 .................................................11

3.3.1、车检测电路 ..............................................11

3.3.2 信号灯电路 ..............................................13

3.3.3 时间显示电路 .............................................13

3.3.4 紧急转换电路 .............................................15

第四章 智能交通灯控制系统的软件设计 ...................................18

4.1交通灯的软件设计流程图 .........................................18

4.2 控制器的软件设计 ...............................................18

4.2.1 每秒钟的设定 ............................................19

4.2.2 1秒的方法 ...............................................19

4.2.3 软件延时 ................................................20

第五章 系统分析及改进措施 ............................................21

参考文献 ..............................................................22

第一章 绪论

1.1 交通灯控制系统的研究现状

在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。而中国最早的马路交通灯却是诞生于1928年的上海英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。但是,随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。

随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。

1.2基于单片机的智能交通灯控制系统设计的意义

国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。

基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。

智能交通灯控制系统的设计

第二章 智能交通灯控制系统的相关设计

2.1 智能交通灯控制系统规划

我们将系统设计成可分离单独工作的主控制机与客户端的形式,但是和传统的C/S模式不一样的是,每个终端机可以脱离主控制机而独立工作。即使主控制机停止工作,或者由于某种原因不能正常工作,各终端机也可以照常稳定的工作。各个终端机负责管理路口的多个信号灯。为了方便我们称主控制机为主系统,各个终端机称为子系统。控制系统的总框图如图2-1示

图 2-1 总框图

2.2 智能交通灯控制系统设计原理

本设计中车辆检测电路中用到了模糊控制原理,模糊控制原理简单的说即是亦此亦彼的模糊逻辑, 模糊逻辑不是二者逻辑——非此即彼的推理,它也不是传统意义的多值逻辑,而是在承认事物隶属真值中间过渡性的同时,还认为事物在形态和类属方面具有亦此亦彼性。模棱两可性——模糊性。正因如此,模糊计算可以处理不精确的模糊输入信息,可以有效降低感官灵敏度和精确度的要求,而且所需要存储空间少,能够抓住信息处理的主要矛盾,保证信息处理的实时性。多功能性和满意性。

美国加州大学L.A.Zadeh博士于1965年发表了关于模糊集的论文,首次提出了表达事物模糊性的重要概念——隶属函数。这篇论文把元素对集的隶属度从原来的非0即1推广到可以取区间【0,1】的任何值,这样用隶属度定量地描述论域中元素符合论域概念的程度,就实现了对普通集合的扩展,从而可以用隶属函数表示模糊集。模糊集理论构成了模糊计算系统的基础,人们在此基础上把人工智能中关于知识表示和推理的方法引入进来,或者说把模糊集理论用到知识工程中去就形成了模

4

智能交通灯控制系统的设计

糊逻辑和模糊推理;为了克服这些模糊系统知识获取的不足及学习能力低下的缺点,又把神经计算加入到这些模糊系统中,形成了模糊神经系统。这些研究都成为人工智能研究的热点,因为它们表现出了许多领域专家才具有的能力。同时,这些模糊系统在计算形式 上一般都以数值计算为主,也通常被人们归为软计算。智能计算的范畴。 模糊计算在应用上可是一点都不含糊,其应用范围非常广泛,它在家电产品中的应用已被人们所接受,例如,模糊洗衣机。模糊冰箱。模糊相机等。另外,在专家系统。智能控制等许多系统中,模糊计算也都大显身手。究其原因,就在于它的工作方式与人类的认知过程是极为相似的。在这里,笔者结合自己的研究实践,以一个建筑结构选型的专家系统为例,说明模糊推理系统是如何模仿领域专家的思维进行工作的,其中所用到的步骤。计算过程在其他模糊系统中也具有典型的代表性。

2.3智能交通灯控制系统设计实现的功能

智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

在传统交通灯控制系统的基础上,智能交通灯控制系统实现以下功能: 1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短

2) 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆.

3) 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数

码管显示器进行显示(采用倒计时的方法)。

4) 同步设置人行横道红、绿灯指示。

5) 考虑到特殊车辆情况,设置紧急转换开头。

智能交通灯控制系统的设计

糊逻辑和模糊推理;为了克服这些模糊系统知识获取的不足及学习能力低下的缺点,又把神经计算加入到这些模糊系统中,形成了模糊神经系统。这些研究都成为人工智能研究的热点,因为它们表现出了许多领域专家才具有的能力。同时,这些模糊系统在计算形式 上一般都以数值计算为主,也通常被人们归为软计算。智能计算的范畴。 模糊计算在应用上可是一点都不含糊,其应用范围非常广泛,它在家电产品中的应用已被人们所接受,例如,模糊洗衣机。模糊冰箱。模糊相机等。另外,在专家系统。智能控制等许多系统中,模糊计算也都大显身手。究其原因,就在于它的工作方式与人类的认知过程是极为相似的。在这里,笔者结合自己的研究实践,以一个建筑结构选型的专家系统为例,说明模糊推理系统是如何模仿领域专家的思维进行工作的,其中所用到的步骤。计算过程在其他模糊系统中也具有典型的代表性。

2.3智能交通灯控制系统设计实现的功能

智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

在传统交通灯控制系统的基础上,智能交通灯控制系统实现以下功能: 1) 设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短

2) 每次绿灯变红灯时,要求黄灯先亮5S,才能变换运行车辆.

3) 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数

码管显示器进行显示(采用倒计时的方法)。

4) 同步设置人行横道红、绿灯指示。

5) 考虑到特殊车辆情况,设置紧急转换开头。

智能交通灯控制系统的设计

第三章 智能交通灯控制系统的硬件设计 3.1 AT89S51单片机简介

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器 既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

3.1.1 AT89S51单片机的主要性能参数

与单片机产品兼容8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

3.1.2 AT89S51芯片内部结构简介

·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(内部RAM):

数据存储器用于存放变化的数据。AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。

·程序存储器(内部ROM):

程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89S51内部配置了4KB闪存。

·定时/计数器(ROM):

定时/计数器用于实现定时和计数功能。AT89S51共有2个16位定时/计数器。 ·并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

·全双工串行口:

A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串

6

行口既可以用作异步通信收发器,也可以当同步移位器使用。

·时钟电路:

时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

·中断系统:

中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。

图3-1 AT89S51系列单片机的内部结构示意图

3.1.3 主要引脚功能

图3-2 AT89S51引脚图

·VCC:电源电压

·GND:地

·P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

·P1口:Pl 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。

表3-1 具有第二功能的P1口引脚

·P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@Ri 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。

·P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如表3-2所示:

表3-2 具有第二功能的P1口引脚

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。

·ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

·PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。

·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。

·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。

3.2 控制器的原理框图 ——————————————————————

按任务和要求,可画出该控制器的原理框图, 为确保十字路口的交通安全,往往都采用交通灯自动控制系统来控制交通信号。其中红灯(R)亮,表示禁止通行;黄灯(Y)亮表示暂停;绿灯(G)亮表示允许通行。

1) 控制器的系统框图如图3-3所示。

图3-3 控制器的系统框图

大家都明白,绿灯的放行时间与车辆通过数量不成正比。比如说20秒内每车道可以通过20辆车,40秒内每车道却可以通过45辆车。因为这有一个起步的问题,还有一个黄灯等待问题。也就是说,绿灯放行时间越长,单位时间通过车辆的数量就越多。我们来计算一下,每车道通行20秒内可以通过20辆车,一个红绿灯循环是40秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要50秒,即50秒内通行的车辆为40辆。通过一辆车的平均时间是1.25秒。如果每次车辆通行的时间改为40秒,40秒内每车道可以通过45辆,一个红绿灯循环是80秒(单交叉路口),加上每次状态转换的黄灯5秒(一个循环要两次转换),即一个红绿黄灯循环要90秒,即90秒内通行的车辆为90辆。通过一辆车的平均时间只需1秒。显然在车辆拥挤的情况下绿灯的通行时间越长,单位时间内通行的车辆越多,可以有效缓解车辆拥堵问题。当然绿灯时间也不可能无限长,要考虑到让另一路口的等待时间不能过长。人们总是希望在交通灯前等候的时间越短越好。所以笔者设定了绿灯通行时间的上限为40秒。在非拥挤时段绿灯的通行时间的下限为20秒,当交叉路口双方车辆较少时通行时间设为20秒,这样可以大大缩短车辆在红灯面前的等待时间。当交叉路口双方车辆较多时通行时间设为40秒。

图3-4 智能交通灯电路图

3.3 各模块控制电路

交通灯系统由四部分组成:车检测电路,信号灯电路,时间显示电路,紧急转换开关。

3.3.1、车检测电路

用来判断各方向车辆状况,比如:20秒内可以通过的车辆为20辆,当20秒内南往北方向车辆通过车辆达不到20辆时,判断该方向为少车,当20秒内北往南方向车辆通过车辆也达不到20辆时,判断该方向也为少车,下一次通行仍为20秒,当20秒时间内南往北或北往南任意一个方向通过的车辆达20辆时证明该状态车辆较多,下一次该方向绿灯放行时间改为40秒,当40秒内通过的车辆数达45辆时车辆判断为拥挤,

下一次绿灯放行时间改仍为

40秒,当40秒车辆上通过车辆达不到

45辆时,判断为少车,下次绿灯放行时间改为20秒,

依此类推。

绿灯下限时间为20

秒,上限值为

40秒,初始时间为20秒。这样检测,某次可能不准确,但下次肯定能弥补回来,累积计算是很准确的,这就是人们常说的“模糊控制”。因为路上的车不可能突然增多,塞车都有一个累积过程。这样控制可以把不断增多的车辆一步一步消化,虽然最后由于每个路口的绿灯放行时间延长而使等候的时间变长,但比塞车等候的时间短得多。本系统的特点是成本低,控制准确。十字路口车辆通行顺序如图5所示:

南往北通行 北向南通行 东往西通行 西往东能行

图3-5 十字路口车辆通行顺序

由于南往北,北往南时间显示相同,所以只要一个方向多车,下次时间就要加长东往西,西往东也一样,显示时间选择如表3-3.

3.3.2 信号灯电路

信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态见图3-6。每个路口的信号的的转换顺序为:绿——>黄——>红 绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行。绿灯的最短时间为20秒,最长时间为40秒,红红最短时间为25秒,最长时间为45秒,黄灯时间为5秒。

红黄绿

红黄绿

绿黄红

红黄绿

绿黄红

绿黄红

红黄绿

红黄绿

3.3.3 时间显示电路

在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以时间的时间为0-99秒完全可以满足系统的要求,数码管连接方法如图3-7所示

红黄绿

绿黄红

绿黄红

绿黄红

红黄绿

红黄绿

绿黄红

红黄绿

图3-6 交通信号灯运行状态

图3-7 数码管连接方法

下面我们用这种方法显示交通灯的时间,南北方向要显示20秒,东西方向要显示25秒,那么我们先给P0口送2的共阴极码即5BH,让第一位2要显示的位码GND段为低电平,其它三位的控制端都接高电平,那么第一位就显示2,其它三位不亮。让其显示1MS后再给P0口送0的共阴极码即3FH,让第二位要显示0的位码GND段为低电平,其它三位的控制端都接高电平,那么第二位就显示0,其它三位不亮。依此类推分别送完第一位2,第二位0,第三位2,第四位5,每一位点亮1MS一个扫描周期为4MS,一秒时间就要扫描250次其程序如下: MOV R6,#250;显扫描次数 LOOP:

MOV P0,#5BH ;送2的共阴极码 CLR P2.0;第一位显示2 ACALL D1MS ;延时1MS SETB P2.0 ;灭第一位

MOV P0,#3FH ;送0的共阴极码 CLR P2.1;第二位显示0 ACALL D1MS ;延时1MS

SETB P2.1 ;灭第二位

MOV P0,#5BH ;送2的共阴极码

CLR P2.2;第三位显示2

ACALL D1MS ;延时1MS

SETB P2.2 ;灭第三位

MOV P0,#6DH ;送5的共阴极码

CLR P2.3;第四位显示5

ACALL D1MS ;延时1MS

SETB P2.3 ;灭第四位

DJNZ R7,LOOP;不够一秒,继续扫描

NEXTNUMBER;到一秒显示下一个数

D1MS: ;1MS延时程序

STAT1:MOV R4,#2

MOV R3,#250

DJNZ R3,$

DJNZ R4,STAT1

RET

3.3.4 紧急转换电路

一般情况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关,下面简述单片机的中断原理。

ⅰ) Mcs—51的中断源

8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制,其中5个中断源的程序入口地址如表3-4所示:

ⅱ) 中断的处理流程

CPU响应中断请求后,就立即转入执行中断服务程序。不同的中断源、不同的中断要求可能有不同的中断处理方法,但它们的处理流程一般都如下所述:

(1)现场保护和现场恢复:

中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份——即保护现场。我们举个例子,在看书时,电话玲响需传去接电话时,必须在书本上做个记号,以便在接完电话后回来看书时,知道从哪些内容继续往下看。计算机的中断处理方法也如此,中断开始前需将有关寄存器的内容压入堆栈进行保存,以便在恢复原来程序时使用。中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。 如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,程序跑飞,自然使单片机不能正常工作。

(2)中断打开和中断关闭:

在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的中断,待这个操作完成后再打开总中断,以便实现中断嵌套。

(3)中断服务程序:

既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。

(4)中断返回:

执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。在MCS-51单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。

ⅲ) 交通灯中的中断处理流程

(1)现场保护和现场恢复:

有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。

(2)中断打开和中断关闭:

为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。

(3)中断服务程序:

有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。

(4) 中断返回:

执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。

智能交通灯控制系统的设计

第四章 智能交通灯控制系统的软件设计

4.1交通灯的软件设计流程图

智能交通灯的软件设计流程图如图4-1所示:

图4-1 交通灯的软件设计流程图

4.2 控制器的软件设计

4.2.1 每秒钟的设定

延时方法可以有两种一中是利用MCS-51内部定时器产生溢出中断来确定1秒的时间,另一种是采用软件延时的方法。

计数器硬件延时

.a计数器初值计算

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C

式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28

.b 计算公式

T=(M-TC)T计数

18

智能交通灯控制系统的设计 或TC=M-C/T计数

T计数是单片机时钟周期TCLK的12倍;TC为定时初值

如单片机的主脉冲频率为TCLK12MHZ ,经过12分频

方式0 TMAX=213 *1微秒=8.912毫秒

方式1 TMAX=216 *1微秒=65.536毫秒

显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。

4.2.2 1秒的方法

我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。

相应程序代码

(1)主程序

定时器需定时50毫秒,故T0工作于方式1。 初值:

TC=M-T/ T计数 =216 -50ms/1us=15536=3CBOH

ORG 1000H

START: MOV TMOD, #01H ; 令T0为定时器方式1

MOV TH0, #3CH ;装入定时器初值

MOV TL0, #BOH ;

MOV IE, #82H ;开T0中断

SEBT TRO ;启动T0计数器

MOV RO, #14H ;软件计数器赋初值

LOOP: SJMP $ ;等待中断

(2)中断服务子程序

ORG 00BH

AJMP BRT0

ORG 00BH

BRT0:DJNZ R0,NEXT

AJMP TIME ; 跳转到时间及信号灯显示子程序

DJNZ:MOV R0,#14H ;恢复R0值

MOV TH0, #3CH ;重装入定时器初值

MOV TL0, #BOH ;

MOV IE, #82H

RET1

智能交通灯控制系统的设计 END

4.2.3 软件延时

MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。

具体的延时程序分析:

DELAY:MOV R4,#08H 延时1秒子程序

DE2:LCALL DELAY1

DJNZ R4,DE2

RET

DELAY1:MOV R6,#0 ;延时125ms 子程序

MOV R5,#0

DE1: DJNZ R5,$

DJNZ R6,DE1

RET

MOV RN,#DATA ;字节数数为2 ,机器周期数为1

所以此指令的执行时间为2ms,而DELAY1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us 。DELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

第五章 系统分析及改进措施

智能控制交通系统实现是目前研究的方向,也已经取得不少成果,但传统的定时交通灯控制仍然在一些地方广泛应用,那是车流量不大,而且交通道路相对好的地方,传统的定时交通灯控制还是起到了一定的作用。但随着社会的高速发展,城市化日益完善,车的数量必然增多,给交通的压力也增大,这时候,智能交通灯控制将会起到疏导交通,改善城市交通环境,推动城市化日益完善!基于Proteus智能交通灯控制系统软件设计上有两个主要特点,一方面是本设计采用模糊控制方法实现交通的控制,由于模糊控制不需要建立被控对象精确的数学模型,特别适用于随机的.复杂的城市交通控制,因此以多变少为例子,在通行时间方面控制设置为20s→25s→40s→45s→20s 为一个循环,根据车流量,合理分配了通行时间。另一方面,设计应急转换开关,考虑紧急车通过时,譬如,急救车或消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。实验测试结果证明用本系统PIC 单片机能完成交通灯控制过程,有效地疏导交通,提高了交通路口的通行能力.

该系统应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.

但功能还不够完善,比如交通灯红、黄、绿时间还不能按交通紧松完成手控调整,软件编写实现功能还不能很好控制硬件,本系统将增加更多功能,比如手控时间的调节,摄像机交通监控的控制,盲人通过时交通灯的控制等,使系统更加完善.

参考文献

[1]陈大钦 电子技术基础实验 [M].北京:高等教育出版社 2004

[2]陈梓城 电子技术实训 [M].北京:机械工业出版社 2003

[3]吴黎明 单片机原理及应用技术[M].北京:科学出版社 2003

[4]李学海 标准80C51单片机基础教程[M].北京: 北京航空航天大学出版社 2006

[5]刘乐善 微型计算机接口技术及应用[M].北京: 华中科技大学出版社 2004

[6] 陈炳权 曾庆六 EDA技术实用教程[M].北京: 湘潭大学出版社 2010

[7] 先锋工作室. 单片机程序实例[M].北京:清华大学出版社,2002.

[8] 李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,

2004.

[9] 吴洪潭,肖艳萍,赵伟国.单片机原理及应用系统设计[M].北京:国防工业出版社,2005.

[10] 吴黎明, 王桂棠, 洪添胜, 等. 单片机原理及应用技术[ M ] . 北京: 科学出版社,2005.

[11] 韩克, 柳秀山, 等. 电子技能与E D A 技术[M].广州:暨南大学出版社,2004.

[12] 周润景. 张丽娜. 基于P R O T E U S 的电路及单片机系统设计与仿真[ M ] . 北京:航空航天大学出版社, 2 0 0 6 .


    相关文章

    单片机毕业设计题目

    1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. 基于单片机控制的数字气压计的设计与实现 8. ...

    自动化毕业设计论文题目

    自 动 化 毕 业 设 计 论 文 题 目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入式激光打标机运动控制卡硬件系统设计 7. ...

    电气自动化设计论文题目大全

    机电一体化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6. 嵌入 ...

    电气自动化毕业设计论文题目

    电 气 自 动 化 毕 业 设 计 论 文 题 目 第1-100个电气自动化毕业设计论文题目 1. 智能压力传感器系统设计 2. 智能定时器 3. 液位控制系统设计 4. 液晶控制模块的制作 5. 嵌入式激光打标机运动控制卡软件系统设计 6 ...

    单片机题目毕业设计

    mcu002 ARM硬件电路板设计之外围接口电路研究mcu003 CDMA通信系统中的接入信道部分进行仿真与分析[doc格式+45页+毕业论文1.6万] mcu004 CDMA通信系统中的接入信道部分进行仿真与分析[论文+45页+1.7万+ ...

    电气专业的一些毕业设计题目

    电气专业的一些毕业设计题目 电子类: 1.红外遥控照明灯(电路+程序+论文) 2.基于单片机的多功能智能小车设计论文(电路+程序+论文) 3.基于数字信号处理器(DSP)的异步电机直接转矩控制研究(硕士)(论文+上位机下位机软件+程序) 4 ...

    基于单片机的智能小车文献综述(超详细)

    基于单片机的智能小车文献综述 摘要:随着电子工业的发展,智能技术广泛运用于各种领域,智能小车不仅在工业智能化上得到广泛的应用,而且运用于智能家居中的产品也越来越受到人们的青睐.国外智能车辆的研究历史较长.相比于国外,我国开展智能车辆技术方面 ...

    电气控制毕业设计选题

    dq001PID 温控系统的设计及仿真(MATLAB) dq002PLC 的液位控制系统实际 dq003PLC 控制的变频调速恒压供水系统 dq004PVC 电石给料机变频调速控制器的设计 ) dq005西门子PLC 的步进电机直接控制 d ...

    智能路灯控制系统设计与应用研究

    智能路灯控制系统设计与应用研究 摘 要:针对传统路灯使用和监控系统存在的问题, 分析智能控制型路灯实现的基本理论和应用优势, 提出它应具有的 基本功能:遥控.遥测.遥信.遥监.遥视.自动反馈.自动报警.统计.查询和打印.通过通讯网络和控制模 ...