10米超声波测距仪设计实现

合集下载

10米超声波测距

10米超声波测距

超声波测距仪的制作(常规器件)这里介绍一款国外的不使用单片机的超声波测距仪。

本超声波测距仪通过测量超声波发射到反射回来的时间差来测量与被测物体的距离。

可以测量0.35-10m的距离。

实物图如下:原理图如下:一、电路原理1 超声波发射电路由两块555集成电路组成。

IC1(555)组成超声波脉冲信号发生器,工作周期计算公式如下,实际电路中由于元器件等误差,会有一些差别。

条件: RA =9.1MΩ、 RB=150KΩ、 C=0.01μFTL = 0.69 x RB x C= 0.69 x 150 x 103 x 0.01 x 10-6 = 1 msecTH = 0.69 x (RA + RB) x C= 0.69 x 9250 x 103 x 0.01 x 10-6 = 64 msecIC2组成超声波载波信号发生器。

由IC1输出的脉冲信号控制,输出1ms频率40kHz,占空比50%的脉冲,停止64ms。

计算公式如下:条件: RA =1.5KΩ、 RB=15KΩ、 C=1000pFTL = 0.69 x RB x C= 0.69 x 15 x 103 x 1000 x 10-12 = 10μsecTH = 0.69 x (RA + RB) x C= 0.69 x 16.5 x 103 x 1000 x 10-12 = 11μsecf = 1/(TL + TH)= 1/((10.35 + 11.39) x 10-6) = 46.0 KHzIC3(CD4069)组成超声波发射头驱动电路。

2 超声波接收电路超声波接收头和IC4组成超声波信号的检测和放大。

反射回来的超声波信号经IC4的2级放大1000倍(60dB),第1级放大100倍(40dB),第2级放大10倍(20dB)。

由于一般的运算放大器需要正、负对称电源,而该装置电源用的是单电源(9V)供电,为保证其可靠工作,这里用R10和R11进行分压,这时在IC4的同相端有4.5V的中点电压,这样可以保证放大的交流信号的质量,不至于产生信号失真。

超声波测距系统的设计详解

超声波测距系统的设计详解

超声波测距系统的设计详解超声波测距系统是一种基于超声波测量原理进行距离测量的系统。

它利用超声波在空气中的传播速度较快且能够穿透一定程度的障碍物的特点,通过向目标物体发射超声波并接收反射回来的波形信号,从而计算出目标与传感器之间的距离。

下面将详细介绍超声波测距系统的设计过程。

首先,超声波测距系统的设计需要明确测量的范围和精度要求。

根据需求确定测量距离的最大值和最小值,以及所需的测量精度。

这将有助于选择合适的超声波传感器和测量方法。

其次,选择合适的超声波传感器。

超声波传感器一般包括发射器和接收器两部分,发射器用于发射超声波,接收器用于接收反射回来的波形信号。

传感器的选择应考虑其工作频率、尺寸、功耗等因素。

一般来说,工作频率越高,测距的精度越高,但传感器的尺寸和功耗也会增加。

接下来是超声波信号的发射和接收电路的设计。

发射电路负责产生超声波信号,并将其发送到目标物体上。

接收电路负责接收反射回来的波形信号,并将其转换成可用的电信号。

发射电路常采用谐振频率发射,以提高发射效率和功耗控制。

接收电路则需要设计合适的放大和滤波电路,以增强接收到的信号并去除噪声。

然后是超声波信号的处理和计算。

接收到的波形信号需要进行模数转换和数字信号处理,以获取目标物体与传感器之间的距离。

常见的处理方法包括峰值检测、时差测量、相位比较等。

峰值检测法通过检测波形信号的峰值来判断目标距离;时差测量法通过测量发射和接收信号之间的时间差来计算距离;相位比较法通过比较两个信号的相位差来测量距离。

最后是系统的校准和调试。

校准是调整测距系统的参数,使其达到预定的测量精度。

常见的校准方法包括距离校准和零位校准。

