汽车倒车测距仪设计.docx

上传人:b****6 文档编号:6933789 上传时间:2023-01-12 格式:DOCX 页数:17 大小:162.99KB
下载 相关 举报
汽车倒车测距仪设计.docx_第1页
第1页 / 共17页
汽车倒车测距仪设计.docx_第2页
第2页 / 共17页
汽车倒车测距仪设计.docx_第3页
第3页 / 共17页
汽车倒车测距仪设计.docx_第4页
第4页 / 共17页
汽车倒车测距仪设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

汽车倒车测距仪设计.docx

《汽车倒车测距仪设计.docx》由会员分享,可在线阅读,更多相关《汽车倒车测距仪设计.docx(17页珍藏版)》请在冰豆网上搜索。

汽车倒车测距仪设计.docx

汽车倒车测距仪设计

《微机原理》课程设计

——汽车倒车测距仪

 

学院:

自动化

专业:

自动化

班级:

09

(2)班

姓名:

轶平

学号:

6(15)

设计日期:

2010年1月13日

一、课程设计目的及要求3

1.1设计目的3

1.2设计容和要求3

1.3设计任务3

二、超声波简介4

2.1超声波的含义4

2.2超声波的特点4

三、设计方案分析4

3.1设计的思路4

3.2硬件部分4

四、硬件部分设计6

4.1整机连接图6

4.28088最小系统6

4.38255与数码管电路6

4.48253及8259部分电路6

五、软件部分设计6

5.1设计思路及流程图6

5.2程序清单8

六、设计体会及总结12

七、参考文献12

 

一、课程设计目的及要求

1.1设计目的

1.学会用汇编语言编写一个较完整的实用程序。

2.掌握微型计算机技术应用开发的全过程:

分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。

3、复习巩固本学期学到的相关知识,提高自身思考问题解决问题的能力,培养对本课程的兴趣,提高动手的能力。

4、加强课程学习与生活实践的联系,运用所学知识与日常生活实践的结合。

5、学会用8086/8088解决实际问题的能力、硬件使用原理。

 

1.2设计容和要求

1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍物离车辆的距离,同

时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近;

①开机后先显示“———”,并有开机指示灯。

②CPU发射超声波1ms,然后显示60ms;即1ms+60ms为一个工作周期,等待回波,在次周期完成一次探测。

③根据距离远近发出报警声并显示距离。

④障碍物距离小于1m,距离值变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值之差大于10cm更换,否则不更换。

⑤用三LED位数码管显示障碍物距离

2、硬件电路原理图和软件框图;

3、编写控制程序,写出设计任务书(总结报告)。

1.3设计任务

1、选用8088和适当的存储器及接口芯片完成相应的功能。

2、用LED显示器显示电子锁的当前状态。

3、画出详细的硬件连接原理图。

4、给出程序设计思路、画出软件流程图。

5、给出地址分配表。

6、给出所有程序清单并加上必要注释。

7、完成设计说明书(列出参考文献,所用器件型号)。

 

二、超声波简介

2.1超声波的含义

当物体振动时会发出声音,科学家们将每秒振动的次数称为声音的频率,他的单位是HZ。

我们人类耳朵能听到声波频率为20-20000HZ,当声波的频率大于20000HZ或小于20HZ时,我们便听不到。

因此我们把频率高于20000HZ的声波称为超声波。

2.2超声波的特点

(一)超声波在传播时,方向性强,能量易于集中。

(二)超声波能在各种不同媒质中传播,且可传播足够远的距离。

(三)超声波与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息(诊断或对传声媒质产生效应)。

(治疗)

超声波是一种波动形式,它可以作为探测与负载信息的载体或媒介(如B超等用作诊断)。

声波同时又是一种能量形式,当其强度超过一定值时,它就可以通过与传播超声波的媒质的相互作用,去影响,改变以致破坏后者的状态,性质及结构(用作治疗)。

三、设计方案分析

3.1设计的思路

  本系统的设计思想是采用以C8051F单片机为核心,来设计一种低成本、高精度、微型化数字显示超声波测距仪。

超声波测距可测出回波和发射脉冲之间的时间间隔,利用S=Ct/2就可以算出距离,再在LED上显示出来。

当然还可以设置若干个键,以用来控制电路的工作状态。

限制的最大可测距离存有四个因素:

超声波的幅度,反射面的质地,反射面和入射声波之间的夹角以及接收换能器的灵敏度。

接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。

3.2硬件部分

