超声波测距仪设计.doc_第1页
超声波测距仪设计.doc_第2页
超声波测距仪设计.doc_第3页
超声波测距仪设计.doc_第4页
超声波测距仪设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

超声波测距仪一、功能要求设计一个超声波测距仪,可以测量测距仪与被测物体间的距离。要求测量范围0.14.00没,测量精度1cm,测量时与被测物体不接触,并将测量结果显示出来。二、系统硬件电路1单片机系统及显示电路单片机采用89C51或89S51。采用12MHz高精度晶振,以获得较稳定的时钟频率,减小测量误差。单片机用p1.0端口输出超声波换能器所需的40Hz方波信号,利用外中断0口监测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳极LED数码管,段码用74LS244驱动,位用PNP8550驱动。2超声波发射电路主要由74LS04和超声波换能器T构成。这种推挽形式的方波信号可以提高发射强度。反相器并联提高驱动能力。上拉电阻R1、R2提高74LS04输出高电平的驱动能力。3超声波接收电路CX20106A是接收38KHz超声波的芯片,可利用它做接收电路。4系统程序超声波测距仪的软件主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。主程序:开始系统初始化等待反射超声波发送超声波脉冲计算距离显示结果丢系统初始化,设置T0为方式1,EA=1,P0,P2清0。为避免超声波发射器直接接传送到接收器,需要延时0.1ms。由于时钟的频率是12MHz,计数器每计一个数就是1us。如果按声速344m/s,则d=c*t/2=172T0 cm超声波发生子程序:通过P1.0端口发送2个左右超声波脉冲信号,脉宽12us,同时T0计数。 超声波测距仪利用中断0检测返回的超声波,一旦接收到返回的信号,立即进入中断。中断后就立即关闭T0停止计时。如果计数器益出则测试不成功。3方案设计和选择根据本次设计的要求,方案的选择应力求实用性强,性价比高,使用简单。3.1 超声波测距的基本原理谐振频率高于20kHz的声波被称为超声波。超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。利用超声波的这种性能就可制成超声传感器,或称为超声换能器,它是一种既可以把电能转化为机械能、又可以把机械能转化为电能的器件或装置。换能器在电脉冲激励下可将电能转换为机械能,向外发送超声波;反之,当换能器处在接收状态时,它可将声能(机械能)转换为电能。3.1.1 超声波发生器 为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一 类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生 的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。 3.1.2 压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信 号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波 时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 3.1.3超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停 止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。 由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图3-1所示: 超声波发射 障碍物 S H 超声波接收图3-1 超声波的测距原理 (3-1) (3-2)式中:L-两探头之间中心距离的一半.又知道超声波传播的距离为: ( 3-3)式中:v超声波在介质中的传播速度; t超声波从发射到接收所需要的时间.将(32)、(33)代入(3-1)中得: ( 3-4)其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(34)变为: ( 3-5) 所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.3.2单片机AT89S52单片机一词最初源于“Single-Chip Microcomputer”,简称“SCM”。单片机也叫做“微控制器”或者“嵌入式微控制器”。它不是完成某一个逻辑功能的芯片(芯片也称为集成电路块,它是1958年9月12日,在Robert Noyce的领导下,科研小组发明集成电路后开始出现的一个名称),而是把一个微型计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。近年来,微处理器已广泛应用于多种领域,尤其是在智能仪器仪表中的应用更是如此,这不仅引起了产品本身的变革,也深深地影响设计的理念的变革。智能仪器仪表作为一种智能系统,其核心在于微处理器。基于微处理器的智能系统设计,已成为目前电子设计领域的一个热点。智能系统是一个复杂的系统,一般包含微处理器、按键与显示人机界面、A/D转换、D/A转换等基本功能部件,同时也包含与应用领域相关的其他特殊部件。智能系统一般需要在恶劣的环境下长期连续地工作,因此在满足功能的基础上,其可靠性也是设计时需要考虑的一个方面,目前已经普遍应用于通信、雷达、遥控和自动控制等各个领域中。在本次毕业设计中我选用的是AT89S52单片机。 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。4.1 整体电路设计整体电路的控制核心为单片机AT89S52。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波探头接OUT口实现超声波的发射和接收。另外还有温度测量电路测量当时的空气温度,等到把数据送到单片机后使用软件对超声波的传播速度进行调整,使测量精度能够达到要求。整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路与温度测量电路等几部分模块组成。而超声波发射与接收电路还要加入放大电路。在发射后把信号放大,接收前也要把还再次放大。整体电路结构图如图4-1。图4-1超声波测距原理图单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。 图4-2 超声波发送原理图5.4 实现重要功能的程序的分析5.4.1实现温度读取功能uint Read_Temperature(void) /读取温度,返回整数值 uint c;reset(); /复位18b20芯片tu=0; /先置位温度正负标示为正if(r) write(0xCC); / 跳过多传感器识别skio rom write(0xBE); /发读内部9字节内容指令 c=read(); /读两个字 reset(); /读完两个字节后复位 write(0xCC); / 跳过多传感器识别skio rom write(0x44); / 发启动温度变换指令 图5-1 程序流程框图 if(c0x1000)c=c+1;tu=1; /若温度小于0,tu=1 c=4; /去掉低四位即为整数温度值,无需*0.0625 return c;elsereturn r; /返回0XFF表示未检测到18B20芯片5.4.2实现根据温度转化声速 int C_speed(void) /根据温度查算声速值 uchar y; y=Read_Temperature(); /采温度 if(r) /若温度有变化则按温度值取声速T_C=y; /温度值变化后的温度值if(tu=0)speed=332+T_C*0.607; /温度为正则+声速else speed=332-T_C*0.607; /温度为负则-声速else speed=346.5; /若1820不存在即无法读取温度,声 速346.5M/S(取25度)return speed;5.4.3实现距离计算float Dis_count()/距离计算函数float cm;cm=TH1*256+TL1;cm-=7610; /减去限制10M的初值+可调误差值cm*=speed; /计算距离uS*34650mcm/=20000; /转换为s 单程return cm;5.4.4 主函数的结构与内容void main(void) /主函数uchar w;Read_Temperature(); /先采一次温度for(w=11;w27)C_speed();w=0;/测Wu次距后取一次温度声速w+;dis=Dis_count(); /转换距离flag=0;if(dis=996)temp0=0xF7;temp1=0xF7;temp2=0xF7;/溢出处理elsebell=0;LED_temp(dis);bell=1;show(10); /测量数据显示TO=0; show(10);key();if(show_temperature=1)goto T_show;/如果WD为0则只显示温度第1部分 系统整体方案设计与比较一、实验目的1.用所学知识结合所查阅的资料提出设计方案2.掌握系统整体方案设计的方法3.培养分析系统设计方案的能力并从方案中选择一个最优的设计方案二、实验内容针对本次课题,提出几种总体设计方案,并比较其优缺点,确定两套方案中的一套为本课题采纳的方案并对主要思想进行初步的阐序。用方框图画出个方案的原理框图。并分析方案的重点也难点。三、实验原理与方法题目的要求是设计一个超声波测距仪,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可以用于如液位、井深、管道长度的测量等场合。具体要求如下:1 测量范围在0.5-4.00m,测量精度1cm。2 测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。本次设计的重点与难点:1 要对单片机的内部结构,特别是各个I/O口,中断和定时器部分。以及其外围电路的具体连接方法。2 要对单片机的语言指令特别的熟练运用,能够根据参考资料结合自己的设计进行对程序的设计,排错。3 选择一种适合的超声波测距方法。同时掌握其原理及工作方式。四、实验步骤多路遥控开关的实现方法有很多。但大部分都是纯硬件的电路。这样的电路结构复杂,不容易调试。但总的来说有无线和红外线等几种方式。就器件的简单程度和特定的民用要求,采用了红外线的遥控方式。且利用的是两片AT89S51单片机来实现的。根据老师的建议及性能的比较,选择了用软硬件结合的方式来实现。现在对如下两种方案做如下的简要介绍。方案1:利用分立模块的超声波测距仪系统包括超声波测距模组、LED数码显示模组、驱动模组控制模组及电源五部分。超声波测距模块主要由发射部分和接收部分组成,超声波的发射受主控制器控制(如图1.1所示);超声波换能器谐振在40KHz的频率,模块上带有40KHz方波产生电路。显示模块是一个8位段数码显示的LCD;测量结果的显示用到三位数字段码,格式为X点XX米,同时还用两位数字段码显示数据的个数。电源采用9V的DC电源输入,经稳压管后得出5V以及3.3V的电源供系统各部分电路使用。超声波发射调理电路超声波回波接收处理电路模块接口超声波发射头超声波接收头图1.1 超声波测距的结构图图1.2 红外接收电路方案2:根据设计要求并综合各方面因素,可以采用AT89S52单片机作为主控制器,用LED数码管显示,超声波驱动信号用单片机发出和接收,基于AT89S52单片机的超声波测距仪系统框图如图1.3所示。超声波测距原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接收。图1.3基于AT89S52单片机的超声波测距仪系统框图这样只要计算出发出信号到接收返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离计算公式: d=s/2=(ct)/2d为被测物与测距仪的距离s为声波的来回路程c为声速t为声波来回所用时间超声波是指频率高于20kHz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头,超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波,而在收回波的时候,则将超声振动转换成电信号。超声波测距的原理一般一般采用渡越时间法TOF(time off light)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,测量距离的方法有很多种,短距离的可以泳尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量,因为超声波在标准空气中的传播速度为331.45m/s。单片机使用12MHz晶振,所以此系统的测量精度理论上可以达到毫米级。超声波发生器可以分为两类:一类是用电气方式产生超声波,另一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。六、实验记录与结论以上两种方案都有各自的优缺点,其中前者是纯硬件的数模电路,电路所涉及的器件相对较多,结构比较复杂,产品的寿命也因器件的数量而减少。同时考虑到本次设计为专业综合实验和单片机的优越性,尽管方案2应用到软件的知识太多,增大了电路实现的难度。但根据设计的技术含量和调试的简便性,同时该方案的系统稳定性较好,故选择了第二套方案。第2部分 原理图的绘制及仿真软件训练一、实验目的1.掌握原理图的绘制方法和protel软件的使用,便于以后实验的设计与进行2.掌握电路仿真的方法和proteus软件的使用,便于对以后的实验的仿真与修改3.掌握运用SYSTEM VIEW的使用方法并用其对以后的软件系统做仿真二、实验内容1.练习使用protel软件,并且用其绘制系统原理图2.练习使用proteus软件,并且用来仿真单片机的部分实例3.练习使用SYSTEM VIEW系统平台,并进行系统的设计与仿真三、实验原理与方法本次实验主要用到了protel软件和proteus软件。1.PROTEL软件介绍PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。2. Proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。3. SYSTEM VIEW软件介绍System View 是一个用于现代工程与科学系统设计及仿真的动态系统分析平台。从滤波器设计、信号处理、完整通信系统的设计与仿真,直到一般的系统数学模型建立等各个领域,System View 在友好而且功能齐全的窗口环境下,为用户提供了一个精密的嵌入式分析工具。四、实验步骤使用protel绘制原理图的步骤1.设计图纸大小。首先要构思好零件图,设计好图纸大小。图纸大小是根据电路图的规模和复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。 2.设置protel 99 se/Schematic设计环境。包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。 3.旋转零件。用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。 4.原理图连线。利用protel 99 se/Schematic提供的各种工具,将图纸上的元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。 5.调整线路。将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。 6.报表输出。通过protel 99 se/Schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,通过网络表为后续的电路板设计作准备。 7.文件保存及打印输出。最后的步骤是文件保存及打印输出。 使用proteus仿真的步骤1. 添加元件;添加本次仿真所需要的元件到元件列表。2. 放置元件;将添加进来的元件,放置到原理图编辑区中。3. 电路图布线;将各个元件连接起来。4. 系统仿真;导入程序文件,进行仿真,观察结果。五、实验记录与结论使用protel绘制出来的单片机最小系统的原理图截图,如图2.1。图2.1 ADC转换原理图使用proteus设计的电动机显示实例截图,如图2.2。图2.2 电动机原理图通过本次实验让我对Proteus,protel和System view有了一定的了解,能用Proteus绘制一些简单的仿真图如图2.1和2.2。同时对protel的制作步骤也有了个较深的了解,相信对后面的系统设计有很大的帮助。最后也对System view做了一定的了解,但是还很薄弱,以后还得加强。第3部分 系统的硬件电路及软件设计一、实验目的1.掌握运用汇编语言编写程序和模块化的编程概念2.对系统硬件电路进行详细设计,画出原理图 3.掌握各单元模块的使用方法及功能二、实验内容1.设计超声波测距仪系统各个部分的硬件电路,并且在protel中画出原理图。2.利用Keil软件,设计出系统软件的程序代码。三、实验原理与方法。At89s52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,p1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。图3.1 AT89S52引脚图此设计采用AT89S52单片机作为主控制器,用LED数码管显示,超声波驱动信号用单片机发出和接受,基于AT89S52单片机的超声波测距仪系统框图如图3.1所示。电源电路AT89S52控制器超声波发生器T显示模块超声波接收器R图3.1 基于AT89S52单片机的超声波测距仪系统框图超声波测距原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接收。单片机采用AT89S52,系统用12MHz高精度晶振得到较为稳定的时钟频率以减小测量误差。用单片机P1.0端口输出40KHz方波信号,利用外中断0检测接受返回的超声波信号,显示电路采用常用的七段数码管,电路图原理图如图3.2所示。图3.2 基于AT89S52单片机的超声波测距仪原理图超声波发射采用推挽形式将P1.0端口发出的方波信号加到超声波换能器两端以提高超声波发射的强度。发射电路主要由74LS04和超声波换能器构成,用单片机P1.0端口输出40KHz方波信号一路经一级反向后送到超声波换能器的一个电极,另一路经两级反向后送到超声波换能器的另一个电极。超声波接受采用的是常用于电视机红外遥控接收器的芯片CX20106A。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变超声波接收探头两端电容的大小,可改变接收电路的灵敏度和抗干扰能力。软件设计部分超声波测距仪软件设计主要由主程序、超声波发射子程序、超声波接收中断程序及显示子程序组成。超声波主程序首先对系统初始化,设置定时器的初值和工作方式,使总中断允许位EA=1,并给显示端口清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1s,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得物体与测距仪之间的距离,设计时取20时的声速344m/s,则有:d=(ct)/2=(172T0/10 000)cm,(其中T0为计数器T0的计数值)。超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40kKz的方波,脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示此次测距不成功。程序流程图:开始系统初始化发射超声波脉冲接收超声波脉冲计算距离显示结果图3.13 超声波测距仪系统程序流程图四、实验记录及结果PROTEL原理图:图3.4 超声波测距仪硬件图程序设计清单:(1)发射程序VOUTEQUP1.0;超声波脉冲输出端口ORG0000HLJMPSTARTORG0003HLJMPPINT0ORG000BHLJMPINTT0ORG0013HRETIORG001BHLJMPINTT1ORG0023HRETIORG002BHRETISTART:MOVSP,#4FHMOVR0,#40HMOVR7,#0BHCLEARDISP: MOVR0,#00HINCR0DJNZR7,CLEARDISPMOV20H,#00HMOVTMOD,#21HMOVTH0,#00HMOVTL0,#00HMOVTH1,#0F2HMOVTL1,#0F2HMOVP0,#0FFHMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHMOVR4,#04HSETBPX0SETBET0SETBEASETBTR0start1:LCALLDISPLAYJNB00H,START1CLREALCALLmathSETBEACLR00HSETBTR0MOVR2,#64HLOOP:LCALLDISPLAYDJNZR2,LOOPSJMPStart1DISPLAY: MOVR1,#40HMOVR5,#0F7HPLAY: MOVA,R5MOVP0,#0FFHMOVP2,AMOVA,R1MOVDPTR,#TABMOVCA,A+DPTRMOVP0,ALCALLDL1MSINCR1MOVA,R5JNBACC.0,ENDOUT;GRRAMOVR5,AAJMPPLAYENDOUT: MOVP2,#0FFHMOVP0,#0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH;共阳断码表 “1”“2”“3”“

温馨提示

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

评论

0/150

提交评论