3986.net
小网站 大容量 大智慧
当前位置:首页 >> >>

基于单片机的交通灯控制系统的设计与实现

毕业设计(论文)





交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公 共管理系统。要保证高效安全的交通秩序 ,除了制定一系列的交通规则 ,还必须通 过一定的科技手段加以实现 。本文在对目前交通控制进行深入分析的基础上 ,运用 检测传感、实时调整智能化控制的实现技术 ,将传感器监测、实时调整车辆通行时 间的算法与单片机控制作用相结合,提出了基于单片机的交通控制系统设计方案 。 8051 单片机的交通灯控制系统由 8051 单片机、交通灯显示、 LED 倒计时、车 流量检测及调整 、违规检测、紧急处理、时间模式手动设置等模块组成 。系统除基 本交通灯功能外 ,还具有通行时间手动设置 、可倒计时显示、急车强行通过 、车流 量检测及调整、交通异常状况判别及处理等相关功能。理论证明该系统能够简单 、 经济、有效地疏导交通,提高交通路口的通行能力。 本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包 括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能 ,二是进行传感 器的硬件电路、显示电路等的设计和基本功能要求。三是进行软件系统的设计 ,对 于本系统,本人采用单片机汇编语言编写,总体上完成了软件的编写。 关键词:交通控制,传感检测, AT89C52,倒计时显示,异常状况判别及处理

毕业设计(论文)


摘 目 前



....................................................................................................................................... 要....................................................................................................................................... 0 ....................................................................................................................................... 录....................................................................................................................................... 0 ....................................................................................................................................... 言....................................................................................................................................... 1

....................................................................................................................... 第一章 单片机概述....................................................................................................................... 2
1.1 单 片 机 交 通 控 制 系 统 的 选 题 背 景 ......................................................................................2 1.2 单 片 机 交 通 控 制 系 统 选 题 的 现 实 意 义 ............................................................................. 2 1.3 国 内 外 研 究 现 状 及 其 发 展 ................................................................................................... 4 1.3.1 国 内 外 交 通 控 制 技 术................................................................................................4 1.3.2 交 通 控 制 存 在 的 问 题................................................................................................4 1.4 单 片 机 交 通 控 制 系 统 主 要 研 究 的 内 容............................................................................. 5

第二章 单片机交通控制系统总体设计 ................................................................................. 6
2.1 单 片 机 交 通 控 制 系 统 通 行 方 案 设 计 ................................................................................. 6 2.2 单 片 机 交 通 控 制 系 统 的 功 能 要 求 ......................................................................................7 2.2.1 倒 计 时 显 示................................................................................................................. 7 2.2.2 车 流 量 检 测 及 调 整...................................................................................................7 2.2.3 时 间 手 动 设 置.............................................................................................................8 2.2.4 紧 急 处 理 .................................................................................................................... 8 2.2.5 违 规 检 测..................................................................................................................... 8 2.3 单片机交通控制系统的基本构成及原理................................................................................8

.................................................................................................10 第三章 系统硬件电路的设计 ................................................................................................. 10
3.1 系统硬件总电路构成及原理..................................................................................................10 3.1.1 系 统 硬 件 电 路 构 成.................................................................................................. 10 3.1.2 系 统 工 作 原 理...........................................................................................................10 3.2 单 片 机 的 选 择 ........................................................................................................................ 12 3.2.1 单 片 机 的 概 述...........................................................................................................12 3.2.2 AT89C52 芯 片 的 主 要 性 能.......................................................................................12 3.2.3 AT89C52 芯 片 的 内 部 结 构 框 图..............................................................................12 3.2.4 AT89C52 芯 片 最 小 系 统......................................................................................... 13 3.3 其 它 硬 件 介 绍 及 连 接 ...........................................................................................................14 3.3.1 车 流 量 检 测 电 路 及 模 拟......................................................................................... 14 3.3.2 违 规 检 测 电 路 及 模 拟..............................................................................................15 3.3.3 八 段 LED 数 码 管 ...................................................................................................... 16 3.3.4 其 它 器 件................................................................................................................... 17

.................................................................................................19 第四章 系统软件程序的设计 ................................................................................................. 19
4.1 程 序 主 体 设 计 流 程 ............................................................................................................... 19 4.2 理 论 基 础 知 识 ........................................................................................................................ 20 4.2.1 定 时 器 原 理 ..............................................................................................................20

山东工业职业学院毕业论文(毕业设计)

4.2.2 软 件 延 时 原 理...........................................................................................................20 4.2.3 中 断 原 理 .................................................................................................................. 21 4.2.4 红 绿 灯 时 间 调 整 原 理..............................................................................................21 4.3 子 程 序 模 块 设 计 ....................................................................................................................22 4.3.1 按 键 扫 描 程 序...........................................................................................................22 4.3.2 状 态 灯 显 示 及 判 断.................................................................................................. 23 4.3.3 LED 倒 计 时 显 示...................................................................................................... 23 4.3.4 车 流 量 检 测 中 断 服 务 子 程 序.................................................................................24 4.3.5 紧 停 及 违 规 中 断 服 务 子 程 序.................................................................................24 4.3.6 红 绿 灯 时 间 调 整 程 序..............................................................................................25 4.3.7 消 抖 动 程 序............................................................................................................... 26 4.4 源 程 序 ..................................................................................................................................... 26 4.5 系 统 软 件 调 试 ........................................................................................................................ 31 4.5.1 TKS 仿 真 器............................................................................................................... 31 4.5.2 集 成 开 发 环 境 KEIL.................................................................................................31 4.5.3 系 统 软 件 调 试...........................................................................................................32

结 致

..................................................................................................................................... 论..................................................................................................................................... 34 ..................................................................................................................................... 谢..................................................................................................................................... 35

...................................................................................................................................... 参考文献...................................................................................................................................... 36 ......................................................................................................................................36

1

山东工业职业学院毕业论文(毕业设计)





当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但 这一技术在 19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号 灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特 在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿 两以旋转式方形玻璃提灯组成,红色表示“停止” ,绿色表示“注意” 。1969 年 1 月 2 日, 煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年 始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止” ,绿灯亮表示“通行” 。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力 探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇 红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时, 它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行, 以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少 交通事故有明显效果。1968 年,联合国《道路交通和道路标志信号协定》对各种信号灯的 含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一 种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横 道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。 黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全 停车时可以进入交叉路口。

1

山东工业职业学院毕业论文(毕业设计)

第一章 单片机概述
1.1 单片机交通控制系统的选题背景
随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性 ,交 通控制就应运而生,在人类的生活 、工作环境中,交通扮演着极其重要的角色 ,人 们 的出 行都无时 不刻与交 通打着交 道。自 18 世纪工 业革命以来,工业 发展带动整 个交通运输的发展,从而催生了单独的交通控制学问与管理机构。 交通控制系统是近现代社会随着物 流、出行等交通发展产生的一套独特的公共 管理系统。要保证高效安全的交通秩序 ,除了制定一系列的交通规则 ,还必须通过 一定的技术手段加以实现 。现代人类科学技术,特别是电子科学技术的发展和成熟 能比较好的解决系统建立中硬软件方面要求的技术难题 。目前,交通控制方面的研 究能完全实现自动智能化 ,甚至将整个区域整合成一个统一的系统范围 ,还能根据 正常时段以及特定突发时段的情况进行科学的自动调整。 交通对于社会的工业经济和人们的生活生产中有着十分重要的意义 。随着单片 机和传感技术的迅速发展 ,自动检测领域发生了巨大变化 ,交通自动监测控制方面 的研究有了明显的进展 ,并且必将以其优异的性能价格比 ,逐步取代传统的交通控 制措施。

