连接如下 红外传感器电路产生 0 或 5v 取决于闭合或开路输出线到微控制器 8051 philips 的端口 2_0 引脚。问题是当我这样做时,电路值被端口 2_0 LED 上的当前值覆盖总是继续。这是我的代码(在 keil c 中)我想我没有正确配置 P 2_0 作为输入
void MSDelay(unsigned int);
sbit led=P1^0;
void main()
{
unsigned int var;
P2=0xFF;
TMOD=0x20;
TH1=0xFD;
SCON =0x50;
TR1=1;
while(1)
{
var=P2^0;
if(var==0)
{
led=1;
SBUF='0';
while(TI==0);
TI=0;
MSDelay(250);
}
else
{
led=0;
SBUF='9';
while(TI==0);
TI=0;
MSDelay(100);
}
}
}
编辑:我遇到了一个问题,因为我使用的 8086 处理器有故障。建议任何人在编程时尝试这个以获得一些备件。