



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、个人收集整理勿做商业用途封面个人收集整理勿做商业用途作者: Pan Hongliang仅供个人学习前言随着我国科学技术的迅速发展,许多场合都需要测距仪器的应用,如汽车倒车,建筑工地的施工以及一些工业现场的位置监控,还有矿井深度、水位位置、管道长度等场合都需要用到测距仪器。要求仪器简单,方便,易操作控制,而超个人收集整理勿做商业用途声波测距仪,就能实现以上的要求。它测量范围在0.10-1.20m ,测量精度 1cm,测量时仪器与被测物体不会直接接触, 而且能够清晰稳定的在液晶显示屏上显示出测量结果。但就目前整体的技术水平来说,人们可以具体利用的测距技术还十分有限。因此,这是一个正在蓬勃发展而又有
2、无限前景的技术及产业领域。 展望未来数十年,超声波测距仪作为一种新型的非常重要且有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。本设计采用以 AT89C52单片机为控制器核心的高精度、 低成本、微型化数字显示超声波测距仪的硬件电路和软件设计方法。 整个电路采用模块化设计, 由主程序、中断程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理, 实现超声波测距仪的各种功能。 在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。1 总体方案设计介绍所谓的超声波就是指频率高于 20MHZ的机械波。既
3、然是以超声波为检测工具,那么肯定要产生超声波和接受超声波的工具, 这就需要用到我们的传感器, 俗称探头。它有发射器和接收器之分, 主要原理就是利用电效应把电能和超声波相互转换,利用声波介质对被检测物进行非接触式无磨损的检测。 超声波传感器对透明或有色物体,金属或非金属物体,固体、液体、粉状物质均能检测。本文所研究的超声波测距仪利用超声波指向性强、能量消耗缓慢、 传播距离较远、中长距的高精度测距等优点,即用超声波发射器向某一方向发送超声波,将电能转换, 发射超声波, 同时在发射的时候单片机就开始计时,在超声波遇到障碍物的时候反射回来, 超声波接收器在接收到反射回来的超声波回波时,将超生振动转换成
4、电信号, 同时单片机停止计时。 超声波测距原理一般采用渡越时间法 TOF,设超声波在空气中的传播速度为 C,从发射到遇到障碍物反射回来在空气中的传播时间为 T,声源与障碍物的距离为 L,则易知 L=C*T/2,这样可以测出声源与障碍物之间的距离,然后在 LED显示屏上稳定的显示出来 1 。传感器的工作机理是依据压电材料的正逆压电效应, 利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号, 材料就会产生随所加电压的变化规律而变化的机械形变, 这种机械形变推动周围介质振个人收集整理勿做商业用途动,产生疏密相间的机械波, 如果其振动频率在超声范围内, 这种机械波就是超
5、声波 1 。根据设计要求并综合各方面因素考虑, 本文决定采用 AT89C52单片机作为主控制器,超声波发射电路、超声波接收放大电路、显示电路,并用动态扫描法实现 LED数字显示,超声波驱动信号用单片机的定时器完成。 超声波测距仪的系统硬件原理框图如图 1-1 所示。报功温警能度键检盘测发生器信号产生驱动微控制器AT89C52信号放大整型接收器LED 显示结果图 1-1 超声波测距系统硬件原理框图超声波在标准空气中的传播速度为 331.45 米 / 秒,由单片机驱动产生 12MHZ 晶振,所以此系统理论上可以达到毫米级。 由发射器发送超声波出去, 在遇到障碍物反射回来时的回波由接收器检测到信号,
6、 然后经过滤波、 放大、整形之后送入 AT89C52单片机进行计算, 并将计算结果显示到 LED液晶显示屏上。 超声波发生器可以分为两大类: 一类是用电气方式产生超声波; 另一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液 和气流旋笛等。它们所产生的超声波的频率, 功率和声波特性各不相同, 因而用途也各不个人收集整理勿做商业用途相同。本文属于近距离测量, 适合汽车的倒车雷达, 故可采用常用的压电式超声波换能器 2 。2 超声波的相关知识32.1 超声波测距仪的主要功能概述: 实时稳定显示当前测量温度; 具有近距离和远距离两种测量模式; 能够实时报警功能; 具有开
7、机系统自检功能; 耗电量低; 可靠性高; 高灵敏度和高声压2.2 超声波测距仪的主要技术指标测量距离: 0.20m-1.3m测温范围: -10 115测量距离精度: 1cm实时功率: 0.05W标准频率: 40kHz声压级: 1203(公式: S.P.L.= 20logP/Pre (dB))系统发射功率: 1mW(max)工作电流: 80mA(min)、 90mA(max)输入电源电压: 5V3 系统设计原理 4超声波测距其实有很多的方法, 包括声波幅值检测法、 相位检测法、 以及往返时间检测法等等, 声波幅值检测法容易受到反射波损耗的映像, 相位检测法虽然精度高,但是检测范围有限, 所以本系
8、统采用往返时间检测法, 其原理就是利用超声波在空气介质中的传播速度, 测量声波从发射到遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离, 进而达到测距的效果。个人收集整理勿做商业用途测距的公式表示为: L=C*T/2(3-1)式中 L 为被测量的距离长度; C 为超声波在空气中的传播速度; T 为测量距离传播的时间差 (T 为发射到接收之间时间数值的两倍 ) 。要想利用超声波准确的测得发射点与障碍物之间的实际距离, 那么就应该准确的测得超声波在空气介质中得实际传播速度。 我们知道超声波是要随环境中的气压和介质温度的变化而变化,一般情况下受大气压力的影响非常小, 但
9、是受温度的影响确实非常大的, 例如在摄氏 0 度时其传播速度为 331.45m/s ,在摄氏 20 度时其传播速度为 343.869m/s ,在摄氏 30 度时其传播速度为 349.176m/s ,具体参考表 1。故要考虑到温度给实际测量带来的影响, 尽量使测距准确性大大提高, 本方案中采用测量温度的方法来补偿声速, 即用测温元件测量实际环境的温度来校正声速,这就是温度补偿法。其中超声波在空气中的传播速度和温度有如下的关系:V=331.4+0.607Tm/sT(3-2)其中 V 为超声波在该温度下的实际传播速度(单位为 m/s ),T 为摄氏温度。当温度知道的情况下,通过该式就可以知道该温度下
10、超声波的传播速度了。表 1 不同温度下的超声波传输速度温度/-30-20-100102030100声波 /(m/s)3133193253313383443493864 超声波测距系统的硬件组成4.1 控制芯片的选择 5一般情况下采用AT89C51单片机,但是他的资源有限,只有4K 的程序存储空间和两个定时器,而它的兄弟模块AT89C52单片机兼容MCS51指令系统,内部集成了 8K 的可反复擦写的程序存储空间(Flash ROM),四个 8 位的双向 I/O口,256x8bit内部 RAM,2 个串行中断,可编程UART串行通道,中断源增加一个,即额外增加了一个定时器/ 计数器 T2 ,而且有
11、 PDIP、PQFP、TQFP及 PLCC等几种封装形式,以适应不同产品的需求。AT89C52支持串口程序下载,具有操作简便、价格便宜、应用简单等许多优点。因此我们选用这一型号的单片机作为控制器实现对超声波模组进行控制,然后单片机不停的检测INT0 引脚,当 INT0 引脚的电平由高电平变为低电平时就认个人收集整理勿做商业用途为超声波已经返回。单片机用 P1.0 端口输出超声波换能器所需的 40kHz 的方波信号,占空比 50%,连续发 10 个波( 3-15 个波都可以),然后拉低(或拉高) 50mS 以上,接着再输出, 如此循环。利用外中断 0 口监测超声波接收电路输出的返回信号。采用 1
12、2MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差,是后面计算的基础。 计数器所计的数据就是超声波所经历的时间, 通过换算就可以得到传感器与障碍物之间的距离。控制电路如图 4.1-1 所示。图 4.1-1超声波控制电路4.2 超声波发射电路 6MAX232是美国 MAXIM公司专为串口路通信设计的芯片,它能将TTL 电平和RS232电平相互转换,具有功耗低,只需要单一+5V 电源供电,供电电流5mA;内部集成2 个 RS-232C 驱动器,高集成度,片外最低只需4 个电容即可工作,所以这里超声波发射电路采用基于MAX232的方波发射电路。电路前级主要由一块反向器芯片74LS04和超声波发
13、射探头T 构成,74LS04内部具有 6 个独立的反相器,通过将外部管脚的组合连接来实现对单片机发出的超声发射探头激励信号进行功率放大处理;单片机 P1.0 端口输出超声波转化器所需的 40KHz方波信号,占空比为 50%的方波信号,一路通过 74LS04 内部一级反向器后送到超声波发射探头 T 的一个电极,另一路经两极反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号反相叠加到超声波换能器的两端, 可以将超声波发射强度提高一倍。 同时输出端两路信号都采用两个反向器并联得方式, 这样可以提高超声脉冲的驱动能力。 上拉电阻 R10、R11一端接上正 5V 电源,另一端连接超声波发射探
14、头 T 的一极,一方面可以提高反向器 74LS04输出高电平的驱动能力,使发射探头发射超声波的能力更强; 另一方面还可以增加超声波发射探头T 的自身阻尼效果,缩短其自由振荡的时间得到更加完整的超声脉冲波形,这样驱动 MAX232实现从 TTL电平到 RS232电平的转换,具体电平转换图4.2-1 所示10图 4.2-1 MAX232 电平转换图图 4.2-2 基于 MAX232的超声波发射电路由于发射到换能器的电压高, 波形比较完整, 因此可以达到很高的发射功率个人收集整理勿做商业用途与效率,可以测量到比较远的距离,同时用这个电路发射方波,电路工作稳定,适合单电源供电, 功耗也非常小。 所以我
15、们采用这个方案作为发射电路。电路图如图 4.2-2 所示。4.3 超声波接收电路 7超声波接收电路所用的芯片,我们采用SONY 公司生产的红外接收专用芯片 CX20106A(内部结构如图 4.3-1 所示),它采用集成接收芯片对超声波回波信号进行放大和整形,由于红外线的载波频率和测距超声波频率 40MKz 非常接近,且具有很高的灵敏度和较强的抗干扰能力, 可以利用它作为超声波接收电路。 外围电路简单易于实现,同时减少了生产调试的麻烦,因此我采用这个接收方案。图 4.3-1 CX20106 内部结构当超声波接收头收到发射信号时, 便通过 CX20106进行前置放大、限幅放大、带通滤波、峰值检波和
16、比较、积分及施密特触发比较得到解调处理后的信号。7脚为信号输出口, 没收到信号时为高电平, 收到后变为低电平, 之后又恢复高电平。( a)为接收信号,(b)为有源峰值检波,如图4.3-2 所示。图 4.3-2 信号图CX20106A内部集成了前置放大与限幅放大,总增益可达80dB,带通滤波电路,峰值检波,噪声抑制电路,自动增益控制电路和波形整形电路。 芯片 CX20106A的 2 引脚与 GND之间连接 RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值便能改变芯片内部前置放大器的增益和频率特性, 调整外部电阻R6可以的调整它的接收中心频率与增益,当 R6阻值越大时,滤波器的中心
17、频率越低。当取 R6=200k 时,fn 42kHz,若取 R6=220k ,则中心频率 f0 38kHz。增大电阻 R 或是通过调整外部的电容 C2,都将使负反馈量增大, 放大倍数下降,反之则放大倍数增大。 这样便可以调节超声波接收探头 R的接收灵敏度。 但电容C的改变会影响到频率特性,一般在实际使用中不必改动,直接使用推荐的参数值 R=4.7 ,C=3.3F。它工作稳定,灵敏度高,功耗小,接收回波能力强,所以我采用这个方案作为接收电路。超声波接收电路如图4.3-3 所示。图 4.3-3 基于 CX20106A的超声波接收电路4.4 温度检测模块 8个人收集整理勿做商业用途检测模块采用DAL
18、LAS公司生产的1Wire,即以数字温度传感器DS18B20为核心,是单总线器件,具有线路简单,体积小的特点。如果用它来组成一个测温系统,具有线路简单,在一根通信线上,外部可以挂很多这样的数字温度计,并实现双向通讯。4.4.1 数字温度传感器DS18B20的特点 数字温度传感器 DS18B20具有很多特点,轻松准确实现测温。 只要求一个 I/O口即可实现多个信号同线传输, 。 适应电压范围更宽, 电压范围: 3.0 5.5V ,在寄生电源方式下可由数据线供电,零功耗。 简单网络化温度感知,可测量温度范围在55 到 125 摄氏度间,在-10 +85时精度为 0.5 。DS18B20在使用中不需
19、要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 数字温度计的分辨率用户可以从9 位到 12 位选择,对应的可分辨温度分别为 0.5 、 0.25 、 0.125 和 0.0625 ,可实现高精度测温。 在 DS18B20中的每个器件上都有独一无二的序列号。 内部有温度上、下限告警设置。4.4.2 DS18B20 的引脚功能数字温度传感器 DS18B20详细引脚功能描述如下。 GND 地信号。 I/Q 数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源。 VDD可选择的 VDD 引脚。当依靠寄生电源时,此引脚必须接地,否则将被烧毁。 由于 DS
20、18B20采用的是 1 Wire 总线协议方式,即在一根数据线上实现数据的双向传输通信,而对 AT89C52 单片机来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对 DS18B20芯片的访问。由于 DS18B20是在一根I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线个人收集整理勿做商业用途器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据, 在进行写命令后, 主机需启
21、动读时序完成数据接收。图 4.4.2-1 DS18B20 温度检测电路本系统用外部寄生电源连接数据线的供电方式 , 即 2 脚接一个 4.7K 的上拉电阻到 VCC, DS18B20的 1 脚 GND和 3 脚分别接地和 VCC电源,这样有有一个方便之处就是检测温度的范围将增大。温度检测电路如图 4.4.2-1 所示。4.5 显示电路液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。 由于 LCD1602模块独有的蓝色背光电路可以在环境光线较弱的条件下应用,画面显示清晰,价格便宜,颜色靓丽的特点,是很好的显示设备。 同时,还能够根据情况来调节
22、显示的亮度。由于本系统可以不用显示汉字,介于设计成本上的需要,我采用了这个显示方案。4.5.1 LCD1602 引脚功能说明表 4.5.1-1 LCD1602 引脚功能符 号名 称功 能1VSS接地0V2VDD电路电源5V3VEE液晶驱动电压保证 VDD-VEE=4.55V 电压差4RS寄存器选择信号H: 数据寄存器 L: 指令寄存器5R/W读/ 写信号H: 读L: 写6E片选信号下降沿触发 , 锁存数据7-14D0-D7双向数据线数据传输4.5.2 LCD1602 主要技术参数LCD液晶显示电路采用LCD1602液晶显示模块, 它的显示容量为 216 个字符,最佳工作电压为5V,工作电流 2
23、mA,通过单片机控制将所测的频率信号读数显示出来,字符尺寸为2.95 4.35(WH)mm,完全可以满足我们的设计要求。个人收集整理勿做商业用途4.5.3 LCD1602 的一般初始化过程延时 15mS写指令 38H(不检测忙信号)延时 5mS写指令 38H(不检测忙信号)延时 5mS写指令 38H(不检测忙信号)以后每次写指令、读 / 写数据操作均需要检测忙信号写指令 38H:显示模式设置写指令 08H:显示关闭写指令 01H:显示清屏写指令 06H:显示光标移动设置写指令 0CH:显示开及光标设置4.5.4 液晶显示模块LCD1602液晶显示模块如下图4.5.3-1所示。图 4.5.2-1
24、 LCD1602液晶显示模5 软件设计5.1 主程序超声波测距仪的软件设计主要由主程序, 中断服务子程序组成。 主程序包括超声波温度补偿子程序, 计算子程序, 显示子程序。 中断服务子程序主要完成计数值的读取、距离计算等工作。主程序主要是开始要对系统初始化,第一是设置定时器 T0 工作模式为 16 位定时 / 计数器模式,置位总中断允许位 EA并对显示端口 P0 和 P2清 0;第二是调用超声波发生子程序循环发送 4 个 40MKz的超声波脉冲, 并开始计时。为了避免超声波从发射器直接传到接收器引起的直射波, 需要延时约 0.1ms 后才可打开外中断 0 接收返回的超声波信号。 第三是第三读取
25、外界环境的温度, 由该温度确定环境中的超声波传输速度。 第四等待中断, 若超声波被接收探头捕捉到, 那么通过中断可测得超声波在环境中的传播时长。 由于采用的是 12MHz的晶振,计数器每计一个数就是 1us,所以当主程序检测到接收成功的标志位后, 将计数器 T0个人收集整理勿做商业用途中的数(即超声波来回所用的时间) 按测距公式计算, 即可得被测物体与测距器之间的实际距离 9 。主程序流程图如图 5.1-1 所示。开始系统初始化定时中断程序发送超声波脉冲计时等待反射超声波有回波吗?外部中断子程序计算距离显示结果返回图 5.1-1 主程序流程5.2 超声波接受和发射子程序10超声波发生子程序包括
26、定时中断服务子程序(如图 5.3-1 所示)和外部中断服务子程序(如图5.3-2 所示)。个人收集整理勿做商业用途定时中断入口定时初始化发射超声波是否发射完?停止发射返回图 5.3-1定时中断服务子程序外部中断入口关外部中断读温度读时间计算时间值计算距离输出结果开外部中断返回图 5.3-2外部中断服务子程序它们的作用是通过P1.0 端口发送 2 个左右的超声波信号频率约40KHz的方波,脉冲宽度为 12us 左右,同时把计数器 T0 打开进行计时。 超声波测距器主程序利用外中断0 检测返回超声波信号,一旦接收到返回超声波信号(INT0 引脚个人收集整理勿做商业用途出现低电平 ) ,立即进入中断
27、程序。进入该中断后就立即关闭计时器T0 停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断0 关闭,并将测距成功标志字赋值2 以表示此次测距不成功。6 系统测试6.1 调试超声波测距器的制作和调试都较为简单,其中超声波发射和接收采用?15的超声波换能器TCT4010F1(T 发射)和 TCT40 10S1( R 接收),中心频率为40KHz,安装时应保持两换能器中心轴线平行并相距48cm,其余元件无特殊要求。若能将超声接收电路用金属壳屏蔽起来,则可提高抗干扰性能。 根据测量范围要求不同,可适当地调整与接收换能器并接的滤波电容C4 的
28、大小,以获得合适的接收灵敏度和抗干扰能力。硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。根据实际情况,可以修改超声波子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。6.2 性能分析虽然结果和预想的有很大的差距, 但总体来说已经基本上达到了要求, 理想上超声波测距能达到 5到7米左右,而我们所能实现的最大距离只有 3米,造成这种原因我想有以下几点: 由于我们采用的是 11.0592MHZ的晶振,理论上是按照 12MHZ的晶振计算的,所以对系统造成了一定的误差。 由于温度传感器 DS18B20距离单片机较近,所采集到的温度严重受到单片机的影响,造成系统误差
29、6.3 超声波测距注意问题及改善方法超声波在空气中传播经过多条相隔很近的路径多次来回影响,解决方法有两个:第一是超声波发射间隔时间增长;第二就是超声波发射模块做小,同时探头 T 与 R 平行于电路板,减小其来回反射路径。 提高超声波发射功率,可以增加测量距离,可以采用变压器实现升压。 超声波发射头和接收头由于靠的很近,容易受到发射的干扰,应该尽量个人收集整理勿做商业用途避免余波的干扰。 从图 13 中可以看到, 当发射超声波脉冲时, 几乎在同一时刻收到了。解决方法:一个是增加 T/R 之间的安装距离,第二就是软件解决,在发射完后,延长一段时间再开启检测超声波发射的信号。 这就是超声波存在最小测
30、量距离的主要原因。 避免手接触超声波电路板,容易产生干扰。 提高电源的稳定性。 测量距离时,应尽量保证, 传感器轴线与被测物表面垂直。 实际测距范围与被测物表面材料有关,一般不要测量表面为毛料的物体表面。图 11 发射波和反射波示意图7 总结在本论文的制作过程中, 我发现我在此只考虑了环境温度对超声波速度的影响,如果能将其它环境因素(如:气压、湿度等)考虑进去和采用更精密的温度传感器,在测量精度可以有很大的提高,误差可以越接近于“0”。由于超声波的发射功率有限, 在最大测量范围指标上尚未达到要求,这可以通过加大发射功率得到解决。不过经设计后的超声波测距仪仍然具有使用方便、操作简单、 读数直观、
31、精度高、成本低、性价比高、具有系统诊断功能等特点。既可随身携带,又可远程控制,人机界面友好,应用范围广。如可用在精度需要比较高的场合:自动气象站中水气日蒸发量的测试,水位或液面测量。也可用于安防系统中,如:汽车“雷达”。还可配合 PC或 GSM无线模块应用于无线远距离环境测量系统, 实现远距离的操控以及数据的远距离传输。经过本论文的设计制作, 我学会了很多东西, 更加坚定了认真严谨的工作态度。虽然我遇到各种各样的困难,但我没有放弃,我查阅网上和图书馆资料,请教老师相关问题, 最终凭着严谨认真的科研态度, 创新求实的科学精神, 克服了这种种困难。 同时,多得各位老师和同学的耐心分析和指导, 尤其
32、是杨梅老师给予了我很大的帮助! 为此,我们要向我的指导老师杨梅老师表示由衷的感谢, 在她的耐心帮助下,我终于顺利地完成我们的这次设计制作!附录一: 超声波测距系统原理图个人收集整理勿做商业用途附录二: 超声波测距 PCB图附录三: 超声波测距主程序#include#define uchar unsigned char#define uint unsigned intsbit d8=P27;sbit d1=P20;sbit d2=P22;sbit d3=P24;sbit fang=P31;sbit ds=P14;/define ds18b20sbit lcden=P10;sbit lcdrs=P
33、12;uchar table=TMP:;uchar table1=distance:;uchar table2=0123456789.CM;double TT;float S6;uint temp,temp1,time,V,S;uint S53,temp23;uchar A1,A2,A3,S1,S2,S3,S4,timeh,timel,flag;/*延时 */void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*初始化 DSB18B20*/void dsreset()uint i;ds=0;i=103;while(i0) i-;
34、ds=1;i=4;while(i0) i-;/*read a bit*/bit tmpreadbit()个人收集整理勿做商业用途uint i;bit dat;ds=0;i+;ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return(dat);/*read a byte*/uchar tmpread()uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tmpreadbit();dat=(j1);return(dat);/* write a byte */void tmpwritebyte(uchar dat)uint i;uchar j;bit t
35、estb;for(j=1;j1;if(testb)ds=0;i+;i+;ds=1;i=8;while(i0) i-;elseds=0;个人收集整理勿做商业用途i=8;while(i0) i-;ds=1;i+; i+;/*temchange 温度转换命令 */void tmpchange()dsreset();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0x44);/*get tmp*/uint gettmp()float tt;uchar a,b;dsreset();delay(1);tmpwritebyte(0xcc);tmpwritebyte(0xbe
36、);a=tmpread();b=tmpread();temp=b;temp=8;temp=temp|a;tt=temp*0.0625;temp=tt*10+0.5;return temp;/* fen li*/void display1(uint temp)A1=temp/100;A2=(temp%100)/10;A3=temp%10;void display2(uint S)S1=S/1000;S2=S%1000/100;个人收集整理勿做商业用途S3=S%100/10;S4=S%10;/*write a data*/void write_data(uchar date)lcdrs=1;/rs
37、 =1P0=date;delay(5);lcden=1;/EN一个高脉冲写入delay(5);lcden=0;/*write a command*/void write_com(uchar com)/ 液晶写指令lcdrs=0;/RS =0P0=com;/送指令delay(5);lcden=1;/EN 一个高脉冲写入delay(5);lcden=0;/*init lcd*/void init()/初始化液晶uchar i;lcden=0;i+;i+;write_com(0x38);i+; i-;write_com(0x0e);/光标不闪烁指令i+;i-;write_com(0x06);i+;i
38、-;write_com(0x01);/清除所有指令i+;i-;void xianshi()uchar a;init();write_com(0x80+3);delay(5);for(a=0;a4;a+)个人收集整理勿做商业用途write_data(tablea);delay(5);write_com(0x80+11);delay(5);for(a=11;a13;a+)write_data(table2a);delay(5);write_com(0x80+9);delay(5);write_data(table210);delay(5);write_com(0xc0);delay(5);for(
39、a=0;a0)个人收集整理勿做商业用途write_com(0xc0+9);delay(5);write_data(table2S1);delay(5);write_data(table2S2);delay(5);write_com(0xc0+12);delay(5);write_data(table2S3);delay(5);write_data(table2S4);delay(5);elsewrite_com(0xc0+10);delay(5);write_data(table2S2);delay(5);write_com(0xc0+12);delay(5);write_data(table
40、2S3);delay(5);write_data(table2S4);delay(5);void send()uchar i,j,k;EX1=0;TH0=0;TL0=0x01;for(i=15;i0;i-)fang=1;j=5; while(j0) j-;fang=0;j=4; while(j0) j-;TR0=1;/启动定时器 0j=250;while(j0)j-;IE1=0;个人收集整理勿做商业用途EX1=1;/开外部中断for(k=2;k0;k-)1/等待中断回波for(i=255;i0;i-)for(j=255;j0;j-);void baojing()if(S6=1.0)d1=1;d
41、2=0;if(S6=0.5)d1=1;d2=1;if(S60.5)d2=1;d1=0;void exter1(void) interrupt 2EX1=0;TR0=0;timeh=TH0;timel=TL0;TH0=0;TL0=0x01;d8=0;flag=1;void main()uchar i;EA=1;/ 开总中断TMOD=0x01;/ 设置 T0 为工作方式 1TH0=0;TL0=0x01;/赋初值EX1=0; / 开外部中断 1IT1=1;/设置为下降沿触发中断IE1=0;个人收集整理勿做商业用途xianshi();while(1)for(i=0;i3;i+)/连续测量 3 次ss:
42、send();if(flag=0)goto ss;EX1=0;flag=0;time=timeh*256;time=time+timel;TT=(time*(0.0001);tmpchange();/发送温度转换命令temp2i=gettmp();/获得温度V=(33240+(6*temp2i);V=(V/200+0.5);S5i=(V*TT)+(0.5);V=0;TT=0;delay(200);for(i=0;i3;i+)temp1=(temp1)+temp2i;S=S+S5i;temp1=(temp1)/3+0.5;/求平均值S=S/3+0.5;S=S+3;/3 是修正值S6=S*(0.0
43、1);display1(temp1);display2(S);/分离d8=1;xianshi1();/刷新测量数据baojing();temp1=0;S=0;delay(200);个人收集整理勿做商业用途参考文献1 张毅刚 : 基于超声波的实例应用 , 哈尔滨工业大学出版社, 2000.6,P79-P862楼然苗、 李光飞 :51 系列单片机设计实例, 北京航空航天大学出版社,2003.3,P23-P323孔雅琼 : 基于单片机的超声波测距仪研究与开发,国防科技大学出版社,2008. 9,P374陈萤 : 基于单片机的超声测距系统,华中科技大学出版社,2006. 7, P24-P335王巧芝 :51 单片机开发应用从入门到精通,中国铁道出版社,2011.4,P10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别墅果树出售合同范本
- 勘查标准合同范本
- 上海古董拍卖合同范本
- 信托转让合同范本
- 单位与单位入股合同范本
- 乡村道路跨宽施工合同范本
- 加工企业入股合同范本
- 单位施工合同范例
- 包装盒印刷厂合同范本
- 隐蔽验收合同范本
- 教师师德和专业发展课件
- 服务器巡检报告模版
- 2023年中国煤化工行业全景图谱
- 2023年高中生物新教材人教版(2023年)必修二全册教案
- 小学美术 四年级 人教版《造型•表现-色彩表现与创作》“色彩”单元美术作业设计《色彩的明与暗》《色彩的渐变》《色彩的情感》
- 中国心脏重症镇静镇痛专家共识专家讲座
- 川教版七年级生命生态安全下册第1课《森林草原火灾的危害》教案
- 护理人员心理健康
- 安全技术说明书粗苯
- 六年级上册心理健康教育课件-健康上网快乐多 北师大版
- 单招面试技巧范文
评论
0/150
提交评论