单片机原理及系统课程设计
评语: 考勤(10) 守纪(10) 过程(40) 设计报告(30) 答辩(10) 总成绩(100)
专 业:
班 级: 姓 名: 学 号: 指导教师:
兰州交通大学自动化与电气工程学院
2010 年 3 月 7 日
单片机原理及系统课程设计报告
基于单片机的汽车转向灯设计
摘 要
本设计采用单片机控制,在控制系统中,选择了5个开关、1个ATC51单片机、7只发光二极管。其中ATC51单片机作为控制核心,用5个开关的状态来模拟汽车转弯时相关状态。用7只发光二极管的明灭来模拟汽车灯在相关信号下的状态。
关键词:单片机;汽车转弯信号灯;ATC51
Abstract:
The design uses a single-chip control, select the five switches in the control system, an ATC51 microcontroller seven light-emitting diodes. ATC51 microcontroller as control core, with the status of the five switches to simulate car turns state. Seven light-emitting diode Ming off car lights to simulate the state related signals.
Key Words: SCM,Automotive turn signal lights ,ATC51
1 引言
在当今社会,汽车方便了人们的生活,人们也开始了依赖于汽车。汽车的数量也是越来越多,但是一些交通事故也是越来越多。所以汽车转向灯也成了汽车必不可少的装备,汽车转向灯可以有效的对行人或者其他车辆起到一定的提示作用。传统的汽车转向灯由于自身条件的,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度变化较大的环境往往不能满足要求。
2 设计方案及原理
2.1设计方案
成。
以单片机ATC51为核心芯片通过控制LED的显示来模拟汽车转向灯,即用开关1-5的闭合分别模拟刹车、紧急、停靠、左转、右转、操作;用LED发光二极管D1-D7的亮灭显示来模拟汽车的错误指示灯、左头灯、右头灯、左转弯信号灯、右转弯信号灯、左尾灯、右尾灯、的显示情况。转向时,规定左右尾灯、左
- 1 -
汽车转向灯电路是由单片机ATC51、LED显示电路、按键电路等几部分构
右头灯仪表板上2个指示灯相应地发出闪烁信号;应急开关合上时,7个信号灯都应闪烁;汽车刹车时,2个尾灯发出稳定亮信号。
系统组成框图如图1所示。
按键电路ATC51LED显示电路图1 控制系统框图
2.2工作原理
2.2.1 开关状态检测
开关状态检测,对ATC51来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示;也可以一次性检测五路开关状态,即用MOV A, P3 指令一次性把P3 端口的状态全部读入,取低5位的状态来指示。 2.2.2 输出控制
发光二极管D1-D7来指示,设计用指令MOV P1, #XXXXXXXXB方法来实现。 2.2.3 定时器
信号的控制是定时器得以实现的结果。在汽车转弯灯的控制中主要利用ATC51单片机的可编程定时器来实现灯闪烁的延时,即通过对系统时钟脉冲的计数来实现的,计数值由程序设定。利用定时器,产生高频闪烁功能。 2.2.4 循环系统
通过语句的反复调用和循环来达到主程序循环,并产生低频闪烁功能。 2.2.5 汽车转向灯控制
汽车转弯灯设计5个按键控制信号灯的转向、停靠、应急等。按键安排为:1键为刹车开关;2键为紧急开关;3键为停靠开关;4键为左转弯开关;5键为右转弯开关。
3 硬件设计
3.1 按键电路
本设计选用拨动开关,单片机引脚作为输入使用,首先置“1”。当键没有被
- 2 -
单片机原理及系统课程设计报告
按下时,单片机引脚上为高电平;而当键被按下去后,引脚接地,单片机引脚上为低电平。是否有键按下,以及被按下的是哪一个可以通过单片机引脚电平显示出来。图1是电路板上按键的接法,5个按键分别接到P3.0、P3.1、P3.2、P3.3、P3.4。对于这种接法,各程序可以采用不断查询的方法,检测是否有键闭合,判断键号并转入相应的键处理。其电路图如图2所示。
图2 按键电路图
3.2指示灯电路
芯片ULN2803有功率放大的驱动和反相的功能。当单片机P1.0-P1.6发出高电平时,通过ULN2803反相器变为低电平,使指示灯发亮。其电路图如图3所示。
图3 指示灯电路
3.3 汽车转向灯总电路原理图
- 3 -
汽车转向灯设计总电路见附录一所示。
4 软件设计
4.1程序主旨思想
主程序中完成对汽车转向灯控制系统的初始化工作,判断是否有键被按下,当开关没有动作时无输出,调用延时程序,当判断有开关被按下时,通过逐位比较判断进入各分支,其中也在各分支中调用了延时程序和定时器,以使LED在不同的分支以相应的频率闪烁。P3.0=刹车;P3.1=紧急;P3.2=停靠;P3.3=左转;P3.4=右转。键值是根据P3的状态来确定的。
例:P3=,表明刹车键按下,它的键值是1EH(只看后面五位)。 汽车转向灯设计程序清单见附录二所示 4.2指示灯电路流程图
开始N是否有键按下Y读取键值P1.0=0?NY刹车YP1.1=0?紧急YNP1.2=0?N停靠YP1.3=0?N左转YP1.4=0?右转N错误灯亮各自控制的灯发光结束
- 4 -
单片机原理及系统课程设计报告
5系统仿真及实际调试
操作说明如下:
按1刹车键,D6、D7相应信号灯亮;
按2紧急键,D1、D2、D3、D4、D5、D6、D7信号灯闪烁; 按3停靠键,D2、D3、 D6、D7闪烁; 按4左转弯键,D2、D4、D6闪烁; 按5右转弯键,D3、D5、D7闪烁; 以右转弯状态仿真图为例。
图4 汽车右转弯仿真图
以左转弯状态仿真图为例
- 5 -
图5 汽车左转弯仿真图
6总结
本次课程设计,我完成了对汽车转向灯的基本功能模拟,通过LED灯的状态来模拟车转向灯,能实现通过按键实现转向,停车等信号的模拟。这次课设Visio、Proteus、Keil等一系列软件,加强了自己的操作水平。
总而言之,通过这次课设,我不仅进一步熟悉掌握了单片机和其他电路方面的知识,同时跟老师和同学学到的很多知识也使我受益匪浅。
参考文献
[1] 吴凌燕,王剑舵,邵红等.基于protuce的汽车转向灯[J]计量与测试技术,2011,(11):56-59. [2] 李华,王思明,张金敏.单片机原理及应用[M].兰州:兰州大学出社,2001.5.
[3] 徐爱均.单片机原理实用教程-基于Proteus虚拟仿真[M].北京:电子工业出版社,2009.1.
- 6 -
单片机原理及系统课程设计报告
附录一 汽车转向灯控制系统总电路图
- 7 -
附录二 汽车转向灯设计程序清单
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,#1BH,NEXT5 ;P3.2=0时进入停靠分支 AJMP STOP NEXT5: 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 Y100ms MOV P1,#00H LCALL Y100ms AJMP START
- 8 -
单片机原理及系统课程设计报告
BRAKE: MOV P1,#60H AJMP START
STOP: MOV P1,#66H LCALL Y1s MOV P1, #00H LCALL Y1s AJMP START ERROR: MOV P1,#01H LCALL Y1s
MOV P1, #00H LCALL Y1S AJMP START
YS: MOV R7,#04H 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 R6, Y1s2 DJNZ R7, Y1s1 RET
Y100ms: MOV R7,#66H Y100ms1: MOV R6, #0FFH Y100ms2: DJNZ R6, Y100ms2 DJNZ R7, Y100ms1 RET END
;刹车分支 ;停靠分支 ;错误分支 ;延时 ;延时 ;延时 - 9 -