這有個程序關于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;
}
|