1.2 单片机交通控制系统选题的现实意义
城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导 ,与汽车 工业并行发展的 。在其各个发展阶段 ,由于交通的各种矛盾不断出现 ,人们总是尽 可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来 ,从而促进了 交通自动控制技术的不断发展。 早 在 1850 年, 城市 交叉口 处不断增 长的 交通就 引发 了人们 对安全和拥 堵 的关 注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕, 1868 年, 英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯 ,用 来控制交叉路口马车的通行 ,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿 迹了近半个世纪 。1914 年及稍晚一些时候 ,美国的克利夫兰、纽约和芝加哥才重新 出现了交通信号灯 , 它们采用电力驱动, 与现在意义上的信号灯已经相差无几 。 1926 年英国人第一次安装和使用自动化的控制器来控制交通信号灯 ,这是城市交通自动 控制的起点。
2

山东工业职业学院毕业论文(毕业设计)
早期的交通信号灯使用 “固定配时”方式实行自动控制 ,这种方式对于早期交 通流量不大的情况曾起过一定的作用。但随着汽车工业的发展、交通流量增加 、随 机变化增强,采用以往那种单一模式的 “固定配时”方式已不能满足客观需要 ,于 是一种多时段多方案的信号控制器开始出现并逐步取代了传统的只有一种控制方 案的控制器。 20 世纪 30 年代初,美国最早开始用车辆感应式信号控制器,之后是英国,当 时使用的车辆检测器是气动橡皮管检测器 。车辆感应控制器的特点是它能根据检测 器测量的交通流量来调整绿灯时间的长短 ,使绿灯时间更有效地被利用 ,减少车辆 在交叉口的时间延误 ,比定时控制方式有更大的灵活性 。车辆感应控制的这一特点 刺激了车辆检测器技术的发展 。继气动橡皮管式检测器之后 ,雷达、超声波、光电、 地磁、电磁、微波、红外以及环形线圈等检测器相继问世 。当今在城市道路交通自 动控制、交通监测和交通数据采集系统中,应用最广的是环形线圈车辆检测器 。超 声波检测器主要在日本等少数国家得到广泛应用。 计算机技术的出现为交通控制技术的发展注入了新的活力 ,更是实现了以一个 城市或者更大地域 ,而非简单的一个路口的交通总体控制系统 。1952 年,美国科罗 拉多州丹佛市首次利用模拟计算机和交通检测器实现了对交通信号机网的配时方 案 自动 选择式信 号灯控制 ,而加拿 大多伦多 市于 1964 年完成了计算机 控制信号 灯 的实用化,建立了一套由 IBM650 型计算机控制的交通信号协调控制系统,成为世 界上第一个具有电子数字计算机城市交通控制系统的城市 。这是道路交通控制技术 发展的里程碑。 可以说,在近百年的发展中 ,道路交通信号控制系统经历了手动到自动 ,从固 定配时到灵活配时 ,从无感应控制到有感应控制 ,从单点控制到干线控制 ,从区域 控制到网络控制的长远过程。 交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问 题,局限于道路建设的暂时不足和交通工具的快速增长 ,就要使更多的车辆安全高 效的利用有限的道路资源 ,避免因无序和抢行等无控制原因造成的不必要阻塞甚至 瘫痪,另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分 必要。 交通网络是 城市的动脉,象征着一个城市的 工业文明水平。交通关系着人们对 于财产,安全和时间相关 的利益。具有优良科学的交通控制技术对资源物流和人们 出行都是十分 有价值的,保证交通线路的畅通安全 ,才能保证出行舒畅,物流准时 到位,甚至是生命通道的延伸。
3

山东工业职业学院毕业论文(毕业设计) 1.3 国内外研究现状及其发展
1.3.1 国内外交通控制技术 当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系统 有英国的 TRANSYT 与 SCOOTS 交通控制系统和澳大利亚的 SCATS 系统。 在信号机的发展历程中 ,自适应理论一直受到各研究机构的欢迎 ,比如上面所 述的 SCOOTS 和 SCATS 系统。最近几年,国外仍偏向于引进自适应理论来对交通 信号控制系统进行研制 ,特别是美国有十几个大学或研制机构正在研制自适应交通 信号控制系统, ,具有代表性的有美国亚利桑那大学研制的 RHODES。 我国交通领域的发展起步较晚 ,基本是从新中国建国之后 ,随着各方面的条件 的成熟以及社会发展的要求,才建立及健全交通控制系统的。 城市交通是一个高度综合而又复杂的问题,必须从政策,机构,体制,管理 , 收费价格,基础设施建设和投资各个方面同时入手解决 。我国城市经济和社会的高 速发展使得社会对交通的需求急剧增加 。也对此提出了严峻的挑战 ,一句城市发展 的规划,建设以及运行原照 ,在广泛借鉴和吸取国外先进经验的基础上 ,建立并完 善适合我国国情的城市交通系统 1.3.2 交通控制存在的问题 我国城市交通运输的现状和存在的问题,借鉴国外城市交通管理的先进经验 , 强调建立城市交通管理体制的重要性 ,提出加强城市交通研究的交通规划 ,建立稳 定的交通基础设施建设的资金出道 ,实行公交优先政策 ,建立先进的交通信息系统 等对策。 随着城市机动车增长速度的加快 。 1994 年卧轨城市机动车保有量已接近 500 完 辆。20 世纪 90 年代以来,经济的发展加快,从 1985 年到 1995 年,机动车增长率 达 13%左右,近几年更是增多。 然而,在此同时,城市道路建设规模也在加大,我国城市普遍存在道路密度 , 道路面积率偏低的问题 ,这是我国城市哟其是大城市有机的一个重要原因 。我国城 市道路的密度只有 6.8km 每平方千米,而在 20 世纪 80 年代,世界发达国家就已到 达 20km 每平方 千米。 20 世纪 90 年代, 我国部分城 市道路 面积 率,北 京为 5.9%, 上海为 6.4%,而国外东京为 13.8%,巴黎为 25%,普遍高于我国。近几年,国家虽 不断加大城市道路建设的力度 ,但仍赶不上车辆的增长速度 ,且与世界其他国家相 比,差距仍很大。
4

山东工业职业学院毕业论文(毕业设计)
出租车以及公交的发展运营情况并不尽如人意,虽然车辆和线路长度增长 ,但 运营速度成了瓶颈,新增的运力被运输效率低下所抵消。 交通管理方面水平还欠发展 ,随着交通需求越来越旺盛 ,而我国城市中小交通 管理和交通安全的现代化设施却做得不足 。在车辆,道路和交通管理系统 ,城市交 通 信号 控制系统 ,城市交 通管制中 应用人工 智能技术,信息 采集和 信息提供技术 等方面都与发达国家有很大差距 。近几年,虽然有部分城市研究和引进一些国外先 进的交通信号管理系统 ,但是由于交通管理设施不足等原因 ,我国交通事故率居高 不下。城市车流行驶速度逐年下降 ,目前不少城市交通运量年年增长 ,但运输速度 普遍下降,这都源于交通通行不佳。

