C语言中的sfr表示什么意思

Python012

C语言中的sfr表示什么意思,第1张

sfr数据类型与int,char等一样

sfr定义特殊功能寄存器

如sfrP0=0X80H

定义特殊功能寄存器P0并且规定P0的地址值为0X80H。

sfr是特殊功能寄存器,全称为special function register。

它是80C51单片机中最具有特色的部分,几乎所有80C51系列功能的增加和扩展都是通过增加特殊功能寄存器来达到目的的。英文缩写为SFR,是Special Function Register(特殊功能寄存器)的缩写。

具体编程中对特殊功能寄存器的注意:

目前单片机开发过程中主要使用两种语言,一种是汇编语言,一种是C语言。如果是使用汇编语言则21个SFR都需要理解,并且其地址这些都需要记住。如果是C语言编程就相对简单些了,由于目前C语言的通用性,绝大部分单片机开发都使用C语言,这里说以C为语言进行编程需注意的地方。

在用C编程中我们只需要撑握IP、IE、SCON、TCON、P1、P2、P3、P4、PCON TMOD、TL0、TH0、TL1、TH1、SBUF15个寄存器,如图5所示,已用红线和蓝线标出,注意红线的能进行位操作,蓝线的不能进行位操作。

你好!

在c语言中无法对SFR(特殊寄存器),比如程序状态寄存器(PSW)等寄存器进行操作,也就不能判断它们的标志位了。比如判断Z标志位,C标志位等操作。对于要操作这类寄存器。我们唯一的办法只能用汇编语言。或者在C语言中嵌入汇编语言来解决。所以我们写单片机程序千万不能放弃汇编语言。某些底层的硬件操作只能靠汇编语言来完成。

希望对你有所帮助,望采纳。