资源描述
I摘 要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用 MSC-51 系列单片机 AT89C51 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过AT89C51 芯片的 P1 口设置红、绿灯燃亮时间的功能;显示时间直接通过 8255的 PA、PB 口输出;交通灯信号通过 PC 口输出;交通灯的点亮采用 VT 双向晶闸管来控制,直接采用 220V 交流电源驱动,系统实用性强、操作简单、扩展性强。 在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 关键词:单片机 交通灯 控制器 设计 实现 II东华理工大学长江学院毕业设计论文 ABSTRACTIIIABSTRACTIn 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目 录 绪论.11.1 课题来源和背景.11.2 课题研究目的和意义.21.3 国内外研究概况和发展趋势.2 2.主要任务及方案论证.42.1 主要任务 .42.2 方案对比论证 .42.2.1 总体设计方案 .42.2.2 电源提供方案 .52.2.3 显示界面方案 .52.2.4 输入方案: .52.2.5 方案的论证: .6 3.交通信号灯系统的硬件电路设计.73.1 系统硬件设计 .7 3.1.1 总体框图设计.7 3.1.2 系统工作原理.7 3.1.3 交通灯的原理方框图及说明 .8 3.1.4 交通灯硬件总机线路图.83.2 AT98C51 的振荡器及时钟电路 .83.2.2 引脚描述.103.2.3 AT89C51 性能及特点 .11 3.2.4 工作原理.123.3 复位及复位电路.123.4 信号灯显示电路.133.4.1 8255 芯片介绍 .133.4.2 AT89C51 并行口的扩展 .143.4.3 显示原理.153.4.4 8255PA 口输出信号接信号灯 .153.4.5 8255 输出信号与数码管的连接 .153.4.6 8255 与 AT89C51 的连接 .163.5 倒计时显示电路.16 3.5.1 74LS373 芯片介绍 .173.6 键盘电路.18 4.交通灯控制器电路的软件设计.204.1 交通灯的工作状况 .204.2 软件设计思路.204.3 主程序设计 .204.3.1 部分参数计算 .214.4 定时中断子程序.22东华理工大学长江学院毕业设计论文 目录24.5 软件的延时.234.6 程序源设计.24 5.结论.25 致 谢.26 参考文献.27 附 录.28东华理工大学长江学院毕业设计论文 绪论1 绪论1.1 课题来源和背景 本课题来源于教学实践。 随着社会经济的发展,交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代交通监控指挥系统中最重要的组成部分。在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在 19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869 年 1 月 2 日,煤气灯爆炸,使警察受伤,遂被取消。 1914 年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。2东华理工大学长江学院毕业设计论文 绪论21.2 课题研究目的和意义 专业课的学习不仅仅是要学习理论知识,还要有了解本专业的科技前沿知识,专业知识在日常生活中的应用,理论联系实际,应用本专业的一般理论去进行创新等等,而毕业设计正是起到桥梁的作用,它不仅仅是对理论的理解,更是对理论的应用和创新。本设计分析了现代城市交通控制与管理问题的现状,结合实验阐述了交通灯控制系统的工作原理,设计出一种简单实用的城市交通灯控制系统的硬件电路设计方案。 而对于本次毕业设计,通过交通灯控制的控制系统的设计进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;通过利用 AT89C51 单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法;掌握键盘和显示器在的单片机控制系统中的应用。掌握撰写毕业设计的方法。1.3 国内外研究概况和发展趋势 随着社会经济的不断发展和人们生活水平的普遍提高,整个社会对交通运输的需求日益增加。虽然世界各国政府已经或是正在大量投入财力于交通基础设施的建设,但交通状况恶化及其伴生的安全事故、空气污染等一系列问题越来越困扰着有关的政府当局。交通运输对经济发展的制约作用不同程度地普遍存在于每个国家和地区,如何解决大城市周围地区交通拥挤和堵塞现象几乎成了最为棘手的难题之一。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入 WTO,我们不但要在经济、文化、科技等各方面与国际接轨,在交通控制方面也应与国际接轨。俗话说“要想富,先修路”,但路修好了如果在交通控制方面做不好,道路还是无法保障畅通安全。作为交通控制的重要组成部份的交通信号灯也应国际化。随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着城市机动车量的不断增加,4许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自 80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好东华理工大学长江学院毕业设计论文 绪论3耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 近年来单片机技术发展的非常迅速,有单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农业,交通等,因而越赖越受人们的喜爱。兼于此,特用单片机 89C51 设计此电路。本电路可实现倒计时和秒表两种功能。其中单片机控制的交通灯控制系统就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 交通灯的未来发展趋势是拥有自动调节时间长短的功能。譬如说,它能自动感应该地区的交通情况,如果塞车的话该交通灯能自动控制红、黄与绿等的亮灯时间长短。未来的交通灯会是一种全新的交通灯,激光等离子形成的屏障对行人和汽车均无伤害,但这种效果足以让司机朋友们不再跃跃欲试。东华理工大学长江学院毕业设计论文 硬件电路设计42.主要任务及方案论证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 口,模拟交通灯显示,利用其串口实现数码管显示。利用外部中断功能,设计人机交互接口,完成交通灯主次干道通行时间任意可调。此方案占用硬件资源少、功能齐全、调试过程简单。 故本设计采用方案三。东华理工大学长江学院毕业设计论文 硬件电路设计52.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)此表可根据车流量动态设定红绿灯初始值。东华理工大学长江学院毕业设计论文 硬件电路设计73.交通信号灯系统的硬件电路设计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 交通灯硬件总机线路图 硬件总机线路图见附录 13.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 所示。东华理工大学长江学院毕业设计论文 硬件电路设计103.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.0RXD(串口输入)P3.1TXD(串口输出)P3.2INT0(外部中断 0)P3.3INT1(外部中断 1)P3.4T0(外部定时输入 0)P3.5T1(外部定时输入 1)东华理工大学长江学院毕业设计论文 硬件电路设计11INT1(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(取自总电路图)所示:1211.0592MHz30pF30pFXTAL1XTAL2 图 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 条线用作通讯联络信号和中断请求信号。103.4.2 AT89C51 并行口的扩展 AT89C51 虽然有 4 个 8 位 I/O 端口,但真正能提供借用的只有 P1 口,因为东华理工大学长江学院毕业设计论文 硬件电路设计15P2 和 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 进制)00 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 006H2 0 1 0 1 1 0 1 15BH3 0 1 0 0 1 1 1 14FH4 0 1 1 0 0 1 1 066H5 0 1 1 0 1 1 0 06DH6 0 1 1 1 1 1 0 07DH7 0 0 0 0 0 1 1 107H8 0 1 1 1 1 1 1 17FH3.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.0A7 A6 A5 A4 A3 A2 A1 A01 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 来表示等于符号。为了简化计算器的功能和降低编程的难度,我们约定输入的数据是两位的,如果只有一位就在它的前面加零来实现转化为统一的两位数的运算。在模拟简易计算器的功能的时候,我们首先要保证键盘扫描的结果正确。在键盘扫描的过程中,我们首先是判断键盘中是否有键没按下,在确认有键按下后才逐行的扫描键盘来确定到底是那一个键被按下,然后根据键码来确定键所代表的数字或者符号。在连续扫描键盘的过程中不断的确定数据和符号,并把它们压入数组中,当连续输入两位数,符号和别外两位数后根据符号位来计算出结果,并把结果经过数据处理译码后送到结果显示的缓冲区中。当按下等于键时,就输出显示出结果。东华理工大学长江学院毕业设计论文 软件设计204.交通灯控制器电路的软件设计 4.1 交通灯的工作状况根据交通灯的工作过程和电路连接情况,交通灯的工作状况见下表 5 所示。正常工作时交通灯在前 4 个状态间运行表 5 交通灯工作状况序号交通灯工作情况持续时间下个状态1绿灯亮,红灯暗60s22黄灯闪烁,红灯亮5s33红灯暗,绿灯亮80s44红灯亮,黄灯闪烁5s14.2 软件设计思路 本程序由主程序、定时中断子程序组成。主程序主要负责系统初始化和等待中断。定时中断子程序主要负责数码管显示刷新和红绿黄灯各种状态切换。 8255 计数的起停由 8255 的 PA0 控制,8255 的 PA0 输出 1 时,开始计数,交通灯按正常状态切换工作,PA0 输出 0 时,计数器停止工作,交通灯不再按正常状态切换。开始计数后每 100ms 发出一个中断申请信号,在中断子程序中先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。当有紧急情况时进入外部中断服务子程序,先让计数器停止计数,然后点亮所有的红灯,下一次外部中断处理时,恢复原来的交通灯状况,启动计数器开始工作。94.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 要实现黄灯的闪烁,间隔点亮和熄灭就可以了。 中断服务子程序: ORG000BH AJMPBRT0 ORG 00BH BRT0:DJNZ R0,NEXTAJMP TIME ; 跳转到时间及信号灯 DJNZ:MOVR0,14H; 恢复 R0 值 MOV TH0, #3CH ; 重装入定时器初值 MOV TL0, #BOH;开始数码管输出数据处理状态比较跳转状态 1 处理程序2 处理3 处理4 处理中断恢复中断返回东华理工大学长江学院毕业设计论文 软件设计23 MOV IE,#82H ; RET1 END4.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,$ 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 秒。 由于单片机的运行速度很快,其他的指令执行时间可以忽略不计。东华理工大学长江学院毕业设计论文 软件设计244.6 程序源设计 程序源代码见附录 2东华理工大学长江学院毕业设计论文 结论255.结论 本系统就是充分利用了 AT89C51 和 8255 芯片的 I/O 引脚。系统统采用MSC-51 系列单片机 AT89C51 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 AT89C51 芯片的 P1 口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示时间直接通过 8255 的 PC 口输出至双位数码管) ;车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现 。 通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。东华理工大学长江学院毕业设计论文 致谢26致 谢 毕业论文经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。 在这里首先要感谢我的导师老师。本论文是在导师余老师悉心指导下完成的。余老师为我指点迷津,帮助我开拓研究思路。余老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,一直感染着我。她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 其次要感谢和我一起作毕业设计的同学。感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。 东华理工大学长江学院毕业设计论文 参考文献27参考文献1周常森.电子电路计算机仿真计数.山东科学技术出版社.2查振亚 叶向阳.智能交通灯控制系统.华中理工大学学报.3冯建华.单片机应用系统设计与产品开发.人民邮电2004 年第一版.4蔡军 曹慧英.智能交通灯控制系统的设计与实现.重庆邮电学院学报.2004 年.5张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社.1998 年.6刘芳.周期可变的交通灯自动管理.贵州警官职业学院学报7陈大钦.电子技术基础实验.高等教育出版社.2004 年.8陈梓城.电子技术实训.机械工业出版社.2003 年.9吴黎明.单片机原理及应用技术.科学出版社.2003 年.10李朝青.单片机原理及接口技术(修订版).北京航空航天大学出版社.1998 年.11刘乐善.微型计算机接口技术及应用.华中科技大学出版社. 2004 年.12王毅.单片机器件应用手册.人民邮电出版社.1995.713姚林芳.交通灯智能控制系统的设计与实现.电脑知识与技术.2008.第 4 卷第 5 期.14王仕旭.一种实时交通灯系统的分析设计.西南民族大学学报.2008.第 34 卷第 4 期.15RorbertMike.Road traffic signal control setting technical manuals.200416Myke Predko.Digital Electronics Gvidebook with Projects.200417Yin Gengqin.The Analogous Contrl System Design Of Traffic Signal Lights In The City. ONTROL&AUTOMATION.200018Rao.Guthikonda V. Microprocessors and micro. Computer system. Van Nostrand Reinhold Company.1982东华理工大学长江学院毕业设计论文 附录28附附 录录 附录 1东华理工大学长江学院毕业设计论文 附录29P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40U1AT89C511211.0592MHz30pF30pF22F0.3KS15V5V5V123456781615141312111090.3K123456781615141312111090.1K43K0.1K0.43K0.1K5V5V5VRedWhiteBlackf2g3e4d5c8DP7b9a10A1A60.3K5Vyellow1GREEN1RED2GREED2yellow2RED1OE1LE11D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819VCC20GND10U3SN74LS373NA1A6f2g3e4d5c8DP7b9a10XTAL1XTAL2PA01PA12PA23PA34PA45PA56PA67PA78RESET9PC010PC111PC212PC313PC414PC515PC616PC717A118A019GND20PB021PB122PB223PB324PB425PB526PB627PB728RD29RD30CS31D732D633D534D435D336D237D138D039VCC40U482551OE12OE192A4182Y432A3162Y352A2142Y272A1122Y191A481Y4111A361Y3131A241Y2151A121Y117VCC20GND10123456781615141312111090.3K5V5V东华理工大学长江学院毕业设计论文 附录30附录 2 程序源代码 R4 存放黄灯时间 5 03H (此时间可以动态设定) R5 存放红灯时间 60 3CH R6 存放绿灯时间 80 50H PC0 显示黄灯信号 PC1 显示红灯信号 PC2 显示绿灯信号 8255 工作于方式 0 8255 PA、PB、 PC 口输出 PC 控制字为 10000000B (80H) 源程序 ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳转到主程序的开始处 ORG 0003H ;外部中断 0 的中断程序入口地址 ORG 000BH ;定时器 T0 中断程序入口地址 LJMP INTT0 ;跳转到 INTT0 执行 ORG 0013H ;外部中断 1 的中断程序入口地址 LJMP INTT1 ;跳转到 INTT1 执行 ORG 001BH ;定时器 T1 中断程序入口地址 LJMP TT1 ;T1 定时中断 ORG 0100H TT1: MOV TH1,#0D8H ;定时器 1,定时 10us MOV TL1,#0F0H DJNZ R6,EXIT MOV R6,#100 ;定时器定时
展开阅读全文