P3^7只是一个地址,不是变量不能对其进行赋值,如果你想对其赋值,要定义一个变量,这个变量就是bit型(位型),关键字就是 sbit ,语句这么写:sbit a=P3^7;a=0;或者用这种方法,以P3^7口为例,用P3&=0Xfe赋0。如果要赋1就用P3|=0X01 ,这个不难理解吧。你说的那个P1口能进行赋值,我怎么就不信呢。哈哈。
其实还有更深层的原因我没有讲出来,随着学习的深入,你慢慢会接触到的。
P1口同样不能位赋值,你可以声明sbit n=P3^7; 然后n=0;
sbit P3^7=P3.7 然后赋值就可以了 P3.7=0 就可以啦