sbit在单片机中的表示和作用?
位定义,如 sbit a=P0^0; 就表示a代表P0^0口。
a=1; P0^0口就输出高电平,sbit就是s位,代表二进制数的多少位,在单片机里面一般有8位和16位立即数和地址。
位定义:
sbit led=P1^1;
//LED灯接在P1.1口
扩展资料:
注意事项
在C语言里,如果直接写P1.0,C编译器并不能识别,而且P1.0也不是一个合法的C语言变量名,所以得给它另起一个名字。
sbit的用法有三种:
1、sbit 位变量名=地址值
2、sbit 位变量名=SFR名称^变量位地址值
3、sbit 位变量名=SFR地址值^变量位地址值
如定义PSW中的OV可以用以下三种方法: sbit OV=0xd2
1、说明:0xd2是OV的位地址值 sbit OV=PSW^2
2、说明:其中PSW必须先用sfr定义好 sbit OV=0xD0^2
3、说明:0xD0就是PSW的地址值
因此这里用sfr P1_0=P1^0;就是定义用符号P1_0来表示P1.0引脚,也可以起P10一类的名字,只要下面程序中也随之更改就行了。
位定义,如sbita=P0^0;假设a是P0^0。
=1;P0^0端口上输出的高级位,sbit就是sbit,表示二进制数的位数,在单片机中一般拷贝有8位和16位的直接数字和地址。
一个定义:
SbitledP1=^1;
//LED灯连接到P1.1端口
扩展资料:
注意事项
在C语言中,如果直接编写P1.0,C编译器不会识别它,而且P1.0不是有效的zhidaoC变量名,因此必须给它一个不同的名称。
sbit有三种用途:
1.Sbit变量名=地址值
2.sbit位变量名=SFR名^变量位地址值
3.sbit位变量名=SFR地址值^可变位地址值
例如:PSW中的OV可以通过以下三种方法定义:sbitOV=0xd2
1.说明:0xd2是OV的位地址值,sbit OV=PSW^2
2.说明:PSW必须先用SFR定义sbitOV=0xD0^2
3.描述:0xD0是PSW的地址值
所以SFRP1_0等于P1的0次方;即使您定义了代表P1.0pin的符号P1_0,您也可以将它命名为P10,只要您在下面的程序中更改它。
参考资料: http://baike.baidu.com/view/4394144.htm#sub4394144
sbit led=P1^1;
//LED灯接在P1.1口