要判断的是高电平,置1不行,要先把P1口置0。不会是整个P1口都做输入?我想应该是P1口的某一位吧。
如果我理解正确的话,比如P1.1口检测是否有高电平输入,如果有点亮P2.0控制的LED灯。
sbit p1_1 = P1^1;
sbit p2_0 = P2^0;
p1_1=0;
p2_0=1;
while(!p1_1)
{
p2_0=0;
}
如果是这个IO口:
P1=0;
while(!P1)
{
p2_0=0;
}
其实输入高电平是不太符合51单片机的使用。不过应该可以采用查询的方法。譬如,你把需要检测的脚置1,然后在查询,如果是1,输入就是高电平,如果是0,输入就是低电平。为安全起见,建议你置1查询就好了。
设置P1=0xFF,然后轮询P1,只要P1不等于0x00,P1的8个脚中一定有一个不是低电平
直观一点放个小灯。