已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?

问题原因及解决办法在文末,
首先介绍一下什么是HCSR501。

一、HC-SR501 小型人体感应模块说明书(来源于HCSR501官方说明文档)
1、产品概述
HC-SR505 小型人体感应模块是基于红外线技术的自动控制产品,
灵敏度高,可靠性强,超小体积,超低电压工作模式。广泛应用于各
类自动感应电器设备,尤其是干电池供电的自动控制产品。
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
2、电气参数
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
3、功能特点
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
4.使用说明
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
5.感应范围
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
6.外形调节
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
7.应用范围及电路说明
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?
二、HCSR501连接单片机后,程序如下:

#include <STC8.H>
#include<intrins.h>
sbit HCR501=P3^2;	 //HCSR501的电平输出端接入单片机P3^2口
void main(void)
{  
	P6=0XFF;
	while(1)
	{
		if(HCR501 == 1)	  //有人时,输出高电平	   
			P6 = 0X00;	  //此单片机的LED灯为共阳极,使P6口为低电平,LED灯全亮
		else if(HCR501 == 0)
			P6 = 0XFF;	  //P6口为高电平,LED灯全灭
	}
}

三、出现问题

LED灯在HCSR501模块不管在有人还是没人时一直时亮时灭。

四、检查解决

问题原因: 仔细检查程序没问题,检查HCSR501接线发现HCSR501所接正极电源为3.3V,而HCSR501说明书里明确指出工作电压为4.5V-20V,于是把HCSR501的正极输入端接到单片机的5V输出端。再次测试成功。

五、效果图
已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?

上一篇:P6 写代码:状态码、路由相关


下一篇:Primavera P6最新更新 18.8.12.0