51单片机c语言sbit的作用是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机c语言sbit的作用是啥相关的知识,希望对你有一定的参考价值。

比如说:
sbit P00=P0^0;
可不可以不用sbit表示,直接在语句中使用用P0^0而不是P00?

这个叫位定义
就是给P0^0又定义了个名字叫P00。这样在程序中用到P0^0的时候写P00就可以了,这样为的书写方便。如果没有SBIT就成了赋值语句。追问

哦,我是想说,如果把sbit P00=P0^0;整句都去掉,后面需要用到P0.0的时候用P0^0直接写,可以吗?

追答

可以的.注意P是大写的
另外如果报错可以有P0_0

参考技术A 在51单片机中,不能直接使用P0^0=xxx操作,因为P0^0是地址值,即指针,P0指针地址值0x80,P0^0指针地址0x81,P0^0=xxx是修改指针地址,即0x81=xxx,明显是错误的,我们想修改指针指向管脚值,必须使用位定义关键字sbit P00 = P0^0;然后P00=xxx,操作P00管脚值,即操作0x81指针指向的管脚P00的值。 参考技术B 据说不行,试试不就知道了追问

那个有时行有时不行,我都快懵了。

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用于声明位变量。本回答被提问者采纳

以上是关于51单片机c语言sbit的作用是啥的主要内容,如果未能解决你的问题,请参考以下文章

c 语言中 bit与sbit的区别

位变量bit和sbit有啥用?

51单片机C语言里面,定义bit的方法,都有哪些,请举例,谢谢!

sbit在单片机中的表示和作用?

单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗

bit用法——单片机C语言