我知道你的意思,你的P0^0=0; 你的目的想让P0口的最低位置0;
但是在C51中,P0^0则表示将P0和0异或运算,比如:a=P0^0;其异或运算值还是P0原来的值。
在你的程序中,P0^0=0; 表示什么呢?无法读解,你看左边是个P0和0异或运算,右边是个赋值运算,就不对了。
在C51中,需要使用某个io口,需要首先定义这个位变量,才可以用,在前面加上位定义sbit P0_0=P0^0;
然后对P0_0这个变量赋值才可以,如:P0_0=0; P0_0=1;
用P0_0=0;看看REGX51.H