关于红外避障模块在51单片机上的运用
时间:10-02
整理:3721RD
点击:
这个模块在介绍上来看看很简单,所有东西连好之后,如果有障碍IO口会持续收到低电平并且指示灯会亮。
#include <reg51.h>
sbit DQ=P2^5; //这个口接红外线模块
void main()
{
DQ=1;
while(1)
{
if(DQ==0)
{
P1=0xff;//LED灯灭
}
else
{
P1=0x00;//LED灯亮
}
}
}
这是我的程序,很简单,但是现在有下面这几个问题:
1.我把P2^5直接接5V,LED会亮,但是什么都不接不会亮。
2.我把模块上的GND单独拔掉指示灯不亮,LED灯亮,拔其他的没有效果。
3.正常连接的时候,怎么弄模块只是等都是亮的,LED也是亮的
#include <reg51.h>
sbit DQ=P2^5; //这个口接红外线模块
void main()
{
DQ=1;
while(1)
{
if(DQ==0)
{
P1=0xff;//LED灯灭
}
else
{
P1=0x00;//LED灯亮
}
}
}
这是我的程序,很简单,但是现在有下面这几个问题:
1.我把P2^5直接接5V,LED会亮,但是什么都不接不会亮。
2.我把模块上的GND单独拔掉指示灯不亮,LED灯亮,拔其他的没有效果。
3.正常连接的时候,怎么弄模块只是等都是亮的,LED也是亮的
附上图片吧,方便各位大神了解具体情况
首先 你这个程序对端口的判断要多次判断确认,才能说明拉低,不然这个采数时间短,LED有余辉效应,所以你这个有问题
这个很简单,你要将P2.5设置为输入端口(默认为输出端口),就可以了。
还有,你接受到低电平指示灯是亮,你程序却写的关闭指示灯,逻辑也反了