C18 no tiene soporte para variables bits, pero puedes hacer lo siguiente:
typedef enum _BOOL{ FALSE = 0, TRUE } BOOL;
BOOL Estado;
Estado=TRUE;
if(ESTADO==FALSE){
}
Tu la tratas como bit, pero en realidad es de 8-bits. Sino otra posibilidad es crear una estructura de bits:
typedef union
{
UINT8 Val;
struct
{
UINT8 b0:1;
UINT8 b1:1;
UINT8 b2:1;
UINT8 b3:1;
UINT8 b4:1;
UINT8 b5:1;
UINT8 b6:1;
UINT8 b7:1;
};
} UINT8_VAL, UINT8_BITS;
Saludos!