超声波测距系统设计_第1页
超声波测距系统设计_第2页
超声波测距系统设计_第3页
超声波测距系统设计_第4页
超声波测距系统设计_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

1、超声波测距系统设计论文题目:超声波测距系统设计超声波具有不受外界光及电磁场等因素的影响的优点,超声波测距作为一种有效 的非接触式测距方法已被应用于多个领域。本设计采用渡越时间法,硬件系统分为发射模块、接收模块、显示模块、中央处 理模块四个部分。本设计采用STC89C52单片机作为微型中央处理器并由软件实现 40kHz脉冲经放大电路从超声波发射探头T-40发射出超声波,接收探头R-40收到声 波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接收的时 间差和声速计算出距离。本系统使用四位共阳极LED数码管显示距离,能实时显示即 时距离。经测试,在30cm200cm范围内,误

2、差能控制在2cm以内。根据实验数据进行了 误差分析,并提出了解决方案,最后对超声波测距技术的发展进行了展望。通过系统 的调试和测试,本设计基本完成了设计要求。【关键词】单片机,超声波,测距,渡越时间法;【论文类型】应用型Title: The design of ultrasonic distance measurement systemMajor: Electronic and Information EngineeringName: Zhang YankunSignature:Supervisor: Zhang XiaoliSignature:ABSTRACTThe advantages o

3、f ultrasound without the influence of outside light and electromagnetic fields and other factors , ultrasonic distance measurement as an effective non-contact distance measurement method has been used in many fields.This design uses the transit time method, the hardware system is divided into transm

4、itter module, receiver module and display module, the central processing module. This design uses a microcontroller STC89C52 as micro central processing unit and 40 kHz pulse by the software, The ultrasonic emission from the ultrasonic probe the T-40 via the amplifler circuit. Acousticreceived by pr

5、obe R-40, via the integrated chip CX20106A amplifying , filtering and shaping and sent to the microcontroller computing, calculate the distance by the transmit and receive time and the speed of sound. The design uses four common anode LED digital display the distance value, to provide users with a v

6、ery intuitive interface.Been tested within the range of 30cm 200cm, the error can be controlled at less than 2cm.According to the experimental data and analyzed the error, and proposed solutions, the developmental direction in ultrasonic ranging were also presented at last.By systematic debugging an

7、d testing, the design basically completed the design requirements.Key words microcontroller, ultrasonic, range, transit time methodLlXpe of Thesis Applied前言随着传感器和单片机控制技术的不断发展,非接触式检测技术已被广泛应用于多 个领域。目前,典型的非接触式测距方法有超声波测距、CCD探测、雷达测距、激光 测距等。其中,CCD探测具有使用方便、无需信号发射源、同时获得大量的场景信息 等特点,但视觉测距需要额外的计算开销。雷达测距具有全天候工作

8、,适合于恶劣的 环境中进行短距离、高精度测距的优点,但容易受电磁波干扰。激光测距具有高方向 性、高单色性、高亮度、测量速度快等优势,尤其是对雨雾有一定的穿透能力,抗干 扰能力强,但其成本高、数据处理复杂。与前几种测距方式相比,超声波测距可以直 接测量近距离目标,纵向分辨率高,适用范围广,方向性强,能量消耗缓慢,在介质 中传播的距离较远且操作简单,并具备不受光线、烟雾、电磁干扰等因素影响,对环 境有一定的适应能力,且覆盖面较大等优点。这些特点可使测量仪器不受被测介质的 影响,大大解决了传统测量仪器存在的问题,利用超声波检测既迅速、方便、计算简 单,又易于实时控制,在测量精度方面能达到工业实用的要

9、求。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是 一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为 一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定 位高精度的方向发展,以满足日益发展的社会需求,未来的超声波测距仪将与自动化 智能化接轨,与其他的测距仪集成和融合,形成多测距仪。然而超声波测距也有其局限性,超声波传播波速不恒定、回波信号幅值随传播距 离增大呈指数规律衰减、有盲区、超声波的旁瓣影响、混响信号干扰、超声波探测器 测量分辨力和探测角度范围的矛盾等局限性。所以目前研究主要是降低现有测距方法 的误差和寻找新的超声

