单片机课程设计汽车灯.docx

上传人:b****5 文档编号:6401770 上传时间:2023-01-06 格式:DOCX 页数:12 大小:64.84KB
下载 相关 举报
单片机课程设计汽车灯.docx_第1页
第1页 / 共12页
单片机课程设计汽车灯.docx_第2页
第2页 / 共12页
单片机课程设计汽车灯.docx_第3页
第3页 / 共12页
单片机课程设计汽车灯.docx_第4页
第4页 / 共12页
单片机课程设计汽车灯.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机课程设计汽车灯.docx

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

单片机课程设计汽车灯.docx

单片机课程设计汽车灯

单片机原理及系统课程设计

专业:

电气工程及其自动化

班级:

电气1004班

姓名:

王英帅

学号:

指导教师:

任丽苗

评语:

 

平时(40)

修改(30)

报告(30)

总成绩

 

兰州交通大学自动化与电气工程学院

2013年3月7日

摘要,基于单片机的工作原理,以八路抢答器为理念,制作广泛

 

抢答按扭

 

优先编

码电路

锁存器

译码电路

译码显示

主持人控制开关

控制电路

报警电路

主持人断开控制开关

抢答无效

报警电路

显示电路

1引言

本设计的设计内容是:

基于单片机的汽车灯控制系统的设计。

模拟汽车在驾驶中的左转弯、右转弯、刹车、合紧急开关、停靠等操作。

在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时以上六个信号灯全部闪烁;汽车刹车时,左右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯应继续闪烁,同时另一个尾信号灯点亮,以上闪烁的信号灯以1Hz频率慢速闪烁;在汽车停靠开关合上时左头信号灯、右头信号灯、左尾信号灯、右尾信号灯以10Hz频率快速闪烁。

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

2设计方案及原理

2.1系统硬件设计概述

该设计方案中,选用ATMEL公司的8位通用单片机AT89C51,让其P0口为系统的输入端口,输入信号由开关的通断产生,而P1口为系统的输出端口,输出给7个LED指示灯。

同时,本设计中将刹车输入信号以中断的方式进行输入,这样在一定程度上就保证了诸如刹车这种紧急情况下实时性较高的需要。

详细的硬件设计方案见后续章节。

2.2系统软件设计概述

根据系统的设计需要,为满足系统实时性的需求,我们把刹车信号处理成外部中断0的形式,其他输入信号以普通的输入信号进行输入,CPU以轮询的方式对它们进行查询。

若CPU发现有输入信号的组合是所期望输入信号组合的任何一组时,则驱动相应的指示灯发出相应的指示情况。

详细的软件设计方案见后续章节。

3硬件设计

3.1硬件设计方案

如前所述,在该设计方案中,选用ATMEL公司的8位通用单片机AT89C51,让其P0口为系统的输入端口,输入信号由开关的通断产生,其中,P0.0为左转弯开关,P0.1为右转弯开关,P0.2为紧急开关,P0.3为停靠开关。

P1口为系统的输出端口,输出给7个LED指示灯。

其中,P1.0到P1.2引脚分别连接汽车的左转弯灯、左头灯和左尾灯,为便于区分,这三个灯均用黄灯表示;P1.3到P1.5引脚分别连接汽车的右转弯灯、右头灯和右尾灯;P1.6引脚连接汽车的故障指示灯。

同时,本设计中将刹车输入信号以外部中断0的方式进行输入,这样在一定程度上就保证了诸如刹车这种紧急情况下实时性较高的需要。

3.2硬件设计原理图

在Proteus仿真环境下所搭建的系统硬件电路图如图3.1所示。

图3.1系统硬件原理图

4软件设计

4.1软件设计方案

根据设计要求,我们把左转弯信号输入、右转弯信号输入、紧急信号输入和停靠信号输入当做普通的信号输入给单片机进行处理,此时CPU采用轮询的方式对各个信号的组合方式逐个地进行排查:

若CPU发现有有效的信号输入,则驱动相应指示灯进行相应的显示,若发现有无效的信号输入,则驱动故障指示灯闪烁,若上述情况都未发生,则CPU继续轮询排查各个输入信号的组合,直到有信号输入。

