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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于STC89C52单片机的数显交通灯设计方案.docx

1、基于STC89C52单片机的数显交通灯设计方案基于STC89C52单片机的数显交通灯设计方案1.1 课题背景 随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大 压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口, 又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都 存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方 法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络, 交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的 多变性,特别是在交通流量高峰时,往

2、往会造成交通路口的通过率下降,甚至出现交 通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口 ( 简称交叉 口) 是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。 随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交 通检测器、信号控制机和交通信号灯。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在 醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交

3、通灯其时间都是 设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和 绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难, 需要大量的实测统计数据 , 且很多情况下整定所得值并不是最优的 ,甚至是不合理的。 控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这 一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进 行动态调节,大大加强了其灵活性和实时性,本系统本着“先到先服务”的原则,在 保证交通安全性不降低的条件下提高了交通效率。与传统的交通控制系统相比,该控 制系统有一定的智能水平和很强的控制能力。1.

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

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

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

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

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

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

10、,可存放读写的数据,运算的中间结果或用户定义的字型表。6061內部箱狗程序存储崔I定时计数制MR Mil3051时钟图3-1 8051内部结构程序存储器(ROM) 8051共有4096个8位掩膜ROM用于存放用户程序,原始数 据或表格。定时/计数器(ROM) 8051有两个16位的可编程定时/计数器,以实现定时或计数 产生中断用于控制程序转向。并行输入输出(I/O) 口: 8051共有4组8位I/O 口 (P0、P1、P2或P3),用于对外 部数据的传输。全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用中

