c51中位变量能怎么赋值,位变量能比较吗?

我用的是keil仿真,定义了单片机的P10=P1^0,我要用P10和0比较来调用函数,具体程序如下,display()为显示函数,数码管出现乱码,如果去掉所有的if语句就可以正常显示了;急求大虾指导啊!还有就是我能不能直接给P10=1这样赋值?????
/*if(p10==0)
s_time();
/* if(p12==0)
// s_second();//
if(p13==0)
s_clock();*/
display();
}

P10=1这这样是不可以的,可以P1=0X01;或者P1^0=0;一般P口在开始被定义,如sbit k4=P2^1;,以后用就可以直接if(K4==1){;}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-10
首先sbit P10=P1^0,定义的是大写P,在使用的时候也要用P10,你用了p10;
是可以P10=1这样赋值的
第2个回答  2020-04-22
在main函数外只能对全局变量进行定义,赋值语句须放在main函数内,
#include
#define
uchar
unsigned
char
uchar
i,a;
void
main
()
{
.......
a=10;
........
}
或者定义时就给出变量的值
#include
#define
uchar
unsigned
char
uchar
i,a=10;
第3个回答  2012-06-10
用 sbit 定义的吗?
第4个回答  2012-06-11
格式的问题