课程设计基于单片机的汽车尾灯控制电路的设计Word文件下载.docx
《课程设计基于单片机的汽车尾灯控制电路的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计基于单片机的汽车尾灯控制电路的设计Word文件下载.docx(28页珍藏版)》请在冰点文库上搜索。
本设计主要由四部分组成,包括按键电路,LED灯电路,驱动电路,复位电路。
本文介绍了一种以AT89S52单片机为核心的控制电路。
该电路以发光二极管LED灯为显示电路。
汽车的尾灯是其运行方式的最直接表示方式,令行人或其他车辆清晰明白它将要发生的动态变化。
从而避免交通事故的发生。
设计此电路要求严格符合交通规则,尾灯闪亮或熄灭准确,才不会让行人或其他车辆产生误解。
目前在国内外,整个社会的趋势都是低能耗,环保,高效为主题的。
所以LED尾灯是发展的趋势,而且现在部分高档车已经开始配置。
【关键词】发光二极管;
单片机;
设计程序
绪 论
汽车作为现代交通工具已大量进入人们的生活,随着电子技术的发展,对于汽车的控制电路,也已从过去的全人工开关控制发展到了智能化控制。
在夜晚或因天气原因能见度不高的时候,人们对汽车安全行驶要求很高.汽车尾灯控制系统给大家带来了方便。
汽车尾灯控制器是随汽车智能化技术的发展而迅速发展起来的,汽车尾灯一般是用基于微处器的硬件电路结构构成,正因为硬件电路的局限性,不能随意的更改电路的功能和性能,且可靠性得不到保证,因此对汽车尾灯控制系统的发展带来一定的局限性。
难以满足现代汽车的智能化发展。
随着仿真技术的发展,数字系统的设计技术和设计工具发生了深刻的变化。
利用硬件描述语言对数字系统的硬件电路进行描述是仿真技术的关键技术之一。
C语言是目前主流的硬件描述语言,它具有很强的电路描述和建模能力,且有与具体硬件电路无关和与设计平台无关的特性.在语言易读性和层次化结构设计方面表现出强大的生命力和应用潜力。
本文采用单片机技术,利用PROTEUS工作平台和C语言,设计了一种基于单片机的汽车尾灯控制系统.并对系统进行了仿真及验证。
用一片单片机芯片实现从而大大简化了系统结构,降低了成本。
提高了系统的先进性和可靠性,能实现控制器的在系统编程。
采用这种器件开发的数字系统其升级与改进极为方便。
LED(1ight emitting
diode,发光二极管)由于其具备体积小、寿命长、低能耗、耐震动、无频闪及反应速度快等优点已成为备受瞩目的新一代车灯光源技术。
目前通用的汽车尾灯光源仍然是白炽灯和节能灯占主导地位,加上红、黄等配光透镜实现配光要求,缺点是易损坏、耗电量大、寿命短、激励响应时间长,给道路交通带来安全隐患等。
现有的LED汽车尾灯主要有两种:
一种是用多个LED密布于灯壳内直接经配光透镜配光,其缺点是用了多颗LED或者用大功率LED,成本高;
另外一种是将LED排布成平面或者柱状置于灯壳内,经自由曲面反射腔配光或自由曲面反射腔和配光透镜联台配光,其缺点是自由曲面反射腔制作工艺复杂。
现针对目前LED汽车尾灯配光困难、体积大等缺陷,有效利用LED光源体积小、亮度高等特点,设计出一种节能、高效的新型组合式LED汽车尾灯。
1
1设计系统的介绍及研究内容
1.1设计系统的介绍
1.1.1设计语言C语言的介绍
C语言是CombinedLanguage(组合语言)的中英混合简称。
是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如DBASEⅣ都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。
1.1.2设计软件Proteus的介绍
Proteus(海神)的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。
该软件的特点:
1.全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
2.具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
3.目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、
PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
4.支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。
1.1.3设计依据
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠
而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了
飞速提高,处理能力比起80年代提高了数百倍。
目前,高端的32位单片机主频已经
超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美
元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
1.2研究的内容
本次设计的任务是根据已知条件,设计、制作一个汽车尾灯显示的51电路。
设汽车尾部左右两侧各有3个指示灯(用发光管模拟),要求是:
1.汽车正常行驶时,尾灯全部熄灭。
2.当汽车右转弯时,右侧3个指示灯按右循顺序点亮。
3.当汽车左转弯时,左侧3个指示灯按左循顺序点亮。
4.临时刹车时,所有指示灯同时闪烁。
5.选择电路方案,完成对确定方案电路的设计。
设计要求画出电路原理图(或仿真电路图)并阐述其基本原理;
元器件及参数选择;
电路仿真与调试;
制作实际运行装置。
3
2设计方案分析及比较
在设计本电路时,一共考虑过两种方案。
下面简单的介绍一下这两种方案:
第一种方案:
通过把脉冲电路、开关控制电路、三进制电路、译码与显示驱动电路等模块组合来实现。
首先,通过555定时器构成的多谐振荡器产生频率为1Hz的脉冲信号,该脉冲信号用于提供给双J-K触发器构成的三进制计数器和开关控制电路中的三输入与非门的输入信号。
其次,双J-K触发器构成的三进制计数器用于产生00、01、10的循环信号,此信号提供左转、右转的原始信号。
最后,左转、右转的原始信号通过6个与非门以及7410提供的高低电位信号,将原始信号分别输出到左、右的3个汽车尾灯上。
得到的信号即可输出到发光二极管上,实现所需功能。
这种方案的实现复杂,成本高,调试起来不容易成功,太过繁琐。
第二种方案:
通过STC89C52单片机编写程序,来控制LED的亮灭。
这种方案中单片机编程较直接,用硬件电路搭建方便,通过STC89C52单片机编写程序,来控制LED的亮灭。
这样可以大大简化系统结构,降低材料的成本。
提高系统的先进性和可靠性,能实现控制器的系统编程。
经过小组商量,我们选择了使用第二种方法。
一、由于现在单片机技术普及,加上用单片机实现起来很方便也很简单,所以我决定使用单片机来驱动整个电路的运行。
二、单片机的运行都是要有晶振驱动的,有的单片机是内部晶振驱动单片机,有的单片机是外部设计含有晶振的驱动电路来驱动单片机的运行。
所以要设计一个驱动电路去驱动单片机。
三、需要往单片机中下载编好的程序,一是用在线下载,二是用下载器下载到单片机中。
在没有下载器的情况下,使用在线下载很方便。
3设计方案规划及设计(具体设计)
3.1系统设计框架图
KEIL软件编程
方案确定(单片机)
如图3.1所示。
元器件选择与电路板焊接
调试及问题解决
PROTEUS软件仿真测试
3.1.1设计任务
图3.1 框架图
设计一个汽车尾灯控制电路,用6个发光二极管模拟汽车尾灯,即左尾灯(L1-
L3)3个发光二极管;
右尾灯(D1-D3)3个发光二极管。
用两个开关分别控制左转弯尾灯显示和右转弯尾灯显示。
当右转弯开关被打开时,右转弯尾灯显示的3个发光二极管按右循环显示。
当左转弯开关被打开时,左转弯尾灯显示的3个发光二极管按左循环显示。
当急刹车时,6个发光二极管闪烁。
D1 D2 D3 D1 D2 D3 D1 D2 D3
图3.2 右转弯显示规律图
L3 L2 L1 L3 L2 L1 L3 L2 L1
图3.3 左转弯显示规律图
L1 L2 L3 D1 D2 D3 L1 L2 L3 D1 D2 D3
图3.4 急刹车显示规律图
5
根据以上要求,要实现当右转弯开关打开时,右转弯尾灯显示的3个发光二极管按右循环规律显示,如图3.2;
当左转弯开关打开时如图3.3;
急刹车时如图3.4。
根据不同的状态,绘制汽车尾灯和汽车运行状态表如表3.1所示。
设左转弯按键为key1,右转弯按键为key2,急刹车按键为key3。
表3.1 汽车尾灯和汽车运行状态表
开关控制
汽车运行状态
右转尾灯
左转尾灯
key1key2key3
D1D2D3
L1L2L3
正常运行
灯灭
左转弯
L3→L2→L1→L3
右转弯
D1→D2→D3→D1
急刹车
闪烁
3.1.2总体设计思想
经过以上所述的设计内容及要求的分析,可以将电路分为以下几部分:
1、单片机扫描与3个按键相连的IO口的高低电平来确定是那个按键按下去了;
2,根据不同的按键按下去的情况,控制与6个LED相接的IO口的高低电平来控制
LED亮灭情况。
3.2整体电路工作原理
按键电路、
LED显示电路、含有晶振的驱动的电路、复位电路。
单片机在不停的扫描3个按键相连的IO口的高低电平,当3个按键中的一个按键按下去后,单片机会确定是那个按键按下去了;
当没有按键按下去的时候,这3个IO口管脚都是高电平;
当某一个按键按下去后,与该按键想连接的IO口管脚变成低电平;
根据不同的按键按下去的情况,控制与6个LED相接的IO口的高低电平来控制LED亮灭情况。
3.2.1单元电路设计
仿真原理图如图3.5所示。
C1
30pF
U1
19XTAL1
C2
X1
CRYSTAL
18
XTAL2
9
RST
P0.0/AD039
P0.1/AD138
P0.2/AD237
P0.3/AD336
P0.4/AD435
P0.5/AD534
P0.6/AD633
P0.7/AD732
C3
22uF
R4
0.2k
29
30PSEN
31ALE
EA
P2.0/A821
P2.1/A922
P2.2/A1023
P2.3/A1124
P2.4/A1225
P2.5/A1326
P2.6/A1427
P2.7/A1528
R5
1k
2R3
1110k
2
4
6
7
8
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
80C51
P3.0/RXD10
P3.1/TXD11
P3.2/INT012
P3.3/INT113
P3.4/T014
P3.5/T115
P3.6/WR16
P3.7/RD17
R8R7R6 9 R10R11
0.47k0.47k0.47k 0.470.47k0.47k
左
右
D1D3D5
D6D4D2
LED-BLULED-GRLEEEDN-YELLOWLED-YLELDL-OGWREELNED-BLU
1)按键电路:
图3.5 仿真原理图
R1
0k
R
k
第三个按键为急刹车按键,中间为右转弯按键,第一个为左转弯按键。
当某一个按键按下去后,与该按键想连接的IO口管脚变成低电平。
如图3.6所示。
R2R3
1 10k
图3.6 按键电路图
2)LED电路:
要在左转向的时候,左边的3个灯左循环点亮,右转向的时候,右边的3个灯右循环循环点亮,急刹车的时候全部的LED闪烁,于是我选择了左循环的3个不
同颜色的LED,右循环的3个LED的颜色和左循环的3个LED颜色一样,当循环点亮的时候很直观。
R8 R7 R6
0.47 0.47 0.47k
R9 R1 R11
D1 D3 D5
D6D4 D2
LED-BLULED-GRLEEEDN-YELLOWLED-YLELDL-OGWREELNE
如图3.7所示。
图3.7 LED电路图
3.2.2其他部分的设计
1)含有晶振的驱动的电路:
没有驱动电路的话,也就是晶振不起振,那单片机就不能工作。
如图3.8所示。
33pF
图3.8 含驱动电路图
使用的是12M的晶振,两个电容一般很小。
2)复位电路的设计:
如图3.9所示。
3.3单片机
图3.9 复位电路图
单片机是一种集成在电路芯片,是靠程序运行的,并且可以修改。
只因为单片机可以通过你编写的程序可以实现高智能,高效率,以及高可靠性!
我选用的是AT89S52型号单片机。
AT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的
AT89S52单片机可为您提供许多较复杂系统控制应用场合。
AT89S52单片机的外部引脚如图3.10所示。
图3.10 AT89S52芯片外部引脚图
Vcc(40脚),GND(20脚)—单片机电源引脚,不同型号单片机接入对应电压电源,常压为+5V,低压为+3.3V。
XTAL1(19脚),XTAL2(18脚)—外接时钟引脚。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2:
来自反向振荡器的输出。
它们的特性是:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
RST(9脚)—单片机的复位脚。
PSEN(29脚)—全称是程序存储器允许控制端。
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
ALE/PROG(30脚)—在单片机扩展外部RAM时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现地位地址和数据的隔离。
EA/Vpp(31脚)—EA接高电平时,单片机读取内部程序存储器。
I/O口引脚—P0口,P1口,P2口,P3口。
1.P0口(39脚—32脚)—双向8位三态I/O口,每个口可独立控制。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
2.P1口(1脚—8脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,这种接口输入没有高阻状态,输入也不能锁存。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
3.P2口(21脚—28脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。
P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,
将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
4.P3口(10脚—17脚)—准双向8位I/O口,每个口可独立控制,内带上拉电阻,并且具有第二功能。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
3.4程序流程图
如果没有按键按下去
控制右循环的按键按下去了
控制急刹车的按键按下去了
如果有按键按下去了,判断是哪个按键按下去的
控制左循环的按键按下去了
左边的3个LED有循环依次点亮
右边的3个LED有循环依次点亮
键盘扫描,判断是不是有按键按下去了
如图3.11所示。
没有LED点亮
程序流程:
图3.11程序流程图
所有的6个LED闪烁
1.初始化,让单片机的P3口的所有IO管脚全部为高电平。
2.进行键盘扫描:
A.判断P1口的低三位哪一个管脚为低电平。
B.如果全是高电平,说明没有按键按下。
C.如果不是全为高电平,说明有一个按键按下去。
D.根据P1口低三位哪一位的电平为低电平来判断是哪个按键按下去的。
E.如果是右循环按键按下去了,通过赋值与计算后的再赋值,让P2口对应的左边的3
个LED灯按右循环依次点亮。
F.如果是左循环按键按下去了,通过赋值与计算后的再赋值,让P2口对应的右边的3
个LED灯按左循环依次点亮。
G.如果是急刹车按键按下去了,通过赋值与计算后的再赋值,让P2口对应6个LED灯闪烁。
11
3.5程序
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;
按键按下去没有,哪个
按
temp1=P1;
键按下