10、波测距方法。超声波测距方法主要有可变阈值检测法、相位检测法、声波幅值检测法和渡越时间 法四种。通过系统论证,本设计最终确定采用渡越时间法。渡越时间法就是通过检测发射超声波与接收回波之间的时间差t,求出目标障碍物距 信号发射源的距离d,计算公式为:d = vt /2,其中,v为超声波波速(m/s)o本论文研究了超声波测距原理以及各种超声波测距系统的优缺点,确定了本设计 所采用的方案。文中确定了发送模块、接收模块、显示模块、中央处理模块构成整个 系统,并确定了各个模块实现所使用的芯片,软件设计部分描述了各个模块程序流程 图和主要程序。制作硬件并检测调试。最终得到实验结果并对误差进行了分析,提出 减

11、小误差的方法和方案。附录部分提供了本论文所使用的硬件电路和软件代码。选择L 1相位法超声波测距1. 1. 1测量原理L 1. 2系统硬件原理框图2444555557L 1. 3基于相位法双频超声波测距L2渡越时间检测法1. 2. 1单频渡越时间法 1.2.2双频渡越时间法.1.3其他几种测距或测厚方法1. 3. 1共振法L 3. 2往复法L3.3多重相位法L 3. 4频域的谱分析法.L4方案选择2系统硬件设计2.1主要技术指标82. 2系统设计框图82.3超声波发射电路92. 3. 1采用74LS04驱动发射电路92. 3. 2采用9012三极管驱动发射电路2.4 接收电路102.5 显示电路

12、11123超声波测距系统软件设计和仿真3. 1总体设计123. 1.1主程序123. L 2超声波发射子程序133. 1. 3超产波接收中断程序133.2 系统仿真144系统测试163.3 软件和硬件测试164. 2 统测量165结论185. 1数据的误差分析185.2 总结185.3 超声波测距研究趋势的展望18致谢错误!未定义书签。附录20CX20106A引脚和参数20超声波测距源程序清单21参考文献261方案选择1.1 相位法超声波测距相位法超声测距是利用发射波和被目标反射的接收回波之间声波的相位差包含的距 离信息来实现对被测目标距离的测量,同时,可以通过变换调制信号的频率来改变相位 差

