/*-------------------------------------------------------------------------
* $Id: p18f8722.h,v 1.3.4.1 2005/01/11 23:56:42 curtiss Exp $
* MPLAB-Cxx PIC18F8722 processor header
*
* (c) Copyright 1999-2005 Microchip Technology, All rights reserved
*-------------------------------------------------------------------------*/
#ifndef __18F8722_H
#define __18F8722_H
#if defined(ABSIMULATION_NOCOPROCESSOR) || defined(ABSIMULATION_COPROCESSOR) \
|| defined(ABSIMULATION_COPRSIM) || defined(COPROCESSOR_SIMULATION)
#define NEAR
#define SHORTLONG short
#ifdef MAIN
#define EXTERN
#else
#define EXTERN extern
#endif
#else
#define NEAR near
#define SHORTLONG short long
#define EXTERN extern
#endif
EXTERN volatile NEAR unsigned char SSP2CON2;
EXTERN volatile NEAR struct {
unsigned SEN:1;
unsigned RSEN:1;
unsigned PEN:1;
unsigned RCEN:1;
unsigned ACKEN:1;
unsigned ACKDT:1;
unsigned ACKSTAT:1;
unsigned GCEN:1;
} SSP2CON2bits;
EXTERN volatile NEAR unsigned char SSP2CON1;
EXTERN volatile NEAR struct {
unsigned SSPM0:1;
unsigned SSPM1:1;
unsigned SSPM2:1;
unsigned SSPM3:1;
unsigned CKP:1;
unsigned SSPEN:1;
unsigned SSPOV:1;
unsigned WCOL:1;
} SSP2CON1bits;
EXTERN volatile NEAR unsigned char SSP2STAT;
EXTERN volatile NEAR union {
struct {
unsigned BF:1;
unsigned UA:1;
unsigned R_W:1;
unsigned S:1;
unsigned P:1;
unsigned D_A:1;
unsigned CKE:1;
unsigned SMP:1;
};
struct {
unsigned :2;
unsigned I2C_READ:1;
unsigned I2C_START:1;
unsigned I2C_STOP:1;
unsigned I2C_DAT:1;
};
struct {
unsigned :2;
unsigned NOT_W:1;
unsigned :2;
unsigned NOT_A:1;
};
struct {
unsigned :2;
unsigned NOT_WRITE:1;
unsigned :2;
unsigned NOT_ADDRESS:1;
};
struct {
unsigned :2;
unsigned READ_WRITE:1;
unsigned :2;
unsigned DATA_ADDRESS:1;
};
struct {
unsigned :2;
unsigned R:1;
unsigned :2;
unsigned D:1;
};
} SSP2STATbits;
EXTERN volatile NEAR unsigned char SSP2ADD;
EXTERN volatile NEAR unsigned char SSP2BUF;
EXTERN volatile NEAR unsigned char ECCP2DEL;
EXTERN volatile NEAR union {
struct {
unsigned P2DC0:1;
unsigned P2DC1:1;
unsigned P2DC2:1;
unsigned P2DC3:1;
unsigned P2DC4:1;
unsigned P2DC5:1;
unsigned P2DC6:1;
unsigned P2RSEN:1;
};
struct {
unsigned PDC0:1;
unsigned PDC1:1;
unsigned PDC2:1;
unsigned PDC3:1;
unsigned PDC4:1;
unsigned PDC5:1;
unsigned PDC6:1;
unsigned PRSEN:1;
};
} ECCP2DELbits;
EXTERN volatile NEAR unsigned char ECCP2AS;
EXTERN volatile NEAR union {
struct {
unsigned PSS2BD0:1;
unsigned PSS2BD1:1;
unsigned PSS2AC0:1;
unsigned PSS2AC1:1;
unsigned ECCP2AS0:1;
unsigned ECCP2AS1:1;
unsigned ECCP2AS2:1;
unsigned ECCP2ASE:1;
};
struct {
unsigned PSSBD0:1;
unsigned PSSBD1:1;
unsigned PSSAC0:1;
unsigned PSSAC1:1;
unsigned ECCPAS0:1;
unsigned ECCPAS1:1;
unsigned ECCPAS2:1;
unsigned ECCPASE:1;
};
} ECCP2ASbits;
EXTERN volatile NEAR unsigned char ECCP3DEL;
EXTERN volatile NEAR union {
struct {
unsigned P3DC0:1;
unsigned P3DC1:1;
unsigned P3DC2:1;
unsigned P3DC3:1;
unsigned P3DC4:1;
unsigned P3DC5:1;
unsigned P3DC6:1;
unsigned P3RSEN:1;
};
struct {
unsigned PDC0:1;
unsigned PDC1:1;
unsigned PDC2:1;
unsigned PDC3:1;
unsigned PDC4:1;
unsigned PDC5:1;
unsigned PDC6:1;
unsigned PRSEN:1;
};
} ECCP3DELbits;
EXTERN volatile NEAR unsigned char ECCP3AS;
EXTERN volatile NEAR union {
struct {
unsigned PSS3BD0:1;
unsigned PSS3BD1:1;
unsigned PSS3AC0:1;
unsigned PSS3AC1:1;
unsigned ECCP3AS0:1;
unsigned ECCP3AS1:1;
unsigned ECCP3AS2:1;
unsigned ECCP3ASE:1;
};
struct {
unsigned PSSBD0:1;
unsigned PSSBD1:1;
unsigned PSSAC0:1;
unsigned PSSAC1:1;
unsigned ECCPAS0:1;
unsigned ECCPAS1:1;
unsigned ECCPAS2:1;
unsigned ECCPASE:1;
};
} ECCP3ASbits;
EXTERN volatile NEAR unsigned char RCSTA2;
EXTERN volatile NEAR union {
struct {
unsigned RCD8:1;
unsigned :5;
unsigned RC9:1;
};
struct {
unsigned :6;
unsigned NOT_RC8:1;
};
struct {
unsigned :6;
unsigned RC8_9:1;
};
struct {
unsigned RX9D:1;
unsigned OERR:1;
unsigned FERR:1;
unsigned ADDEN:1;
unsigned CREN:1;
unsigned SREN:1;
unsigned RX9:1;
unsigned SPEN:1;
};
} RCSTA2bits;
EXTERN volatile NEAR unsigned char TXSTA2;
EXTERN volatile NEAR union {
struct {
unsigned TX9D:1;
unsigned TRMT:1;
unsigned BRGH:1;
unsigned SENDB:1;
unsigned SYNC:1;
unsigned TXEN:1;
unsigned TX9:1;
unsigned CSRC:1;
};
struct {
unsigned TXD8:1;
unsigned :5;
unsigned TX8_9:1;
};
struct {
unsigned :6;
unsigned NOT_TX8:1;
};
} TXSTA2bits;
EXTERN volatile NEAR unsigned char TXREG2;
EXTERN volatile NEAR unsigned char RCREG2;
EXTERN volatile NEAR unsigned char SPBRG2;
EXTERN volatile NEAR unsigned char CCP5CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP5M0:1;
unsigned CCP5M1:1;
unsigned CCP5M2:1;
unsigned CCP5M3:1;
unsigned DCCP5Y:1;
unsigned DCCP5X:1;
};
struct {
unsigned :4;
unsigned DC5B0:1;
unsigned DC5B1:1;
};
} CCP5CONbits;
EXTERN volatile NEAR unsigned CCPR5;
EXTERN volatile NEAR unsigned char CCPR5L;
EXTERN volatile NEAR unsigned char CCPR5H;
EXTERN volatile NEAR unsigned char CCP4CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP4M0:1;
unsigned CCP4M1:1;
unsigned CCP4M2:1;
unsigned CCP4M3:1;
unsigned DCCP4Y:1;
unsigned DCCP4X:1;
};
struct {
unsigned :4;
unsigned DC4B0:1;
unsigned DC4B1:1;
};
} CCP4CONbits;
EXTERN volatile NEAR unsigned CCPR4;
EXTERN volatile NEAR unsigned char CCPR4L;
EXTERN volatile NEAR unsigned char CCPR4H;
EXTERN volatile NEAR unsigned char T4CON;
EXTERN volatile NEAR struct {
unsigned T4CKPS0:1;
unsigned T4CKPS1:1;
unsigned TMR4ON:1;
unsigned T4OUTPS0:1;
unsigned T4OUTPS1:1;
unsigned T4OUTPS2:1;
unsigned T4OUTPS3:1;
} T4CONbits;
EXTERN volatile NEAR unsigned char PR4;
EXTERN volatile NEAR unsigned char TMR4;
EXTERN volatile NEAR unsigned char ECCP1DEL;
EXTERN volatile NEAR union {
struct {
unsigned P1DC0:1;
unsigned P1DC1:1;
unsigned P1DC2:1;
unsigned P1DC3:1;
unsigned P1DC4:1;
unsigned P1DC5:1;
unsigned P1DC6:1;
unsigned P1RSEN:1;
};
struct {
unsigned PDC0:1;
unsigned PDC1:1;
unsigned PDC2:1;
unsigned PDC3:1;
unsigned PDC4:1;
unsigned PDC5:1;
unsigned PDC6:1;
unsigned PRSEN:1;
};
} ECCP1DELbits;
EXTERN volatile NEAR unsigned char BAUDCON2;
EXTERN volatile NEAR union {
struct {
unsigned ABDEN:1;
unsigned WUE:1;
unsigned :1;
unsigned BRG16:1;
unsigned SCKP:1;
unsigned :1;
unsigned RCIDL:1;
unsigned ABDOVF:1;
};
struct {
unsigned :6;
unsigned RCMT:1;
};
} BAUDCON2bits;
EXTERN volatile NEAR unsigned char SPBRGH2;
EXTERN volatile NEAR unsigned char BAUDCON;
EXTERN volatile NEAR union {
struct {
unsigned ABDEN:1;
unsigned WUE:1;
unsigned :1;
unsigned BRG16:1;
unsigned SCKP:1;
unsigned :1;
unsigned RCIDL:1;
unsigned ABDOVF:1;
};
struct {
unsigned :6;
unsigned RCMT:1;
};
} BAUDCONbits;
EXTERN volatile NEAR unsigned char BAUDCON1;
EXTERN volatile NEAR union {
struct {
unsigned ABDEN:1;
unsigned WUE:1;
unsigned :1;
unsigned BRG16:1;
unsigned SCKP:1;
unsigned :1;
unsigned RCIDL:1;
unsigned ABDOVF:1;
};
struct {
unsigned :6;
unsigned RCMT:1;
};
} BAUDCON1bits;
EXTERN volatile NEAR unsigned char SPBRGH;
EXTERN volatile NEAR unsigned char SPBRGH1;
EXTERN volatile NEAR unsigned char PORTA;
EXTERN volatile NEAR union {
struct {
unsigned RA0:1;
unsigned RA1:1;
unsigned RA2:1;
unsigned RA3:1;
unsigned RA4:1;
unsigned RA5:1;
unsigned RA6:1;
unsigned RA7:1;
};
struct {
unsigned :2;
unsigned VREFM:1;
unsigned VREFP:1;
unsigned T0CKI:1;
unsigned LVDIN:1;
};
struct {
unsigned AN0:1;
unsigned AN1:1;
unsigned AN2:1;
unsigned AN3:1;
unsigned :1;
unsigned AN4:1;
};
struct {
unsigned :5;
unsigned HLVDIN:1;
};
} PORTAbits;
EXTERN volatile NEAR unsigned char PORTB;
EXTERN volatile NEAR union {
struct {
unsigned RB0:1;
unsigned RB1:1;
unsigned RB2:1;
unsigned RB3:1;
unsigned RB4:1;
unsigned RB5:1;
unsigned RB6:1;
unsigned RB7:1;
};
struct {
unsigned INT0:1;
unsigned INT1:1;
unsigned INT2:1;
unsigned INT3:1;
unsigned KBI0:1;
unsigned KBI1:1;
unsigned KBI2:1;
unsigned KBI3:1;
};
struct {
unsigned FLT0:1;
unsigned :2;
unsigned ECCP2:1;
unsigned :1;
unsigned PGM:1;
unsigned PGC:1;
unsigned PGD:1;
};
struct {
unsigned :3;
unsigned P2A:1;
};
struct {
unsigned :3;
unsigned CCP2:1;
};
unsigned char full8bits;
} PORTBbits;
EXTERN volatile NEAR unsigned char PORTC;
EXTERN volatile NEAR union {
struct {
unsigned RC0:1;
unsigned RC1:1;
unsigned RC2:1;
unsigned RC3:1;
unsigned RC4:1;
unsigned RC5:1;
unsigned RC6:1;
unsigned RC7:1;
};
struct {
unsigned T1OSO:1;
unsigned T1OSI:1;
unsigned ECCP1:1;
unsigned SCK:1;
unsigned SDI:1;
unsigned SDO:1;
unsigned TX:1;
unsigned RX:1;
};
struct {
unsigned T13CKI:1;
unsigned ECCP2:1;
unsigned :1;
unsigned SCL:1;
unsigned SDA:1;
unsigned :1;
unsigned CK:1;
unsigned DT:1;
};
struct {
unsigned :1;
unsigned CCP2:1;
unsigned CCP1:1;
unsigned SCL1:1;
unsigned SDA1:1;
unsigned :1;
unsigned CK1:1;
unsigned DT1:1;
};
struct {
unsigned :1;
unsigned P2A:1;
unsigned P1A:1;
unsigned SCK1:1;
unsigned SDI1:1;
unsigned SDO1:1;
unsigned TX1:1;
unsigned RX1:1;
};
unsigned char full8bits;
} PORTCbits;
EXTERN volatile NEAR unsigned char PORTD;
EXTERN volatile NEAR union {
struct {
unsigned RD0:1;
unsigned RD1:1;
unsigned RD2:1;
unsigned RD3:1;
unsigned RD4:1;
unsigned RD5:1;
unsigned RD6:1;
unsigned RD7:1;
};
struct {
unsigned PSP0:1;
unsigned PSP1:1;
unsigned PSP2:1;
unsigned PSP3:1;
unsigned PSP4:1;
unsigned PSP5:1;
unsigned PSP6:1;
unsigned PSP7:1;
};
struct {
unsigned AD0:1;
unsigned AD1:1;
unsigned AD2:1;
unsigned AD3:1;
unsigned AD4:1;
unsigned AD5:1;
unsigned AD6:1;
unsigned AD7:1;
};
struct {
unsigned :5;
unsigned SDA2:1;
unsigned SCL2:1;
unsigned SS2:1;
};
struct {
unsigned :4;
unsigned SDO2:1;
unsigned SDI2:1;
unsigned SCK2:1;
unsigned NOT_SS2:1;
};
} PORTDbits;
EXTERN volatile NEAR unsigned char PORTE;
EXTERN volatile NEAR union {
struct {
unsigned RE0:1;
unsigned RE1:1;
unsigned RE2:1;
unsigned RE3:1;
unsigned RE4:1;
unsigned RE5:1;
unsigned RE6:1;
unsigned RE7:1;
};
struct {
unsigned RD:1;
unsigned WR:1;
unsigned CS:1;
unsigned :4;
unsigned ECCP2:1;
};
struct {
unsigned NOT_RD:1;
unsigned NOT_WR:1;
unsigned NOT_CS:1;
};
struct {
unsigned AD8:1;
unsigned AD9:1;
unsigned AD10:1;
unsigned AD11:1;
unsigned AD12:1;
unsigned AD13:1;
unsigned AD14:1;
unsigned AD15:1;
};
struct {
unsigned P2D:1;
unsigned P2C:1;
unsigned P2B:1;
unsigned P3C:1;
unsigned P3B:1;
unsigned P1C:1;
unsigned P1B:1;
unsigned P2A:1;
};
struct {
unsigned :7;
unsigned CCP2:1;
};
} PORTEbits;
EXTERN volatile NEAR unsigned char PORTF;
EXTERN volatile NEAR union {
struct {
unsigned RF0:1;
unsigned RF1:1;
unsigned RF2:1;
unsigned RF3:1;
unsigned RF4:1;
unsigned RF5:1;
unsigned RF6:1;
unsigned RF7:1;
};
struct {
unsigned AN5:1;
unsigned AN6:1;
unsigned AN7:1;
unsigned AN8:1;
unsigned AN9:1;
unsigned AN10:1;
unsigned AN11:1;
unsigned SS1:1;
};
struct {
unsigned :1;
unsigned C2OUT:1;
unsigned C1OUT:1;
unsigned :2;
unsigned CVREF:1;
unsigned :1;
unsigned NOT_SS1:1;
};
} PORTFbits;
EXTERN volatile NEAR unsigned char PORTG;
EXTERN volatile NEAR union {
struct {
unsigned RG0:1;
unsigned RG1:1;
unsigned RG2:1;
unsigned RG3:1;
unsigned RG4:1;
unsigned RG5:1;
};
struct {
unsigned ECCP3:1;
unsigned TX2:1;
unsigned RX2:1;
unsigned CCP4:1;
unsigned CCP5:1;
unsigned MCLR:1;
};
struct {
unsigned P3A:1;
unsigned CK2:1;
unsigned DT2:1;
unsigned P3D:1;
unsigned P1D:1;
unsigned NOT_MCLR:1;
};
struct {
unsigned CCP3:1;
};
} PORTGbits;
EXTERN volatile NEAR unsigned char PORTH;
EXTERN volatile NEAR union {
struct {
unsigned RH0:1;
unsigned RH1:1;
unsigned RH2:1;
unsigned RH3:1;
unsigned RH4:1;
unsigned RH5:1;
unsigned RH6:1;
unsigned RH7:1;
};
struct {
unsigned AD16:1;
unsigned AD17:1;
unsigned AD18:1;
unsigned AD19:1;
unsigned AN12:1;
unsigned AN13:1;
unsigned AN14:1;
unsigned AN15:1;
};
struct {
unsigned :4;
unsigned P3C:1;
unsigned P3B:1;
unsigned P1C:1;
unsigned P1B:1;
};
unsigned char full8bits;
} PORTHbits;
EXTERN volatile NEAR unsigned char PORTJ;
EXTERN volatile NEAR union {
struct {
unsigned RJ0:1;
unsigned RJ1:1;
unsigned RJ2:1;
unsigned RJ3:1;
unsigned RJ4:1;
unsigned RJ5:1;
unsigned RJ6:1;
unsigned RJ7:1;
};
struct {
unsigned ALE:1;
unsigned OE:1;
unsigned WRL:1;
unsigned WRH:1;
unsigned BA0:1;
unsigned CE:1;
unsigned LB:1;
unsigned UB:1;
};
struct {
unsigned :1;
unsigned NOT_OE:1;
unsigned NOT_WRL:1;
unsigned NOT_WRH:1;
unsigned :1;
unsigned NOT_CE:1;
unsigned NOT_LB:1;
unsigned NOT_UB:1;
};
unsigned char full8bits;
} PORTJbits;
EXTERN volatile NEAR unsigned char LATA;
EXTERN volatile NEAR struct {
unsigned LATA0:1;
unsigned LATA1:1;
unsigned LATA2:1;
unsigned LATA3:1;
unsigned LATA4:1;
unsigned LATA5:1;
unsigned LATA6:1;
unsigned LATA7:1;
} LATAbits;
EXTERN volatile NEAR unsigned char LATB;
EXTERN volatile NEAR struct {
unsigned LATB0:1;
unsigned LATB1:1;
unsigned LATB2:1;
unsigned LATB3:1;
unsigned LATB4:1;
unsigned LATB5:1;
unsigned LATB6:1;
unsigned LATB7:1;
} LATBbits;
EXTERN volatile NEAR unsigned char LATC;
EXTERN volatile NEAR struct {
unsigned LATC0:1;
unsigned LATC1:1;
unsigned LATC2:1;
unsigned LATC3:1;
unsigned LATC4:1;
unsigned LATC5:1;
unsigned LATC6:1;
unsigned LATC7:1;
} LATCbits;
EXTERN volatile NEAR unsigned char LATD;
EXTERN volatile NEAR struct {
unsigned LATD0:1;
unsigned LATD1:1;
unsigned LATD2:1;
unsigned LATD3:1;
unsigned LATD4:1;
unsigned LATD5:1;
unsigned LATD6:1;
unsigned LATD7:1;
} LATDbits;
EXTERN volatile NEAR unsigned char LATE;
EXTERN volatile NEAR struct {
unsigned LATE0:1;
unsigned LATE1:1;
unsigned LATE2:1;
unsigned LATE3:1;
unsigned LATE4:1;
unsigned LATE5:1;
unsigned LATE6:1;
unsigned LATE7:1;
} LATEbits;
EXTERN volatile NEAR unsigned char LATF;
EXTERN volatile NEAR struct {
unsigned LATF0:1;
unsigned LATF1:1;
unsigned LATF2:1;
unsigned LATF3:1;
unsigned LATF4:1;
unsigned LATF5:1;
unsigned LATF6:1;
unsigned LATF7:1;
} LATFbits;
EXTERN volatile NEAR unsigned char LATG;
EXTERN volatile NEAR struct {
unsigned LATG0:1;
unsigned LATG1:1;
unsigned LATG2:1;
unsigned LATG3:1;
unsigned LATG4:1;
unsigned LATG5:1;
} LATGbits;
EXTERN volatile NEAR unsigned char LATH;
EXTERN volatile NEAR struct {
unsigned LATH0:1;
unsigned LATH1:1;
unsigned LATH2:1;
unsigned LATH3:1;
unsigned LATH4:1;
unsigned LATH5:1;
unsigned LATH6:1;
unsigned LATH7:1;
} LATHbits;
EXTERN volatile NEAR unsigned char LATJ;
EXTERN volatile NEAR struct {
unsigned LATJ0:1;
unsigned LATJ1:1;
unsigned LATJ2:1;
unsigned LATJ3:1;
unsigned LATJ4:1;
unsigned LATJ5:1;
unsigned LATJ6:1;
unsigned LATJ7:1;
} LATJbits;
EXTERN volatile NEAR unsigned char DDRA;
EXTERN volatile NEAR struct {
unsigned RA0:1;
unsigned RA1:1;
unsigned RA2:1;
unsigned RA3:1;
unsigned RA4:1;
unsigned RA5:1;
unsigned RA6:1;
unsigned RA7:1;
} DDRAbits;
EXTERN volatile NEAR unsigned char TRISA;
EXTERN volatile NEAR struct {
unsigned TRISA0:1;
unsigned TRISA1:1;
unsigned TRISA2:1;
unsigned TRISA3:1;
unsigned TRISA4:1;
unsigned TRISA5:1;
unsigned TRISA6:1;
unsigned TRISA7:1;
} TRISAbits;
EXTERN volatile NEAR unsigned char DDRB;
EXTERN volatile NEAR struct {
unsigned RB0:1;
unsigned RB1:1;
unsigned RB2:1;
unsigned RB3:1;
unsigned RB4:1;
unsigned RB5:1;
unsigned RB6:1;
unsigned RB7:1;
} DDRBbits;
EXTERN volatile NEAR unsigned char TRISB;
EXTERN volatile NEAR struct {
unsigned TRISB0:1;
unsigned TRISB1:1;
unsigned TRISB2:1;
unsigned TRISB3:1;
unsigned TRISB4:1;
unsigned TRISB5:1;
unsigned TRISB6:1;
unsigned TRISB7:1;
} TRISBbits;
EXTERN volatile NEAR unsigned char DDRC;
EXTERN volatile NEAR struct {
unsigned RC0:1;
unsigned RC1:1;
unsigned RC2:1;
unsigned RC3:1;
unsigned RC4:1;
unsigned RC5:1;
unsigned RC6:1;
unsigned RC7:1;
} DDRCbits;
EXTERN volatile NEAR unsigned char TRISC;
EXTERN volatile NEAR struct {
unsigned TRISC0:1;
unsigned TRISC1:1;
unsigned TRISC2:1;
unsigned TRISC3:1;
unsigned TRISC4:1;
unsigned TRISC5:1;
unsigned TRISC6:1;
unsigned TRISC7:1;
} TRISCbits;
EXTERN volatile NEAR unsigned char DDRD;
EXTERN volatile NEAR struct {
unsigned RD0:1;
unsigned RD1:1;
unsigned RD2:1;
unsigned RD3:1;
unsigned RD4:1;
unsigned RD5:1;
unsigned RD6:1;
unsigned RD7:1;
} DDRDbits;
EXTERN volatile NEAR unsigned char TRISD;
EXTERN volatile NEAR struct {
unsigned TRISD0:1;
unsigned TRISD1:1;
unsigned TRISD2:1;
unsigned TRISD3:1;
unsigned TRISD4:1;
unsigned TRISD5:1;
unsigned TRISD6:1;
unsigned TRISD7:1;
} TRISDbits;
EXTERN volatile NEAR unsigned char DDRE;
EXTERN volatile NEAR struct {
unsigned RE0:1;
unsigned RE1:1;
unsigned RE2:1;
unsigned RE3:1;
unsigned RE4:1;
unsigned RE5:1;
unsigned RE6:1;
unsigned RE7:1;
} DDREbits;
EXTERN volatile NEAR unsigned char TRISE;
EXTERN volatile NEAR struct {
unsigned TRISE0:1;
unsigned TRISE1:1;
unsigned TRISE2:1;
unsigned TRISE3:1;
unsigned TRISE4:1;
unsigned TRISE5:1;
unsigned TRISE6:1;
unsigned TRISE7:1;
} TRISEbits;
EXTERN volatile NEAR unsigned char DDRF;
EXTERN volatile NEAR struct {
unsigned RF0:1;
unsigned RF1:1;
unsigned RF2:1;
unsigned RF3:1;
unsigned RF4:1;
unsigned RF5:1;
unsigned RF6:1;
unsigned RF7:1;
} DDRFbits;
EXTERN volatile NEAR unsigned char TRISF;
EXTERN volatile NEAR struct {
unsigned TRISF0:1;
unsigned TRISF1:1;
unsigned TRISF2:1;
unsigned TRISF3:1;
unsigned TRISF4:1;
unsigned TRISF5:1;
unsigned TRISF6:1;
unsigned TRISF7:1;
} TRISFbits;
EXTERN volatile NEAR unsigned char DDRG;
EXTERN volatile NEAR struct {
unsigned RG0:1;
unsigned RG1:1;
unsigned RG2:1;
unsigned RG3:1;
unsigned RG4:1;
} DDRGbits;
EXTERN volatile NEAR unsigned char TRISG;
EXTERN volatile NEAR struct {
unsigned TRISG0:1;
unsigned TRISG1:1;
unsigned TRISG2:1;
unsigned TRISG3:1;
unsigned TRISG4:1;
} TRISGbits;
EXTERN volatile NEAR unsigned char DDRH;
EXTERN volatile NEAR struct {
unsigned RH0:1;
unsigned RH1:1;
unsigned RH2:1;
unsigned RH3:1;
unsigned RH4:1;
unsigned RH5:1;
unsigned RH6:1;
unsigned RH7:1;
} DDRHbits;
EXTERN volatile NEAR unsigned char TRISH;
EXTERN volatile NEAR struct {
unsigned TRISH0:1;
unsigned TRISH1:1;
unsigned TRISH2:1;
unsigned TRISH3:1;
unsigned TRISH4:1;
unsigned TRISH5:1;
unsigned TRISH6:1;
unsigned TRISH7:1;
} TRISHbits;
EXTERN volatile NEAR unsigned char DDRJ;
EXTERN volatile NEAR struct {
unsigned RJ0:1;
unsigned RJ1:1;
unsigned RJ2:1;
unsigned RJ3:1;
unsigned RJ4:1;
unsigned RJ5:1;
unsigned RJ6:1;
unsigned RJ7:1;
} DDRJbits;
EXTERN volatile NEAR unsigned char TRISJ;
EXTERN volatile NEAR struct {
unsigned TRISJ0:1;
unsigned TRISJ1:1;
unsigned TRISJ2:1;
unsigned TRISJ3:1;
unsigned TRISJ4:1;
unsigned TRISJ5:1;
unsigned TRISJ6:1;
unsigned TRISJ7:1;
} TRISJbits;
EXTERN volatile NEAR unsigned char OSCTUNE;
EXTERN volatile NEAR struct {
unsigned TUN0:1;
unsigned TUN1:1;
unsigned TUN2:1;
unsigned TUN3:1;
unsigned TUN4:1;
unsigned :1;
unsigned PLLEN:1;
unsigned INTSRC:1;
} OSCTUNEbits;
EXTERN volatile NEAR unsigned char MEMCON;
EXTERN volatile NEAR struct {
unsigned WM0:1;
unsigned WM1:1;
unsigned :2;
unsigned WAIT0:1;
unsigned WAIT1:1;
unsigned :1;
unsigned EBDIS:1;
} MEMCONbits;
EXTERN volatile NEAR unsigned char PIE1;
EXTERN volatile NEAR union {
struct {
unsigned TMR1IE:1;
unsigned TMR2IE:1;
unsigned CCP1IE:1;
unsigned SSPIE:1;
unsigned TXIE:1;
unsigned RCIE:1;
unsigned ADIE:1;
unsigned PSPIE:1;
};
struct {
unsigned :3;
unsigned SSP1IE:1;
unsigned TX1IE:1;
unsigned RC1IE:1;
};
} PIE1bits;
EXTERN volatile NEAR unsigned char PIR1;
EXTERN volatile NEAR union {
struct {
unsigned TMR1IF:1;
unsigned TMR2IF:1;
unsigned CCP1IF:1;
unsigned SSPIF:1;
unsigned TXIF:1;
unsigned RCIF:1;
unsigned ADIF:1;
unsigned PSPIF:1;
};
struct {
unsigned :3;
unsigned SSP1IF:1;
unsigned TX1IF:1;
unsigned RC1IF:1;
};
} PIR1bits;
EXTERN volatile NEAR unsigned char IPR1;
EXTERN volatile NEAR union {
struct {
unsigned TMR1IP:1;
unsigned TMR2IP:1;
unsigned CCP1IP:1;
unsigned SSPIP:1;
unsigned TXIP:1;
unsigned RCIP:1;
unsigned ADIP:1;
unsigned PSPIP:1;
};
struct {
unsigned :3;
unsigned SSP1IP:1;
unsigned TX1IP:1;
unsigned RC1IP:1;
};
} IPR1bits;
EXTERN volatile NEAR unsigned char PIE2;
EXTERN volatile NEAR union {
struct {
unsigned CCP2IE:1;
unsigned TMR3IE:1;
unsigned LVDIE:1;
unsigned BCLIE:1;
unsigned EEIE:1;
unsigned :1;
unsigned CMIE:1;
unsigned OSCFIE:1;
};
struct {
unsigned :2;
unsigned HLVDIE:1;
unsigned BCL1IE:1;
};
} PIE2bits;
EXTERN volatile NEAR unsigned char PIR2;
EXTERN volatile NEAR union {
struct {
unsigned CCP2IF:1;
unsigned TMR3IF:1;
unsigned LVDIF:1;
unsigned BCLIF:1;
unsigned EEIF:1;
unsigned :1;
unsigned CMIF:1;
unsigned OSCFIF:1;
};
struct {
unsigned :2;
unsigned HLVDIF:1;
unsigned BCL1IF:1;
};
} PIR2bits;
EXTERN volatile NEAR unsigned char IPR2;
EXTERN volatile NEAR union {
struct {
unsigned CCP2IP:1;
unsigned TMR3IP:1;
unsigned LVDIP:1;
unsigned BCLIP:1;
unsigned EEIP:1;
unsigned :1;
unsigned CMIP:1;
unsigned OSCFIP:1;
};
struct {
unsigned :2;
unsigned HLVDIP:1;
unsigned BCL1IP:1;
};
} IPR2bits;
EXTERN volatile NEAR unsigned char PIE3;
EXTERN volatile NEAR struct {
unsigned CCP3IE:1;
unsigned CCP4IE:1;
unsigned CCP5IE:1;
unsigned TMR4IE:1;
unsigned TX2IE:1;
unsigned RC2IE:1;
unsigned BCL2IE:1;
unsigned SSP2IE:1;
} PIE3bits;
EXTERN volatile NEAR unsigned char PIR3;
EXTERN volatile NEAR struct {
unsigned CCP3IF:1;
unsigned CCP4IF:1;
unsigned CCP5IF:1;
unsigned TMR4IF:1;
unsigned TX2IF:1;
unsigned RC2IF:1;
unsigned BCL2IF:1;
unsigned SSP2IF:1;
} PIR3bits;
EXTERN volatile NEAR unsigned char IPR3;
EXTERN volatile NEAR struct {
unsigned CCP3IP:1;
unsigned CCP4IP:1;
unsigned CCP5IP:1;
unsigned TMR4IP:1;
unsigned TX2IP:1;
unsigned RC2IP:1;
unsigned BCL2IP:1;
unsigned SSP2IP:1;
} IPR3bits;
EXTERN volatile NEAR unsigned char EECON1;
EXTERN volatile NEAR struct {
unsigned RD:1;
unsigned WR:1;
unsigned WREN:1;
unsigned WRERR:1;
unsigned FREE:1;
unsigned :1;
unsigned CFGS:1;
unsigned EEPGD:1;
} EECON1bits;
EXTERN volatile NEAR unsigned char EECON2;
EXTERN volatile NEAR unsigned char EEDATA;
EXTERN volatile NEAR unsigned char EEADR;
EXTERN volatile NEAR unsigned char EEADRH;
EXTERN volatile NEAR unsigned char RCSTA;
EXTERN volatile NEAR union {
struct {
unsigned RX9D:1;
unsigned OERR:1;
unsigned FERR:1;
unsigned ADDEN:1;
unsigned CREN:1;
unsigned SREN:1;
unsigned RX9:1;
unsigned SPEN:1;
};
struct {
unsigned RCD8:1;
unsigned :5;
unsigned RC9:1;
};
struct {
unsigned :6;
unsigned NOT_RC8:1;
};
struct {
unsigned :6;
unsigned RC8_9:1;
};
} RCSTAbits;
EXTERN volatile NEAR unsigned char RCSTA1;
EXTERN volatile NEAR union {
struct {
unsigned RX9D:1;
unsigned OERR:1;
unsigned FERR:1;
unsigned ADDEN:1;
unsigned CREN:1;
unsigned SREN:1;
unsigned RX9:1;
unsigned SPEN:1;
};
struct {
unsigned RCD8:1;
unsigned :5;
unsigned RC9:1;
};
struct {
unsigned :6;
unsigned NOT_RC8:1;
};
struct {
unsigned :6;
unsigned RC8_9:1;
};
} RCSTA1bits;
EXTERN volatile NEAR unsigned char TXSTA;
EXTERN volatile NEAR union {
struct {
unsigned TX9D:1;
unsigned TRMT:1;
unsigned BRGH:1;
unsigned SENDB:1;
unsigned SYNC:1;
unsigned TXEN:1;
unsigned TX9:1;
unsigned CSRC:1;
};
struct {
unsigned TXD8:1;
unsigned :5;
unsigned TX8_9:1;
};
struct {
unsigned :6;
unsigned NOT_TX8:1;
};
} TXSTAbits;
EXTERN volatile NEAR unsigned char TXSTA1;
EXTERN volatile NEAR union {
struct {
unsigned TX9D:1;
unsigned TRMT:1;
unsigned BRGH:1;
unsigned SENDB:1;
unsigned SYNC:1;
unsigned TXEN:1;
unsigned TX9:1;
unsigned CSRC:1;
};
struct {
unsigned TXD8:1;
unsigned :5;
unsigned TX8_9:1;
};
struct {
unsigned :6;
unsigned NOT_TX8:1;
};
} TXSTA1bits;
EXTERN volatile NEAR unsigned char TXREG;
EXTERN volatile NEAR unsigned char TXREG1;
EXTERN volatile NEAR unsigned char RCREG;
EXTERN volatile NEAR unsigned char RCREG1;
EXTERN volatile NEAR unsigned char SPBRG;
EXTERN volatile NEAR unsigned char SPBRG1;
EXTERN volatile NEAR unsigned char PSPCON;
EXTERN volatile NEAR struct {
unsigned :4;
unsigned PSPMODE:1;
unsigned IBOV:1;
unsigned OBF:1;
unsigned IBF:1;
} PSPCONbits;
EXTERN volatile NEAR unsigned char T3CON;
EXTERN volatile NEAR union {
struct {
unsigned TMR3ON:1;
unsigned TMR3CS:1;
unsigned T3SYNC:1;
unsigned T3CCP1:1;
unsigned T3CKPS0:1;
unsigned T3CKPS1:1;
unsigned T3CCP2:1;
unsigned RD16:1;
};
struct {
unsigned :2;
unsigned T3INSYNC:1;
};
struct {
unsigned :2;
unsigned NOT_T3SYNC:1;
};
} T3CONbits;
EXTERN volatile NEAR unsigned char TMR3L;
EXTERN volatile NEAR unsigned char TMR3H;
EXTERN volatile NEAR unsigned char CMCON;
EXTERN volatile NEAR struct {
unsigned CM0:1;
unsigned CM1:1;
unsigned CM2:1;
unsigned CIS:1;
unsigned C1INV:1;
unsigned C2INV:1;
unsigned C1OUT:1;
unsigned C2OUT:1;
} CMCONbits;
EXTERN volatile NEAR unsigned char CVRCON;
EXTERN volatile NEAR struct {
unsigned CVR0:1;
unsigned CVR1:1;
unsigned CVR2:1;
unsigned CVR3:1;
unsigned CVRSS:1;
unsigned CVRR:1;
unsigned CVROE:1;
unsigned CVREN:1;
} CVRCONbits;
EXTERN volatile NEAR unsigned char ECCP1AS;
EXTERN volatile NEAR union {
struct {
unsigned PSS1BD0:1;
unsigned PSS1BD1:1;
unsigned PSS1AC0:1;
unsigned PSS1AC1:1;
unsigned ECCP1AS0:1;
unsigned ECCP1AS1:1;
unsigned ECCP1AS2:1;
unsigned ECCP1ASE:1;
};
struct {
unsigned PSSBD0:1;
unsigned PSSBD1:1;
unsigned PSSAC0:1;
unsigned PSSAC1:1;
unsigned ECCPAS0:1;
unsigned ECCPAS1:1;
unsigned ECCPAS2:1;
unsigned ECCPASE:1;
};
} ECCP1ASbits;
EXTERN volatile NEAR unsigned char CCP3CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP3M0:1;
unsigned CCP3M1:1;
unsigned CCP3M2:1;
unsigned CCP3M3:1;
unsigned DC3B0:1;
unsigned DC3B1:1;
unsigned P3M0:1;
unsigned P3M1:1;
};
struct {
unsigned :4;
unsigned CCP3Y:1;
unsigned CCP3X:1;
};
} CCP3CONbits;
EXTERN volatile NEAR unsigned char ECCP3CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP3M0:1;
unsigned CCP3M1:1;
unsigned CCP3M2:1;
unsigned CCP3M3:1;
unsigned DC3B0:1;
unsigned DC3B1:1;
unsigned P3M0:1;
unsigned P3M1:1;
};
struct {
unsigned :4;
unsigned CCP3Y:1;
unsigned CCP3X:1;
};
} ECCP3CONbits;
EXTERN volatile NEAR unsigned CCPR3;
EXTERN volatile NEAR unsigned char CCPR3L;
EXTERN volatile NEAR unsigned char CCPR3H;
EXTERN volatile NEAR unsigned char CCP2CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP2M0:1;
unsigned CCP2M1:1;
unsigned CCP2M2:1;
unsigned CCP2M3:1;
unsigned DC2B0:1;
unsigned DC2B1:1;
unsigned P2M0:1;
unsigned P2M1:1;
};
struct {
unsigned :4;
unsigned CCP2Y:1;
unsigned CCP2X:1;
};
} CCP2CONbits;
EXTERN volatile NEAR unsigned char ECCP2CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP2M0:1;
unsigned CCP2M1:1;
unsigned CCP2M2:1;
unsigned CCP2M3:1;
unsigned DC2B0:1;
unsigned DC2B1:1;
unsigned P2M0:1;
unsigned P2M1:1;
};
struct {
unsigned :4;
unsigned CCP2Y:1;
unsigned CCP2X:1;
};
} ECCP2CONbits;
EXTERN volatile NEAR unsigned CCPR2;
EXTERN volatile NEAR unsigned char CCPR2L;
EXTERN volatile NEAR unsigned char CCPR2H;
EXTERN volatile NEAR unsigned char CCP1CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP1M0:1;
unsigned CCP1M1:1;
unsigned CCP1M2:1;
unsigned CCP1M3:1;
unsigned DC1B0:1;
unsigned DC1B1:1;
unsigned P1M0:1;
unsigned P1M1:1;
};
struct {
unsigned :4;
unsigned CCP1Y:1;
unsigned CCP1X:1;
};
} CCP1CONbits;
EXTERN volatile NEAR unsigned char ECCP1CON;
EXTERN volatile NEAR union {
struct {
unsigned CCP1M0:1;
unsigned CCP1M1:1;
unsigned CCP1M2:1;
unsigned CCP1M3:1;
unsigned DC1B0:1;
unsigned DC1B1:1;
unsigned P1M0:1;
unsigned P1M1:1;
};
struct {
unsigned :4;
unsigned CCP1Y:1;
unsigned CCP1X:1;
};
} ECCP1CONbits;
EXTERN volatile NEAR unsigned CCPR1;
EXTERN volatile NEAR unsigned char CCPR1L;
EXTERN volatile NEAR unsigned char CCPR1H;
EXTERN volatile NEAR unsigned char ADCON2;
EXTERN volatile NEAR struct {
unsigned ADCS0:1;
unsigned ADCS1:1;
unsigned ADCS2:1;
unsigned ACQT0:1;
unsigned ACQT1:1;
unsigned ACQT2:1;
unsigned :1;
unsigned ADFM:1;
} ADCON2bits;
EXTERN volatile NEAR unsigned char ADCON1;
EXTERN volatile NEAR struct {
unsigned PCFG0:1;
unsigned PCFG1:1;
unsigned PCFG2:1;
unsigned PCFG3:1;
unsigned VCFG0:1;
unsigned VCFG1:1;
} ADCON1bits;
EXTERN volatile NEAR unsigned char ADCON0;
EXTERN volatile NEAR union {
struct {
unsigned :1;
unsigned DONE:1;
};
struct {
unsigned :1;
unsigned GO_DONE:1;
};
struct {
unsigned ADON:1;
unsigned GO:1;
unsigned CHS0:1;
unsigned CHS1:1;
unsigned CHS2:1;
unsigned CHS3:1;
};
struct {
unsigned :1;
unsigned NOT_DONE:1;
};
} ADCON0bits;
EXTERN volatile NEAR unsigned ADRES;
EXTERN volatile NEAR unsigned char ADRESL;
EXTERN volatile NEAR unsigned char ADRESH;
EXTERN volatile NEAR unsigned char SSP1CON2;
EXTERN volatile NEAR struct {
unsigned SEN:1;
unsigned RSEN:1;
unsigned PEN:1;
unsigned RCEN:1;
unsigned ACKEN:1;
unsigned ACKDT:1;
unsigned ACKSTAT:1;
unsigned GCEN:1;
} SSP1CON2bits;
EXTERN volatile NEAR unsigned char SSPCON2;
EXTERN volatile NEAR struct {
unsigned SEN:1;
unsigned RSEN:1;
unsigned PEN:1;
unsigned RCEN:1;
unsigned ACKEN:1;
unsigned ACKDT:1;
unsigned ACKSTAT:1;
unsigned GCEN:1;
} SSPCON2bits;
EXTERN volatile NEAR unsigned char SSP1CON1;
EXTERN volatile NEAR struct {
unsigned SSPM0:1;
unsigned SSPM1:1;
unsigned SSPM2:1;
unsigned SSPM3:1;
unsigned CKP:1;
unsigned SSPEN:1;
unsigned SSPOV:1;
unsigned WCOL:1;
} SSP1CON1bits;
EXTERN volatile NEAR unsigned char SSPCON1;
EXTERN volatile NEAR struct {
unsigned SSPM0:1;
unsigned SSPM1:1;
unsigned SSPM2:1;
unsigned SSPM3:1;
unsigned CKP:1;
unsigned SSPEN:1;
unsigned SSPOV:1;
unsigned WCOL:1;
} SSPCON1bits;
EXTERN volatile NEAR unsigned char SSP1STAT;
EXTERN volatile NEAR union {
struct {
unsigned BF:1;
unsigned UA:1;
unsigned R_W:1;
unsigned S:1;
unsigned P:1;
unsigned D_A:1;
unsigned CKE:1;
unsigned SMP:1;
};
struct {
unsigned :2;
unsigned I2C_READ:1;
unsigned I2C_START:1;
unsigned I2C_STOP:1;
unsigned I2C_DAT:1;
};
struct {
unsigned :2;
unsigned NOT_W:1;
unsigned :2;
unsigned NOT_A:1;
};
struct {
unsigned :2;
unsigned NOT_WRITE:1;
unsigned :2;
unsigned NOT_ADDRESS:1;
};
struct {
unsigned :2;
unsigned READ_WRITE:1;
unsigned :2;
unsigned DATA_ADDRESS:1;
};
struct {
unsigned :2;
unsigned R:1;
unsigned :2;
unsigned D:1;
};
} SSP1STATbits;
EXTERN volatile NEAR unsigned char SSPSTAT;
EXTERN volatile NEAR union {
struct {
unsigned BF:1;
unsigned UA:1;
unsigned R_W:1;
unsigned S:1;
unsigned P:1;
unsigned D_A:1;
unsigned CKE:1;
unsigned SMP:1;
};
struct {
unsigned :2;
unsigned I2C_READ:1;
unsigned I2C_START:1;
unsigned I2C_STOP:1;
unsigned I2C_DAT:1;
};
struct {
unsigned :2;
unsigned NOT_W:1;
unsigned :2;
unsigned NOT_A:1;
};
struct {
unsigned :2;
unsigned NOT_WRITE:1;
unsigned :2;
unsigned NOT_ADDRESS:1;
};
struct {
unsigned :2;
unsigned READ_WRITE:1;
unsigned :2;
unsigned DATA_ADDRESS:1;
};
struct {
unsigned :2;
unsigned R:1;
unsigned :2;
unsigned D:1;
};
} SSPSTATbits;
EXTERN volatile NEAR unsigned char SSP1ADD;
EXTERN volatile NEAR unsigned char SSPADD;
EXTERN volatile NEAR unsigned char SSP1BUF;
EXTERN volatile NEAR unsigned char SSPBUF;
EXTERN volatile NEAR unsigned char T2CON;
EXTERN volatile NEAR struct {
unsigned T2CKPS0:1;
unsigned T2CKPS1:1;
unsigned TMR2ON:1;
unsigned T2OUTPS0:1;
unsigned T2OUTPS1:1;
unsigned T2OUTPS2:1;
unsigned T2OUTPS3:1;
} T2CONbits;
EXTERN volatile NEAR unsigned char PR2;
EXTERN volatile NEAR unsigned char TMR2;
EXTERN volatile NEAR unsigned char T1CON;
EXTERN volatile NEAR union {
struct {
unsigned TMR1ON:1;
unsigned TMR1CS:1;
unsigned T1SYNC:1;
unsigned T1OSCEN:1;
unsigned T1CKPS0:1;
unsigned T1CKPS1:1;
unsigned T1RUN:1;
unsigned RD16:1;
};
struct {
unsigned :2;
unsigned T1INSYNC:1;
};
struct {
unsigned :2;
unsigned NOT_T1SYNC:1;
};
} T1CONbits;
EXTERN volatile NEAR unsigned char TMR1L;
EXTERN volatile NEAR unsigned char TMR1H;
EXTERN volatile NEAR unsigned char RCON;
EXTERN volatile NEAR union {
struct {
unsigned NOT_BOR:1;
unsigned NOT_POR:1;
unsigned NOT_PD:1;
unsigned NOT_TO:1;
unsigned NOT_RI:1;
unsigned SBOREN:1;
unsigned :1;
unsigned IPEN:1;
};
struct {
unsigned BOR:1;
unsigned POR:1;
unsigned PD:1;
unsigned TO:1;
unsigned RI:1;
};
} RCONbits;
EXTERN volatile NEAR unsigned char WDTCON;
EXTERN volatile NEAR union {
struct {
unsigned SWDTE:1;
};
struct {
unsigned SWDTEN:1;
};
} WDTCONbits;
EXTERN volatile NEAR unsigned char HLVDCON;
EXTERN volatile NEAR union {
struct {
unsigned LVDL0:1;
unsigned LVDL1:1;
unsigned LVDL2:1;
unsigned LVDL3:1;
unsigned LVDEN:1;
unsigned IRVST:1;
};
struct {
unsigned LVV0:1;
unsigned LVV1:1;
unsigned LVV2:1;
unsigned LVV3:1;
unsigned :1;
unsigned BGST:1;
};
struct {
unsigned HLVDL0:1;
unsigned HLVDL1:1;
unsigned HLVDL2:1;
unsigned HLVDL3:1;
unsigned HLVDEN:1;
unsigned :2;
unsigned VDIRMAG:1;
};
struct {
unsigned :5;
unsigned IVRST:1;
};
} HLVDCONbits;
EXTERN volatile NEAR unsigned char LVDCON;
EXTERN volatile NEAR union {
struct {
unsigned LVDL0:1;
unsigned LVDL1:1;
unsigned LVDL2:1;
unsigned LVDL3:1;
unsigned LVDEN:1;
unsigned IRVST:1;
};
struct {
unsigned LVV0:1;
unsigned LVV1:1;
unsigned LVV2:1;
unsigned LVV3:1;
unsigned :1;
unsigned BGST:1;
};
struct {
unsigned HLVDL0:1;
unsigned HLVDL1:1;
unsigned HLVDL2:1;
unsigned HLVDL3:1;
unsigned HLVDEN:1;
unsigned :2;
unsigned VDIRMAG:1;
};
struct {
unsigned :5;
unsigned IVRST:1;
};
} LVDCONbits;
EXTERN volatile NEAR unsigned char OSCCON;
EXTERN volatile NEAR union {
struct {
unsigned SCS0:1;
unsigned SCS1:1;
unsigned IOFS:1;
unsigned OSTS:1;
unsigned IRCF0:1;
unsigned IRCF1:1;
unsigned IRCF2:1;
unsigned IDLEN:1;
};
struct {
unsigned :2;
unsigned FLTS:1;
};
} OSCCONbits;
EXTERN volatile NEAR unsigned char T0CON;
EXTERN volatile NEAR union {
struct {
unsigned T0PS0:1;
unsigned T0PS1:1;
unsigned T0PS2:1;
unsigned PSA:1;
unsigned T0SE:1;
unsigned T0CS:1;
unsigned T08BIT:1;
unsigned TMR0ON:1;
};
struct {
unsigned :3;
unsigned T0PS3:1;
};
} T0CONbits;
EXTERN volatile NEAR unsigned char TMR0L;
EXTERN volatile NEAR unsigned char TMR0H;
EXTERN NEAR unsigned char STATUS;
EXTERN NEAR struct {
unsigned C:1;
unsigned DC:1;
unsigned Z:1;
unsigned OV:1;
unsigned N:1;
} STATUSbits;
EXTERN NEAR unsigned FSR2;
EXTERN NEAR unsigned char FSR2L;
EXTERN NEAR unsigned char FSR2H;
EXTERN volatile NEAR unsigned char PLUSW2;
EXTERN volatile NEAR unsigned char PREINC2;
EXTERN volatile NEAR unsigned char POSTDEC2;
EXTERN volatile NEAR unsigned char POSTINC2;
EXTERN NEAR unsigned char INDF2;
EXTERN NEAR unsigned char BSR;
EXTERN NEAR unsigned FSR1;
EXTERN NEAR unsigned char FSR1L;
EXTERN NEAR unsigned char FSR1H;
EXTERN volatile NEAR unsigned char PLUSW1;
EXTERN volatile NEAR unsigned char PREINC1;
EXTERN volatile NEAR unsigned char POSTDEC1;
EXTERN volatile NEAR unsigned char POSTINC1;
EXTERN NEAR unsigned char INDF1;
EXTERN NEAR unsigned char WREG;
EXTERN NEAR unsigned FSR0;
EXTERN NEAR unsigned char FSR0L;
EXTERN NEAR unsigned char FSR0H;
EXTERN volatile NEAR unsigned char PLUSW0;
EXTERN volatile NEAR unsigned char PREINC0;
EXTERN volatile NEAR unsigned char POSTDEC0;
EXTERN volatile NEAR unsigned char POSTINC0;
EXTERN NEAR unsigned char INDF0;
EXTERN volatile NEAR unsigned char INTCON3;
EXTERN volatile NEAR union {
struct {
unsigned INT1F:1;
unsigned INT2F:1;
unsigned INT3F:1;
unsigned INT1E:1;
unsigned INT2E:1;
unsigned INT3E:1;
unsigned INT1P:1;
unsigned INT2P:1;
};
struct {
unsigned INT1IF:1;
unsigned INT2IF:1;
unsigned INT3IF:1;
unsigned INT1IE:1;
unsigned INT2IE:1;
unsigned INT3IE:1;
unsigned INT1IP:1;
unsigned INT2IP:1;
};
} INTCON3bits;
EXTERN volatile NEAR unsigned char INTCON2;
EXTERN volatile NEAR union {
struct {
unsigned RBIP:1;
unsigned INT3P:1;
unsigned T0IP:1;
unsigned INTEDG3:1;
unsigned INTEDG2:1;
unsigned INTEDG1:1;
unsigned INTEDG0:1;
unsigned NOT_RBPU:1;
};
struct {
unsigned :1;
unsigned INT3IP:1;
unsigned TMR0IP:1;
unsigned :4;
unsigned RBPU:1;
};
} INTCON2bits;
EXTERN volatile NEAR unsigned char INTCON;
EXTERN volatile NEAR union {
struct {
unsigned RBIF:1;
unsigned INT0F:1;
unsigned T0IF:1;
unsigned RBIE:1;
unsigned INT0E:1;
unsigned T0IE:1;
unsigned PEIE:1;
unsigned GIE:1;
};
struct {
unsigned :1;
unsigned INT0IF:1;
unsigned TMR0IF:1;
unsigned :1;
unsigned INT0IE:1;
unsigned TMR0IE:1;
unsigned GIEL:1;
unsigned GIEH:1;
};
} INTCONbits;
EXTERN NEAR unsigned PROD;
EXTERN NEAR unsigned char PRODL;
EXTERN NEAR unsigned char PRODH;
EXTERN volatile NEAR unsigned char TABLAT;
EXTERN volatile NEAR unsigned SHORTLONG TBLPTR;
EXTERN volatile NEAR unsigned char TBLPTRL;
EXTERN volatile NEAR unsigned char TBLPTRH;
EXTERN volatile NEAR unsigned char TBLPTRU;
EXTERN volatile NEAR unsigned SHORTLONG PC;
EXTERN volatile NEAR unsigned char PCL;
EXTERN volatile NEAR unsigned char PCLATH;
EXTERN volatile NEAR unsigned char PCLATU;
EXTERN volatile NEAR unsigned char STKPTR;
EXTERN volatile NEAR union {
struct {
unsigned STKPTR0:1;
unsigned STKPTR1:1;
unsigned STKPTR2:1;
unsigned STKPTR3:1;
unsigned STKPTR4:1;
unsigned :1;
unsigned STKUNF:1;
unsigned STKFUL:1;
};
struct {
unsigned SP0:1;
unsigned SP1:1;
unsigned SP2:1;
unsigned SP3:1;
unsigned SP4:1;
unsigned :2;
unsigned STKOVF:1;
};
} STKPTRbits;
EXTERN NEAR unsigned SHORTLONG TOS;
EXTERN NEAR unsigned char TOSL;
EXTERN NEAR unsigned char TOSH;
EXTERN NEAR unsigned char TOSU;
/*-------------------------------------------------------------------------
* Some useful defines for inline assembly stuff
*-------------------------------------------------------------------------*/
#define ACCESS 0
#define BANKED 1
/*-------------------------------------------------------------------------
* Some useful macros for inline assembly stuff
*-------------------------------------------------------------------------*/
#define Nop() {_asm nop _endasm}
#define ClrWdt() {_asm clrwdt _endasm}
#define Sleep() {_asm sleep _endasm}
#define Reset() {_asm reset _endasm}
#define Rlcf(f,dest,access) {_asm movlb f rlcf f,dest,access _endasm}
#define Rlncf(f,dest,access) {_asm movlb f rlncf f,dest,access _endasm}
#define Rrcf(f,dest,access) {_asm movlb f rrcf f,dest,access _endasm}
#define Rrncf(f,dest,access) {_asm movlb f rrncf f,dest,access _endasm}
#define Swapf(f,dest,access) {_asm movlb f swapf f,dest,access _endasm }
/*-------------------------------------------------------------------------
* A fairly inclusive set of registers to save for interrupts.
* These are locations which are commonly used by the compiler.
*-------------------------------------------------------------------------*/
#define INTSAVELOCS TBLPTR, TABLAT, PROD
#endif
syntax highlighted by Code2HTML, v. 0.9.1