基于单片机的交通控制系统毕业论文.doc
南 京 工 程 学 院毕业设计说明书(论文)作 者: 学 号: 240072310 系 部: 康尼学院 专 业: 通信工程 题 目: 基于单片机的交通灯控制系统 指导者: 评阅者: 2011 年 6 月 南 京 The traffic light control system based on single chipA Dissertation Submitted toNanjing Institute of TechnologyFor the Academic Degree of Bachelor of ScienceBy S upervised byProfessor College of Communication EngineeringNanjing Institute of Technology June 2011摘要交通灯控制系统是城市车辆的交通运行,避免交通拥塞和交通事故的重要组成部分,随着私家车的增加,城市道路变得越来越拥挤,交通灯的作用显得更为重要,所以设计一个合理控制的交通灯系统具有重要意义。本文介绍了一种基于单片机控制的交通灯控制系统。该系统采用8051单片机为控制核心,以七段LED数码管作为等待或通行时间显示,LED作为交通灯红、黄、绿显示。系统采用上电自动复位,时间显示采用倒计时方式,四组红、黄、绿三色灯用发光二极管作为模拟交通信号灯,可以模拟各种道路交通灯控制情况。关键词:LED数码显示;单片机;交通灯;AbstractTraffic light control system is to run the city of vehicles to avoid traffic congestion and an important part of traffic accidents. With the increase of private cars, urban roads become more and more crowded, the role of traffic lights is more important. So the reasonable control of the design of a traffic light system is of great significance.This paper describes a SCM based traffic light control system. The system uses 8051 as the control center, seven-segment LED digital display as a waiting or travel time and LED traffic light as red, yellow, green display. System is automatically reset on power, using the countdown time method to display and four groups of red, yellow, and green light emitting diodes used as a simulation of traffic lights. It can simulate all kinds of road traffic lights control the situation.Key words: LED digital display;SCM;Traffic目录第一章 绪论11.1 引言11.2 选题背景与意义21.3 研究现状31.4 论文主要研究内容51.5 主要章节安排5第二章 单片机概述62.1前言62.2 STC89C52RC单片机简介8第三章 系统硬件设计163.1 交通灯的方案论证163.2系统方案选择与比较163.3 交通灯原理图设计与分析193.4 元器件清单21第四章 系统软件的设计234.1 信号灯燃亮时间原理234.2 系统流程图274.3 程序源代码28第五章 系统的制作与调试405.1 系统硬件部分的制作与调试405.1.1 系统硬件制作405.1.2 硬件电路的制作与调试415.2 软件的实现与调试445.2.1 软件的实现445.2.2 软件调试45第六章 总结与展望47致谢48参考文献49第一章 绪论1.1 引言在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口4。智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化1。本文为了实现交通道路的管理,力求交通管理先进性、科学化. 分析应用了单片机实现交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。1.2 选题背景与意义随着我国经济的高速发展,人们生活水平的提高,人们对各种交通车辆的需求越来越大,城市的交通拥挤问题日趋严重,因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫。目前,大部分城市的十字路口交通控制灯、通常的做法是:事先经过车辆流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是不确定的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状,更为现实的需要是能有一种能够根据流量变化情况自适应控制的交通灯6。交通运输对经济发展的制约作用不同程度地普遍存在每个国家,如何解决大城市周围地区交通拥挤和堵塞现象几乎成了最为棘手的难题。交通信号灯的出现,使交通得以有效管制。近年来单片机技术发展的非常迅速,有单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,交通等。兼于此,特用单片机设计此电路。交通灯在这个交通环境中起着一个重要的角色,是交通管理部门管理交通的重要工具。国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车7。交通信号灯是城市交通有序、安全、快速运行的重要保障,而保障交通信号灯正常工作就成了保障交通有序、安全、快速运行的关键。为此,采用MCS-51系列单片机STC89C52RC为中心器件来设计交通灯控制电路,实现了能根据实际车流量通过8051芯片的I/O口设置红绿灯燃亮的时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,三种颜色灯交替点亮以及紧急情况下的中断处理功能2。事实证明,智能的交通灯能有效地缓解城市的交通压力,减少交通事故,为人民节省大量出行时间,创造出更多的社会价值。1.3 研究现状随着我国经济的高速发展,人们对私家车、公交车的需求越来越大。相应地,我国进入WTO以后,我国经济贸易与世界接轨,汽车业关税大大降低,使很多人都能负担得起,买私家车不再是梦想。但是,私家车、公交车的大增无疑会对我国交通系统带来沉重的压力。放眼现在的中国,如广州、香港、上海等大都市,无不受到交通堵塞的困扰。中国要发展,交通事业决不能停步不前。有及于此,我国交通管制系统应当以人性化、智能化为目的,作出相应的改善。本论文正是以此为出发点,对单片机控制的交通信号灯模型作了较详尽的介绍。单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善10。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。基于CPLD可编程逻辑器件的交通灯控制能够自动控制十字路口交通灯状态的改变和同一状态保持的时间,从而保证车辆及行人的安全通过。控制器主要采用了EDA技术,通过VHDL硬件电路描述语言实现设计功能。基于CPLD设计实现交通信号灯控制器方法,电路结构简单,成本低,CPLD器件作为控制部分(定时器、状态机等)与TTL电路兼容,可直接使用,不需要外围转换电路。对于控制要求不高的场合,完全可以胜任。此控制系统突破了传统固定模式,可根据实时交通流量灵活运行,而且全面考虑了各种紧急车辆优先通行情况,大大提高了车辆通行效率,具有实际应用前景,但是目前CPLD芯片价格比单片机价格要高,一般情况下 ,CPLD功耗大 ,且集成度越高越明显 。应用PLC实现对交通灯控制系统的设计,能根据车辆检测器输入至PLC的信息,自动调整十字路口红绿灯的时长,有利于疏导交通流量、提高道路通行能力8。与其他交通灯智能控制系统相比,本系统的智能控制方案更简单,易于编程;具有交通信号倒计时功能;硬件电路设计更合理,有利于降低系统成本。我所采用的是应用单片机实现对交通信号灯设计的方法,即采用MSC-51系列单片机来设计交通灯控制系统,本系统采用单片机STC89C52RC为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。单片机的特点有:a. 高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积最小,芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常熟及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。b. 控制功能强为了满足对对象的控制要求,单片机的指令系统均有丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。c. 低电压,低功耗,便于生产便携式产品为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。d. 易扩展片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚、很容易构成各种规模的计算机应用系统。e. 优异的性能价格比单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达到62MB,RAM容量则可达到2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。1.4 论文主要研究内容这次毕业设计论文的内容是如何利用单片机系统来实现交通灯的控制。应用单片机技术来模拟实现十字路口红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时黄灯闪烁警示。涉及了系统设计要求与整体规划,单片机简介和STC89C52RC单片机的主要性能参数和主要引脚介绍,STC89C52RC芯片内部结构简介,交通灯方案的实现,交通灯系统的工作原理等。最后,就全文的成果加以总结,提出对未来交通灯的特色与创新对进一步研究的展望。1.5 主要章节安排首先就课题研究的背景和意义做出说明。第一章总体的介绍了下设计的内容。第二章主要介绍单片机的知识。第三章主要介绍了系统硬件设计。第四章主要介绍系统软件设计。第五章总结与展望。最后给出结论并对课题未来的发展做出了展望。第二章 单片机概述2.1前言1. 所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器 RAM、只读存储器 ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机3。因此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。 由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如 ADC、DAC、高速 I/O 口、PWM、WDT 等。这些对外电路及外设接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为确切反映单片机本质的名称应是微控制器。 单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embedded micro controller)。但是,在国内单片机的叫法仍然有着普遍的意义。我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们分为 4 位、8 位、16 位及 32 位单片机。2.单片机和微处理器的简介 随着大规模与超大规模集成电路技术的快速发展,微计算机技术形成了两大分支:微处理器(micro processor unit,MPU)和单片机(micro controller unit,MCU)9。微处理器 MPU 是微型计算机的核心部件,它的性能决定了微型计算机的性能。通用型的计算机已从早期的数值计算、数据处理发展到当今的人工智能阶段。它不仅可以处理文字、字符、图形、图像等信息,而且还可以处理音频、视频等信息,并正向多媒体、人工智能、数字模拟和仿真、网络通信等方向发展。它的存储容量和运算速度正在以惊人的速度发展。高性能的 32 位、64 位微型计算机系统正向中、大型计算机挑战。 单片机 MCU 主要用于控制领域。它构成的检测控制系统应该有实时的、快速的外部响应,应该能迅速采集到大量数据,能在做出正确的逻辑推理和判断后实现对被控制对象参数的调整与控制。单片机的发展直接利用了 MPU 的成果,也发展了 16 位、32 位的机型。但它的发展方向是高性能、高可靠性、低功耗、低电压、低噪音和低成本。目前,单片机的主流仍然是以 8 位机为主,16 位、32 位机为辅。单片机的发展主要还是表现在其接口和性能不断满足多种多样检测控制对象的要求上,尤其突出表现在它的控制功能上,构成各种专用的控制器和多机控制系统。 3单片机和嵌入式系统 面向检测控制对象,嵌入到应用系统中去的计算机系统称之为嵌入式系统。实时性是它的主要特征,对系统的物理尺寸、可靠性、重启动和故障恢复方面也有特殊的要求。由于被嵌入对象的体系结构、应用环境等的要求,嵌入式计算机系统比通用的计算机系统 应用设计更为复杂,涉及面也更为广泛。从形式上可将嵌入式系统分为系统级、板级和芯片级。 系统级嵌入式系统为各种类型的工控机,包括进行机械加固和电气加固的通用计算机系统,各种总线方式工作的工控机和模块组成的工控机。它们大都有丰富的通用计算机软件及周边外设的支持,有很强的数据处理能力,应用软件的开发也很方便。但由于体积庞大,适用于具有大空间的嵌入式应用环境,如大型实验装置、船舶、分布式测控系统等。 板级嵌入式系统则有各种类型的带CPU的主板及OEM产品。与系统级相比,板级嵌入式系统体积较小,可以满足较小空间的嵌入式应用环境。 芯片级嵌入式系统则以单片机最为经典。单片机嵌入到对象的环境、结构体系中去作为其中一个智能化的控制单元,是最典型的嵌入式计算机系统。它有惟一的专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级的体积和在现场运行环境下的高可靠性,它最能满足各种中、小型对象的嵌入式应用要求。因此,单片机是目前发展最快、品种最多、数量最大的嵌入式计算机系统。但是,一般的单片机目前还没有通用的系统管理软件或监控程序,而只是放置由用户调试好的应用程序。它本身不具备开发能力,常常需要专门的开发工具。 2.2 STC89C52RC单片机简介STC89C52RC是STC公司生产的低电压,高性能CMOS8位单片机,片内含8Kb的可反复擦写的Flash只读程序存储器和512b的随机存取数据存储器(RAM),器件采用高密度,非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用中央处理器(CPU)和Flash存储单元,功能强大STC89C52RC单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。单片机的可擦除只读存储器可以反复擦除100000次。将多功能8位CPU和闪烁存储器组合在单个芯片中,是一种高效微控制器, STC89C52RC单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。1.时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图22(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图22(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图22时钟电路2.复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。表一 一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图23所示:图23复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图24(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图24(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图24(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图24复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图24(b)上电复位方式。3STC89C52RC引脚说明 图 2-5 51系列单片机的引脚图 图 2-5是AT89C51的引脚图,引脚说明如下:VCC AT89C51 电源正极输入,接+5V电压。 GND 电源接地端。 XTAL1 接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2 接外部晶振的一个引脚。 在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST AT89C51 的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间5,AT89C51 便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。 ALE/PROG ALE 是英文"ADDRESS LATCH ENABLE"的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8 位锁存器 (如 74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率是系统工作频率的 1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以 1/12振荡频率输出。 EA/VPP 该引脚为低电平时,则读取外部的程序代码 (存于外部 EPROM 中)来执行程序。因此在 8031 中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果是使用 AT89C51或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC 值超过片内程序存储器地址(如8051/8751/89C51的PC 超过 0FFFH)时, 将自动转向外部程序存储器继续运行。 此外,在将程序代码烧录至 8751 内部 EPROM、89C51内部FALSH 时,可以利用此引脚来输入提供编程电压(8751为2lV、AT89C51为 12V、8051是由生产厂方一次性加工好)。 PSEN 此为"Program Store Enable"的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN 信号。在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,亦不产生PSEN 信号。 P0 P0 口(P0.0P0.7)是一个 8 位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低 8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向 IO 口用。P0 口每一个引脚可以推动 8个LSTTL负载。 P2 P2 口(P2.0P2.7)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),当访问外部程序存储器时,它是高8 位地址。外部不扩展而单片应用时,则作一般双向 IO 口用。每一个引脚可以推动 4个LSTL负载。 P1 P1 口(P1.0P1.7)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),其输出可以推动 4个 LSTTL负载。仅供用户作为输入输出用的端口。 P3 P3 口(P3.0P3.7)口是具有内部提升电路的双向 I/0 端口(准双向并行 I/O 口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。其特殊功能引脚分配如下: P3.0 RXD串行通信输入 P3.1 TXD串行通信输出 P3.2 INT0外部中断 0输入,低电平有效 P3.3 INT1 外部中断 1输入,低电平有效 P3.4 T0计数器 0外部事件计数输入端 P3.5 T1计数器 1外部事件计数输入端 P3.6 WR外部随机存储器的写选通,低电平有效 P3.7 RD 外部随机存储器的读选通,低电平有效AT89C51各中断源向量地址如图26 所示: 中断源 向量地址 外部中断0 (INT0)(IE0) 0003H 定时/计数器0 (TF0) 000BH 外部中断1 (INT1)(IE1) 0013H 定时/计数器1 (TF1) 001BH 串行通讯 (RI+TI) 0023H 图 2-6 各中断源向量地址4STC89C52RC主要特性和功能1.特性:· 8031 CPU与MCS-51 兼容· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)· 全静态工作:0Hz-24KHz· 数据保留时间:10年· 三级程序存储器保密锁定· 128*8位内部RAM· 32条可编程I/O线· 两个16位定时器/计数器· 6个中断源· 可编程串行通道· 低功耗的闲置和掉电模式· 片内振荡器和时钟电路2.主要功能如表二所示:表二 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能第三章 系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。3.1 交通灯的方案论证 交通灯通过有规律的变换红灯和绿灯的亮与灭控制车辆的通行,实现交通灯的基本功能。整个系统主要有:南北红灯、南北黄灯、南北绿灯、东西红灯、东西黄灯、东西绿灯,南北紧急按钮和东西紧急按钮。 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。根据传统十字路口交通灯的设计,可将本系统分为四个模块,第一个模块是控制模块,主要负责整个系统工作的控制和运算,从而使各模块正常工作;第二个模块为显示模块,主要是对车辆和行人应该遵守交通规则的指导性的直观显示,它主要包括倒计时显示和红、绿、黄灯两大部分;第三个模块是输入模块,它的主要作用是辅助控制模块,相当于输入装置,利用它可以对交通灯各路口通行时间的设置以及出现紧急情况时,进行不同工作方式的切换设置;第四个模块是电源模块,它是整个系统的“心脏”,负责给各模块提供合适的电压,让各模块能稳定工作。3.2系统方案选择与比较 1.控制模块选择方案方案一:由计数器74LS161级联组成,配合译码器和秒脉冲信号发生器等器件组成交通灯系统,整个系统简单,控制简单,调试容易等优点。 方案二:采用STC公司的单片机STC89C52RC作为控制器。单片机运算能力强,软件编程灵活,自由度大。它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,使用时容易掌握;采用STC89C52RC单片机稳定可靠、应用广泛、通用性强,系统简单,容易编程。方案比较:采用方案一来实现十字路口交通灯控制系统非常方便,电路结构简单,控制单一,但整个系统性能不是很高,倒计时不是非常精确,如果要求系统能设置不同工作时间不容易,因而对于完成题目较困难,而方案二完全能实现设计要求,容易掌握,利用编程,易控制,I/O接口很多,易于扩展外围电路,价格便宜,故选择方案二。2. 显示模块选择方案该系统要求完成倒计时、状态灯等功能。基于上述原因,考虑了三种方案。方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能。方案比较:方案一和方案二都不符合设计要求,实现较复杂,而方案三采用数码管与LED灯相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,选择方案三。3.输入模块方案选择方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。 方案比较:由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。4. 电源模块方案选择电源是整个系统的“心脏”,它是系统稳定工作的保障,为使各个模块稳定工作,须有可靠电源。下面考虑了两种电源方案。方案一:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高,不能驱动数码管。方案二:采用独立的稳压电源,采用开关电源作为整个系统的供电,它具有多路电源输出,此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源。方案比较:方案一只采用单片机自身的I/O来驱动数码管显示是不行的,而方案二虽然要给各模块供电,但却能给各模块提供稳定可靠的电压从而达到显示明亮的程度。故选择第二种方案。经上述各模块的方案选择与论证,十字路口交通灯控制系统的控制芯片选用单片机STC89C52RC作为整个系统的核心控制器件,主要负责整个系统工作的控制和运算,从而使各模块正常工作;采用七段LED数码管和LED灯作为显示器件,用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能;用触发按键构成系统的输入部分,它可以对系统进行状态设置,结合数码管,可根据交通情况对整个系统进行直观的控制;以开关电源作为系统电源部分,它有+5V、-5V电压输出,可方便对各个模块供电。具体要求如下:1.设计一个十字路口的交通灯控制电路,要求主车道和干道两条交叉路上的车辆交替运行,每次通行时间都设为主道通行25S,次道通行20S;2.要求黄灯先亮5S,才能变换运行车道;3.黄灯亮时,要求每秒钟闪亮一次;4.倒数秒数显示;5.声音提示;6.当有特殊情况需要通行时,可对红绿灯进行人为控制。以上是目前常用路口交通信号灯的控制功能,为了演示效果,这里采用三种颜色的发光二级管来模拟交通信号灯。图3-1 为交通灯的示意图: 图 3-1 十字路口交通灯示意图由图 3-1 知:交通灯经四步动作完成一个周期。即交通灯东西绿灯亮东西黄灯闪东西红灯亮(南北 红灯亮南北 黄灯闪 南北 绿灯亮)3.3 交通灯原理图设计与分析从设计完成的任务与要求来看,显示通行时间必须用二位数码管,从节省硬件资源的角度考虑,可采用扫描的方式来处理,对于7段数码管,占用7个单片机的I/O口,另外设置2个电子开关对2位显示进行配合,占用2个I/O端口,十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用12个端口进行控制,加上两个方向的紧急通行按钮,占2个I/O端口和一个蜂鸣器端口,因此实际占用的单片机I/O口为24个,为此,我们可以选用51系列单片机中的STC89C52RC来作为中央处理器。这款单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O口就可以直接驱动,能简化硬件电路的设计。电路原理图如下所示:3.4 元器件清单