收藏 分享(赏)

毕业设计(论文)-单片机控制交通灯设计.doc

上传人:dreamzhangning 文档编号:2437075 上传时间:2018-09-16 格式:DOC 页数:31 大小:1.09MB
下载 相关 举报
毕业设计(论文)-单片机控制交通灯设计.doc_第1页
第1页 / 共31页
毕业设计(论文)-单片机控制交通灯设计.doc_第2页
第2页 / 共31页
毕业设计(论文)-单片机控制交通灯设计.doc_第3页
第3页 / 共31页
毕业设计(论文)-单片机控制交通灯设计.doc_第4页
第4页 / 共31页
毕业设计(论文)-单片机控制交通灯设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、 毕业设计用纸共 31 页 第 1 页中文摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用 MSC-51 系列单片机 ATSC51 和可编程并行 I/O 接口芯片 80C51 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 8051 芯片的 P1 口

2、设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。关键词:交通灯 单片机 MSC-51 计时毕业设计用纸共 31 页 第 2 页ABSTRACTYears with the rapid development of science and technology, SCM applications are deepening at the same time promote more traditional control detection update. In real-time detection and control of th

3、e microcomputer application system, the microcontroller is often used as a core component, only the SCM knowledge is inadequate and should be based on specific hardware architecture hardware and software, to be improved. Crossroads shuttle vehicles, pedestrians bustling, car dealers Drive, people wa

4、lkways, orderly. Then rely on to achieve the discipline of the order then? Rely on the automatic traffic light is the chain of command. Many ways to control traffic lights. In this system, MSC-51 Series MCU ATSC51 and programmable parallel I / O interface chip 80C51-centered design of traffic signal

5、 controller device to realize the actual traffic volume by 8051 according to the P1 port chip set of red, green time kindle function; traffic light cycle of light, yellow light flashes when the countdown seconds left warning. The system practical, simple, powerful extensions Keywords: traffic light

6、SCM MSC-51 timing毕业设计用纸共 31 页 第 3 页目录中文摘要 .1ABSTRACT.2第一章单片机控制交通灯的背景 .51.1 交通灯的背景 .51.1.1 交通灯的历史 .51.1.2 交通灯的出现 .51.2 单片机简介 .51.2.1 单片机的发展历程 .51.2.2 单片机的 特点 .61.2.3 MCS51 单片机内部结构有 8 大部分 .61.2.4 单片机的内部结构图 .9第二章 单片机控制交通系统总体设计 .102.1 单片机交通控制系统通行方案设计 .102.2 单片机交通控制系统的功能要求 .112.2.1 倒计时显示 .112.2.2 车流量检测及调

7、整 122.2.3 时间手动设置 .122.2.4 紧急处理 122.3 单片机交通控制系统的基本构成及原理 .12第三章 系统硬件电路的设计 .143.1 系统硬件总电路构成及原理 .143.1.1 系统硬件电路构成 .143.1.2 系统工作 原理 .143.1.3 车流量检测电路及模拟 .163.1.4 八段 LED 数码管 173.3.4 其它器件 .18毕业设计用纸共 31 页 第 4 页第四章 系统软件 程序的设计 .194.1 程序主体设计流程 .194.2 子程序模块设计 .204.2.1 按键扫描程序 .204.2.2 状态灯显示及判断 .214.2.3 LED 倒计时显示

8、.224.2.4 车流量检测中断服务子程序 .224.2.5 紧停及违规中断服务子程序 .224.2.6 红绿灯时间调整程序 .234.2.7 消抖动程序 .23参考文献 .24附录 A25致谢 .30毕业设计用纸共 31 页 第 5 页第一章单片机控制交通灯的背景 1.1 交通灯的背景1.1.1 交通灯的历史19 世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868 年 12 月 10 日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当

9、时英国机械师德哈特设计、制造的灯柱高 7米,身上挂着一盏红、绿两色的提灯-煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩 ,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面世 23 天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。 从此,城市的交通信号灯被取缔了。直到 1914 年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。1.1.2 交通灯的出现随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红

10、、黄、绿三种标志) 于 1918 年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。1.2 单片机简介1.2.1

