版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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与数码管电路64.4 8253及8259部分电路6五、软件部分设计65.1设计思路及流程图65.2程序清
2、单8六、设计体会及总结12七、参考文献12一、课程设计目的及要求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 设计任务1、选用8088和适当的存储器及接口芯片完成相应的功能
4、。2、用LED显示器显示电子锁的当前状态。3、画出详细的硬件连接原理图。4、给出程序设计思路、画出软件流程图。5、给出地址分配表。6、给出所有程序清单并加上必要注释。7、完成设计说明书(列出参考文献,所用器件型号)。二、超声波简介2.1 超声波的含义当物体振动时会发出声音,科学家们将每秒振动的次数称为声音的频率,他的单位是HZ。我们人类耳朵能听到声波频率为20-20000HZ,当声波的频率大于20000HZ或小于20HZ时,我们便听不到。因此我们把频率高于20000HZ的声波称为超声波。2.2 超声波的特点(一) 超声波在传播时,方向性强,能量易于集中。 (二) 超声波能在各种不同媒质中传播,
5、且可传播足够远的距离。(三) 超声波与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息(诊断或对传声媒质产生效应)。(治疗) 超声波是一种波动形式,它可以作为探测与负载信息的载体或媒介(如B超等用作诊断)。 声波同时又是一种能量形式,当其强度超过一定值时,它就可以通过与传播超声波的媒质的相互作用,去影响,改变以致破坏后者的状态,性质及结构(用作治疗)。三、设计方案分析3.1 设计的思路本系统的设计思想是采用以C8051F单片机为核心,来设计一种低成本、高精度、微型化数字显示超声波测距仪。超声波测距可测出回波和发射脉冲之间的时间间隔,利用S=Ct/2就可以算出距离,再在LED上显示出来。当
6、然还可以设置若干个键,以用来控制电路的工作状态。限制的最大可测距离存有四个因素:超声波的幅度,反射面的质地,反射面和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。3.2 硬件部分 本制作需要以8088为核心,其他可能还需要用到计数器8253、并行接口芯片8255、中断控制器8259,这些芯片我们在课堂上都已经有了解,现在通过课设将他们运用到实际题目要求系统能够用三位数码管显示当前的距离值,用到的数据端口会比较多。而8088的数据端口有限,需要通过8255进行并行扩展,通过8255扩展端口,以满足设计的端口需要。同时题目要求用间歇的“嘟嘟”声发
7、出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近,而且要求根据距离远近发出报警声并显示距离。障碍物距离小于1m,距离值变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值之差大于10cm更换,否则不更换。这就需要有一个能够准确计数和计时的芯片,而我们这学期微机课程所学的计数器8253刚好可以满足这个要求,因而选用8255作为系统的计数器和计时器。系统需要通过中断来判断计时或计数是否完成,而中断控制器8259有七个可屏蔽中断口,通过与计数器8253输出相连可以反映计数的结束与否。触发单片机进行中断处理,因而选用
8、8259作为中断处理器。四、硬件部分设计4.1整机连接图4.2 8088最小系统本设计8088最小工作模式中,用了1片8284A作为时钟发生器, 74LS373,用作地址锁存器;用了1片74LS245作为数据总线收发器,增加数据总线的驱动能力。原理图如图所示。当用晶体振荡器作为振荡源时,晶体振荡器连在8284A 的X1和X2两端上,F/接地。8284A输出的时钟频率均为振荡源频率的三分之一。同时它对READY准备好信号和RESET复位信号进行同步,外部设备可以在任何时候发出这两个信号,8284A的内部逻辑电路在时钟后沿(下降沿)处使READY和RESET有效。74LS373,作为地址锁存器。8
9、282(8283)是带有三态缓冲器的8位通用数据锁存器。它们的引脚和内部结构如图2.9所示。两者的区别仅在于8282的8位输入信号和输出信号之间是同相的,而8283的是反相的。当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用1片74LS245作为总线收发器。74LS245是三态输出8位双向数据缓冲器, 是开启缓冲器的控制信号。当有效时,允许数据通过缓冲器;当无效时,禁止数据通过缓冲器,输出呈高阻状态。DIR是数据传送方向控制信号。4.3 8255与数码管电路8255是Intel系列的并行接口芯片,本电路中8255作为8088系统与外部设备接口。如图四所示8255数据线和
10、控制线与8088单片机相连,以使单片机可以对8255进行编程。8255的A、B、C端口均定义为输出。A端口接数码管的字形线通过对8255三个端口的定义可以控制超声波的发射、蜂鸣器的鸣响和距离的显示。8255的端口地址经过分析可得88H-8AH(分别为端口A、端口B、端口C及方式控制字)4.4 8253及8259部分电路 8253内部有3个独立的16位定时计数器通道。计数器可按照二进制或十进制计数,计数和定时范围可在165535之间改变,每个通道有6种工作方式,计数频率可高达2MHz以上。本设计中用74LS138对8253和8259进行选址,电路中用到通道0和通道1两个计数端口,通道0用来计算超
11、声波发射到接收的时间,通道1用来定时,控制“嘟嘟声”声的频率。其接口电路如图三所示 可编程控制器8259是在多中断源系统中,用于8088等单片机的CPU实现对外部中断请求管理里工作,对他们实现优先权的排队,想CPU发出中断请求信号,提供中断类型码,屏蔽中断输入等功能的中断控制芯片。8259A采单片或多拍级联方式,可管理不同多级中断。本设计中使用了8259单级中断,用了IRQ5、IRQ6、IRQ7三个中断源,分别作为超声波回波信号、响铃频率计时、计数器计数中断。(8253端口地址为84H-87H)五、软件部分设计5.1设计思路及流程图 本次设计的软件部分首先分别对各个芯片进行初始化处理,随后,根
12、据要求,画出相应流程图进行汇编编程设计5.2程序清单DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数码管显示表(从0-9)LONG DW FFFFH ;距离值SELECT DB 01H,02H,03H NUM DB 00HRING DB 00H DATA ENDSSTACK SEGMENT STACKDW 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATA, ES:DATASTART:MOV AX,DATA MOV DS,AX MOV A
13、X,STACK MOV SS,AX MOV AX,DATA MOV ES,AX MOV DX,01HCLI;8253初始化 MOV AL,34H ;计数器0,方式2,二进制,低高位写入;用于计算时间 OUT 87H,AL MOV AL,6CH ;1ms一次负脉冲 OUT 84H,AL MOV AL,38H OUT 84H,AL MOV AL,74H ;计数器1,方式2,二进制,低高位写入;用于蜂鸣器的声响 OUT 87H,AL MOV AL,6CH ;1ms一次负脉冲 OUT 84H,AL MOV AL,38H OUT 84H,AL ;8255初始化 MOV AL,80H ;配置A、B口为输出
14、,工作于方式0MOV DX,8AH OUT DX,AL MOV AL,40H ;数码管段选择 MOV DX,88H OUT DX,AL MOV AL,07H MOV DX,84H ;选中三个数码管 OUT DX,AL ;8259初始化 MOV AX,0000H ;段基地址MOV DS,AXLEA AX,INTR7 ;用于每5cm一次负脉冲 MOV SI,003CHMOV SI,AX MOV AX,SEG IN2 ;入口段基址 MOV SI,003EHMOV SI,AXLEA AX,INTR6 ;用于每30ms一次脉冲,作为控制喇叭的方波频率 MOV SI,0038HMOV SI,AX MOV
15、AX,SEG IN1 MOV SI,003AHMOV SI,AXLEA AX,INTR5 ;用于接受超声波时,产生中断 MOV SI,0034HMOV SI,AX MOV AX,SEG IN0 MOV SI,0036HMOV SI,AX;发送1ms的脉冲SENT: MOV AL,02H OUT 61H,AL CALL DELAY1 ;延时1ms MOV AL,00H OUT 61H,AL IN AL,21 AND AL,1F ;开中断5,6,7 OUT 21,AL MOV AX,SEG DATADISP: MOV AX,OFFSET LONG ;比较是否为初始值MOV SI,AXMOV AX,
16、SICMP AX,FFFFHJNE DIFMOV AL,40H ;相同则仍然显示"-" OUT 60H,AL MOV AL,07H OUT 62H,AL JMP DISP ;且循环,直至60ms中断后,重新到GO处 MOV DS,AXDIF: MOV BX,0FFSET TABLE MOV DI,BXMOV BX,0FFSET SELECTMOV SI,BXCMP AX,64H ;比较1M,然后转到不同的显示程序JBE SMALLER ;对下述程序的解释:如果当距离小于1米时,选择调用smaller程序,否则调用bigger(bigger要求显示十米为一个单位)BIGGER
17、: 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 ;片选+1POP AXRETDISP_MOST: MOV BL,64H ;除以100,得
18、百位 DIV BL ;百位放在AL,余数放在AH MOV BH,00 ;为查表显示作准备 MOV BL,AL ;百位放入缓存 CALL DP_1 ;调用单位显示子程序MOV AL,AH ;对余数再进行除法运算MOV AH,00 MOV BL,0AH ;除以10,得十位及个位(0AH表示十进制的10)DIV BL ;十位放在AL,个位放在AH(依次放)MOV BL,AL ;十位放入缓存CALL DP_1 ;调用单位显示子程序RETCODE ENDSEND START ;中断5,超声波接受中断,计算车与障碍物的距离 INTR5 PROC FARPUSH SI;压堆栈(SI BX AX)PUSH B
19、XPUSH 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,SICMP AX,FFFFHJE BACKMOV AX,OFFSET SENTMOV SI,ALMO
20、V AL,SIDEC 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,CCHJNE BBCAKMOV AL,00HMOV SI,AL ;COUNT标志位复位为00HMOV AX,O
21、FFSET LENGTHMOV SI,AXMOV AX,FFFFHMOV SI,AX ;length标志位复位为FFFFHBBACK:POP AXPOP SIJMP GOIRETINTR7 ENDP;延时子程序 延时1msDALLY PROC FAR PUSH CX PUSH AX MOV CX,0FFFFHD1: MOV AX,000FFHD2: DEC AX JNE D2 LOOP D1 POP AX POP CX RETDALLY ENDP;延时子程序 延时60msDALLY_60 PROC FAR PUSH CX PUSH AX MOV CX,78H D1: MOV AX,50H D2
22、: DEC AX JNE D2 LOOP D1 POP AX POP CX RETDALLY_60 ENDP 六、设计体会及总结 本次课设最基本的原来全部都来自于我们的书本,所以一切我们都需要回到书本,回到课堂曾经用过的知识,我觉得这一点很好。我们可以通过我们学过的只是进行复习以及加深对他们的印象,并且将他们与实际结合起来。下面我就分软件和硬件进行阐述。1、 硬件部分硬件部分主要又另外一位成员完成,但是要知道,硬件是软件的前提,所以我们通过上网查阅资料,翻阅书本,花了大部分的时间在硬件的确定上,一旦硬件搞定了 ,那么剩下的就会得心应手一些。此外,我们还一起研究学习了protel软件,学会了如何绘制电路图。在这其中也碰到了许多困难,我们通过一同协作克服了这些困难。2、 软件部分 软件部分主要由我来编写完成。其实对于汇编语言的学习已经由来已久,但是总是觉得汇编语言不是我们人们所能掌握的高级语言。相比于C+这样的高级编程语言,汇编语言可以说是相当复杂的一个工程。 老师曾经教导我们,编程高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版钢筋工程质量检验与维修服务合同
- 委托代理专利合同书6篇
- 合同履行的个原则
- 居民用水电供应与维修2024年度承包合同2篇
- 个人雇佣协议2篇
- 2024年版科学研究与技术开发合同
- 基于云计算的金融风险管理服务2024年度合同
- 财务内部审计报告范文
- 2024年度煤炭矿区生态修复工程承包合同2篇
- 《高血压和饮食》课件
- 统编版(2024)七年级上册道德与法治第三单元《珍爱我们的生命》测试卷(含答案)
- 2024年新人教版道德与法治七年级上册全册教案(新版教材)
- 小学六年级数学100道题解分数方程
- 产前检查的操作评分标准
- 食堂油烟系统清洗服务投标方案
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- 采莲曲-kejian
- 医师定期考核简易程序练习及答案
- 医院科教科工作计划
- 随机前沿生产函数
- 各航空公司机型介绍
评论
0/150
提交评论