调试是对整个系统进行功能和性能测试,确保其正常工作。

在调试过程中需要注意测距系统与其他系统的干扰和噪声问题,并进行相应的抑制和滤波处理。

总之,超声波测距系统的设计涉及到传感器选择、电路设计、信号处理和系统调试等多个方面。

合理的设计和调试能够保证系统的稳定性和可靠性,从而满足测量的要求。

毕业设计方案超声波测距仪的设计方案

毕业设计方案超声波测距仪的设计方案

毕业设计方案超声波测距仪的设计方案1. 引言超声波测距仪是一种常用的测量设备,可以通过发送超声波信号并接收回波来测量距离。

本文将介绍一种基于超声波的测距仪设计方案,用于毕业设计项目。

2. 设计目标本设计方案的主要目标是设计一种精确、稳定、成本效益高的超声波测距仪。

具体而言,设计要求如下:- 测距范围:至少10米- 测量精度:在0.5%以内- 响应时间:小于100毫秒- 成本:尽可能低廉- 可靠性:能够在不同环境条件下稳定工作3. 设计原理超声波测距仪的工作原理是利用超声波在空气中传播速度恒定的特性,通过测量超声波的往返时间来计算距离。

一般来说,超声波测距仪由发射模块和接收模块组成。

发射模块:发射模块用于发送超声波信号,通常由脉冲发生器和超声波发射器组成。

脉冲发生器用于产生短暂的高频脉冲信号,驱动超声波发射器将信号转换成超声波信号并发射出去。

接收模块:接收模块用于接收反射回来的超声波信号,并将其转换成电信号。

接收模块一般由超声波接收器和信号处理电路组成。

超声波接收器将接收到的超声波信号转换成电信号,并通过信号处理电路进行放大、滤波和波形整形等处理,得到可用的测量信号。

距离计算:通过测量超声波的往返时间,可以计算出距离。

超声波在空气中的传播速度约为340米/秒,因此距离可以通过距离等于速度乘以时间的公式来计算。

4. 硬件设计硬件设计是实现超声波测距仪的关键。

以下是硬件设计方案的主要组成部分:超声波发射器和接收器:选择适当的超声波发射器和接收器是关键。

一般来说,发射器和接收器的频率应该相同,常见的频率有40kHz和50kHz。

此外,发射器和接收器需要具有相匹配的电特性,以确保信号的传输和接收的准确性。

脉冲发生器:脉冲发生器的设计应考虑到发射模块的需求,需要产生高频、短暂的脉冲信号。

常用的脉冲发生器电路有多谐振荡电路和555定时器电路等。

信号处理电路:接收到的超声波信号需要进行处理,以便得到可用的测量信号。

基于超声波技术的距离测量仪器设计

基于超声波技术的距离测量仪器设计

基于超声波技术的距离测量仪器设计随着科技的不断进步,距离测量技术也在不断发展。

其中,基于超声波技术的距离测量仪器具有广泛的应用前景。

本文将介绍基于超声波技术的距离测量仪器的设计。

首先,我们需要了解什么是超声波。

超声波是一种频率高于人类听力范围的声波,通常在20kHz以上。

利用超声波进行距离测量的原理是先发射一定频率的超声波,然后通过接收器接收反射回来的超声波,并根据往返时间来计算出距离。

基于超声波技术的距离测量仪器的设计主要包括三个部分:超声波发射器、超声波接收器和信号处理器。

超声波发射器是用来发射超声波的装置。

它通常由压电晶体构成,当施加电压时,晶体振动并发出超声波。

为了确保发射的超声波具有一定的频率和强度,我们需要选择适当的晶体和供电电路。

超声波接收器是用来接收反射回来的超声波的装置。

它也由压电晶体构成,当超声波碰撞到晶体上时,晶体会产生电荷。

这些电荷经过放大电路放大后,被送入信号处理器进行处理。

信号处理器是用来计算距离的装置。

