单片机汽车转向信号灯设计.docx

上传人:b****4 文档编号:12032359 上传时间:2023-04-16 格式:DOCX 页数:26 大小:221.06KB
下载 相关 举报
单片机汽车转向信号灯设计.docx_第1页
第1页 / 共26页
单片机汽车转向信号灯设计.docx_第2页
第2页 / 共26页
单片机汽车转向信号灯设计.docx_第3页
第3页 / 共26页
单片机汽车转向信号灯设计.docx_第4页
第4页 / 共26页
单片机汽车转向信号灯设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机汽车转向信号灯设计.docx

《单片机汽车转向信号灯设计.docx》由会员分享,可在线阅读,更多相关《单片机汽车转向信号灯设计.docx(26页珍藏版)》请在冰豆网上搜索。

单片机汽车转向信号灯设计.docx

单片机汽车转向信号灯设计

单片机课程设计

题目:

汽车转向信号灯设计

班级:

姓名:

学号:

指导教师:

设计时间:

评语:

 

成绩

目录

1.引言3

2.设计方案及原理4

2.1设计方案4

2.2设计原理:

5

2.2.1开关状态检测6

2.2.2输出控制6

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.2设计原理:

由定时器/计数器与中断系统的联合组成控制系统的工作原理。

如汽车上有一个转弯控制杆,其中有三个位置:

中间位置,汽车不转弯;向上,汽车左转;向下汽车右转。

转弯时,规定左右尾灯、左右头灯仪表板上2个指示灯相应地发出闪烁信号。

应急开关合上时,6个信号灯都应闪烁。

汽车刹车时,2个尾灯发出不闪烁信号。

如正当转弯时刹车,转弯时原应闪烁的信号仍应闪烁。

它们都是频率为1Hz低频闪烁,在汽车停靠而停靠开关合上时,左头灯、右头灯、左尾灯、右尾灯按频率为10Hz频率快速闪烁。

任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。

表1汽车驾驶操纵与信号

驾驶操作

输出信号

左转弯灯

右转弯灯

左头灯

右头灯

左尾灯

右尾灯

左转弯(合上左转弯开关)

闪烁

闪烁

闪烁

右转弯(合上右转弯开关)

闪烁

闪烁

闪烁

合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

闪烁

刹车(合刹车开关)

左转弯时刹车

闪烁

闪烁

闪烁

右转弯时刹车

闪烁

闪烁

闪烁

刹车时合紧急开关

闪烁

闪烁

闪烁

闪烁

左转弯时刹车合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

右转弯时刹车合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

停靠(合停靠开关)

闪烁(10Hz)

闪烁(10Hz)

闪烁(10Hz)

