Question:

在keil中编写51程序,出现如下编译错误:
Invalid Base Address

Answer:

这个错误是定义位操作地址时基地址不合法,有效的可以进行位寻址的基地址必须是最后一位为0或8,比如:
sfr P1 = 0x90;
sbit P1_0 = P1^0;
这个定义就是合法的;

sfr P4 = 0xD1;
sbit P4_0 = P4^0;
这个定义就是不合法的,因为0XD1的sfr地址最低位不是0也不是8,不能位寻址。