1.4 单片机交通控制系统主要研究的内容
基于整个交通控制系统的发展情况 , 本设计主要进行如下方面的研究 :用智能, 集成,且功能强大的单片机芯片为控制中心 , 设计出一套十字路口的交通控制系统 , 以指挥该路口的实时通行状态。 本设计主要做了如下几方面的工作: 一是确定系统交通控制的总体设计 ,包括,十字路口具体的通行禁行方案设计 以及系统应拥有的各项功能 ,在这里,本设计除了有信号灯状态控制能实现基本的 交通功能,还增加了倒计时显示提示 ,基于实际情况,又要求了对车流量检测及自 调整模拟功能,违规检测及处理,紧急状况处理和键盘可设置等强大功能。 二是进行智能传感器的硬件电路,显示电路等的设计对各器件的选择及连接 , 大体分配各个器件及模块的基本功能要求。 三是进行软件系统设计 ,对本系统,本人采用单片机汇编语言编写 ,对单片机 内部结构和工作情况做了充足的研究 ,了解定时器,中断以及延时原理,总体上完 成了软件的编写。

5

山东工业职业学院毕业论文(毕业设计)

第二章 单片机交通控制系统总体设计
2.1 单片机交通控制系统通行方案设计
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行, 持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说 明:黑色表示亮,白色表示灭。交通状态从状态 1 开始变换,直至状态 6 然后循环至状 1, 周而复始,即如图 2.1 所示:直至状态 6 然后循环至状态 1,通过具 体的路口交通 灯状 态的演示分析我们可以把这四个状态归纳如下:

图 2.1 交 通 状 态

◆ 东 西方 向 红 灯 灭 ,同 时 绿 灯亮 ,南 北 方 向黄 灯 灭 ,同 时红 灯 亮 ,倒 计时 20 秒。此状态下,东西向禁止通行,南北向允许通行。 ◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时 2 秒。此状态下 , 除了已经正在通行中的其他所以车辆都需等待状态转换。 ◆ 南 北方 向 红 灯 灭 ,同 时 绿 灯亮 ,东 西 方 向黄 灯 灭 ,同 时红 灯 亮 ,倒 计时 20 秒。此状态下,东西向允许通行,南北向禁止通行。 ◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时 2 秒。此状态下 , 除了已经正在通行中的其他所以车辆都需等待状态转换。
6

山东工业职业学院毕业论文(毕业设计)
下面我们可以用图表表示灯状态和行止状态的关系如下 : 状态 1 东西向 南北向 东西红灯 东西黄灯 东西绿灯 南北红灯 南北绿灯 南北黄灯 禁行 通行 1 0 0 0 1 0 状态 3 等待变换 等待变换 1 0 0 0 0 1
表 2.1 交 通 状 态 及 红 绿 灯 状 态

状态 4 通行 禁行 0 0 1 1 0 0

状态 6 等待变换 等待变换 0 1 0 1 0 0

东西南北四个路口均有红绿黄 3 灯和数码显示管 2 个,在任一个路口,遇红灯 禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换 。状态及红绿灯状态 如表 2.1 所示。说明: 0 表示灭,1 表示亮。

2.2 单片机交通控制系统的功能要求
本设计能模拟基本的交通控制系统 ,用红绿黄灯表示禁行 ,通行和等待的信号 发生,还能进行倒计时显示 ,车流量检测及调整 ,交通违规处理和紧急处理等功能 。 2.2.1 倒计时显示 倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间 、在“停止”和“通 过”两者间作出合适的选择 。驾驶员和行人普遍都愿意选择有倒计时显示的信号控 制方式,并且认为有倒计时显示的路口更安全 。倒计时显示是用来减少驾驶员在信 号灯色改变的关键时刻做出复杂判断的 1 种方法,它可以提醒驾驶员灯色发生改变 的时间,帮助驾驶员在 “停止”和“通过”两者间作出合适的选择 。 2.2.2 车流量检测及调整 随着我国经济建设的蓬勃发展 ,城市人口和机动车拥有量在急剧增长 ,交通流 量 日益加大,交通拥挤堵塞现象日趋严重,交通事故时有发生。车辆检

测器作为智能交通系统的基本组成部分,在智能交通系统中占有重要的 地位。现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线 检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视
7

山东工业职业学院毕业论文(毕业设计) 频检测器等。一般车流量检测器采用传感器 +单片机+外围器件来实现。 而且,目前国内使用的红绿灯都是固定的红绿灯时间,并自动切换。红 灯时间和绿灯时间,是根据道口东西向和南北向的车流量,利用统计方 法确定的。交通警察不断观察十字路口的两个方向,根据车辆密度和流 速决定是否切换红绿灯,以保证最佳的道路交通控制状态。
2.2.3 时间手动设置 除 系统 根据车流 量自动控 制调整, 也可以通 过键盘进行手动设置,增加了人 为的可控性,避免自动故障和意外发生 ,并再紧急状态下 ,可设置所有灯变为红灯 。 键盘是单片机系统中最常用的人机接口 ,一般情况下有独立式和行列式两种 。前者 软 件编 写简单, 但在按键 数量较多 时特别浪 费 I/0 口资源 ,一般用于按键数 量少 的系统。后者适用于按键数量较多的场合,但是在单片机 I/0 口资源相对较少而 需要较多按键时,此方法仍不能满足设计要求。本系统要求的按键控制不多,且 I /0 口足够,可直接采用独立式。 2.2.4 紧急处理 交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等 , 我们都必须尽量允许其畅通无阻 ,毕竟在这种情况下是分秒必争的 ,时时刻刻关系 着公共财产安全 ,个人生死攸关等。由此在交通控制中增设禁停按键 ,就可达到想 此目的。 2.2.5 违规检测 交通规则必 须人人遵 守, 但是 违反规则,如 闯红 灯等,也时有 发生 ,交警 等交通管理人员虽然可以进行实时监管 ,但是耗费精力,在路口设置检测传感器就 可以进行自动的警报提示。

2.3 单片机交通控制系统的基本构成及原理
单片机设计交通灯控制系统 ,可用单片机直接控制信号灯的状态变化 ,基本上 可以指挥交通的具体通行 ,当然,接入 LED 数码管就可以显示倒计时以提醒行使者 , 更具人性化。本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机 采集数据,单片机对此进行具体处理 ,及时调整控制指挥,为了超越视觉指挥的局 限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。

8

山东工业职业学院毕业论文(毕业设计)
8段L E D数 码 管 显 示

车流量传感器

蜂 鸣 器

最小系统 外围接口电路

单 片 机
按键控制

红黄绿信号灯

图 2.2 系 统 的 总 体 框 图

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

9

山东工业职业学院毕业论文(毕业设计)

第三章 系统硬件电路的设计
3.1 系统硬件总电路构成及原理
实现本设计要求的具体功能, 可以选用 AT89C52 单片机及外围器件构成最小控制系统, 12 个发光二极管分成 4 组红绿黄三色灯构成信号灯指示模块 ,8 个 LED 东西南北各两 个构成倒计时显示模块 ,车流量检测传感器采集流量数据 ,光敏传感器捕获违规信 号,若干按键组成时间设置和模式选择按钮和紧急按钮等 ,以及用 1 个蜂鸣器进行 报警。 3.1.1 系统硬件电路构成 本系统以单片机为核心 ,组成一个集车流量采集 、处理、自动控制为一身的闭 环控制系统。系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯 , 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 系统工作原理 系统上电或手动复位之后 ,系统等待模式选择设置键按下 ,模式分两种 :红绿 灯时间自动和红绿灯时间设置 。若此时 F 键按下,则设置为自动模式,若此时按下 的是 S 键,则设置为时间设置模式,依次按 S 若干次,J 键若干次可设置好两个方 向的红绿灯时间 ,再按 F 键确认。其实这个过程就是将存储时间值的寄存器进行设 置,以及标志是否要进行车流量检测及调整。 接 下 来, 系统 必须先 显示 状态 灯及 LED 数码管 ,将状态码 值送显 P2 口, 将要 显 示 的时 间值的 个 位和十位分别送显 P0 和 P1 口,在此同时以 50ms 为周期,用 软 件方法计时 1 秒,到达 1s 就要将时间值减 1,刷新 LED 数码管。 时间到达一个状态所要全部时间 ,则要进行下一状态判断及衔接 ,并装入次状 态的相应状态码值以及时间值, 当然,还要开启两个外部中断 ,其一为违规信号或禁停信号输入 ,一旦信号有 效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下 F 键,中 断结束返回。其二为车流量检测信号输入 ,若检测到车辆经过,进入相应的中断子
10

