在使用C8051F023单片机的时候,发现可位寻址的ACC的地址和特殊功能寄存器的地址有重叠,比如ACC的地址为0xE0,ACC.0应为0xE1,ACC.1为0xE2...但XBR0、XBR1、XBR2特殊功能寄存器的地址也分别为0xE1、0xE2、0xE3,在程序中直接使用ACC.0也没有问题。而且在Keil自带的头文件c8051F120.h中也发现了类似
sfr ACC = 0xE0; /* ACCUMULATOR */
sfr PCA0CPL5 = 0xE1; /* PCA 0 MODULE 5 CAPTURE/COMPARE - LOW BYTE */
sfr XBR0 = 0xE1; /* CROSSBAR CONFIGURATION REGISTER 0 */
sfr ADC0CN = 0xE8; /* ADC 0 CONTROL */
sfr ADC2CN = 0xE8; /* ADC 2 CONTROL */
sfr P6 = 0xE8; /* PORT 6 */
这样的重复定义,请问是怎么回事? |