汽车倒车雷达设计-JIKONG.doc_第1页
汽车倒车雷达设计-JIKONG.doc_第2页
汽车倒车雷达设计-JIKONG.doc_第3页
汽车倒车雷达设计-JIKONG.doc_第4页
汽车倒车雷达设计-JIKONG.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的汽车倒车雷达系统的设计学院:电气工程与自动化姓名:冯宇庆班级:B120417学号:B12041216摘 要随着社会经济的发展和交通运输业的不断兴旺,汽车的数量在不断的增加。交通拥挤状况也日益严重,撞车事件也经常发生,造成了很多不可避免的人声伤亡和经济损失,面对这种情况,设计一种响应快、可靠性高并且比较经济的汽车防撞预警系统显得非常的重要。超声波测距法是一种最常见的距离测量方法。本文介绍的就是利用超声波测距法设计一种倒车防撞报警系统。本文的内容是基于超声波测距的倒车防撞系统的设计,主要是利用超声波的特点和优势,将超声波测距系统和AT89S51单片机结合于一体,设计出一种基于AT89S51单片机得倒车防撞系统。本系统采用软硬结合的方法,具有模块化和多用化的特点。论文概述了超声波检测的发展及基本原理,阐述了超声波传感器的原理及特性。对于系统的一些主要参数进行了讨论,并且在介绍超声波测距系统功能的基础上,提出了系统的总体构成。通过多种发射接收电路设计方案比较,得出了最佳设计方案,并对系统各个设计单元的原理进行了介绍。对组成各系统电路的芯片进行了介绍,并阐述了它们的工作原理。论文介绍了系统的软件结构,通过编程来实现系统功能。关键字:单片机,超声波测距,LED显示,倒车雷达,- I -第一章 绪论 1.1 课题设计的目的和意义随着汽车的普及,越来越多的家庭拥有了汽车。交通拥挤状况也随之出现,撞车事件也是经常发生,人们在享受汽车带来的乐趣和方便的同时,更加注重的是汽车的安全性,许多“追尾”事故都与车距有着密切的关系。为了解决这个安全问题,设计一种汽车测距防撞报警系统势在必行。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单。所以超声波测距法是一种非常简单常见的方法,应用在汽车停车的前后左右防撞的近距离测量,以及在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,具有声波传输的基本物理特性折射,反射,干涉,衍射,散射。超声波测距是利用其反射特性,当车辆后退时,超声波测距传感器利用超声波检测车辆后方的障碍物位置,并利用LED显示出来,当到达一定距离时,系统能发出报警声,进而提醒驾驶人员,起到安全的左右。通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。该设计可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、模电知识,并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显示在LED数码管上。1.2 国内应用现状近年来,由于导航系统、工业机器人的自动测距、机械加工自动化等方面的需要,自动测距变得十分重要。与同类测距方法相比,超声波测距法具有以下优势:(1)相对于声波,超声波有定向性较好、能量集中、在传输过程中衰减较小、反射能力强等优势。(2)超声波传感器结构简单,体积小,费用低,信息处理简单可靠,便于小型化和集成化。随着科学技术的快速发展,超声波的应用将越来越广泛。超声波测距技术在社会生活中已有广泛的应用,目前对超声波的精度要求越来越大。超声波作为一种新型的工具在各方面都有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。未来超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展。第二章 总体方案2.1 本设计的研究方法本设计选用TCT40-16T/R超声波传感器。了解超声波测距的原理的,只有对理论知识有一定的学习才能运用到实际操作中。根据原理设计超声波测距仪的硬件结构电路。对设计的电路进行分析能够产生超声波,实现超声波的发送和接收,从而实现利用超声波测距的方法测量物体之间的距离。具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,LED显示电路。2.2系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89S51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。2.3 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。2.4 超声测距原理2.4.1 超声波概述超声波是一种频率超过20的机械波。超声波作为一种特殊的声波,同样具有声波传输的基本物理特性反射、折射、干涉、衍射、散射。超声波具有方向性集中、振幅小、加速度大等特点,可产生较大力量,并且在不同的媒质介面,超声波的大部分能量会反射。利用超声检测往往比较迅速,方便,易于做到实时控制,并且在测量精度方面能达到工业使用的要求,主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。超声波测量在国防、航空航天、电力、石化、机械、材料等众多领域具有广泛的作用,它不但可以保证产品质量、保障安全,还可起到节约能源、降低成本的作用。2.4.2 超声波传感器介绍超声波传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。目前常用的超声波传感器有两大类,即电声型与流体动力型。电声型主要包括压电传感器、磁致伸缩传感器、静电传感器。流体动力型包括有气体和液体两种类型的哨笛。由于工作频率与应用目的不同,超声波传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声波传感器称为探头,而工业中采用的流体动力型传感器称为“哨”或“笛”。压电传感器属于超声波传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英、铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器。传感器的主要组成部分是压电晶片。当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。压电式超声波发生器实际上是利用压电晶体的逆向压电效应来工作的。超声波发生器内部结构如图2-1所示,它有两个压电晶片和一个锥形振子,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动锥形振子振动,便产生超声波。反之,如果两极间未外加电压,当锥形振子接收到超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。图2-1 压电式超声波传感器结构图一般常用的超声波传感器有两种:专用型和兼用型。专用型是发送器用作发送超声波,接收器用作接收超声波;兼用型就是发送器和接收器是一体的传感器,既可以发送超声波,又可以接收超声波。本设计选用的超声波传感器是专用型,其型号为TCT40-16T和TCT40-16R,其中40表示传感器工作的中心频率为40KHz,16表示传感器的外径为16mm,T和R分别表示发射器和接收器。2.4.3 超声波测距的原理超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到发射波就立即停止计时。假设超声波在空气中的传播速度为,根据计时器记录的时间,发射点距障碍物的距离,如图2.2所示 图2-2 超声波测距原理 图2-2中被测距离为H,两探头中心距离的一半用M表示,超声波单程所走过的距离用表示,由图可得: (1) (2)将式(2)带入式(1)得: (3)在整个传播过程中,超声波所走过的距离为: (4)式中:为超声波的传播速度,为传播时间,即为超声波从发射到接收的时间。将式(4)带入式(3)可得: (5)当被测距离H远远大于M时,式(5)变为: (6)这就是所谓的时间差测距法。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离2。由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。经分析和大量实验表明,频率为40左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。第三章 系统硬件设计 按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机主控芯片使用51系列AT89S51单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,该电路简单,调试工作小较小。 图3-1:系统设计框图硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、报警输出电路、供电电路等几部分。单片机采用AT89S51,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P2.7端口输出超声波换能器所需的40kHz的方波信号,P3.5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。3.1 AT89S51单片机AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。3.2超声波测距的系统及其组成本系统由单片机AT89S51控制,包括单片机系统、发射电路与接收放大电路和显示电路几部分组成,如图3-1 所示。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89S51。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P2.7端口输出超声波换能器所需的40kHz的方波信号,P3.5端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阴LED数码管,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P3.4、P3.2、P3.3口,数码管位驱运用PNP三极管S9012三极管驱动。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P3.5输入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P3.5由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。3.2.1 超声波测距单片机系统超声波测距单片机系统主要由:AT89S51单片机、晶振、复位电路、电源滤波部份构成。由K1,K2组成测距系统的按键电路。用于设定超声波测距报警值。如图3-3。图3-2: 超声波测距单片机系统 3.2.2 超声波发射、接受电路超声波发射如图3-3,接收电路如图3-4。超声波发射电路由电阻R1、三极管BG1、超声波脉冲变压器B及超声波发送头T40构成,超声波脉冲变压器,在这里的作用是提高加载到超声波发送头两产端的电压,以提高超声波的发射功率,从而提高测量距离。接收电路由BG1、BG2组成的两组三级管放大电路构成;超声波的检波电路、比较整形电路由C7、D1、D2及BG3组成。40kHz的方波由AT89S51单片机的P2.7输出,经BG1推动超声波脉冲变压器,在脉冲变压器次级形成60VPP的电压,加载到超声波发送头上,驱动超声波发射头发射超声波。发送出的超声波,遇到障碍物后,产生回波,反射回来的回波由超声波接收头接收到。由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P3脚。图3-3:超声波测距发送单元该测距电路的40kHz方波信号由单片机AT89S51的P2.7发出。方波的周期为1/40ms,即25s,半周期为12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12M晶振,因而单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约38.46kHz的方波。图3-4:超声波测距接收单元由于反射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接收电路如图3-4所示。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为70倍。放大的信号通过检波电路得到解调后的信号,即把多个脉冲波解调成多个大脉冲波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。3.3.3 显示电路本系统采用三位一体L E D 数码管显示所测距离值,如图3-6。数码管采用动态扫描显示,段码输出端口为单片机的P2口,位码输出端口分别为单片机的P2.0、P2.1、P2.3口,数码管位驱运用PNP三极管S9012三极管驱动。图3-5:显示单元 3.2.4 报警输出电路为提高测测距系统的实用性,本测距系统的报警输出提供开关量信号及声响信号两种方式。方式一:报警信号由单片机P3.1端口输出,继电器输出,可驱动较大的负载,电路由电阻R6、三极管BG9、继电器JDQ组成,当测量值低于事先设定的报警值时,继电器吸合,测量值高于设定的报警值时,继电器断开。方式二:报警信号由单片机P0.2口输出,提供声响报警信号,电路由电阻R7、三极管BG8、蜂鸣器BY组成,当测量值低于事先设定的报警值时,蜂鸣器发出“滴、滴、滴.”报警声响信号,测量值高于设定的报警值时,停止发出报警声响。报警输出电路如图3-7。 图3-7:报警输出第四章系统软件设计4.1 主程序设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA。进行程序主程序后,进行定时测距判断,当测距标志位ec=1时,测量一次,程序设计中,超声波测距频度是4-5次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生4个频率为38.46kHz超声波脉冲,加载的超声波发送头上。超声波头发送完送超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5 -2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.5脚的电平判断程序。当检测到P3.5脚的电平由高转为低电平时,立即停止T0计时。由于采用单片机采用的是12 MHz的晶振,计时器每计一个数就是1s,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离。设计时取15时的声速为340 m/s则有:d=(ct)/2=172T0/10000cm其中,T0为计数器T0的计算值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。4.2 超声波测距子程序及其流程图void wdzh() TR0=0;TH1=0x00;TL1=0x00;csbint=1;sx=0;delay(1700);csbfs();csbout=1;TR1=1;i=yzsj;while(i-)i=0;while(csbint)/判断接收回路是否收到超声波的回波i+;if(i=3300)csbint=0;TR1=0;s=TH1;s=s*256+TL1;TR0=1;csbint=1;jsz=s*csbc;/计算测量结果jsz=jsz/2; 产生超声波的子程序:为了方便程序移置及准确产生超声波信号,本测距的超声波产生程序是用汇编语言编写的进退声波产生程序。产生的超声波个数为UCSBFS SEGMENT CODERSEG UCSBFSPUBLIC CSBFSCSBFS:mov R6,#8h ;超声波发射的完整波形个数:共计四个 here:cpl p2.7 ;输出40kHz方波 nop nop nop nop nop nop nop nop nop djnz R6,here RETEND流程图: 4.3 超声波测距流程图 第五章 系统调试与误差分析5.1调试步骤我的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试,以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的AT89S51机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看数码管的显示结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -”,则需将下限值增大。本测距板1s测量4-5次,超声波发送功率较大时,测量距离远,则相应的下限值(盲区)应设置为高值。试验板中的声速没有进行温度补偿,声速值为340m/s,该值为15时的超声波值。注:由于条件原因调试时无法提供6V交流电与5V双USB接口线,所以由4.5V干电池与5V实验室稳压电源代替。我的错误与纠正当我焊接好元器件,检查无短路后,我接通了电源。当时的现象是:接通电源瞬间显示“- - -”伴随蜂鸣器一声“滴”蜂鸣,接着LED显示三个“C C C”,并伴随间断蜂鸣,此为超出最大探测范围。调节下限值无变化。错误1:断电后我重新按照原理图对各个元器件焊脚进行对照。发现除了BG1外其它元器件焊脚焊接正确,BG1的“E”脚和“C”脚焊接错误。纠正:拆下BG1检查未被击穿后重新按照正确的焊脚分部焊接。错误2:接通电源重新调试却发现任就是之前的现象。断电后我重新按照原理图进行排故。因为错误1的缘故元器件已经检查过焊脚无错误,所以我按照原理图检查元器件的名称标识,发现BG2、BG9两个三极管分别是9013和9012,而焊接是却焊接成了9012和9013.纠正:拆下BG2、BG9检查未被击穿后重新按照正确名称标识焊接。接通电源能正常工作.5.2 误差分析虽然在简易倒车带最前端有0.8cm的空白距离,但是雷达在50cm(50.8cm)时显示的是51cm,在45cm(45.8cm)不到处却显示45cm。如图5-1、5-2。因此本雷达存在误差。5.2.1 性能分析从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达到500到700cm左右,而我所能实现的最大距离只有664cm左右,测量结果受环境温度影响。分析原因如下:1. 超声波发射部份由电阻R1、三极管BG1、超声波脉冲变压器B及超声波发送头T40构成,以提高超声波的发射功率,从面提高测量距离。这种方式,加大的超声波了送头的余振时间,造成超声波测距盲区值较大(本系统盲区值为40厘米)。2.本测距板没有设计温度补偿对测量结果进行修正。但在硬件的PCB上预留的位置。5.2.2 误差分析超声波测距由于其再使用中不受光照度、电磁场、色彩等因素的影响,加之其结构简单成本低,在机器人避障和定位、汽车倒车、水库液位测量等方面已经有了广泛的应用。在原理上将,超声波测距有脉冲回波法、共振法和频差法。其中脉冲回波法测距常用,其原理是超声传感器发射超声波,在空气中传播至被测物,经反射后由超声波传感器接收反射脉冲,测量出超声脉冲从发射到接收的时间,在已知超声波声速的前提下,可计算被测物的距离H,即:H=vt/2。由于温度影响超声波在空气中的传播速度;超声波反射回波很难精确捕捉,致使超声波在空气中传播的时间很难精确测量。这些因素使超声波测距的精度和范围受到影响。(1)温度对超声波波速的影响空气中传播的超声波是由机械振动产生的纵波,由于气体具有反抗压缩和扩张的弹性模量,气体反抗压缩变化力的作用,实现超声波在空气中传播。因此超声波的传播速度受气体的密度、温度及气体分子成份的影响。其中温度对超声波在空气中的传播速度有明显的影响,当需要精确确定超声波传播速度时,必须考虑温度的影响。(2)超声波回波声强影响超声波回波声强与被测物得距离有由直接的关系,实际测量时,不一定是第一个回波的过零点触发。这种误差不能从根本上消除,但是可以通过根据测量距离调整脉冲群的脉冲个数以及动态调整比较电压来减小这种误差。(3)电路本身影响电路硬件和软件本身存在一定的缺陷,因此会造成测量误差,主要表现为:启动发射和启动计时之间的偏差。这是源于单片机一次只能处理一件事,所以启动发射和启动计时实际上不能同时完成,是先后完成的,存在时差。但只要指令速度足够快,其偏差可以忽略。收到回波到被检测出的滞后。这是源于检测电路的灵敏度和判断偏差,从收到实际回波到电路确认并输出相应信号肯定存在滞后,这和回波信号强弱、检测电路原理以及判断电路的敏感性相关,也是超声波测距的核心。收到中断到中断响应停止计时之间的滞后。这是源于单片机的中断机制。收到中断信号后,单片机不可能立刻响应,至少要完成当前的指令,有时还要等待其它中断服务结束,所以这个滞后时间也不确定,从而导致测量结果的变化。但这个因素可以通过提高单片机速度,使用高优先级中断。计时器本身的误差。这是源于计时器本身。由于目前多数使用晶体振荡器,其稳定度和准确度为20-50 PPM 级别,对于音速而言,其带来的误差在mm级。为减小此项误差,应该提高计时的最小单位,即是选择频率高的晶振,从而降低量化误差。同时选用质量好的晶振。(4)超声波波速入射角影响超声波波束入射角也会对测量数据产生影响,由于系统是用来测量点和面的距离,则被测物表面,超声波发射探头和接收探头三者之间存在一个几何角度,即发射波入射到接收探头的角度,如果这个角度不是0度,系统测量到的距离是被测物与接收探头之间的距离而不是和测量参考面之间的距离,这就会造成测量误差。(5)超声波传感器所加脉冲电压对测量范围和精度的影响制作超声波传感器的材料分为磁致伸缩材料和压电材料两种。超声波测距常用压电材料制作的传感器。超声波传感器外加脉冲电压的幅值会影响压电转换效率。当压电材料不受外力时,其应变S与外加电场强度E的关系为: S=dE 其中d为应变电场常数。超声波传感器外加的脉冲电压影响压电材料的电场强度,从而影响其应变量和超声转换的效率,进而影响超声波幅值。这些会直接影响超声波的回波幅值。所以,为了提高压电转换效率,提高超声测距精度和范围,应尽量提高超声传感器外加脉冲电压的幅值。结论本文主要讲述了倒车雷达,即超声波测距仪的原理和设计方法,设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,并以数字的形式显示测量距离,在距离小于50cm时发出报警。超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路三部分。单片机采用AT89S51,采用12高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机控制超声波发射与接收模块进行信号的发射与接收。显示电路采用LED数码管进行数字显示。 微型计算机原理及应用作业作业组别:28班级:13级工设(1)班姓名:王志辉学号:130110050022项目指导教师:(任课教师、实验室教师)李艳文项目完成时间:2016.4目录一30题31.1题目的分析描述及要求31.2寄存器及主存等的应用说明31.3程序框图41.4详细程序51.5程序调试5二41题62.1题目的分析描述及要求62.2寄存器及主存等的应用说明62.3程序框图62.4详细程序72.5程序调试8三97题93.1分析描述及要求93.2寄存器及主存等的应用说明93.3程序框图93.4详细程序10 3.5程序调试11一30题1.1题目的分析描述及要求编写程序完成统计数据段从source开始单元存放的100个单字节带符号数中负数和正数的个数,将结果分别放于DX和BX中。算法构造:首先从source处开始定义100个数,正数、负数和零的个数随意定,然后从中一个一个取出数与0比较,是正数,则bx加1,是负数,则dx加1。1.2寄存器及主存等的应用说明内存:source处存放待检测的字符寄存器: AX常作为累加器,使用频率最高,用于算术运算、逻辑运算以及与外 设传送信息等。 BX常作为基址寄存器,用来存放存储器地址。 CX常作计数器,作为循环和串操作等指令中的隐含计数器。 DX常作为数据寄存器,常用来存放双字长数据的高16位或存放外设 端口地址。 SI是源地址寄存器。1.3程序框图开始输入一个字符比0大? N YDX+1BX+1存入BX中存入DX中Si+1结束1.4详细程序sk segment stack ;定义作为堆栈段的逻辑段,段名:smdb 1024 dup(0) ;分配堆栈的大小,设置为1024字节sk ends ;堆栈段结束data segment ;定义作为数据段的逻辑段,段名dataorg source ;定义数据,从source处安排数据buf db 40 dup(1) db 20 dup(0) db 40 dup(-1) ;定义100个数,正数、负数和零的个数随意定data ends ;数据段结束code segment code ;定义作为代码段的逻辑段,段名codeassume cs:code,ds:data,ss:sk ;确定各个逻辑段的类型start:mov ax,data ;程序开始点 mov ds,ax mov cx,100 ;令cx寄存器为100 and bx,0 and dx,0 ;初始化bx,dx,使其为0 lea si,buf 将100个数的有效地址给sicount:cmp byte ptrsi,0 jg positive jl negtive jmp lastpositive:inc bx jmp last ;将si指针所指的数和0比较,若大于0,则bx加negtive: inc dx 1,若小与0,则dx加1 last: inc si ;没比较一次,处理之后si指针加1,将下一个数和 loop count 0比较,直到100个数都比较完 mov ax,4c00h int 21h ;程序结束点,返回DOS code ends end start ;汇编结束,程序开始点为start1.5程序调试调试结果如下图所示:程序运行结果基本达到了预期,但在调试过程中仍出现了一些小错误,需要避免。二41题2.1题目的分析描述及要求 若在存储器中有两个数a和b(它们所在地址用符号表示,下同),编一程序实现a10+b (a10以及“和”用两字节表示)。2.2寄存器及主存等的应用说明寄存器:AX常作为累加器,使用频率最高,用于算术运算、逻辑运算以及与外 设传送信息等。 BX常作为基址寄存器,用来存放存储器地址。 2.3程序框图开始输入两个数这个数为a Y N将这个数存入BX中将这个数乘以10存入AX中将AX,BX和存入AX中结果存入result中结束2.4详细程序sk segment stack ;定义作为堆栈段的逻辑段,段名:smdb 1024 dup(0) ;分配堆栈的大小,设置为1024字节sk ends ;堆栈段结束data segment ;定义作为数据段的逻辑段,段名dataa db 120 ;定义a=120b db 9 ;定义b=9result dw ? ;定义result,暂不设初值data ends ;数据段结束code segment code ;定义作为代码段的逻辑段,段名codeassume cs:code,ds:data,ss:sk ;确定各个逻辑段的类型start:mov ax,data ;程序开始点 mov ds,ax mov al,a ; AL120 mov ah,0 ;AH0 shl ax,1 ;AXAX*2(AX240) mov bx,ax ;BXAX(BX240) mov cl,2 ;CL2 shl ax,cl ;AXAX*4,此时AX为960 add ax,bx ;将AX和BX的和放入AX中,此时AX中的数即a*2=1200 mov bl,b ;令BL9 mov bh,0 ;令BH0 add ax,bx ;将AX和BX的和放入AX中,即实现了a*10+b的要求 mov result,ax ;将最后的结果放入result中 mov ax,4c00h ;程序结束点,返回DOS int 21h code ends end start ;汇编结束,程序开始点为start2.5程序调试调试结

温馨提示

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

评论

0/150

提交评论