标题:
HCSR04测距显示出来的一直为000?附单片机程序
[打印本页]
作者:
好想摆烂啊
时间:
2023-5-5 12:50
标题:
HCSR04测距显示出来的一直为000?附单片机程序
#include "HCSR04.h"
#define uchar unsigned char
#define uint unsigned int
int distance;
sbit Trig = P2^1;
sbit Echo = P2^2;
void Delay10us()
{
TMOD=0x10;
TH0=0x3c;
TL0=0xb0 ;
TH0=(65536-10000)/256; //10ms
TL0=(65536-10000)%256;
EA=1;
TR0 = 1;
while(!TF0);
TF0 = 0;
}
unsigned int RunOnce()
{
unsigned int time;
Trig = 0;
Trig = 1;
Delay10us();
Trig = 0;
while(!Echo)
{
TH0 = 0;
TL0 = 0;
TR0 = 1;
}
while(Echo)
{
TR0 = 0;
time = TH0*256 + TL0;
TH0 = 0;
TL0 = 0;
}
distance = time * 0.018;
return distance;
}
void TimerOisr() interrupt 1 using 1
{
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
}
作者:
213608
时间:
2023-5-6 15:19
解决了吗?我的也是这样,把超声波模块插上显示0;拔掉显示越界,用手摸着4个引脚能检测
作者:
coody_sz
时间:
2023-5-6 21:10
示波器先看一下触发、应答波形和时间差。
作者:
a0931727149
时间:
2023-5-6 21:18
程式有 BUG T0 T1 衝突了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1