汽车倒车测距仪设计说明_第1页
汽车倒车测距仪设计说明_第2页
汽车倒车测距仪设计说明_第3页
汽车倒车测距仪设计说明_第4页
汽车倒车测距仪设计说明_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.微机原理课程设计汽车倒车测距仪学院:自动化专业:自动化班级: 09( 2)班姓名:轶平学号: 200930611066 ( 15)设计日期:2010年1月13日. . .目录一、课程设计目的及要求 .31.1设计目的 .31.2设计容和要求 .31.3设计任务 .3二、超声波简介 .42.1超声波的含义 .42.2超声波的特点 .4三、设计方案分析 .43.1设计的思路 .43.2硬件部分 .4四、硬件部分设计 .64.1整机连接图 .64.2 8088最小系统 .64.3 8255与数码管电路 .74.4 8253及 8259 部分电路 .8五、软件部分设计 .95.1设计思路及流程图 .

2、95.2程序清单 .11六、设计体会及总结 .16七、参考文献 .17. . .一、课程设计目的及要求1.1 设计目的1. 学会用汇编语言编写一个较完整的实用程序。2. 掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。3、复习巩固本学期学到的相关知识, 提高自身思考问题解决问题的能力, 培养对本课程的兴趣 , 提高动手的能力。4、加强课程学习与生活实践的联系,运用所学知识与日常生活实践的结合。5、学会用 8086/8088 解决实际问题的能力、硬件使用原理。1.2 设计容和要求1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍

3、物离车辆的距离,同时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近;开机后先显示“”,并有开机指示灯。CPU发射超声波 1ms,然后显示 60ms;即 1ms+60ms为一个工作周期,等待回波,在次周期完成一次探测。根据距离远近发出报警声并显示距离。障碍物距离小于 1m,距离值变化 5cm 更换显示,否则不更换;距离在 1m 以上,新值与原显示值之差大于 10cm更换,否则不更换。用三 LED位数码管显示障碍物距离2、硬件电路原理图和软件框图;3、编写控制程序,写出设计任务书(总结报告)。1.3

4、设计任务1、选用 8088 和适当的存储器及接口芯片完成相应的功能。2、用 LED显示器显示电子锁的当前状态。3、画出详细的硬件连接原理图。4、给出程序设计思路、画出软件流程图。5、给出地址分配表。6、给出所有程序清单并加上必要注释。7、完成设计说明书(列出参考文献,所用器件型号)。. . .二、超声波简介2.1 超声波的含义当物体振动时会发出声音,科学家们将每秒振动的次数称为声音的频率,他的单位是 HZ。我们人类耳朵能听到声波频率为20-20000HZ,当声波的频率大于20000HZ或小于 20HZ 时,我们便听不到。因此我们把频率高于 20000HZ 的声波称为超声波。2.2超声波的特点(

5、 一)超声波在传播时,方向性强,能量易于集中。(二 ) 超声波能在各种不同媒质中传播,且可传播足够远的距离。( 三) 超声波与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息(诊断或对传声媒质产生效应) 。(治疗)超声波是一种波动形式,它可以作为探测与负载信息的载体或媒介(如 B 超等用作诊断)。声波同时又是一种能量形式,当其强度超过一定值时,它就可以通过与传播超声波的媒质的相互作用,去影响,改变以致破坏后者的状态,性质及结构(用作治疗)。三、设计方案分析3.1 设计的思路本系统的设计思想是采用以 C8051F 单片机为核心,来设计一种低成本、高精度、微型化数字显示超声波测距仪。超声波测

6、距可测出回波和发射脉冲之间的时间间隔,利用 S=Ct/2 就可以算出距离,再在 LED上显示出来。当然还可以设置若干个键,以用来控制电路的工作状态。限制的最大可测距离存有四个因素 : 超声波的幅度,反射面的质地,反射面和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。3.2硬件部分本制作需要以8088 为核心,其他可能还需要用到计数器8253、并行接口芯片. . .8255、中断控制器 8259,这些芯片我们在课堂上都已经有了解,现在通过课设将他们运用到实际题目要求系统能够用三位数码管显示当前的距离值,用到的数据端口会比较多。而 8088 的数

