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

如果是的话,那sbit跟bdata不是没有区别了吗?
不好意思,打错了,应该是BIT,就是问BIT定义的位变量

sbit与bdata是有区别的
sbit 是定义一个位变量
bdata 它只是说明你定义的变量的存储类型
比如 char bdata y 那么y这个变量是储存在可位寻址区域,可以进行字节或位访问

sbit 与bit
bit定义是在bdata中
sbit 也可定义在bdata中,但此时必须是类似这样的形式 bdata char a
sbit a0=a^0 还有一功能是如楼上说的用于特殊寄存器的位应用
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-03
BIT与bdata的区别

BIT 定义一个位变量
bdata定义一个字节变量

BIT与bdata变量是放在可位寻址区(0x20--0x2F)

不是吧,,,,,没有悬赏分,,,,,,本回答被提问者采纳
第2个回答  2009-04-02
sbit是特殊寄存器区,比如P1.1
bit是可位寻址区(0x20--0x2F)
第3个回答  2009-04-10
bit 利用它可以定义一个位标量,但不能定义位指针,也不能定义位数组。
sbit 利用它可以访问单片机内部的RAM中可寻址位或特殊功能寄存器中的可寻址位。

参考资料:51单片机及开发实例

相似回答