作业帮 > 综合 > 作业

C51单片机被定义的值怎么会变了的呢a=0xfe; P1=a为什么不等于P1=0xfe,这两个完全相反呢?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 21:57:46
C51单片机被定义的值怎么会变了的呢a=0xfe; P1=a为什么不等于P1=0xfe,这两个完全相反呢?
#include //包含51单片机寄存器定义的头文件
sbit a=0xfe;
void main()
{
while(1)
{
P1=a; //这个值怎么会等于(00000001)?
P1=0xfe;//这个值怎么会等于(11111110)?
}
}
因为P1=a,且a是一个位变量,位变量非0即1
P1=0Xfe,就是11111110,没错啊
再问: 因为P1=a,且a是一个位变量,位变量非0即1 我还是弄不懂怎么位变量是非0即1呢,是不是成了一个反相器吖?
再答: 编译器就是这么规定的