资源描述
1.引言
车灯是行车安全的必备件,除了具有照明作用,对行人和其他车辆还具有转向、会车、刹车等警示作用。其中汽车转向灯的控制就是一例。汽车转向和报警信号灯是汽车运动方向和车身状态的表示信号,关系着汽车的安全问题,因此基于单片机的汽车转向灯控制器的一直以来都是汽车电子设计中的一个十分重要的领域 。
此次基于单片机的汽车转向灯的设计中,复位电路的设计、LED发光二极管的应用、6个按键开关、键盘扫描来控制LED灯点亮的方式都基本符合课程设计的要求。其中复位电路的作用是当单片机死机的情况下用来复位重启单片机,软件部分主要是用键盘扫描的方式来与程序中的设定值比较如果一致就执行该段子程序来实现LED的点亮方式。
汽车上的信号灯有:转向灯(左前灯、右前灯、左后灯、右后灯、仪表盘上的二个指示灯)。当汽车转弯、刹车、停靠时,转向灯发出不同的信号。汽车转弯或停靠时,相应的信号灯要发出闪烁的灯光信号,目前国内广泛使用电热式闪光器产生闪光信号。闪烁频率在 50~110 次/ min,但是一般控制在 60~95 次min 之间。闪光器是通过调节镍铬丝的拉力和触点的间隙来满足频率要求的,灯泡功率的大小也会影响闪烁频率。因此在更换闪光器或灯泡时调整比较困难。同时,系统没有故检测,驾驶员无法知道车外的转向灯及示宽灯是否点亮,从而影响行车安全。到目前为止,我们还没有发现能检测灯丝断这种故障的有效方法。针对上述问题,我们用AT89C51单片机设计了一套汽车信号灯控制系统。用LED产生闪光信号,同时能自动检测信号灯故障。信号灯灯具的发展是随着汽车制造技术及电光源技术的发展而逐步完善的。它经历了机油(或煤油)灯、乙炔气灯到电光源灯的发展历程。现代汽车信号灯灯具已经开始使用发光二极管(LED)技术以及光导技术,这是信号灯灯具的一次飞跃。
2.设计方案及原理
2.1设计方案:
如图1所示,汽车转弯灯主要有单片机、按键、复位、时钟、电源、故障检测电路、LED显示电路组成最基本的单片机系统。单片机本身的功能强大,汽车转弯灯的驱动用单片机本身的驱动来驱动。使得单片机的功能得到充分的运用。本方案的故障检测电路具有故障监控性能,他能提高系统的可靠性。
AT89C51
按键电路
时钟电路
复位电路
电源电路
LED显示电路
故障检
测电路
图1汽车转弯灯控制系统硬件构成
2.2设计原理:
由定时器/计数器与中断系统的联合组成控制系统的工作原理。如汽车上有一个转弯控制杆,其中有三个位置:中间位置,汽车不转弯;向上,汽车左转;向下汽车右转。转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。应急开关合上时,6个信号灯都应闪烁。汽车刹车时,2个尾灯发出不闪烁信号。如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为10Hz频率快速闪烁。任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。
表1 汽车驾驶操纵与信号
驾 驶 操 作
输 出 信 号
仪表板左转弯灯
仪表板右转弯灯
左头灯
右头灯
左尾灯
右尾灯
左转弯(合上左转开关)
闪烁
灭
闪烁
灭
闪烁
灭
右转弯(合上右转开关)
灭
闪烁
灭
闪烁
灭
闪烁
合紧急开关
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
刹车(合上刹车开关)
灭
灭
灭
灭
亮
亮
左转弯时刹车
闪烁
灭
闪烁
灭
闪烁
亮
右转弯时刹车
灭
闪烁
灭
闪烁
亮
闪烁
刹车,并合紧急开关
闪烁
闪烁
闪烁
闪烁
亮
亮
左转弯时刹车,并合紧急开关
闪烁
闪烁
闪烁
闪烁
闪烁
亮
右转弯时刹车,并合紧急开关
闪烁
闪烁
闪烁
闪烁
亮
闪烁
停靠(合停靠开关)
灭
灭
10Hz
闪烁
10Hz
闪烁
10Hz
闪烁
10Hz
闪烁
2.2.1 开关状态检测
开关状态检测,对AT89C51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示,采用JNB P1.X,REL 指令来完成;也可以一次性检测五路开关状态,让它指示,可以用MOV A,P1 指令一次把P1 端口的状态全部读入,取低5位的状态来指示。
2.2.2 输出控制
以发光二极管D1—D6 来指示,此设计用SETB P0.X 和CLR P0.X 指令来完成,也可以用指令MOV P0,#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.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所示:
表2 TMOD各位定义
位序
B7
B6
B5
B4
B3
B2
B1
B0
位符号
GATE
C/
M1
M0
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,称低频信号。当停靠开关合上时,外部信号灯以30HZ频率闪烁此时为高频信号。
2.2.6 汽车转弯灯控制
汽车转弯灯设计5个按键控制信号灯的转向、停靠、应急等。按键安排见下:
S1键为刹车开关;
S2键为紧急开关;
S3键为停靠开关;
S4键为左转弯开关;
S5键为右转弯开关;
2.2.7 中断系统
单片机中断技术主要用于实时控制,在单片机上有两个引脚,即INT0、INT1。外部的中断信号通过这两个引脚输入到单片机,和单片机的定时器一样,对中断系统的处理需要通过C51的软件编程实现。利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测。
它的重要作用有如下四点:
第一,高速CPU和低速外设之间的配合。利用中断方式进行的I/O口操作,在宏观上可以看成CPU和外设的并行工作。
第二,实现故障的紧急处理。当外设发生故障时,可以利用中断系统请求CPU及时处理这些故障。
第三,可以实现实时控制。
第四,便于人机联系。操作人员可以利用键盘等实现中断,完成人工介入。
3.硬件设计
3.1 单片机控制系统电路图
3.1.1汽车转弯灯单片机控制系统框图
汽车转弯灯单片机控制系统电路是由单片机AT89C51、复位、电源、时钟、LED显示电路、故障检测电路、按键电路构成。电源电路给控制相关电路提供所需电源;复位电路供上电或按键时复位用。当要求重新启动单片机或者单片机处于死循环时,都可以由此电路来实现;时钟电路用来产生时钟脉冲信号,供工作使用;通过并行I/O口构成键盘和显示电路,输入程序,即可实现汽车转弯灯中各信号灯的功能操作;系统的可靠性有所提高。汽车转弯灯单片机控制系统框图如图三所示。
AT89C51
按键电路
时钟电路
复位电路
电源电路
LED显示电路
故障检
测电路
图三 控制系统
3.1.2 汽车转弯灯单片机控制系统电路图
图五 汽车转弯灯控制电路图
3.2 单片机控制系统功能模块的设计
3.2.1 电源电路
在所学的电源中的整元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路,集成稳压电路等;根据调整元件与向载连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。单片机系统中使用的集成电路器件大多数在5V电源电压工作。随着集成制造技术的发展以及数字式电子元器件的微小型化,集成电路元器件采用更先进精细的制造工艺,在减小集成芯片几何尺寸的同时,降低工作电压。我们学习的小功率直流稳压电源电路由电源变压器、整流电路、滤波电路、稳压电路等四部分组成,如图四所示。
图四 直流稳压电源基本电路框图
直流稳压电源的各基本电路如下:
(1)变压器
它的作用是将电网220V的交流电压V1变换成整流滤波电路所需要的交流电压V2。变压器副边与原边的功率比如式(3.1)所示。
(3.1)
式(3.1)中,η为变压器的效率。
(2)稳压电路
常见的集成稳压器有固定式三端稳压器与可调式三端稳压器。此电路部分采用集成稳压器。固定式三端稳压器的常见产品有两种:CW78**系列稳压器输出固定的正点压,如7805输出为+5V,7812输出为+12V; CW79**系列稳压器输出固定的负电压,如7905输出为-5V,7912输出为-12V。输出端接电容C2进一步滤去纹波,输出端接电容C3能改善负载的瞬态影响,使电路稳定工作。
(3)整流滤波电路
整流二极管D1—D4组成单向桥式整流电路,将交流电压V2变成脉动的直流电压,再经过滤波电容C1,C2滤去纹波,输出直流电压Vi。Vi与交流电压V2的有效值的关系如式(4.2)所示。
(3.2)
每只整流二极管承受的最大反向电压如式所示。
(3.3)
按课题设计要求,我们需要的能输出5V—12V的直流电源,其原理图如图五所示。
图五 直流稳压电源电路图
四、软件设计
软件程序:
ORG 0000H
AJMP START1
ORG 0030H
SAME EQU 4EH
START1: MOV P1,#00H ;无输入时无输出
START: MOV A,P3 ;读P3口数据
ANL A,#1FH ;取用P3口的低五位数据
CJNE A,#1FH,SHIY ;对P3口低五位数据进行判断
AJMP START1
SHIY: MOV SAME,A
LCALL YS ;延时
MOV A,P3 ;读P3口的数据
ANL A,#1FH ;取用P3口的低五位数据
CJNE A,#1FH,SHIY1 ;对P3口的低五位数据进行判断
AJMP START1 ;开关没有动作时无输出
SHIY1: CJNE A,SAME,START1
CJNE A,#17H,NEXT1 ;P3.3=0时进入左转分支
AJMP LEFT
NEXT1: CJNE A,#0FH,NEXT2 ;P3.4=0时进入右转分支
AJMP RIGHT
NEXT2: CJNE A,#1DH,NEXT3 ;P3.1=0时进入紧急分支
AJMP EARGE
NEXT3: CJNE A,#1EH,NEXT4 ;P3.0=0时进入刹车分支
AJMP BRAKE
NEXT4: CJNE A,#16H,NEXT5 ;P3.0=P3.3=0时进入左转刹车分支
AJMP LEBR
NEXT5: CJNE A,#0EH,NEXT6 ;P3.0=P3.4=0时进入右转刹车分支
AJMP RIBR
NEXT6: CJNE A,#1CH,NEXT7 ;P3.0=P3.1=0时进入紧急刹车分支
AJMP BRER
NEXT7: CJNE A,#14H,NEXT8 ;P3.0=P3.1=P3.3=0时进入左转紧急刹车分支
AJMP LBE
NEXT8: CJNE A,#0CH,NEXT9 ;P3.0=P3.1=P3.4=0时进入右转紧急刹车分支
AJMP RBE
NEXT9: CJNE A,#1BH,NEXT10 ;P3.2=0时进入停靠分支
AJMP STOP
NEXT10: AJMP ERROR ;其他情况进入错误分支
LEFT: MOV P1,#2AH ;左转分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
RIGHT: MOV P1,#54H ;右转分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
EARGE: MOV P1,#7FH ;紧急分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
BRAKE: MOV P1,#60H ;刹车分支
AJMP START
LEBR: MOV P1,#6AH ;左转刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RIBR: MOV P1,#6AH ;右转刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
BRER: MOV P1,#7EH ;紧急刹车分支
LCALL Y1s
MOV P1,#60H
LCALL Y1s
AJMP START
LBE: MOV P1,#7EH ;左转紧急刹车分支
LCALL Y1s
MOV P1,#40H
LCALL Y1s
AJMP START
RBE: MOV P1,#7EH ;右转紧急刹车分支
LCALL Y1s
MOV P1,#20H
LCALL Y1s
AJMP START
STOP: MOV P1,#66H ;停靠分支
LCALL Y100ms
MOV P1,#00H
LCALL Y100ms
AJMP START
ERROR: MOV P1,#80H ;错误分支
LCALL Y1s
MOV P1,#00H
LCALL Y1s
AJMP START
YS: MOV R7,#20H ;延时
YS0: MOV R6,#0FFH
YS1: DJNZ R6,YS1
DJNZ R7,YS0
RET
Y1s: MOV R7,#04H ;延时
Y1s1: MOV R6,#0FFH
Y1s2: MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,Y1s2
DJNZ R7,Y1s1
RET
Y100ms: MOV R7,#66H ;延时
Y100ms1:MOV R6,#0FFH
Y100ms2:DJNZ R6, Y100ms2
DJNZ R7, Y100ms1
RET
END
五、总结
通过这次课程设计我们对于单片机应用有了更深的了解,单片机应用技术发展迅速,有着广阔的应用前景,涉及面广,内容丰富,它用软件的方法设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;在设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小,功率低,可靠性高。其技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方法,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至特定目标芯片的适配便宜,逻辑映射,编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
此次电子课程设计不但提高了我们实践的能力和理论水平,而且对于我们认识掌握各种操作技巧具有重大意义,使我们的综合素质得到了很大的提高!
在我们的日常生活中有很多与单片机电子电路相关的,很普通很简单的设备,比如说:电子计算机、饮水机、可调亮度的台灯、电子手表等等。这些简单的设备,都有一个不简单的设计。在以后的生活中我们应该留心这些设备,多学习,多思考才能让自己更加理解理论知识,强化理论知识,才能逐渐提高自己的设计能力。
六、参考文献
[1]李广弟,朱月秀,王秀山.单片机基础[M].北京:航空航天大学出版社,2000.147~156
[2]康华光,陈大钦.电子技术基础模拟部分[M].武汉:高等教育出版社,1998.57~116
[3]谢自美.电子线路设计·实验·测试(第二版).武汉:华中理工出版社,2000
[4]戴佳,戴卫恒.51单片机C 语言应用程序设计实例精讲[M].北京:电子工业出版社,2006.25~31
[5]徐爱钧,彭秀华。Keil Cx51 V7.0单片机高级语言编程与μVision2应用实践[M].北京:电子工业出版社,2006.133~187
展开阅读全文