汽车转弯灯单片机实习报告.docx

上传人:b****6 文档编号:8723127 上传时间:2023-02-01 格式:DOCX 页数:18 大小:427.33KB
下载 相关 举报
汽车转弯灯单片机实习报告.docx_第1页
第1页 / 共18页
汽车转弯灯单片机实习报告.docx_第2页
第2页 / 共18页
汽车转弯灯单片机实习报告.docx_第3页
第3页 / 共18页
汽车转弯灯单片机实习报告.docx_第4页
第4页 / 共18页
汽车转弯灯单片机实习报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

汽车转弯灯单片机实习报告.docx

《汽车转弯灯单片机实习报告.docx》由会员分享,可在线阅读,更多相关《汽车转弯灯单片机实习报告.docx(18页珍藏版)》请在冰豆网上搜索。

汽车转弯灯单片机实习报告.docx

汽车转弯灯单片机实习报告

汽车转弯灯单片机实习报告

汽车转弯灯单片机控制系统实习报告

一、实习目的

1、掌握51系列单片机的常用指令。

2、熟练的编写51系列单片机的分支程序和一些子程序,如延时子程序。

二、实习要求

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

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

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

数码管正常情况下显示操作功能的所写,故障情况显示“HELP”

在各种模拟驾驶开关作时,信号灯输出的信号如下表:

驾驶操作

输出信号

左转弯灯

右转弯灯

左头灯

右头灯

左尾灯

右尾灯

数码管显示

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

闪烁

闪烁

闪烁

LZ--

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

闪烁

闪烁

闪烁

RZ--

合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

闪烁

JJ--

刹车

SC--

左转弯时刹车

闪烁

闪烁

闪烁

LZSC

右转弯时刹车

闪烁

闪烁

闪烁

RZSC

刹车时,合紧急开关

闪烁

闪烁

闪烁

闪烁

SCJJ

左转弯,刹车合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

LSJJ

右转弯,刹车合紧急开关

闪烁

闪烁

闪烁

闪烁

闪烁

闪烁

RSJJ

停靠

闪烁

10Hz

闪烁

10Hz

闪烁

10Hz

闪烁

10Hz

TK

三、实习设计原理

1、8051单片机的功能

单片机是集CPU、RAM、ROM(或EPROM)、I/O接口、定时器/计数器、中断系统为一体完整的计算机系统。

8051内部含有8位CPU、4KB的ROM和128B的RAM、4个8位I/O接口电路、一个全双工的异步接口、5个终端源和2个中断优先级。

2、单片机各引脚介绍

(1)VCC:

电源。

(2)GND:

接地。

(3)P0口:

是一个8位漏极开路的双向I/O口。

(4)P1口:

是一个具有内部上拉电路的8位双向I/O口。

(5)P2口:

是一个具有内部上拉电路的8位双向I/O口。

(6)P3口:

是一个具有内部上拉电路的8位双向I/O口,P3输出缓冲器能吸入/放出4个TTL输入。

Flash编程及检验时,P3口也接收一些控制信号。

(7)RST:

复位端。

当振荡器工作时,此时高电平将系统复位。

(8)XTAL1:

振荡器反向放大器输入端和内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器输出端。

8051单片机的P3口各种专用功能表如下

引脚

替代的专用功能

P3.0

(串行输入口)

P3.1

(串行输出口)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

(定时器0的外部输入)

P3.5

(定时器1的外部输入)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器读选通)

3、开关状态检测

开关状态检测,对8051来说是输入关系,可轮流检测每个开关状态,以每个开关的状态让相应的发光二极管指示,采用JNBP1.X,REL指令来完成;也可以一次性检测五路开关状态,让它指示,可以用MOVA,P1指令一次把P1端口的状态全部读入,取低5位的状态来指示。

4、输出控制

以发光二极管D0—D7来指示,此设计用SETBP0.X和CLRP0.X指令来完成,也可以用指令MOVP0,#111XXXXXB方法来实现。

5、汽车转弯灯显示

在汽车转弯或应急状态下,外部信号灯和仪表板它们指示灯的闪烁频率为1HZ,称低频信号。

当停靠开关合上时,外部信号灯以30HZ频率闪烁此时为高频信号。

6、汽车转弯灯控制

汽车转弯灯设计5个按键控制信号灯的转向、停靠、应急等。

按键安排见下:

S1(TK)键为停靠开关;

S2(TL)键为左转弯开关;

S3(TR)键为右转弯开关;

S4(JJ)键为紧急开关;

S5(SC)键为刹车开关;

汽车转弯灯主要有单片机、按键、复位、时钟、电源、故障检测电路、LED显示电路组成最基本的单片机系统。

单片机本身的功能强大,汽车转弯灯的驱动用单片机本身的驱动来驱动。

时钟电路由晶振及电容组成,复位电路由按键复位结构组成。

对于键盘电路我们采用独立式键盘,可以具体实现可分为以下几种情况:

