单片机中特殊功能寄存器的定义与初始化的区别

我在单片机教材上看到关于一个寄存器的两种不同的代码,一是: sfr SCON=ox98, 教材上称之为寄存器的定义,另一个是: SCON=ox52,教材上称之为初始化程序。 请问这两者有何区别呢? 谢谢!

这两者的区别大了呀。。。
SCON寄存器在单片机中的地址是0x98...
sfr
SCON=ox98,是一个特殊寄存器的定义,也就是告诉你SCON的地址是0x98.当然这个是你目前不用考虑的。因为头文件(reg52.H等,就是在编写程序开头写的那个)都已经写好了。可以打开keil->c51->ASM->reg52.INC查看。。里面都是寄存器的定义。
SCON=0x52。。首先SCON寄存器的标志位有:
SM0,SM1,SM2,REN,TB8,RB8,TI,RI.
SCON=0X52,其实就是定好标志位的值。相当于:
SM0=0;
SM1=1;
SM2=1;
REN=0;
TB8=0;
RB8=0;
TI=1;
RI=0;
也可以写成上述形式,因为SCON地址可以被8整除(凡是地址可以被8整除的都可以位寻址),可以位寻址(即可以一个个位的赋值)
希望采纳,如有不懂,可以HI我。。。
温馨提示:答案为网友推荐,仅供参考