本制作需要以8088为核心,其他可能还需要用到计数器8253、并行接口芯片8255、中断控制器8259,这些芯片我们在课堂上都已经有了解,现在通过课设将他们运用到实际

题目要求系统能够用三位数码管显示当前的距离值,用到的数据端口会比较多。

而8088的数据端口有限,需要通过8255进行并行扩展,通过8255扩展端口,以满足设计的端口需要。

同时题目要求用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近,而且要求根据距离远近发出报警声并显示距离。

障碍物距离小于1m,距离值变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值之差大于10cm更换,否则不更换。

这就需要有一个能够准确计数和计时的芯片,而我们这学期微机课程所学的计数器8253刚好可以满足这个要求,因而选用8255作为系统的计数器和计时器。

系统需要通过中断来判断计时或计数是否完成,而中断控制器8259有七个可屏蔽中断口,通过与计数器8253输出相连可以反映计数的结束与否。

触发单片机进行中断处理,因而选用8259作为中断处理器。

 

四、硬件部分设计

4.1整机连接图

 

4.28088最小系统

本设计8088最小工作模式中,用了1片8284A作为时钟发生器,74LS373,用作地址锁存器;用了1片74LS245作为数据总线收发器,增加数据总线的驱动能力。

原理图如图所示。

当用晶体振荡器作为振荡源时,晶体振荡器连在8284A的X1和X2两端上,F/

接地。

8284A输出的时钟频率均为振荡源频率的三分之一。

同时它对READY准备好信号和RESET复位信号进行同步,外部设备可以在任何时候发出这两个信号,8284A的部逻辑电路在时钟后沿(下降沿)处使READY和RESET有效。

74LS373,作为地址锁存器。

8282(8283)是带有三态缓冲器的8位通用数据锁存器。

它们的引脚和部结构如图2.9所示。

两者的区别仅在于8282的8位输入信号和输出信号之间是同相的,而8283的是反相的。

当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用1片74LS245作为总线收发器。

74LS245是三态输出8位双向数据缓冲器,

是开启缓冲器的控制信号。

有效时,允许数据通过缓冲器;当

无效时,禁止数据通过缓冲器,输出呈高阻状态。

DIR是数据传送方向控制信号。

 

4.38255与数码管电路

8255是Intel系列的并行接口芯片,本电路中8255作为8088系统与外部设备接口。

如图四所示8255数据线和控制线与8088单片机相连,以使单片机可以对8255进行编程。

8255的A、B、C端口均定义为输出。

A端口接数码管的字形线通过对8255三个端口的定义可以控制超声波的发射、蜂鸣器的鸣响和距离的显示。

8255的端口地址经过分析可得88H-8AH(分别为端口A、端口B、端口C及方式控制字)

 

4.48253及8259部分电路

8253部有3个独立的16位定时/计数器通道。

计数器可按照二进制或十进制计数,计数和定时围可在1—65535之间改变,每个通道有6种工作方式,计数频率可高达2MHz以上。

本设计中用74LS138对8253和8259进行选址,电路中用到通道0和通道1两个计数端口,通道0用来计算超声波发射到接收的时间,通道1用来定时,控制“嘟嘟声”声的频率。

其接口电路如图三所示

可编程控制器8259是在多中断源系统中,用于8088等单片机的CPU实现对外部中断请求管理里工作,对他们实现优先权的排队,想CPU发出中断请求信号,提供中断类型码,屏蔽中断输入等功能的中断控制芯片。

8259A采单片或多拍级联方式,可管理不同多级中断。

本设计中使用了8259单级中断,用了IRQ5、IRQ6、IRQ7三个中断源,分别作为超声波回波信号、响铃频率计时、计数器计数中断。

(8253端口地址为84H-87H)

五、软件部分设计

5.1设计思路及流程图

本次设计的软件部分首先分别对各个芯片进行初始化处理,随后,根据要求,画出相应流程图进行汇编编程设计

 

5.2程序清单

DATASEGMENT

TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管显示表(从0-9)

LONGDWFFFFH;距离值

SELECTDB01H,02H,03H

NUMDB00H

RINGDB00H

DATAENDS

STACKSEGMENTSTACK

DW100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK,DS:

DATA,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,DATA

MOVES,AX

MOVDX,01H

CLI

;8253初始化

MOVAL,34H;计数器0,方式2,二进制,低高位写入;用于计算时间

OUT87H,AL

MOVAL,6CH;1ms一次负脉冲

OUT84H,AL

MOVAL,38H