它可以根据超声波发射到接收的时间差来计算出距离。

具体来说,信号处理器会记录下超声波发射的时间点和接收到超声波的时间点,并计算它们之间的时间差。

然后,根据声波在空气中的传播速度,即声速,可以得出距离。

当然,在设计基于超声波技术的距离测量仪器时,还需要考虑到一些其他因素。

例如,超声波在不同介质中的传播速度会有所不同,因此需要根据实际情况进行修正。

此外,还需要考虑到信号的干扰和噪声等问题,以确保测量结果的准确性。

综上所述,基于超声波技术的距离测量仪器是一种非常有用的测量工具。

它可以应用于各种领域,如工业自动化、建筑测量、机器人导航等。

随着技术的不断进步,基于超声波技术的距离测量仪器的性能和精度也在不断提高,将为我们的生活带来更多便利。

超声波测距设计毕业设计

超声波测距设计毕业设计

超声波测距设计毕业设计一、引言距离测量在许多领域都具有重要的应用,如工业自动化、机器人导航、汽车防撞等。

超声波测距作为一种非接触式的测量方法,具有测量精度高、响应速度快、成本低等优点,因此在实际工程中得到了广泛的应用。

本次毕业设计旨在设计一种基于超声波的测距系统,实现对目标物体距离的准确测量。

二、超声波测距原理超声波是一种频率高于 20kHz 的机械波,其在空气中的传播速度约为 340m/s。

超声波测距的原理是通过发射超声波脉冲,并测量其从发射到接收的时间间隔,然后根据声速和时间间隔计算出目标物体与传感器之间的距离。

假设发射超声波脉冲的时刻为 t1,接收到回波的时刻为 t2,声速为c,距离为 d,则距离 d 可以通过以下公式计算:d = c ×(t2 t1) / 2三、系统硬件设计(一)超声波发射模块超声波发射模块主要由超声波换能器和驱动电路组成。

超声波换能器将电信号转换为超声波信号发射出去,驱动电路则提供足够的功率和电压来驱动换能器工作。

(二)超声波接收模块超声波接收模块主要由超声波换能器、前置放大器、带通滤波器和比较器组成。

换能器将接收到的超声波信号转换为电信号,前置放大器对信号进行放大,带通滤波器去除噪声和干扰,比较器将信号整形为方波信号。

(三)控制与处理模块控制与处理模块采用单片机作为核心,负责控制超声波的发射和接收,测量时间间隔,并计算距离。

同时,单片机还可以将测量结果通过显示模块进行显示,或者通过通信模块与上位机进行通信。

(四)显示模块显示模块用于显示测量结果,可以采用液晶显示屏(LCD)或数码管。

(五)电源模块电源模块为整个系统提供稳定的电源,包括 5V 和 33V 等不同的电压等级。

四、系统软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机的初始化、定时器的初始化、端口的初始化等。

然后进入主循环,不断地发射超声波脉冲,并等待接收回波。

当接收到回波后,计算距离,并进行显示或通信。

10米超声波测距

10米超声波测距

超声波测距仪的制作(常规器件)来源:/srm.htm作者:未知发布:admin 字号:[大中小] 发表文章这里介绍一款国外的不使用单片机的超声波测距仪。

本超声波测距仪通过测量超声波发射到反射回来的时间差来测量与被测物体的距离。

可以测量0.35-10m的距离。

实物图如下:原理图如下:一、电路原理1 超声波发射电路由两块555集成电路组成。

IC1(555)组成超声波脉冲信号发生器,工作周期计算公式如下,实际电路中由于元器件等误差,会有一些差别。

条件: RA =9.1MΩ、 RB=150KΩ、 C=0.01μFTL = 0.69 x RB x C= 0.69 x 150 x 103 x 0.01 x 10-6 = 1 msecTH = 0.69 x (RA + RB) x C= 0.69 x 9250 x 103 x 0.01 x 10-6 = 64 msecIC2组成超声波载波信号发生器。

