欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计基于AT89C51单片机的交通灯控制系统设计.doc

    • 资源ID:4145884       资源大小:397.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计基于AT89C51单片机的交通灯控制系统设计.doc

    课题:交通灯控制系统设计专业电子信息工程学生姓名发放日期2009年5月25日信息工程学院交通灯控制系统设计摘 要: 本系统采用单片机、按钮开关、LED显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、直行,人行道四个基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,20s后系统自动恢复正常管理。采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。设计包括硬件和软件两大部分。硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。关键词: 交通灯,单片机,AT89S51,交通规则目 录一、概述二、方案设计与论证三、系统硬件电路设计四、系统主要程序设计五、参考文献附录交通灯系统设计一、 概述 随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性1。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义2。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口3。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性,本系统能自动检测当前的车流量并计算出当前的最佳绿灯时间和最佳绿信比,当车流量变化时,其最佳绿灯时间和最佳绿信比也随之变化,实现了真正的动态控制。本着“先到先服务”的原则,在保证交通安全性不降低的条件下提高了交通效率。与传统的交通控制系统相比,该控制系统有一定的智能水平和很强的控制能力。二、方案设计与论证1电源提供方案: 采用独立的5V稳压电源,此方案稳定可靠,且有各种成熟电路可供选用2显示界面方案 采用数码管和点阵LED相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用数码管与LED分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。3输入方案 直接在IO口上接按键开关。因为设计时精简和优化了电路,所以剩余口的资源还比较多。4主控制方案采用AT89C51单片机作为控制器,控制8255实行通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD液晶点阵显示器。这种方案设计占用单片机的端口最少,硬件也少。耗电也最小三、 系统硬件电路设计整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块、时间显示模块和自动特种车辆控制模块等组成。1、主控制系统 2、通行灯输出控制 道口交通灯指示采用高亮度红绿双色发光二极管,左拐、直行、右拐及行人各一个。当发光电流为6mA时,按公式R=(5-1.8)/0.006计算,限流电阻应为510.由于南北通行时双向指示牌相同,因此每个端口应具有12mA的吸收电流能力。 3、时间显示模块道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流算,全显示字形“8”时,每个数码管需6mA×8=48mA。由于时间显示每个道口相同,4组需192mA,因此设计中采用中功率三极管9012.由于单片机每个断码输出口需吸收24mA 电流,因此在电路设计中也使用了驱动集成块74HC244。其显示驱动电路如图示。 4、特种车辆自动控制模块 自动道口灯在特种车辆到来时能自动关闭所有绿灯,让特种车通过。通过复位按钮,使用实时中断来影响特种车的通行要求。5、电源电路 由于整个系统采用的电源电压需+5V电压,所以采用不可调的3端稳压器件,用常用的lm7850就可以满足系统电源的要求。S7805三端集成稳压电源内部由准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成具有低功耗,高效率,波纹系数小,输出电压稳定等优点。四、 系统主要程序设计道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、定时中断程序和特种车实时响应程序等。1、 初始化程序初始化程序主要完成内存划,定时器的工作模式、中断方式等的设定。由于子程序调用较多,因此初始化时堆栈指针设于80H处。定时器T0、T1设为16位定时器模式,定时时间位50ms,为秒计时用,T1为通行结束闪烁用。2、 主程序主程序要负责总体程序管理功能,实现人机交换设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如下图示。 3、 外中断1中断服务程序经过时,车中发射红外线信号,其信号被道口控制板上的接收器接收,并输出一个低电平处外中断1.中断处理程序流程图如下页图所示。 4、 定时服务中断程序 序主要用于行车与行人的通行指示,按照交通规则,红绿灯控制转换逻辑表如7.1表所列。南北方向 端口 控制功能 120110s 11070s 7060s 6010s 100s P*.7 左拐红 0 0 0 1 1 P*.6 左拐绿 1 1 1 0 0/1 P*.5 直行红 1 1 1 0 0 P*.4 直行绿 0 0 0/1 1 1 P*.3 右拐红 0 1 1 1 1 P*.2 右拐绿 1 0 0 0 0/1 P*.1 行人红 1 1 1 0 0 P*.0 行人绿 0 0 0/1 1 1 道口控制字 66H 6AH 6AH/7BH 99H 99H/DDH东西方向 P*.7 左拐红 0 0 0 0 0 P*.6 左拐绿 1 1 1 1 1 P*.5 直行红 0 0 0 0 0 P*.4 直行绿 1 1 1 1 1 P*.3 右拐红 0 1 1 1 1 P*.2 右拐绿 1 0 0 0 0/1 P*.1 行人绿 0 0 0 0 0 P*.0 行人红 1 1 1 1 1 道口控制字 55H 59H 59H 59H 59H/5DH 5、通行规则如下:A.车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min(60S),各路右拐比直行滞后10S开放。B.车辆南北向左拐、各路右拐,行人禁行。通行时间为1min(60S)。C.车辆东西直行、各路右拐,东西向行人通行。东西向通行时间为1min(60S),各路右拐比直行滞后10S开放。D.车辆东西向左拐、各路右拐,行人禁行。通行时间为1min(60S)。表4-1 路口通行方式控制码数据表 南 北 方 向端口控制功能120-110S110-70S70-60S60-10S10-0SP1.7左拐红1(亮)1(亮)1(亮)0(暗)0(暗)P1.6左拐绿0(暗)0(暗)0(暗)1(亮)1/0(提示)P1.5直行红0(暗)0(暗)0(暗)1(亮)1(亮)P1.4直行绿1(亮)1(亮)1/0(提示)0(暗)0(暗)P1.3右拐红1(亮)0(暗)0(暗)0(暗)0(暗)P1.2右拐绿0(暗)1(亮)1(亮)1(亮)1/0(提示)P1.1行人红0(暗)0(暗)0(暗)1(亮)1(亮)P1.0行人绿1(亮)1(亮)1/0(提示)0(暗)0(暗)路口控制字99H95H95H/84H66H66H/22H 东 西 方向 P2.7左拐红1(亮)1(亮)1(亮)1(亮)1(亮)P2.6左拐绿0(暗)0(暗)0(暗)0(暗)0(暗)P2.5直行红1(亮)1(亮)1(亮)1(亮)1(亮)P2.4直行绿0(暗)0(暗)0(暗)0(暗)0(暗)P2.3右拐红1(亮)0(暗)0(暗)0(暗)0(暗)P2.2右拐绿0(暗)1(亮)1(亮)1(亮)1/0(提示)P2.1行人红1(亮)1(亮)1(亮)1(亮)1(亮)P2.0行人绿0(暗)0(暗)0(暗)0(暗)0(暗)路口控制字AAHA6HA6HA6HA6H/ A2H交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制码。红绿灯指示功能通过T0定时中断服务程序实现。定时器T0定时溢出中断周期设为50ms,中断累计20次(即1S)时对120S倒计时单元减一操作。设计中将4种通行规则分成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:120110S、11070S、7060S、6010S、100S。五、参考文献1王幸之.AT89系列单片机原理与接口技术M .北京:北京航空航天大学出版社,2004.2李忠国.单片机应用技能实训M .北京:人民邮电出版社,20063潘永雄.电子线路CAD实用教程M .西安:西安电子科技大学出版社,2004.4楼然苗.单片机课程设计指导M .北京:北京航空航天大学出版社,2007.5孙晓艳. 基于单片机的交通灯控制系统设计与模拟. 南宁职业技术学院学报.2007. 36郭磊.侯书芹. 浅谈交通灯控制方案的技术改进. 安阳大学学报.2003.117张兴华.一种智能交通灯的数显设计. 中国计最学院浙江.2007.108郭恒燕.交通灯毕业设计.盐城工学院毕业设计.2008.59杭和平.单片机原理与应用.机械工业出版社.2008年5月第1版10周润景.PROTEUS入门教程. 机械工业出版社.2007年9月第1版附件1: ;*;交通灯系统完整程序;*TIME EQU 50H ;当前120S倒计时值 TIMESFR EQU 51H ;临时寄存器 CONR5 EQU 52H ;T1秒定时记数用 TIMED0 EQU 55H ;单向最大定时时间,直行开始,人行开始(120S) TIMED1 EQU 56H ;各路右拐开始时间(110S)TIMED2 EQU 57H ;前行结束提醒(70S)TIMED3 EQU 58H ;前行结束,人行结束,左拐开始(60S)TIMED4 EQU 59H ;左拐结束提醒 TIMED5 EQU 5AH ;左拐结束 TIMED6 EQU 5BHTIMED7 EQU 5CHSN EQU P1 ;南北口 EW EQU P2 ;东西口 SCAN EQU P3 ;扫描口 LEDOUT EQU P0 ;段码口 SRY BIT P3.4 ;右拐黄灯DCY BIT P3.5 ;直行与行人黄灯DLRY BIT P3.6 ;左拐,右拐黄灯SNEWFLAG BIT 21H.1 ;东西口与南北口转换标志EX1FLAG BIT 21H.4 ;外中断1标志 ;* ; 中断入口程序;*ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTT0执行ORG 0013H ;外中断1中断程序入口 LJMP INT11 ;外中断1、119120中断 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ORG 0023H ;串行中断程序程序返回 RETI;*; 主程序;*START: MOV SP, #60H MOV R0, # 00H ;清00H7FH内存单元 MOV R7, # 7FHCLEARDISP: MOV R0, # 00H INC R0 DJNZ R7, CLEARDISP MOV R2,#0FFH SETB IT1 ;下降沿触发 MOV TIMED0,# 78H ;单向最大定时时间,直行开始,人行开始 MOV TIMED1, # 6EH ;各路右拐开始时间(110S) MOV TIMED2, # 46H ;前行结束提醒(70S) MOV TIMED3,# 3CH ;前行结束,人行结束,左拐开始(60S) MOV TIMED4,# 0AH ;左拐结束提醒 SETB SNEWFLAG ;南北先通行标志位 MOV TMOD, #11H ;设T0,T1为16位定时器 MOV TL0, #0B0H ;50ms定时初值(T0记时用) MOV TH0, #3CH ;50ms定时初值 MOV TL1, #0B0H ;50ms定时初值(T1闪烁定时用) MOV TH1, #3CH ;50ms定时初值 JB SCAN.7, SSST ;120s管理 ;*以下为60s管理*; LCALL DL1MS LCALL DL1MS LCALL DL1MS JB SCAN.7, SSST ;干扰 MOV TIMED0, #60 ;单向最大定时时间,直行开始,人行开始 MOV TIMED1, #55 ;各路右拐开始时间(55S) MOV TIMED2, #35 ;前行结束提醒(35S) MOV TIMED3, #30 ;前行结束,人行结束,左拐开始(30S) MOV TIMED4, #05 ;左拐结束提醒SSWAIT: JNB SCAN.7, SSWAIT LCALL DL1MS LCALL DL1MS LCALL DL1MS JNB SCAN.7, SSWAITSSST: MOV TIME, TIMED0 ; 120S LCALL TUNBCD MOV SN, #99H MOV EW, #0AAH SETB EA ;总中断开放 SETB PX1 SETB EX1 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4, #14H ;1S定时用初值(50ms×20) MOV CONR5, #20START1: LCALL DISPLAY ;调用显示子程序 JNB SCAN.7, KEYFUN ;手动状态 SJMP START1 ;P1.0口为1时跳回START1KEYFUN: LCALL DISPLAY LCALL DISPLAY JB SCAN.7, START1 CLR ET0 CLR TR0 MOV 5EH,TIME MOV SN, #00H ;东西车道全通 MOV EW, #56H MOV TIME, #00H ;时间显示0 LCALL TUNBCDKEYWAIT: LCALL DISPLAY JNB SCAN.7, KEYWAIT KEYY: LCALL DISPLAY ;等待按键按下 JB SCAN.7, KEYY LCALL DISPLAY JB SCAN.7, KEYY MOV SN, #56H ;南北车道全通 MOV EW, #00H MOV TIME, #00H ;时间显示0 LCALL TUNBCDKEYWAIT0: LCALL DISPLAY JNB SCAN.7, KEYWAIT0KEYWAIT1: LCALL DISPLAY JNB SCAN.7, KEYWAIT1 MOV TIME, 5EH;TIMED0 ;重新开始计时初值 LCALL TUNBCD CLR SNEWFLAG ;南北先通行标志位 SETB TR0 SETB ET0 AJMP START1;*1s计时程序*; T0中断服务程序;*INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A, #0B0H ;中断响应时间同步修正 ADD A, TL0 ;低8位初值修正 MOV TL0, A ;重装初值(低8位修正值) MOV A, #3CH ;高8位初值修正 ADDC A, TH0 MOV TH0, A ;重装初值(高8位修正值) SETB TR0 ;开启定时器T0 DJNZ R4, OUTT000 ;20次中断到(1S),重赋初值 SJMP LOOP000OUTT000: LJMP OUTT00 LOOP000: MOV R4, #14H JB SNEWFLAG, INT222 SJMP LOOP001INT222: LJMP INT22LOOP001: DEC TIME ;南北行 MOV A, TIME CJNE A, TIMED1, LOOP11 ;判断是否小于110SLOOP11: JC LOOP22 ;120-110 MOV SN, #99H MOV EW, #0AAH LJMP OUTT0 ;120-110LOOP22: MOV A, TIME CJNE A, TIMED2, LOOP33;判断是否小于70SLOOP33: JC LOOP44 ;110-70 MOV SN, #95H MOV EW, #0A6H LJMP OUTT0 ;110-70LOOP44: MOV A, TIME CJNE A, TIMED3, LOOP55 ;判断是否小于60SLOOP55: JC LOOP66 ;70-60 MOV 20H, SN CPL 20H.4 CPL 20H.0 MOV SN, 20H MOV EW, #0A6H CPL DCY MOV A,P3 MOV R2,A LJMP OUTT0 ;70-60LOOP66: SETB DLRY SETB SRY SETB DCY MOV A,P3 MOV R2,A MOV A, TIME CJNE A, TIMED4, LOOP77 ;判断是否小于10SLOOP77: JC LOOP88 ;60-10 MOV SN, #66H MOV EW, #0A6H LJMP OUTT0 ;60-10LOOP88: MOV A, TIME JZ OUT88 MOV 20H, SN CPL DLRY CPL SRY MOV A,P3 MOV R2,A CPL 20H.6 CPL 20H.2 MOV SN, 20H MOV 20H, EW CPL 20H.2 MOV EW, 20H LJMP OUTT0 ;70-60OUT88: SETB DLRY SETB SRY SETB DCY MOV A,P3 MOV R2,A MOV TIME, TIMED0 ;120初值 CPL SNEWFLAGOUTT0: LCALL TUNBCDOUTT00: POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放T0中断 RETI ;中断返回INT22: DEC TIME ;东西行 MOV A, TIME CJNE A, TIMED1, LOOP111 ;判断是否小于110SLOOP111: JC LOOP221 ;120-110 MOV EW, #99H MOV SN, #0AAH LJMP OUTT01 ;120-110LOOP221: MOV A, TIME CJNE A, TIMED2, LOOP331 ;判断是否小于70SLOOP331: JC LOOP441 ;110-70 MOV EW, #095H MOV SN, #0A6H LJMP OUTT01 ;110-70LOOP441: MOV A, TIME CJNE A, TIMED3, LOOP551 ;判断是否小于60SLOOP551: JC LOOP661 ;70-60 CPL DCY MOV A,P3 MOV R2,A MOV SN, #0A6H LJMP OUTT01 ;70-60LOOP661: MOV A, TIME CJNE A, TIMED4, LOOP771 ;判断是否小于10SLOOP771: JC LOOP881 ;60-10 SETB DLRY SETB SRY SETB DCY MOV A,P3 MOV R2,A MOV EW, #66H MOV SN, #0A6H

    注意事项

    本文(课程设计基于AT89C51单片机的交通灯控制系统设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开