7、据端口有限,需要通过 8255 进行并行扩展,通过 8255 扩展端口,以满足设计的端口需要。同时题目要求用间歇的“嘟嘟”声发出警报, “嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近,而且要求根据距离远近发出报警声并显示距离。障碍物距离小于 1m,距离值变化 5cm更换显示,否则不更换;距离在 1m以上,新值与原显示值之差大于 10cm 更换,否则不更换。这就需要有一个能够准确计数和计时的芯片,而我们这学期微机课程所学的计数器 8253 刚好可以满足这个要求,因而选用 8255 作为系统的计数器和计时器。系统需要通过中断来判

8、断计时或计数是否完成,而中断控制器8259 有七个可屏蔽中断口,通过与计数器 8253 输出相连可以反映计数的结束与否。触发单片机进行中断处理,因而选用 8259 作为中断处理器。. . .四、硬件部分设计4.1 整机连接图4.2 8088 最小系统本设计 8088 最小工作模式中,用了 1 片 8284A 作为时钟发生器, 74LS373,用作地址锁存器;用了 1 片 74LS245作为数据总线收发器,增加数据总线的驱动能力。原理图如图所示。当用晶体振荡器作为振荡源时,晶体振荡器连在8284A 的 X1 和 X2 两端上,F/ C 接地。 8284A 输出的时钟频率均为振荡源频率的三分之一。

9、同时它对READY准备好信号和 RESET复位信号进行同步,外部设备可以在任何时候发出这两个信号,8284A的部逻辑电路在时钟后沿(下降沿)处使READY和 RESET有效。74LS373,作为地址锁存器。 8282(8283) 是带有三态缓冲器的8 位通用数据锁. . .存器。它们的引脚和部结构如图 2.9 所示。两者的区别仅在于 8282 的 8 位输入信号和输出信号之间是同相的,而 8283 的是反相的。当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用1 片 74LS245 作为总线收发器。 74LS245 是三态输出8 位双向数据缓冲器,OE 是开启缓冲器的控制

10、信号。当OE 有效时,允许数据通过缓冲器;当 OE 无效时,禁止数据通过缓冲器,输出呈高阻状态。 DIR 是数据传送方向控制信号。4.3 8255 与数码管电路8255 是 Intel 系列的并行接口芯片,本电路中 8255 作为 8088 系统与外部设备接口。如图四所示 8255 数据线和控制线与 8088 单片机相连,以使单片机可以对 8255 进行编程。 8255 的 A、B、C 端口均定义为输出。 A 端口接数码管的字形线通过对 8255 三个端口的定义可以控制超声波的发射、蜂鸣器的鸣响和距离的显示。8255 的端口地址经过分析可得 88H-8AH(分别为端口 A、端口 B、端口 C

11、及方式控制字). . .4.4 8253 及 8259部分电路8253 部有 3 个独立的 16 位定时计数器通道。计数器可按照二进制或十进制计数,计数和定时围可在 165535 之间改变,每个通道有 6 种工作方式,计数频率可高达 2MHz以上。本设计中用 74LS138 对 8253 和 8259 进行选址,电路中用到通道 0 和通道 1 两个计数端口,通道 0 用来计算超声波发射到接收的时间,通道 1 用来定时,控制“嘟嘟声”声的频率。其接口电路如图三所示可编程控制器8259 是在多中断源系统中,用于8088 等单片机的 CPU实现对外部中断请求管理里工作,对他们实现优先权的排队,想CP

