单片机,sbit什么意思?
发布网友
发布时间:2022-04-30 04:29
我来回答
共3个回答
热心网友
时间:2022-05-11 10:41
sbit single bit 。。。。。。。。。。。。就是一位。。。。。。。
热心网友
时间:2022-05-11 11:59
按位定义,主要针对于可按位寻址 取值的寄存器。
多数用于各种可按位寻址寄存器的位定义。
比如:sbit EX0=IE^0; 就是给中断寄存器的第0位进行定义,之后只要使用EX0,就代表了IE^0
热心网友
时间:2022-05-11 13:34
sbit是C51扩展的变量类型,是定义特殊功能寄存器的位变量。典型应用是:sbit P0_1=P0^1;//即定义P0_1为P0口的第2位,以便进行位操作。
在C语言里,如果直接写P1.1,C编译器并不能识别,而且P1.1也不是一个合法的C语言变量名,所以得给它另起一个名字,这里起的名为P1_1,可是P1_1是不是就是P1.1呢?你这么认为,C编译器可不这么认为,所以必须给它们建立联系,这里使用了Keil C的关键字sbit来定义,sbit的用法有三种:
第一种方法:sbit 位变量名=地址值
第二种方法:sbit 位变量名=SFR名称^变量位地址值
第三种方法:sbit 位变量名=SFR地址值^变量位地址值
用sbit P1_1=P1^1;就是定义用符号P1_1来表示P1.1引脚,如果你愿意也可以起P11一类的名字,只要下面程序中也随之更改就行了。