11、单片机的发展历程单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。在 MCS-51 系列单片机中,有两个子系列:51 子系列和 52 子系列。每个子系列有诺干中型号。51 系列有 8051、8751 和 8031 三个型号,后来经过改进产生了80c51、87c51、80c31 三个型号; 52 系列有 5021、8752、 8032 三个型号,改进后的型号毕业设计用纸共 31 页 第 6 页是 80c52/87c52、80c32 。改进后的型号更加省电。 52 系列比对应的 51 系列增加了定时器T2 并将内部程

12、序存贮器增加到 8KB。Inter 公司停止生产 MCS-51 系列单片机之后将生产权转让给了许多其他公司,于是出现了许多与 Mcs-51 兼容的单片机。现在生产 mcs-51 兼容单片机的公司对其进行了不同程度的改进和提高。我们现在使用比较的多的是AT89C51/AT89s51 等。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它们的 CPU 功能在增强,内部资源在增多,引角的

13、多功能化,以及低电压底功耗。1.2.2 单片机的特点(1)性价比高,开发周期短,易于产品化,(2)集成度高,可靠性好,抗干扰性强,(3)功能完善,接口多样,(4)低功耗、低电压一般电源供电电压在 53V 范围内单片机都能正常工作,供电的下限可达 12V 。(5)总线多样,易于扩展单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。外部总线增加了 I2C 及 SPI 等串行总线方式, 可根据需要进行并行或者串行扩展。1.2.3 MCS51 单片机内部结构有 8 大部分.一个 8 位的中央处理器 CPU(又称为微处理器)中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度

14、的处理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。有 128 字节 的片内数据存储器 RAM。8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。.4KB 片内 程序存储器 ROM 或 EPROM8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据.片内 18 个 特殊功能寄存

15、器(SFR)如图(图 1-1)所示:毕业设计用纸共 31 页 第 7 页图 1-1 片内特殊存储器分布图.4 个 8 位 的并行输入输出 I/O 口(PIO)8051 共有 4 组 8 位 I/O 口(P0 、 P1、P2 或 P3),用于对外部数据的传输P0 口 P0.0P0.7 输入与输出 分时的传送地址低 8 位与数据线特殊功能寄存器 SFR数据缓冲区位寻址区R7R0 3 组(8 字节)2 组1 组0 组0F0H SFR 可寻址区0E0H 0D0H0C8H0B8H0B0H0A8H0A0H98H90H88H80H0FFH80H7FH30H2FH20H1FH00H毕业设计用纸共 31 页 第

16、 8 页P1 口 P1.0P1.7 输入与输出 无第二功能P2 口 P2.0P2.7 输入与输出 传送地址的高 8 位P3 口 P3.0P3.7 输入与输出 P3.0RXD:串行口输入端P3.1TXD:串行口输出端P3.1TXD:串行口输出端P3.2 :外部中断 0 中断请求输入端P3.3 :外部中断 1 中断请求输入端P3.4T0:定时器/计数器 0 外部输入端P3.5T1:定时器/计数器 1 外部输入端P3.6 :外部数据存储器写选通信号P3.7 :外部数据存储器读选通信号.1 个 串行口 I/O(SIO/UART)完成单片机与其他微机的之间的串行通信.2/3 个 16 位 定时器/计数器

17、(TIMER/COUNTER).可处理 5 个中断源,两级可程序优先级的中断系统其中含有 MCS-51 指令集含 111 条指令,按照指令操作功能话费有五类:数据传送指令(28)算术运算指令(24)逻辑运算及转移指令(25)控制转移指令(22)位操作指令(12)毕业设计用纸共 31 页 第 9 页1.2.4 单片机的内部结构图除去图中的存储电路和 I/O 部件,剩下的是 CPU,它可以分为运算器和控制器两部分。运算器功能部件包括算术逻辑运算单元 ALU、累加器 ACC、寄存器 B、暂存寄存器TMP1、TMP2、程序状态字寄存器 PSW 等。控制器功能部件包括程序计数器 PC、指令寄存器 IR、

18、指令译码器 ID、定时控制逻辑电路 CU、数据指针寄存器 DPTR、堆栈指针 SP及时钟电路等。图 1-2 单片机内部结构图毕业设计用纸共 31 页 第 10 页第二章 单片机控制交通系统总体设计2.1 单片机交通控制系统通行方案设计设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态 1 开始变换,直至状态 6 然后循环至状1,周而复始,即如图(图 2-1)所示:直至状态 6 然后循环至状态 1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态

