一、设计目标
模拟制作一套汽车信号灯微机控制系统,该系统可以正确反映驾驶操作与灯光信号的对应关系。
二、设计要求
汽车控制所需执行的操作包含左转弯、右转弯、应急、脚刹车、手刹车,这些操作均由相应的开关状态反映,所需控制的信号灯有:仪表盘左/右转弯信号指示灯、手刹抬起信号指示灯、左右头灯和左右尾灯,其驾驶操作与灯光信号对应关系如下:
1. /右转弯灯开关(合上时):仪表盘左/右转弯信号指示灯、左/右头灯、左/右尾灯闪烁。
2. 紧急开关合上:所有灯闪烁。
3. 刹车(合上刹车开关):左右尾灯亮。
4. /右转弯刹车:左/右转弯灯、左/右头灯、左/右尾灯闪烁,右/左尾灯亮。
5. 刹车、合上应急开关:尾灯亮、仪表盘左/右转弯信号指示灯和头灯都闪烁。
6. /右转弯刹车,并合上紧急开关:右/左尾灯亮,其余灯闪烁。
三、课题分析
根据设计要求可以考虑到10种组合模式
通过对以上问题描述的深入分析,可总结出以下三点:
1)通过7个发光二级管模拟两个头灯、两个尾灯和仪表盘上的两个指示灯一个手刹信号灯。
2)利用5个开关可产生的10种组合来分别模拟左转、右转、紧急,刹车,停靠的状态,使发光二极管信号灯相应亮、灭或闪烁。
3)通过程序或者定时/计数器控制灯的闪烁频率。用程序控制。
课题总体设计
  控制信号灯逻辑关系表
开关
左转
右转
应急
脚刹
手刹
左转指示
右转指示
左头灯
右头灯
左尾灯
右尾灯
手刹信号
1
0
0
0
0
1()
0
1()
0
1()
汽车指示灯0
0
0
1
0
0
0
0
1()
0
1()
0
1()
0
0
0
1
0
0
1()
1()
1()
1()
1()
1()
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
0
1()
0
1()
0
1()
1
0
0
1
0
1
0
0
1()
0
1()
1
1()
0
0
0
1
1
0
1()
1()
1()
1()
1
1
0
0
0
0
0
1
0
0
0
0
0
0
1
   
(1) 当用户置开关状态为01H时,也即左转,表左转开关闭合,则仪表左灯、左头灯、左尾灯闪烁,其他灯灭。
(2) 当用户置开关状态为02H时,也即右转,表右转开关闭合,则仪表右灯、右头灯、右尾灯闪烁,其他灯灭。
(3) 当用户置开关状态为03H,表紧急开关闭合,也即出现紧急状态时,除手刹信号灯外所有灯闪烁。
(4) 当用户置开关状态为04H, 表踩刹车(合上刹车开关),则左尾灯、右尾灯亮,其它灯灭。
(5) 当用户置开关状态为05H时,表示汽车左转刹车,则仪表左灯、左头灯、左尾灯闪烁同时右尾灯亮,其它灯灭。
(6) 当用户置开关状态为06H时,表示汽车右转刹车,则仪表右灯、右头灯、右尾灯闪烁同时左尾灯亮,其它灯灭。
(7) 当用户置开关状态为07H时,表示汽车此时处于紧急刹车状态,则仪表左右灯,左右头灯闪烁左右尾灯亮手刹信号灯灭。
(8) 当用户置开关状态为08H时,表示汽车此时处于左转紧急刹车状态,则除手刹信号灯外全部指示灯亮。
(9) 当用户置开关状态为09H时,表示汽车此时处于右转紧急刹车状态,则除手刹信号灯外全部指示灯亮。
(10) 当用户置开关状态为0AH时,表示汽车此时在停靠,则手刹信号灯亮
所以,可以设置实验箱上的7个发光二极管的对应情况为:
        灯状态
    开关状态
