//
// This header file was automatically generated by:
//
-// inc2h.pl V1.6
+// inc2h.pl V4514
//
// Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
//
// Memory organization.
//
-#pragma memmap INDF_ADDR INDF_ADDR SFR 0x000 // INDF
-#pragma memmap TMR0_ADDR TMR0_ADDR SFR 0x000 // TMR0
-#pragma memmap PCL_ADDR PCL_ADDR SFR 0x000 // PCL
-#pragma memmap STATUS_ADDR STATUS_ADDR SFR 0x000 // STATUS
-#pragma memmap FSR_ADDR FSR_ADDR SFR 0x000 // FSR
-#pragma memmap PORTA_ADDR PORTA_ADDR SFR 0x000 // PORTA
-#pragma memmap PORTB_ADDR PORTB_ADDR SFR 0x000 // PORTB
-#pragma memmap PORTC_ADDR PORTC_ADDR SFR 0x000 // PORTC
-#pragma memmap PCLATH_ADDR PCLATH_ADDR SFR 0x000 // PCLATH
-#pragma memmap INTCON_ADDR INTCON_ADDR SFR 0x000 // INTCON
-#pragma memmap PIR1_ADDR PIR1_ADDR SFR 0x000 // PIR1
-#pragma memmap PIR2_ADDR PIR2_ADDR SFR 0x000 // PIR2
-#pragma memmap TMR1L_ADDR TMR1L_ADDR SFR 0x000 // TMR1L
-#pragma memmap TMR1H_ADDR TMR1H_ADDR SFR 0x000 // TMR1H
-#pragma memmap T1CON_ADDR T1CON_ADDR SFR 0x000 // T1CON
-#pragma memmap TMR2_ADDR TMR2_ADDR SFR 0x000 // TMR2
-#pragma memmap T2CON_ADDR T2CON_ADDR SFR 0x000 // T2CON
-#pragma memmap SSPBUF_ADDR SSPBUF_ADDR SFR 0x000 // SSPBUF
-#pragma memmap SSPCON_ADDR SSPCON_ADDR SFR 0x000 // SSPCON
-#pragma memmap CCPR1L_ADDR CCPR1L_ADDR SFR 0x000 // CCPR1L
-#pragma memmap CCPR1H_ADDR CCPR1H_ADDR SFR 0x000 // CCPR1H
-#pragma memmap CCP1CON_ADDR CCP1CON_ADDR SFR 0x000 // CCP1CON
-#pragma memmap RCSTA_ADDR RCSTA_ADDR SFR 0x000 // RCSTA
-#pragma memmap TXREG_ADDR TXREG_ADDR SFR 0x000 // TXREG
-#pragma memmap RCREG_ADDR RCREG_ADDR SFR 0x000 // RCREG
-#pragma memmap CCPR2L_ADDR CCPR2L_ADDR SFR 0x000 // CCPR2L
-#pragma memmap CCPR2H_ADDR CCPR2H_ADDR SFR 0x000 // CCPR2H
-#pragma memmap CCP2CON_ADDR CCP2CON_ADDR SFR 0x000 // CCP2CON
-#pragma memmap ADRESH_ADDR ADRESH_ADDR SFR 0x000 // ADRESH
-#pragma memmap ADCON0_ADDR ADCON0_ADDR SFR 0x000 // ADCON0
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000 // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISB_ADDR TRISB_ADDR SFR 0x000 // TRISB
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000 // PIE1
-#pragma memmap PIE2_ADDR PIE2_ADDR SFR 0x000 // PIE2
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000 // PCON
-#pragma memmap SSPCON2_ADDR SSPCON2_ADDR SFR 0x000 // SSPCON2
-#pragma memmap PR2_ADDR PR2_ADDR SFR 0x000 // PR2
-#pragma memmap SSPADD_ADDR SSPADD_ADDR SFR 0x000 // SSPADD
-#pragma memmap SSPSTAT_ADDR SSPSTAT_ADDR SFR 0x000 // SSPSTAT
-#pragma memmap TXSTA_ADDR TXSTA_ADDR SFR 0x000 // TXSTA
-#pragma memmap SPBRG_ADDR SPBRG_ADDR SFR 0x000 // SPBRG
-#pragma memmap ADRESL_ADDR ADRESL_ADDR SFR 0x000 // ADRESL
-#pragma memmap ADCON1_ADDR ADCON1_ADDR SFR 0x000 // ADCON1
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000 // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EEDATH_ADDR EEDATH_ADDR SFR 0x000 // EEDATH
-#pragma memmap EEADRH_ADDR EEADRH_ADDR SFR 0x000 // EEADRH
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000 // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000 // EECON2
// LIST
//----- Register Files------------------------------------------------------
-extern data __at (INDF_ADDR) volatile char INDF;
-extern sfr __at (TMR0_ADDR) TMR0;
-extern data __at (PCL_ADDR) volatile char PCL;
-extern sfr __at (STATUS_ADDR) STATUS;
-extern sfr __at (FSR_ADDR) FSR;
-extern sfr __at (PORTA_ADDR) PORTA;
-extern sfr __at (PORTB_ADDR) PORTB;
-extern sfr __at (PORTC_ADDR) PORTC;
-extern sfr __at (PCLATH_ADDR) PCLATH;
-extern sfr __at (INTCON_ADDR) INTCON;
-extern sfr __at (PIR1_ADDR) PIR1;
-extern sfr __at (PIR2_ADDR) PIR2;
-extern sfr __at (TMR1L_ADDR) TMR1L;
-extern sfr __at (TMR1H_ADDR) TMR1H;
-extern sfr __at (T1CON_ADDR) T1CON;
-extern sfr __at (TMR2_ADDR) TMR2;
-extern sfr __at (T2CON_ADDR) T2CON;
-extern sfr __at (SSPBUF_ADDR) SSPBUF;
-extern sfr __at (SSPCON_ADDR) SSPCON;
-extern sfr __at (CCPR1L_ADDR) CCPR1L;
-extern sfr __at (CCPR1H_ADDR) CCPR1H;
-extern sfr __at (CCP1CON_ADDR) CCP1CON;
-extern sfr __at (RCSTA_ADDR) RCSTA;
-extern sfr __at (TXREG_ADDR) TXREG;
-extern sfr __at (RCREG_ADDR) RCREG;
-extern sfr __at (CCPR2L_ADDR) CCPR2L;
-extern sfr __at (CCPR2H_ADDR) CCPR2H;
-extern sfr __at (CCP2CON_ADDR) CCP2CON;
-extern sfr __at (ADRESH_ADDR) ADRESH;
-extern sfr __at (ADCON0_ADDR) ADCON0;
-
-extern sfr __at (OPTION_REG_ADDR) OPTION_REG;
-extern sfr __at (TRISA_ADDR) TRISA;
-extern sfr __at (TRISB_ADDR) TRISB;
-extern sfr __at (TRISC_ADDR) TRISC;
-extern sfr __at (PIE1_ADDR) PIE1;
-extern sfr __at (PIE2_ADDR) PIE2;
-extern sfr __at (PCON_ADDR) PCON;
-extern sfr __at (SSPCON2_ADDR) SSPCON2;
-extern sfr __at (PR2_ADDR) PR2;
-extern sfr __at (SSPADD_ADDR) SSPADD;
-extern sfr __at (SSPSTAT_ADDR) SSPSTAT;
-extern sfr __at (TXSTA_ADDR) TXSTA;
-extern sfr __at (SPBRG_ADDR) SPBRG;
-extern sfr __at (ADRESL_ADDR) ADRESL;
-extern sfr __at (ADCON1_ADDR) ADCON1;
-
-extern sfr __at (EEDATA_ADDR) EEDATA;
-extern sfr __at (EEADR_ADDR) EEADR;
-extern sfr __at (EEDATH_ADDR) EEDATH;
-extern sfr __at (EEADRH_ADDR) EEADRH;
-
-extern sfr __at (EECON1_ADDR) EECON1;
-extern sfr __at (EECON2_ADDR) EECON2;
+extern __data __at (INDF_ADDR) volatile char INDF;
+extern __sfr __at (TMR0_ADDR) TMR0;
+extern __data __at (PCL_ADDR) volatile char PCL;
+extern __sfr __at (STATUS_ADDR) STATUS;
+extern __sfr __at (FSR_ADDR) FSR;
+extern __sfr __at (PORTA_ADDR) PORTA;
+extern __sfr __at (PORTB_ADDR) PORTB;
+extern __sfr __at (PORTC_ADDR) PORTC;
+extern __sfr __at (PCLATH_ADDR) PCLATH;
+extern __sfr __at (INTCON_ADDR) INTCON;
+extern __sfr __at (PIR1_ADDR) PIR1;
+extern __sfr __at (PIR2_ADDR) PIR2;
+extern __sfr __at (TMR1L_ADDR) TMR1L;
+extern __sfr __at (TMR1H_ADDR) TMR1H;
+extern __sfr __at (T1CON_ADDR) T1CON;
+extern __sfr __at (TMR2_ADDR) TMR2;
+extern __sfr __at (T2CON_ADDR) T2CON;
+extern __sfr __at (SSPBUF_ADDR) SSPBUF;
+extern __sfr __at (SSPCON_ADDR) SSPCON;
+extern __sfr __at (CCPR1L_ADDR) CCPR1L;
+extern __sfr __at (CCPR1H_ADDR) CCPR1H;
+extern __sfr __at (CCP1CON_ADDR) CCP1CON;
+extern __sfr __at (RCSTA_ADDR) RCSTA;
+extern __sfr __at (TXREG_ADDR) TXREG;
+extern __sfr __at (RCREG_ADDR) RCREG;
+extern __sfr __at (CCPR2L_ADDR) CCPR2L;
+extern __sfr __at (CCPR2H_ADDR) CCPR2H;
+extern __sfr __at (CCP2CON_ADDR) CCP2CON;
+extern __sfr __at (ADRESH_ADDR) ADRESH;
+extern __sfr __at (ADCON0_ADDR) ADCON0;
+
+extern __sfr __at (OPTION_REG_ADDR) OPTION_REG;
+extern __sfr __at (TRISA_ADDR) TRISA;
+extern __sfr __at (TRISB_ADDR) TRISB;
+extern __sfr __at (TRISC_ADDR) TRISC;
+extern __sfr __at (PIE1_ADDR) PIE1;
+extern __sfr __at (PIE2_ADDR) PIE2;
+extern __sfr __at (PCON_ADDR) PCON;
+extern __sfr __at (SSPCON2_ADDR) SSPCON2;
+extern __sfr __at (PR2_ADDR) PR2;
+extern __sfr __at (SSPADD_ADDR) SSPADD;
+extern __sfr __at (SSPSTAT_ADDR) SSPSTAT;
+extern __sfr __at (TXSTA_ADDR) TXSTA;
+extern __sfr __at (SPBRG_ADDR) SPBRG;
+extern __sfr __at (ADRESL_ADDR) ADRESL;
+extern __sfr __at (ADCON1_ADDR) ADCON1;
+
+extern __sfr __at (EEDATA_ADDR) EEDATA;
+extern __sfr __at (EEADR_ADDR) EEADR;
+extern __sfr __at (EEDATH_ADDR) EEDATH;
+extern __sfr __at (EEADRH_ADDR) EEADRH;
+
+extern __sfr __at (EECON1_ADDR) EECON1;
+extern __sfr __at (EECON2_ADDR) EECON2;
//----- STATUS Bits --------------------------------------------------------
//----- ADCON0 Bits --------------------------------------------------------
-//----- OPTION Bits ----------------------------------------------------
+//----- OPTION_REG Bits ----------------------------------------------------
//----- PIE1 Bits ----------------------------------------------------------
#define EEIF PIR2_bits.EEIF
#define CMIF PIR2_bits.CMIF
+// ----- PORTA bits --------------------
+typedef union {
+ struct {
+ unsigned char RA0:1;
+ unsigned char RA1:1;
+ unsigned char RA2:1;
+ unsigned char RA3:1;
+ unsigned char RA4:1;
+ unsigned char RA5:1;
+ unsigned char :1;
+ unsigned char :1;
+ };
+} __PORTA_bits_t;
+extern volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;
+
+#define RA0 PORTA_bits.RA0
+#define RA1 PORTA_bits.RA1
+#define RA2 PORTA_bits.RA2
+#define RA3 PORTA_bits.RA3
+#define RA4 PORTA_bits.RA4
+#define RA5 PORTA_bits.RA5
+
+// ----- PORTB bits --------------------
+typedef union {
+ struct {
+ unsigned char RB0:1;
+ unsigned char RB1:1;
+ unsigned char RB2:1;
+ unsigned char RB3:1;
+ unsigned char RB4:1;
+ unsigned char RB5:1;
+ unsigned char RB6:1;
+ unsigned char RB7:1;
+ };
+} __PORTB_bits_t;
+extern volatile __PORTB_bits_t __at(PORTB_ADDR) PORTB_bits;
+
+#define RB0 PORTB_bits.RB0
+#define RB1 PORTB_bits.RB1
+#define RB2 PORTB_bits.RB2
+#define RB3 PORTB_bits.RB3
+#define RB4 PORTB_bits.RB4
+#define RB5 PORTB_bits.RB5
+#define RB6 PORTB_bits.RB6
+#define RB7 PORTB_bits.RB7
+
+// ----- PORTC bits --------------------
+typedef union {
+ struct {
+ unsigned char RC0:1;
+ unsigned char RC1:1;
+ unsigned char RC2:1;
+ unsigned char RC3:1;
+ unsigned char RC4:1;
+ unsigned char RC5:1;
+ unsigned char RC6:1;
+ unsigned char RC7:1;
+ };
+} __PORTC_bits_t;
+extern volatile __PORTC_bits_t __at(PORTC_ADDR) PORTC_bits;
+
+#define RC0 PORTC_bits.RC0
+#define RC1 PORTC_bits.RC1
+#define RC2 PORTC_bits.RC2
+#define RC3 PORTC_bits.RC3
+#define RC4 PORTC_bits.RC4
+#define RC5 PORTC_bits.RC5
+#define RC6 PORTC_bits.RC6
+#define RC7 PORTC_bits.RC7
+
// ----- RCSTA bits --------------------
typedef union {
struct {
#define TOUTPS2 T2CON_bits.TOUTPS2
#define TOUTPS3 T2CON_bits.TOUTPS3
+// ----- TRISA bits --------------------
+typedef union {
+ struct {
+ unsigned char TRISA0:1;
+ unsigned char TRISA1:1;
+ unsigned char TRISA2:1;
+ unsigned char TRISA3:1;
+ unsigned char TRISA4:1;
+ unsigned char TRISA5:1;
+ unsigned char :1;
+ unsigned char :1;
+ };
+} __TRISA_bits_t;
+extern volatile __TRISA_bits_t __at(TRISA_ADDR) TRISA_bits;
+
+#define TRISA0 TRISA_bits.TRISA0
+#define TRISA1 TRISA_bits.TRISA1
+#define TRISA2 TRISA_bits.TRISA2
+#define TRISA3 TRISA_bits.TRISA3
+#define TRISA4 TRISA_bits.TRISA4
+#define TRISA5 TRISA_bits.TRISA5
+
+// ----- TRISB bits --------------------
+typedef union {
+ struct {
+ unsigned char TRISB0:1;
+ unsigned char TRISB1:1;
+ unsigned char TRISB2:1;
+ unsigned char TRISB3:1;
+ unsigned char TRISB4:1;
+ unsigned char TRISB5:1;
+ unsigned char TRISB6:1;
+ unsigned char TRISB7:1;
+ };
+} __TRISB_bits_t;
+extern volatile __TRISB_bits_t __at(TRISB_ADDR) TRISB_bits;
+
+#define TRISB0 TRISB_bits.TRISB0
+#define TRISB1 TRISB_bits.TRISB1
+#define TRISB2 TRISB_bits.TRISB2
+#define TRISB3 TRISB_bits.TRISB3
+#define TRISB4 TRISB_bits.TRISB4
+#define TRISB5 TRISB_bits.TRISB5
+#define TRISB6 TRISB_bits.TRISB6
+#define TRISB7 TRISB_bits.TRISB7
+
+// ----- TRISC bits --------------------
+typedef union {
+ struct {
+ unsigned char TRISC0:1;
+ unsigned char TRISC1:1;
+ unsigned char TRISC2:1;
+ unsigned char TRISC3:1;
+ unsigned char TRISC4:1;
+ unsigned char TRISC5:1;
+ unsigned char TRISC6:1;
+ unsigned char TRISC7:1;
+ };
+} __TRISC_bits_t;
+extern volatile __TRISC_bits_t __at(TRISC_ADDR) TRISC_bits;
+
+#define TRISC0 TRISC_bits.TRISC0
+#define TRISC1 TRISC_bits.TRISC1
+#define TRISC2 TRISC_bits.TRISC2
+#define TRISC3 TRISC_bits.TRISC3
+#define TRISC4 TRISC_bits.TRISC4
+#define TRISC5 TRISC_bits.TRISC5
+#define TRISC6 TRISC_bits.TRISC6
+#define TRISC7 TRISC_bits.TRISC7
+
// ----- TXSTA bits --------------------
typedef union {
struct {