19、归纳如下:图 2-1 交通状态东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时 20 秒。此状态下,东西向禁止通行,南北向允许通行。东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时 2 秒。此状态下,除了毕业设计用纸共 31 页 第 11 页已经正在通行中的其他所以车辆都需等待状态转换。南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时 20 秒。此状态下,东西向允许通行,南北向禁止通行。南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时 2 秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。下 面 我 们 可 以 用 图 表 表 示 灯 状 态 和

20、行 止 状 态 的 关 系 如 下 :表 2-1 交通状态及红绿灯状态东西南北四个路口均有红绿黄 3 灯和数码显示管 2 个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表 2.1 所示。说明:0 表示灭,1 表示亮。2.2 单片机交通控制系统的功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能。2.2.1 倒计时显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示

21、的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的 1 种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。状 态 1 状 态 3 状 态 4 状 态 6东 西 向 禁 行 等 待 变 换 通 行 等 待 变 换南 北 向 通 行 等 待 变 换 禁 行 等 待 变 换东 西 红 灯 1 1 0 0东 西 黄 灯 0 0 0 1东 西 绿 灯 0 0 1 0南 北 红 灯 0 0 1 1南 北 绿 灯 1 0 0 0南 北 黄 灯 0 1 0 0毕业设计用纸共 31 页 第 12 页2

22、.2.2 车流量检测及调整随着我国经济建设的蓬勃发展,城市人口和机动车拥有量在急剧增长,交通流量日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。一般车流量检测器采用传感器+单片机+外围器件来实现。 而且,目前国内使用的红绿灯都是固定的红绿灯时间,并自动切换。红灯时间和绿灯时间,是根据道口东西向和南北向的车流量,利用统计方法确定的。交通警察不断观察十字路口的两个方向,根据车辆密度和流速决定

23、是否切换红绿灯,以保证最佳的道路交通控制状态。2.2.3 时间手动设置除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数量较多时特别浪费 I 0 口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机 I0 口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且 I0 口足够,可直接采用独立式。2.2.4 紧急处理交通路口出现紧急状况在所难免,如特大事件发生

24、,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停按键,就可达到想此目的。毕业设计用纸共 31 页 第 13 页2.3 单片机交通控制系统的基本构成及原理单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入 LED 数码管就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。如

25、图(图 2-2)所示:单 片 机图 2-2 系统的总体框图据此,本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,LED 倒计时模块和蜂鸣器状态模块接受输出。系统的总体框图如上所示。键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到 LED 数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。在模式选择上,若为自动模式,将不断调用车流量检测模块对车流量进行检测统计,到达

26、一定时间将修正通行时间一满足不同路况的需要。单片机红黄绿信号灯8 级 LED 数码管显示车流量传感器最小系统外围接口按键控制蜂鸣器毕业设计用纸共 31 页 第 14 页第三章 系统硬件电路的设计3.1 系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用 AT89C52 单片机及外围器件构成最小控制系统,12 个发光二极管分成 4 组红绿黄三色灯构成信号灯指示模块,8 个 LED 东西南北各两个构成倒计时显示模块,车流量检测传感器采集流量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用 1 个蜂鸣器进行报警。3.1.1 系统硬件电路构成本系统以单片机为

27、核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED 显示,按键,蜂鸣器组成。其具体的硬件电路总图如图 3.1 所示。其中 P0,P1,用于送显两片 LED 数码管,P2 用于控制红绿黄发光二极管,XTAL1 和XTAL2 接入晶振时钟电路,REST 引脚接上复位电路,P3.2 即 INT1 接违规检测电路和紧停东西时间设置键 J,P3.3 即 INT1 接车流量检测电路,P3.6 接南北时间设置键 S,P3.7接自动模式选择返回键 F,P3.4 接蜂鸣器。3.1.2 系统工作原理系统上电或手动复位之后,系统等待模式

28、选择设置键按下,模式分两种:红绿灯时间自动和红绿灯时间设置。若此时 F 键按下,则设置为自动模式,若此时按下的是 S 键,则设置为时间设置模式,依次按 S 若干次,J 键若干次可设置好两个方向的红绿灯时间,再按 F 键确认。其实这个过程就是将存储时间值的寄存器进行设置,以及标志是否要进行车流量检测及调整。接下来,系统必须先显示状态灯及 LED 数码管,将状态码值送显 P2 口,将要显示的时间值的个位和十位分别送显 P0 和 P1 口,在此同时以 50ms 为周期,用软件方法计时 1秒,到达 1s 就要将时间值减 1,刷新 LED 数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接

29、,并装入次状态的相应状态码值以及时间值,当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下 F 键,中断结束返回。其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的寄存器加 1,然后中断结束返回。每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。如图(图 3-1)所示。毕业设计用纸共 31 页 第 15 页图 3-1 基于单片机的交通灯控制系统电路图3.1.3 车流量检测电路及模

30、拟为了达到对红绿灯的时间控制,需要对道路上的车流量进行检测。当前比较流行的车流量检测器件,是一种自感式的车辆传感器。其工作原理是当车辆经过传感器时,引起其自感的变化,考虑到单片机系统的便利性,本次设计用一种手动的操作方式,即车流量的检测电路用拨断开关代替。其基本思路为:当车流量大时,有拨断开关送出一个高电平。另外,再单片机和坡度按开关之间加了光电隔离。下面叫简绍光电隔离,以 TLP550 为例。TLP550 是日本东芝公司生产的一款光耦,该光耦没有和基极连接,适合与再噪声比较大的环境中应用。TLP550 的工作原理如下:当 2.3 叫的电压为正,且能时发光二极管正常毕业设计用纸共 31 页 第

31、 16 页发光时,控制的发光二极管发光,使得输出端的光敏二极管导通。这样输出端的基极相当于与 8 引脚连接,其电平为高,使得三极管导通,及 5.6 两个引脚导通。由于 5 引脚接地,这样输出端 6 叫就为低电平。再实际使用中,6.8 引脚通常会连接一个电阻。这样当 2.3 引脚的电压不足使发光二级光发光时,输出端三极管就不到同,就相当于输出端 6 引脚通过一个电阻接到了 8 脚上。相对于后面的连接电路来书,其为高电平。这样就可以通过控制2.3 引脚之间的电压,来控制输出 6 引脚的电平,达到电压耦合的隔离的作用。车流量检测电路如下图(图 3-2)所示。图 3-2 车流量检测电路基于光电隔离的作

32、用,再加上拨断开关和 LED,为了避免干扰信号,可以加入光电耦合器。如图所示,当开关状态如图所示时,LED 点亮,同时低电平被单片机捕获。当开关拨下时 LED 熄灭,同时高点平被单片机捕获,这样单片机通过捕获的电平状态做出相应的控制,与 LED 的状态即车流量的状态互相配合协调。3.1.4 八段 LED 数码管LED 显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED 数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有 8 个发光二极管(比七段多一个发光二极管,用来显示 sP,即点),每个发光二极管的阳极连在一起,如图(图 3-3

33、)所示。这样,一个 LED 数码管就有 I 根位选线和 8 根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段 LED 数码显示管,其他类形的显示管与其类似。图 3-3 LED 数码管毕业设计用纸共 31 页 第 17 页LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a 全亮显示为,采用共阳极连接驱动代码,代码表如下表(表 3-1)所示。表 3-1 驱动代码表显 示 数 值 dp,g,f,e,d,c,b,a 驱 动 代 码0 11010000 C0H1 11111001

34、 F9H2 10100100 A4H3 10110000 B0H4 10011001 99H5 10010010 92H6 10000010 82H7 11111000 F8H8 10000000 80H9 10010000 90H相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有 DPTR 调取 LEDMAP 的代码。LED8 段数码管的设置为每个方位上的一对 2 为显示器。四个方位上总共用 8 个 LED接在单片机的 IO 口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的 IO 口是对称的。如图(图 3-4)所示,其中 A,B 分别

35、是 P0,P1 的网络标 号 。图 3-4 LED 连接图毕业设计用纸共 31 页 第 18 页3.3.4 其它器件(1)发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共 4 组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图(图 3-6)所示:图 3-6 信号灯的连接( 2) 按 键 控 制本设计设置了有 3 个键:S 键 P3.2,J 键 P3.2,F 键 P3.7。每个按键一端接地,另一端接上拉电阻。低电平有效,当按键按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。如下图(

36、图 3-7)所示。图 3-7 按键示意毕业设计用纸共 31 页 第 19 页第四章 系统软件程序的设计4.1 程序主体设计流程全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED 显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和 50ms 扫描程序。流程图如图(图4-1)所示。 图 4-1 系统总的流程图毕业设计用纸共 31 页 第 20 页4.2 子程序模块设计4.2.1 按键扫描程序首先程序不断扫描模式设置键,分别记为:S 键,J 键,F 键对应端口的

37、3.6,P3.2,P3.7,低电平有效,按键顺序是指定的,若直接按 F 键,则为自动调整模式,然后进入下一程序;若先按 S 键,再按 J 键,F 键则为设置时间模式,然后进入下一程序。程序的开始要判断是否有键按下,可以不断将 S 键值和 F 键值相与,与值为 1 则表示没有键按下,为 0 则表示有键按下,程序如下:K1: MOV C, P0.0 ANL C, P0.1JB C, K1 接下来要判断具体是那个键,若为 F 键,则将自动标志位置 1,进入下一程序,否则为S 键,则表示设置南北绿灯时间,用 R0 存值,按 1 下加 1,同时还需判断此时 J 键是否按下,若按下,则表示南北绿灯时间设置

38、完毕,开始设置东西绿灯时间,用 R1 存值,同样按 1 下加 1 ,同时判断此时 F 键是否按下,若按下,则表示时间设置完毕,进入下一程序。在这个过程中,S,J 键的计数是循环的,从初值 20 开始,加到 40 则循环回到 20。如判断 S 键程序如下:CJNZ R0, #40, V1MOV R0, #20V1: INC R0 4.2.2 状态灯显示及判断在本设计中,实际控制的灯只有 6 个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯。定义 IO 端口如下,其中均是低电平有效。H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_

39、GREEN BIT P2.5L_YELLOW BIT P2.6共有 4 钟状态:东西红灯亮,南北绿灯亮(11011101/DDH ) ;东西红灯亮,南北黄灯亮(10111101/BDH) ;东西绿灯亮,南北红灯亮(11101101/EDH) ;东西黄灯亮,南北红灯亮(11100111/E7H) 。括号中是 P2 端口 8 个引脚值 P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0 以及对应的十六进制码。在用于显示发光二极管时,直接由 MOV 指令将十六进制码送入 P2 口。刚才的 4 个状态是依次变换的,这就要涉及到状态的判断和衔接了。先把 P2 端口的值与所有的

40、 4 个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显 P2毕业设计用纸共 31 页 第 21 页即可。程序如下:MOV A, P2CJNZ A, #0DDH,D1MOV P2, #BDHD1: CJNZ A, BDH,D2MOV P2, #EDHD2: CJNZ A, #EDH,D3MOV P2, #E7HD3: CJNZ A, #E7H,YMOV R2, #DDH4.2.3 LED 倒计时显示LED 计时每 1 秒都要刷新 1 次,那么计时满 1 秒时就要将存储时间的工作寄存器 R4减 1,然后送入 LED 显示程序中显示。下面要将时间数据 R4 的十位,个位分开送显P1,

41、P0 端口,首先将 R4 除以 10,整数即十位放在 A 中,余数即个位放在 B 中,设置 7段 LED 显示数据的数据表,用数据指针寄存器 DPTR 指向数据表的首地址,再加上 A 中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。具体程序如下:MOV A, R4 MOV B, #10DIV A, BMOV DPTR, #LEDMAPMOVC A, A+DPTRMOV P1, AMOV A, BMOVC A, A+DPTRMOV P3, ALEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH4.2.4 车流量检测中断服务子程序车流量检

42、测是用外部中断引脚 P3.3 即 INT1 捕获到一个低电平,则进入相应的中断服务子程序,在子程序中,用 R5 计南北向车流量,用 R6 计东西向车流量,设车向标志位为 01H,判断车向,程序如下:JNB 01H, U INC R5U: INC R6毕业设计用纸共 31 页 第 22 页4.2.5 紧停及违规中断服务子程序紧停按键和违规信号传感器均连接到外部中断引脚 P3.2,即 INT0 捕获到一个低电平,则进入该中断,中断程序中先把蜂鸣器 P3.4 端口置 0,启动蜂鸣。并且等待恢复键 F 键P3.7 按下,然后关闭蜂鸣返回。INT0: SETB P0.5 JB P0.0, $LCALL

43、DELAYCLR P0.5RETI4.2.6 红绿灯时间调整程序根据红绿灯时间调整原理,一个周期下来,R5,R6 中分别存储着南北,东西的车流量,接下来求单位时间车流量,此时南北向时间,东西向时间分别存储在 R0,R1 中,则两个方向的流量比例为(R5/R0 ) /(R6/R1)=(R5*R1)(R6*R0),显然该比例是 1 左右带小数的值,然而单片机程序中只取整数,重要的数据信息就会丢失,所以本设计中首先将(R5*R1)乘以 10,比例就变为 10 左右的值。将该比例值放在 A,然后进行时间调整。由于受到多方面的限制,时间调整在此只划定 3 个范围。比例 0 到 0.7 为一个范围,0.8

44、 到 1.5 为一个范围,1.5 以上为一个范围。第一范围显然表明东西向交通严重,应将时间调长;第二范围表明两向相当,可设置一样的时间,第三范围表明南北向交通严重,应将该向时间调长。具体设置如下表(表 4-1)表 4-1 比 例 及 调 整 时 间南 北 与 东 西 向 比 例 00.7 0.81.5 1.5 及 以 上调 整 南 北 向 时 间 20 30 40调 整 东 西 向 时 间 40 30 20由表可知,对应的时间调整也只有三种,分别是 20,40;30,30;40,20.显然在实际应用中这样简单的处理难以尽如人意,但在此处,本设计只是模拟大致的调整过程,以上要求的程序如下:CJN

45、Z A, #7 M1M2: MOV R2, #20MOV R1, #40SJMP OUTM1: JB C, M2CJNZ A, #15 N1N2: MOV R0, #30MOV R1, #30SJMP OUTN1: JB C, N2毕业设计用纸共 31 页 第 23 页MOV R0, #40MOV R1, #20OUT: CLR R5CLR R6RET4.2.7 消抖动程序利用程序执行一条指令 的时间,再加上两次累减嵌套,程序如下:DELAY: MOV R2, #14H A1: MOV R7, #0FFHDJNZ R2, $DJNZ R7, A1RET4.2.8 源程序:见附录 A毕业设计用纸

46、共 31 页 第 24 页参考文献l边海龙,孙永奎. 单片机开发与典型工程项目实例详解J.电子工业出版社,2008,(10) :143-160.2王为青,邱文勋. 51 单片机开发案例精选J. 人民邮电出版社, 2001,(5):45-47.3张鑫,华臻,陈书谦. 单片机原理及应用J. 电子工业出版社, 2008(5).4张洪润,张亚凡.单片机原理及应用J. 清华大学出版社, 2005,(4).5黄智伟.凌阳单片机课程设计指导J. 北京航空航天大学出版社, 2007,(6)6蒋辉平,周国雄. 基于 Proteus 的单片机系统设计与仿真实例 M.机械工业出版社,2009.7张毅坤. 单片微型计

47、算机原理及应用,M 西安电子科技大学出版社 1998 8余锡存 曹国华.单片机原理及接口技术M. 陕西: 西安电子科技大学出版社,2000.79雷丽文 等.微机原理与接口技术M. 北京:电子工业出版社, 1997.10张萌单片机应用系统开发综合实例第二版清华大学出版社 2005 年11何立民单片机应用文集第一版北京航空航天大学出版社 2004 年12张一工现代电力电子技术原理与应用第一版科学出版社 2002 年13欧阳文ATMEL89 系列单片机的原理与开发实践第一版中国电力出版社2007年14陈大钦 电子技术基础实验 M.北京:高等教育出版社 200415陈梓城 电子技术实训 M.北京:机械

48、工业出版社 200316吴黎明 单片机原理及应用技术M. 北京:科学出版社 200317李学海 标准 80C51 单片机基础教程M.北京: 北京航空航天大学出版社 200618刘乐善 微型计算机接口技术及应用M. 北京: 华中科技大学出版社 200419 陈炳权 曾庆六 EDA 技术实用教程 M.北京: 湘潭大学出版社 201020 先锋工作室. 单片机程序实例M. 北京:清华大学出版社 ,2002.21 李伯成.基于 MCS-51 单片机的嵌入式系统的设计M. 北京:电子工业出版社,毕业设计用纸共 31 页 第 25 页附录 AH_RED BIT P2.1 ; 定 义 IO 端 口H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_GREEN BIT P2.5L_YELLOW BIT P2.6; 主 程 序 , 选 择 设 置 红 绿 灯 时 间 模 式 或 自 动 调 整 模 式ORG 0000HLJMP MAINORG 0003H ; 中 断 入 口LJMP INT0ORG 0030HMAIN: MOV R3, #20 ; 用 于 嵌 套 50ms 软 件 方 法 计 时 1sM

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报