直接由并行I/O口来实现。

使用三极管驱动LED来实现。

7、时钟电路

采用单片机内部晶振。

在MCS-51系列单片机内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片外部XTAL1和XTAL2之间跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。

外接晶体振荡器以及电容C

和C2构成并联谐振电路,接在放大器的反馈回路中,C

和C2的大小会对振荡器频率的高低、振荡器的稳定性、起振的快速性和温度特性有一定的影响。

因此建议在采用石英晶体振荡器时C=30+/-10pF,陶瓷振荡器时,C=40+/-10pF,典型值为40pF。

在设计电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在更好的保障振荡器稳定、可靠的工作。

图4.4时钟振荡电路

8、信号灯电路

LED具有二极管的特性,但在导通之后会发光,称之为发光二极管。

与普通的灯泡一样,LED导通后,随着其俩端电压的增加,电流急剧增加,所以,必须给LED串联一个限流电阻,否则一旦通电,LED会被烧坏。

要用74LS373来控制LED,显然这个LED必须要与74LS373单片机的某个脚相连。

这里把LED与74LS373单片机的P0脚相连。

当74LS373单片机的第1脚是高电平时,LED不亮,当第1脚是低电平时,LED亮。

但是在汽车转弯灯里要根据汽车方向来控制信号灯,而实现LED的亮与灭。

 

9、软件设计

1.主程序流程图

 

2.延时子程序流程图

汽车转弯灯单片机控制系统接线图

电路原理图

四、实习步骤

1、使用汽车转弯信号灯控制实验模块。

2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。

3、启动计算机,打开伟福仿真软件,进入仿真环境。

选择仿真器型号、仿真头型号、CPU类型;选择通信端口,测试串行口。

4、打开NIU.ASM源程序,编译无误后,全速运行程序,按表中的各种驾驶操作,打开相应开关,观察发光二极管的亮灭与闪烁,数码显示管的显示。

五、实习程序清单及注释

实现运行程序如下:

TEMPEQU30H

DINBITP1.6

CLKBITP1.7

ORG0000H

LJMPBEGAIN

BEGAIN:

MOVSP,#40H

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

CLREA

MOVP3,#0FFH

MOVR0,#10

MOVA,P3

XRLA,#0FFH

ANLA,#1FH

MOVDPTR,#TABLE

RLA

JMP@A+DPTR

TABLE:

AJMPGO0

AJMPGO1

AJMPGO2

AJMPGOX

AJMPGO4

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGO8

AJMPGO9

AJMPGO10

AJMPGOX

AJMPGO12

AJMPGO13

AJMPGO14

AJMPGOX

AJMPGO16

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

AJMPGOX

GO0:

MOVP1,#0FFH

LJMPBEGAIN

GO1:

MOVP1,#11101010B

SETBTR0

WAIT10:

JNBTF0,WAIT10

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT10

MOVR0,#10

CPLP1.0

CPLP1.2

CPLP1.4

WAIT11:

JNBTF0,WAIT11

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT11

MOVTEMP,#40H

MOVTEMP+1,#40H

MOVTEMP+2,#05BH

MOVTEMP+3,#38H

LCALLDISPLAY

LJMPBEGAIN

GO2:

MOVP1,#11010101B

SETBTR0

WAIT20:

JNBTF0,WAIT20

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT20

MOVR0,#10

CPLP1.1

CPLP1.3

CPLP1.5

WAIT21:

JNBTF0,WAIT21

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT21

MOVTEMP,#40H

MOVTEMP+1,#40H

MOVTEMP+2,#05BH

MOVTEMP+3,#77H

LCALLDISPLAY

LJMPBEGAIN

GO4:

MOVP1,#11111111B

SETBTR0

WAIT40:

JNBTF0,WAIT40

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT40

MOVR0,#10

CPLP1.0

CPLP1.1

CPLP1.2

CPLP1.3

CPLP1.4

CPLP1.5

WAIT41:

JNBTF0,WAIT41

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT41

MOVTEMP,#40H

MOVTEMP+1,#40H

MOVTEMP+2,#0EH

MOVTEMP+3,#0EH

LCALLDISPLAY

LJMPBEGAIN

GO8:

MOVP1,#11001111B

MOVTEMP,#40H

MOVTEMP+1,#40H

MOVTEMP+2,#39H

MOVTEMP+3,#6DH

LCALLDISPLAY

LCALLdelay

LJMPBEGAIN

GO9:

MOVP1,#11001010B

SETBTR0

WAIT90:

JNBTF0,WAIT90

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT90

MOVR0,#10

CPLP1.0

CPLP1.2

CPLP1.4

WAIT91:

JNBTF0,WAIT91

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT91

MOVTEMP,#39H

MOVTEMP+1,#6DH

MOVTEMP+2,#05BH

MOVTEMP+3,#38H

LCALLDISPLAY