仪表左灯
L1
仪表右灯
L2
左头灯
L3
右头灯
L4
左尾灯
L5
右尾灯
L6
手刹信号
L7
1左转(01h
闪烁
闪烁
闪烁
2右转(02h
闪烁
闪烁
闪烁
3紧急(03h
4刹车(04h
5左转+刹车(05h
6右转+刹车(06h
7刹车+紧急(07h
8左转+刹车+紧急(08h
9右转+刹车+紧急(09h
10停靠(0Ah
1 开关状态与灯状态对应表
  课题详细设计
5.1 硬件设计
1 芯片选择
根据课题所要实现的功能,结合所学的知识进行分析,在对任务需求进行详细分析以后,在设计时,选择了五个开关、AT89C51单片机、74LS240芯片以及7只发光二极管。其中AT89C51做为控制核心,当5个开关的状态发生改变后,单片机检测到开关信号后就通过软件输出相关信号,在经过74LS240芯片来驱动7个汽车信号灯根据开关的相应状态闪烁或长亮。
2. 引脚信号定义
5个开关K1—K5分别接到单片机的P3.1—P3.5口,然后发光二极管L1—L7分别连接到单片机的P1.0—P1.6口。开关与灯的逻辑关系(1表示开关合上,0表示打开;1表示灯亮,1()表示闪烁,0表示熄灭)
在本系统中要求制作出汽车信号灯微机控制系统,控制的信号灯有仪表板左、右转弯灯,左、右头灯和左、右尾灯共六类灯,在不同操作控制下可驱动对应的灯闪烁或长亮。在系统中,利用开关在状态的变化来模拟汽车驾驶操作。单片机检测到相应的开关状态类别,产生与此状态相符合的控制信号,使信号灯闪烁或长亮。由于本设计在DVCC—dv52196实验箱上模拟的实现,其本身很多电路无法改变,所以其硬件框图如图2-4所示。
系统硬件框图
3根据图2-4可知,可以合上开关来改变状态,即合上相应的开关后,就代表一种汽车驾驶操作。然后单片机检测到相应状态,然后判断属于那一类别,再利用软件来产生相应控制信号,经74LS240后来驱动汽车信号灯(发光二极管)在闪烁或长亮。
电路原理图
本设计是在DVCC—dv52196实验箱平台上设计的,所以根据设计环境和图2-4的系统框图,可得本系统的电路原理图如图2-5所示。
                  2-5  汽车信号灯控制系统原理图
5.2  软件设计思想
    软件部分与硬件部分一起构成一个完整的系统,对整个系统来说起着重要的作用。在本设计中使用了散传程序的设计方法,它根据系统的某种运算结果,分别转向各个处理程序。该方法利用JMP @A+DPTR,根据运算结果,确定ADPTR的内容,从而实现转移。
1程序流程图       
根据软件的设计思想,可画出本系统程序流程图如图3-1所示。
2
     
课程设计体会
经过这段时间的课程设计,我们最终实现了该汽车信号灯控制系统,感到特别的欣慰,期间获益颇多。将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,重温了汇编语言的编程。在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高,这对我们不久将来离开学校,投入实际工作都是很有借鉴意义的。
希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。经过此次的课程设计,我们学会了合作。我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。
  ;程序清单:
  ;说明:L1左转弯灯,L2右转弯灯; L3左头灯,L4右头灯; L5左尾灯,L6右尾灯,L7手刹信号灯。
  ORG  0000H
        LJMP  START
        ORG  0030H
START:  MOV  P3,0FFH            ;P3口置“1,为输入做准备
        MOV  A,P3
        ANL  A,#1Fh              ;读开关状态
        MOV  DPTR,#TABLE
        RL    A            ;累加器乘2
        JMP  @A+DPTR
TABLE:  AJMP  GO0        ;K1合上,K2打开
        AJMP  GO1        ;K2合上K1打开
        AJMP  GO2        ;K3合上
        AJMP  GO3          ;K4合上
        AJMP  GO4          ;K1,K4合上
        AJMP  GO5          ;K2,K4合上
        AJMP  GO6            ;k3,k4合上
        AJMP  GO7          ;K1,K3,K4合上
        AJMP  GO8                ;k2,k3,k4合上
        AJMP  G09
GO0:    MOV  P1,#00010101B    ;K1合上,其余打开,L1L3L5闪烁
                                ;表示左边转弯
LOOP:  LCALL DELAY              ;延时1S