更多
当前位置: 首页 > 资讯

环球速看:手发热什么原因_sfr

发布时间:2023-05-11 17:14:18 来源:互联网

1、1.bit和sbit都是C51扩展的变量类型。

2、 bit和int char之类的差不多,只不过char=8位, bit=1位而已。

3、都是变量,编译器在编译过程中分配地址。


(资料图)

4、除非你指定,否则这个地址是随机的。

5、这个地址是整个可寻址空间,RAM+FLASH+扩展空间。

6、bit只有0和1两种值,意义有点像Windows下VC中的BOOL。

7、 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。

8、一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。

9、sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。

10、   2.bit位标量 bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。

11、它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。

12、  3.sfr特殊功能寄存器 sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。

13、利用它可以访问51单片机内部的所有特殊功能寄存器。

14、如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。

15、 sfr P1 = 0x90; //定义P1 I/O 口,其地址90H sfr 关键定后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则,名字最好有一定的含义如P1 口可以用P1 为名,这样程序会变的好读好多.等号后面必须是常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80H-FFH),具体可查看附录中的相关表. sfr 是定义8 位的特殊功能寄存器而sfr16 则是用来定义16 位特殊功能寄存器, 如8052 的T2 定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH。

本文就为大家分享到这里,希望小伙伴们会喜欢。

上一篇:小米电视A55/A65竞技版开售:1799就能有4K/120Hz高刷大屏 环球焦点

下一篇:最后一页