Special Functional Register
51单片机提供128字节的特殊功能寄存器(SFR)寻址区,地址为80H~FFH。51单片机中,除了程序计数器PC和4组通用寄存器组之外,其他所有的寄存器均为SFR,并位于片内特殊寄存器区。这个区域
可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、IO及其他部件。特殊功能寄存器可由以下几种关键字说明。
1.SFR 声明可字节寻址的特殊功能寄存器,比如sfr PO=0x80;表示PO口地址为80h。注意:“ sfr”后面必须跟一个特殊寄存器名;“=”后面的地址必须是常数,不允许带有运算符的表达式,这个常数值的范围必须在特殊功能寄存器地址范围内,位于Ox8OH到0xFFH之间。
2.sfr16 许多新的51派生系列单片机用两个连续地址的SFR来指定16位值,例如8052用地址Oxcc和OxCD表示定时器/计数器2的低和高字节,如sfr16 T2=0XCC;表示T2地址的低地址T2L=0xCC,高地址T2H=0xCD,sfr16声明和sfr声明须遵循相同的原则、任何符号名都可用在sfr的声明中。声明中名字后面不是赋值语句.而是一个SFR地址,其高字节必须位于低字节之后.这种声明适用于所有新的SFR,但不能用于定时/计数器O和计数器1。
3. sbit 声明可位寻址的特殊功能寄存器和别的可位寻址的目标。“=”号后将绝对地址赋给变量名,3种变量声明形式如下:
sbit CY=PSW^7
sbit CY=0xD0^7
sbit CY=0XD7
51单片机提供128字节的特殊功能寄存器(SFR)寻址区,地址为80H~FFH。51单片机中,除了程序计数器PC和4组通用寄存器组之外,其他所有的寄存器均为SFR,并位于片内特殊寄存器区。这个区域
可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、IO及其他部件。特殊功能寄存器可由以下几种关键字说明。
1.SFR 声明可字节寻址的特殊功能寄存器,比如sfr PO=0x80;表示PO口地址为80h。注意:“ sfr”后面必须跟一个特殊寄存器名;“=”后面的地址必须是常数,不允许带有运算符的表达式,这个常数值的范围必须在特殊功能寄存器地址范围内,位于Ox8OH到0xFFH之间。
2.sfr16 许多新的51派生系列单片机用两个连续地址的SFR来指定16位值,例如8052用地址Oxcc和OxCD表示定时器/计数器2的低和高字节,如sfr16 T2=0XCC;表示T2地址的低地址T2L=0xCC,高地址T2H=0xCD,sfr16声明和sfr声明须遵循相同的原则、任何符号名都可用在sfr的声明中。声明中名字后面不是赋值语句.而是一个SFR地址,其高字节必须位于低字节之后.这种声明适用于所有新的SFR,但不能用于定时/计数器O和计数器1。
3. sbit 声明可位寻址的特殊功能寄存器和别的可位寻址的目标。“=”号后将绝对地址赋给变量名,3种变量声明形式如下:
sbit CY=PSW^7
sbit CY=0xD0^7
sbit CY=0XD7
