C51中,用sbit定义位变量,是否就存放在单片机的可位寻址区(0x20--0x2F)呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C51中,用sbit定义位变量,是否就存放在单片机的可位寻址区(0x20--0x2F)呢?相关的知识,希望对你有一定的参考价值。
如果是的话,那sbit跟bdata不是没有区别了吗?
不好意思,打错了,应该是BIT,就是问BIT定义的位变量
sbit 是定义一个位变量
bdata 它只是说明你定义的变量的存储类型
比如 char bdata y 那么y这个变量是储存在可位寻址区域,可以进行字节或位访问
sbit 与bit
bit定义是在bdata中
sbit 也可定义在bdata中,但此时必须是类似这样的形式 bdata char a
sbit a0=a^0 还有一功能是如楼上说的用于特殊寄存器的位应用 参考技术A BIT与bdata的区别
是
BIT 定义一个位变量
bdata定义一个字节变量
BIT与bdata变量是放在可位寻址区(0x20--0x2F)
不是吧,,,,,没有悬赏分,,,,,,本回答被提问者采纳 参考技术B sbit是特殊寄存器区,比如P1.1
bit是可位寻址区(0x20--0x2F) 参考技术C bit 利用它可以定义一个位标量,但不能定义位指针,也不能定义位数组。
sbit 利用它可以访问单片机内部的RAM中可寻址位或特殊功能寄存器中的可寻址位。
参考资料:51单片机及开发实例
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用于声明位变量。本回答被提问者采纳
以上是关于C51中,用sbit定义位变量,是否就存放在单片机的可位寻址区(0x20--0x2F)呢?的主要内容,如果未能解决你的问题,请参考以下文章