HC_SR501人体红外模块不能使用啊!什么情况?(51单片机,ARM,嵌入式,电子电路)

问题是这样的,我在淘宝上买了一个传说中的人体红外感应模块,它是这样的,感应到人体的时候模块会输出高电平,没感应到的时候会输出低电平。。。模块提供了3个引脚,一个GND,一... 问题是这样的,我在淘宝上买了一个传说中的人体红外感应模块,它是这样的,感应到人体的时候模块会输出高电平,没感应到的时候会输出低电平。。。
模块提供了3个引脚,一个GND,一个VCC,一个是输出引脚,我就直接把它的GND,vcc接51单片机的GND跟VCC了,把它的输出引脚直接接在了单片机的 IO 口上,然后写程序不停的检测 IO口状态,结果发现根本就没发现那个模块输出高电平啊。。。不管我人站在哪个位置,,它都是一直输出低电平。。。更离谱的是,我把模块的VCC拔起来,只给它接了GND跟输出引脚,它也能输出低电平。。。什么情况啊。。。我跟卖家联系了,结果它说他们一天卖了几十个都没人反应有问题,然后又寄了一个给我了,还是一样的情况。。是不是哪里要做处理才能直接接单片机 IO 啊。。。求大神啊。。。小弟在线等啊
问题已经解决了,我百度了好久,发现是因为51单片机内部有傻100k的上拉电阻,所以高电平驱动能力很弱,这个人体红外模块输出的是3.3V,应该是不够高所以单片机内部检测不到高电平?是这样理解的吧。。。。我按照网上说的,先把 IO口置为高,然后再去读取 IO口就能读取出外部输入的电平了。。。问题虽然是解决了,但是我不懂为什么先置高再读取即可读出外部输入的电平?求硬件方面的前辈解释一下啊。谢谢了
展开
 我来答
c3344c
推荐于2017-12-15 · TA获得超过2419个赞
知道小有建树答主
回答量:966
采纳率:57%
帮助的人:714万
展开全部
你把I/O置为高,问题就解决了,这说明原先你的I/O口是置低的。51单片机是准双向I/O口,除了P0口之外,其它口内部都有上拉电阻。准双向I/O的特点是,具有较大的灌电流(10毫安以下),但只有微弱的拉电流(0.5毫安以下),所以,如果将I/O置为低电平,外部输入的高电平信号有可能也会被强制拉低,这样不但无法正确读取外部信号,而且还有可能损坏I/O口。正确的做法,是在读取I/O口信号之前,先将I/O口置为高电平,之后再读取I/O口的信号。这样说你也许还不一定会理解,但你只要记住,准双向I/O要接收外部信号,一定要将I/O口置高,而要向外部输出信号,置高或置低都可以。
chr1999
2013-04-30 · TA获得超过1056个赞
知道小有建树答主
回答量:2462
采纳率:0%
帮助的人:1286万
展开全部
只接电源和gnd, 用万用表量下
追问
问题找到了,我接的是51单片机,内部都有100k的上拉电阻。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友283d78e
2013-05-03 · 知道合伙人IT服务行家
百度网友283d78e
知道合伙人IT服务行家
采纳数:1491 获赞数:2984

向TA提问 私信TA
展开全部
这个模块不是很适合初学者用,我昨晚试了1个晚上+昨天早上才弄出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
职场文档库
2017-12-21
知道答主
回答量:1
采纳率:0%
帮助的人:963
展开全部
你好,我也是这个情况,可为什么我把那个口直接接到高电平单片机也可以检测到呢?红外模块还是不能正常工作?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式