11、断系统:8051具备较完善的中断功能,有两个外中断、 两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2级的优先级别选择。时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的 脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛 (Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为 一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结 构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。P0. (T

12、-P0- 7 P艺 G-P2. 7厂一 宙4-用4宦2V Fl, 0-P1 T P?. Q-P3r7宁图3-2 MCS-51结构图MCS-51的引脚说明:MCS-5係列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根, 外置石英振荡器的时钟线两根,4组8位共32个I/O 口,中断口线与P3 口线复用。现 在我们对这些引脚的功能加以说明:如图 3-3所示:图3-3 MCS-51的引脚说明Pin 9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在 RESET引 脚上出现24个时钟周期以上的高

13、电平,系统即初始复位。初始化后,程序计数器 PC指向0000HP0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“ 0”。 RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位 不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图3-4。此外,RESETS 还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部 RAM勺数据不 丢失。图3-4复位和时钟方式Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字 节。而访问内部程序存储

14、器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号 可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访 问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPRO,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据 将出现在P0和P2 口上,外部程序存储器则把指令数据放到 P0 口上,由CPU卖入并执 行。Pin31: EA程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序 存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而 超过4kB地址则读取外部指

15、令数据。如 EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031, EA端必须接地。在编程时,EA脚还需加上5V的编程电压。3.2.274LS245引脚,参数及 功能说明74LS245是8路3态 双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使用在 数据的双向缓冲,原来常见于 51的数据接口电路,比如,早期电路中,扩展了很多的 8255/8155/8251/8253/573等芯片的时候,担心8031的数据驱动能力不足,就使用一 片245作为数据缓冲电路,增强驱动能力;也常见与ISA卡的接口电路,图3-5为245 驱动芯片的管脚排列E = 0,DIR=

16、 0,B-A; E=0, DIR=1, A-B ; E=1, DIR=X, X=0 或者 1,输入和输出均为高阻态;高阻态的含意就是相当于没有这个芯片。3.2.32位共阴数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等 优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八 段2位共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示 SP,即 点),每个发光二极管的阴极连在一起接地。这样,一个 LED数码管就有2根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。相应在程序软件上,可以通过调用程序给定的

17、秒值经过特定计算算出需要显示的 个位和十位,然后有DPTF调取table的代码LED 8段数码管的设置为每个方位上的一个 2位显示器。四个方位上总共用 4个2位共阴LED接在单片机的pl 口上。如图3-7所示:3.3交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯, 指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意 红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设 东西道比南北道的车流量大,指示灯燃亮的方案(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯, 此道车辆通过,行人禁止通

18、行。时间为 10秒。南北黄灯闪烁4秒,警示车辆和行人 红、绿灯的状态即将切换。(3)南北左拐,东西左右拐10秒。(4)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过, 行人通行。时间为20秒。东西方向车流大 通行时间长。(5)东西黄灯闪烁4秒,警示车辆和行人 红、绿灯的状态即将切换。(6)南北左右拐,东西左拐10秒。(7)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全 畅通的通行。(8)此表可根据车流量动态设定红绿灯初始值。3.4系统硬件设计核心器件:单片机系统采用STC89C5芯片,晶振选用12MHz电源电压采用5V。 信号输出设计:用驱动芯片74I

19、S245与单片机的p0,p2 口相连,由74ls245将信号 输送到红黄绿灯上。信号灯采用发光二极管,选用红黄绿三种颜色。红灯停,绿灯行,黄灯等待。低 电平时,灯亮;高电平时,灯熄灭。时间显示设计:采用LED八段2位共阴显示,采用动态显示方式。图3-8交通灯总电路图4软件设计4.1程序流程图本系统的软件包括主程序,显示程序和中断程序三部分。主程序:初始化子程序,循环执行显示子程序,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。具体流程如下:图4-1 中断服务程序图图4-2主程序图4-3按键功能4.2延时的设定延时方法可以有两种一中是利用 MCS-51内部定时器才生溢出中断来确定1秒

20、的时 间,另一种是采用软延时的方法。4.2.1硬件延时计数器初值计算:定时器工作时必须给计数器送计数器初值,这个值是送到 TH和TL中的。他是以加法记数的,并能从全 1到全0时自动产生溢出中断请求。因此,我 们可以把计数器记满为零所需的计数值设定为 C和计数初值设定为TC可得到如下计算通式:TC=M-C (4-1)公式中,M为计数器摸值,该值和计数器工作方式有关。在方式 0时M为213 ;在方式1时M的值为216 ;在方式2和3为28计算公式:T=(M TC)/T计数 或TC= (M-T)/T计数 (4-2)T计数是单片机时钟周期Tclk2倍;TC为定时初值 如单片机的主脉冲频率为 Tclk

21、12MHZ,经过12分频方式 0方式 1TMAXf 213 *1 微秒=8.192 毫秒TMAXf 216 *1 微秒=65.536 毫秒显然 1 秒钟已经超过了计数器的最大定时间, 所以我们只有采用定时器和软件相结 合的办法才能解决这个问题。1秒的方法:我们采用在主程序中设定一个初值为 20的软件计数器和使TO定时50 毫秒。这样每当TO到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子 程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表 示 1 秒已到可以返回到输出时间显示程序。相应程序代码 :定时器需定时50毫秒,故T0工作于方式1。 初值:TC (

22、M -T)/T 计数 216 -20ms/1us 15536 3CBOH4.2.2 软件延时MCS-51 的工作频率为2-12MHZ我们选用的8051单片机的工作频率为12MHZ机器周期与主频有关,机器周期是主频的 12倍,所以一个机器周期的时间为1uso我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定时间。具体的延时程序分析:去抖延时子程序D5MS: MOV R7,#50 ;延时 5msMOV R6,#50L1: DJNZ R6,$DJNZ R7,L1RETD1MS: MOV R7,#10 ;延时 1msMOV R6,#50L2: DJNZ R6,$DJNZ R7,L

23、2RET4 3 程序代码分析4.3.1 程序实现功能1、东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显 示包括人行道在内的道路交通状态。2、某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。3、紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。4.3.2 工作寄存器及存储单元分配1、 工作寄存器:R2设置为定时器定时中断次数,R6、R7用于延时程序中的寄存器2、 片内存储单元: 30H、 31H 作为两组数码管显示数据存储单元; 32H、 33H 作为 交通灯初始状态存储单元;40H 41H作为交通灯显示数据存储单元。3、 标志位:00H:南北通行标志位;01

24、H:东西通行标志位;02H:紧急事件标志 位。SNF EQU 00HJ J J南北通行标志位EWF EQU 01H;东西通行标志位URF EQU 02HJ J J紧急事件标志位ORG 0000HLJMP MAINJ J J上电转主程序ORG 000BH;定时中断入口LJMP DSZDORG 0003HJ J J紧急中断入口LJMP URZDORG 0030HMAIN: LCALL INITJ J J调用初始化子程序LOOP: LCALL DISJ J J循环执行显示子程序AJMP LOOP4.3.3初始化程序INIT: SETB SNFSETBEWFSETBURFMOVR2,#20 ;定时器中

25、断 20 次为 1sMOVTMOD,#01H ;初始化定时器MOVTL0,#0B0HMOVTH0,#3CHSETBEA ;开定时中断与紧急中断SETBET0SETBTR0SETBEX0SETBIT0 ;设置中断程控方式MOVDPTR,#TAB ;数值首地址放入DPTF中MOV40H,#10 ;东南西北通行时间设置MOV41H,#10MOV30H,#10 ;通行时间初始化MOV31H,#20MOVP0,#0B3H ;初始化时南北通行并把交通灯状态分别放在32H和 33H 中MOV 32H,#0B3HMOV P2,#0ABHMOV 33H,#0ABHRET4.3.4显示子程序DIS: MOV P3

26、,#0DFH ;选中南北方向的十位数码管MOVA,30H ;把显示数据送人数码管显示MOVB,#10DIV ABMOVC A,A+DPTRMOV P1,ALCALL D1MSMOV P3,#0EFH ; MOV A,B ; MOVC A,A+DPTRMOV P1,ALCALL D1MSMOV P3,#7FH ;MOV A,31H ;MOV B,#10DIV ABMOVC A,A+DPTRMOV P1,ALCALL D1MSMOV P3,#0BFH ;MOV A,BMOVC A,A+DPTRMOV P1,ALCALL D1MSSETB P3.0SETB P3.1JNB P3.0,DIS_S ;J

27、NB P3.1,DIS_E ;AJMP DIS_R ;DIS_S:LCALL D5MSJNB P3.0,DIS_SNAJMP DIS_RDIS_SN:MOV 40H,#50MOV 41H,#30AJMP DIS_RDIS_E:LCALL D5MSJNB P3.1,DIS_EW选中南北方向的个位数码管送入数码管显示选中第东西方向的十位数码管送入数码管显示选中第东西方向的个位数码管查询是否第一个按键按下 查询是否第二个按键按下 没有键按下则返回 按键去抖对通行时间从新分配,南北通行时间加长按键去抖AJMP DIS_RDIS_EW:MOV 40H,#30 ;MOV 41H,#50DIS_R:RET4

28、.3.5定时中断处理程序DS_C: LJMP DS_R ;DSZD: PUSH ACC ;PUSH PSWCLR TR0 ;CLR TF0MOV TL0,#0B0HMOV TH0,#3CHDJNZ R2,DS_C ; MOV R2,#20 ;DEC 30H ;MOV A,30H ;东西通行时间加长接力跳转保护现场关定时器及中断标志位并重新赋值判断 1s 时间是否到达 到达重新赋值 南北方向通行时间减一 把减一后的时间送入显示存储单元4.3.6 南北通行到达最后 4 秒时黄灯闪烁DS_10:CJNE A,#4,DS_11 ;如果通行时间剩余 4 秒JNB SNF,DS_11 ;MOV P0,#0

29、B5H判断是否是南北通行MOV 32H, #0B5H ;把交通灯状态存入存储单元(后面类似)DS_11:CJNE A,#3,DS_12 ;不是剩余 3 秒,返回JNB SNF,DS_12 ;MOV P0,#0B7H不是南北通行时间,返回MOV 32H, #0B7HDS_12:CJNE A,#2,DS_13JNB SNF,DS_13MOV P0,#0B5HMOV 32H, #0B5HDS_13:CJNE A,#1,DS_14JNB SNF,DS_14MOV P0,#0B7HMOV 32H, #0B7HDS_14:JNZ DS_NECPLSNF ;JNBSNF,DS_1MOV30H,40HMOVP

30、0,#0B3HMOV32H,#0B3HMOVP2,#0ABHMOV33H, #0ABHDS_NE:DEC 31HMOV A,31H通行时间没有结束转向改变东西方向的数码管 如果通行时间结束则对标志位取反 判断是否南北通行 是,点亮相应的交通灯存储交通灯状态存储交通灯状态东西方向通行时间减一 把通行剩余时间送入显示存储单元4.3.7 东西方向通行时间剩余4 秒钟黄灯闪烁DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#0AEH MOV 32H, #0AEHDS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#0BEH MOV 32H, #0BEHDS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#0AEH MOV 32H, #0AEHDS_23:CJNE A,#1,DS_24 JB EWF,D

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1