您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于单片机的汽车尾灯控制器设计
目录1.绪论................................................................................................12.设计方案.......................................................................................12.1.基本功能描述....................................................................12.2.方案分析............................................................................22.2.1方案的选择............................................................22.2.2方案分析和确定....................................................22.2.3设计方案结构图....................................................33.硬件设计.......................................................................................33.1.AT89C51单片机的结构及功能.........................................33.2汽车尾灯控制电路..............................................................84.软件设计.......................................................................................94.1软件流程..............................................................................94.2源代码................................................................................115.实验与仿真.................................................................................135.1KeilC51µVision2介绍.................................................145.2ProteusProfessional7.5介绍...................................145.3仿真效果............................................................................156.结论................................................................................................19参考文献...........................................................................................2011.绪论随着汽车数量的大量增加,交通安全问题也越来越严峻。据相关部门统计表明,大量事故都是发生在道路的转弯处或是因为前面的汽车突然刹车而后面的车辆没有及时注意后发生的,因此汽车尾灯作为一种警示灯,它的重要性就体现出来了。而汽车尾灯故障率在汽车行驶过程中是很高的,汽车尾灯故障时,不能正确反应驾驶员的行车意识且给安全行车留下了事故隐患。伴随着汽车工业的发展,汽车灯光控制电路的发展已经非常的成熟,目前,汽车灯光控制系统发展充分利用了现代科技的发展成果。采用纯硬件、PLC电气控制技术设计的汽车灯光控制电路已经得到大量应用。传统的采用纯硬件设计的电路正逐渐向着软硬结合的方向发展,也将随时应用最新的科学技术。单片机的发展正朝着低功耗、高性能、低价格和外围电路内装化的方向发展。因此,采用单片机设计的汽车灯光控制电路,应用软件来实现庞大的控制功能,而且通过外围电路的扩展还能实现更多的附加功能。这种控制电路不仅体积小、成本低,而且也更加智能,可以随时修改整个控制功能,非常适合现代汽车工业的发展潮流。总之,使着汽车灯光控制电路向着更加可靠,功能更加庞大、智能的方向发展[1]。本文所研究和开发的课题是基于at89c51汽车尾灯控制器的电路设计,在该系统中,通过6个LED来模拟汽车尾灯的基本工作状况,汽车尾灯控制系统的研究不仅使汽车的先进性、美观性有了很大的提高,更加重要的是降低了交通事故发生的可能性。2.设计方案2.1.基本功能描述本课题用6只发光二极管模拟6只汽车尾灯,左、右各三只,用四个开关分别模拟刹车信号:K1、停车信号K2、左转弯信号KL和右转弯信号KR。(1)正常情况下,汽车左(或右)转弯时,该侧的三只尾灯按图1所示的周期亮、暗,状态转换时间为1秒,直至断开该转向开关。(2)无制动时(无刹车,K1=“0”),如司机不慎将两个转向开关接通,则两2侧尾灯都作同样的周期变化,示意图同图1。(3)在刹车制动时(K1=“1”),所有6只尾灯同时亮。(4)停车时(K2=“1”),6只尾灯均按1Hz频率闪亮直到K2=“0”为止。图1汽车尾灯亮、暗示意图2.2方案分析2.2.1方案的选择方案一:采用VerilogHDL硬件描述语言来实现汽车尾灯的控制电路设计。程序设计的思想为:对输入信号采用四种状态进行优先编码来实现A1、A0的组合,由时钟触发环形计数器进行环形计数,输出中间状态Q2、Q1、Q0,再通过组合逻辑电路来输出结果状态。方案二:此设计采用74ls138译码器实现对尾灯的循环控制,通过改变输入地址码来实现对尾灯的控制,再配合与非门实现对刹车和停车时尾灯的闪烁情况控制,其中闪烁控制的CP脉冲由555定时器设计来完成,而转弯时尾灯的循环点亮,采用设计一个三进制计算器作为3-8译码器的地址输入端来实现的。方案三:直接采用AT89C51单片机来控制LED的亮与灭,实现汽车尾灯控制电路设计。2.2.2方案分析和确定在比较模拟方案时发现,方案一对于VerilogHDL硬件描述语言,学习起来3比较难,不容易上手。方案二可能存在竞争冒险,这将会使尾灯在闪烁时出现极其不自然的中间过程。之所以选择方案三,是因为单片机编写程序比较直接,用硬件电路搭建比较方便。这样可以简化系统的结构,降低材料成本,提高系统的可靠性。并且现在单片机技术普及,加上用单片机实现起来方便也很简单,用单片机来实现电路的设计,无须外接其他芯片,充分利用了单片机的资源,而且很适合初学者。2.2.3设计方案结构图图2框架图3.硬件设计3.1.AT89C51单片机的结构及功能(1)AT89C51的结构及引脚AT89C51就是一个微型计算机,AT89C51单片机主要由运算器、控制器、方案的确定(单片机)PROTEUS软件的仿真KELL软件的编程编程元器件选择和电路板焊调试与解决问4存储器(ROM及RAM)和I/O接口组成。它的内部结构图如3所示。图3AT89C51单片机芯片内部结构运算器包括一个可进行8位算术运算和逻辑运算的单元ALU,8位的暂存器1(TMP1)、暂存器2(TMP2),8位累加器ACC,寄存器B和程序状态寄存器PSW等。控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。AT89C51片内有FlashROM(程序存储器,只能读)和RAM(数据存储器,可读可写)两类,他们各自有独立的存储地址空间,与一般的存储器配置方式很不同。AT89C51单片机有4个与外部交换信息的8位并行接口,即P0-P3。他们都是准双向口,每个端口各有8条I/O线,均可作输入/输出。P0-P3口4个锁存器同RAM统一编址,可以把I/O口当做一般特殊功能寄存器(SFR)来寻址。5图4AT89C51的引脚如图4所示是一个双列直插封装(DIP)方式的AT89C51单片机,它共有40个引脚。其中很多引脚具有第二功能,使用时要加以注意。(2)AT89C51的主要性能AT89C51是一种4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。它为很多嵌入式控制系统提供了一种灵活性高且价廉的解决方案。AT89C51主要特性如下所述。·与MCS-51兼容,一个8位的80C51微处理器(CPU);·片内256字节数据存储器RAM/SFR,用于存放可以读/写的数据;·片内4K字节可编程闪烁存储器,用于存放程序、一些原始数据和表格;·寿命:1000写/擦循环;·数据保留时间:10年;·全静态工作:0-24MHz;·三级程序存储器锁定;·4个8位并行可编程I/O口P0-P3,每个口既可作输入又可作输出;·两个16位定时器/计数器,每个定时器/计数器可设置成计数方式,用以对外部事件计数,也可设置成定时方式,根据定时结果实现单片机控制;·5个中断源、两个中断优先级;6·一个全双工UART(通用异步发送接收器)的串行I/O口,用于实现单片机之间或单片机与计算机之间串行通信;·具有低功耗的闲置模式和掉电模式;·片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHz[2]。(3)AT89C51的管脚功能VCC(40脚):电源端,为+5V。GND(20脚):接地端。P0口(P0.0-P0.7,39-32脚):P0口为一个8位漏级开路准双向I/O口,每脚可吸收8个TTL门电流。当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。做输入口使用时先写1,这就是准双向的含义。在CPU访问片外存储器(AT89C51片外EPROM或RAM)时,P0口分时提供8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。在FlashROM编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节、验证时,要求外接上拉电阻。P1口(P1.0-P1.7,1-8脚):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高电位,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASHROM编程和校验时,P1口接收低8位地址。P2口(P2.0-P2.7,21-28脚):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,可作为输入。作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高8位地址信号和控制信号。P3口(P3.0-P3.7,10-17脚):P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流
本文标题:基于单片机的汽车尾灯控制器设计
链接地址:https://www.777doc.com/doc-6468643 .html