《基于单片机的交通灯控制系统2.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统2.doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业论文基于单片机的交通灯控制系统系 别自动化工程系专业名称自动化班级学号5060535学生姓名彭川指导教师任彦硕 2010 年 6月 18日 东北大学秦皇岛分校毕业设计(论文) 第55页基于单片机的交通灯控制系统摘 要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。靠的就是城市交通信号灯的自动指挥控制系统,来实现交通的井然有序。城市交通自动指挥控制系统是用于城市交通监控指挥系统中最重要的组成部分。本文分析了传统交通灯存在的缺点,设计了一种新型交通灯控制系统,突破了传统固定配时模式,可依据实时交通流量灵活运行。具体描述了系统控制方案、硬件选择及单片机程序设计。基于AT89C51单片
2、机的交通灯模拟控制系统,该系统能根据实际车流量情况通过外部键盘增加或减少通行禁止时间。采用LED数码管显示其对应的时间,采用点亮发光二极管模拟交通灯的实际情况。针对复杂多变的路况环境,特别增设了紧急情况处理模块,改善了十字路口的通行效率,进一步完善了交通灯控制系该系统具有实用性强、操作简单、扩展性好等特点。利用Proteus仿真软件强大的仿真功能,可以灵活、高效地进行电子电路设计。关键词:单片机,交通灯,Proteus仿真traffic light control system based on MCUAuthor:Peng Chuan Tutor:Yanshuo RenAbstract Pe
3、destrian crossing transports, bustling, garage, pedestrian humanitarian, orderly driveway. The urban traffic signal lights of the command and control system, automatic to traffic orderly. Urban traffic control system is designed for automatic command urban traffic control system is one of the most i
4、mportant parts of it. This paper discusses the traffic simulation based on AT89C51 control system, this system can according to actual situation through traffic outside the keyboard to increase or decrease traffic banned. Using LED digital display its corresponding pipe using light emitting diode, t
5、he actual situation of traffic simulation. According to the complex conditions, especially an environmental emergency module, improve the efficiency of the intersection traffic lights, further improve the control systems with practical, simple operation, good scalability. Using the powerful Proteus
6、simulation software simulation function, can be flexible, efficient electronic circuit design.Key Words: MCUAT89C51, traffic light , Proteus emulation目 录1绪论11.1 历史背景与意义11.2 国内外研究现状与发展趋势21.3 论文研究的主要内容32交通灯的设计方案42.1 交通灯的设计要求42.2 交通灯的控制要求43单片机概述63.1 单片机技术的发展与应用63.1.1 单片机技术的发展63.1.2 单片机技术的应用63.2 单片机的选型8
7、3.3 AT89C51片内各功能部件93.3.1 微处理器(CPU)93.3.2 数据处理器(RAM)93.3.3 程序存储器(Flash)93.3.4 中断系统93.3.5 定时器/计数器103.3.6 全双工串行口123.3.7 并行输入输出(I/O)口123.3.8 特殊功能寄存器(SFR)123.4 AT89C51内部电源及引脚123.5 单片机最小系统143.5.1 时钟电路143.5.2 复位电路154系统硬件电路的设计164.1 系统总框图164.2 控制系统164.3 信号灯电路164.4 时间显示电路174.5 紧急转换开关电路174.6 驱动电路184.7 系统硬件215系
8、统的程序设计225.1 程序设计思想225.2 1s定时225.3 相应程序代码235.4 程序设计流程图246.系统的软件设计276.1 Keil C51概述276.2 Keil C51简介276.3 Keil的使用287.基于PROTEUS的电路设计和仿真327.1 Proteus仿真软件简介327.2 用Proteus绘制电路图327.3 Protues对单片机的仿真33结 论36致 谢37参考文献38附 录40附录A:源程序清单40附录B:英文原文及翻译461绪论1.1 历史背景与意义随着我国城市化建设的发展,人民的生活水平日渐提高,越来越多的汽车进入了寻常老百姓的家庭,再加上政府大力
9、发展公交车、出租车,使得道路上车辆越来越多,许多大城市如北京、上海、南京等均出现了道路交通超负荷运行的情况。因此,自80年代后期以来,很多城市纷纷扩建城市道路,在道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对道路的系统研究和控制,扩建道路并没有充分发挥出预期的作用。而城市道路多十字路口、多交叉的特点,也决定了城市道路的交通状况必然受这种路况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的多车道城市道路,缓解城区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。在这种情况下,道路交通信号灯开始发挥了越来越重要的作用,并
10、已成为交管部门管理交通的重要工具之一。在城市交通中,交通信号灯是管理交通网络的最重要元素。红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术早在19世纪就已经出现。19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长
11、杆的警察随心所欲地牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面世23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。从此,城市的交通信号灯被取缔了。直到1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯表示“停止”,绿灯表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为
12、绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。交通灯在安全行车过程中起着十分重要的作用。1.2 国内外研究现状与发展趋势最早的交通灯出现于一八六八年英国伦敦。那时的交通灯只有红、绿两色,经改良后,再增加一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。中国最早的马路红绿灯,是于1928年出现在上海的英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信
13、号灯在科学化、自动化上不断地更新、发展和完善。交通灯是城市交通中的重要指挥系统,与人们日常生活密切相关。现在交通灯控制系统除具有一般的红绿灯显示功能外,还具有倒计时时间显示功能,以方便人们的出行。自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可缺少的工具和手段,这些为交通灯控制电路的设计提供了一定的技术基础。随着国民经济的快速发展,车辆的增多,交通拥挤和阻塞现象时常出现。交通拥塞已成为城市交通中迫切需要解决的
14、社会问题。而我国传统使用的定期控制和各路口各自的独立控制方法,在解决这些问题时效果并不是很好。越来越多的证据表明,简单地扩大道路基础设施并不能解决交通拥堵问题。这要求在现有道路条件下,提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,更加灵活有效地提高道路的利用率。目前,大部分城市的十字路口交通控制灯,通常的做法是:事先经过车辆流量的调查,运用统计的方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是不确定的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。
15、这种流量变化的偶然性是无法建立准确模型的,统计的方法已不能适应迅猛发展的交通现状,更为现实的需要是能有一种能够根据流量变化情况自适应控制的交通灯。交通信号灯控制与交通疏导的计算机综合管理系统。它是现代城市交通监控指挥系统中最重要的组成部分。现在有许多方法可以实现交通信号灯控制。1.3 论文研究的主要内容本文采用5l系列单片机AT89C51为中心器件设计交通灯控制系统,通行倒记时显示采用LED数码管,通行指示灯采用发光二极管,特殊紧急车辆通行采用实时中断完成。以上系统具有电路简单,设计方便,耗电较少,可靠性高等特点。论文主要内容包括:(1)论述了交通灯控制系统的历史背景和以及意义国内外交通灯控制
16、系统的现状与发展趋势。(2)系统的硬件设计,介绍了主要硬件的选型及其主要特点,单片机复位电路、时钟电路的设计,以及各驱动模块的设计。(3)系统的软件设计,使用C语言编写各个模块程序,系统初始化程序、交通灯显示模块、数码管倒计时显示模块和外部中断模块等,在Keil环境下对程序进行调试。(4)基于Protues软件的系统仿真与调试,将编好的程序下载到硬件系统中,根据仿真情况对程序进行修改调试,完成最终整个系统的设计需求。2交通灯的设计方案2.1 交通灯的设计要求设计一个十字路口的交通灯控制电路,要求南北方向和东西方向两个交叉路口的车辆交替运行,两个方向能根据车流量大小通过外部键盘来调节红绿灯通行时
17、间。车流量大,通行时间长;车流量小,通行时间短。在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。同步设置人行横道红、绿灯指示。考虑到特殊车辆和紧急情况,设置紧急转换开关。2.2 交通灯的控制要求十字路口的东西向、南北向各有一组红绿灯和一个时钟系统,时钟系统由两个LED组成,用于显示红绿灯的时间,具体要求如下:(1)初始时东西、南北方向都亮红灯。(2)然后南北向路口绿灯亮40s后转黄灯亮5s,再转红灯亮40s。(3)相应地东西向红绿灯工作顺序为红灯亮40s后转黄灯亮5s,再转绿灯
18、亮40s,以此进行循环。(4)如果发生紧急事件,则按下外部中断按钮,此时东西向和南北向都亮红灯,数码管显示为88。(5)如果东西或南北方向有紧急车辆通过,则按下中断按钮,此时东西或南北向亮红灯,让车辆顺利通过,然后再恢复原来的运行状态。(6)时钟采用倒计时方式显示,即各灯亮时,时钟为点亮的最大时间,以后每1s显示数据减1,直到减为0以后指示灯再进行变换。整个交通灯控制系统由5个工作状态组成,如图2.1所示。图2.1 整个交通灯的工作状态3单片机概述3.1 单片机技术的发展与应用3.1.1 单片机技术的发展单片机就是将微型计算机集成在一片半导体硅片上的微型计算机。在一片半导体硅片上集成了中央处理
19、单元(CPU)、存储器(RAM/ROM)和各种I/O接口,这样一块集成电路芯片具有一台微型计算机的属性,因而被称为单片微型计算机,简称单片机。单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。它只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机的诞生是计算机发展史上的一个新的里程碑。1970年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。美国Intel 公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,特别是1976年MCS-48单片机问世以来,在短短的二十几年间,经历了四次更新换代,其发展速度大约每
20、二、三年要更新一代、集成度增加一倍、功能翻一番。其发展速度之快、应用范围之广,已达到了惊人的地步,它已渗透到生产和生活的各个领域。Intel 公司的MCS-51 系列单片机是在MCS-48 的基础上于80年代初发展起来的,虽然它仍然是8位的单片机,但其功能有很大的增强。由于PHILIPS 、ATMEL 、WELBORD 、LG 等近百家IC 制造商都主产51 系列兼容产品,具有品种全、兼容性强、软硬件资料丰富等特点。因此,MCS -51 应用非常广泛,成为继MCS-48之后最重要的单片机品种。MCS-51曾经为单片机中的主流机型。3.1.2 单片机技术的应用随着计算机技术的发展和在控制系统中的
21、广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出很强的生命力。它和一般的集成电路相比有较好的抗干扰能力,对环境的温度和湿度都有较好的适应性,可以在工业条件下稳定工作。且单片机广泛地应用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能。如MCS-51 系列单片机控制的“船舶航行状态自动记录仪”、“烟叶水分测试仪”、“智能超声波测厚仪”等。单片机也广泛地应用于实时控制系统中,例如对工业上各种窑炉的温度、酸度、化学成分的测量和控制。将测量技术、自动控制技术和单片机技术相结合,充分发挥其数据处理功能和实时控
22、制功能,使系统工作处于最佳状态,提高系统的生产效率和产品质量。从航空航天、地质石油、冶金采矿、机械电子、轻工纺织等行业的分布系统与智能控制以及机电一体化设备和产品,到邮电通信、日用设备和器械,单片机都发挥了巨大作用。其应用大致可分为以下几方面:(1)机电一体化设备的控制核心 机电一体化是机械设备发展的方向。单片机的出现促进了机电一体化技术的发展,它作为机电产品的控制器,充分发挥其自身优点,大大强化了机器的功能,提高了机器的自动化、智能化程度。最典型的机电产品机器人,每个关节或动作部位都是一个单片机控制系统。(2)数据采集系统的现场采集单元大型数据采集系统,要求数据采集的同步性和实时性要好。使用
23、单片机作为系统的前端采集单元,由主控计算机发出采集命令,再将采集到的数据逐一送到主计算机中进行处理。如有些气象部门、油田采油部门以及电厂等均可采用这样的系统。(3)分布控制系统的前端控制器在直接控制级的计算机分布控制系统(DCS)中,单片机作为过程控制中每一分部操作或控制的控制器,进行数据采集、反馈计算、控制输出,并在上位机命令的指挥下进行相应协调工作。(4)智能化仪表的机芯自动化仪表的智能化程度越来越高。采用单片机的智能化仪表可具有自整定、自校正、自动补偿和自适应功能,还可进行数字PID 调节,软件消除电流热噪声等等,解决传统仪表所不能解决的难题。单片机的应用使这种性能如虎添翼,如自动计费电
24、度表、燃气表中己有这方面的应用。许多工业仪表中的智能流量计,气体分析仪、成分分析仪等也采用了这项技术。甚至有的保健治疗仪中也采用了单片机控制。(5)消费类电子产品控制该应用主要反映在家电领域,如洗衣机、空调器、保安系统、VCD 视盘机、电子秤、IC 卡、手机、BP 机等。这些设备中使用了单片机机芯后,大大提高了其控制功能和性能,并实现了智能化、最优化控制。(6)终端及外围设备控制计算机网络终端设备,如银行终端、商业POS (自动收款机)以及计算机外围设备如打印机、通信终端和智能化UPS 等。在这些设备中使用单片机,使其具有计算、存储、显示、输入等功能,具有和计算机连接的接口,使计算机的能力及应
25、用范围大大提高。3.2 单片机的选型 由于AT89C5x系列单片机继承了MCS-51的原有功能,与MCS-51系列单片机在原有功能、引脚及指令系统方面完全兼容。此外,AT89C5x系列单片机又增加了一些新的功能,如看门口定时器WDT、ISP及SPI串行接口技术等,又有着优良的特性以及较高的性能价格比,因此成为AT89多种系列单片机家族中的主流机型。在标准型AT89单片机的基础上适当减少或增加部分硬件,则可方便地形成低档AT89系列单片机或高档型AT89系列单片机。本系统采用的是ATMEL公司生产的AT89C51单片机。其主要工作特性如下:8031CPU;4KB的快速擦写Flash存储器,用于程
26、序存储,可擦写次数为1000次;128B的RAM,其中高128B字节地址被特殊功能寄存器SFR占用;32条可编程IO口线;2个可编程16位定时器;具有6个中断源、5个中断矢量、2个优先权的中断系统;一个数据指针DPTR;1个可编程的全双工串行通信口;具有“空闲”和“掉电”两种低功耗工作方式;可编程的3级程序锁定位;工作电源的电压为(50.2)V;振荡器最高频率为24MHz;编程频率324MHz,编程电流1mA,编程电压Vpp为5V或12V;3.3 AT89C51片内各功能部件3.3.1 微处理器(CPU)CPU是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负
27、责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。3.3.2 数据处理器(RAM)片内数据存储器为128个字节,片外最多可外扩64K字节。片内128个字节的RAM是以高速RAM的形成集成在单片机内,可以加快单片机运行的速度,而且这种结构的RAM还可以降低功耗。3.3.3 程序存储器(Flash)程序存储器用来存储程序。89C51片内有4K字节的Flash存储器,如果片内的程序存储器的容量不够,片外最多可扩程序存储器至64K字节。3.3.4 中断系统89C51单片机具有较完善的中断功能,有两个外中断、两个定时/计数器中断,两个串行中断,可满足不同的控制要求,并具有2级的
28、优先级别选择。(1)中断允许控制寄存器IEEA:全部中断允许/禁止位。若EA=0,则禁止响应所有中断;若EA=1,则各中断源响应与否取决于各自的中断控制位的状态。ES:串行通信接收/发送中断响应控制位。若ES=0时,禁止中断响应;当ES=1时,允许中断响应。ET1:定时器/计数器1溢出中断响应控制位。若ET1=0,禁止中断响应;若ET1=1,允许中断响应。EX1:外部中断INT1响应控制位。若EX1=0,禁止中断响应;当EX1=1,则允许中断响应。ET0:定时器/计数器0溢出中断响应控制位。若ET0=0,禁止中断响应;若ET0=1,允许中断响应。EX0:外部中断INT0响应控制位。若EX0=0
29、,禁止中断响应;当EX0=1,则允许中断响应。(2)中断优先级控制寄存器IPPS:串行通信中断优先级设置位。软件设置PS=1,则定义为高优先级;复位PS=0,则定义为低优先级中断。PT1:定时器/计数器1中断优先级设置位。软件设置PT1=1,则定义为高优先级;复位PT1=0,则定义为低优先级中断。PX1:外部中断INT1中断优先级设置位。软件设置PX1=1,则定义为高优先级;复位PX1=0,则定义为低优先级中断。PT0:定时器/计数器1中断优先级设置位。软件设置PT0=1,则定义为高优先级;复位PT0=0,则定义为低优先级中断。PX0:外部中断INT0中断优先级设置位。软件设置PX0=1,则定
30、义为高优先级;复位PX0=0,则定义为低优先级中断。3.3.5 定时器/计数器定时器/计数器设置为定时工作方式时,加1计数器对内部机器周期脉冲计数,即每个机器周期加1计数器的数值加1。由于机器周期是固定的,所有对机器周期的计数就是定时,当单片机采用12MHz时,一个机器周期是1us,计数值是100,相当于定时100us。定时器/计数器设置为计数工作方式时,加1计数器通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当外部脉冲信号产生由1至0的负跳变时,加1计数器的值加1,加1计数器溢出时可向CPU发出中断请求信号。具体地说,单片机每个机器周期都会对T0和T1引脚的输入电平进行采样,
31、如果前一个机器周期采样值为1,而下一个机器周期采样值为0,则加1计数器的值加1。定时器的工作模式设定和定时器的控制是由TMOD和TCON两个特殊功能寄存器来完成的,当单片机系统复位后,两个特殊功能寄存器的值都被清0。定时器/计数器0、1控制寄存器TCONTCON是定时器/计数器和中断控制两者合用的一个特殊功能寄存器。TF1:定时器/计数器1溢出中断请求标志位。当定时器/计数器1计数产生溢出信号时,由内部硬件置位TF1,向CPU请求中断,当CPU响应中断转向该中断服务程序执行时,有内部硬件自动将TF1清0。TF0:定时器/计数器0溢出中断请求标志位。当定时器/计数器0计数产生溢出信号时,经内部硬
32、件置位TF0(TF0=1),向CPU请求中断,当CPU响应中断并转向该中断服务程序执行时,由内部硬件自动将TF0清0。IE1:外部中断(INT1)中断请求标志位。当CPU检测到INT1低电平或下降沿且(IT1)=1时,由内部硬件置位IE1标志位(IE1=1),向CPU请求中断,当CPU响应中断并转向该中断程序执行时,由内部硬件自动清零IE1标志位。IE0:外部中断(INT0)中断请求标志位。当CPU检测到INT0低电平或下降沿且(IT0)=1时,由内部硬件置位IE0标志位(IE0=1),向CPU请求中断,当CPU响应中断并转向该中断程序执行时,由内部硬件自动清零IE0标志位。IT1:用软件置位
33、/复位IT1来选择外部中断INT1是下降沿还是电平触发中断请求。当IT1置位1时,则外部中断INT1为下降沿触发中断请求,即INT1端口由前一个机器周期的高电平,跳变为下一个机器周期的低电平,则触发中断请求;当IT1复位清0,则INT1口的低电平触发中断请求。IT0:用软件置位/复位IT0来选择外部中断INT0是下降沿还是电平触发中断请求。当IT0置位1时,则外部中断INT0为下降沿触发中断请求,即INT0端口由前一个机器周期的高电平,跳变为下一个机器周期的低电平,则触发中断请求;当IT0复位清0,则INT0口的低电平触发中断请求。定时器/计数器工作模式寄存器TMODTMOD用于选择定时器/计
34、数器0、1的工作模式,低四位用于定时器/计数器0,高四位用于定时器/计数器1,其值可由软件设定。89C51单片机内有2个16位的定时器/计数器,具有四种工作方式。M1和M0:定时器/计数器工作模式选择位。M1,M0控制的4种工作方式如表3.1所示。表3.1 定时器的工作方式M1 M0工作模式功能描述0 0模式013位计数器0 1模式116位计数器1 0模式28位自动重装载计数器1 1模式3定时器0:分成两个8位计数器定时器1:停止工作C/T:定时器/计数器功能选择位。C/T=0为定时器方式,对单片机内部的机器周期(振荡周期的12倍)计数;C/T=1为计数器方式,计数器的输入是来自T0和T1引脚
35、的外部脉冲。GATE:门控位。GATE=0,通过软件置位TR0(或TR1)就可以启动定时器/计数器0(定时器/计数器1);GATE=1,只有(INT0或INT1)引脚为高电平且软件使TR0(或TR1)置1时,才能启动定时器。一般情况下GATE=03.3.6 全双工串行口89C51单片机内有置一个全双工串行通信口,用于与其它设备间的串行数据传输。该串行口既可以用作异步通信收发器,也可以当同步移位器使用。它具有4种工作方式,可用来进行串行通讯,扩展并行I/O口,并可与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。3.3.7 并行输入输出(I/O)口89C51单片机共有4组8位I/O
36、口(P0,P1,P2和P3),用于对数据传输。3.3.8 特殊功能寄存器(SFR)特殊功能寄存器共有21个,用于CPU对片内个功能部件进行管理、控制和监视。特殊功能寄存器实际上是片内各个功能部件的控制寄存器和状态寄存器,这些特殊功能寄存器映射RAM区80H-FFH的地址区间内。3.4 AT89C51内部电源及引脚Vcc(40引脚):接+5V电源。Vss(20引脚):接地。XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端,使用片内振荡器时,该引脚连接外部石英晶体和微调电容。XTAL2(18引脚):片内振荡器反相放大器的输出端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电
37、容;若采用外部连接的终源,引脚XTAL1接收外部时钟振荡器的信号,XTAL2悬空。RST(9脚):复位信号输入端,当单片机运行时,在此引脚加上持续时间大于两个机器周期(24个时钟振荡周期)的高电平时,就可以对单片机完成复位操作。在单片机正常工作时,此引脚应为低电平。EA/Vpp(31引脚):EA为外部程序存储器访问允许控制端。当EA脚为高电平时,单片机读片内程序存储器(4K字节Flash),但当PC值超过0FFFFH时,将自动转向访问外部程序存储器内的程序。当EA脚为低电平时,对程序存储器的杜操作只限定外部程序存储器,地址为0000H-FFFFH,片内的4K字节Flash程序存储器不起作用。V
38、pp为本引脚的第二功能,为编程电压输入端,对于89C51在对片内Flash固化编程时,加在Vpp引脚的编程电压为+5V或+12V。(7)I/O口引脚功能(1)P0口:是一个多功能的8位口,可以字节访问也可位访问,其字节访问地址为80H,位访问地址为80H87H。作I/O口使用P0口相当于一个准双向口:输出锁存、输入缓冲、但输入时需先将口置1;每条口线可以独立定义为输入或输出,具有双向口的一切特点。P0口可驱动8个LS型TTL负载。与其他口的区别是,漏极开路输出,与其他电路接口时必须要用上拉电阻,才能有高电平输出。输入为悬浮状态时,为一个高阻抗的输入口。作地址/数据复用总线用地址/数据输出时,控
39、制信号为1,输出状态随地址/数据线变化。数据输入时,控制信号为0,CPU自动向P0写0FFH,上拉、下拉FET截止,保证数据高阻输入。此时P0口是一个真正的双向口。P0口作地址/数据复用之后,就不能再作I/O口使用。当89C51扩展外部存储器接I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。(2)P1口:是一个8位口,可以字节访问也可按位访问,其字节访问地址为90H,位访问地址为90H97H,准双向I/O口,具有内部上拉电阻。P1口是专为用户使用的准双向I/O口,当作为普通的I/O输入时,应先向端口的输出锁存器写入1。P1口可驱动4个TS型TTL负载。(3)P2口:是一
40、个多功能的8位的准双向I/O口,可以字节访问也可按位访问,其字节访问地址为A0H,位访问地址为A0HA7H。当89C51外部扩展外部存储器及I/O口时,P2口可输出高8位地址。P2口也可作为普通的I/O口使用。当作为普通的I/O输入时应先向端口的输出锁存器写入1。P2口可驱动4个TS型TTL负载。(4)P3口:是一个多功能的8位的准双向I/O口,可以字节访问也可按位访问,其字节访问地址为B0H,位访问地址为B0HB7H。P3口还可提供第二功能。P3口的第二功能定义见表3.2所示。表3.2 P3口各引脚的第二功能引脚第二功能说明P3.0RXD串行数据输入口P3.1TXD串行数据输出口P3.2IN
41、T0外部中断0输入P3.3INT1外部中断1输入P3.4T0定时器0外部计数输入P3.5T1定时器1外部计数输入P3.6WR外部数据存储器写选通输出P3.7RD外部数据存储器写选通输出3.5 单片机最小系统单片机最小控制系统主要由AT89C51单片机、复位电路、时钟电路等组成。3.5.1 时钟电路时钟电路用于产生单片机工作所需要的时钟信号,控制着单片机的有序运行节奏,而时序规定了指令执行过程中各控制信号之间的相互关系。在时钟信号的控制作用下,单片机就如同一个复杂的同步时序电路,严格地按照规定的时序进行工作。单片机的时钟电路通常用两种电路形式得到:内部振荡方式和外部振荡方式。本控制器采用的是内部
42、振荡方式,因为这种方式得到的时钟信号比较稳定。在引脚XTAL1和XTAL2外接12MHZ晶体振荡器,由于单片机内部有一个高增益反相放大器,当外接晶振时,就构成了自激振荡器并产生振荡时钟脉冲。如图3.1所示,两个电容器起稳定振荡频率、快速起振的作用。 图3.1时钟电路3.5.2 复位电路复位操作是使单片机的CPU以及系统各部件处于初始状态,并从这个状态开始运行。单片机在运行过程中可能受到外界的干扰使程序陷入死循环或“跑飞”,发生这种情况时需要将单片机复位,以重新启动运行。复位操作有手动复位和上电自动复位。并且本系统设计了既可以通电后自动复位,也可以手动强制的复位电路。具体电路如图3.2所示。RS
43、T引脚是复位信号的输入端口,高电平有效。单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。本系统采用的复位方式为上电复位或开关复位,电源接通后,单片机自动复位。上电后电解电容充电,也能使RESET为一段时间的高电平,从而实现了上电复位或开关复位的操作。图3.2 复位电路4系统硬件电路的设计4.1 系统总框图智能交通灯控制系统总电路组成框图如图4.1所示:整套系统由四部分组成:控制系统、信号灯显示电路、时间显示电路、外部中断电路。图4.1系统总框图4.2 控制系统目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的
44、设计,也有应用单片机实现对交通信号灯设计的方法。由于AT89C51单片机自单带有2计数器,6个中断源,能满足系统的设计要求。用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯。采用AT89C51单片机作为主控制器,AT89C51(主控芯片)CPU作为该系统的核心控制芯片,起控制、管理交通灯的作用。通行时间倒记时显示采用LED数码管,通行指示灯采用发光二极管。4.3 信号灯电路信号灯用来显示车辆通行状况,每一个十字路口有四组信号灯,南北方向和东西方向各两组,每组有三种信号灯,分别为红、黄、绿信号灯。同时还设有人行横道红、绿灯。每个路口的信号转换顺序为
45、:绿黄红,绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。红灯表示禁止通行。4.4 时间显示电路LED是由发光二极管组成的显示字符段,一般为七段数码显示管(含小数点为八段)。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为连接在一起形成数码管的公共端CC,两根管脚之间相互连通。另外的端子a、b、c、d、e、f、g、dp 则通过引脚与外部总线相连,通过对公共端与输入端施加一定的电压,点亮其中的一些发光二极管来构成需要的显示字符。用LED显示红、绿、黄灯延时时间的倒计时,给行人和车辆以提示。在交通信号灯的旁边安装一个可以显示绿灯通行时间,红
46、灯等待时间和黄灯警告时间的显示电路,采用数码管显示电路是一种很好的方法。用单片机驱动LED数码管显示方法可以分为静态显示和动态显示。静态显示:是指显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,该接口用于字型代码。这样单片机只要把显示的字型代码发送到接口电路,该字段就可以显示发送的字型,要显示新的数据时,单片机再发送新的字型码。动态扫描:用分时的方法轮流控制各个显示器的公共端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余晖效应,给人的印象就是一组稳定的显示数据。动态显示需要CPU时刻对显示期间进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但使用的硬件少,电路简单。当信号灯按照给定的变化规律进行运行时,同时