由于刹车信号是一种很紧急的信号,故此处将刹车信号处理成外部中断信号进行输入,以保证实时性,将损失降低到最小。

此时CPU正在执行主程序(即CPU正以轮询的方式排查各输入信号的组合),当有刹车信号输入时,程序立即转向中断服务程序去处理,其中包含着与刹车有关的各个有效信号的组合,当输入信号的组合有效时,则发出相应的动作,若输入无效信号时,则故障指示灯闪烁。

考虑到一般刹车之后都需要重新启动汽车及整个汽车的控制系统,我们把当系统进入到中断时的各个有效状态人为地设置为重复等待状态,直到系统重新上电复位之后,又恢复到正常的等待状态。

4.2系统设计流程图

4.2.1主程序流程图

在主程序中,首先将输出端口与清零,以免对后续的程序执行结果产生错误的影响。

片内存储单元30H、31H和32H分别用来当做左转弯、右转弯、紧急开关是否闭合的标志存储器,若有相应的信号出现时,则相应的标志存储器置为#FFH,否则,相应的标志存储器清零。

设置这三个标志存储器的目的是为了当有刹车中断产生是,便于CPU辨认是否在刹车的情况下有左转弯、右转弯或者是紧急开关闭合。

为了能够使系统在汽车处于运行状态下连续可靠地工作,主程序采用循环扫描,即轮询的方式工作。

主程序流程图如图4.1所示。

4.2.2中断程序流程图

在中断服务程序中,首先同主程序一样,先将输出口清零,以免影响后续程序执行结果。

紧接着,程序通过一级一级的判断与排查,看是否有与题中所给出的信号组合相符的信号组合出现,若出现了,则相应的指示灯要出现相应的动作,并进入循环执行的状态,直到系统从刹车状态中解除出来,重新上电复位后,又重头开始执行程序;否则,故障指示灯显示。

中断程序流程图如图4.2所示。

图4.1主程序流程图

图4.2中断程序流程图

5总结

经过将近一周时间的单片机课程设计,我又重新温习回顾了有关8051单片机的基本结构和一些基本的指令,并进一步加深了用单片机进行整个系统硬件和程序设计的方法与步骤,巩固了利用单片机进行系统软件设计时的一些技巧与方法。

就本次所选的设计题目而言,我在设计的过程中,首先通过仔细分析题目,来找到解决问题的突破口,这一步对于后续过程的设计具有指导意义。

其次,根据所分析的结果,综合考虑各种必要条件后,设计出了系统的硬件电路图。

接着,进行系统的软件设计,这一步需要详细分析题中各种情况之间的逻辑关系与其自身的要求,还要综合考虑到实际情况的需要。

在搞清楚这些关系之后,为系统编写汇编程序源代码。

然后,在KeilC应用软件环境下,对汇编源代码进行编译、汇编与连接,并将生成的可执行文件与硬件系统相关联,最后在Proteus仿真环境下进行仿真,调试仿真结果是否正确。

通过此次课程设计,我复习掌握了不仅有关单片机的知识,还收获了一些有关论文写作规范的要求,这让我受益匪浅。

参考文献

[1]李华,王思明,张金敏.单片机原理及应用[M].兰州:

兰州大学出版社,2001.5.

[2]徐爱均.单片机原理实用教程-基于Proteus虚拟仿真[M].北京:

电子工业出版社,2009.1.

[3]李广弟.单片机基础[M].北京:

北京航空航天大学出版社,1994.

[4]房小翠.单片机实用系统设计技术[M].北京:

国防工业出版社,1999.

[5]胡汉才.单片机原理及接口技术.清华大学出版社,1995.

附录

ORG0000H

LJMPMAIN

ORG0003H

LJMPINTRT0

MAIN:

MOVP1,#00H;输出口清0

MOV30H,#00H;标志清0

MOV31H,#00H;

MOV32H,#00H;

SETBEX0

SETBEA

HP1:

MOVA,P0;左转判断

CLRC

SUBBA,#01H

JZZZW

JNZJX1

ZZW:

MOV30H,#0FFH;左转指示

