char xdata CS1 _at_ 0xfe00; // CALL1使能
char xdata CS2 _at_ 0xfd00; // LK1使能
char xdata CS3 _at_ 0xfb00; // CALL2使能
char xdata CS4 _at_ 0xf700; // LK1使能
char xdata CS5 _at_ 0xef00; // LED1使能
char xdata CS6 _at_ 0xdf00; // LED2使能
char xdata CS7 _at_ 0xbf00; // LED1使能
char xdata CS8 _at_ 0x7f00;
然后程序中有这样一条代码:
powerFailure = CS1&0x40; //读入第一个芯片输出引脚的状态
if(powerFailure==0x40)
{//有电源失电
LED = 0;
}
else if(muteflag == 1)
{
LED = 1;
}
CS1到CS8是外部器件的片选端,我现在出现一个理解的问题,以前我以为xdata是指外部RAM(一个存储区),现在碰到这个也能像操作外部RAM一样的读取芯片的数据,一时转不过弯来,总工给我解释的很玄乎,是不是可以这么理解,在硬件上P2口自动输出0xfe,使第一个芯片使能,然后P1口读入该芯片输出口的八位数据(powerFailure = CS1&0x40;) |