打印

超声波测距模块 原理图 及程序

[复制链接]
3130|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近几日在整理电脑东西时找到了 一年以前的超声波测距模块的原理图跟程序 放着也没用 献给大家 这个原理图可以做到3.5米(亲自测试过)
#include<reg51.h>
#define uchar unsigned char
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_5=P3^4;
sbit P3_4=P3^5;

sfr P3M1= 0xb1;
sfr P3M0= 0xb2;
uchar k;
void delay(uchar x)
{
uchar a,b;
for(a=0;a<80;a++)
  for(b=0;b<x;b++)
  {
  ;
  }
}

/* void  exint0() interrupt 0
{
k--;
}
*/


  
void main()
{
uchar i,j,n1,n2;
P3M1=0x00;
P3M0=0x03;

P3_2=1;
P3_3=0;
P3_4=1;
P3_5=0;

TMOD=0x02;
TL0=0x00;
TH0=0x00;
TR0=1;
// ET0=1 ;
// EA=1;
while(1)
{
   P3M1=0x00;
  if(P3_4==1)
  {
   delay(10);
   if(P3_4==1)         
    {
     while(P3_4==1);
      P3_0=1;
   /*  #pragma ASM
   
     #pragma ENDASM
     */
   
     for(j=0;j<16;j++)
     {
         for(i=0;i<19;i++)
      ;
      P3_0=~P3_0;
      P3_1=~P3_1;
     }
     
     P3_0=0;
     P3_1=0;
     
    }
   
    P3_5=1;
    P3M1=0x08;
    k=2;
    for(i=0;i<100;i++)
     for(j=0;j<250;j++)
     {
      if(P3_2==0)
      {
       while(P3_2==0);
       TR0=0;
       n1=TL0;
       TL0=0;
       TR0=1;
       if((n1>23)&&(n1<25))
       k--;
       else k=2;
      
       if(k==0)
       {
       P3_5=0;
       break;
      
       }
      }
     }
     P3_5=0;
  }
}
}

超声波原理图.jpg (225.34 KB )

超声波原理图.jpg

相关帖子

沙发
linfeng24| | 2013-3-11 21:39 | 只看该作者
谢谢分享

使用特权

评论回复
板凳
dirtwillfly| | 2013-3-12 09:01 | 只看该作者
谢谢分享,LM111不是很常用哦

使用特权

评论回复
地板
有备无患| | 2013-5-10 20:25 | 只看该作者
谢谢分享

使用特权

评论回复
5
有备无患| | 2013-5-10 20:53 | 只看该作者
还行请问一下,角度怎样?

使用特权

评论回复
6
有备无患| | 2013-5-10 20:53 | 只看该作者
还想请问一下,打错了。

使用特权

评论回复
7
035197_X| | 2013-7-24 17:00 | 只看该作者
谢谢分享

使用特权

评论回复
8
落花入户飞| | 2013-9-25 22:36 | 只看该作者
留个记号

使用特权

评论回复
9
lc120936262| | 2014-5-13 20:33 | 只看该作者

使用特权

评论回复
10
yuanquan12345| | 2014-5-13 22:13 | 只看该作者
学习。

使用特权

评论回复
11
zn3054886| | 2014-10-5 13:42 | 只看该作者
没有stm32的吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