超声波测距试验心得_第1页
超声波测距试验心得_第2页
超声波测距试验心得_第3页
超声波测距试验心得_第4页
全文预览已结束

下载本文档

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

文档简介

超声波测距试验心得VCCIKK^15£jj」.-1.5.6.711111111puFrFpp---TOC9ij1OKTlDuFP3.1.-TXDpjj.-nrrrP3A1TOP3.5.-T1P3.tP5.7MHPSESALE-t^SlC-eTSTC5K52RCVCC40TPQJ血HL.施nuPOLFD.HLP2.P2.P2.既氏P2.P2.P2.ALAL20/* IO口可以由高电平接地拉成低电平,但是不能由低电平接Vcc拉成高电平#include<reg52.h>#include<intrins.h>floatdistance;Sbitled=P2A7;sbitecho=P1A0;sbittrig=P3A4;/*软件延时函数,延时时间(t*1O)us*/voiddelay10us(unsignedchart){do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}while(--t);}voidmain(){EA=1;〃开总中断EX0=1;〃开外部中断0TMOD=Oxf1;〃采用定时器0的定时模式的工作方式1/* 这里有一个疑问就是,必须采用定时器的定时模式才能将THO和TLO里的数值读出来,而采用计数模式(将Oxf1改成0xf5)就不行 */IT0=1;〃外部中断为负跳变触发方式TH0=0;〃定时器高8位和低8位都赋值为0TL0=0;while(1){trig=1;〃单片机给trig引脚一个20微秒的触发信号delay10us(2);trig=0;if(distance<0.1)〃如果障碍物距离小于10cm,则亮第一位LEDled=0;elseled=1;delay10us(6);〃延时60微秒}}/* 中断服务程序,外部中断的中断服务程序的执行时间可以很长,没有时间的限制,不像定时器中断,中断服务程序执行时间有一定要求,即在下一次中断请求到来之前本次中断必须执行完毕。voidwb0()interrupt0{TR0=1;〃启动定时器,TH0和TL0开始计数while(echo);//当返回脉冲信号(echo上的高电平脉冲)结束时关闭定时器TR0=0;distance=(TH0*256+TL0)*1.08507/1000000*340/2;〃计算障碍物距离〃distance=(定时器高8位*256+低8位)*一个机器周期*声速/2TH0=TL0=0;〃清零TH0和TL0,准备下一次测距解释:在不加Q2三极管的情况下你,即Echo直接连接到单片机的10口,单片机将会检测不到Echo输出的高脉冲信号。单片机的管脚在没有设定的情况下,默认输出高电平。然后看超声波测距模块的时序图,Echo在没有给触发信号的情况下保持低电平,有了触发信号之后,Echo输出一个高电平。按道理说如果将Echo引脚直接连接在单片机的I0口上,该10口将会被Echo引脚拉为低电平,在Echo输出高脉冲的时候,单片机10口保持原来的高电平。当Echo为低电平的时候,那么该10口就会向Echo引脚灌电流。但是在实际电路中,Echo并不能将10口拉低,我猜原因是Echo接受灌电流的能力太小,灌入的电流过大,导致该脚电平为不确定状态。解决的措施有两个,第一就是直接用外部中断引脚检测“低脉冲”(因为外部中断选用的触发方式是下降沿触发,所以原来的高脉冲信号要加一个三极管反相器,就变成了低脉冲),这样就变成10口检测低电平了。第二就是上图里的方法,不将Echo直接连接在单片机的10口上,而是将Echo通过一个PNP型的三极管连接在单片机10口上。这样当Echo输出低时,三极管导通,单片机的这个10口就会被三极管的集电极拉为低。当Echo输出高脉冲时,三极管截至,该10口通过上拉电阻R4保持默认的高电平。这就解决了Echo接受灌电流能力不够的问题。fit发佶号lOuSai

温馨提示

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

评论

0/150

提交评论