由IC1输出的脉冲信号控制,输出1ms频率40kHz,占空比50%的脉冲,停止64ms。

计算公式如下:条件: RA =1.5KΩ、 RB=15KΩ、 C=1000pFTL = 0.69 x RB x C= 0.69 x 15 x 103 x 1000 x 10-12 = 10μsecTH = 0.69 x (RA + RB) x C= 0.69 x 16.5 x 103 x 1000 x 10-12 = 11μsecf = 1/(TL + TH)= 1/((10.35 + 11.39) x 10-6) = 46.0 KHzIC3(CD4069)组成超声波发射头驱动电路。

2 超声波接收电路超声波接收头和IC4组成超声波信号的检测和放大。

反射回来的超声波信号经IC4的2级放大1000倍(60dB),第1级放大100倍(40dB),第2级放大10倍(20dB)。

由于一般的运算放大器需要正、负对称电源,而该装置电源用的是单电源(9V)供电,为保证其可靠工作,这里用R10和R11进行分压,这时在IC4的同相端有4.5V的中点电压,这样可以保证放大的交流信号的质量,不至于产生信号失真。

教学项目10超声波测距系统设计

教学项目10超声波测距系统设计

教学项目10超声波测距系统设计超声波测距系统是一种基于超声波传感技术,通过发送超声波脉冲并接收反射回来的超声波脉冲,从而测量目标物体与传感器之间的距离。

本教学项目旨在教授如何设计和实现一个简单的超声波测距系统。

以下是该项目的详细步骤:1.材料准备:- Arduino Uno控制板-超声波传感器模块(如HC-SR04)-面包板-杜邦线2.连接电路:- 将Arduino Uno控制板插入面包板,并让其稳固地固定在面包板上。

- 使用杜邦线将超声波传感器模块连接到Arduino Uno控制板上,确保正确连接,VCC与5V引脚相连,Trig与9引脚相连,Echo与10引脚相连,GND与GND引脚相连。

3.编写代码:- 打开Arduino开发环境,创建一个新的空白文件。

-编写代码以初始化引脚,并定义距离变量。

-编写一个函数来测量距离,该函数将使用超声波发送脉冲并接收回来的脉冲,并计算出目标物体与传感器之间的距离。

-在主循环中调用测量函数,并将测量结果打印到串行监视器中。

以下是一个示例代码:```c++const int trigPin = 9;const int echoPin = 10;void setupinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT);Serial.begin(9600);void loolong duration, distance;digitalWrite(trigPin, LOW);delayMicroseconds(2);digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);duration = pulseIn(echoPin, HIGH);distance = duration * 0.034 / 2;Serial.print("Distance: ");Serial.print(distance);Serial.println(" cm");delay(1000);```4.上传代码:- 将Arduino Uno控制板通过USB连接到电脑。

超声波测距程序设计

超声波测距程序设计

超声波测距程序设计超声波测距是一种常用的非接触式测距技术,其原理是利用超声波在空气中传播的特性进行测量。

在超声波测距程序设计中,需要考虑到硬件设备的选择、信号处理算法的设计以及数据分析与显示等方面。

下面是一份超声波测距程序设计的详细介绍。

首先,硬件设备的选择是超声波测距程序设计的第一步。

通常情况下,超声波测距传感器包括超声波发射器和接收器两部分。

超声波发射器发射出特定频率的超声波脉冲,接收器接收到反射的超声波并进行信号放大和处理。

根据具体的应用需求,可以选择适当的超声波测距传感器。

其次,需要设计合适的信号处理算法来处理接收到的超声波信号。

根据超声波的传播速度和回波时间差,可以计算出被测物体与传感器之间的距离。

常用的信号处理算法包括时间差测量法和周期测量法。

时间差测量法是一种基于超声波的往返时间计算距离的方法。

具体实现时,首先通过发射器发射出超声波脉冲,然后通过接收器接收到反射的超声波脉冲。

利用计时器记录下超声波发射和接收的时刻,然后通过时间差换算为距离。

