打印
[技术问答]

单片机sbit的作用

[复制链接]
663|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hilahope|  楼主 | 2023-3-23 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
位定义,如 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一类的名字,只要下面程序中也随之更改就行了。
sbit在单片机中的意思是什么?
sbit在单片机中的意思是定义特殊功能寄存器的位变量,bit和sbit都是C51扩展的变量类型,在C语言里如果直接写P1.0,C编译器是不能够识别的,而且P1.0也不是一个合格的C语言变量名,所以必须要给它起另外一个名字,这里就会起名为P1_0。
sbit有三种用法:
第一种方法:sbit bit variable name=address value。
第二种方法:sbit bit variable name=SFR name^ variable bit address value。
第三种方法:sbit bit variable name=SFR address value^ variable bit address value.

使用特权

评论回复
沙发
sesefadou| | 2023-4-4 13:47 | 只看该作者
bit和sbit都是C51扩展的变量类型

使用特权

评论回复
板凳
iyoum| | 2023-4-4 14:26 | 只看该作者
定义特殊功能寄存器的位变量。典型应用是:sbit P0_0=P0^0;

使用特权

评论回复
地板
ulystronglll| | 2023-4-4 14:42 | 只看该作者
sbit就是sbit,表示二进制数的位数

使用特权

评论回复
5
sesefadou| | 2023-4-4 15:02 | 只看该作者
sbit在单片机中的意思是定义特殊功能寄存器的位变量

使用特权

评论回复
6
hilahope|  楼主 | 2023-4-4 15:18 | 只看该作者
sbit是对应可位寻址空间的一个位  

使用特权

评论回复
7
uytyu| | 2023-4-4 16:48 | 只看该作者
单片机中Sbit语句如何理解?

使用特权

评论回复
8
juliestephen| | 2023-4-4 20:40 | 只看该作者
sbit在单片机中的意思是定义特殊功能寄存器的位变量

使用特权

评论回复
9
lzmm| | 2023-4-4 20:59 | 只看该作者
定义特殊功能寄存器的位变量。典型应用是:sbit P0_0=P0^0;

使用特权

评论回复
10
vivilyly| | 2023-4-4 21:42 | 只看该作者
bit和sbit有什么区别?  

使用特权

评论回复
11
jtracy3| | 2023-4-4 22:25 | 只看该作者
单片机中Sbit语句如何理解?

使用特权

评论回复
12
hilahope|  楼主 | 2023-4-6 18:30 | 只看该作者
bit和sbit有什么区别?  

使用特权

评论回复
13
bestwell| | 2023-4-8 20:55 | 只看该作者
这种都是变形的51,也就是基于51内核来改进功能的脚位

使用特权

评论回复
14
vivilyly| | 2023-4-8 20:59 | 只看该作者
sbit是对应可位寻址空间的一个位,可位寻址区

使用特权

评论回复
15
maudlu| | 2023-4-8 21:30 | 只看该作者
叫位定义 就是给P0^0又定义了个名字叫P00。

使用特权

评论回复
16
backlugin| | 2023-4-8 21:42 | 只看该作者
sbit是C51扩展的变量类型

使用特权

评论回复
17
fengm| | 2023-4-9 13:57 | 只看该作者
bit是一种数据类型,表示一个位,值为0或1

使用特权

评论回复
18
geraldbetty| | 2023-4-9 14:09 | 只看该作者
sfr是定义寄存器字节地址,sbit是定义可位寻址的位地址

使用特权

评论回复
19
linfelix| | 2023-4-9 14:18 | 只看该作者
定义特殊功能寄存器的位变量。典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。

使用特权

评论回复
20
tabmone| | 2023-4-9 14:36 | 只看该作者
sbit 这个是说明你定义的类型为位。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

1299

帖子

0

粉丝