山东工业职业学院毕业论文(毕业设计)
程序,将存储车流量的寄存器加 1,然后中断结束返回。 每满一个状态循环周期 , 若为自动模式, 则须将检测到的车流量数据处理一次 , 判断两个方向的交通轻重缓急状况 ,再调整下次状态循环的红绿灯时间 ,以达到自 动控制的目的。

图 3.1 基 于 单 片 机 的 交 通 灯 控 制 系 统 电 路 图

11

山东工业职业学院毕业论文(毕业设计) 3.2 单片机的选择
3.2.1 单片机的概述 单片微型计算机简称单片机 ,又称微控制器,嵌入式微控制器等 ,属于第四代电 子计算机。它把中央处理器、存储器、输入/输出接口电路以及定时器 /计数器集成在 一块芯片上,从而具有体积小 、功耗低、价格低廉、抗干扰能力强且可靠性高等特点 , 因此,适合应用于工业过程控制 、智能仪器仪表和测控系统的前端装置 。正是由于这 一 原因 ,国际上 逐渐采用 微控制器 (MCU)代替单 片微型计算机 (SCM)这一名称。 微 “ 控制器”更能反映单片机的本质 ,但是由于单片机这个名称已经为国内大多数人所接 受,所以仍沿用 “单片机”这一名称。 单片机的主要特点有: 1)具有优异的性能价格比。 2)集成度高、体积小、可靠性高。 3)控制功能强。

3.2.2 AT89C52 芯片的主要性能
芯片 AT89C52 是 ATMEL 公司生产的带 2K 字节快闪存储器的 8 位单片 机。它具有如下的一些特性: ★指令和 89C51 产品兼容 ★耐久性 1,000 写/擦除周期 ★全静态操作 0Hz~24MHz ★内含 128*8 位内部 RAM ★2 个 16 位的计数器/定时器 ★带有可编程串行通讯口 ★片内模拟电压比较器 ★内含 2K 字节可重复编程快闪存储器 ★2.7V~6V 的工作电压范围 ★二级程序存储器加锁 ★15 根可编程 I/0 引线 ★6 个中断源 ★可直接驱动 LED 输出 ★低功耗空载和掉电方式

另外,该单片机还具有体积小 ,价格低等特点。

3.2.3 AT89C52 芯片的内部结构框图
AT89C52 是一带有 2K 字节快闪可编程可擦除存储体(EEPROM)的低电压、高性 能 8 位 CMOS 微型计算机 。 它采用 ATMEL 的高密非易失存储技术制造并和工业标 准 MCS— 51 指令集和引 脚结构兼 容。通过 在单块芯 片上组合通用的 CPL1 和快闪 存储 器,ATMEL 公司生产的 AT89C52 是一强劲的微型计算机 ,它对许多嵌入式控制的应 用,提供了一种高度灵活和成本低的解决办法 。图 3.2 为 AT89C52 的内部结构框图。
12

山东工业职业学院毕业论文(毕业设计)

图 3.2 AT89C2051 内 部 结 构 图

3.2.4 AT89C52 芯片最小系统 一个最简单的单片机系统包括晶振 、复位、电源、系统的输入控制 、输出显示, 以及其他外围模块 (如通信、数据采集等 )。 (1)时钟电路 首先介绍一下单片机的晶振电路 ,即时钟电路。单片机的工作流程,就是在系 统时钟的作用下 ,一条一条地执行存储器中的程序 。单片机的时钟电路由外接的一 只晶振和两只起振电容 ,以及单片机内部的时钟电路组成 ,晶振的频率越高 ,单片 机处理数据的速度越快 ,系统功耗也会相应增加 ,稳定性也会下降。单片机系统常 用的晶振频率有 6MHz、11.0592MHz、12MHz、本系统采用 11.0592MHz 晶振,电容 选 22pF 或 30pF 均可。 (2)复位电路 系统刚上电时 ,单片机内部的程序还没有开始执行 ,需要一段准备时间 ,也就 是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时 ,也 需要进行系统复位。复位电路有很多种,有上电复位,手动复位等。
13

山东工业职业学院毕业论文(毕业设计)
(3) EA 脚的功能及接法 单 片 机的 EA 脚控 制程 序 从内部 存储器还是 从外部 存储器读取程序 。由于 现在 单片机内部的 flash 容量都很大,因此基本都是从内部的存储器读取程序 ,即不需 要外接 ROM 来存储程序,因此, EA 脚必须接高电平。 本设计中复位方式采用上电 ∕按键手动复位方式,时钟采用内部时钟。如下图 3.3 所示 。

图 3.3 本 系 统 复 位 与 时 钟 方 式

3.3 其它硬件介绍及连接
3.3.1 车流量检测电路及模拟 为了达到对红绿灯的时间控制 ,需要对道路上的车流量进行检测 。当前比较流 行的车流量检测器件 ,是一种自感式的车辆传感器 。其工作原理是当车辆经过传感 器时,引起其自感的变化 ,考虑到单片机系统的便利性 ,本次设计用一种手动的操 作方式,即车流量的检测电路用拨断开关代替。其基本思路为:当车流量大时 ,有 拨断开关送出一个高电平 。另外,在单片机和拨断开关之间加了光电隔离 。下面简 单介绍光电隔离,以 TLP550 为例。 TLP550 是日本东芝公司生产的一款光耦 ,该光耦没有和基极连接 ,适合与再噪 声比较大的环境中应用 。TLP550 的工作原理如下:当 2.3 叫的电压为正,且能时发 光二极管正常发光时,控制的发光二极管发光,使得输出端的光敏二极管导通 。这 样输出端的基极相当于与 8 引脚连接,其电平为高,使得三极管导通 ,及 5.6 两个 引脚导通。由于 5 引脚接地,这样输出端 6 叫就为低电平。再实际使用中,6.8 引 脚通常会连接一个电阻 。这样当 2.3 引脚的电压不足使发光二级光发光时 ,输出端 三极管就不到同 ,就相当于输出端 6 引脚通过一个电阻接到了 8 脚上。相对于后面 的连接电路来书 ,其为高电平。这样就可以通过控制 2.3 引脚之间的电压 ,来控制 输出 6 引脚的电平 , 达到电压耦合的隔离的作用 。车流量检测电路如下图 3.4 所示。
14

山东工业职业学院毕业论文(毕业设计)

图 3.4 车 流 量 检 测 电 路

基于光电隔离的作用,再加上拨断开关和 LED,为了避免干扰信号,可以加入 光电耦合器。如图所示,当开关状态如图所示时,LED 点亮,同时低电平被单片机 捕获。当开关拨下时 LED 熄灭,同时高点平被单片机捕获 ,这样单片机通过捕获的 电平状态做出相应的控制,与 LED 的状态即车流量的状态互相配合协调。 3.3.2 违规检测电路及模拟 在红灯和黄灯期间,车辆是禁行的,为了对那些违反规则的车辆进行检测 ,可 使用超声波车辆传感器 。但是,用于受到条件的限制 ,本系统设计中只是使用了普 通光敏二极管。