12、U发出中断请求信号,提供中断类型码,屏蔽中断输入等功能的中断控制芯片。8259A 采单片或多拍级联方式,可管理不同多级中断。本设计中使用了8259 单级中断,用了IRQ5、IRQ6、IRQ7 三个中断源,分别作为超声波回波信号、响铃频率计时、计数器计数中断。( 8253 端口地址为 84H-87H). . .五、软件部分设计5.1 设计思路及流程图本次设计的软件部分首先分别对各个芯片进行初始化处理,随后,根据要求,画出相应流程图进行汇编编程设计开始8253、 8255 、 8259初始化编程发射超声波信号1ms,且 8253 开始计数开中断是否有回波?. . .进入中断子程序.IRQ5IRQ6

13、IRQ7调用计数count调用COUNTCOUNT+时间T=COUNT*TO8253计数T0=25ms8253置数距离L=17*T/2msT1=COUNT*25msN返回主程序L1m?Y返回主程序每变换5cm,显示没变换10cm,显示一次一次返回主程序. . .5.2 程序清单DATASEGMENTTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数码管显示表 ( 从 0-9)LONG DW FFFFH;距离值SELECT DB01H,02H,03HNUMDB00HRINGDB00HDATAENDSSTACKSEGMENT STACKDW 100

14、DUP(?)STACKENDSCODESEGMENTASSUME CS:CODE, SS:STACK, DS:DATA, ES:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,DATAMOV ES,AXMOV DX,01HCLI;8253 初始化MOV AL,34H;计数器0,方式2,二进制,低高位写入;用于计算时间OUT 87H,ALMOV AL,6CH;1ms 一次负脉冲OUT 84H,ALMOV AL,38HOUT 84H,ALMOV AL,74H; 计数器1,方式2,二进制,低高位写入;用于蜂鸣器的声响OUT 87H

15、,AL. . .MOV AL,6CH;1ms一次负脉冲OUT 84H,ALMOV AL,38HOUT 84H,AL;8255 初始化MOV AL,80H; 配置 A、B 口为输出,工作于方式0MOV DX,8AHOUT DX,ALMOV AL,40H;数码管段选择MOV DX,88HOUT DX,ALMOV AL,07HMOV DX,84H; 选中三个数码管OUT DX,AL;8259初始化MOV AX,0000H;段基地址MOV DS,AXLEA AX,INTR7;用于每 5cm一次负脉冲MOV SI,003CHMOV SI,AXMOV AX,SEG IN2; 入口段基址MOV SI,003

16、EHMOV SI,AXLEA AX,INTR6;用于每 30ms一次脉冲,作为控制喇叭的方波频率MOV SI,0038HMOV SI,AXMOV AX,SEG IN1MOV SI,003AHMOV SI,AXLEA AX,INTR5;用于接受超声波时,产生中断MOV SI,0034HMOV SI,AXMOV AX,SEG IN0MOV SI,0036HMOV SI,AX; 发送 1ms的脉冲SENT:MOV AL,02HOUT 61H,ALCALL DELAY1;延时 1msMOV AL,00HOUT 61H,ALIN AL,21AND AL,1F;开中断 5,6,7OUT 21,ALMOV

17、AX,SEG DATADISP:. . .MOV AX,OFFSET LONG; 比较是否为初始值MOV SI,AXMOV AX,SICMP AX,FFFFHJNE DIFMOV AL,40H;相同则仍然显示-OUT 60H,ALMOV AL,07HOUT 62H,ALJMP DISP;且循环,直至60ms中断后,重新到GO处MOV DS,AXDIF:MOV BX,0FFSET TABLEMOV DI,BXMOV BX,0FFSET SELECTMOV SI,BXCMP AX,64H; 比较 1M,然后转到不同的显示程序JBE SMALLER; 对下述程序的解释:如果当距离小于1 米时,选择调

18、用 smaller程序,否则调用 bigger(bigger 要求显示十米为一个单位)BIGGER: CALL DISP_MOSTMOV BL,00;个位为 0CALL DISP_DAN;调用单位显示子程序JMP DISPLAYSMALLER: CALL DISP_MOSTMOV BL,AH;个位放入缓存CALL DISP_DAN;调用单位显示子程序JMP DISPLAYDISP_DAN:PUSH AXMOV AL,BBX+DI ;查表得显示码OUT 60,AL;向数码管输出显示码MOV AL,BSI;查表得数码管片选OUT 62,AL;向数码管输出片选CALL DALLYINC SI;片选

