单片机课程设计
题目:汽车转向信号灯
班级:自动化082班
姓名:
学号:200808545
指导教师:张鑫
设计时间:
评语:
成绩
1
1.引言
汽车转向灯控制系统在汽车电气部分中占有相当重要的比重,而一般的控制
系统常常采用TTL逻辑电路加控制杆进行控制,虽然都可以实现转向灯控制功
能,但导线多,设计复杂,稳定性不好,若有某个触点烧毁,就得整体更换,从
而导致可靠性差、检修不方便和维修费用高等问题。而以8051单片机作为控制
器,与软件配合,不但提高系统的可靠性和稳定性,而且大大简化了控制系统电
路结构,还使系统具有一定的智能功能。整个系统方便灵活,安全可靠。
1.1汽车控制信号
表1汽车转向信号灯工作真值表
输入信号输出信号
刹车开关紧急开
关
左转开关右转开
关
左前灯右前灯左尾灯右尾灯
0
0
0
0
0
0
0
0
1
0
1
0
断
断
闪烁
断
闪烁
断
断
断
闪烁
断
闪烁
断
0
0
0
1
1
1
0
0
1
0
1
0
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
1
1
1
0
0
0
0
0
1
0
1
0
断
断
闪烁
断
闪烁
断
通
通
闪烁
通
闪烁
通
1
1
1
1
1
1
0
0
1
0
1
0
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
通
通
闪烁
通
闪烁
通
本设计用一个单刀三掷开关类比汽车转弯控制杆,在中间位置时,无触点接
通,汽车不转弯;向上闭合时,汽车左转弯;向下闭合时,汽车右转弯。汽车转
2
弯时,要求相应的一侧尾灯、前灯和小信号灯(即仪表板上的指示灯)闪烁发光;
当紧急开关闭合时,所有的6个信号灯都要闪烁;汽车刹车时,左右尾灯都要亮,
但在转弯过程中刹车,相应一侧的尾灯仍应闪烁,前信号灯及小信号灯并不受
刹车信号的影响。信号灯功能要求如表1真值表所列。在本系统中,汽车转弯或
紧急状态下,外部信号灯及小信号灯的闪烁频率为1Hz的低频信号。当汽车正常
停车时,外部信号灯以高频30Hz频率闪烁,以适应低亮度背景的使用要求,但
小信号灯在停车时不起作用。
2.软、硬件实现
根据前面所述的理论和中断系统的知识进行具体的软、硬件设计,其中包括
总体设计方案、各种电路图、硬件实现和软件实现。
2.设计方案及原理
以8051单片机作控制器,通过软件实现上述功能,为了保证系统的可靠性,
本系统采用了先进的冗余技术和故障监控技术,使得系统在出现部分故障时,
也能正常工作,在某一个信号灯完全烧毁或线路故障而不能正常工作时,能自动
报警。如图1所示。系统由两个输入输出网络和三个电路构成。振荡电路利用8051
内高增益反向放大器,把石英体和两个电容跨接于18(XTAL2)脚、19(XTAL1)
脚间的组成。系统采用了上电自动复位电路,即通过外部复位电路的电容来实现,
只要电源VCC的上升时间不超过1ms,就可以接通电源完成系统复位初始化。由
8051中断系统5个中断源,分为2个优先级,中断源的优先级由程序排定,中
断请求是否会得到响应,受中断允许寄存器IE中各位控制,当同时收到几个同
一优先级的中断请求时,响应哪个服务,取决于内部程序查询顺序,相当于优先
级内还同时存在另一个辅助优先结构。
3
图1系统设计框图
3.系统硬件部分
3.1硬件控制系统方框图
根据自动控制系统的控制原理,硬件系统有输入模块、控制模块、输出模块、
故障检测模块和一些辅助元件组成,汽车转向灯控制器硬件控制系统方框图如图
3.1所示。
图3.1硬件控制系统方框图
3.2微控制器的选用
传统的MCS51由于性能稳定,工作可靠等优点在工农业生产中应用十分
广泛,在自动控制领域得到充分利用,但MCS51芯片不具有A/D转换功能,须
另加芯片方可实现A/D转换,而飞思卡尔(FreeScale)半导体公司(原Motorola
公司半导体产品部)的MC68HC08系列单片机[2,3]由于性能稳定,耐温度变化,
提供了多种内部集成模块,具有A/D转换功能等特点在很多领域得到广泛应用,
它的体系结构为产品开发节省了大量时间和成本,近年来MC68HC08多种型号
输入网络
振荡网络
复位电路
输出网络
故障监控电路
8051
4
的单片机在汽车、消费、工业、网络和无线市场等各个领域发挥了越来越大的用
途,飞思卡尔在许多领域居市场领先地位,汽车半导体产品市场位居第一。
MC68HC08系列单片机种类众多,其中的MC68HC08QY4性价比高、引脚少,
内部集成了各种I/O模块以及A/D转换模块,本设计采用16个引脚的
MC68HC08QY4芯片,该芯片是本设计的最佳选择,如图3.2所示:
图3.2MC68HC08QY4引脚分配图
中断产生脉冲信号如图3.3所示:
图3.3中断产生脉冲信号
关于分频因子p及预置寄存器的设定值的确定方法如下:设fbus
=3.2MHz=3200000Hz,定时1s时,TMOD=n,分频因子为p,则n=t×(fbus/p),
若p<64,比如p=25=32,则有n=100000=$186A0,超出16位,入法装入预置寄存
器。因此p必须取64,此时n=50000=$C350,可以装入预置寄存器,满足要求。
本设计中要求低频40次/min,高频80次/min,产生占空比为50%的矩形脉冲。
低频时闪烁周期为1.5s,高频时闪烁周期为0.75s,根据上述方法分别设置定时时
间,产生脉冲信号。
定时器通道和状态寄存器可以调节脉冲信号的占空比。
5
3.3功率驱动、短路、断路等检测技术
BTS6143D是英飞凌公司设计的N沟道FET功率管,内部集成充电泵,电
流驱动,并具有负载电流检测的故障反馈功能(包括过载、过温和短路检测等),
是一款集成了SIPMOS片上技术的高边智能功率开关芯片。BTS6143D适用于汽
车电子苛刻的工作环境,其工作的温度范围可从-40℃至+150℃。采用12V或24
V负载控制,适用于各种阻性负载、感性负载或容性负载,尤其适用于具有高
浪涌电流的负载,如车灯等,可以作为继电器、保险丝等控制方法的替代方法。
电源电压为12V时,BTS6143D(最高可以驱动55W)可以驱动21W功率的车
灯且可以通过对其输入、输出和故障诊断引脚的电平进行测量达到故障诊断的目
的。车灯的功率和所采用的功率开关类型如表3.1所示:
表3.1车灯的功率和所采用的功率开关类型
车灯功能描述开关类型功率∕瓦
左侧转向灯(前、后)
右侧转向灯(前、后)
紧急报警灯
拨动开关
拨动开关
按钮
21×2
21×2
21×4
此外,BTS6143D还具有多项保护功能:短路保护、过载保护、过压保护、
过温关断、掉地和掉电保护、静电放电保护和电源反接保护等。
对信息中相关的位进行车灯控制,在发出控制信号以后采集相应车灯驱动芯
片输入、输出和故障诊断引脚的电位,通过对电位的分析看是否发生故障,若发
生故障则发送一个故障信息。图2-4中的负载RL,即为转向灯。通过RIS反馈
回来的信号经过A/D转换传送给微控制器,从而判断转向灯的状态是否良好。
6
图3.4BTS6143D结构图
当转向灯出现故障(发生短路或断路)时,根据反馈回来的数据判断自动检
测车灯故障,如果在正常范围内则低频闪烁,在正常范围之外的则高频闪烁。
如果出现断路的情况(以图3.4为例),左侧灯的电阻增大,电流减小,反馈电
流也减小,反馈电阻RIS接地作为下拉电阻,反馈电压减小,端口PTA0的电压
减小;如果出现短路的情况则恰恰相反,反馈电流增大,端口PTA0电压也增大。
如果左侧两个转向灯都断路,IL为0,反馈电压为0;有一个断路时,IL为
P/VOUT(P为21瓦)。
如果左侧两个转向灯都短路,IL非常大,反馈电压也非常大;有一个短路
时,IL也很大,反馈电压也很大。
如果左侧两个转向灯都正常工作时,IL为2P/VOUT为7.5A(P为21瓦)。
同侧两个转向灯正常工作时(工作环境为25°C)根据实际线路情况有一定的误差,
正常的IL为7.5A,反馈比例(kILIS=IL:IIS)kILIS正常为9700,最低为8000,
最高为10800,端口PTA0为A/D口,所采集的模拟量电压为6.944V~9.375V,将
测得的反馈电压模拟量转化成数字量(二进制)为0110.1111~1001.0110,十六进
制为0x06.F1A9~0x09.6并将转换来的数据与正常范围进行比较,如果在正常范
围内则单片机发出相应的信号使转向灯低频闪烁,否则高频闪烁。(正常工作闪
烁频率为40次/Min,故障时闪烁频率为80次/Min)向驾驶员报警。
为保证车灯功率满足的要求,对左侧转向灯(前、后)用一块BTS6143D芯片
控制,将BTS6143D芯片接在MCU(微控制器)上,右侧转向灯同理。
7
3.4硬件设计电路图
现以8051单片机作为控制器,如图3.5,是采用单片机的汽车转弯信号灯控
制系统的基本电路。电源采用+12V电源,因汽车中常用12伏的蓄电池供电,
闪烁频率信号由单片机内部定时器产生。在微电脑系统中,采用了冗余技术和故
障监控技术来提高系统的可靠性,但是,信号灯也难免偶然会完全烧毁,或线路
上有故障而不能正常工作,因此本系统设计了故障监控功能,一旦发现故障,能
自动报警。故障监控功能电路设计简单,如图3.6,它利用T0作检测输入,只增
加1个晶体管和几个电阻,通过测试T0的高低电平,就可以说明相应的线路出
了故障。
图3.5硬件设计电路图(以左侧转向灯为例)
8
图3.6汽车转弯信号灯控制系统的基本电路
4.系统软件部分
4.1系统软件介绍
系统软件采用MCS-51汇编语言编写,程序清单分为三部分:第一部分是输
入、输出口线说明和变量定义;第二部分是主程序;第三部分是中断服务程序。
系统中利用定时器/计数器0和一个软件计数器SUB-DIV来产生为时一秒的定时
信号,以实现低频(1Hz)闪烁功能。在初始化程序中,定时器0被赋予定时功
能,采用操作方式1,其TL0初始值为0,如果用12MHz晶体振荡器,则每过256us,
TH0即行加1,对TH0置初值F0H,因此,其溢出周期等于256us×16=4.096ms。
使定时器0每隔4096微秒溢出中断一次,每次中断后,重置TH0,并使软件计数
器SUB-DIV的值减1,SUB-DIV用作中断次数记录,初始值为244,当此值减为0
时,历经的时间为244×4.096ms=999ms。主程序和中断服务程序框图如下图
4.1。
9
图4.1主程序与中断程序流程图
4.2软件结构设计
一个系统工作性能的好坏很大程度上取决于程序结构的合理性。合理地安排程序
结构有
助于提高程序的运行速度和可靠性。
软件控制流程图如图4.2所示:
中断响应
对TH0重制16
PSW入栈
1s是否?
对软件计数
SUB-DIV重244
故障监控测试
有故障吗?
故障告警处理
形成占空比62.5%20Hz信号
计算并输出给左移表板指示灯、
左转弯头和尾灯
计算并输出给右移表板指示灯、
右转弯头和尾灯
PSW出栈
返回
Y
N
开始
设定定时器0初值
设定定时器0为模式1
置软件计数器初值
允许定时器0中断
总允许中断
启动定时器0
等待
10
图4.2软件控制流程图
在转向灯控制系统设计中,主要完成实现对转向灯的控制功能,即对前左转
向灯、前右转向灯、后左转向灯、后右转向灯等信号灯的控制。
此程序需用到定时器模块产生占空比为50%的不同频率的脉冲信号,A/D
转换模块将BTS6143D反馈来的电压信号转换成数字信号。以此来实现等的闪烁
而形成。
开始
系统初始化
AD初始化
左转向灯指
示灯低频闪
检测开
关动作
紧急按
钮
左灯正
常
左转
向信号
又转向信号i
右转向灯指
示灯高频闪
左转向灯指
示灯高频闪
右转向灯指
示灯低频闪
右灯
正常
结束
N
Y
Y
N
Y
N
N
Y
11
5.总结:
汽车转向灯设计结果,连接硬件电路,执行程序,按键左右转、刹车等共
10种情况时,LED按照预先设定的状态亮灭,证明设计结果符合题目要求。
设计过程中出现的主要问题有:
1、汽车转向灯数码管亮灭混乱。可能是由于键盘抖动或不灵敏、74LS373损坏、
多个子程序类似而混编等引起。
2、计数器不工作。通过外部中断0计数,中断一次TCON的IE0即置1。在循
环程序中应每次循环都为TCON赋值。
3、程序进入踏步无法跳出。按键按下时可能不是低电平,可用万用表检测按键
和单片机/INT0引脚的电压值。
4、静态显示驱动程序中,可用码重为1的8位二进制数测试七段数码管的编码。
6.参考文献
[1]马家辰孙玉德张颖,CS-51单片及原理及接口技术,哈尔滨工业大学出版
社。
[2]赫建国、郑燕、薛延侠,单片机在电子电路设计中的应用,清华大学出版社。
[3]严天峰,单片机应用系统设计与仿真调试,北京航空航天大学出版社。
[4]孙余凯、田其贵等,新型汽车电子电器原理与故障检修方法,人民邮电出版社。
[5]张友德,MC68HC08系列单片机原理与应用—嵌入式系统初步,复旦大学出
版社。
12
附录
ORG0000H
LJMPBEGAIN
BEGAIN:MOVP3,0FFH;P3口置“1”,为输入做准备
MOVA,P3
ANLA,#1Fh;读如开关状态
MOVDPTR,#TABLE
RLA;累加器乘2
JMP@A+DPTR
TABLE:AJMPGO0;同时打开
AJMPGO1;K1合上,K2打开
AJMPGO2;K2合上K1打开
AJMPGO3;K1K2同时合上
AJMPGO4;K3合上
AJMPGO5;K1,K3和尚
AJMPGO6;k2k3合上
AJMPGO7;K1K2K3合上
AJMPGO8;K4合上
AJMPGO9;K1K4合上
AJMPGO10;K2K4合上
AJMPGO11;K1,K2,K4合上
AJMPGO12;k3,k4合上
AJMPGO13;K1,K3,K4合上
AJMPGO14;k2,k3,k4合上
AJMPGO15;k1,k2,k3,k4合上
AJMPGO16;K5合上
GO0:MOVP1,#00;所有开关同时打开,所有灯都熄灭
LJMPBEGAIN
GO1:MOVP1,#00000101B;K1合上,其余打开,L1、L3亮,表示左边转弯
LOOP:LCALLDELAY;延时1S
MOVP1,#00H
LCALLDELAY;延时1S
LJMPBEGAIN
GO2:MOVP1,#00001010B;k2合上,其余打开,表示右边转弯
LJMPLOOP;调用延时程序
GO3:LJMPGO0;K1K2同时合上,所有灯熄灭
GO4:MOVP1,#00111111B;K4合上,刹车,所有灯闪烁
LJMPLOOP
LJMPBEGAIN
GO5:LJMPGO0;所有灯熄灭
GO6:LJMPGO0;所有灯熄灭
GO7:LJMPGO0;所有灯熄灭
GO8:MOVp1,#00110000b;K5合上,停靠,L5L6闪烁
13
LJMPLOOP
GO9:MOVP1,#00001101B;K1K4合上,左转弯并刹车
CPLP1.0;L1闪烁
CPLP1.2;L3闪烁
LCALLDELAY;调用延时程序
CPLP1.3;L4长亮
LJMPBEGAIN
GO10:CPLP1.1;L2闪烁
CPLP1.3;L4闪烁
LCALLDELAY
CPLP1.5;L6长亮
LJMPBEGAIN
GO11:LJMPGO0;所有灯熄灭
GO12:CPLP1.0;L1—L4闪烁
CPLP1.1
CPLP1.2
CPLP1.3
LCALLDELAY
SETBP1.4;L5长亮
SETBP1.5;L6长亮
LJMPBEGAIN
GO13:MOVP1,#00001111B;L1—L4闪烁
LJMPLOOP
LJMPBEGAIN
GO14:LJMPGO13
GO15:LJMPGO0
GO16:MOVP1,#00111100B;L3、L4、L5、L6闪烁
LJMPLOOP
LJMPBEGAIN
DELAY:MOVR5,#2;延时子程序
DEL0:MOVR6,#255
DEL1:MOVR7,#98
DEL2:DJNZR7,DEL2
DJNZR6,DEL1
DJNZR5,DEL0
RET
END
本文发布于:2023-03-07 10:53:27,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678157607171282.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:右转向灯向上还是向下.doc
本文 PDF 下载地址:右转向灯向上还是向下.pdf
留言与评论(共有 0 条评论) |