OUT84H,AL

MOVAL,74H;计数器1,方式2,二进制,低高位写入;用于蜂鸣器的声响

OUT87H,AL

MOVAL,6CH;1ms一次负脉冲

OUT84H,AL

MOVAL,38H

OUT84H,AL

;8255初始化

MOVAL,80H;配置A、B口为输出,工作于方式0

MOVDX,8AH

OUTDX,AL

MOVAL,40H;数码管段选择

MOVDX,88H

OUTDX,AL

MOVAL,07H

MOVDX,84H;选中三个数码管

OUTDX,AL

;8259初始化

MOVAX,0000H;段基地址

MOVDS,AX

LEAAX,INTR7;用于每5cm一次负脉冲

MOVSI,003CH

MOV[SI],AX

MOVAX,SEGIN2;入口段基址

MOVSI,003EH

MOV[SI],AX

LEAAX,INTR6;用于每30ms一次脉冲,作为控制喇叭的方波频率

MOVSI,0038H

MOV[SI],AX

MOVAX,SEGIN1

MOVSI,003AH

MOV[SI],AX

LEAAX,INTR5;用于接受超声波时,产生中断

MOVSI,0034H

MOV[SI],AX

MOVAX,SEGIN0

MOVSI,0036H

MOV[SI],AX

;发送1ms的脉冲

SENT:

MOVAL,02H

OUT61H,AL

CALLDELAY1;延时1ms

MOVAL,00H

OUT61H,AL

INAL,21

ANDAL,1F;开中断5,6,7

OUT21,AL

MOVAX,SEGDATA

DISP:

MOVAX,OFFSETLONG;比较是否为初始值

MOVSI,AX

MOVAX,[SI]

CMPAX,FFFFH

JNEDIF

MOVAL,40H;相同则仍然显示"---"

OUT60H,AL

MOVAL,07H

OUT62H,AL

JMPDISP;且循环,直至60ms中断后,重新到GO处

MOVDS,AX

DIF:

MOVBX,0FFSETTABLE

MOVDI,BX

MOVBX,0FFSETSELECT

MOVSI,BX

CMPAX,64H;比较1M,然后转到不同的显示程序

JBESMALLER

;对下述程序的解释:

如果当距离小于1米时,选择调用smaller程序,否则调用bigger(bigger要求显示十米为一个单位)

BIGGER:

CALLDISP_MOST

MOVBL,00;个位为0

CALLDISP_DAN;调用单位显示子程序

JMPDISPLAY

SMALLER:

CALLDISP_MOST

MOVBL,AH;个位放入缓存

CALLDISP_DAN;调用单位显示子程序

JMPDISPLAY

DISP_DAN:

PUSHAX

MOVAL,B[BX+DI];查表得显示码

OUT60,AL;向数码管输出显示码

MOVAL,B[SI];查表得数码管片选

OUT62,AL;向数码管输出片选

CALLDALLY

INCSI;片选+1

POPAX

RET

DISP_MOST:

MOVBL,64H;除以100,得百位

DIVBL;百位放在AL,余数放在AH

MOVBH,00;为查表显示作准备

MOVBL,AL;百位放入缓存

CALLDP_1;调用单位显示子程序

MOVAL,AH;对余数再进行除法运算

MOVAH,00

MOVBL,0AH;除以10,得十位及个位(0AH表示十进制的10)

DIVBL;十位放在AL,个位放在AH(依次放)

MOVBL,AL;十位放入缓存

CALLDP_1;调用单位显示子程序

RET

CODEENDS

ENDSTART

;中断5,超声波接受中断,计算车与障碍物的距离

INTR5PROCFAR

PUSHSI;压堆栈(SIBXAX)

PUSHBX

PUSHAX

MOVAX,OFFSETCOUNT;取5cm计数标志

MOVSI,AX

MOVAL,[SI]

MOVBL,05H

MULBL;乘以5cm,得总长度

MOVBX,OFFSETLENGTH;放入LENGTH标志位

MOVSI,BX

MOV[SI],AX

POPAX

POPBX

POPSI

IRET

INTR5ENDP

;中断6,用于产生不同频率来控制蜂鸣器发不同声音

INTR6PROCFAR

PUSHSI

PUSHAX

MOVAX,OFFSETLONG

MOVSI,AX

MOVAX,[SI]

CMPAX,FFFFH

JEBACK

MOVAX,OFFSETSENT

MOVSI,AL

MOVAL,[SI]

DECAL

