热释电红外模块HC-SR501 输出到单片机的问题

HCSR501热释模块不接单片机的话,万用表测的输出是3.3V,但接到STC 89C52的P1.0口上后,测出电压会变大到3.8V,检测不到信号时是2。5V。直接用电池给P1.0口输入电压却没有问题,能指点一下怎么解决问题吗?

1、模块本身可能有稳压电路,而且输出为推挽模式。这个你得查模块的电路。
2、P1.0口的配置,俺是不记得了···
总之呢,直接连接的话,电源不一致。这对模块和单片机都有害。
一般的做法或者是使用相同的电源以达到匹配的输入输出电压范围;
或者是简单点的,在模块的输出和单片机的输入之间加个电阻。此外,为了避免模块的误动作输出,干脆也在电阻与单片机的输入节点对地接个电容做阻容滤波。算是一举两得。追问

首先,十分感谢您的回答。
我把这个模块用在另外一个单片机上试了下是可以的 但是那个是有写好的程序的 结果是实现了预期的目标。
可能是因为程序出了问题吗。
#include
sbit lc=P1^0;

sbit led=P1^7;
main()
{
if(lc==1)
led=1;
else
led=0;
}
这样在P17上接个发光二极管 一直都在亮。。

追答

你这程序······单片机要有个死循环,不然程序执行一次就飞了。。。

main()
{
  while(1){
  if(lc==1)
led=1;
else
led=0;
  }
}

追问

确实是我疏忽了。。但是就这样的程序,另外一个光敏电阻的模块能正常工作,P17的等也会随光敏返回信号的变化而变化。
另外,我改了程序试了一下,结果还是一直亮。测量一下P10的电压,有信号时是3.8V没有信号时是2.5V。

追答

哦,输入引脚设置了没啊?没见你的程序里面有。

追问

啊哈,已经找到问题了~完美解决 不管怎样,采纳了哟

温馨提示:答案为网友推荐,仅供参考
相似回答