这有个程序关于hc—sr501的,然后好像可以实行。唯一不足就是他一开始检测到人就会响,把他离人远点(不冲着人)过那么十秒左右就会停下来,然后一直不响直到再次检测到人。怎样让那十秒缩短点啊。程序如下:
#include<reg51.h>
sbit HCR501 =P2^0;
sbit LED =P1^0;
void delay500ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=23;c>0;c–)
for(b=152;b>0;b–)
for(a=70;a>0;a–);
}
int main(void)
{
while(1)
{
delay500ms();
if(HCR501 ==1)
{
LED=0;
}
else
LED=1;
}
return 0;
}
|