SS1:

MOVP1,#07H

LCALLDELAY1

MOVP1,#00H

LCALLDELAY1

SJMPHP1

JX1:

MOV30H,#00H

HP2:

CLRC;右转判断

MOVA,P0

SUBBA,#02H

JZYZW

JNZJX2

YZW:

MOV31H,#0FFH;右转指示

SS2:

MOVP1,#38H

LCALLDELAY1

MOVP1,#00H

LCALLDELAY1

SJMPHP2

JX2:

MOV31H,#00H;合紧急开关判断

HP3:

CLRC

MOVA,P0

SUBBA,#04H

JZHJJ

JNZJX3

HJJ:

MOV32H,#0FFH;合紧急开关指示

SS3:

MOVP1,#3FH

LCALLDELAY1

MOVP1,#00H

LCALLDELAY1

SJMPHP3

JX3:

MOV32H,#00H

HP4:

CLRC;合停靠开关判断

MOVA,P0

SUBBA,#08H

JZTK

JNZJX4

TK:

MOVP1,#36H;合停靠开关指示

LCALLDELAY10

MOVP1,#00H

LCALLDELAY10

SJMPHP4

JX4:

CLRC;有无输入判断

MOVA,P0

JZTZ

CLRC;左转判断

MOVA,P0

SUBBA,#01H

JZTZ

CLRC;右转判断

MOVA,P0

SUBBA,#02H

JZTZ

CLRC;合紧急开关判断

MOVA,P0

SUBBA,#04H

JZTZ

CLRC;合停靠开关判断

MOVA,P0

SUBBA,#08H

JZTZ

AJMPGZ

GZ:

MOVP1,#40H;故障指示

LCALLDELAY10

MOVP1,#00H

LCALLDELAY10

AJMPJX4

TZ:

AJMPMAIN;返回继续

INTRT0:

CLREA;关中断

MOVP1,#00H

CLRC;左转判断

MOVA,30H

SUBBA,#0FFH

JZZZS

CLRC;右转判断

MOVA,31H

SUBBA,#0FFH

JZYZS

PSC:

MOVA,P0;刹车判断

JZSC

JNZGZ1

SC:

MOVP1,#24H

CLRC;刹车合紧急开关判断

MOVA,P0

SUBBA,#04H

JZHJS

SJMPSC

GZ1:

MOVP1,#40H;故障指示

LCALLDELAY10

MOVP1,#00H

LCALLDELAY10

SJMPGZ1

ZZS:

CLRC;左转弯刹车合紧急开关判断

MOVA,P0

SUBBA,#05H

JZZSJ

ZS:

MOVP1,#27H;左转弯刹车指示

LCALLDELAY1

MOVP1,#00H

SETBP1.5

LCALLDELAY1

SJMPZZS

ZSJ:

MOVP1,#3FH;左转弯刹车合紧急开关指示

LCALLDELAY1

MOVP1,#00H

SETBP1.5

LCALLDELAY1

SJMPZSJ

YZS:

CLRC;右转弯刹车合紧急开关判断

MOVA,P0

SUBBA,#06H

JZYSJ

YS:

MOVP1,#3CH;右转弯刹车指示

LCALLDELAY1

MOVP1,#00H

SETBP1.2

LCALLDELAY1

SJMPYZS

YSJ:

MOVP1,#3FH;右转弯刹车合紧急开关指示

LCALLDELAY1

MOVP1,#00H

SETBP1.2

LCALLDELAY1

SJMPYSJ

HJS:

MOVP1,#3FH;刹车时合紧急开关指示

LCALLDELAY1

MOVP1,#00H

SETBP1.2

SETBP1.5

LCALLDELAY1

SJMPHJS

RETI

DELAY10:

MOVR7,#200;延时0.1s子程序

L:

MOVR6,#123

NOP

L1:

DJNZR6,L1

DJNZR7,L

RET

DELAY1:

MOVR5,#10;延时1s子程序

L2:

MOVR7,#200

L3:

MOVR6,#123

NOP

L4:

DJNZR6,L4

DJNZR7,L3

DJNZR5,L2

RET

END

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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