毕业设计本人心血汽车尾灯电路Word文档下载推荐.docx
《毕业设计本人心血汽车尾灯电路Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《毕业设计本人心血汽车尾灯电路Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
4.2硬件设计…………………………………………………………………24
4.2.1复位电路…………………………………………………………24
4.2.2报警电路…………………………………………………………25
4.2.3震荡电路…………………………………………………………26
4.2.4单片机下载电路…………………………………………………26
4.2.5电源指示电路……………………………………………………27
4.2.6方向指示电路……………………………………………………27
4.2.7功能按键电路……………………………………………………28
结论……………………………………………………………………………29
致谢……………………………………………………………………………30
参考文献………………………………………………………………………31
附录……………………………………………………………………………32
附录一原件清单…………………………………………………………………32
附录二电路连接常见故障诊断方法……………………………………………32
附录三电路中芯片的管脚图……………………………………………………33
附录四仿真板……………………………………………………………………34
课程设计作为数字电子技术和模拟电子技术课程的重要组成部分,目的是一方面使我们能够进一步理解课程内容,基本掌握数字系统设计和调试的方法,增加集成电路应用知识,培养我们的实际动手能力以及分析、解决问题的能力。
本设计主要解决如何更加灵活的汽车尾灯控制器进行控制,左转,右转和急刹车信息等。
通过设计汽车尾灯显示控制电路,能很好的综合运用我们所学到的单片机,C语言,模拟电路知识,熟悉电子电路设计的基本方法。
另一方面也可使我们更好地巩固和加深对基础知识的理解,学会设计中小型数字系统的方法,独立完成调试过程,增强我们理论联系实际的能力,提高电路分析和设计能力。
通过实践引导我们在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。
通过设计,一方面可以加深我们的理论知识,另一方面也可以提高我们考虑问题的全面性,将理论知识上升到一个实践的阶段。
设计是工科学生面对的重要课题,经历这个过程才能真切感受到工科的魅力,拉近与生产的距离。
【关键词】发光二极管单片机设计程序
第一章
绪论
1.1课题背景
随着科技时代的进一步发展,人们的生活也在飞速改变,各种家用电器和设备正以极快的速度进入寻常百姓家。
汽车作为一种很重要的生活工具也没有例外地深入到人们生活的方方面面。
人们正以极大的热情努力的工作并享受由此而带来的种种便利,汽车作为高消费的生活和生产资料,在满足了人们的出行方便的同时,人们更加注重汽车本身的舒适性、可控性、便捷性和安全性。
而作为汽车行车很重要的一部分——车灯控制方式很是重要。
而作为汽车控制的各种操作,几乎都反映在灯的明亮和熄灭上,也是可以起到警告的作用。
而作为尾灯,它有着很大的作用,无论是行车之中还是车辆在驻留的时候,都是必须有各种不同的反映的,于是,汽车尾灯的设计是很重要的。
而基于传统的机械和纯电路的控制方式,由于它完全取决于尾灯系统所采用的硬件来保证它的正常工作,而一旦电路老化或者因为机械振动而引起的接触问题以及机械元件变形而不能及时触发电路电源开关,这类问题是经常发生,而除了选用更好的硬件系统元件几乎没有别的可靠的方法来进行避免这类故障的发生,于是,选用智能型的元件来进行系统的设计,增加系统的稳定性和可控制性是非常必须的。
而随着EDA技术的日益成熟,有电路自动控制车尾灯的方式是可行的。
基于EDA系统的电路控制方式是可靠的和可以预测的控制方式,其安全性很高,属于智能控制的范畴。
于是,在汽车上实行这种车灯控制方式是一种变化和进步,增加了汽车行车安全性,降低了汽车的故障率。
1.2汽车尾灯的发展现状
汽车尾灯是汽车的主要部分,在我们的生活中不可缺少,正是有了它才是我们的交通得以正常进行。
现在社会上出现交通事故的比例很高除了自身原因外,汽车尾灯也发挥着主要的作用,尾灯的指示灯按正常指定闪烁将会避免很多事故的发生。
汽车尾灯控制电路是数字电路在交通控制电路中的典型应用,在日常生活中有着广泛的应用,本设计基本上模拟了汽车运行过程中的实际状况,一般有左右各三个灯,当人们看到灯不同形式的亮灭闪烁时,就会知道驾驶员的操作意图,即行驶、左转、右转及刹车。
1.3研究的目的及意义
目的是一方面使我们能够进一步理解课程内容,基本掌握EDA技术和系统知识,增加集成电路应用知识,培养我们的实际动手能力以及分析、解决问题的能力。
另一方面也可以是我们更好地巩固和加深对基础知识的理解,学会设计中小型数字系统的方法,独立完成调试过程,增强我们理论联系实际的能力,提高电路分析和设计能力。
通过设计,一方面可以加深我们对理论知识的理解,另一方面也可以提高我们考虑问题的全面性,将理论知识上升到一个实践的阶段。
基于本课题的研究具有极大的实用性和可操作性,在实际的应用中有广泛的意义,用于汽车车灯控制系统的电路,可以极大地提高汽车的安全性和驾驶的舒适性,降低了车的故障率和危险发生的概率。
具有实际的应用价值,故研究本课题。
1.4EDA的发展历程及应用
1.4.1EDA的发展历程
随着集成电路和计算机技术的飞速发展,EDA(ElectronicDesignAutomation)应运而生,它是一种高级、快速、有效的电子设计自动化技术。
EDA技术以计算机为工具,代替人完成数字系统的逻辑综合、布局布线和设计仿真等工作。
设计者只需要完成对系统功能的描述,然后就可以由计算机来处理这些描述,得到设计结果,修改设计也很方便。
利用EDA工具进行设计,可以极大的提高设计效率。
EDA技术的发展经历了一个由浅到深的过程。
20世纪70年代,随着中小规模集成电路的开发与应用,传统的手工制图设计电路板和集成电路的方法已经无法满足设计精度和效率的要求,因此人们开始进行二维平面图形的计算机辅助设计,以便解脱繁杂、机械的版图设计工作,这就是第一代的EDA工具。
到了20世纪80年代,为了适应电子产品在规模和制作上的要求,出现了以计算机仿真和自动布线为核心技术的第二代EDA技术,其特点是以软件工具为核心,通过这些软件完成产品开发的设计、分析、仿真、测试等各项工作。
20世纪90年代后,随着EDA技术继续发展,出现了以高级语言描述、系统级仿真和综合技术为特征的第三代EDA技术,通常也称为ESDA(ElectronicSystemDesignAutomation)阶段。
在这个阶段,人们开始追求贯彻整个设计过程的自动化,可以从繁重的设计工作中彻底解放出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。
1.4.2EDA技术的概念
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动的完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
1.4.3EDA的应用
硬件语言编译工具
逻辑综合工具
功能分析工具
布局布线工具
版图生成工具
形式验证工具
半导体厂IC
ASIC设计
用户需求功能定义
时序分析工具
编程下载工具
可编程PLD
SOC设计
原理图编辑工具
网表生成工具
规则检查工具
电子兼容分析工具
热分析工具
PCB设计
制板商PCB
图1.1EDA技术应用范围
EDA技术应用范围见图1.1。
当代的EDA技术应用于电子设计的方方面面。
从一个角度来看,EDA技术可粗略分为系统级、电路级和物理实现级三个层次的辅助设计过程;
从另一个角度来看,EDA技术应包括电子设计的各个领域:
从低频电路到高频电路、从线形电路到非线形电路、从模拟电路到数字电路、从分立元件电路到集成电路的全部设计过程。
具体来说,EDA技术大体分为三方面的应用:
(1)ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)设计。
(2)SOC(SystemOnaChip,系统芯片)设计。
(3)PCB(PrintedCircuitBoard,印刷电路板)设计。
可以说如果没有EDA技术,今天的电子设计就没办法进行。
1.4.4设计语言C语言的介绍
C语言是CombinedLanguage(组合语言)的中英混合简称。
是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如DBASEⅣ都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的
1.5基于EDA的FPGA/CPLD开发
随着数字集成电路和EDA技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。
系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件,其中应用最广泛的属现场可编程门阵列和复杂可编程逻辑器件。
现场可编程门阵列FPGA(FieldProgrammableGateArray)是20世纪80年代中期,由美国Xilinx公司首先推出的大规模可编程逻辑器件。
由于FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,已成为开发电子产品的首选器件。
运算器、乘法器、数字滤波器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计都可选用FPGA来实现。
Xilinx公司和Altera公司最新开发的先进IPCORE(IP核),使FPGA在EDA和DSP技术领域的应用更加方便。
复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)是20世纪90年代可擦除的可编程逻辑器件EPLD(ErasableProgrammableLogicDevice)的改进器件。
其具有更大的与阵列和或阵列,有大量的宏单元和布线资源。
高速的译码器、多位计数器、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计可用CPLD来实现。
FPGA/CPLD本身作为一种新器件,可以由用户自行规定器件的逻辑功能,将大量的电路功能集成到一个芯片中,提高了系统的集成度和可靠性。
另一方面,FPGA/CPLD的设计方法又是采用EDA的设计方式,是从手工设计到电子设计自动化的变换桥梁。
第二章
研究内容与设计原理
2.1本课题的研究内容
根据实际情况分析,本课题研究的汽车尾灯控制器满足以下基本要求:
(1)当汽车正常行驶时,汽车所有尾灯均不亮;
(2)当汽车左转弯时,汽车左侧的尾灯L1亮;
(3)当汽车右转弯时,汽车右侧的尾灯R1亮;
(4)当汽车刹车时,汽车所有尾灯都亮;
(5)当汽车在夜间行驶时,汽车左侧的尾灯L3和右侧的尾灯R3亮。
2.2设计思路
刹车控制信号
特殊控件行驶信号
根据系统设计要求,系统采用自顶向下的设计方法,顶层设计采用原理图的设计方法如图2.1所示:
右转弯控制信号
左转弯控制信号
主控选择模块
右侧灯选择控制模块
左侧灯选择控制模块
LD2
RD2
RD3
RD1
LD3
LD1
图2.1顶层设计原理图的设计方法
2.3设计方案
本课题关于汽车尾灯控制电路主要由几大部分组成:
复位电路、报警电路、震荡电路、单片机下载电路、电源指示电路、方向指示电路和按键控制电路等。
主电路主要是通过开关控制汽车尾灯的点亮方式,主要由74138译码器和74161计数器,以及与非门等器件构成。
主电路包括向左转和向右转两大部分电路。
由于汽车正常行驶、左转弯、右转弯、刹车和在晚上灯点亮的次序和是否点亮是不同的,所以可以用74138译码器对输入的信号进行译码,从而得到一个低电平输出,再由这个低电平控制一个74161计数器,计数器输出为高电平时就点亮不同的尾灯,从而控制尾灯按实际需要的要求点亮。
由此得出在每种运行状态下,各指示灯与给定条件间的关系,即逻辑功能表如下表2.1所示。
汽车尾灯控制电路设计总体框图如图2.3所示。
表2.1汽车尾灯和汽车运行状态功能表
开关控制
汽车运行状态
右转尾灯
左转尾灯
S2S1S0
R1R2R3
L1L2L3
000
正常运行
灯灭
001
左转弯
左侧灯L1亮
010
右转弯
右侧灯R1亮
011
刹车
所有尾灯同时亮
100
夜间行车
右侧灯R3和左侧灯L3同时亮
图2.3汽车尾灯控制电路设计总体框图
2.3.1AT89S51介绍
AT89S51芯片
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
主要性能特点
1、4kBytesFlash片内程序存储器;
2、128bytes的随机存取数据存储器(RAM);
3、32个外部双向输入/输出(I/O)口;
4、5个中断优先级、2层中断嵌套中断;
5、6个中断源;
6、2个16位可编程定时器/计数器;
7、2个全双工串行通信口;
8、看门狗(WDT)电路;
9、片内振荡器和时钟电路;
10、与MCS-51兼容;
11、全静态工作:
0Hz-33MHz;
12、三级程序存储器保密锁定;
13、可编程串行通道;
14、低功耗的闲置和掉电模式。
管脚说明
VCC:
电源电压输入端。
GND:
电源地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
PDIP封装的AT89S51管脚图
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(T0定时器的外部计数输入)
P3.5T1(T1定时器的外部计数输入)
P3.6/WR(外部数据存储器的写选通)
P3.7/RD(外部数据存储器的读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
外部程序存储器访问允许。
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
XTAL2:
片内振荡器反相放大器的输出端。
第三章
系统软件设计
本课题汽车尾灯设计实现的方法就是通过开关控制所设计的电路,从而来实现汽车尾灯不同的点亮方式。
达到最终的目的。
3.1本课题主程序设计
3.1.1功能分析
根据状态功能表2.1所介绍。
当汽车正常行驶时,汽车尾灯开关控制信号为S2=“0”、S1=“0”、S0="
0"
,汽车所有尾灯灭。
当汽车左转弯时,汽车尾灯开关控制信号为S2=“0”、S1=“0”、S0="
1"
汽车左侧尾灯L1亮。
当汽车右转弯时,汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="
汽车右侧尾灯R1亮。
当汽车刹车时,汽车尾灯开关控制信号为S2=“0”、S1=“1”、S0="
汽车所有尾灯同时亮。
当汽车在夜间行驶时,汽车尾灯开关控制信号为S2=“1”、S1=“0”、S0="
汽车左侧尾灯L3和右侧尾灯R3亮。
3.1.2数据入口
S2,S1,S0:
开关控制信号;
3.1.3数据出口
L1:
左侧尾灯L1;
L2:
左侧尾灯L2;
L3:
左侧尾灯L3;
R1:
右侧尾灯R1;
R2:
右侧尾灯R2;
R3:
右侧尾灯R3;
3.1.4具体实现程序
C语言程序设计具体如下:
#include<
reg52.h>
voiddelay(unsignedintz)延时程序,for循环一直减到0
{
unsignedintx;
unsignedchary;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
voidkeyscan()键盘扫描程序,,先判断按键按下去没有,哪个
{按下去了,然后根据那个按键按下去的情况,
unsignedchartemp,temp1,temp2,i,temp3;
进行算法分析和计算,通过给与LED的管脚
temp1=P1;
赋值高低电平来控制灯亮灭情况
temp1=temp1&
0x07;
if(temp1!
=0x07)
{
delay(10);
temp2=P1;
temp