图 3.5 违 规 检 测 电 路

其基本设计思想是 :将光敏二极管放在停车线上 ,当车辆行驶过将光敏二极管 遮住,这样,光敏二极管就不导通 ,单片机检测到这一信号执行警报操作 。违规检
15

山东工业职业学院毕业论文(毕业设计)
测电路如下图 3.5 所示。 但是除了使用光敏二极管,还需使用三极管,三极管的型号是 9031.由于普通 光敏二极管的开关特性不太好 ,所以设计在电路中加入了三极管作为开关 。由于普 通光敏二极管在导通的情况下的电阻都能达到 0.5-1K, 所以在设计中将光敏二极管 直接连到了电源上 。 同时三极管还可以起到一定的隔直作用 。当光敏二极管关闭时 , 三极管的基极为低电平 ,基极与发射基之间的电压为零 ,三极管关断 ,检测口的电 压为高电平。同理,当光敏二极管导通时 ,三极管的基极电压为高 ,基极与发射极 之间的电平为高 ,三极管导通,检测口的电压为低电平 。基于此就可以检测是否有 违规车辆了。 3.3.3 八段 LED 数码管
LED 显 示 屏 作 为 大 型 显 示 设 备 的 一 种 , 具 有 亮 度 高 、 价 格 低 、 寿 命 长 、 维 护 简 便 等 优 点 。 LED 数 码 管 的 结 构 简 单,分 为 七 段 和 八 段 两 种 形 式,也 有 共 阳 和 共 阴 之 分。以 八 段 共 阳 管 为 例, 它 有 8 个 发 光 二 极 管 (比 七 段 多 一 个 发 光 二 极 管 , 用 来 显 示 sP, 即 点 ), 每 个 发 光 二 极 管 的 阳 极 连 在 一 起 , 如 图 3.6 所 示 。 这 样 , 一 个 LED 数 码 管 就 有 I 根 位 选 线 和 8 根 段 选 线 , 要 想 显 示 一 个 数 值,就 要 分 别 对 它 们 的 高 低 电 平 来 加 以 控 制。为 方 便 起 见 ,本 文 主 要 讨 论 共 阳 八 段 LED 数 码显示管,其他类形的显示管与其类似。

图 3.6 LED 数 码 管

LED 灯的显 示原理:通过同 名管脚上 所加电平的高 低来 控制发光二极管是否点 亮而显示不同的字形 ,如 dp,g,f,e,d,c,b,a 全亮显示为8,采用共阳极连接驱动 代码,代码表如下表 3.1 所示。

16

山东工业职业学院毕业论文(毕业设计)

显示数值 0 1 2 3 4 5 6 7 8 9

dp,g,f,e,d,c,b,a 11010000 11111001 10100100 10110000 10011001 10010010 10000010 11111000 10000000 10010000
表 3.1 驱动代码表

驱动代码 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H

相应在程序软件上 ,可以通过调用程序给定的秒值经过特定计算算出需要显示 的个位和十位,然后有 DPTR 调取 LEDMAP 的代码。 LED8 段数码管的设置为每个方位上的一对 2 为显示器。 四个方位上总共用 8 个 LED 接在单片机的 IO 口上。虽然路口不一样,但是显示的时间在数字上是一样的 , 所 以两 边连接的 IO 口是对称的 。如图 3.7 所示,其中 A,B 分别是 P0,P1 的 网络 标号。

图 3.7 LED 连 接 图

3.3. 4 其它器件 3.3.4 (1)发光二极管
17

山东工业职业学院毕业论文(毕业设计)
根据本设计的特点 ,红绿灯的显示不可少 ,红绿灯的显示采用普通的发光二极 管。每个方向上设置红绿黄灯 ,总共 4 组。如果东西红灯亮,那南北方向就是绿灯 亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图 3.8 所示。

图 3.8 信 号 灯 的 连 接 ( 2)蜂鸣器

本 设 计采 用一 般蜂鸣 器, 蜂鸣 器使 用 PNP 三极管 进行驱动控 制,当 P1.0 引 脚 输出为低电平, PNP 导通,蜂鸣器蜂鸣;当 P0.1 引脚输出高电平时, PNP 截止,蜂 鸣器停止蜂鸣。如下图 3.9 所示

图 3.9 蜂 鸣 器 连 接

(3)按键控制
本 设 计 设 置 了 有 3 个 键 : S 键 P3.2, J 键 P3.2, F 键 P3.7。 每 个 按 键 一 端 接 地 , 另 一 端 接 上 拉 电 阻。低 电 平 有 效,当 按 键 按 下 端 口 接 地,单 片 机 捕 获 到 低 电 平,从 而 知 道 相 应 的 输 入 信 息 。 如 下 图 3.10 所 示 。

18

山东工业职业学院毕业论文(毕业设计)

图 3.10 按 键 示 意 图

第四章 系统软件程序的设计
4.1 程序主体设计流程
全部控制程序实际上分为若干模块 :键盘设置处理程序 ,状态灯控制程序 ,LED 显示程序,消抖动延时程序,次状态判断及处理程序 ,紧停或违规判断程序 ,中断 服务子程序,车流量计数程序,红绿灯时间调整程序等 。 整 个 软件 程序 方面主 要分 两大 部分 :按键 处理 程 序和 50ms 扫描程 序。流 程图 如图 4.1 所示。

图 4.1 系 统 总 流 程 图

首先是按键处理程序 ,89C51 通过对 IO 扫描,确定是否有键按下,再判断具体 是那个键按下, 根据键值跳转到按键处理程序 。按键处理结果可设置两种工作模式 :
19

山东工业职业学院毕业论文(毕业设计)
红绿灯时间设置模式和红绿灯时间自动模式 ,次程序相当于系统的模式设置 ,若想 重新设置则要按下复位键。设置过后进入 50ms 扫描程序。 50ms 扫描程序开始后 , 先刷新显示模块 , 若为自动模式则接下来要计数车流量 , 然后扫描紧停信号和违规信号 ,若捕获则调用中断 ,中断服务子程序主要启动蜂鸣 器,直至恢复键按下 。50ms 已到则重新扫描。扫描 20 次之后计时到达 1s 则时间数 据减 1,在显示模块中修改显示缓冲区内容 。在半个状态对换时, 车流量计数程序 在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序 , 更新红绿灯时间 。当前状态时间已到 ,则判断其状态装入相应数据 ,然后进入下一 状态。

4.2 理论基础知识
4.2.1 定时器原理 定时器工作的基本原理其实就是给初值 ,让它不断加 1 直至减完为模值 ,这个 初值是送到 TH 和 TL 中的。它是以加法记数的,并能从全 1 到全 0 时自动产生溢出 中断请求。因此,我们可以把计数器记满为零所需的计数值 ,即所要求的计数值设 定为 C,把计数初值设定为 TC 可得到如下计算通式: TC=M-C 式中,M 为计数器模值 。计数值并不是目的 ,目的是时间值 ,设计 1 次的时间, 即定时器计数脉冲的周期为 T0,它是单片机系统主频周期的 12 倍,设要求的时间 值为 T,则有 C=T/T0。计算通式变为: T=(M-TC)T0 模值和计数器工作方式有关 。 在方式 0 时 M 为 8192; 在方式 1 时 M 的值为 65536; 在方式 2 和 3 为 256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率 为 12MHZ,经过 12 分频后,若采用方式0最大延时只有 8.129 毫秒,采用方式1最 大延时也只有 65.536 毫秒。这就是为什么扫描周期为 50ms 的原因, 若使用软件则会耽搁程序流程 ,显然不可行。相反,时间计时方面却不可能只用计 数器,因为显然1秒钟已经超过了计数器的最大定时间 ,所以我们还必须采用定时 器和软件相结合的办法才能解决这个问题。 4.2.2 软件延时原理 MCS-51 的工作频率为 12MHZ,机器周期与主频有关 ,机器周期是主频的 12 倍, 所以一个机器周期的时间为 12*(1/12MHZ)=1us。我们可以知道具体每条指令的周
20

