已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建师范大学闽南科技学院课程设计论文 题目:汽车尾灯控制电路 系 名: 专 业: 年 级: _ 学 号: 姓 名: 指导教师: 2013年10月13日基于AT89C51单片机的汽车尾灯控制电路摘要: 汽车是我们的生活中不可缺少部分,而汽车尾灯是汽车的主要部分,正是有了它才是我们的交通得以正常进行。本课题设计了一种利用AT89C51单片机对汽车尾灯工作状态进行控制和模拟的控制器系统。为了实现系统的控制功能,本课题采用C语言编程,文中详细介绍了软件设计流程图及其实现的方法。之后,将软件系统与硬件电路结合调试,实现了左转弯、右转弯、刹车及停车四种常用的汽车尾灯状态。关键字:AT89C51 C语言编程 设计程序 汽车尾灯ABSTRACT: Car is our life indispensable part, and automobile tail light is the main part of the car, it is because it is our traffic to normal. This topic was designed using a single chip microcomputer AT89C51 for automobile tail light work state control and simulation controller system. In order to realize the system control function, this subject adopts C language programming, this paper introduces in detail the software design flow chart and its realization method. After that, the software system and hardware circuit with debugging, realize the turn left, turn right, brake and stop four commonly used automobile tail light condition. keywords : AT89C51 C language programming Design program Automobile tail light 一、单片机设计任务与要求1.1课题研究的意义 1.可以让学生更好的掌握和加深对基础知识的运用和理解,学习如何设计中小型系统,并且独立的完成调试过程,增强学生理论与实际结合的能力,提高学生电路设计和分析的能力。 2. 通过课题研究引导学生在理论指导下有所创新,为后日后工作实践奠定结实的基础。1.2设计任务和内容要求(1)基本功能描述 本课题用6只发光二极管模拟6只汽车尾灯,左、右各三只,用四个开关分别模拟刹车信号K、停车信号K、左转弯信号K和右转弯信号K。 1.正常情况下,汽车左(或右)转弯时,该侧的三只尾灯按图1.1所示的周期亮、暗,状态转换时间为1秒,直至断开该转向开关。 2.无制动时(无刹车,K=“0”),如司机不慎将两个转向开关接通,则两侧尾灯都作同样的周期变化,示意图同图1.1。3.在刹车制动时(K“1”),所有6只尾灯同时亮。 4.停车时(K=“1”),6只尾灯均按1Hz频率闪亮直到K“0”为止。 图1.3.1汽车尾灯亮、暗示意图。(2) 设计要求 完成电路的设计方案、电路设计的原理和接线图、考虑电路的焊接,调试与仿真。二、 基于AT89C51的汽车尾灯控制系统的设计方案2.1电路设计的方案分析2.1.1方案的选择方案一: 采用VerilogHDL硬件描述语言来实现汽车尾灯的控制电路设计。程序设计的思想为:对输入信号采用四种状态进行优先编码来实现A1、A0的组合,由时钟触发环形计数器进行环形计数,输出中间状态Q2、Q1、Q0,再通过组合逻辑电路来输出结果状态。方案二: 此设计采用74ls138译码器实现对尾灯的循环控制,通过改变输入地址码来实现对尾灯的控制,再配合与非门实现对刹车和停车时尾灯的闪烁情况控制,其中闪烁控制的CP脉冲由555定时器设计来完成,而转弯时尾灯的循环点亮,采用设计一个三进制计算器作为3-8译码器的地址输入端来实现的。 方案三: 直接采用AT89C51单片机来控制LED的亮与灭,实现汽车尾灯控制电路设计。 2.1.2方案分析和确定 在比较模拟方案时发现,方案一对于VerilogHDL硬件描述语言,学习起来比较难,不容易上手。方案二可能存在竞争冒险,这将会使尾灯在闪烁时出现极其不自然的中间过程。之所以选择方案三,是因为单片机编写程序比较直接,用硬件电路搭建比较方便。这样可以简化系统的结构,降低材料成本,提高系统的可靠性。并且现在单片机技术普及,加上用单片机实现起来方便也很简单,用单片机来实现电路的设计,无须外接其他芯片,充分利用了单片机的资源,而且很适合初学者。 22主要元器件的介绍2.2.1 AT89C51芯片简介AT89C51是一个低电压,低功耗,高性能CMOS 8位微处理器,片包含了4K字节闪烁可编程可擦除的只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory),俗称单片机。该器件采用ATMEL公司的高密度、非易失存储器制造技术制造的,与标准的MCS-51指令系统和输出管脚相兼容。由于将通用8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51可以为很多嵌入式控制系统提供一种灵活性高而且价廉的方案。AT89C51外形及引脚排列如图1.2所示:图2.2.1 AT89C51外形及引脚排列2.2.2 主要功能特性:201 兼容MCS-51指令系统 2 4K字节可编程FLASH存储器 3 寿命:1000写/擦循环 4 数据保留时间:10年5 32个可编程双向I/O口 6 4.5-5.5V工作电压 7 可编程串行通道8 低功耗空闲和省电模式 9 三级程序存储器锁定 10 片内振荡器和时钟电路 11 2个16位可编程定时/计数器 12 128x8bit内部RAM 13 两个16位定时器/计数器 14 5个中断源2.2.3 特性概述:AT89C51提供以下的标准功能:4k bit Flash 闪速存储器,128 bit内部RAM,32 个双向I/O 口,2个16位定时/计数器,一个5向量两级的中断结构,一个全双工的串行通信口,片内振荡器和时钟电路。且,AT89C51是可降至0Hz静态逻辑操作的,并且可以支持两种软件的可选节电工作模式。空闲方式为停止CPU的工作,但允许RAM定时/计数器,串行通信口及中断系统的继续工作。掉电时保存RAM中的内容,振荡器停止工作时并禁止其它所有部件的工作直到下一个硬件的复位。2.2.4 管脚说明:VCC:AT89C51电源正端输入,接+5V。GND:接地。P0口:P0口是一个8位双向I/O口,每管脚可吸收8TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。P0可以用于外部程序数据存储器,它被定义为数据/地址的低8 位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,而此时P0的外部必须接上拉电阻。P1口:P1口是一个8位双向I/O口,它是内部提供上拉电阻的。P1口的缓冲器能接收输出4TTL门电流。P1口的管脚写入“1”后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低8位的地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口的缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,它的管脚被内部上拉电阻拉高,并且作为输入。因此它作为输入时,P2口的管脚被外部拉低,将输出电流。这是因为内部上拉的缘故。P2口用于外部程序存储器或者16位地址外部数据存储器,进行存取数据时,P2口输出地址的高8位。在给出地址“1”时,它利用内部上拉优势,当对外部8 位地址数据存储器进行读写时,P2口输出它特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高8位地址信号以及控制信号。P3口:P3口的管脚是8个带内部上拉电阻的双向可编程I/O口,可接收输出的4个TTL门电流。当P3口写“1”后,它被内部上拉为高电平,并且用于输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是因为上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD,串行输入口。P3.1 TXD,串行输出口。P3.2 /INT0,外部中断0。P3.3 /INT1, 外部中断1。P3.4 T0,记时器0的外部输入。P3.5 T1,记时器1的外部输入。P3.6 /WR,外部数据存储器写选通。P3.7 /RD,外部数据存储器读选通。P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,需要保持RST脚 两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存器允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,该引脚用于输入编程脉冲。而在平时,ALE端以不变地频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用于对外部输出的脉冲或用作定时目的。但是值得注意的是:每当用于外部数据存储器时,将会跳过一个ALE脉冲。如果想禁止ALE的输出,可在SFR8EH地址上置“0”。而此时,ALE只有在执行MOVX、MOVC指令时ALE才会起作用。另外,此引脚被略微拉高。如cpu在外部执行状态,ALE禁止时,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令的期间,每个机器周期两次/PSEN有效。但是在访问外部数据存储器时,这两次有效的/PSEN信号将不会出现。/EA/VPP:当/EA端保持为低电平时,在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当加密方式为“1”时,/EA将会内部锁定为RESET;当/EA端保持为高电平时,在此期间内部程序存储器,在FLASH编程时,此引脚用于施加12V的编程电源(VPP)。XTAL1:反向振荡放大器的输入以及内部时钟工作电路的输入。XTAL2:反向振荡器的输出。2.2.5 振荡器特性:XTAL1和XTAL2分别是反向放大器的输入和输出。此反向放大器能够配置为片内振荡器。石晶振荡和陶瓷振荡都可以采用。如果采用外部时钟源驱动器,XTAL2不接收。有其他输入到内部时钟信号要通过一个二分频触发器来实现,因此虽然对外部时钟信号的脉冲宽度无任何要求,但必须保证是脉冲的高低电平要求的宽度。123 方案的规划和具体设计系统设计的框架图方案的确定(单片机)PROTEUS软件的仿真测试KELL软件的编程元器件选择和电路板焊接调试与解决问题图2.3.1 框架图2 24硬件电路设计和工作原理 这个系统硬件主要包括以下的三大模块:AT89S51单片机系统、LED灯阵、逻辑开关控制器,从而形成了信号的控制器、识别电路和发光电路这三个模块。其中单片机系统作为中央处理单元,根据逻辑开关控制器来检测到驾驶员所执行开关控制信号,获得相应的信号进行传输,使单片机系统收到对应的指令,从而使LED灯阵发出相应的指示。系统总体设计方案如图2.4.1所示。 图2.4.1系统总体设计3 其中:1 逻辑开关控制器由4个开关组成,分别是右转弯控制、左转弯控制、刹车、停车。2 单片机系统是40个引脚的AT89C51芯片,其中所用到的引脚有14个。3 灯阵自左向右分别为D1D2D3D4D5D6,其中灯阵D1D2D3代表左侧的3个指示灯,D4D5D6代表右侧的3个指示灯。本次设计的汽车尾灯控系统中的控制功能包括左、右转弯控制、停车、图2.4.2 系统控制电路原理图刹车,主要是为了模拟实际汽车尾灯控制电路,从而达到高可靠性、普遍性强、实用性好等特点,该研究方案,硬件电路简单,可以广泛的应用在各种车辆上。系统电路图如图1.4所示。此系统的工作原理是:用6只LED小灯泡模拟6只汽车尾灯,左侧3只,右侧3只。用4个开关分别模拟刹车信号K、停车信号K、左转弯信号K和右转弯信号K。汽车在转弯时,单片机收到信号并对其进行处理,该侧的3只尾灯按下面状态周期性的亮、暗。000100110111000(0为暗,1为亮)。在无制动时,如果驾驶员不慎将两个转向开关都接通,则两侧的尾灯都作同样的周期性亮暗变化。在刹车制动时(K“1” ),所有6只尾灯同时亮。停车时(K=“1” ),6只尾灯均按1Hz频率闪亮直到K“0” 为止。(注:D1D2D3分别L1L2L3,D4D5D6分别为R1R2R3)。25软件设计2.5.1系统程序代码:#include#define uint unsigned int#define uchar unsigned char /按键接口/sbit k1=P10; /刹车信号sbit kz=P11; /左转信号sbit ky=P12; /右转信号sbit k2=P13; /停车信号/左边led接口/sbit z3=P25; /左1sbit z2=P24; /左2sbit z1=P23; /左3/右边led接口/sbit y1=P22; /右1sbit y2=P21; /有2sbit y3=P20; /右3bit flag=0; /开始循环标志位uchar num,miao;void delay(uint ms) /ms级延时函数uchar j;for(ms;ms0;ms-)for(j=110;j0;j-);void kong_zhi() /信号控制函数if(k1=0) /刹车信号delay(10); /消抖if(k1=0)z1=z2=z3=y1=y2=y3=0; /刹车所有6只尾灯同时亮while(!k1); /刹车松开检测z1=z2=z3=y1=y2=y3=1; /刹车松开所有6只尾灯同时灭if(k2=0) /停止信号delay(10); /消抖TR0=1; /开启定时器num=0;while(!k2) /停止松开检测 /500ms的亮灭信号既是1HZif(num10)z1=z2=z3=y1=y2=y3=1; /停止所有6只尾灯同时灭z1=z2=z3=y1=y2=y3=1; /停止松开所有6只尾灯同时灭TR0=0; /关闭定时器if(kz=0) /左转delay(10);TR0=1; /开启定时器num=0;miao=0;while(!kz)if(ky=0)z1=z2=z3=1;while(!ky)if(miao=0)y1=z1=0; /1sif(miao=1)y1=z1=y2=z2=0; /1sif(miao=2)y1=z1=y2=z2=y3=z3=0; /1sif(miao=3)y1=z1=y2=z2=y3=z3=1; /1sif(miao=0)z1=0; /1sif(miao=1)z1=z2=0; /1sif(miao=2)z1=z2=z3=0; /1sif(miao=3)z1=z2=z3=1; /1sz1=z2=z3=1; /停止松开所有尾灯同时灭TR0=0; /关闭定时器if(ky=0) /右转delay(10);TR0=1; /开启定时器num=0;miao=0;while(!ky)if(kz=0)y1=y2=y3=1;while(!ky)if(miao=0)y1=z1=0;/1sif(miao=1)y1=z1=y2=z2=0;/1sif(miao=2)y1=z1=y2=z2=y3=z3=0;/1sif(miao=3)y1=z1=y2=z2=y3=z3=1;/1sif(miao=0)y1=0;/1sif(miao=1)y1=y2=0;/1sif(miao=2)y1=y2=y3=0;/1sif(miao=3)y1=y2=y3=1;/1sy1=y2=y3=1; /停止松开所有尾灯同时灭TR0=0; /关闭定时器void main() /主函数TH0=(65536-50000)/256; /设置初值TL0=(65536-50000)%256;TMOD=0x01; /设置定时器模式EA=1; /开启总中断ET0=1; /开启定时器中断TR0=0; /关闭定时器while(1)kong_zhi(); /信号控制函数void T0_init() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;num+;if(num=20)num=0;miao+;if(miao=4)miao=0;如图: 图2.5.1尾灯循环规律显示图根据以上要求,要实现左、右转弯依次三个显示灯循环亮灭,如图1.5所示。252仿真(1) 仿真使用软件简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,其中该软件中国的总代理商是广州风标电子技术有限公司。Proteus是世界上最著名的EDA工具软件,从原理图的布图、代码的调试到单片机和外围电路的协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件与虚拟模型仿真软件三合一的设计平台, 它不仅仅具有其它EDA工具软件的仿真功能,还可以仿真单片机和其外围器件。虽然现在国内推广刚刚起步,但是已受到单片机开发应用的科技工作者、从事单片机教学的教师、单片机爱好者的青睐。4 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真。 其革命性的特点:1互动的电路仿真,用户甚至可以实时采用诸如键盘,RAM,马达,ROM,AD/DA,LED,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路,可以仿真 PIC、AVR、ARM、51系列等常用的主流单片机。3.它还可以直接的在基于原理图的虚拟原型上面编程,再配合显示以及输出,可以看到运行后输入 输出的效果。在配合系统所配置的示波器、虚拟逻辑分析仪等等,Proteus建立起了完备的电子设计开发环境。5 (2)仿真效果如下例的图 图2.5.1 系统仿真图 图 2.5.2 按下刹车时的仿真图 图2.5.3 图 2.5.4 图2.5.4 图2.5.3、2.5.4、2.5.5 按下左转时的仿真图 图2.5.6 图2.5.7 图2.5.8 图2.5.6、2.5.7、2.5.8 按下右转时的仿真图 图2.5.9 图2.5.10 图 2.5.9、2.5.10 按下停车时的仿真图三、实验总结和收获 本次课题设计是通过查阅各种资料和同学、老师一起讨论,并且经过反复、多次修改仿真调试后得出的结果。在设计过程中用到了以前学到的知识和设计方法。并且更加进一步加深了对所学知识的掌握。而本课题研究的是汽车尾灯控制系统,其可以减少交通事故的发生隐患以及提高尾灯电路的使用寿命。系统设计的方法通过实验仿真与调试证明了系统的可行性。将软件系统与硬件电路结合调试,实现了左转、右转、停车和刹车四种常用的汽车尾灯状态。此尾灯控制系统的结构简单、操作方便、成本低、可靠性高,可广泛的应用于常用机动。 通过对本次汽车尾灯控制电路的设计,使我学了许多知识。汽车尾灯是汽车的重要组成部件之一,它在交通中扮演着重要的角色,它对于交通安全有着不可替代的作用。通过本次设计的过程,我了解和掌握了逻辑电路的基本设计和分析。 通过本次课程设计,我学会了AT89C51单片机程序的流程;学会了如何通过对它内部进行操作,来控制LED的循环点亮尾灯。且在这个毕业设计中学会这款单片机的汽车尾灯控制电路的设计。通过这个设计加强了我的思考和解决问题的能力,提高了我的动手操作能力,在课题设计的过程中常常会感觉力不从心,从开始做课程设计的那天开始,脑中天天想着同样的一些问题,怎样才可以将电路弄得更简单些,怎么样可以使别人更加容易看得懂,在课程设计的期间,虽然要去找工作,但我也有去图书馆找资料,学习相关的理论知识,虽辛苦但也是值得。该设计中基本实现了,汽车在运行时候尾灯的各种情况。虽然时间不是很充足,但现在这个设计已经做好了,自己的感觉还是比较好。做课题设计的时候,查阅了大量的相关资料,增强了自己对知识的理解,其中很多以前不是很懂的问题现在都解决了,感觉小有成就感。四、设计中遇到的问题和不足做完这个课题设计后,发现还是有许多地方存在不足,如知道了AT89C51单片机在装入时有方向性、焊接时需格外的小心、需要接上拉电阻、按键要选择好等。在经过后期的努力,我已经改善许多,尾灯控制电路已经可以正常工作。并且此方案相比其他方案具有很多直观的优点,用单片机编程比较直接,用硬件电路搭建很方便,通过对AT89C51单片机的编写程序,来控制LED的亮、灭,这样可降低材料的成本、简化系统的结构、提高系统的可靠性以及先进性,能够实现控制器的系统编程。此外,单片机实现起来很容易,假如通过其他的元件,比如用与非门、三极管、译码器等来实现,这样的方案不仅实现起来复杂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论