




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于89C51单片机的模拟交通灯系统的设计设计人:车林航 莫宏宇指导老师:刘士光 程 辉河北科技师范学院欧美学院机电科学与工程系10电气自动化专业摘要 本控制电路是以89C51单片机为控制核心。整个系统硬件部分包括:单片机、锁存器、数码管、LED发光二极管,再配合用汇编语言编制的程序使软件实现,实现模拟交通灯系统控制的功能。本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。本文从3个方面展开论述:首先是硬件电路的描述,接着软件部分的设计,最后实现功能。关键词 交通灯 ; 89C51 。一、 系统设计的意义及要求1系统的意义交通的发达,标志着城市的发达,于是交通的管理也显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必须按照一定的规律变化,以便于车辆行人都能顺利地通过十字路口。考虑到单片机具有性价比高、功能强、使用方便灵活、可靠性强等特点,故我们拟采用8051系列的单片机来实现十字路口交通信号灯的控制。 正常情况下,十字路口的红绿灯应交替变换, 以下设计中,将用发光二极管来模拟信号灯1。2设计的要求交通信号灯模拟控制系统利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。用8051做输出口,控制6个发光二极管的亮与灭,模拟交通灯管理。在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿灯(如图1.2)。图1.2 2.1 设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北。2.2 方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。2.3 在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道2.4 黄灯亮时,要求每秒闪亮一次。二、 系统的硬件设计方案任务 设计一个能够控制六盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模式来运行。 实现方案 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设指示灯方案(如下表2-1)2。 表2-125S5S25S5S东西道红灯亮红灯亮绿灯亮黄灯闪烁南北道绿灯亮黄灯闪烁红灯亮红灯亮2.1 当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。2.2 黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 2.3 当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。2.4 这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。2.5 此表可根据车流动态设置红绿灯的初始值。三、智能交通灯控制系统的硬件设计3.1 AT89C51单片机简介与MCS-51 兼容 ,4K字节可编程闪烁存储器 ,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源) ,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。图3 AT89C51系列单片机的内部结构示意图3.2 主要引脚功能 图4 AT89C51引脚图VCC:电源电压GND:接地P0口:P0口是一组8位双向I0口。P0口即可作地址数据总线使用,又可以作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。在访问期间激活要使用上拉电阻。P1口:Pl 是一个带内部上拉电阻的8准位双向IO口,P1作为通用的I/O口使用。P2 口:P2 是一个带有内部上拉电阻的8 位准双向IO 口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。P3 口:P3 口是一组带有内部上拉电阻的8 位准双向I0 口。P3 口除了作为通用的I/O口使用之外,每个引脚还具有第二功能,具体分配如表2表2 具有第二功能的P3口引脚端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/ INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6/ WR(外部数据存储器写选通)P3.7/ RD外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vcc。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。3.3 MCS51的中断源8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制,其中5个中断源的程序入口地址如表4所示:表3中断源程序入口中断源的服务程序入口地址中断源入口地址外中断00003H定时/计数器0000BH外中断10013H定时/计数器0001BH串行口中断0023H3.4交通灯中的中断处理流程()现场保护和现场恢复:有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。()中断打开和中断关闭:为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。()中断服务程序:有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。()中断返回:执行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。3.5系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和紧急按钮。3.6系统硬件电路构成本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成。其具体的硬件电路总图如图3.1所示。其中P0用于送显两片LED数码管,P1用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P2.6与P2.7对数码管进行片选,P3.2即INT0紧急情况处理按键,P3.3即INT1接时间调整中断按键。3.7系统工作原理系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减 1刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即K3键为低电平时进入中断服务子程序,东西南北路口的红灯全亮禁止全部通行,再按一下键,中断结束返回。其二为通行时间调整中断,若K4按键有效,进入相应的中断子程序,对时间进行调整,此后再按K4键则中断结束返回。图5 基于单片机的交通灯控制系统电路图3.8八段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阳极连在一起,如图3.6所示。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似。图6 LED数码管LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 dp,g,f,e,d,c,b,a全亮显示为,采用共阳极连接驱动代码。代码表如下表5所示。表5 驱动代码表显示数值dp,g,f,e,d,c,b,a驱动代码011010000C0H111111001F9H210100100A4H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有DPTR调取LEDMAP的代码。LED8段数码管的设置为每个方位上的一对2为显示器。四个方位上总共用8个LED接在单片机的IO口上。虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的IO口是对称的。如图3.7所示,其中A,B分别是P0,P1的网络标号。图7 LED连接图3.9发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。每个方向上设置红绿黄灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图8所示。图8 信号灯的连接3.10 按键控制本设计设置了有5个键:K1键P3.0,K2键P3.1,K3键P3.2,K4键P3.3,K5键P3.4,每个按键一端接地,另一端接对应的P3端口。低电平有效,当按键按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。四、系统的软件设计方案4.1 系统流程图(见附图3.1-1)4.2 设计的程序代码ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV P0,#0FFH ;设置初始状态 MOV P2,#00H MOV P3,#0FFHM1: MOV P0,#084H ;东西方向红灯南北方向绿灯 MOV R2,#26 ;设置绿灯倒计时25秒 MOV R0,#31 ;设置红灯倒计时30秒START1: DEC R0 ; 绿灯倒计时减一 DEC R2 ;红灯倒计时减一 MOV R7,#100 ;设置循环LOOP1: MOV R6,#5 ;设置循环LOOP2: MOV A,R2 ;当前绿灯倒计时导入R2 MOV B,#10 DIV AB ;计算倒计时十位与个位,26/10=2,2放入A累加器,余数6放入B累加器 MOV DPTR,#TABLE ;寻址 MOVC A,A+DPTR MOV P2,A ;显示十位数 CLR P3.3 ;扫描输出 LCALL DELAYY ;数码管显示延迟 SETB P3.3 MOV A,B;导入个位数到累加器A MOVC A,A+DPTR MOV P2,A ;显示个位数 CLR P3.4 LCALL DELAYY SETB P3.4 MOV A,R0 ;导入红灯倒计时时间 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A ;显示红灯十位数 CLR P3.1 LCALL DELAYY SETB P3.1 MOV A,B ;导入红灯个位数到累加器A MOVC A,A+DPTR MOV P2,A ;显示个位数 CLR P3.2 LCALL DELAYY SETB P3.2 DJNZ R6,LOOP2 ;判断循环状态 DJNZ R7,LOOP1 MOV A,R0 ;当前倒计时时间导入累加器A CJNE A,#05,START1 ;判断循环状态 如果红灯剩余5秒,而绿灯倒计时为零则继续 MOV R1,#05H ;设置循环5次即5秒M2: MOV A,R0 ;将R0中数据存入A中 应为5即黄灯闪烁5秒 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A ;数码管显示倒计时 CLR P3.2 CLR P3.4 MOV P0,#088H ;东西方向红灯南北方向黄灯 MOV R2,#05 ;设置延迟为0.5秒 LCALL DELAY MOVC A,A+DPTR MOV P2,A ;显示红灯倒计时 黄灯倒计时闪烁 SETB P3.4 MOV P0,#080H ;红灯亮黄灯灭 MOV R2,#05 LCALL DELAY SETB P3.2 DEC R0 ;R0内倒计时减一 DJNZ R1,M2 ; 判断循环是否结束M3: MOV P0,#030H ;东西方向绿灯南北方向红灯 MOV R2,#26 MOV R0,#31START2:DEC R2 DEC R0 MOV R7,#100LOOP3: MOV R6,#5LOOP4: MOV A,R2 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A CLR P3.1 LCALL DELAYY SETB P3.1 MOV A,B MOVC A,A+DPTR MOV P2,A CLR P3.2 LCALL DELAYY SETB P3.2 MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A CLR P3.3 LCALL DELAYY SETB P3.3 MOV A,B MOVC A,A+DPTR MOV P2, CLR P3.4 LCALL DELAYY SETB P3.4 DJNZ R6,LOOP4 DJNZ R7,LOOP3 MOV A,R0 CJNE A,#5,START2 MOV R1,#05HM4: MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A CLR P3.2 CLR P3.4 MOV P0,#050H MOV R2,#05 LCALL DELAY MOVC A,A+DPTR MOV P2,A SETB P3.2 MOV P0,#010H MOV R2,#05 LCALL DELAY SETB P3.4 DEC R0 DJNZ R1,M4 LJMP M1 ;重新跳转到开始状态DELAY: MOV R3,#10 ;100ms延迟 D1: MOV R4,#20 D2: MOV R5,#248 D3: DJNZ R5,D3 DJNZ R4,D2 DJNZ R3,D1 DJNZ R2,DELAY RETDELAYY: MOV R3,#40 ;1ms延迟D4: MOV R4,#10D5: DJNZ R4,D5 DJNZ R3,D4 RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 七段数码管显示 END初始化倒计时开始判断绿灯时间是否为零黄灯闪烁5秒东西向红灯南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权教育培训总结课件
- 钣金识图基础知识培训课件
- 2025全国减税降费知识竞赛试题库(含答案)
- 钣金展开图课件
- 建筑施工安全生产专业实务注册安全工程师考试(中级)试题及解答参考(2025年)
- 钣金入门基础知识培训课件
- 知识产权培训政策课件
- 知识产权培训意见和建议课件
- 澳洲景点介绍课件
- 钢结构概述课件
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程)
- sg1000系列光伏并网箱式逆变器通信协议
- 妇科疾病 痛经 (妇产科学课件)
- 重庆大学介绍课件
- 《李将军列传》教学教案及同步练习 教案教学设计
- GMP基础知识培训(新员工入职培训)课件
- Scala基础语法课件汇总整本书电子教案全套课件完整版ppt最新教学教程
- 基于Java的网上书城的设计与实现
- 酒店客房验收工程项目检查表(双床房、大床房、套房)
- 开音节闭音节中元音字母的发音规律练习
- 简单二人合伙协议书范本
评论
0/150
提交评论