资源描述
CHANGZHOU INSTITUTE OF TECHNOLOGY
科研实践
题目:汽车灯光控制
二级学院(直属学部): 延陵学院
专业: 电气工程及其自动化
班级: 10电Y3
学生姓名: 王振宇
学号: 10124527
指导教师姓名: 范力旻
职称: 副教授
2013年12月15日至2014年1月5日
摘要 2
1.引 言 3
1.1目的和意义 3
2.总体设计 4
2.1单片机的选择 4
2.2系统工作原理 4
3.最小系统设计 5
3.1复位电路 5
3.2晶振电路 6
3.3电源模块 8
4.输入部分设计 9
5.输出部分设计 9
6.硬件仿真 10
6.1仿真软件简介 10
6.2仿真效果 11
7.实物制作与调试 12
7.1电路板焊接 12
7.2硬件调试及排故障 13
8.总结 14
附 录 15
1.参考文献 15
2.器件清单 15
3.原理图 16
4.程序清单 16
5.实物图 21
摘要
随着科技的不断发展,社会的不断进步,人们越来越离不开汽车,汽车不仅仅是一种代步工具,还是一种社会生活水平和身份的象征。但是,随着汽车数量的不断增加,汽车在带给我们方便的同时也带来了大量的交通事故。因此,道路安全就越来越发引起人们的关注。据相关部门统计表明,大量事故都是发生在道路的转弯处或是因为前面的汽车突然刹车而后面的车辆没有及时注意后发生的,因此汽车尾灯作为一种警示灯,它的重要性就体现出来了。因此仅仅依靠汽车本身的结构因素很难保证汽车的行车安全,因而必须对车辆的主要安全部位,进行定期的检查,并按一定的技术标准对它们的状况加以检查、考核,并且取得各项准确的数据,科学定量地判断车辆安全装置的状况,给出合适的评价。而汽车尾灯故障率在汽车行驶过程中是很高的,汽车尾灯故障时,不能正确反应驾驶员的行车意识且给安全行车留下了事故隐患。
老式汽车尾灯通常是基于传统的机械和纯电路的控制方式,其正常工作完全取决于尾灯系统所采用的硬件来保证的,一旦电路的老化或者因接触问题和机械元件的变形将不能及时触发电源开关,导致电路出现故障,这种问题经常发生,除了选用更好的硬件系统和元件外,几乎没有别的方法来避免这类故障的发生,而随着科技的发展,越来越多的电子产品得到了飞速的发展。许多电器设备越来越趋于智能化、人性化,这些电器设备几乎含有CPU控制器或单片机。而单片机以其可靠性高、性价比高、低电压、低功耗等一系列优点得到飞速的发展和大范围推广,因此选用智能型的元件来进行系统的设计,增加系统的稳定性和可控制性是非常必要且有重要意义的。
本文所研究和开发的课题是基于at89c51汽车尾灯控制器的电路设计,在该系统中,通过6个LED来模拟汽车尾灯的基本工作状况,汽车尾灯控制系统的研究不仅使汽车的先进性、美观性有了很大的提高,更加重要的是降低了交通事故发生的可能性。
1.引 言
1.1目的和意义
要求了解汽车尾灯控制电路的工作原理,掌握外围电路的设计与主要性能参数的测试方法,要求掌握基于单片机或数字集成电路的汽车尾灯控制器的设计方法与数字电子线路系统的装调技术。
可以让学生更好的掌握和加深对基础知识的运用和理解,学习如何设计中小型系统,并且独立的完成调试过程,增强学生理论与实际结合的能力,提高学生电路设计和分析的能力。
通过课题研究引导学生在理论指导下有所创新,为日后工作实践奠定结实的基础。
1.2本系统主要研究内容要求
汽车尾部左右两侧各有三个指示灯(用发光管模拟),要求是:
1. 设置四个按键,分别对应汽车刹车、左转、右转、停车。
2. 汽车的刹车、左转、右转、停车分别对应不同灯光显示。
3. 刹车时6个指示灯同时亮。
4. 左转时左边三个灯光延时一秒依次从右往左点亮,右转时右边三个灯光延时一秒依次从左往右点亮。
5. 停车时6个指示灯同时闪烁点亮。
确定设计方案,按功能模块的划分选择元器件和集成电路,设计分析电路,阐述基本原理。
2.总体设计
2.1单片机的选择
AT89C51是一个低电压,低功耗,高性能CMOS 8位微处理器,片包含了4K字节闪烁可编程可擦除的只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory),俗称单片机。该器件采用ATMEL公司的高密度、非易失存储器制造技术制造的,与标准的MCS-51指令系统和输出管脚相兼容。由于将通用8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51可以为很多嵌入式控制系统提供一种灵活性高而且价廉的方案。
2.2系统工作原理
这个系统硬件主要包括以下的三大模块:AT89S51单片机系统、LED灯阵、逻辑开关控制器,从而形成了信号的控制器、识别电路和发光电路这三个模块。其中单片机系统作为中央处理单元,根据逻辑开关控制器来检测到驾驶员所执行开关控制信号,获得相应的信号进行传输,使单片机系统收到对应的指令,从而使LED灯阵发出相应的指示。系统总体设计方案如图2-1所示。
图2-1
3.最小系统设计
3.1复位电路
在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求
复位电路的工作原理 :VCC上电时,电容充电(充电过程中会有充电电流,并且在最开始时电流最大,随着时间推移逐渐减小直到电容充满电后充电电流变为0,此时无充电电流,电容器相当于开路,这个时候才是真正意义上的隔直,所以在电源接通的一瞬间,是有通交这个过程的),在电容充电这个过程中,RST端电压确正好相反是从VCC逐渐降低到0(因为充电电流是从大变小直到0),此过程中会有一段时间VCC处于高电平状态,导致单片机复位(时间常数t=R*C决定)。但电容不再充电后,无电流通过,RST恒为0,单片机正常工作。
单片机的第9脚RST为硬件复位端,只要将该端持续2个机器周期即2us的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,复位按钮按下后即可输入高电平。
复位时间计算:当取100us时为高电平,所以可以达到复位作用。
复位电路如图3-1所示:
图3-1 复位电路图
3.2晶振电路
晶振电路是由一个12MHZ的电解电容和两个22pF的电容组成的。T=12*1/12MHZ=1us
开机的时候的复位在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。
也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.0S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
复位键按下的时候的复位在单片机启动0.01S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.01S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。
晶振电路如图3-2所示:
图3-2 晶振电路图
3.3电源模块
电源部分电源装置是电路的能量提供者,该设计中所制作的电源为单相小功率电源,将9V的直流电源经稳压管转换成所需要的5V直流电源。由于系统的要求,需要用5V的稳压直流电源对系统中的芯片进行供电,电路采用7805进行设计。7800系列的最后两位数字表示该集成稳压器的输出电压值,其输出电压的偏差在2%以内。固定输出的集成稳压电源的基本电路如图3-3所示:
图3-3 电源电路图
7805整流器的介绍:
7805三端稳压集成电路顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。
用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。
因为三端固定集成稳压电路的使用方便,电子制作中经常采用。
4.输入部分设计
按键如图4-1所示:
图4-1 按键图
功能键对应的功能见表:
序号
按键
对应功能
1
K1
刹车
2
K2
左转
3
K3
右转
4
K4
停车
5.输出部分设计
5.1发光二极管如图5-1所示:
图5-1 输出部分设计图
1.按下刹车键K1,6个灯管同时点亮。
2.按下左转键K2,D3向D1灯管延时一秒依次点亮。
3.按下右转键K3,D4向D6灯管延时一秒依次点亮。
4.按下停车键K4,6个灯管同时闪烁点亮。
5.2电阻电容的选择
根据复位信号的有效脉冲的宽度来计算电容电阻的值
T1=(R1+R2)Cln2,T2=R2Cln2
故电路的振荡周期为:
T=T1+T2=(R1+2R2)Cln2
振荡频率为,经过计算,可选择R1=10K,R2=R3=R4=R5=R6=R7=100欧姆,C=22uF,则输出信号为1赫兹(周期为1秒)。
6.硬件仿真
6.1仿真软件简介
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,其中该软件中国的总代理商是广州风标电子技术有限公司。Proteus是世界上最著名的EDA工具软件,从原理图的布图、代码的调试到单片机和外围电路的协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件与虚拟模型仿真软件三合一的设计平台, 它不仅仅具有其它EDA工具软件的仿真功能,还可以仿真单片机和其外围器件。虽然现在国内推广刚刚起步,但是已受到单片机开发应用的科技工作者、从事单片机教学的教师、单片机爱好者的青睐。[4]
Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1.原理布图2.PCB自动或人工布线3.SPICE电路仿真。
其革命性的特点:1.互动的电路仿真,用户甚至可以实时采用诸如键盘,RAM,马达,ROM,AD/DA,LED,部分SPI器件,部分IIC器件。2.仿真处理器及其外围电路,可以仿真 PIC、AVR、ARM、51系列等常用的主流单片机。3.它还可以直接的在基于原理图的虚拟原型上面编程,再配合显示以及输出,可以看到运行后输入 输出的效果。在配合系统所配置的示波器、虚拟逻辑分析仪等等,Proteus建立起了完备的电子设计开发环境。[5]
6.2仿真效果
按下刹车时的仿真图
按下左转时的仿真图
按下右转时的仿真图
按下停车时的仿真图
7.实物制作与调试
7.1电路板焊接
一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。造成焊接质量不高的常见原因是:
①焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。
②冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。
③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对形成的黑膜,要"吃"净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。
④焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及细小印刷电路板进行焊接时要尤为注意。
⑤焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。
⑥焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当造成的。
7.2硬件调试及排故障
最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。
排除逻辑故障:这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。 2 排除元器件失效 造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。
排除电源故障:在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
8.总结
本次课题设计是通过查阅各种资料和同学、老师一起讨论,并且经过反复、多次修改仿真调试后得出的结果。在设计过程中用到了以前学到的知识和设计方法。并且更加进一步加深了对所学知识的掌握。而本课题研究的是汽车尾灯控制系统,其可以减少交通事故的发生隐患以及提高尾灯电路的使用寿命。系统设计的方法通过实验仿真与调试证明了系统的可行性。将软件系统与硬件电路结合调试,实现了左转、右转、停车和刹车四种常用的汽车尾灯状态。此尾灯控制系统的结构简单、操作方便、成本低、可靠性高,可广泛的应用于常用机动。
通过对本次汽车尾灯控制电路的设计,使我学了许多知识。汽车尾灯是汽车的重要组成部件之一,它在交通中扮演着重要的角色,它对于交通安全有着不可替代的作用。通过本次设计的过程,我了解和掌握了逻辑电路的基本设计和分析。
通过本次课程设计,我学会了AT89C51单片机程序的流程;学会了如何通过对它内部进行操作,来控制LED的循环点亮尾灯。且在这个毕业设计中学会这款单片机的汽车尾灯控制电路的设计。通过这个设计加强了我的思考和解决问题的能力,提高了我的动手操作能力,在课题设计的过程中常常会感觉力不从心,从开始做课程设计的那天开始,脑中天天想着同样的一些问题,怎样才可以将电路弄得更简单些,怎么样可以使别人更加容易看得懂,在课程设计的期间,虽然要去找工作,但我也有去图书馆找资料,学习相关的理论知识,虽辛苦但也是值得。该设计中基本实现了,汽车在运行时候尾灯的各种情况。虽然时间不是很充足,但现在这个设计已经做好了,自己的感觉还是比较好。做课题设计的时候,查阅了大量的相关资料,增强了自己对知识的理解,其中很多以前不是很懂的问题现在都解决了,感觉小有成就感。
附 录
1.参考文献
[1]姜大源,王胜元, 单片机技术[M], 高等教育出版社, 2005-6-1
[2]黄智伟,李富英;LED多功能汽车尾灯显示器[J];电子技术应用;1990年08期
[3]高吉祥,电子技术基础试验与课程设计第二版[M],国防科技大学
[4]彭介华,电子技术课程设计指导[M],北京,高等教育出版社,1997
[5]刘雅琨;冷刘伟;汽车尾灯智能控制电路设计[J];科技经济市场;2011年05期
[6] 蔡朝阳.单片机控制实习与专题制作[M].北京:北航出版社,2006年.
[7] 杨加国.《单片机原理与应用及C51程序设计》.清华大学出版社,2006年.
2.器件清单
序号
文字标号
名称
数量
规格型号
1
R1
电阻器
1
10K
2
R2-R7
电阻器
6
100Ω
3
C1、C2
电容
2
22pF
4
C3
电容
1
10uF
5
U1
单片机
1
AT89C51
6
D1-D6
二极管
6
LED-RED
7
X1
晶振
1
12MHZ
8
K1-K4
按键
4
9
电池盒
1
10
电池
6
3.原理图
4.程序清单
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
///////按键接口////////////////
sbit k1=P1^0; //刹车信号
sbit kz=P1^1; //左转信号
sbit ky=P1^2; //右转信号
sbit k2=P1^3; //停车信号
///////左边led接口///////////////////////
sbit z3=P2^5; //左1
sbit z2=P2^4; //左2
sbit z1=P2^3; //左3
///////右边led接口///////////////////////
sbit y1=P2^2; //右1
sbit y2=P2^1; //有2
sbit y3=P2^0; //右3
bit 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的亮灭信号既是1HZ
if(num<10)z1=z2=z3=y1=y2=y3=0; //停止所有6只尾灯同时亮
if(num>10)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; //1s
if(miao==1)y1=z1=y2=z2=0; //1s
if(miao==2)y1=z1=y2=z2=y3=z3=0; //1s
if(miao==3)y1=z1=y2=z2=y3=z3=1; //1s
}
}
if(miao==0)z1=0; //1s
if(miao==1)z1=z2=0; //1s
if(miao==2)z1=z2=z3=0; //1s
if(miao==3)z1=z2=z3=1; //1s
}
z1=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;//1s
if(miao==1)y1=z1=y2=z2=0;//1s
if(miao==2)y1=z1=y2=z2=y3=z3=0;//1s
if(miao==3)y1=z1=y2=z2=y3=z3=1;//1s
}
}
if(miao==0)y1=0;//1s
if(miao==1)y1=y2=0;//1s
if(miao==2)y1=y2=y3=0;//1s
if(miao==3)y1=y2=y3=1;//1s
}
y1=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 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
num=0;
miao++;
if(miao==4)
miao=0;
}
}
5.实物图
王振宇、武运林
展开阅读全文