单片机课程设计单片机汽车转向信号灯设计Word文件下载.docx
《单片机课程设计单片机汽车转向信号灯设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计单片机汽车转向信号灯设计Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
2.2.3定时器和计数器6
2.2.4定时初始化8
2.2.5汽车转向灯显示9
2.2.6汽车转向灯控制9
2.2.7中断系统10
3.硬件设计10
3.1单片机控制系统电路图10
3.1.1汽车转向灯单片机控制系统框图10
3.1.2汽车转向灯单片机控制系统电路图12
3.2汽车转向灯控制系统流程图12
3.2.1汽车转向灯控制系统主程序流程图12
3.2.2中断服务程序流程图13
3.2.3控制系统键功能流程图14
4.软件设计14
4.1程序流程图15
4.2源程序18
5.总结20
6.参考文献22
1.引言
随着单片机的日益发展,其应用也越来越广泛,通过对“汽车转向灯单片机控制系统”设计,可以对单片机的知识得到巩固和扩展。
本课程内容是设计一个单片机控制系统,在汽车进行左转弯、右转弯、刹车、合紧急开关、停靠等操作时,实现对各种信号指示灯的控制。
本设计主要是对单片机的并行输入/输出口电路的应用,通过I/O口控制发光二极管的亮﹑灭﹑闪烁,加上一些复位电路﹑按键电路﹑驱动电路来模拟汽车尾灯的功能。
汽车在驾驶时有左转弯、右转弯、刹车、合紧急开关、停靠等操作。
在左转弯或右转弯时,通过转弯操作杆应使左转开关或右转开关合上,从而使左头灯、仪表板左转弯灯、左尾灯或右头灯、仪表板右转弯灯、右尾灯闪烁;
合紧急开关时要求前面所述的6个信号灯全部闪烁;
汽车刹车时,两个尾灯点亮;
如正当转弯时刹车,则转弯时原应闪烁的信号灯仍应闪烁。
以上闪烁,都是频率为1Hz的低频闪烁;
在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为10Hz的高频闪烁。
闪光器是通过调节镍铬丝的拉力和触点的间隙来满足频率要求的,灯泡功率的大小也会影响闪烁频率。
因此在更换闪光器或灯泡时调整比较困难。
同时,系统没有故检测,驾驶员无法知道车外的转向灯及示宽灯是否点亮,从而影响行车安全。
到目前为止,我们还没有发现能检测灯丝断这种故障的有效方法。
针对上述问题,我们用AT89C51单片机设计了一套汽车信号灯控制系统。
用LED产生闪光信号,同时能自动检测信号灯故障。
信号灯灯具的发展是随着汽车制造技术及电光源技术的发展而逐步完善的。
它经历了机油(或煤油)灯、乙炔气灯到电光源灯的发展历程。
现代汽车信号灯灯具已经开始使用发光二极管(LED)技术以及光导技术。
2.设计方案及原理
2.1设计方案:
如图2.1所示,汽车转向灯主要有单片机、按键、复位、时钟、电源、故障检测电路、LED显示电路组成最基本的单片机系统。
单片机本身的功能强大,汽车转向灯的驱动用单片机本身的驱动来驱动。
使得单片机的功能得到充分的运用。
本方案的故障检测电路具有故障监控性能,他能提高系统的可靠性。
图2.1汽车转向灯控制系统硬件构成
由定时器/计数器与中断系统的联合组成控制系统的工作原理。
如汽车上有一个转弯控制杆,其中有三个位置:
中间位置,汽车不转弯;
向上,汽车左转;
向下汽车右转。
转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。
应急开关合上时,6个信号灯都应闪烁。
汽车刹车时,2个尾灯发出不闪烁信号。
如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。
它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为10Hz频率快速闪烁。
任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。
表1汽车驾驶操纵与信号
驾驶操作
输出信号
左转弯灯
右转弯灯
左头灯
右头灯
左尾灯
右尾灯
左转弯(合上左转弯开关)
闪烁
灭
右转弯(合上右转弯开关)
合紧急开关
刹车(合刹车开关)
亮
左转弯时刹车
右转弯时刹车
刹车时合紧急开关
左转弯时刹车合紧急开关
右转弯时刹车合紧急开关
停靠(合停靠开关)
闪烁(10Hz)
2.2.1开关状态检测
开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示,采用JNBP1.X,REL指令来完成;
也可以一次性检测五路开关状态,让它指示,可以用MOVA,P1指令一次把P1端口的状态全部读入,取低5位的状态来指示。
2.2.2输出控制
以发光二极管D1—D6来指示,此设计用SETBP0.X和CLRP0.X指令来完成,也可以用指令MOVP0,#111XXXXXB方法来实现。
2.2.3定时器和计数器
根据任务设计要求:
会用到定时器。
信号的控制是定时器与中断系统的联合使用得以实现。
单片机的控制系统应用中,定时器是必需的,在汽车转向灯的控制中也是必不可少。
定时有三种选择方法。
(1)软件的定时
它是靠执行一个循环程序以进行时间的延迟。
软件定时的优点是时间精确,且不需外加硬件电路。
但它要增加CPU开销,因此软件定时的时间不能太长。
此外,软件定时方法有时候无法使用。
(2)硬件的定时
时间较长的定时,常使用硬件电路完成。
硬件定时方法的优点是定时功能全部由硬件电路完成,不需要占CPU的时间。
用元件参数来调节定时时间,这方面使用上不够灵活方便。
(3)可编程定时器的定时
它是通过对系统时钟脉冲的计数来实现的。
计数值由程序设定,改变计数值,同时也改变了定时时间,用起来既灵活且方便。
此外,采用计数方法实现定时,可编程定时器都兼有计数功能,能对外来脉冲进行计数。
在AT89C51内部除了有并行和串行I/O接口外,在单片机内部共有2个可编程的定时器和计数器,称定时器/计数器0和定时器/计数器1,这两个计数器由TH0,TL0,TH1,TL1两个8位的RAM单元组成,即每个计数器都是16位的计数器,最大的计数量时65536。
定时器/计数器计数功能和定时功能:
(1)计数器功能
记数是指对外部事件进行计数。
它的发生以输入脉冲表示,计数功能的实质就是对外来的脉冲进行计数。
AT89C51芯片有T0(P3.4)和T1(P3.5)两个信号引脚,是这两个计数器的计数输入端。
外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。
AT89C51在每个机器周期的S5P2拍节对外部计数脉冲进行采样。
前一个机器周期采用为高电平,后一个机器周期采样为低电平,是一个有效的计数脉冲。
在下一机器周期的S3P1进行计数。
采样计数脉冲是在2个机器周期进行的。
计数脉冲频率不能高于振荡脉冲频率的1/24。
(2)定时器功能
实际也是通过计数器来实现的,但此时的计数脉冲来自单片机的内部,也每个机器周期计数器加1。
一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
单片机采用12MHz晶体,计数频率为1MHz。
每微妙计数器加1。
根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
它是一个二进制的加1计数器。
在计数器计满回零时能自动产生溢出中断请求。
则已经完成。
T1、T2的最大计数值65536-1,需65535个脉冲才能把它们从全“0”状态变为全“1”状态。
输一个脉冲,计数器加1,当加到计数器各位全为1时,再去输一个脉冲,计数器各位就变为全0,发出溢出信号,使标志置1,此时向CPU申请中断。
具体结构如图2.2所示:
图2.2定时器/记数器的结构
2.2.4定时初始化
定时主要与编程有关。
编程对定时器控制寄存器(TCON)、工作方式控制寄存器(TMOD)和中断允许控制寄存器(IE)进行操作。
(1)定时器控制寄存器(TCON)
TCON寄存器既参与中断控制又参与定时控制。
其中有关定时的控制位共有4位:
TF0和TF1----记数溢出标志位
TR0和TR1----定时器运行控制位
TR0(TR1)=0----停止定时器/计数器工作
TR0(TR1)=1----启动定时器/计数器工作
该位根据需要以软件方法使其置“1”或清“0”。
(2)中断允许控制寄存器
IE寄存器中与定时器/计数器有关的位置介绍:
EA----中断允许总控制位
ET0和ET1----定时/计数中断允许控制位
ET0(ET1)=0禁止定时/记数中断
ET0(ET1)=1允许定时/记数中断
利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测。
(3)工作方式控制寄存器(TMOD)
TMOD寄存器专用寄存器,设定两个定时器/计数器的工作方式。
它的低半字节定义定时器/计数器0,高半字节定义定时器/计数器1。
各位定义如表2所示:
表2TMOD各位定义
位序
B7
B6
B5
B4
B3
B2
B1
B0
位符号
GATE
C/
M1
M0
其中:
GATE----门控位
GATE=0以运行控制位TR启动定时器
GATE=1以外中断请求信号(INT1或INT0)启动定时器
C/----定时方式或计数方式选择位
C/=0定时工作方式
C/=1计数工作方式
M1M0----工作方式选择位
M1M0=00方式0
M1M0=01方式1
M1M0=10方式2
M1M0=11方式3
初值计算:
(1)设为工作方式0,定时时间为30ms,使灯延时闪烁。
若使用定时器T0,方式1,30ms定时,fosc=12MHz。
则初值X满足(216-X)×
1=30000
X=35536→1000101011010000→8AD0H
(2)设计中利用定时器/计数器0,一个软件计数器产生低频(1HZ)闪烁功能。
(3)利用定时器/计数器0来产生为时30ms的定时信号,以实现高频(30HZ)闪烁功能。
(4)注意在用工作方式1时,我们必须要重新装载初值。
2.2.5汽车转向灯显示
在汽车转弯或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为1HZ,称低频信号。
当停靠开关合上时,外部信号灯以10HZ频率闪烁此时为高频信号。
2.2.6汽车转向灯控制
汽车转弯灯设计5个按键控制信号灯的转向、停靠、应急等。
按键安排见下:
S1键为刹车开关;
S2键为紧急开关;
S3键为停靠开关;
S4键为左转弯开关;
S5键为右转弯开关;
2.2.7中断系统
单片机中断技术主要用于实时控制,在单片机上有两个引脚,即INT0、INT1。
外部的中断信号通过这两个引脚输入到单片机,和单片机的定时器一样,对中断系统的处理需要通过C51的软件编程实现。
它的重要作用有如下四点:
第一,高速CPU和低速外设之间的配合。
利用中断方式进行的I/O口操作,在宏观上可以看成CPU和外设的并行工作。
第二,实现故障的紧急处理。
当外