[技术问答] 单片机sbit的作用

[复制链接]
 楼主| 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,表示二进制数的位数
sesefadou 发表于 2023-4-4 15:02 | 显示全部楼层
sbit在单片机中的意思是定义特殊功能寄存器的位变量
 楼主| hilahope 发表于 2023-4-4 15:18 | 显示全部楼层
sbit是对应可位寻址空间的一个位  
uytyu 发表于 2023-4-4 16:48 | 显示全部楼层
单片机中Sbit语句如何理解?
juliestephen 发表于 2023-4-4 20:40 | 显示全部楼层
sbit在单片机中的意思是定义特殊功能寄存器的位变量
lzmm 发表于 2023-4-4 20:59 | 显示全部楼层
定义特殊功能寄存器的位变量。典型应用是:sbit P0_0=P0^0;
vivilyly 发表于 2023-4-4 21:42 | 显示全部楼层
bit和sbit有什么区别?  
jtracy3 发表于 2023-4-4 22:25 | 显示全部楼层
单片机中Sbit语句如何理解?
 楼主| hilahope 发表于 2023-4-6 18:30 | 显示全部楼层
bit和sbit有什么区别?  
bestwell 发表于 2023-4-8 20:55 | 显示全部楼层
这种都是变形的51,也就是基于51内核来改进功能的脚位
vivilyly 发表于 2023-4-8 20:59 | 显示全部楼层
sbit是对应可位寻址空间的一个位,可位寻址区
maudlu 发表于 2023-4-8 21:30 | 显示全部楼层
叫位定义 就是给P0^0又定义了个名字叫P00。
backlugin 发表于 2023-4-8 21:42 | 显示全部楼层
sbit是C51扩展的变量类型
fengm 发表于 2023-4-9 13:57 | 显示全部楼层
bit是一种数据类型,表示一个位,值为0或1
geraldbetty 发表于 2023-4-9 14:09 | 显示全部楼层
sfr是定义寄存器字节地址,sbit是定义可位寻址的位地址
linfelix 发表于 2023-4-9 14:18 | 显示全部楼层
定义特殊功能寄存器的位变量。典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。
tabmone 发表于 2023-4-9 14:36 | 显示全部楼层
sbit 这个是说明你定义的类型为位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

1582

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部