P89C669 user manual page 71 indicate I2CON (91h) is bit addressable.! How can declare to compiler? My custom header file for P89C669 ; sfr I2CON = 0x91; sbit I2EN = I2CON^6; sbit STA = I2CON^5; sbit STO = I2CON^4; sbit SI = I2CON^3; sbit AA = I2CON^2; sbit CRSEL = I2CON^0; When compiled REG669.H(246): error A17: INVALID BASE IN BIT ADDRESS EXPRESSION
"P89C669 user manual page 71 indicate I2CON (91h) is bit addressable.!" (my emphasis) Yes - it's true! The User Manual (not the Data Sheet) does indeed state that on p71!! http://www.semiconductors.philips.com/acrobat/usermanuals/UM_P89C669_2.pdf However, the User Manual also states, on p17, "Sixteen addresses in the SFR space are both byte- and bit-addressable. The bit-addressable SFRs are those whose address ends in 0h or 8h (i.e. 80h, 88h,..., F8h). Bit addressing allows direct control and testing of bits in those SFRs." and Figure 8 on that page identifies the 15 (C0h is not used) bit-addressable SFRs - they do not include I2CON. The table on p39 gives the bit addresses where SFRs are bit addressable - I2CON has no bit addresses. On p14 of the Data Sheet, table 5 identifies bit addressable SFRs with note [1] and the legend "Bit Address" and the bit address values in blue - I2CON has no Note [1] and no bit addresses. http://www.semiconductors.philips.com/acrobat/datasheets/P89C669-01.pdf So, in conclusion, it looks like an error in just that one reference on p71 of the User Manual!