CMPAL,00H

JNEBACK;不为0则返回

XORDL

OUT61H,DL;取反输出给B口

JMPBACK

NOT_FFFF:

MOVAL,00H

OUT61H,AL;当检测围大于10m关喇叭

BACK:

POPAX

POPSI

IRET

INTR6ENDP

;中断7,用于累计COUNT值,代表距离

INTR7PROCFAR

PUSHSI

PUSHAX

MOVAX,OFFSETCOUNT

MOVSI,AX

MOVAL,[SI]

INCAL

CMPAL,CCH

JNEBBCAK

MOVAL,00H

MOV[SI],AL;COUNT标志位复位为00H

MOVAX,OFFSETLENGTH

MOVSI,AX

MOVAX,FFFFH

MOV[SI],AX;length标志位复位为FFFFH

BBACK:

POPAX

POPSI

JMPGO

IRET

INTR7ENDP

;延时子程序延时1ms

DALLYPROCFAR

PUSHCX

PUSHAX

MOVCX,0FFFFH

D1:

MOVAX,000FFH

D2:

DECAX

JNED2

LOOPD1

POPAX

POPCX

RET

DALLYENDP

;延时子程序延时60ms

DALLY_60PROCFAR

PUSHCX

PUSHAX

MOVCX,78H

D1:

MOVAX,50H

D2:

DECAX

JNED2

LOOPD1

POPAX

POPCX

RET

DALLY_60ENDP

 

六、设计体会及总结

本次课设最基本的原来全部都来自于我们的书本,所以一切我们都需要回到书本,回到课堂曾经用过的知识,我觉得这一点很好。

我们可以通过我们学过的只是进行复习以及加深对他们的印象,并且将他们与实际结合起来。

下面我就分软件和硬件进行阐述。

1、硬件部分

硬件部分主要又另外一位成员完成,但是要知道,硬件是软件的前提,所以我们通过上网查阅资料,翻阅书本,花了大部分的时间在硬件的确定上,一旦硬件搞定了,那么剩下的就会得心应手一些。

此外,我们还一起研究学习了protel软件,学会了如何绘制电路图。

在这其中也碰到了许多困难,我们通过一同协作克服了这些困难。

 

2、软件部分

软件部分主要由我来编写完成。

其实对于汇编语言的学习已经由来已久,但是总是觉得汇编语言不是我们人们所能掌握的高级语言。

相比于C++这样的高级编程语言,汇编语言可以说是相当复杂的一个工程。

老师曾经教导我们,编程高手花90%时间思考,10%来写。

要把思路理清,表达出来,就要画流程图。

虽然这次设计的思路看似简单,但编写起来依然感到吃力,因为有个元件我第一次编程的——8259,加上中断程序的编写,假若用的是C,确实可以很快搞定,用汇编,不仅要写处理程序,还要写现场保护和现场恢复,之前还要写入口地址。

对于陌生的东西,最好就是参考,于是我就反复看课本上关于中断程序的例子,从中参透,加上上网查找资料和请教师兄,最终完成理论的程序。

3、团队协作

老师为什么安排我们两个人完成这样一个项目,目的就是让我们能够有这种团队协作的意识。

这次我和搭档合作,主要是因为我们曾经有过合作的经验,互相比较了解对方。

所以在合作的过程中还是相当顺利的。

当一个人出现些许问题的时候,需要开动大家的脑筋去解决这些问题,这些可能是一个人所无法做到的,这也是团队协作意识的精髓吧。

4、不足之处及建议

本次课设最让我感觉之深的地方就是要学会一门技能,你需要花上相当大的功夫。

就比如这次的硬件设计,虽然之前学过一点protel,但是一点需要上手去画的时候,却又不知从何下手。

这就是我这次最大的缺陷。

学一门技能,要精,要学的扎实才是真本事。

要说有什么建议的话,我觉得我们这个题目很贴近实际,也希望以后能够有更多这样贴近实际的题目出现,这样我们才能做到理论与实际相结合,才能学的更好!

 

七、参考文献

1、《微型计算机原理及应用》华南理工大学吴荣光吕钧星主编

2、《微型计算机原理及应用试验指导书》华南理工大学教材供应中心耿彤梁佑彬编

3、胡文金.单片机应用技术实训教程.大学,2005

4、夏继强.主编,单片机实验与实践教程.:

航空航天大学,2001

5、少航.单片机实训教程,机械工业,2008

 

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

当前位置:首页 > 小学教育 > 语文

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

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