周期测量法是一种基于超声波的周期计算距离的方法。

具体实现时,通过发射器发射出连续的超声波信号,接收器接收到反射的超声波信号。

通过计算接收到的超声波信号的周期,然后通过周期与传播速度计算得到距离。

在信号处理算法的设计中,需要考虑到测量误差的问题。

超声波信号在传播过程中会受到多种因素的影响,例如温度、湿度、气压等。

因此,需要进行一定的误差校正,以提高测量的准确性。

最后,数据分析与显示是超声波测距程序设计中的一个重要环节。

通过采集到的测量数据,可以对被测物体的距离进行分析和显示。

通常情况下,可以通过串口或者其他通信方式将测量数据传输到上位机,然后通过上位机进行分析和显示,以便用户进行观察和判断。

综上所述,超声波测距程序设计通常包括硬件设备的选择、信号处理算法的设计以及数据分析与显示等方面。

通过合理设计和实现,可以实现对被测物体距离的准确测量,并开发出符合实际需求的超声波测距应用系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10米超声波测距仪设计实现一、功能要求设计一个超声波测距仪,可以测量测距仪与被测物体间的距离。

要求测量范围0.1~10.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所示:t 超声波发射 障碍物 SHθ超声波接收 图3-1 超声波的测距原理θcos S H = (3-1))(H L arctg =θ(3-2)式中:L---两探头之间中心距离的一半.又知道超声波传播的距离为:vt S =2( 3-3)式中:v —超声波在介质中的传播速度;t —超声波从发射到接收所需要的时间.将(3—2)、(3—3)代入(3-1)中得:]cos[21H L arctg vt H = ( 3-4)其中,超声波的传播速度v 在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H 远远大于L 时,则(3—4)变为:vt H 21= ( 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 romwrite(0xBE); //发读内部9字节内容指令c=read(); //读两个字reset(); //读完两个字节后复位write(0xCC); // 跳过多传感器识别skio romwrite(0x44); // 发启动温度变换指令图5-1 程序流程框图if(c>0x1000){c=c+1;tu=1;} //若温度小于0,tu=1c>>=4; //去掉低四位即为整数温度值,无需*0.0625return c;}else{return 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;w<255;w--) //启动显示9~0,H~A,-{LED_Data=LED0[w];led_1H=0;led_2H=0;led_3H=0;time(400);bell=0;LED_Data=0xff;time(20);bell=1;OFF=0xff; //关闭P3口}//--------------------------------------------key();T_show: //标号EA=0; //关总中断TR1=0; //停止计数do{LED_T_C(Read_Temperature());//采温度并转换为LED显示值show(25); //显168次后采一次温度key();show(25);key();show(25);key();show(25);key();show(25);key();show(25);key();show(25);key();}while(show_temperature==1); //如WD 为0只显示温度//------------------测距部分开始TMOD=0X11; //设定时器T0、T1工作于16位定时/计数模式EA=1; //开总中断IT1=1; //外部中断下降沿触发方式w=0;while(1){TT1(); //装T1初值TR1=1; //启动定时器T1Send_40K(); //发送测量方波time_11uS(6); //延时66uS,限制最小测量ET1=1; //允许T1中断EX0=1; //允许外部中断0中断do{ led_display();}while(flag==0&&TO==0); //判断是否有收到回波如有则计算判断是否超出测量范围if(flag==1){if(w>27){C_speed();w=0;} //测Wu次距后取一次温度声速w++;dis=Dis_count(); //转换距离flag=0;if(dis<=8||dis>=996){temp[0]=0xF7;temp[1]=0xF7;te mp[2]=0xF7;}//溢出处理else{bell=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.培养分析系统设计方案的能力并从方案中选择一个最优的设计方案二、实验内容针对本次课题,提出几种总体设计方案,并比较其优缺点,确定两套方案中的一套为本课题采纳的方案并对主要思想进行初步的阐序。

相关文档
最新文档