山东工业职业学院毕业论文(毕业设计)
期数,这样我们就可以通过指令的执行条数来确定 1 秒的时间,但同时由于单片机 的运行速度很快其他的指令执行时间可以忽略不计。 我们设定一个初值为 20 的软件计数器和使 T0 定时 50 毫秒。 这样每当 T0 到 50 毫秒时 CPU 就响应它的溢出中断请求 ,进入他的中断服务子程序 。在中断服务子程 序中,CPU 先使软件计数器减1,然后判断它是否为零。为零表示1秒已到。设定 定 时 器 需 要 定 时 50 毫 秒 , 故 T0 必 须 工 作 于 方 式 1 。 要 求 初 值 : TC=M-T*T0=216-50ms/1us=15536=3CBOH,程序如下: …… WAIT: JNB CLR MOV MOV DJNZ …… 4.2.3 中断原理 本系统主要使用了外部中断 , 中断信号有引脚 INT0 和 INT1 输入, 低电平有效 , CPU 每个时钟周期都会检测 INT0 和 INT1 上的信号,8051 允许外部中断以电平方式 或 负 边沿 方式两 种 中断方式输入中断 请求信号 ,可由 用户通过设置 TCON 中 IT0 和 IT1 位的状态来实现。以 IT0 为例,IT0=0,为电平触发方式, IT0=1,为负边沿触 发方式,本设计采用电平方式,IE0 为其中断标志位,有中断信号则置位,中断服 务 子 程序 响应后 , IE0 自动 清零 。 IE 中的 EA 为允许中断的总控制位, 为 1 开 启, EX0 为外部中断允许控制位,为 1 开启。 在优先级的允许下 ,一旦有外部中断信号产生 ,单片机 CPU 首先保护断点 ,PC 值进栈,然后执行相应的中断服务子程序 ,执行完后,用 RETI 指令返回,此时 CPU 会从堆栈中取保存的断点地址,送回 PC,程序再正常执行。 4.2.4 红绿灯时间调整原理 车流量检测传感器可对单片机控制系统提供实时数据 ,系统对所获数据进行模 糊处理。实现红绿灯模糊控制必须解决对当前十字路口的交通状况的检测 ,并完成 如下工作: 1.输入量的采集,系统采集两个输入量,即两个方向的车流量。 2.输出量的确认,即红绿灯时间值。
21

TF0,WAIT1 TF0 TH0,#01H TL0,#0B01H R2,WAIT

山东工业职业学院毕业论文(毕业设计)
3.设计将输入映照到输出的模糊规则。 4.决定被激活模糊规则的组合方式和清晰处理,生成精确的输出控制信号。 为了采集上述数据 ,在十字路口的四侧共设置 2 个传感器。分别检测两个方向 的车流量,车流量检测不是最终目的 ,在每半个循环周期,系统会检测到两个方向 的车流量数据,除以时间,那么就可以得到单位时间的车流量 ,然后比较两个方向 单位时间车流量多少,以确定下一次循环红绿灯时间,达到调整的目的。 如,在一次循环过后,检测到南北向车流量(设此时南北绿灯,东西红灯时间 为 20s) 为 100 辆,东 西向车流 量(设此时东 西绿 灯,南北红灯时间为 30s)为 90 辆 , 则 单位 时间车 流 量南北向 和东西向的 比例是: (100/20)/(90/30) =1.6, 显 然南北向交通严重,那么现在就可以把南北绿灯,东西红灯时间调长。 上面的比例 1.6 还是一个确定数值,究竟多少为多,多少为少,这就必须设定 模糊规则,划定几个值域范围 ,分别对应到具体的调整时间上 ,系统就调用具体的 输出值了。

4.3 子程序模块设计
4.3.1 按键扫描程序 首先程序不断扫描模式设置键 ,分别记为:S 键,J 键,F 键对应IO端口的P 3.6,P3.2,P3.7,低电平有效,按键顺序是指定的 ,若直接按 F 键,则为自动调整模 式,然后进入下一程序;若先按 S 键,再按 J 键,F 键则为设置时间模式,然后进 入下一程序。 程序的开始要判断是否有键按下,可以不断将 S 键值和 F 键值相与,与值为 1 则表示没有键按下,为 0 则表示有键按下,程序如下: K1: MOV ANL JB …… 接下来要判断具体是那个键 ,若为 F 键,则将自动标志位置 1,进入下一程序, 否则为 S 键,则表示设置南北绿灯时间 ,用 R0 存值,按 1 下加 1,同时还需判断此 时 J 键是否按下 ,若按下,则表示南北绿灯时间设置完毕 ,开始设置东西绿灯时间 , 用 R1 存值,同样按 1 下加 1 ,同时判断此时 F 键是否按下,若按下,则表示时间 设置完毕,进入下一程序。
22

C, P0.0 C, P0.1 C, K1

山东工业职业学院毕业论文(毕业设计)
在这个过程中 ,S,J 键的计数是循环的 ,从初值 20 开始,加到 40 则循环回到 20。如判断 S 键程序如下: CJNZ MOV V1: INC …… 4.3.2 状态灯显示及判断 在本设计中,实际控制的灯只有 6 个,即:东西红灯,东西绿灯,东西黄灯 , 南北红灯,南北绿灯,南北黄灯。定义 IO 端口如下,其中均是低电平有效。 H_GREEN H_YELLOW L_RED L_GREEN L_YELLOW BIT P2.2 BIT P2.3 BIT P2.4 BIT P2.5 BIT P2.6 R0, #40, V1 R0, #20 R0

共 有 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 端口的值与所有的 4 个状态码比较,若相同则判断成功当前状态 ,再把下一状态的 状态码送显 P2 即可。程序如下: MOV CJNZ MOV D1: CJNZ MOV D2: CJNZ MOV D3: CJNZ A, P2 A, #0DDH,D1 P2, #BDH A, BDH,D2 P2, #EDH A, #EDH,D3 P2, #E7H A, #E7H,Y
23

山东工业职业学院毕业论文(毕业设计)
MOV …… 4.3.3 LED 倒计时显示 LED 计时每 1 秒都要刷新 1 次,那么计时满 1 秒时就要将存储时间的工作寄存 器 R4 减 1,然后送入 LED 显示程序中显示。下面要将时间数据 R4 的十位,个位分 开送显 P1,P0 端口,首先将 R4 除以 10,整数即十位放在 A 中,余数即个位放在 B 中 , 设置 7 段 LED 显示 数据 的 数据表,用数据指针 寄存器 DPTR 指向数据表的首地 址,再加上 A 中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理 。 具体程序如下: MOV MOV DIV MOV MOVC MOV MOV MOVC MOV LEDMAP: DB
……

R2, #DDH

A, R4 B, #10 A, B DPTR, #LEDMAP A, @A+DPTR P1, A A, B A, @A+DPTR P3, A 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

4.3.4 车流量检测中断服务子程序 车流量检测是用外部中断引脚 P3.3 即 INT1 捕获到一个低电平,则进入相应的 中断服务子程序,在子程序中,用 R5 计南北向车流量,用 R6 计东西向车流量,设 车向标志位为 01H,判断车向,程序如下: JNB INC U: INC …… 4.3.5 紧停及违规中断服务子程序 紧停按键和违规信号传感器均连接到外部中断引脚 P3.2,即 INT0 捕获到一个
24

01H, U R5 R6

山东工业职业学院毕业论文(毕业设计)
低电平,则进入该中断,中断程序中先把蜂鸣器 P3.4 端口置 0,启动蜂鸣。并且等 待恢复键 F 键 P3.7 按下,然后关闭蜂鸣返回。 INT0: SETB JB LCALL CLR RETI …… 4.3.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 到 1.5 为一 个范围, 1.5 以上为一个范围 。第一 范围显然表明东西向交 通严重,应将时间调长 ;第二范围表明两向相当 ,可设置一样的时间 ,第三范围表 明南北向交通严重,应将该向时间调长。具体设置如下表 4.1. P0.5 P0.0, $ DELAY P0.5

南北与东西向比例 调整南北向时间 调整东西向时间

0—0.7 20 40

0.8—1.5 30 30

1.5 及以上 40 20

表 4.1 比例及调整时间 由表可知,对应的时间调整也只有三种,分别是 20,40;30,30;40,20.显 然在实际应用中这样简单的处理难以尽如人意 ,但在此处,本设计只是模拟大致的 调整过程,以上要求的程序如下: CJNZ M2: MOV MOV SJMP A, #7 M1 R2, #20 R1, #40 OUT
25

山东工业职业学院毕业论文(毕业设计)
M1: JB CJNZ N2: MOV MOV SJMP N1: JB MOV MOV OUT: CLR CLR RET …… 4.3.7 消抖动程序 另外,在按键计数的过程中 ,还存在机械抖动与软件方面的矛盾 ,即当程序检 测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起 , 然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题 , 可以在检测到首次闭合时 ,调用一定时间的延时程序 。此处延时程序完全用软件完 成,利用程序执行一条指令的时间,再加上两次累减嵌套,程序如下: DELAY: MOV A1: MOV DJNZ DJNZ RET R2, #14H R7, #0FFH R2, $ R7, A1 C, M2 A, #15 N1 R0, #30 R1, #30 OUT C, N2 R0, #40 R1, #20 R5 R6

4.4 源程序
H_RED H_GREEN H_YELLOW L_RED L_GREEN L_YELLOW BIT P2.1 BIT P2.2 BIT P2.3 BIT P2.4 BIT P2.5 BIT P2.6
26

;定义 IO 端口

山东工业职业学院毕业论文(毕业设计)
;主程序,选择设置红绿灯时间模式或自动调整模式 ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV CLR K1: MOV ANL JB JNB K2: JNB SJMP F: LCALL MOV MOV SETB SETB SETB SJMP S: LCALL CJNZ MOV V1: INC JNB JNB SJMP J: LCALL CJNZ 0000H MAIN 0003H INT0 0030H R3, #20 R0, #20 R1, #20 EX0 C, P3.7 C, P3.2 C, K1 P3.7, F P3.2, S K2 DELAY R0, #30 R1, #30 00H EA EX1 START DELAY R0, #40, V1 R0, #20 R0 P0.1, $ P3.6, J K2 DELAY R1, #40, V2
27

;中断入口

;用于嵌套 50ms 软件方法计时 1s ;预设值红绿灯时间

;等待检测何种模式按键按下

;F 键按下为自动模式,进入扫描 ;S 键按下并等待计数次数

;J 键按下并等待计数次数

山东工业职业学院毕业论文(毕业设计)
MOV V2: INC R1 JNB JNB JNB MOV MOV SETB SETB P3.6, $ P3.7, START P3.6, J P2, #0DDH R4, R0 01H EX0 ;预设信号灯状态,时间和车向 ;设置完毕为设定时间模式,进入扫描 R1, #20

;程序开始,进行每 50ms 扫描 START: MOV MOV MOV CLR SETB DJNZ MOV DJNZ MOV CJNZ MOV MOV D1: CJNZ MOV MOV CLR D2: CJNZ MOV MOV JNB LCALL D3: CJNZ TMOD, #01H TH0, #3CH TL0, #0B0H TF0 TR0 R3, Y R3, #20 R4, Y A, P2 A, #0DDH,D1 P2, #BDH R4, #5 A, BDH,D2 P2, #EDH R4, R1 01H A, #EDH,D3 P2, #E7H R4, #5 00H, D3 DATA A, #E7H,Y
28

;开始 50ms 计时 ;1s 是否计时完毕

;本状态是否结束,并进行下一状态设置

山东工业职业学院毕业论文(毕业设计)
MOV MOV SETB Y: MOV MOV DIV MOB MOVC MOV MOV MOVC MOV LEDMAP: DB JNB JB WAIT: JNB SJMP INT1: JNB INC U: INC RETI INT0: SETB JB LCALL CLR RETI DATA: MOV MOV MUL MOV MOV MOV A, R6 B, R0 A, B R6, A A , R5 B, R1
29

R2, #DDH R4, R0 01H A, R4 B, #10 A, B DPTR, #LEDMAP A, @A+DPTR P1, A A, B A, @A+DPTR P0, A C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H 00H, WAIT P3.3, WAIT TF0, WAIT START 01H, U R5 R6 ;判断车向 ;判断是否要计数车流量 ;判断是否有车经过 ;50ms 一次扫描完毕 ;LED 倒计时显示

P3.4 P3.7, $ DELAY P3.4

;中断服务子程序,闯红灯或紧停按键

;车流量数据处理及红绿灯时间调整

山东工业职业学院毕业论文(毕业设计)
MUL MOV MUL MOV DIV CJNZ M2: MOV MOV SJMP M1: JB CJNZ N2: MOV MOV SJMP N1: JB MOV MOV OUT: CLR CLR RET DELAY: A1: MOV MOV DJNZ DJNZ RET END R2, #14H R7, #0FFH R2, $ R7, A1 ;延时程序,用于按键消抖动 A, B B, #10 A, B B, R6 A, B A, #7 M1 R2, #20 R1, #40 OUT C, M2 A, #15 N1 R0, #30 R1, #30 OUT C, N2 R0, #40 R1, #20 R5 R6

程序中部分端口说明: P2 P0 P1 P3.7 状态灯 LED 个位 LED 十位 F键 自动调整模式/ 时间设置模式确认
30

山东工业职业学院毕业论文(毕业设计)
P3.2 P3.6 P3.3 P3.2 P3.4 R3 R4 R0 R1 R5 R6 S键 J键 设置南北向通行时间 设置东西向通行时间 / 紧停

车流量检测 红外对管 蜂鸣器 存 20 用于乘以 50ms 计时 1s 暂存状态灯持续时间 存南北向通行时间 存东西向通行时间 计南北向车流量 计东西向车流量

R2,R7 用于软件延时 00H 01H 自控标志位 车向标志位

