欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    【毕业设计】基于单片机的多种路口交通灯控制器的设计与实现-个人分享.doc

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

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

    【毕业设计】基于单片机的多种路口交通灯控制器的设计与实现-个人分享.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流【毕业设计】基于单片机的多种路口交通灯控制器的设计与实现-个人分享.精品文档.摘 要随着社会经济的发展交通运输业日益兴旺,汽车的数量在大副攀升, 交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失。交为了改善交通秩序减少交通事故,交通灯起着越来越重要的作用。我利用学过的单片机知识,设计了常见的十字路口和丁字路口交通灯。首先,进行了实际调查,调查了多种路口交通灯,如: 十字路口交通灯、丁字路口交通灯、 BRT交通灯等。由于自己的水平有限,电路器件的缺乏,最终设计并仿真了最常见的十字路口和丁字路口交通灯。实现了功能简单的交通灯控制系统,虽然功能简单,但可以进行设置等功能,如果条件允许我会实现功能较全的交通灯控制系统。本设计中的主控芯片是AT89C52,用Proteus进行了仿真,用Keil 来进行了程序编译,用STC-ICP-V 来进行了程序下载。关键词:交通灯;单片机;AT89C52目 录1 技术知识11.1 交通灯简介11.2交通灯的应用11.3 交通灯的发展趋势11.4单片机简介21.5主要芯片介绍41.6单片机开发工具仿真简介61.6.1 Keil 简介61.6.2 Proteus 简介71.7 交通灯控制系统的内容及意义72 交通灯控制系统设计82.1 实际调查82.1.1 十字路口交通灯的实用情况82.1.2 丁字路口交通灯的实用情况112.1.3 BRT交通灯的实用情况122.2 系统功能设计132.3 系统结构132.3.1设置模块设计142.3.2显示模块设计142.3.3复位模块设计162.3.4紧急处理模块设计162.4模块实现172.4.1 设置模块的实现172.4.2 显示模块的实现182.4.3复位模块的实现192.4.4紧急处理模块的实现202.5遇到的主要难点222.5.1编程中遇到的难点和解决方法232.5.2不同道路的关系(数据)分析和解决方法233 系统仿真243.1 仿真过程243.2 功能的仿真254 系统测试284.1测试效果284.2测试存在的问题和不足284.3改进/升级余地28结束语29参考文献30致谢311 技术知识1.1 交通灯简介交通灯是指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯,绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。也就是说,绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。1.2交通灯的应用随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不断增加。城市中交通拥挤、堵塞现象日趋严重,由此造成巨大的经济与时间损失。为了保证交通安全,预防交通阻塞,交通灯得到了广泛应用。如今交通灯已经成为人们生活中不可或缺的一部分,是维护交通秩序的重要工具,信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通信号灯是城市交通有序、安全、快速运行的重要保障,而保障交通信号灯正常工作就成了保障交通有条不紊运行的关键。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。通常情况下,交通信号灯控制未考虑紧急车辆通行(例如:消防车执行紧急任务时,两车道都应等待消防车通过)。由于交通信号灯控制系统缺乏有效的应急措施,导致十字路口交通受阻,造成了不必要的经济损失。交通灯是交通安全的关键,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。随着社会的发展,车辆也越来越多了,交通阻塞和拥挤成了一个常见的现象,因此,也成了人们的关注问题之一。1.3 交通灯的发展趋势我国最早的马路红绿灯,是于1928年出现在上海的英租界。随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。随着科学技术的进步,电子科学技术也已日益成熟,它能较好的解决系统中硬软件方面要求的技术难题。为此,单片机AT89C51为中心芯片来设计交通灯控制电路的红绿灯和左右转弯通行。同时,接入LED数码管可以显示倒计时来提醒行驶者,并且用中断处理解决紧急通行问题,使交通灯控制系统更具人性化、智能化。比如:我市的交通灯由以前的园三色灯(如图1-2),发展成了有箭头形的交通灯(如图1-1),BRT交通灯(如图1-1)等等。以下是我采集的一些交通灯图片: 图1-1 箭头形交通灯和包涵BRT交通灯的图图1-2 圆形交通灯和人行道交通灯的图1.4单片机简介单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机经过几代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。1)单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。 (1)SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 (2)MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。 (3)SOC单片机(System On Chip),单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。2)众多的单片机可以从不同角度进行分类。按单片机数据总线的位数分为4位,8位,16位,32位。(1)4位单片机在整个单片机市场中所占的比例逐渐减小,它主要应用各种规模较小的家电类消费产品。(2) 8位单片机是目前世界上品种最为丰富,应用最为广泛的单片机。(3) 16位单片机的操作速度及数据吞吐能力在性能上比6位单片机有较大提高。(4)32位单片机在寻址能力,操作速度,运算能力,开发手段与环境方面大为增强。3)单片机的应用范围十分广泛,主要的应用领域有:(1)工业控制,单片机可以构成各种控制系统,数据采集系统等。(2)仪器表,如智能仪器,医疗器械,数字示波器等。(3)计算机外部设备与智能接口,如传真机,打印机等等单片机在工业控制,智能家电,汽车电子,楼宇自动化,医疗器械方面都有应用,智能仪表、实时工控、通讯设备、导航系统、家用电器常用的有验钞机,门禁系统,电子监控,变频空调等等随处可见 目前有能力进行单片机开发的人员是非常受企业欢迎的;这方面需求量是很大的,单片机是我们生活中不可缺少的,它不断发达。目前计算机硬件技术朝着巨型化,微型化和单片化三个方向发展。单片机代表着计算机技术的一个发展方向,自1975年美国德克萨斯仪器公司第一块单片机芯片TMS-1000问世以来,在短短的30多年间,单片机技术已发展成为计算机技术的一个非常活力的分支,单片机在集成度,功能,性能,体系结构等方面都得到了飞速发展。1.5主要芯片介绍本设计主要用的芯片是AT89C52,下面简要地介绍一下AT89C52。AT89C52单片机的内部结构与MCS-51系列单片机的构成基本相同。CPU是由运算器和控制器所构成的。运算器主要用来对操作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部件,主要任务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允许在线+5V电擦除、电写入或使用编程器对其重复编程。数据存储器比51系列的单片机相比大了许多为256字节RAM。AT89C52单片机的指令系统和引脚功能与MCS-51的完全兼容。AT89C52主要性能参数 8K字节可重擦写Flash闪速存储器 1000次可擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 256×8字节内部RAM 32个可编程I/O口线 3个16位定时/计数器 8个中断源 可编程串行UART通道 低功耗空闲和掉电模式 AT89C52引脚定义,如下图所示: 图1-3 AT89C52引脚图 图1-4 AT89C52芯片 表1-1 AT89C52管脚说明管脚说明VCC供电电压 GND接地P0口P0口是一个8位漏级开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0口端口写“1”时,引脚作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。P1口P1口是一个具有内部上拉电阻的8位是双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲级可驱动吸收或输出电流4个TTL逻辑电平。对P2口写“1”时,通过内部上拉电阻把端口拉高,此时可以作为输入口使用。P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P3口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入端口使用。RST复位输入ALE/PROG地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(PROG)也使用作编程输入脉冲。/PSEN外部程序储存器选通信号(PSEN)是外部程序存储器选通信号。/EA/VPP访问外部程序存储器控制信号。为使能从0000HFFFFH的外部程序存储器读取指令,EA端必须保持低电平(接地)。为了执行内部程序指令,EA应该接VC。XTAL1振荡器反相放大器及内部时钟发生器的输入端XTAL2振荡器反相放大器的输出端1.6单片机开发工具仿真简介本次设计中用了Labcenter electronics公司出版的Proteus7.05.03版本,程序编译时用了Keil Software公司出品的Keil C514.02版本,下载程序用了下载软件STC-ICP-V 4.8版本。1.6.1 Keil 简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。1.6.2 Proteus 简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型有PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil等多种编译器。1.7 交通灯控制系统的内容及意义我利用学过的单片机知识,设计了常见的十字路口和丁字路口交通灯。首先,进行了实际调查,调查了多种路口交通灯,如: 十字路口交通灯、丁字路口交通灯、 BRT交通灯等。由于自己的水平有限,电子器件的缺乏,最终设计并仿真了最常见的十字路口和丁字路口交通灯。实现了功能简单的交通灯控制系统,虽然功能简单,但可以进行设置功能,如果条件允许我会实现功能较全的交通灯控制系统。本设计中的主控芯片是AT89C52,用Proteus进行了仿真,用Keil 来进行了程序编译,用STC-ICP-V 来进行了程序下载。通过设计我进一步了解了交通灯控制系统的原理,经过仿真与分析,对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。2 交通灯控制系统设计2.1 实际调查本设计涉及到多种路口,因此进行了实际调查,调查了多种路口交通灯,如: 十字路口交通灯、丁字路口交通灯、 BRT交通灯。2.1.1 十字路口交通灯的实用情况十字路口交通灯用在两道交叉的“十”上,下图所示为十字路口红绿灯规则的状态图:表2-1 S1状态通行情况方向通行情况BD段直行通过AC段直行禁止BD段人行通过AC段人行禁止BD段左拐禁止AC段左拐禁止 图2-1 S1状态 BD道直行通行首先,直行时间显示数码管显示60。此时BD段绿灯亮、AC段红灯亮40s,BD段人行道绿灯亮,AC段人行道红灯亮,同时BD段和AC段方向的数码管分别从40s和60s开始倒计时。35秒后,BD方向的黄灯闪烁5秒钟,此时AC方向仍维持红灯亮,人行道灯不变。表2-2 S2状态通行情况方向通行情况BD段直行禁止AC段直行禁止BD段人行禁止AC段人行禁止BD段左拐通过AC段左拐禁止 图2-2 S2状态BD道左拐通行40秒后,BD方向左拐灯亮(用无色灯表示),AC方向红灯亮,AC和BD人行道全部红灯亮,同时BD段和AC段方向的数码管分别从19秒开始倒计时。55秒钟后,BD方向的黄灯闪烁5秒,此时AC方向仍维持红灯亮,人行道灯不变。表2-3 S3状态通行情况方向通行情况BD段直行禁止AC段直行通过BD段人行禁止AC段人行通过BD段左拐禁止AC段左拐禁止图2-3 S3态状AC道直行通行1分钟后,AC段绿灯亮、BD段红灯亮40s,AC段人行道绿灯亮,BD段人行道红灯亮,同时BD段和AC段方向的数码管分别从60s和40s开始倒计时。1分35秒后,AC方向的黄灯闪烁5秒钟,此时BD方向仍维持红灯亮,人行道灯不变。 表2-4 S4状态通行情况方向通行情况BD段直行禁止AC段直行禁止BD段人行禁止AC段人行禁止BD段左拐禁止AC段左拐通过 图2-4 S4状态 AC道左拐通行1分40秒后,AC方向4号左拐灯亮(用无色灯表示),BD方向红灯亮,AC和BD人行道全部红灯亮,同时BD段和AC段方向的数码管分别从19秒开始倒计时。1分55秒钟后,AC方向的黄灯闪烁5秒,此时BD方向仍维持红灯亮,人行道灯不变。 共四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一个周期。循环执行如2-5图所示: S1 t=40秒S4 t=20秒S2 t=20秒S3 t=40秒 图2-5 十字路口交通灯状态循环图程序就是在上述四种状态下循环转化的。一个周期四个状态,在正常模式下共花费2分钟。2.1.2 丁字路口交通灯的实用情况下图所示为丁字路口红绿灯规则的状态图:表2-5 S1状态通行情况方向通行情况AC段直行通过B段人行禁止AC段人行通过AB段左拐禁止BC段左拐禁止图2-6 S1状态 AC道直行通行首先,AC段绿灯亮、B段红灯亮40s,AC段人行道绿灯亮,B段人行道红灯亮,同时B段和AC段方向的数码管分别从60s和40s开始倒计时。35秒后,AC方向的黄灯闪烁5秒钟,此时B方向仍维持红灯亮,人行道灯不变。表2-6 S2状态通行情况方向通行情况AC段直行禁止B段人行禁止AC段人行禁止AB段左拐通过BC段左拐禁止图2-7 S2状态 AC道左拐通行40秒后,AC方向左拐灯亮(用无色灯表示),B方向红灯亮,各人行道全部红灯亮,同时B段和AC段方向的数码管分别从19秒开始倒计时。55秒钟后,AC方向的黄灯闪烁5秒,此时B方向仍维持红灯亮,人行道灯不变。表2-7 S3状态通行情况方向通行情况AC段直行禁止B段人行禁止AC段人行禁止AB段左拐通过BC段左拐禁止 图2-8 S3状态 BC道左拐通行1分钟后,B方向左拐灯亮(用无色灯表示),AC方向红灯亮,各人行道全部红灯亮,同时B段和AC段方向的数码管分别从19秒开始倒计时。1分15秒钟后,B方向的黄灯闪烁5秒,此时AC方向仍维持红灯亮,人行道灯不变。共三种状态,分别设定为S1、S2、S3交通灯以这三种状态为一个周期。循环执行如2-9图所示: S1 t=40秒S3 t=20秒S2 t=20秒图 2-9 丁字路口交通灯状态循环图2.1.3 BRT交通灯的实用情况BRT是Bus Rapid Transit 的缩写,中文翻译为"公交车捷运系统"。BRT 是以改良的公共汽车、运用轨道运输的经营方式提供大众捷运服务。因此,对于急速发展,需提供大众运输服务的城市,BRT 是轻轨或地铁之外的另一选择。BRT交通灯到目前为止还没有普遍应用,BRT交通灯的原理与十字路口和丁字路口一样,下面简要地介绍一下BRT交通灯的规则,如果BRT进站时或者在路中有人行道的话,那么就会由交通灯来控制,当状态灯的绿灯亮时,时间为80秒,车辆通行,行人禁止通行。然后黄灯闪烁5秒,状态灯的红灯亮,时间为60秒,车辆禁止通行,行人可以通行,黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 2.2 系统功能设计根据以上的分析,交通灯控制系统必须要保证几个功能,如:两组交通灯的红灯或绿灯不能同时亮;可以设置时间来控制灯亮和灭;可以处理紧急情况等。因此本系统要保证一下功能,如图2-10所示:图2-10 系统功能图1)设置功能:本设计中,可以设置时间长度,由此可以调整灯亮和灭的时间长度。2) 单方通过功能:本系统要保证在同一时间内只允许一方通过,否则会导致交通事故。3)紧急情况处理功能:本系统可以处理特殊情况,比如:领导,灾情.2.3 系统结构本设计主要由设置模块、显示模块、复位模块、紧急处理模块等模块组成。交通灯控制系统可用单片机直接控制信号灯的状态变化,又接入数码管就可以显示倒计时以提醒驾驶者,更具人性化。增加按键中断,可以对紧急事件进行控制。单片机电路主要完成的任务是控制红绿灯的规律转换,数码管倒计时的显示和中断延时控制。系统整体框图如图2-11所示:单片机控制电路输入接口繁忙处理电路路路复位电路软件控制电路lululu路显示电路电源电路 图2-11 系统结构图2.3.1设置模块设计本设计中,可以设置时间,由时间来控制交通灯亮和灭的状态。设置时间要进行进一步分析,在该程序段的基础上,合理的设置时间。2.3.2显示模块设计本设计要用数码管和二极管灯显示,其中数码管显示倒计时情况,二极管显示红绿灯的闪烁情况。1)倒计时显示该系统要求完成倒计时的功能。因只需显示数字,所以完全采用数码管显示,路口分别采用一个二位阴极数码管即可。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。数码管引脚如图2-12所示,显示8时,向数码管引脚接的单片机接口送入7FH,如图2-13所示: 图2-12 数码管引脚图 2-13数码管显示8表2-8 数码管共阴字形码显示字符段段符号dp,gf,e,d,c,b,a共阴代码 0001111113FH 10000011006H 2010110115BH 3010011114FH 40110011066H显示字符符段符号dp,gf,e,d,c,b,a共阴代码 5011011016DH 6011111017DH 70000011107H 8011111117FH 9011011116FH2)状态灯显示 该系统要求完成状态灯显示的功能。求于简单,把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯。发光二极管因其驱动电压低、功耗小、寿命长、可靠性高等优点广泛应用于显示电路中。 发光二极管具有单向导电性,红色和黄色一般开启电压在2V左右,绿色开启电压一般为2.2V,正向电流越大,发光越强。使用时,应特别注意不要超过最大功耗、最大正向电流和反向击穿电压等极限参数。本设计显示模块调用的部分主要程序如下:voidDisplay(void) Delay(2); Time_Show_LED2=1; Time_Show_LED2=0; char h,l; P0=tableh;h=Time_CA/10;l=Time_CA%10; P0=tablel;CA_LED2=1;Delay(2);CA_LED2=0; P0=tableh;CA_LED1=1;Delay(2);CA_LED1=0;h=Time_DB/10;l=Time_DB%10;P0=tablel;DB_LED2=1;Delay(2);DB_LED2=0; P0=tableh;DB_LED1=1;Delay(2);DB_LED1=0;h= CA1/10;l= CA1%10;P0=tablel;Time_Show_LED1=1;Delay(2); Time_Show_LED1=0;P0=tableh; 2.3.3复位模块设计单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。2.3.4紧急处理模块设计紧急情况处理时,我们采用扩展I/O 口方法,在外部中断P32口上扩展三个中断口,分别连接三个按钮。该方案的优点是:使用灵活,并且可提供较多I/O口,节省了AT89C51的中断口资源。本设计中紧急处理模块调用的部分主要程序如下:voidEXINT0(void)interrupt 0 using 1EX0=0; /关中断if(Add_Button=0) /时间加 CA1+=5; DB1+=5; if(CA1>=100) CA1=99; DB1=79;if(Reduces_Button=0) /时间减 CA1-=5; DB1-=5; if(CA1<=40) CA1=40; DB1=20;if(Nomor_Button=0)/测试按键是否按下,按下为正常状态 CA1=60; DB1=40; CAL1=19;DBL1=19;Busy_LED=0;/关繁忙信号灯Special_LED =0;/关特殊信号灯if(Busy_Btton=0)/测试按键是否按下,按下为繁忙状态 CA1=45; DB1=30;CAL1=14;DBL1=14;Special_LED=0;/关特殊信号灯Busy_LED=1;/开繁忙信号灯if(Special_Btton=0)/测试按键是否按下,按下为特殊状态 CA1=75; DB1=55;CAL1=19;DBL1=19;Busy_LED=0;/关繁忙信号灯Special_LED =1;/开特殊信号灯 EX0=1;/开中断2.4模块实现本设计由四个模块组成。下面是各模块的实现情况。2.4.1 设置模块的实现本设计中我们设置时间长度,由此设置时间长度来调整灯亮和灭的时间长度。利用定时器中断设置, TH0=TH1,(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒=1秒时,使时间的计数值减1,便实现了倒计时的功能。黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒=0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。40S 5S 60S 5S AC道 红灯亮 黄灯亮 绿灯亮 黄灯亮 BD道 绿灯亮 黄灯亮 红灯亮 黄灯亮 2.4.2 显示模块的实现本设计中显示模块实现要以数码管和发光二极管实现。1)以下是发光二极管红灯亮时的图,此时车辆禁止通行。图2-14 发光二极管红灯亮时的图2)以下是发光二极管绿灯亮时的图,此时车辆允许通行。图2-15 发二极管绿灯亮时的图3)以下是发光二极管黄灯闪烁时的图,此时提醒人们状态灯即将要切换。图2-16 发光二极管黄灯亮时的图4)以下是人行道状态指示灯,绿灯亮时允许行人通过。 图2-17 人行道绿灯亮时的图5)以下是人行道状态指示灯,红灯亮时禁止行人通过。图2-18 人行道红灯灯亮时的图2.4.3复位模块的实现复位模块中,无论交通灯状态处于哪一种状态,如图2-19所示,都会返回初始状态,如图2-20所示: S1 t=40秒S4 t=20秒S2 t=20秒S3 t=40秒 S1 t=40秒S3 t=20秒S2 t=20秒 图2-19 正常模式下 (禁止通行10秒) 初始状态 S1任何状态 图2- 20 复位图 2.4.4紧急处理模块的实现设计中,按下“繁忙”、“特殊”按钮时直行显示分别为45和75。由按钮来改变时间,以此处理繁忙等紧急情况。繁忙情况处理电路图如图2-21所示:图2-21 繁忙情况处理电路繁忙模式:繁忙指示灯亮,直行段的通行时间改为45s,其中左拐的时间改为15s,其它与正常模式类似。特殊模式:特殊模式灯亮,直行段的通行时间改为75s,其中左拐的时间改为20s,其它与正常模式类似。程序设计流程图:YYYYYYNNNNNNNNY 图 2-22 程序流程图(十字路口)本设计中主程序如下:voidmain(void)Busy_LED=0;Special_LED=0;IT0=1;/INT0负跳变触发TMOD=0x01;/定时器工作于方式1TH0=(65536-50000)/256;/定时器赋初值TL0=(65536-50000)%256;EA=1; /CPU开中断总允许ET0=1;/开定时中断EX0=1;/开外部INTO中断TR0=1;/启动定时while(1)/*S0状态*/CA_ManGreen=0;/CA人行道禁止DB_ManGreen=1;/DB人行道通行Flag_CA_Yellow=0; /CA关黄灯显示信号Time_CA=CA;Time_DB=DB;while(Time_DB>=5)P1=S0; /DB通行,CA红灯Display();/*S1状态*/P1=0x00;while(Time_DB>=0)Flag_DB_Yellow=1; /DB开黄灯信号位CA_Red=1; /DB黄灯亮,等待左拐信号,CA红灯Display();/*S2状态*/Flag_DB_Yellow=0; /DB关黄灯显示信号Time_DB=DBL;while(Time_DB>=5)P1=S2;/DB左拐绿灯亮,CA红灯Display();/*S3状态*/P1=0x00;while(Time_DB>=0)Flag_DB_Yellow=1;/DB开黄灯信号位CA_Red=1; /DB黄灯亮,等待停止信号,CA红灯Display();/*赋值*/CA=CA1;DB=DB1;CAL=CAL1;DBL=DBL1;/*S4状态*/CA_ManGreen=CA_ManGreen;/CA人行道通行DB_ManGreen=DB_ManGreen;/DB人行道禁止Flag_DB_Yellow=0; /DB关黄灯显示信号Time_CA=DB;Time_DB=CA;while(Time_CA>=5)P1=S4; /CA通行,DB红灯Display();/*S5状态*/P1=0X00;while(Time_CA>=0)Flag_CA_Yellow=1;/CA开黄灯信号位DB_Red=1;/CA黄灯亮,等待左拐信号,DB红灯Display();/*S6状态*/Flag_CA_Yellow=0; /CA关黄灯显示信号Time_CA=CAL;while(Time_CA>=5)P1=S6;/CA左拐绿灯亮,DB红灯Display();/*S7状态*/P1=0X00;while(Time_CA>=0)Flag_CA_Yellow=1; /EN开黄灯信号位DB_Red=1;/CA黄灯亮,等待停止信号,DB红灯Display();/*赋值*/CA=CA1;DB=DB1;CAL=CAL1;DBL=DBL1;2.5遇到的主要难点由于自己以前很多东西学得不太透彻,电路基础也不太好,再加上学的东西很死板,也很僵硬,根本不能够运与实践之中,因此,在设计过程中我也遇到了困难。2.5.1编程中遇到的难点和解决方法因为自己对编程不熟练,在编程着方面遇到了困难,在请教老师与同学,还有就是在课余实间上网收集资料等等不断的积累,在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后的历程打下了良好的基础。2.5.2不同道路的关系(数据)分析和解决方法因为实

    注意事项

    本文(【毕业设计】基于单片机的多种路口交通灯控制器的设计与实现-个人分享.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开