单片机汽车尾灯模拟设计_第1页
单片机汽车尾灯模拟设计_第2页
单片机汽车尾灯模拟设计_第3页
单片机汽车尾灯模拟设计_第4页
单片机汽车尾灯模拟设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州科技学院单片机原理及应用课程设计 目 录0 引言21设计方案32 系统设计62.1 硬件原理62.2 软件流程133 实验与仿真154 结论15参考文献19附录1: 原理图20附录2: 源代码210 引言近年来,随着电子产品的发展,随着社会竞争的激烈,人们对数字时钟的要求越来越高。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。另外单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用

2、单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。随着科技的不断发展,社会的不断进步,人们越来越离不开汽车,汽车不仅仅是一种代步工具,还是一种社会生活水平和身份的象征。但是,随着汽车数量的不断增加,汽车在带给我们方便的同时也带来了大量的交通事故。因此,道路安全就越来越发引起人们的关注。据相关部门统计表明,大量事故都是发生在道路的转弯处或是因为前面的汽车突然刹车而后面的车辆没有及时注意后发生的,因此汽车尾灯作为一种警示灯,它的重要性就体现出来了。因此仅仅依靠汽车本身的结构因素很难保证汽车的行车安全,因而必须对车辆的主要安全部位,进行定期的检查,并按

3、一定的技术标准对它们的状况加以检查、考核,并且取得各项准确的数据,科学定量地判断车辆安全装置的状况,给出合适的评价。而汽车尾灯故障率在汽车行驶过程中是很高的,汽车尾灯故障时,不能正确反应驾驶员的行车意识且给安全行车留下了事故隐患。 老式汽车尾灯通常是基于传统的机械和纯电路的控制方式,其正常工作完全取决于尾灯系统所采用的硬件来保证的,一旦电路的老化或者因接触问题和机械元件的变形将不能及时触发电源开关,导致电路出现故障,这种问题经常发生,除了选用更好的硬件系统和元件外,几乎没有别的方法来避免这类故障的发生,而随着科技的发展,越来越多的电子产品得到了飞速的发展。许多电器设备越来越趋于智能化、人性化,

4、这些电器设备几乎含有CPU控制器或单片机。而单片机以其可靠性高、性价比高、低电压、低功耗等一系列优点得到飞速的发展和大范围推广,因此选用智能型的元件来进行系统的设计,增加系统的稳定性和可控制性是非常必要且有重要意义的。本文所研究和开发的课题是基于at89c51汽车尾灯控制器的电路设计,在该系统中,通过6个LED来模拟汽车尾灯的基本工作状况,汽车尾灯控制系统的研究不仅使汽车的先进性、美观性有了很大的提高,更加重要的是降低了交通事故发生的可能性。1设计方案(1)基本功能描述 本课题用6只发光二极管模拟6只汽车尾灯,左、右各三只,用四个开关分别模拟刹车信号:K、停车信号K、左转弯信号K和右转弯信号K

5、。.正常情况下,汽车左(或右)转弯时,该侧的三只尾灯按图1.1所示的周期亮、暗,状态转换时间为1秒,直至断开该转向开关。无制动时(无刹车,K=“0”),如司机不慎将两个转向开关接通,则两侧尾灯都作同样的周期变化,示意图同图1.1。在刹车制动时(K“1”),所有6只尾灯同时亮。停车时(K=“1”),6只尾灯均按1Hz频率闪亮直到K“0”为止。 图1-1 汽车尾灯亮、暗示意图(1)可以让学生更好的掌握和加深对基础知识的运用和理解,学习如何设计中小型系统,并且独立的完成调试过程,增强学生理论与实际结合的能力,提高学生电路设计和分析的能力。 (2)通过课题研究引导学生在理论指导下有所创新,为后日后工作

6、实践奠定结实的基础。方案一: 采用VerilogHDL硬件描述语言来实现汽车尾灯的控制电路设计。程序设计的思想为:对输入信号采用四种状态进行优先编码来实现A1、A0的组合,由时钟触发环形计数器进行环形计数,输出中间状态Q2、Q1、Q0,再通过组合逻辑电路来输出结果状态。方案二: 此设计采用74ls138译码器实现对尾灯的循环控制,通过改变输入地址码来实现对尾灯的控制,再配合与非门实现对刹车和停车时尾灯的闪烁情况控制,其中闪烁控制的CP脉冲由555定时器设计来完成,而转弯时尾灯的循环点亮,采用设计一个三进制计算器作为3-8译码器的地址输入端来实现的。 方案三: 直接采用AT89C51单片机来控制