闪烁(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

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的软件编程实现。

利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现灯闪烁的延时和故障检测。

它的重要作用有如下四点:

第一,高速CPU和低速外设之间的配合。

利用中断方式进行的I/O口操作,在宏观上可以看成CPU和外设的并行工作。

第二,实现故障的紧急处理。

当外设发生故障时,可以利用中断系统请求CPU及时处理这些故障。

第三,可以实现实时控制。

3.硬件设计

3.1单片机控制系统电路图

3.1.1汽车转向灯单片机控制系统框图

汽车转向灯单片机控制系统电路是由单片机AT89C51、复位、电源、时钟、LED显示电路、故障检测电路、按键电路构成。

电源电路给控制相关电路提供所需电源;复位电路供上电或按键时复位用。

当要求重新启动单片机或者单片机处于死循环时,都可以由此电路来实现;时钟电路用来产生时钟脉冲信号,供工作使用;通过并行I/O口构成键盘和显示电路,输入程序,即可实现汽车转向灯中各信号灯的功能操作;系统的可靠性有所提高。

汽车转向灯单片机控制系统框图如图3.1所示。

 

图3.1控制系统

3.1.2

汽车转向灯单片机控制系统电路图

汽车转向灯单片机控制系统仿真电路如图3.2所示

图3.2汽车转向灯控制仿真电路图

3.2汽车转向灯控制系统流程图

3.2.1汽车转向灯控制系统主程序流程图

控制系统主程序流程图如图3.2.1所示

 

图3.2.1控制系统主程序流程图

3.2.2中断服务程序流程图

中断服务的程序流程图如图3.2.2所示。

图3.2.2中断服务的程序流程图

3.2.3控制系统键功能流程图

键的功能程序流程图如图3.2.3所示。

图3.2.3键的功能程序流程图

4.软件设计

4.1程序流程图

流程图如下:

(1)主程序流程图如图4.1

主程序

图4.1主程序

(2)子程序流程图如下图

 

图4.2表示左转图4.3表示右转

 

 

图4.5表示刹车

 

图4.4表示紧急

 

图4.6左转刹车图4.7右转刹车

 

 

图4.8紧急刹车图4.9左转紧急刹车

 

 

图4.10右转紧急刹车图4.11停靠

4.2源程序

源程序如下:

ORG0000H

AJMPSTART1

ORG0030H

SAMEEQU4EH

START1:

MOVP1,#00H;无输入时无输出

START:

MOVA,P3;读P3口数据

ANLA,#1FH;取用P3口的低五位数据

CJNEA,#1FH,SHIY;对P3口低五位数据进行判断

AJMPSTART1

SHIY:

MOVSAME,A

LCALLYS;延时

MOVA,P3;读P3口的数据

ANLA,#1FH;取用P3口的低五位数据

CJNEA,#1FH,SHIY1;对P3口的低五位数据进行判断

AJMPSTART1;开关没有动作时无输出

SHIY1:

CJNEA,SAME,START1

CJNEA,#17H,NEXT1;P3.3=0时进入左转分支

AJMPLEFT

NEXT1:

CJNEA,#0FH,NEXT2;P3.4=0时进入右转分支

AJMPRIGHT

NEXT2:

CJNEA,#1DH,NEXT3;P3.1=0时进入紧急分支

AJMPEARGE

NEXT3:

CJNEA,#1EH,NEXT4;P3.0=0时进入刹车分支

AJMPBRAKE

NEXT4:

CJNEA,#16H,NEXT5;P3.0=P3.3=0时进入左转刹车分支

AJMPLEBR

NEXT5:

CJNEA,#0EH,NEXT6;P3.0=P3.4=0时进入右转刹车分支

AJMPRIBR

NEXT6:

CJNEA,#1CH,NEXT7;P3.0=P3.1=0时进入紧急刹车分支

AJMPBRER

NEXT7:

CJNEA,#14H,NEXT8;P3.0=P3.1=P3.3=0时进入左转紧急刹车分支

AJMPLBE

NEXT8:

CJNEA,#0CH,NEXT9;P3.0=P3.1=P3.4=0时进入右转紧急刹车分支

AJMPRBE

NEXT9:

CJNEA,#1BH,NEXT10;P3.2=0时进入停靠分支

AJMPSTOP

NEXT10:

AJMPERROR;其他情况进入错误分支

LEFT:

MOVP1,#2AH;左转分支

LCALLY1s

MOVP1,#00H

LCALLY1s

AJMPSTART

RIGHT:

MOVP1,#54H;右转分支

LCALLY1s

MOVP1,#00H

LCALLY1s

AJMPSTART

EARGE:

MOVP1,#7FH;紧急分支

LCALLY1s

MOVP1,#00H

LCALLY1s

AJMPSTART

BRAKE:

MOVP1,#60H;刹车分支

AJMPSTART

LEBR:

MOVP1,#6AH;左转刹车分支

LCALLY1s

MOVP1,#40H

LCALLY1s

AJMPSTART

RIBR:

MOVP1,#74H;右转刹车分支

LCALLY1s

MOVP1,#20H

LCALLY1s

AJMPSTART

BRER:

MOVP1,#7EH;紧急刹车分支

LCALLY1s

MOVP1,#60H

LCALLY1s

AJMPSTART

LBE:

MOVP1,#7EH;左转紧急刹车分支

LCALLY1s

MOVP1,#40H

LCALLY1s

AJMPSTART

RBE:

MOVP1,#7EH;右转紧急刹车分支

LCALLY1s

MOVP1,#20H

LCALLY1s

AJMPSTART

STOP:

MOVP1,#66H;停靠分支

LCALLY100ms

MOVP1,#00H

LCALLY100ms

AJMPSTART

ERROR:

MOVP1,#80H;错误分支

LCALLY1s

MOVP1,#00H

LCALLY1s

AJMPSTART

YS:

MOVR7,#20H;延时

YS0:

MOVR6,#0FFH

YS1:

DJNZR6,YS1

DJNZR7,YS0

RET

Y1s:

MOVR7,#04H;延时

Y1s1:

MOVR6,#0FFH

Y1s2:

MOVR5,#0FFH

DJNZR5,$

DJNZR6,Y1s2

DJNZR7,Y1s1

RET

Y100ms:

MOVR7,#66H;延时

Y100ms1:

MOVR6,#0FFH

Y100ms2:

DJNZR6,Y100ms2

DJNZR7,Y100ms1

RET

END

5.总结

本系统基于MCS-51开发平台,充分利用了51单片机的各引脚功能,同时有效利用了中断、查询、定时器、计数器,使得汽车转向信号灯控制得以实现。

通过这次课程设计,我们对于单片机应用有了更深的了解,单片机应用技术发展迅速,有着广阔的应用前景,涉及面广,内容丰富。

它用软件的方法设计硬件,并用软件方式设计的软件系统到硬件系统的转换是由有关的开发软件自动完成的。

在设计过程中可用有关软件进行各种仿真,同时系统可现场编程,在线升级等。

整个系统可集成在一个芯片上,体积小,功耗低,可靠性高。

其技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方法,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑综合及优化,逻辑布局布线,逻辑仿真,直至特定目标芯片的适配便宜,逻辑映射,编程下载等工作,为系统的设计开发带来了极大地方便。

在课程设计过程中,我利用网络查找了大量资料,同时得到了指导老师的耐心指导。

通过这次课程设计的实践,我对汇编语言的掌握有了更进一步的提高,在单片机的编程应用方面也更加熟练了。

总的来说,这是一次利用专业基础知识解决实际问题的实践活动,我受益匪浅。

特别是在程序的编写调试,以及仿真电路的绘制方面,使我得到了一次用专业知识、专业技能分析和解决问题的全面的系统的锻炼。

这次课程设计使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后嵌入式程序开发的学习打下了良好的基础。

 

6.参考文献

[1]江力.单片机原理与应用技术【M】北京:

清华大学出版社:

[2]张洪润.单片机应用技术【M】北京:

清华大学出版社:

[3]张毅刚.MC-51单片机原理及应用【M】哈尔滨:

哈尔滨工业大学出版社:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1