sbit在单片机中的表示和作用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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一类的名字,只要下面程序中也随之更改就行了。

参考技术A

位定义,如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,只要您在下面的程序中更改它。

参考技术B 在C语言里,如果直接写P1.0,C编译器并不能识别,而且P1.0也不是一个合法的C语言变量名,所以得给它另起一个名字,这里起的名为P1_0,可是P1_0是不是就是P1.0呢?你这么认为,C编译器可不这么认为,所以必须给它们建立联系,这里使用了Keil C的关键字sbit来定义,sbit的用法有三种: 第一种方法:sbit 位变量名=地址值 第二种方法:sbit 位变量名=SFR名称^变量位地址值 第三种方法: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一类的名字,只要下面程序中也随之更改就行了。

参考资料:http://baike.baidu.com/view/4394144.htm#sub4394144

本回答被提问者采纳
参考技术C sbit就是s位,代表二进制数的多少位,在单片机里面一般有8位和16位立即数和地址。 参考技术D 位定义,
sbit led=P1^1;
//LED灯接在P1.1口

c51编程中sbit 和bit有啥区别

如上。请高手回答,谢谢。

首先,bit和sbit都是C51扩展的变量类型
sbit一般用来定义特殊功能寄存器的位变量,以方便对寄存器的某位进行操作的
例如:sbit TXD=P3^0; 这样就定义了TXD为位变量,并且这个sbit量有确定的地址
bit则与一般的变量差不多,只不过bit定义的变量只有两种值存在0或是1
例如:bit p=0;编译器在编译过程将分配地址,所分配的地址是随机的
参考技术A sbit用于定义可位寻址字符型变量
bit应该是位变量
参考技术B http://zhidao.baidu.com/question/72536362.html 参考技术C sbit用于声明可位寻址字符型变量(例如特殊功能寄存器)的某些位。
bit用于声明位变量。本回答被提问者采纳

以上是关于sbit在单片机中的表示和作用?的主要内容,如果未能解决你的问题,请参考以下文章

单片机中bit和sbit有啥区别?

单片机关键字sfr和sbit的理解

C语言中sbit是啥意思,与bit有啥区别?

c 语言中 bit与sbit的区别

C51中,用sbit定义位变量,是否就存放在单片机的可位寻址区(0x20--0x2F)呢?

c51编程中sbit 和bit有啥区别