7、LED的亮与灭,实现汽车尾灯控制电路设计。 在比较模拟方案时发现,方案一对于VerilogHDL硬件描述语言,学习起来比较难,不容易上手。方案二可能存在竞争冒险,这将会使尾灯在闪烁时出现极其不自然的中间过程。之所以选择方案三,是因为单片机编写程序比较直接,用硬件电路搭建比较方便。这样可以简化系统的结构,降低材料成本,提高系统的可靠性。并且现在单片机技术普及,加上用单片机实现起来方便也很简单,用单片机来实现电路的设计,无须外接其他芯片,充分利用了单片机的资源,而且很适合初学者。 方案的确定(单片机)PROTEUS软件的仿真测试KELL软件的编程元器件选择和电路板焊接调试与解决问题图1-2 系统设

8、计的框架图2 系统设计2.1 硬件原理AT89C51是一个低电压,低功耗,高性能CMOS 8位微处理器,片包含了4K字节闪烁可编程可擦除的只读存储器(FPEROMFalsh )Programmable and Erasable Read Only Memory),俗称单片机。该器件采用ATMEL公司的高密度、非易失存储器制造技术制造的,与标准的MCS-51指令系统和输出管脚相兼容。由于将通用8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51可以为很多嵌入式控制系统提供一种灵活性高而且价廉的方案。图2-1 AT89C51引脚图功能特性:(1)兼容

9、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个中断源AT

10、89C51提供以下的标准功能:4k bit Flash 闪速存储器,128 bit内部RAM,32 个双向I/O 口,2个16位定时/计数器,一个5向量两级的中断结构,一个全双工的串行通信口,片内振荡器和时钟电路。且,AT89C51是可降至0Hz静态逻辑操作的,并且可以支持两种软件的可选节电工作模式。空闲方式为停止CPU的工作,但允许RAM定时/计数器,串行通信口及中断系统的继续工作。掉电时保存RAM中的内容,振荡器停止工作时并禁止其它所有部件的工作直到下一个硬件的复位。管脚说明:VCC:AT89C51电源正端输入,接+5V。GND:接地。P0口:P0口是一个8位双向I/O口,每管脚可吸收8T

11、TL门电流。当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个

12、TTL门电流,当P2口被写“1”时,它的管脚被内部上拉电阻拉高,并且作为输入。因此它作为输入时,P2口的管脚被外部拉低,将输出电流。这是因为内部上拉的缘故。P2口用于外部程序存储器或者16位地址外部数据存储器,进行存取数据时,P2口输出地址的高8位。在给出地址“1”时,它利用内部上拉优势,当对外部8 位地址数据存储器进行读写时,P2口输出它特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高8位地址信号以及控制信号。P3口:P3口的管脚是8个带内部上拉电阻的双向可编程I/O口,可接收输出的4个TTL门电流。当P3口写“1”后,它被内部上拉为高电平,并且用于输入。作为输入,由于外部下拉为低

13、电平,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:当访问外部存储器时,地址锁存器允许的输出电平用于锁存地址的低位字节

14、。在FLASH编程期间,该引脚用于输入编程脉冲。而在平时,ALE端以不变地频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用于对外部输出的脉冲或用作定时目的。但是值得注意的是:每当用于外部数据存储器时,将会跳过一个ALE脉冲。如果想禁止ALE的输出,可在SFR8EH地址上置“0”。而此时,ALE只有在执行MOVX、MOVC指令时ALE才会起作用。另外,此引脚被略微拉高。如cpu在外部执行状态,ALE禁止时,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令的期间,每个机器周期两次/PSEN有效。但是在访问外部数据存储器时,这两次有效的/PSEN信号将不会出现。

15、/EA/VPP:当/EA端保持为低电平时,在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当加密方式为“1”时,/EA将会内部锁定为RESET;当/EA端保持为高电平时,在此期间内部程序存储器,在FLASH编程时,此引脚用于施加12V的编程电源(VPP)。XTAL1:反向振荡放大器的输入以及内部时钟工作电路的输入。XTAL2:反向振荡器的输出。XTAL1和XTAL2分别是反向放大器的输入和输出。此反向放大器能够配置为片内振荡器。石晶振荡和陶瓷振荡都可以采用。如果采用外部时钟源驱动器,XTAL2不接收。有其他输入到内部时钟信号要通过一个二分频触发器来实现,因此虽然对外

