首先51里面有一个sfr寄存器叫P2,他的字节地址是0xA0,寄存器内容是8位2进制数,每一位二进制数代表单片机P2端口的电平高低,LED的亮灭取决于接线方法和对应电平的高低。
其次P2在sfr寄存器中也是属于特殊的一类,他是可以用位寻址控制的,可以用sbit定义的位地址0xA0-0xA7对P2中的2进制数的对应位进行修改。对位地址0xA0写1就是将单片机P2的0脚电平拉高,对位地址0xA7写1就是将单片机P2的7脚电平拉高,以此类推。
然后我们来看sbit P2_0 = 0xA0。这是定义一个可以控制P2端口0脚的位变量,变量名是P2_0。当你执行“P2_0 = 1;”的时候,起作用的位地址0xA0,你的变量名写成P20也好,写成K2_0也好,甚至写成P2_7,那都是一个名字而已,对程序没有影响,程序依旧是对位地址0xA0写1,被拉高的依旧是P2端口的0脚。