4.5 系统软件调试
4.5.1 TKS 仿真器 仿真的概念其实使用非常广 ,最终的含义就是使用可控的手段来模仿真实的情 况。单片机系统开发中的仿真包括软件仿真和硬件仿真。 软件仿真这种方法主要是使用计算机软件来模拟实际的单片机运行,因此仿真 与硬件无关的系统具有一定的优点 。用户不需要搭建硬件电路就可以对程序进行验 证,特别适合于偏重算法的程序 。软件仿真的缺点是无法完全仿真与硬件相关的部 分,因此最终还要通过硬件仿真来完成最后的设计; 硬件仿真使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部 分的功能。使用了附加硬件后用户就可以对程序的运行进行控制 ,例如单步、全速、 查看资源断点等。 4.5.2 集成开发环境 KEIL KEIL IDE Vision2 集成开发环境主要由以下部分组成: ◆ u Vision2 IDE。ision2 IDE 包括:一个工程管理器,一个功能丰富并有交 互式错误提示的编辑器选项设置生成工具 ,以及在线帮助。使用 vision2 创建源文件 并组成应用工程加以管理。 vision2 可以自动完成编译汇编链接程序的操作;
31

山东工业职业学院毕业论文(毕业设计)
◆ C51 编译 器和 A51 汇编 器。 Vision2 IDE 创建 的 源 文件 可以 被 C51 编译 器 或 A51 汇编器处理生成可重定位的 object 文件。KEIL C51 编译器遵照 ANSI C 语言标准 支持 C 语言的所有标准特性 , 另外还增加了几个可以直接支 持 80C51 结构的特性 。 KEIL A51 宏汇编器支持 80C51 及其派生系列的所有指令集; ◆ LIB51 库管理器。 库管理器可以从由汇编器和编译器创建的目标文件建立 B51 目标库,这些库是按规定格式排列的目标模块 ,可在以后被链接器所使用当链接器处 理一个库时仅仅使用了库中程序使用了的目标模块而不是全部加以引用; ◆BL51 链接器定位器。 链接器使用从库中提取出来的目标模块和由编译器汇 L51 编器生成的目标模块创建一个绝对地址目标模块 , 绝对地址目标文件或模块包括不可 重定位的代码和数据所有的代码和数据都被固定在具体的存储器单元中。 利用 KEIL 开发和调试系统软件流程大致如下: ◆启动 Vision2,进入 KEIL 软件的集成开发环境; ◆利用 KEIL 内置的文本编辑器进行程序源文件的编辑 , 因为 KEIL 集成的文本编 辑器对中文支持不是很好,可以选择其他的编辑器 (本文使用的文本编辑器 是 Ultraedit—32),Vision2 能够自动识别外部改变了的源文件; ◆建立工程,指定针对哪种单片机进行开发,指定对源程序的编译、链接参数 , 指定调试方式(本文采用外部硬件仿真器仿真调试的方式,即使 TKS 仿真器仿真), 然 后对工程进行相关设置; ◆设置好工程后即可进行编译 、链接。连接仿真器对软件进行调试 。也可以生成 下载到单片机存储器上的 HEX 文件。 4.5.3 系统软件调试 系统的软件调试借助于 TKS 仿真器,在进行系统软件的连续调试之前要先进行 软件的初调,就是要使各个子程序模块运行正确 ,程序的运行流程正确 。软件调试主 要分以下几个步骤进行: ◆ 功 能子程 序的调 试 。能子程序的调试 包括运算 、采样 、数字滤波以及 PID 运 算等子程序的调试 。在调试功能子程序时 ,许多参数都是未知的 ,要根据其所需的条 件,给出假定的数据 ,使其运行 ,如果能完成预定的处理功能或与手工计算的结果相 符 ,就 说明该子 程序己调 试通过。 调试时由 小到大,由里到外。例如,调试 PID 算 法子程序时,先调通其包含的各个运算子程序和参数处理子程序 ,然后将它们连起来 进行通调。通调时,也是假定一些数据 、参数和初始条件 ,然后运行程序。当运算结 果与手工计算的结果相同时 , 该算法子程序则调试完成 , 反之, 就要进行相应的修改 。
32

山东工业职业学院毕业论文(毕业设计)
其它子程序的调试同理; ◆程序流程的调试 。序流程的调试主要是查看程序运行的步骤是否正确 ,在某时 刻程序运行所处的位置是否正确 , 是否能正确运行各个中断服务程序 。 在调试过程中, 先 将 PID 算法子 程序屏蔽 ,输出可控硅 导通 时间用一个固定的常数代替,在各个 中 断服务子程序设置断点 ,然后运行程序,查看程序是否能运行到所有的断点 ,若所有 断点都能运行到 ,则程序流程基本正确 。去掉所有断点,再一次运行程序 ,查看可控 硅状态,从而判断程序流程正确 ,反之,若程序流程不正确 ,做相应的修改后 ,重新 调试; ◆功能程序与算法程序的通调 。完成整个程序流程的调试后 ,将 PID 等算法子 程序加入,在算法子程序前或后设置断点 ,运行整个程序 。当程序在断点处暂停时 , 查看 PID 计算的控制量与手工计算的值是否相同 。多运行几次,若每次的结果都正 确,则说明程序各个部分互相没有矛盾 ,反之,则说明算法子程序和其它子程序之 间有影响,需要做相应的修改后重新调。

33

山东工业职业学院毕业论文(毕业设计)





交通灯控制在交通运输领域有着非常重要的作用 。本文完成了基于单片机的交 通灯控制系统的设计与模拟 。包括通行方案的设计 ,系统的硬件开发 、软件编程与 仿真调试等。在论文完成过程中,主要做的工作有: (1)确定交通系统具体的通行方案 ,规定东西向和南北向车辆的行止状态和时 间分配,以及要求其他多功能的实现。 (2) ATMEL 公司的 AT89C52 单片机为核心进行系统硬件设计 , 以 输入量包括 : 车流量,按键状态和违规检测传感信号;输出控制交通信号灯亮灭状态及时间 ,以 及 LED 数码管倒计时显示。 (3)在车流量检测系统中采用模糊控制方法 ,这需要知道被控对象的数学模型 , 进行清晰化,具体化。因此,必须实施调查确定车流量少 ,中,多所要求的具体数 量,然后经过单片机控制器的相关算法及处理确定红绿灯亮灭时间。 (4)采用汇编对系统的软件编程 ,在开发过程中可使用了 TKS 仿真器,这些都 大大缩短了软件的开发周期 。为了便于编写、调试、修改和增删,系统软件的编制 采用了模块化的设计方法。

34

山东工业职业学院毕业论文(毕业设计)





首先,衷心感谢我的指导老师张蕾老师 。张老师对于相关领域技术发展方向的 把握,严谨求实的治学态度 ,使我受益匪浅。值此论文完成之际 ,谨向李老师表示 衷心的感谢! 衷心感谢中国重汽集团济南商用车铸造中心所有同事。 衷 心 感谢 我的 同学, 山东 工业 职业 学院机 电 0704 班的同 学们。他 们为我 的研 究工作提供了诸多便利条件 ,帮助我把握相关领域最新技术的发展方向 ,开阔了视 野,拓宽了思路,这在我的课题研究过程中发挥了相当大的作用 。在此对他们致以 真诚的感谢! 衷心感谢所有给予我支持、帮助和关心的领导、老师、亲友和同学们!

35

山东工业职业学院毕业论文(毕业设计)

参考文献
[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]张毅坤. 单片微型计算机原理及应用, [M]西安电子科技大学出版社 1998

[8] 余 锡 存 曹 国 华 . 单 片 机 原 理 及 接 口 技 术 [M]. 陕 西 : 西 安 电 子 科 技 大 学 出 版 社,2000.7 [9]雷丽文 等.微机原理与接口技术[M].北京:电子工业出版社,1997.

36


网站首页 | 网站地图
3986 3986.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com