16、部时钟信号的脉冲宽度无任何要求,但必须保证是脉冲的高低电平要求的宽度。 这个系统硬件主要包括以下的三大模块:AT89S51单片机系统、LED灯阵、逻辑开关控制器,从而形成了信号的控制器、识别电路和发光电路这三个模块。其中单片机系统作为中央处理单元,根据逻辑开关控制器来检测到驾驶员所执行开关控制信号,获得相应的信号进行传输,使单片机系统收到对应的指令,从而使LED灯阵发出相应的指示。系统总体设计方案如图2.4.1所示。图2-2 系统总体设计 其中:1 逻辑开关控制器由4个开关组成,分别是右转弯控制、左转弯控制、刹车、停车。2 单片机系统是40个引脚的AT89C51芯片,其中所用到的引脚有14个。

17、3 灯阵自左向右分别为D1D2D3D4D5D6,其中灯阵D1D2D3代表左侧的3个指示灯,D4D5D6代表右侧的3个指示灯。图2-3 系统控制电路原理图本次设计的汽车尾灯控系统中的控制功能包括左、右转弯控制、停车、刹车,主要是为了模拟实际汽车尾灯控制电路,从而达到高可靠性、普遍性强、实用性好等特点,该研究方案,硬件电路简单,可以广泛的应用在各种车辆上。系统电路图如图1.4所示。此系统的工作原理是:用6只LED小灯泡模拟6只汽车尾灯,左侧3只,右侧3只。用4个开关分别模拟刹车信号K、停车信号K、左转弯信号K和右转弯信号K。汽车在转弯时,单片机收到信号并对其进行处理,该侧的3只尾灯按下面状态周期性

18、的亮、暗。000à100à110à111à000à(0为暗,1为亮)。在无制动时,如果驾驶员不慎将两个转向开关都接通,则两侧的尾灯都作同样的周期性亮暗变化。在刹车制动时(K“1” ),所有6只尾灯同时亮。停车时(K=“1” ),6只尾灯均按1Hz频率闪亮直到K“0” 为止。(注:D1D2D3分别L1L2L3,D4D5D6分别为R1R2R3)。 2.2 软件流程 本设计的软件程序包括主程序、定时中断子程序、时钟显示子程序和延时子程序等等。主程序是先开始执行的,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。按键处理是先检测秒

19、按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下;分按键如果按下,分就加1,如果没有按下,就检测时按键是否按下;时按键如果按下,时就加1,如果没有按下,就把时间显示出来。定时器中断是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。图2-4 主程序流程图单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉

20、冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-52采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-52单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和4种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中

21、的溢出标志位TFX.当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。3 实验与仿真Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,其中该软件中国的总代理商是广州风标电子技术有限公司。Proteus是世界上最著名的EDA工具软件,从原理图的布图、代码的调试到单片机和外围电路的协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件与虚拟模型仿真软件

22、三合一的设计平台, 它不仅仅具有其它EDA工具软件的仿真功能,还可以仿真单片机和其外围器件。虽然现在国内推广刚刚起步,但是已受到单片机开发应用的科技工作者、从事单片机教学的教师、单片机爱好者的青睐。 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真。其革命性的特点:a.互动的电路仿真,用户甚至可以实时采用诸如键盘,RAM,马达,ROM,AD/DA,LED,部分SPI器件,部分IIC器件。b.仿真处理器及其外围电路,可以仿真 PIC、AVR、ARM、51系列等常用的主流单片机。c.它还可以直接的在

23、基于原理图的虚拟原型上面编程,再配合显示以及输出,可以看到运行后输入 输出的效果。在配合系统所配置的示波器、虚拟逻辑分析仪等等,Proteus建立起了完备的电子设计开发环境。4 结论本次课题设计是通过查阅各种资料和同学、老师一起讨论,并且经过反复、多次修改仿真调试后得出的结果。在设计过程中用到了以前学到的知识和设计方法。并且更加进一步加深了对所学知识的掌握。而本课题研究的是汽车尾灯控制系统,其可以减少交通事故的发生隐患以及提高尾灯电路的使用寿命。系统设计的方法通过实验仿真与调试证明了系统的可行性。将软件系统与硬件电路结合调试,实现了左转、右转、停车和刹车四种常用的汽车尾灯状态。此尾灯控制系统的