LJMPBEGAIN

GO10:

MOVP1,#11000101B

SETBTR0

WAIT100:

JNBTF0,WAIT100

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT100

MOVR0,#10

CPLP1.1

CPLP1.3

CPLP1.5

WAIT101:

JNBTF0,WAIT101

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT101

MOVTEMP,#39H

MOVTEMP+1,#6DH

MOVTEMP+2,#05BH

MOVTEMP+3,#77H

LCALLDISPLAY

LJMPBEGAIN

GO12:

MOVP1,#11000000B

SETBTR0

WAIT120:

JNBTF0,WAIT120

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT120

MOVR0,#10

CPLP1.0

CPLP1.1

CPLP1.2

CPLP1.3

WAIT121:

JNBTF0,WAIT121

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT121

MOVTEMP,#0EH

MOVTEMP+1,#0EH

MOVTEMP+2,#39H

MOVTEMP+3,#6DH

LCALLDISPLAY

LJMPBEGAIN

GO13:

MOVP1,#11000000B

SETBTR0

WAIT130:

JNBTF0,WAIT130

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT130

MOVR0,#10

CPLP1.0

CPLP1.1

CPLP1.2

CPLP1.3

CPLP1.4

WAIT131:

JNBTF0,WAIT131

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT131

MOVTEMP,#0EH

MOVTEMP+1,#0EH

MOVTEMP+2,#6DH

MOVTEMP+3,#38H

LCALLDISPLAY

LJMPBEGAIN

GO14:

MOVP1,#11000000B

SETBTR0

WAIT140:

JNBTF0,WAIT140

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT140

MOVR0,#10

CPLP1.0

CPLP1.1

CPLP1.2

CPLP1.3

CPLP1.5

WAIT141:

JNBTF0,WAIT141

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

DJNZR0,WAIT141

MOVTEMP,#0EH

MOVTEMP+1,#0EH

MOVTEMP+2,#6DH

MOVTEMP+3,#77H

LCALLDISPLAY

LJMPBEGAIN

GO16:

MOVP1,#11000011B

SETBTR0

WAIT160:

JNBTF0,WAIT160

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

CPLP1.2

CPLP1.3

CPLP1.4

CPLP1.5

WAIT161:

JNBTF0,WAIT161

CLRTF0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

MOVTEMP,#00H

MOVTEMP+1,#00H

MOVTEMP+2,#70H

MOVTEMP+3,#78H

LCALLDISPLAY

LJMPBEGAIN

GOX:

MOVTEMP,#73H

MOVTEMP+1,#38H

MOVTEMP+2,#79H

MOVTEMP+3,#76H

LCALLDISPLAY

LCALLdelay

LJMPBEGAIN

DISPLAY:

MOVR0,#TEMP

MOVR3,#4

DP12:

MOVR7,#8

MOVA,@R0

DP13:

RLCA

MOVDIN,C

CLRCLK

SETBCLK

DJNZR7,DP13

INCR0

DJNZR3,DP12

RET

Delay:

MOVr5,#5

DLoop0:

MOVr6,#0

DLoop1:

MOVr7,#0

DLoop2:

NOP

NOP

DJNZr7,DLoop2

DJNZr6,DLoop1

DJNZr5,DLoop0

RET

END

 

四.总结

一周的单片机实训结束了,在我和我们组的组员的共同努力下,在老师的指导和同学的帮助下,我们成功的完成了汽车信号灯控制系统的设计任务。

本学期我们学习了AT89C51单片机的编程设计,看似简单的题目自己动手编写却没想象的那么简单。

刚拿到设计题目时,有种似曾相识的感觉,我们做的题目和以前实验课上做的实验很相似,通过调用几个实验的程序就能完成这个设计。

我们先讨论了并决定了设计方案,但在自己编程时,却发现自己平时上课学习的知识掌握的不扎实的,在编写时常常出现这样那样的错误。

调用时程序格式错误,子程序编写错误等等。

最终,我们还是成功完成了本次设计,很有成就感。

通过这次设计,我再一次学习了单片机的程序设计,特别是多分支程序的设计方法,对一些知识又加深了印象,加深了对所学理论知识的巩固和理解。

本次实训虽然只有短短的一周,但在这一周中通过自己的努力完成的程序设计是这一学期课程学习的成果,是对自己本学期的肯定,同时又提高了自己的动手和动脑能力,更主要的是增强了对这门课程学习的信心。

同时团队的合作也是十分重要的。

了解到了单片机在平时日常生活中的应用是如此的广泛,在信息技术日益发达的现代社会,学习一门技术是多么的重要。

在今后的学习生活中,我们要更加开阔视野,拓展自己的思路,活跃自己的大脑,锻炼自己的思维能力。

认真学习知识,把学到的知识运用到日常的生活中,为以后的毕业工作打好扎实的基础。

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

当前位置:首页 > 职业教育 > 职高对口

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

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