13、对距离的细分尺度,来提高精度和改变量程。1.1.1 测量原理设在起始时刻八发射的超声波的强度为:/1 = A】 sin(69Z + 0()实际波为方波,这里为方便公式说明用正弦波举例。接收时刻调制波的强度为:,2 =42 sin(皿 + cot 2D + 00)则接收与发射时刻的相位差为:0 = 3t2D = 2可 2D时间差为:tL2D -249根据时间和相位的关系,待测距离D = - C12 D可以转换为:c (p A(pO = 上=(N + ')2 2时 22乃其中,。为待测距离;。为超声波传播速度;”为超声波波长;N为相位传播延迟中的中周期数;A9为相位延迟中不足一周期的相位差

14、值。可以利用计数器测 出a值,而夕则需应用相位比较器计算出。1.1.2 系统硬件原理框设计出超生波测距系统硬件原理框图1-1:2MHx _TLTU图111.1.3 基于相位法双频超声波测距双频超声波测距法是发射二个频率不同的猝发声波,测定与这二个猝发声对应的回 波信号的相位,根据所测相位进行测距的一种高精度的超声波测距方法。本方法同时使 用二个回波的相位以及包络信息,排除了以2乃为周期的相位上的不确定性。基本原理是 使用两个不同频率的波形的发射与接收波的相位差的差的变化函数来代替单个频率的波 形相位差的变化,如下式必一必二%式中,外和直为两种频率波形的初始相位.外和田为两种频率接收波形的相位,

15、40,一久)为两种频率波形相位差的差的变化函数,这样做的好处是,既有使用高频率 超声波的良好的方向性与反射性,同时由于4虑一虑)的周期相对于单个波形的相位差 变化函数的周期更大,这样能增大相位差对距离的细分尺度,从而得到更精确的测量结 果。基于以上双频超声波测距原理,本系统设计的思路是采用两个相对独立的相位法 测距电路,分别比较出两个不同频率的波形的相位差,然后将两个相位差提供给MCU, 由MCU中事先写入的程序来计算出两种波形相位差的差,为了得到所测距离L的大概 值,解决相位法中的2解的不确定性,会需要用到单片机中的定时器。另外,显示部 分也是由MCU来完成。由于整个过程并没有过大的运算量,

16、基于经济性和易用性考虑, 单片机选用AT89C52单片机。在接收部分中,由接收探头接收的波形经过前置放大后,经由滤波器滤波,使用的 滤波器选用MAX275。当为了改变量程而改变超声波的频率时,由于MAX275组成不同 的滤波器需要不同的外接电阻,所以若需要实现较大的量程覆盖,可能需要一组以上 的MAX275组成不同的滤波器实现滤波。在相位比较电路中,把信号源输出的正弦信号和接收端得到的正弦信号分别转化为方波信号A和B,将A、B输入具有很强抗噪能力的异或门,如图1-2所示:aFVd图102当输入波形a和b之间的相位差变化的时候,输出波形的占空比随之发生变化, 通过积分电路可得到输出波形的平均电平

17、。根据输出波形的平均电平和相位差的一 对应关系,可得到相位差与输出平均电平的曲线。如图1-3所示:1.2 渡越时间检测法1.2.1 单频渡越时间法本设计方案中使用的渡越时间检测法原理是,在由单片机发出驱动信号的同时, 开启单片机中的计时器,开始计时。发射探头发射出超声波,在由接收探头接收到第 一回波的同时停止单片机计时器的计时,由于超声波在空气中的速度已知,根据公式 5 = 1即可求得探头与待测目标之间的距离。测量原理如图卜4所示图14通常的计算是默认上图中Hn,在两个探测头T和R的距离M较小时,这样默认并没有错,但当测量距离较小时,或者距离M较大时,的式子便不再适用,2为了进一步降低测量误差

18、,应该在编程时,将距离计算公式写作=尚7相, 而且,可以在较短时间内多次发出超声波测量,完成后计算平均值然后显示。1.2.2 双频渡越时间法由于空气对超声波的吸收与超声波频率的平方成正比,因此用来测距的超声波 的频率就不能很高。另一方面频率越低,波长越长,测距的绝对误差就越大。所以, 测距的范围加大与测量精度实际上是一对矛盾。为了解决这一矛盾,我们引入了已被 广泛用于海洋测深方法中的双频超声波探测技术,使其用于空气中的测距及定位。其 原理是:同时发射两个频率分别为fL和fH的双频超声波,由于fH的波长较短,绝对 测量精度高,而空气对它的吸收大,所以用于近距离测距(比如5m以内),而ft波 长较

19、长,绝对精度低,但是空气对它的吸收要小很多,可以达到较远的目标(比如5 20m),由于这个范围绝对距离较长,因此可以保证在整个测距范围内相对精度一致。1.3 其他几种测距或测厚方法1.3.1 共振法共振法是利用超声波在介质中的多次反射而形成的共振,通过测定几个共振频率 的差来测量厚度。这是一种高精度的测距方法。但这种方法必须事先知道发射换能器 和目标之间超声波传播的介质中存在有二个以上的共振频率。1.3.2 往复法往复(sing-around)法是利用由介质层返回的回波去触发下一次信号的发射,这 样反复触发并记录触发的次数,在一定的时间内,目标的厚度就是触发次数的函数。 显然,要想提高测量精度

20、,必须进行较多的触发计数。然而,较多的触发计数的代价 就是延长了测量时间。1.3.3 多重相位法多重相位法是将超声波利用另一个频率较低的信号进行幅度调制,而后发出调幅 波,接收调幅波及其二个不同频率的信号的相位差,以这个相位差为依据,计算传声 介质的厚度或距离。这种方法通过提高调制频率可以提高测量精度,当然也存在相位 上以2%为周期的不确定性。这种方法不适用于收发合置的声学系统。相位比较法同 样也存在以2T为周期的不确定性,同时还存在由于三次回波而形成干涉的影响。1.3.4 频域的谱分析法频域的谱分析法是利用回波的频域变换技术的测距方法,可用利用回波的频谱特 性,也可以利用相位特性,或者二者兼

21、有。这种方法可用到达比较高的精度。但是, 必须对回波进行A / D变换并进行FFT分析等运算,因此要求系统具备实时FFT运算 功能。281.4 方案选择通过分析,相位法虽然能较精确的测得距离,但其系统复杂,实现起来较为困难。 渡越时间法无论是硬件还是软件实现都比较容易,如果加上温度补偿电路等改进措施 后,能达到比较高的测量精度,可以满足本次设计的要求。其他几种测距方法都有各 自的要求或局限性,实现并不容易。所以,最终选择渡越时间法作为最终方案。2系统硬件设计2.1主要技术指标量程:30200cm;电源:5V DC;超声波频率:40kHz; 测量误差:±2cm; 显示方式:数码管显示。

22、2. 2系统设计框图本系统采用STC89C52单片机作为中央处理器,超声波发射40kHz脉冲由单片机 软件实现从P1.0 口发出,采用单片机内部定时器进行计时和控制。超声波接收部分 使用CX20106A作为接收主控制芯片,收到信号后输出端输出低电平给INTT0 口,接 收成功,停止计时。显示部分采用四位LED数码显示管显示距离。超声波测距器的系统框图如图2-1所示发射探头图2-12. 3超声波发射电路单片机软件实现发送40kHz信号,从P1. 0发送到驱动电路,驱动电路有两种, 分别是采用反相器74LS04和三极管9012放大驱动,使超声波发射探头共振,发出 40kHz的超声波信号。本次设计采

23、用的是后者。2. 3.1采用74LS04驱动发射电路发射电路主要由反相器74LS04和超声波探头构成,单片机P1.。端口输出40kHz 的方波信号,一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相 器后送到超声波换能器的另一端,用这种形式可以提高超声波的发射强度。输出端采 用两反相器并联,用以提高驱动能力。上拉电阻一方面提高反相器74LS04输出高电 平的驱动能力,另一方面可以增强超声波换能器的阻尼效果,缩短其自由振荡时间。 电路原理图如图2-2所示。R674LS04R74LS04匚1k图222. 3. 2采用9012三极管驱动发射电路该电路超声波发送模块是使用9012三极管做为

24、驱动放大,超声波换能器一段接P1.0 0,另一端接集电极,R8提高驱动能力,通过调试电阻可以加大超声波的发射 功率,从而提高测距距离。电路如图2-3所示。AR8 .1 超声波发射T1粕超声波发射T2徜R71k1,图2-3超声波发射电路2. 4接收电CX20106A是日本索尼公司生产的红外遥控系统中作接收预放用的双极型集成电 路,可用来代换多种型号的遥控接收集成电路。集成电路CX20106A可用来完成信号 的放大、限幅、带通滤波、峰值检波和波形整形等功能。可以保证在超声波传感器接 收较远反射信号输出微弱电压时,放大器有较高的增益,在近距离输入信号强时放大 器不会过载;其带通滤波器中心频率可由芯片

25、脚5的外接电阻调节,不需要外接电感, 可避免外磁场对电路的干扰,可靠性较高。当超声波接收头收到发射信号时,便通过CX20106进行前置放大、限幅放大、带 通滤波、峰值检波和比较、积分及施密特触发比较得到解调处理后的信号。7脚为信 号输出口,没收到信号时为高电平,收到后变为低电平,之后又恢复高电平。IC2 CX20106AZCC52C5>图2-4超声波接收电路2. 5显示电路显示电路采用4位共阳极数码管显示。用74LS07和74LS245驱动数码管,并连 接到单片机STC89C52的P2. 0P2. 3 口上作位选,P0. 0P1. 7 口做段选。电路如图2-5 所示。RP1RESPACK

26、-83332P OfADO2 1/AD17 2MD2 KJ3/AD3*0 4TAD4 >0*AD6P2.WA8 P2.VA9)2如1)24A12=>2 6M13 町如4 327 伍 1533RX0*31(TXD 32前 33ANfiP34m>P3 5FT1P36IW P3 7/RDCEAB»6A图2-53超声波测距系统软件设计和仿真3.1 总体设计超声波测距系统软件设计主要有主程序、超声波发射子程序、超声波接收中断子 程序及显示子程序。3.1.1 主程序首先对系统初始化,设置定时器的初值和工作方式,使总中断允许位=1,并给显 示端口清0,启动计时器,然后调用超声波发

27、生子程序由P1.0脚发出40kHz的驱动 信号,为避免超声波从发射器直接传送到接收器引起的直接波触发,需要延时一段时 间后才打开INTO中断,并且开始等待接收到的回波和中断信号,若接收到回波(INTO 引脚出现低电平),计时器停止计时,保存时间信息,计算出当前距离后储存,并调 用显示子程序,结果将以十进制BCD码方式传送到LED显示,然后再发超声波脉冲重 复测量过程。晶振为12Mhz,所以机器周期为1微秒。主程序流程图如图3-1所示:图3-13.1.2 超声波发射子程序本设计由软件产生40kHz的驱动信号: void fasong(uchar gs)(while(gs-)Pl_0 = 1;no

28、p (); nop (); nop (); nop ();nop (); nop (); nop () ;nop ();Pl_0 = 0;nop () ;nop () ;nop();nop 0 ;nop (); nop (); nop ();)Pl_0=0;3.1.3 超声波接收中断程序超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波 信号(INTO引脚出现低电平),立即进入中断程序,然后立即关闭计时器停止计时, 并将测距成功标志字赋值lo如果当计时器溢出时还未检测到超声波返回信号,则定 时器溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示此次测距不成功。 然后读

29、取计数器中的值,取20C时的声速344m/s,则由D=ct/2可以计算出被测物 体与测距仪之间的距离。3.1.4 显示子程序本设计采用共阳极7段LED数码管显示,显示子程序如下所示: void zhuanhuan()转换程序qw = time/1000;bw = time%1000/100;sw = time%100/10;void xianshi () (P2 = 0x01;P2 = 0x02;P2 = 0x04;P2 = 0x08;显示程序P0 = shu qw;P0 = shubw;P0 = shusw;P0 = shugw;delay(20);delay(20);delay (20);

30、delay (20);3.2 系统仿真在Proteus中根据超声波发射硬件电路搭建系统,由于个别元件在Proteus元件 库中没有,用其他的方式代替。如:74LS07用74HC07代替;发射探头部分用示波器, 便于查看T-40两个引脚的信号;接收部分用一个开关代替,两端分别连接INTO和地。将程序在Keil中编译,并输出.hex文件,将其放入Proteus电路中的单片机里, 进行仿真,电路如图3-2,图3-3所示:Digital OscilloscopeRP1t ZZZJT 0 c - c /、0 aU485a2B*m窗ACA17 aA4AIM"“小归efcfcSB二卬小 Jiann

31、elLClminelB ClmiiielD尸5I:UIAC DCGKO OFFACDC GNO OFFInverIrvort J图3-3发射探头引脚波形仿真4系统测试4.1软件和硬件测试将元器件焊接到万用板上,焊接的时候尽量不要长时间焊接某一管脚,否则元器 件会由于温度过高坏掉或工作不稳定,检查是否有短路,虚焊,元器件有没有接反。 由于设计时并没有安排下载部分,所以用专用的下载器进行程序的烧录。无误后,将 单片机安装上,接通电源。测试LED数码管是否显示正常(通过烧录到单片机中的显示程序);测试超声波发射是否正常,方法是在发射探头前放置一根点燃的蜡烛,若蜡烛的 火焰有有规律的抖动,则超声波正常

32、发射(把耳朵贴到发射探头,可以听到“咔咔” 的声音)。开始的时候P1.0发射2个约40K的脉冲,但是测距范围最远只能达到50cm,开 始以为是发射功率不够,于是调整发射驱动电路中的电阻和接收电路CX20106A引脚 5的外接电阻,虽然有点提高,但效果不是很大,根本达不到系统设计要求。再看软 件,发现当把发送脉冲数调高的时候可以提高测距范围,显然这也会带来更多的误差, 不过可以达到系统要求。4. 2系统测量测量距离选取50cm、75cm、100cm> 125cm, 150cm> 175cm六个不同距离进行测 量。测量时,将测量仪放置于距离地面50cm高度的地方,正前方面对一面平整的墙

33、。 每种不同的距离测量5次。结果如表-1所示。表-1实际距离(cm)5次测量距离(cm)50.048.548.848.748.648.775.073.874.173.774.273.9100.098.998.898.898.898.9125.0123.5123.9123.8123.6123.9150.0148.1148.4148.0148. 1148. 1175.0173.4173.8173.5173.5173.45.1数据的误差分析测量结果和实际距离有误差,经分析,误差可能来源一下几个方面:(1)超声波发射与接收探头和被测点位置存在着一个很小的角度,这个角 度会影响测量距离。(2)由于PLO

34、发射多个脉冲,接收端接收到的可能不是第一个回波,所 以会增加误差。(3)由于没有温度检测电路,超声波在不同的温度下传播速度不同,所以 受温度影响,测量距离和实际距离会有误差。、(4)信号在电路中传播会有延时,也会影响测量结果。(5)系统软件算法不够精准,单片机精度不高。5. 2总结本次设计基于51单片机和超声波实现了 30200cm范围内测距,采用渡越时间 法,硬件系统分为发射模块、接收模块、显示模块、中央处理模块四个部分。由软件 实现40kHz脉冲经放大电路从超声波发射探头T-40发射出超声波,接收探头R-40收 到声波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接

35、收 的时间差和声速计算出距离。本系统使用四位共阳极LED数码管显示距离。本次设计的实验结果精度不是很高,若想得到更精确的测距方法,可以采用相位 法或双频超声波测距方法,或者寻找更精确的算法。不过系统会更复杂,对各个模块 要求会更高。5. 3超声波测距研究趋势的展望超声波测距作为非接触式检测技术的典型方法之一,以其独特的优势和广阔的发 展前景,作以下三点展望:(1)目前采用压电式陶瓷材料和磁致伸缩材料来制造的超声波换能器存在一定的 阻抗失配问题,即在驱动脉冲结束后,由于存在惯性会使换能器继续振动产 生盲区,从而影响超声波测距仪的精度。所以,超声波换能器制造材料的改 进是超声波测距技术发展的一个重

36、要方向。(2)选择更合理的发射脉冲、研发更高性能的换能器,来提高超声波测距系统的 测距范围、分辨力、测量精度和抗干扰能力等性能,是超声波测距理论的又 一个重要研究方向。(3)超声波测距、CCD探测、雷达测距、激光测距等非接触式检测技术均具有各 自的优点。所以,可以复合使用多种非接触式传感器,充分发挥各检测技术 的优势,可以得到更精确的检测结果。CX20106A引脚和参数CX20106主要引脚说明:表2 CX20106引脚说明脚号符号引脚名称说明1IN信号输入 端该脚输入阻抗约为40 士 5k92RCRC网络连 接端该脚与地间接有RC串联网络,用来确定前置放大器的频率特性和增益。电阻增大,电容值

37、小,则增益低:反则高。 但电容不宜过大,否则瞬态响应速度会降低。3C检波电容 连接端该脚与地间连接着检波电容。电容量大为平均值检 波,瞬态响应灵敏度低;电容量小,则为峰值检波, 瞬态响应灵敏度高,但检波输出的脉宽变动大,易造 成遥控误动作。4GND接地端5fo带通滤波 器中心频 率设置端该脚与电源间所接电阻R用来设置带通滤波器的中 心频率fo6330 p积分电容 连接端该脚所接的积分电容,标准值为330PF。当其容量值 变大,则外部噪波干扰增强,而且输出脉冲的低电平 持续时间增加,遥控距离变短7OUT信号输出端该端口为集电极开路输出端。该脚和电源之间连接一 只R3电阻后,输出脉冲低电平的标准值

38、约为0. 2Vo8Vcc供电电源端(5 ±0.3) VCX20106参数表如表- 3:表3 CX20106参数表参数名称最小典型最大单位输入电压2.02.53.1V输出电压(低电平)0.20.4V输出漏电流02.2电压增益747984dB带通滤波器特性49dB输入阻抗274055kQ检波能力440540750消耗电流1.01.82.8mA超声波测距源程序清单ulongucharuchartime;qw, bw, sw, gw;flag;总时间千、百、十、个位标志位#include<AT89X51. H>#include<intrins. h>defineuch

39、arunsigned char#defineuintunsigned intttdefineulongunsigned longttdefinenop ()_nop_()static unsigned char shu=OxCO, 0xF9, 0xA4, OxBO, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, Oxff, Oxbf;/*对应数字 “0”,“1” , “2”,“3”,“4”,“5”,“6”,“7”,“8”“9",“一”*/static unsigned char shu2=0x40, 0x79, 0x24, 0x30, 0x19, 0x12,

40、 0x02, 0x78, 0x00, 0x10, Oxff, Oxbf;/*对应数字 “0.”,“1.”,“2.”,“3.”,“4.”,“5.”,“6.",” , “8. ”,“9. ”,“ ",*/void delay(uchar us)(uint i, j;for(i=us;i>0;i-) for(j=U;j>0;j-);)void fasong(uchar gs)(while(gs)(Pl_0 = 1;nop (); nop (); nop (); nop ();nop (); nop (); nop (); nop ();P1.0 = 0;nop() ;

41、nop() ;nop ();nop () ; nop () ;nop (); nop ();)Pl_0=0;)用于距离计算void jisuan ()(time = THO;time = (time«8) |TLO;time = time-300;减去延时 300 ustime = time*170;time = time/1000; 单位 mm分离千位、百位、十位、个位void zhuanhuan ()qw = time/1000;bw = time%1000/100;sw = time%100/10;gw = time%10;P2 = 0x01;P2 = 0x02;P2 = 0x

42、04;P2 = 0x08;数码管扫描显示 void xianshi () (PO = shutqw;PO = shutbw;PO = shu2sw;PO = shutgw;)delay (20); /2msdelay(20);delay(20);delay (20);void main()(uchar cs;TMOD = 0x11;扫描循环次数变量/TO工作在16位计时状态,最高计时65msTHO = 0x00;TLO = 0x00;TRO = 0;ETO = 1;EXO = 0;PXO = 1;EA = 1;while (1)先关闭TO开TO中断循环程序中再打开/INTO中断高优先级while(!P3_2) delay ;while(!P3_2) P3.2为低则等待,不发送如果P3. 2仍为低,等待,直到为高,再发EXO = 0;ETO = 0;开始发送前保证INTO是关闭状态 先关闭T0中断THO = OxOO;TLO = 0x00;flag= 0;ETO = 1;while(!P3.2) 保证发射前初值为0重新打开TRO = 1; fasong(20); delay ;EXO = 1; while(!flag) /INTO中断完成后进入重新清0/TO计时开始发送20个40khz脉冲300us延时,防止直波干扰开始接收信

温馨提示

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

评论

0/150

提交评论