24、结构简单、操作方便、成本低、可靠性高,可广泛的应用于常用机动。通过对本次汽车尾灯控制电路的设计,使我学了许多知识。汽车尾灯是汽车的重要组成部件之一,它在交通中扮演着重要的角色,它对于交通安全有着不可替代的作用。通过本次设计的过程,我了解和掌握了逻辑电路的基本设计和分析。通过本次课程设计,我学会了AT89C51单片机程序的流程;学会了如何通过对它内部进行操作,来控制LED的循环点亮尾灯。且在这个毕业设计中学会这款单片机的汽车尾灯控制电路的设计。通过这个设计加强了我的思考和解决问题的能力,提高了我的动手操作能力,在课题设计的过程中常常会感觉力不从心,从开始做课程设计的那天开始,脑中天天想着同样的一

25、些问题,怎样才可以将电路弄得更简单些,怎么样可以使别人更加容易看得懂,在课程设计的期间,虽然要去找工作,但我也有去图书馆找资料,学习相关的理论知识,虽辛苦但也是值得。该设计中基本实现了,汽车在运行时候尾灯的各种情况。虽然时间不是很充足,但现在这个设计已经做好了,自己的感觉还是比较好。做课题设计的时候,查阅了大量的相关资料,增强了自己对知识的理解,其中很多以前不是很懂的问题现在都解决了,感觉小有成就感。做完这个课题设计后,发现还是有许多地方存在不足,如知道了AT89C51单片机在装入时有方向性、焊接时需格外的小心、需要接上拉电阻、按键要选择好等。在经过后期的努力,我已经改善许多,尾灯控制电路已经

26、可以正常工作。并且此方案相比其他方案具有很多直观的优点,用单片机编程比较直接,用硬件电路搭建很方便,通过对AT89C51单片机的编写程序,来控制LED的亮、灭,这样可降低材料的成本、简化系统的结构、提高系统的可靠性以及先进性,能够实现控制器的系统编程。此外,单片机实现起来很容易,假如通过其他的元件,比如用与非门、三极管、译码器等来实现,这样的方案不仅实现起来复杂、相对来说成本高、而且调试起来也不容易成功,太过繁琐。如果是焊接后有问题,单片机硬件方面的调试也很方便,只需要稍微修改一下程序而已,硬件电路也很方便调试的。在选择方案时要考虑的因素也有很多,比如说程序的编写的难易性,硬件电路设计的可行性

27、,成本的考虑等,其中器件的选用也是很重要的,图形的仿真,软件的选择等。从中让我学到了许多,找到了自己的不足之处,做任何的事情都应该仔细认真,并且需要耐心、恒心,做事不可以慌张,多听取同学们、朋友们和老师的意见、建议,经过慎重的分析确定最后的方案,这样才能使结果很接近自己的期望值。我的题目是汽车尾灯的设计,对于我们这些工科学生来说,这是一次考验。怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上所

28、没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。   同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。这次课程设计通过自己的努力,同学的帮助,还有老师的辛勤指导下,最终顺利完成了。参考文献1姜大源,王胜元, 单片机技术M, 高等教育出版社, 2005-6-12 槐静静,西北大学职业技术学

29、院毕业设计论文,汽车尾灯控制系统的设计3槐静静,西北大学职业技术学院毕业设计论文汽车尾灯控制系统的设计4proteus功能模块简介与应用EB 5Proteus仿真51单片机-数码管动态显示EB 6黄智伟,李富英;LED多功能汽车尾灯显示器J;电子技术应用;1990年08期7高吉祥,电子技术基础试验与课程设计第二版M,国防科技大学8彭介华,电子技术课程设计指导M,北京,高等教育出版社,19979刘雅琨;冷刘伟;汽车尾灯智能控制电路设计J;科技经济市场;2011年05期附录1: 原理图附录2: 源代码#include<reg52.h>#define uint unsigned int#

30、define uchar unsigned char /按键接口/sbit k1=P10; /刹车信号sbit kz=P11; /左转信号sbit ky=P12; /右转信号sbit k2=P13; /停车信号/左边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;ms>0;ms-)for(j=110;j>0;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(num<10)z1=z2=z3=y1=y2=y3=0; /停止所有6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论