单片机C编程 关键字: sfr 、sbit。
直接上图 上例子来理解
以P2口为例(可在附加中找到相关引脚的原理图),假设只有一个89C52的芯片,芯片上的各个引脚未定义
sbit K0 = P2^0;按位操作,将P2^0赋给独立按键K0。这样独立按键K0就代表了P2^0口,更具有现实意义。
sbit K1 = P2^1;
sbit K2 = P2^2;
sbit K3 = P2^3;
sbit K4 = P2^4;
sbit K5 = P2^5;
sbit K6 = P2^6;
sbit K7 = P2^7;
(注意附加图片中的 TCON寄存器写着 可位寻址)
sbit TCON^0 = 1;外部中断0下降沿触发
等价于
IT0 = 1;(如果不可以按位寻址 则不可以这样置1)
等价于
TCON = 0x01;(假设除IT0以外其他位都没用到的话)
总结来说,sbit方便程序员对寄存器中的某位进行操作,而且sbit大部分是用在寄存器中。
上图中
sfr P0 = 0x80;由原理图可知,P0口有八位,sfr可对这8位操作。
sbit IT0 = 0x88; 只对TCON8位寄存中的IT0这一位进行操作。
意义 将硬件 映射到 内存地址上去。
附加: