ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:222.72KB ,
资源ID:6403520      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6403520.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STC89C52单片机的数显交通灯设计文档格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于STC89C52单片机的数显交通灯设计文档格式.docx

1、3.1.1 电源提供方案 33.1.2 显示界面方案 33.2 芯片简介 43.2.1 MSC-51芯片简介 43.2.2 74LS245引脚,参数及 功能说明 73.2.3 2位共阴数码管 73.3 交通管理的方案论证 83.4 系统硬件设计 94 软件设计 104.1 程序流程图 104.2 延时的设定 124.2.1硬件延时 124.2.2 软件延时 1343 程序代码分析 134.3.1程序实现功能 134.3.2 工作寄存器及存储单元分配 144.3.3 初始化程序 144.3.4 显示子程序 154.3.5定时中断处理程序 164.3.6 南北通行到达最后4秒时黄灯闪烁 174.3

2、.7 东西方向通行时间剩余4秒钟黄灯闪烁 184.3.8 紧急中断处理程序 19439 查表指令0,1,2,3,4,5,6,7,8,9 204.3.10 延时5ms与1ms 205 测试及结果 20总 结 22参考文献 231 绪言1.1 课题背景随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路

3、是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色

4、的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性,本系统本着“先到先服务”的原则,在保证交通安全性不降低的条件下提高

5、了交通效率。与传统的交通控制系统相比,该控制系统有一定的智能水平和很强的控制能力。1.2 单片机概述随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用比定导致传统的控制技术从根本上发生变革。也就是说单片机应用的出现是对传统控制技术的革命。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。因此单片机的开发应用已成为高技术工程领域的一项重大课题。因此了解单片机知识,掌握单片机的应用技术具有重大的意义。本文主要从计算机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。单片机微型计算机是微型计算

6、机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。2 项目概述它的应用必定导致传统的控制技术从根本上发生变革。它在工业控制,数据采集,智能化仪表,机电一体化,家用电器等领域得到了广泛应用,极大地提高了这些领域的技术

7、水平和自动化控制。本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往车辆的正常运作。2.1 项目要求基于STC89C52单片机的数显交通灯的设计,主要功能有:(1)东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时。(2)红黄绿灯显示包括人行道在内的道路交通状态。(3)某一方向道路拥挤时,可以人工控制调节东西南北通行时间。(4)紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。2.2系统设计按照系统设计的要求和功能,将系统分为主控模块、LED显示模块、电源电路、复位电路、按键电路、晶振电路、驱动电路等几个模块,系统组成框图如图2-1所示。图2-1 基于STC89C

8、52单片机的数显交通灯系统组成框图3 硬件设计3.1方案比较、设计与论证3.1.1 电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。3.1.2 显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。完全采用点阵式LE

9、D 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。3.2 芯片简介3.2.1 MSC-51芯片简介MCS-51单片机内部结构:8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存

10、储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或

11、用户定义的字型表。图3-1 8051内部结构程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求

12、,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。图3-2 MCS-51 结构图MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双

13、列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3-3所示:图3-3 MCS-51的引脚说明Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄

14、存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图3-4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图3-4复位和时钟方式Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序

15、存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,端必须接地。在编程时,脚还需加上5V的编程电压。3.2.2 74LS245引脚,参数及 功能说明74LS245是8路3态 双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使

16、用在数据的双向缓冲,原来常见于51的数据接口电路,比如,早期电路中,扩展了很多的8255/8155/8251/8253/573等芯片的时候,担心8031的数据驱动能力不足,就使用一片245作为数据缓冲电路,增强驱动能力;也常见与ISA卡的接口电路,图3-5为245驱动芯片的管脚排列图3-5 245驱动芯片的引脚图0,DIR0,B-A; =0, DIR=1, A-B; =1, DIR=X, X=0或者1,输入和输出均为高阻态;高阻态的含意就是相当于没有这个芯片。3.2.3 2位共阴数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七

17、段和八段两种形式,也有共阳和共阴之分。以八段2位共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示SP,即点),每个发光二极管的阴极连在一起接地。这样,一个LED数码管就有2根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取table的代码。LED 8段数码管的设置为每个方位上的一个2位显示器。四个方位上总共用4个2位共阴LED接在单片机的p1口上。如图3-7所示:图3-7 2位共阴数码管3.3 交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有

18、一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为10秒。(2)南北黄灯闪烁4秒,警示车辆和行人红、绿灯的状态即将切换。(3)南北左拐,东西左右拐10秒。(4)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为20秒。 东西方向车流大 通行时间长。(5)东西黄灯闪烁4秒,警示车辆和行人红、