19、+1POP AXRETDISP_MOST:MOV BL,64H;除以 100,得百位DIV BL;百位放在 AL, 余数放在 AH. . .MOV BH,00;为查表显示作准备MOV BL,AL;百位放入缓存CALL DP_1;调用单位显示子程序MOV AL,AH;对余数再进行除法运算MOV AH,00MOV BL,0AH;除以 10,得十位及个位(0AH表示十进制的10)DIV BL; 十位放在 AL,个位放在 AH(依次放)MOV BL,AL; 十位放入缓存CALL DP_1; 调用单位显示子程序RETCODE ENDSEND START; 中断 5,超声波接受中断,计算车与障碍物的距离I

20、NTR5 PROC FARPUSH SI; 压堆栈( SI BX AX)PUSH BXPUSH AXMOV AX,OFFSET COUNT; 取 5cm 计数标志MOV SI,AXMOV AL,SIMOV BL,05HMUL BL; 乘以 5cm,得总长度MOV BX,OFFSET LENGTH;放入 LENGTH标志位MOV SI,BXMOV SI,AXPOP AXPOP BXPOP SIIRETINTR5 ENDP;中断 6,用于产生不同频率来控制蜂鸣器发不同声音INTR6 PROC FARPUSH SIPUSH AXMOV AX,OFFSET LONGMOV SI,AXMOV AX,SI

21、CMP AX,FFFFHJE BACKMOV AX,OFFSET SENTMOV SI,ALMOV AL,SI. . .DEC ALCMP AL,00HJNE BACK;不为 0 则返回XOR DLOUT 61H,DL;取反输出给B口JMP BACKNOT_FFFF:MOV AL,00HOUT 61H,AL;当检测围大于10m关喇叭BACK:POP AXPOP SIIRETINTR6 ENDP;中断 7,用于累计COUNT值,代表距离INTR7 PROC FARPUSH SIPUSH AXMOV AX,OFFSET COUNTMOV SI,AXMOV AL,SIINC ALCMP AL,CCH

22、JNE BBCAKMOV AL,00HMOV SI,AL;COUNT标志位复位为00HMOV AX,OFFSET LENGTHMOV SI,AXMOV AX,FFFFHMOV SI,AX;length标志位复位为FFFFHBBACK:POP AXPOP SIJMP GOIRETINTR7 ENDP; 延时子程序延时 1msDALLY PROC FARPUSH CXPUSH AXMOV CX,0FFFFHD1: MOV AX,000FFHD2: DEC AXJNE D2LOOP D1. . .POP AXPOP CXRETDALLY ENDP; 延时子程序 延时 60ms DALLY_60 PR

23、OC FARPUSH CXPUSH AXMOV CX,78HD1: MOV AX,50HD2: DEC AXJNE D2LOOP D1POP AXPOP CXRETDALLY_60 ENDP六、设计体会及总结本次课设最基本的原来全部都来自于我们的书本,所以一切我们都需要回到书本,回到课堂曾经用过的知识,我觉得这一点很好。我们可以通过我们学过的只是进行复习以及加深对他们的印象,并且将他们与实际结合起来。下面我就分软件和硬件进行阐述。1、硬件部分硬件部分主要又另外一位成员完成,但是要知道,硬件是软件的前提,所以我们通过上网查阅资料,翻阅书本,花了大部分的时间在硬件的确定上,一旦硬件搞定了 ,那么剩下的就会得心应手一些。此外,我们还一起研究学习了 protel 软件,学会了如何绘制电路图。在这其中也碰到了许多困难,我们通过一同协作克服了这些困难。. . .2、软件部分软件部分主要由我来编写完成。其实对于汇编语言的学习已经由来已久,但是总是觉得汇编语言不是我们人们所能掌握的高级语言。相比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论