c51中bdata是什么意思?

2025-02-23 05:07:05
推荐回答(4个)
回答1:

c51中"bdata"是片内RAM,位寻址方式;存储器类型说明的意思。

c51中"bdata"的用法:

C51中的两种位变量,除了特殊功能寄存器中的可位寻址的位外,还有位于单片机内部RAM字节。

地址0x20~0x2F的16个字节的128个可寻址位,位地址从0x00~0x7F。

比如我有一个变量:uchar(unsigned char) BData;

这是一个字节,我可以用:bdata BData=0x00;

然后用:sbit BData_0=BData^0;

sbit BData_1=BData^1;

sbit BData_2=BData^2;

……

就是把字节拆成8个位

参考资料

博客:http://blog.csdn.net/wxx258369/article/details/78675065

回答2:

bdata用于将变量定义在可位寻址片内数据存储区,允许位与字节混合访问。
例:bit bdata flag
位变量flag被定义为bdata存储类型,编译时编译器将把该变量定位在51单片机片内数据存储区(RAM)中的位寻址区(地址:20H----2FH)

回答3:

C51中的两种位变量,除了特殊功能寄存器中的可位寻址的位外,还有位于单片机内部RAM字节地址0x20~0x2F的16个字节的128个可寻址位,位地址从0x00~0x7F。
比如我有一个变量
uchar(unsigned char) BData;
这是一个字节,我可以用
bdata BData=0x00;
然后用
sbit BData_0=BData^0;
sbit BData_1=BData^1;
sbit BData_2=BData^2;
……
就是把字节拆成8个位

回答4:

在51中的位变量包含2类,一类是特殊功能寄存器中的可位寻址的位,比如EA,TR0等;这部分位在C中通过sbit来特殊声明,比如sbit Beep=P1^0; ;另一种即为bdata存储模式的位变量。
bdata是布尔变量的存储方式,表示位变量存储在位于单片机内部RAM字节地址0x20~0x2F的16个字节中,每个字节8位,共计16x8=128个可寻址位,位地址从0x00~0x7F。bdata所指只包含这个区域。