51单片机中,我想让P3^7为0,写了P3^7=0,电脑显示错误,P1口能进行位赋值,P3口为什么不能位赋值?

2024-12-02 06:49:47
推荐回答(3个)
回答1:

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

回答2:

P1口同样不能位赋值,你可以声明sbit n=P3^7; 然后n=0;

回答3:

sbit P3^7=P3.7 然后赋值就可以了 P3.7=0 就可以啦