19、绿灯的状态即将切换。(6)南北左右拐,东西左拐10秒。(7)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(8)此表可根据车流量动态设定红绿灯初始值。3.4 系统硬件设计核心器件:单片机系统采用STC89C52芯片,晶振选用12MHz,电源电压采用5V。信号输出设计:用驱动芯片74ls245与单片机的p0,p2口相连,由74ls245将信号输送到红黄绿灯上。信号灯采用发光二极管,选用红黄绿三种颜色。红灯停,绿灯行,黄灯等待。低电平时,灯亮;高电平时,灯熄灭。时间显示设计:采用LED八段2位共阴显示,采用动态显示方式。电路图如图3-8:图3-8 交通灯总电路图4

20、 软件设计4.1 程序流程图本系统的软件包括主程序,显示程序和中断程序三部分。主程序:初始化子程序,循环执行显示子程序,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。具体流程如下:图4-1 中断服务程序图图4-2 主程序图4-3 按键功能4.2 延时的设定 延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。4.2.1硬件延时计数器初值计算:定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为

21、TC 可得到如下计算通式:TC=M-C (4-1)公式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为;在方式1时M的值为在方式2和3为计算公式:T=(MTC)/T计数或TC(M-T)/T计数 (4-2)T计数是单片机时钟周期TCLK2倍;TC为定时初值如单片机的主脉冲频率为T12MHZ,经过12分频方式0TMAX213*1微秒8.192毫秒方式1TMAX216*1微秒65.536毫秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。1秒的方法:我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫

22、秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。相应程序代码:定时器需定时50毫秒,故T0工作于方式1。初值:MOV TMOD,#01H ;初始化定时器MOV TL0,#0B0HMOV TH0,#3CHSETB EA ;开定时中断与紧急中断SETB ET0SETB TR0SETB EX0SETB IT0 ;设置中断程控方式4.2.2 软件延时 MCS-51的工作频率为2-12MHZ,我们选用的8051单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所

23、以一个机器周期的时间为1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定时间。 具体的延时程序分析:去抖延时子程序D5MS: MOV R7,#50 ;延时5ms MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RETD1MS: MOV R7,#10 ;延时1msL2: DJNZ R7,L243 程序代码分析4.3.1程序实现功能1、东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。2、某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。3、紧急情况时,各路口交通灯显示红灯,数码管保持数

24、据不变。4.3.2 工作寄存器及存储单元分配1、工作寄存器:R2设置为定时器定时中断次数,R6、R7用于延时程序中的寄存器2、片内存储单元:30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元。3、标志位:00H:南北通行标志位;01H:东西通行标志位;02H:紧急事件标志位 。SNF EQU 00H ;南北通行标志位EWF EQU 01H ;东西通行标志位URF EQU 02H ;紧急事件标志位ORG 0000HLJMP MAIN ;上电转主程序ORG 000BH ;定时中断入口LJMP DSZD ORG 0003H

25、 ;紧急中断入口LJMP URZDORG 0030H MAIN: LCALL INIT ;调用初始化子程序LOOP: LCALL DIS ;循环执行显示子程序 AJMP LOOP4.3.3 初始化程序INIT: SETB SNF SETB EWF SETB URF MOV R2,#20 ;定时器中断20次为1s MOV TMOD,#01H ; MOV TL0,#0B0H MOV TH0,#3CH SETB EA ; SETB ET0 SETB TR0 SETB EX0 SETB IT0 ; MOV DPTR,#TAB ;数值首地址放入DPTR中 MOV 40H,#10 ;东南西北通行时间设置

26、MOV 41H,#10 MOV 30H,#10 ;通行时间初始化 MOV 31H,#20 MOV P0,#0B3H ;初始化时南北通行并把交通灯状态分别放在32H和33H中 MOV 32H,#0B3H MOV P2,#0ABH MOV 33H,#0ABH4.3.4 显示子程序DIS: MOV P3,#0DFH ;选中南北方向的十位数码管 MOV A,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#0EFH ;选中南北方向的个位数码管 MOV A,B ;送入数码管显示 MOVC A,A+DP

27、TR MOV P3,#7FH ;选中第东西方向的十位数码管 MOV A,31H ; MOV P3,#0BFH ;选中第东西方向的个位数码管 MOV A,B SETB P3.0 SETB P3.1 JNB P3.0,DIS_S ;查询是否第一个按键按下 JNB P3.1,DIS_E ;查询是否第二个按键按下 AJMP DIS_R ;没有键按下则返回DIS_S:LCALL D5MS ;按键去抖 JNB P3.0,DIS_SN AJMP DIS_R DIS_SN:MOV 40H,#50 ;对通行时间从新分配,南北通行时间加长 MOV 41H,#30 AJMP DIS_RDIS_E: JNB P3.1,DIS_EW DIS_EW:MOV 40H,#30 ;东西通行时间加长 MOV 41H,#50DIS_R:RET 4.3.5定时中断处理程序DS_C: LJMP DS_R ;接力跳转DSZD: PUSH ACC ;保护现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 DJNZ R2,DS_C ;判断1s时间是否到达

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2