智能交通信号灯控制器的研究 毕业设计.doc_第1页
智能交通信号灯控制器的研究 毕业设计.doc_第2页
智能交通信号灯控制器的研究 毕业设计.doc_第3页
智能交通信号灯控制器的研究 毕业设计.doc_第4页
智能交通信号灯控制器的研究 毕业设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

i 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带 动传统控制检测日新月异更新。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠 什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控 制方式很多。本系统采用 msc-51 系列单片机 at89c51 和可编程并行 i/o 接口芯 片 8255a 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 at89c51 芯片的 p1 口设置红、绿灯燃亮时间的功能;显示时间直接通过 8255 的 pa、pb 口输出;交通灯信号通过 pc 口输出;交通灯的点亮采用 vt 双向晶闸 管来控制,直接采用 220v 交流电源驱动,系统实用性强、操作简单、扩展性强。 在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心 部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对 具体应用对象特点的软件结合,加以完善。 关键词:单片机 交通灯 控制器 设计 实现 ii 东华理工大学长江学院毕业设计论文 abstract iii abstract in recent years along with science and technology develop fast, the application of single flat machine is moving towards thorough continuously, at the same time drive traditional control detection day the benefit of new moon update. in the only flat machine application system of the automatic control and detection of real time, only flat machine is often to use as a key parts, only single flat machine aspect knowledge is insufficient , return should basis specificly hardware structure, as well as aim at the software that applies object characteristic specificly combination, perfect. crossroads vehicle wear comb, pedestrian xi rang, turn to be all right lane, person pedestrian says , methodically. do you lean what to realize this orderly order? what lean is that the automatic command system of traffic signal lamp. traffic signal lamp control way is many. this system adopts msc-51 series only flat machine at89c51 with but programming parallel interface chip 8255 a of i/o is central device the design controler of traffic lights, haverealized can measure according to actual wagon flow the p1 installation bonus and green light that passes through at89c51 chips burn to light the function of time; show that time is directly exported through pb and pa of 8255; the signal of traffic lights is exported through usually pc mouth; the point of traffic lights light to adopt vt two-way jing floodgate pipe come to control, directly drive with the alternating current source of 220 v, practicality is strong, operating is simple. keywords: only flat machine traffic lights controler design realize 东华理工大学长江学院毕业设计论文 目录 1 目 录 绪论 .1 1.1 课题来源和背景 1 1.2 课题研究目的和意义 2 1.3 国内外研究概况和发展趋势 2 2.主要任务及方案论证 .4 2.1 主要任务 4 2.2 方案对比论证 4 2.2.1 总体设计方案 4 2.2.2 电源提供方案 5 2.2.3 显示界面方案 5 2.2.4 输入方案: 5 2.2.5 方案的论证: 6 3.交通信号灯系统的硬件电路设计 .7 3.1 系统硬件设计 7 3.1.1 总体框图设计 7 3.1.2 系统工作原理 .7 3.1.3 交通灯的原理方框图及说明 8 3.1.4 交通灯硬件总机线路图 .8 3.2 at98c51 的振荡器及时钟电路 8 3.2.2 引脚描述 .10 3.2.3 at89c51 性能及特点 .11 3.2.4 工作原理 .12 3.3 复位及复位电路 12 3.4 信号灯显示电路 .13 3.4.1 8255 芯片介绍 .13 3.4.2 at89c51 并行口的扩展 14 3.4.3 显示原理 15 3.4.4 8255pa 口输出信号接信号灯 .15 3.4.5 8255 输出信号与数码管的连接 .15 3.4.6 8255 与 at89c51 的连接 .16 3.5 倒计时显示电路 .16 3.5.1 74ls373 芯片介绍 17 3.6 键盘电路 .18 4.交通灯控制器电路的软件设计 20 4.1 交通灯的工作状况 .20 4.2 软件设计思路 .20 4.3 主程序设计 .20 4.3.1 部分参数计算 .21 4.4 定时中断子程序 .22 东华理工大学长江学院毕业设计论文 目录 2 4.5 软件的延时 .23 4.6 程序源设计 .24 5.结论 25 致 谢 26 参考文献 27 附 录 28 东华理工大学长江学院毕业设计论文 绪论 1 绪论 1.1 课题来源和背景 本课题来源于教学实践。 随着社会经济的发展,交通问题越来越引起人们的关注。人、车、路三者 关系的协调,已成为交通管理部门需要解决的重要问题之一。交通控制系统是 用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统, 它是现代交通监控指挥系统中最重要的组成部分。 在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的 手段。但这一技术在 19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械 扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年, 英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世 界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停 止”,绿色表示 “注意”。1869 年 1 月 2 日,煤气灯爆炸,使警察受伤,遂被取消。 1914 年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的 投光器组成,安装在纽约市 5 号大街的一座高塔上。红灯亮表示“停止” ,绿灯 亮表示“通行 ”。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一 种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器 来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯 当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把 信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行 能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号 协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以 直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必 须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行 信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面 对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可 以进入交叉路口 。2 东华理工大学长江学院毕业设计论文 绪论 2 1.2 课题研究目的和意义 专业课的学习不仅仅是要学习理论知识,还要有了解本专业的科技前沿知 识,专业知识在日常生活中的应用,理论联系实际,应用本专业的一般理论去 进行创新等等,而毕业设计正是起到桥梁的作用,它不仅仅是对理论的理解, 更是对理论的应用和创新。本设计分析了现代城市交通控制与管理问题的现状, 结合实验阐述了交通灯控制系统的工作原理,设计出一种简单实用的城市交通 灯控制系统的硬件电路设计方案。 而对于本次毕业设计,通过交通灯控制的控制系统的设计进一步熟悉和掌 握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤; 通过利用 at89c51 单片机,理解单片机在自动化仪表中的作用以及掌握单片机 的编程方法;掌握键盘和显示器在的单片机控制系统中的应用。掌握撰写毕业 设计的方法。 1.3 国内外研究概况和发展趋势 随着社会经济的不断发展和人们生活水平的普遍提高,整个社会对交通运 输的需求日益增加。虽然世界各国政府已经或是正在大量投入财力于交通基础 设施的建设,但交通状况恶化及其伴生的安全事故、空气污染等一系列问题越 来越困扰着有关的政府当局。交通运输对经济发展的制约作用不同程度地普遍 存在于每个国家和地区,如何解决大城市周围地区交通拥挤和堵塞现象几乎成 了最为棘手的难题之一。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路 通行能力,减少交通事故有明显效果。随着中国加入 wto,我们不但要在经济、 文化、科技等各方面与国际接轨,在交通控制方面也应与国际接轨。俗话说“要 想富,先修路” ,但路修好了如果在交通控制方面做不好,道路还是无法保障畅 通安全。作为交通控制的重要组成部份的交通信号灯也应国际化。随着社会经 济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调, 已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市 交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代 城市交通监控指挥系统中最重要的组成部分 。随着城市机动车量的不断增加,4 许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自 80 年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它 们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道 路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路 在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道 路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好 东华理工大学长江学院毕业设计论文 绪论 3 耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥 堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 近年来单片机技术发展的非常迅速,有单片机做成的产品外围元件很少, 能实现的功能却很广,广泛应用于工业,农业,交通等,因而越赖越受人们的 喜爱。兼于此,特用单片机 89c51 设计此电路。本电路可实现倒计时和秒表两 种功能。其中单片机控制的交通灯控制系统就是一个典型的例子,但人们对它 的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就 需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 交通灯的未来发展趋势是拥有自动调节时间长短的功能。譬如说,它能自 动感应该地区的交通情况,如果塞车的话该交通灯能自动控制红、黄与绿等的 亮灯时间长短。未来的交通灯会是一种全新的交通灯,激光等离子形成的屏障 对行人和汽车均无伤害,但这种效果足以让司机朋友们不再跃跃欲试。 东华理工大学长江学院毕业设计论文 硬件电路设计 4 2.主要任务及方案论证 2.1 主要任务 本设计的主要任务是针对交通十字路口经常出现的问题,基于以单片机 at89c51 为主,兼用一些如液晶显示器,交通指示灯,电阻排等器件,来设计 的一个单片机控制的交通灯控制系统。 其主要目标及参数: (1)主、支干道交替通行,通行时间均可在 0-99s 内任意设定。 (2)每次绿灯换红灯前,黄灯先亮较短时间(也可在 0-99 s)内任意设定,用以 等待十字路口内已经通过停车线的滞留车辆的通过。 (3)主、支干道通行时间和黄灯亮的时间均由同一计数器按减计数方式。 (4)计数(零状态瞬间进行状态的转换,视为无效态)。 (5)在减计数器回零瞬间完成十字路口通行状态的转换(换灯)。 (6)计数器的状态由 ewb 显示器件库中的带译码器七段数码管显示,红、黄、 绿三色信号灯由 ewb 显示器件库中的指示灯模拟。 2.2 方案对比论证 2.2.1 总体设计方案 方案一:纯数字电路方式 用数电器件设计:时钟分频模块,交通灯亮灭控制模块,交通灯显示模块, 倒计时计数模块,倒计时显示模块,实现交通灯的控制和显示功能。优点是不 需要软件编程控制,缺点是硬件规模庞大且不能实现延时可调。 方案二:fpga/cpld 方式 fpga/cpld 除了完成交通灯控制、存储和显示功能外,还可进行人机交 互,实现定时器延时可调。这种方案系统结构紧凑,但调试过程繁琐。 方案三:单片机方式 利用单片机控制相应 i/o 口,模拟交通灯显示,利用其串口实现数码管显 示。利用外部中断功能,设计人机交互接口,完成交通灯主次干道通行时间任 意可调。此方案占用硬件资源少、功能齐全、调试过程简单。 故本设计采用方案三。 东华理工大学长江学院毕业设计论文 硬件电路设计 5 2.2.2 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案。 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟 电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电 路电平 。3 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要, 节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 2.2.3 显示界面方案 该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种 方案: 方案一:采用数码管与点阵 led 相结合的方法因为设计既要求倒计时数 字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与 led 灯分别显示时间与提示信息。 方案二:完全采用点阵式 led 显示。这种方案实现复杂,且须完成大量 的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。 方案三:完全采用数码管显示。这种方案显示有限的符号和数码字苻,简 易,能符合题目要求。方案三既满足系统功能要求,又减少了系统实现的复杂 度。 权衡利弊,我们决定采用方案三以实现系统的显示功能。 2.2.4 输入方案: 题目要求系统能手动设置灯亮时间、紧急情况处理,我们讨论了两种方案: 方案一: 直接在 io 口线上接上按键开关。因为设计时精简和优化了电路, 所以剩余的口资源还比较多,我们使用四个按键,分别是 k1、k2 、k3、k4。 方案二:采用 8255 扩展 i/o 口及键盘,显示等。该方案的优点是: 使用灵活可编程,并且有 ram,及计数器。若用该方案,可提供较多 i/o 口,操 作起来稍显复杂。 由于该系统对于交通灯及数码管的控制,单片机本身的 i/o 口不够实现, 且本身的计数器及 ram 已经占够用,故选择方案二。 东华理工大学长江学院毕业设计论文 硬件电路设计 6 而选择单片机时,8951 有片内 rom 用来存储指令。8031 无片内 rom, 使用 8031 时需要外接 rom 来存储指令 。故采用单片机 at89c51 来完成。3 故本设计采用单片机 at89c51 作为控制器,8255 可编程并行接口芯片,数码 管等器件完成。 2.2.5 方案的论证: 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指 示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮 提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道 的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表 1。 表 1 指示灯燃亮的方案 60s 5s 80s 5s 东西道 红灯亮 黄灯亮 绿灯亮 黄灯亮 南北道 绿灯亮 黄灯亮 红灯亮 黄灯亮 表 1 说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿 灯,此道车辆通过,行人禁止通行。时间为 60 秒。 (2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通 过,行人通行。时间为 80 秒。 东西方向车流大 通行时间长。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能 安全畅通的通行。 (5)此表可根据车流量动态设定红绿灯初始值。 东华理工大学长江学院毕业设计论文 硬件电路设计 7 3.交通信号灯系统的硬件电路设计 3.1 系统硬件设计 该交通灯系统选用电子元件:一片 at89c51 单片机,一片 8255 并行通用 接口芯片,一片 sn74ls373,四个由 ewb 显示器件库中的带译码器共阴极的七 段数码管,若干双向晶闸管,红、黄、绿交通灯各两个,2 个 4 开关键盘、连 线若干。 3.1.1 总体框图设计 图 1 总体框图 3.1.2 系统工作原理 (1)开关键盘输入交通灯初始时间,通过 at89c51 单片机 p1 输入到系统 (2)由 at89c51 单片机的定时器每秒钟通过 p0 口向 8255 的数据口送信息, 由 8255 的 pa 口显示红、绿、黄灯的燃亮情况;由 8255 的 pc 口显示每个灯的 燃亮时间。 (3)at89c51 通过 设置 各个信号等的燃亮时间、通过 at89c51 设置,绿、 红时间分别为 60 秒、80 秒循环由 at89c51 的 p0 口向 8255 的数据口输出。 (4)通过 at89c51 单片机的 p3.0 位来控制系统是工作或设置初值,当 p3.0 为 0 就对系统进行初始化,为 1 系统就开始工作。 (5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3s 后然 后恢复正常。 键盘设置 时间参数 锁存at89c51 单片机 数码管显示 时间 红黄绿交通灯 的并行接口 8255a 扩展 cpu 东华理工大学长江学院毕业设计论文 硬件电路设计 8 (6)增加每次绿灯时间车流量检测的功能,并且通过查询 p2.0 端口的电平 是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间 重新记入。 (7)绿灯时间倒计时完毕,重新循环。 3.1.3 交通灯的原理方框图及说明 交通信号灯自动定时控制系统用中小规模数字集成电路实现非常方便,而 且便于在 ewb 内进行仿真实验。设系统工作的不十字路口由主、支两条道构成, 四路口均设红、黄、绿三色信号灯和用于计时的两位由数码管显示的十进制计 数器,其示意图由图 2 所示: 图 2 十字路口交通信号灯控制示意图 注释:主干道为东西方向,支干道为南北方向。 3.1.4 交通灯硬件总机线路图 硬件总机线路图见附录 1 3.2 at98c51 的振荡器及时钟电路 3.2.1 at89c51 芯片介绍 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。 单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器 。9 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部 件:中央处理器、存储器和 i/o 接口电路等。因此,单片机只需要和适当的软 件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向 东华理工大学长江学院毕业设计论文 硬件电路设计 9 发展,它们的 cpu 功能在增强,内部资源在增多,引角的多功能化,以及低电 压底功耗。 下图是 at89c51 单片机的内部结构示意图 3。 图 3 at89c51 的内部结构图 at89c51 是一种低功耗、高性能的片内含有 4kb 快闪可编程擦除只读存 储器(fperom-flash programmable and erasable read only memory) 8 位 cmos 微控制器,使用高密度、非易失存储技术制造,并且与 80c51 引脚和指令 系统完全兼容。芯片上的 fperom 允许在线编程或采用通用的非易失存储编程器 对程序存储器重复编程。at89c51(以下简称 89c51)将具有多种功能的 8 位 cpu 与 fperom 结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又 价格适宜的方案,其性能价格比较高. at89c2051 是它的一种精简版本。 at89c51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案. 外 形及引脚排列如图 4 所示。 东华理工大学长江学院毕业设计论文 硬件电路设计 10 3.2.2 引脚描述 各引脚对应的功能简要介绍如下: gnd 接地。 vcc 电源端,接5v。 p0.00.7 p0 口是开漏双向口可以写为 1 使其状态为悬浮用作高阻 输入,p0 也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存 储器时作数据总线,此时通过内部强上拉输出 1。p0 口每位可以能驱动 8 个 ls 型 ttl 负载。 p1.01.7 p1 口是带内部上拉的双向 i/o 口,向 p1 口写入 1 时 p1 口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部拉低的 p1 口会 因为内部上拉而输出电流。p1 口每位可以能驱动 4 个 ls 型 ttl 负载。 p2.02.7 p2 口是带内部上拉的双向 i/o 口,向 p2 口写入 1 时 p2 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的 p2 口 会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时分别作为地 址高位字节和 16 位地址,此时通过内部强上拉传送 1。当使用 8 位寻址方式访 问外部数据存储器时,p2 口每位可以能驱动 4 个 ls 型 ttl 负载。 p3.03.7 p3 口是带内部上拉的双向 i/o 口,向 p3 口写入 1 时 p3 口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部拉低的 p3 口, 会因为内部上拉而输出电流。p3 口每位可以能驱动 4 个 ls 型 ttl 负载。p3 口 还具有以下特殊功能(表 2): rxd(p3.0) 串行输入口 txd(p3.1) 串行输出口 int0(p3.2) 外部中断 0 图 4 at89c51 封装引脚配置图 表 2 p 3 口提供的第二功能 p3 口线 第二功能 p3.0 rxd(串口输入 ) p3.1 txd(串口输出) p3.2 int0(外部中断 0) p3.3 int1(外部中断 1) p3.4 t0(外部定时输入 0) p3.5 t1(外部定时输入 1) 东华理工大学长江学院毕业设计论文 硬件电路设计 11 int1(p3.3) 外部中断 t0(p3.4) 定时器 0 外部输入 t1(p3.5) 定时器 1 外部输入 wr(p3.6) 外部数据存储器写信号 rd(p3.7) 外部数据存储器读信号 rst 复位。当晶振在运行中只要复位管脚出现 2 个机器周期高电平,即可 复位内部。有扩散电阻连接到 vss,仅需要外接一个电容到 vcc 即可实现上电 复位。 ale 地址锁存使能。在访问外部存储器时,输出脉冲锁存地址的低字节, 在正常情况下,ale 输出信号恒定为 1/6 振荡频率并可用作外部时钟或定时。 psen 程序存储使能。当执行外部程序存储器代码时,psen 每个机器周期 被激活两次。在访问外部数据存储器时,psen 无效。访问内部程序存储器时, psen 无效。 ea/vpp 外部寻址使能/编程电压。在访问整个外部程 序存储器时 ea 必须外部置低,如果 ea 为高时将执行内部程序,除非程序计数 器包含大于片内。 flash 的地址。该引脚在对 flash 编程时,接 5v/12v 编程电压(vpp),如果保 密位 1 已编程,ea 在复位时由内部锁存。 xtal1 反相振荡放大器输入和内部时钟发生电路输入。 xtal2 反相振荡放大器输出。 3.2.3 at89c51 性能及特点 89c51 的主要性能包括: (1)与 mcs51 微控制器产品系列兼容。 (2)片内有 4kb 可在线重复编程的快闪擦写存储器(flash memory) 。 (3)存储器可循环写入擦除 1000 次。 (4)存储数据保存时间为 10 年。 (5)宽工作电压范围:vcc 可为 2.7v6v。 (6)全静态工作:可从 0hz 至 16mhz。 (7)程序存储器具有 3 级加密保护。 (8)1288 位内部 ram。 (9)32 条可编程 io 线。 东华理工大学长江学院毕业设计论文 硬件电路设计 12 (10)两个 16 位定时器计数器。 (11)中断结构具有 5 个中断源和 2 个优先级。 (12)可编程全双工串行通道。 (13)空闲状态维持低功耗和掉电状态保存存储内容。 3.2.4 工作原理 图 3 中 xtal1 和 xtal2 分别为反向放大器的输入和输出。该反向放大器可 以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动 器件,xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因 此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 89c51 内置最高频率达 12mhz 的时钟电路,用于产生整个单片机运行的脉冲时 序,但 89c51 单片机需外置振荡电容。因此采用晶振构成 12mhz 的时钟电路。 该时钟电路如图 5(取自总电路图)所示: 1.09mhzpfxtal 图 5 时钟电路 3.3 复位及复位电路 图 3 中 reset 为复位信号复用脚,当 at89c51 通电,时钟电路开始工作,在 reset 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后, 程序计数器 pc 指向 0000h,p0-p3 输出口全部为高电平,堆栈指针写入 07h, 其它专用寄存器被清“0” 。reset 由高电平下降为低电平后,系统即从 0000h 地址开始执行程序。然而,初始复位不改变 ram(包括工作寄存器 r0-r7)的状 东华理工大学长江学院毕业设计论文 硬件电路设计 13 态,at89c51 的初始态。 at89c51 的复位方式可以是自动复位,也可以是手动复位。如图 6(取自 总电路图)所示: 图 6 复位电路 3.4 信号灯显示电路 用 6 个发光二极管(led) 来实现红绿灯转换状态,由于我们用外部输入 设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一 个 i/o 端口,显然 at89c51 的端口是不够,因此路口倒计时的显示就不能实现, 所以信号灯显示电路中采用 8255pa 口来实现。如图 7(取自总电路图) 图 7 信号灯显示电路 3.4.1 8255 芯片介绍 8255 可编程并行接口芯片有三个输入输出端口,即 a 口、b 口和 c 口,对 rest 89c51 单片机 东华理工大学长江学院毕业设计论文 硬件电路设计 14 应于引脚 pa7pa0、pb7pb0 和 pc7pc0。其内部还有一个控制寄存器,即 控制口。通常 a 口、b 口作为输入输出的数据端口。c 口作为控制或状态信息的 端口,它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁 存器。它们分别与端口 ab 配合使用,可以用作控制信号输出或作为状态信号 输入。 8255 可编程并行接口芯片方式控制字格式说明: 8255 有两种控制命令字;一个是方式选择控制字;另一个是 c 口按位置位 复位控制字。其中 c 口按位置位复位控制字方式使用较为繁难,说明也较 冗长,故在此不作叙述,需要时用户可自行查找有关资料。 方式控制字格式说明如表 3: 表 3 方式控制字格式说明 d7 d6 d5 d4 d3 d2 d1 d0 d7:设定工作方式标志,1 有效。 d6、d5:a 口方式选择 0 0 方式 0 0 1 方式 1 1 方式 2 d4:a 口功能 (1=输入,0= 输出) d3:c 口高 4 位功能 (1=输入,0= 输出) d2:b 口方式选择 (0=方式 0,1= 方式 1) d1:b 口功能 (1=输入,0= 输出) d0:c 口低 4 位功能 (1=输入,0= 输出) 8255 可编程并行接口芯片工作方式说明: 方式 0:基本输入输出方式。适用于三个端口中的任何一个。每一个端 口都可以用作输入或输出。输出可被锁存,输入不能锁存。 方式 1:选通输入输出方式。这时 a 口或 b 口的 8 位外设线用作输入或 输出,c 口的 4 条线中三条用作数据传输的联络信号和中断请求信号。 方式 2 :双向总线方式。只有 a 口具备双向总线方式,8 位外设线用作输 入或输出,此时 c 口的 5 条线用作通讯联络信号和中断请求信号 。10 3.4.2 at89c51 并行口的扩展 at89c51 虽然有 4 个 8 位 i/o 端口,但真正能提供借用的只有 p1 口,因为 东华理工大学长江学院毕业设计论文 硬件电路设计 15 p2 和 p0 口通常用于传送外部传送地址和数据,p3 口也有它的第二功能 。因13 此,at89c51 通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数 码管的输出显示、红绿黄信号灯的显示都要用到一个 i/o 端口,显然 at89c51 的端口是不够,需要扩展。 扩展的方法有两种:(1)借用外部 ram 地址来扩展 i/o 端口;(2)采用 i/o 接口新片来扩充。我们用 8255 并行接口信片来扩展 i/o 端口。 3.4.3 显示原理 当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序,它将 依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定 时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在 重新给时间计数器赋初值 ,重新进入循环。 3.4.4 8255pa 口输出信号接信号灯 由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所 以可以用置位方法点亮红,绿,黄发光二极管。 3.4.5 8255 输出信号与数码管的连接 led 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否 点量而显示不同的字形如 sp,g,f,e,d,c,b,a 管角上加上 7fh 所以 sp 上为 0 伏,不亮其余为 ttl 高电平,全亮则显示为 8。其驱动代码如表 4 所示 采用共阴级连接: 其中 pc0pb0-a, pc1pb1-b, pc2pb2-c, pc3pb3-d, pc4pb4-e, pc5pb5-f, pc6pb6-g, pc7pb7 -sp 接地. 东华理工大学长江学院毕业设计论文 硬件电路设计 16 表 4 驱动代码表 显示数值 dop g f e d c b a 驱动代码(16 进制) 0 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 0 1 1 0 06h 2 0 1 0 1 1 0 1 1 5bh 3 0 1 0 0 1 1 1 1 4fh 4 0 1 1 0 0 1 1 0 66h 5 0 1 1 0 1 1 0 0 6dh 6 0 1 1 1 1 1 0 0 7dh 7 0 0 0 0 0 1 1 1 07h 8 0 1 1 1 1 1 1 1 7fh 3.4.6 8255 与 at89c51 的连接 用 at89c51 的 p0 口的 p0.7 连接 8255 的片选信号 cs 我们用 at89c51 的 地址采用全译码方式,当 p0.7 =0 时片选有效,其他无效,p0.1 p0.1 用于选 择 8255 端口。 p0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1 p0.0 a7 a6 a5 a4 a3 a2 a1 a0 1 x x x x x 0 0 00h 为 8255 的 pa 口 1 x x x x x 0 1 01h 为 8255 的 pb 口 1 x x x x x 1 0 02h 为 8255 的 pc 口 1 x x x x x 1 1 03h 为 8255 的控制口 由于 at89c51 是分时对 8255 和储存器进行访问所以 at89c51 的 p0 口不 会发生冲突。 3.5 倒计时显示电路 前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采 用两组四个数码管作为倒计时的显示;同时为了节省口资源,采用 8255pc 口与 一片 8 个电阻的电阻排连接的串口的方式来显示驱动数码管。见图 8(取自总 电路图)所示。 东华理工大学长江学院毕业设计论文 硬件电路设计 17 图 8 倒计时显示电路 3.5.1 74ls373 芯片介绍 74ls373 是一种带三态门的 8d 锁存器,其管脚示意图如图 9: 其中:1d-8d 为 8 个输入端。 1q-8q 为 8 个输出端。 le 为数据打入端:当 le 为“1”时,锁存器输出 状态同输入状态;当 le 由“1”变“0”时,数据 打入锁存器 东华理工大学长江学院毕业设计论文 硬件电路设计 18 oe 为输出允许端:当 oe=0 时,三态门打开; 当 oe=1 时,三态门关闭,输出高阻 。8 图 9 74ls373 引脚 3.6 键盘电路 键盘部分主要是完成简易的计算器的功能,在扫描键盘的时候我采用 p1 口 的高四位作为输入,p1 口的低位作为输出来检测到底是那一个键被按下,这样 每一个键就对应一个数字和符号(1-16) ,在实际的设计中我们用 a,b,c,d,f,分别表示加减乘除和等的符号,这样就可以完成简易的计算器 的功能了。键盘原理图如图 10(取自总电路图): 图 10 键盘电路 为了模拟出简单的计算器的功能我们做了一个 4*4 的键盘部分。并且用 p1 口的高四位作为键盘扫描时的低电平的输入端,低四位作为键盘扫描的读数端。 显然键盘有 1 到 16 这些数字键,但是在模拟加减乘除的运算过程中需要输入的 东华理工大学长江学院毕业设计论文 硬件电路设计 19 是十进制的数据,还要有加减乘除的运算符号,所以我们就用 a,b,c,d 来表 示加减乘除符号,用 f 来表示等于符号。为了简化计算器的功能和降低编程的 难度,我们约定输入的数据是两位的,如果只有一位就在它的前面加零来实现 转化为统一的两位数的运算。在模拟简易计算器的功能的时候,我们首先要保 证键盘扫描的结果正确。在键盘扫描的过程中,我们首先是判断键盘中是否有 键没按下,在确认有键按下后才逐行的扫描键盘来确定到底是那一个键被按下, 然后根据键码来确定键所代表的数字或者符号。在连续扫描键盘的过程中不断 的确定数据和符号,并把它们压入数组中,当连续输入两位数,符号和别外两 位数后根据符号位来计算出结果,并把结果经过数据处理译码后送到结果显示 的缓冲区中。当按下等于键时,就输出显示出结果。 东华理工大学长江学院毕业设计论文 软件设计 20 4.交通灯控制器电路的软件设计 4.1 交通灯的工作状况 根据交通灯的工作过程和电路连接情况,交通灯的工作状况见下表 5 所示。 正常工作时交通灯在前 4 个状态间运行 表 5 交通灯工作状况 序号 交通灯工作情况 持续时间 下个状态 1 绿灯亮,红灯暗 60s 2 2 黄灯闪烁,红灯亮 5s 3 3 红灯暗,绿灯亮 80s 4 4 红灯亮,黄灯闪烁 5s 1 4.2 软件设计思路 本程序由主程序、定时中断子程序组成。主程序主要负责系统初始化和等 待中断。定时中断子程序主要负责数码管显示刷新和红绿黄灯各种状态切换。 8255 计数的起停由 8255 的 pa0 控制,8255 的 pa0 输出 1 时,开始计数, 交通灯按正常状态切换工作,pa0 输出 0 时,计数器停止工作,交通灯不再按 正常状态切换。开始计数后每 100ms 发出一个中断申请信号,在中断子程序中 先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。当有紧急 情况时进入外部中断服务子程序,先让计数器停止计数,然后点亮所有的红灯, 下一次外部中断处理时,恢复原来的交通灯状况,启动计数器开始工作 。9 4.3 主程序设计 主程序负责系统的初始化,然后数码管数据输出显示,同时检测键盘按键, 有按键就退出程序。主程序的流程图如图 11 所示: 东华理工大学长江学院毕业设计论文 软件设计 21 图 11 主程序流程图 4.3.1 部分参数计算 定时器工作时必须给计数器送计数器初值,这个值是送到 th 和 tl 中的。 他是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们 可以把计数器记满为零所需的计数值设定为 c 和计数初值设定为 tc 可得到如 下计算通式: tc=m-c 式中,m 为计数器模值,该值和计数器工作方式有关。在方式 0 时 m 为 213 ;在方式 1 时 m 的值为 216;在方式 2 和 3 为 28。 计算公式:t=(mtc)t 计数 t 计数是单片机时钟周期 tclk 的 12 倍;tc 为定时初值。 4.4 定时中断子程序 y 初始化计数器 初始化 8255 设置中断向量 设置交通灯初态 启动计数器 数码管数据输出 开始 有按键 结束 n 东华理工大学长江学院毕业设计论文 软件设计 22 定时中断子程序负责完成数码管输出数据刷新和各个状态的处理切换。中 断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图 如图 12 所示。 图 12 中断程序流程图 数码管输出数据刷新子程序是实现倒计时 25s,用 ledout 表示输出的数据, cnt 用来软件计时 1s,就是计数 10 个 100ms。led 输出是要将输出的数据转化 为段选码。 根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的 切换。状态 1 和 3 的流程是一样的,先点亮对应的交通灯,再判断定时到了就 可以切换了。状态 2 和 4 要实现黄灯的闪烁,间隔点亮和熄灭就可以了。 中断服务子程序: org 000bh ajmp brt0 org 00bh brt0:djnz r0,next ajmp time ; 跳转到时间及信号灯 djnz:mov r0,14h ; 恢复 r0 值 mov th0, #3ch ; 重装入定时器初值 mov tl0, #boh ; 开始 数码管输出数据处理 状态比较跳转 状态 1 处理程序 2 处理 3 处理 4 处理 中断恢复 中断返回 东华理工大学长江学院毕业设计论文 软件设计 23 mov ie, #82h ; ret1 end 4.5 软件的延时 单片机 at89c51 的工作频率为 2-12mhz,其工作频率为 6mhz14。机器周期 与主频有关,机器周期是主频的 12 倍,所以一个机器周期的时间为 12*(1/6m)=2us。这样可以知道具体每条指令的周期数,那我们就可以通过指 令的执行条数来确定 1 秒的时间。 我们采用在主程序中设定一个初值为 20 的软件计数器和使 t0 定时 50 毫秒。 这样每当 to 到 50 毫秒时 cpu 就响应它的溢出中断请求,进入他的中断服务子 程序。在中断服务子程序中,cpu 先使软件计数器减,然后判断它是否为零。 为零表示秒已到可以返回到输出时间显示程序。 具体延时程序分析: delay:mov r4,#08h ;延时 1 秒子程序 de2:lcall delay1 djnz r4,de2 ret delay1:mov r6,#0 ;延时 125ms 子程序 mov r5,#0 de1: djnz r5,

温馨提示

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

评论

0/150

提交评论