673835452 发表于 2014-4-27 16:37:49

超声波模块就是调不通。。。求助。

本帖最后由 673835452 于 2014-4-27 22:56 编辑

#include <reg51.h>
//ӽޅ֨ӥ
sbit trig=P1^0;
sbit echo=P3^2;
//endb
//Ҥ֨ӥ
unsigned char j,time,timel,timeh;
//ғʱ20us      
void delayus()
{
      unsigned int us;
      for(us=0;us<200;us++);
}
//      end
//ғʱ
void delay(unsigned char d)
{
      unsigned int a,b;
      for(a=d;a>0;a--)
                for(b=110;b>0;b--);
}

// end
void main ()
{
      
      unsigned char l;
      //IT0=1;      
      TMOD = 0x21;   
      SCON = 0x50;   
      TH1 = 0xFD;   
      TL1 = 0xfd;
      TR1 = 1;
      EA=1;               
      trig=0;
      echo=0;
      
while(1)
      {
                EA=0;
                trig=1;
                delayus();
                trig=0;
                while(echo==0);
                j=0;         //ԉ٦Ҫ־
                EA=1;
                EX0=1;
                TH0=0;
                TL0=0;
                TF0=0;
                TR0=1;
                delay(60);
                TR0=0;
                //EX0=0;
                if(1==j)
                {
                        time=timel*256+timeh;
                        l=time*0.0172;                        
                }
                if(0==j)
                {
                        l=0;
               
                }
                SBUF=l;
                while(!TI);
                TI=0;
      }
}
void wai () interrupt 0
{
      
      EX0=0;
      timel=TL0;
      timeh=TH0;
      j=1;
}
void ding () interrupt 1
{
      TH0=0;
      TL0=0;
}

      

673835452 发表于 2014-4-27 16:39:14

不知道哪里出问题了。。

Xujuango 发表于 2014-4-27 17:34:54

什么情况

673835452 发表于 2014-4-27 19:26:56

Xujuango 发表于 2014-4-27 17:34
什么情况

发送过来老是0

luweixuan 发表于 2014-4-27 20:34:04

673835452 发表于 2014-4-27 19:26
发送过来老是0

把你用的模块芯片资料或者模块信息发上来,要不谁都没法帮你。

电子喵星人 发表于 2014-4-27 20:45:48

看看是不是定时器中断与串口波特率发生器的配置冲突了,导致串口能用而用来计算超声波的定时器不能用

673835452 发表于 2014-4-27 22:58:30

luweixuan 发表于 2014-4-27 20:34
把你用的模块芯片资料或者模块信息发上来,要不谁都没法帮你。

HC-SR04 已经上传了

黑夜之狼 发表于 2014-4-27 23:39:59

试下用一个平面来测距,这模块不好使,我也在调
页: [1]
查看完整版本: 超声波模块就是调不通。。。求助。