* device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
[fw/sdcc] / device / include / pic / pic16f785.h
index c50722532590316d0f38436ba643fe8d2c355d76..28beb839e77c8f7b446f9ee7328eb986afff0fee 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4783
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
 
 //----- Register Files------------------------------------------------------
 
-extern __data __at (INDF_ADDR) volatile char      INDF;
+extern __sfr  __at (INDF_ADDR)                    INDF;
 extern __sfr  __at (TMR0_ADDR)                    TMR0;
-extern __data __at (PCL_ADDR) volatile char       PCL;
+extern __sfr  __at (PCL_ADDR)                     PCL;
 extern __sfr  __at (STATUS_ADDR)                  STATUS;
 extern __sfr  __at (FSR_ADDR)                     FSR;
 extern __sfr  __at (PORTA_ADDR)                   PORTA;
@@ -390,6 +390,7 @@ typedef union {
 } __ADCON0_bits_t;
 extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 
+#ifndef NO_BIT_DEFINES
 #define ADON                 ADCON0_bits.ADON
 #define GO                   ADCON0_bits.GO
 #define NOT_DONE             ADCON0_bits.NOT_DONE
@@ -400,6 +401,50 @@ extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 #define CHS3                 ADCON0_bits.CHS3
 #define VCFG                 ADCON0_bits.VCFG
 #define ADFM                 ADCON0_bits.ADFM
+#endif /* NO_BIT_DEFINES */
+
+// ----- ADCON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char ADCS0:1;
+    unsigned char ADCS1:1;
+    unsigned char ADCS2:1;
+    unsigned char :1;
+  };
+} __ADCON1_bits_t;
+extern volatile __ADCON1_bits_t __at(ADCON1_ADDR) ADCON1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define ADCS0                ADCON1_bits.ADCS0
+#define ADCS1                ADCON1_bits.ADCS1
+#define ADCS2                ADCON1_bits.ADCS2
+#endif /* NO_BIT_DEFINES */
+
+// ----- ANSEL1 bits --------------------
+typedef union {
+  struct {
+    unsigned char ANS8:1;
+    unsigned char ANS9:1;
+    unsigned char ANS10:1;
+    unsigned char ANS11:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __ANSEL1_bits_t;
+extern volatile __ANSEL1_bits_t __at(ANSEL1_ADDR) ANSEL1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define ANS8                 ANSEL1_bits.ANS8
+#define ANS9                 ANSEL1_bits.ANS9
+#define ANS10                ANSEL1_bits.ANS10
+#define ANS11                ANSEL1_bits.ANS11
+#endif /* NO_BIT_DEFINES */
 
 // ----- CCP1CON bits --------------------
 typedef union {
@@ -416,12 +461,121 @@ typedef union {
 } __CCP1CON_bits_t;
 extern volatile __CCP1CON_bits_t __at(CCP1CON_ADDR) CCP1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define CCP1M0               CCP1CON_bits.CCP1M0
 #define CCP1M1               CCP1CON_bits.CCP1M1
 #define CCP1M2               CCP1CON_bits.CCP1M2
 #define CCP1M3               CCP1CON_bits.CCP1M3
 #define DC1B0                CCP1CON_bits.DC1B0
 #define DC1B1                CCP1CON_bits.DC1B1
+#endif /* NO_BIT_DEFINES */
+
+// ----- CM1CON0 bits --------------------
+typedef union {
+  struct {
+    unsigned char C1CH0:1;
+    unsigned char C1CH1:1;
+    unsigned char C1R:1;
+    unsigned char C1SP:1;
+    unsigned char C1POL:1;
+    unsigned char C1OE:1;
+    unsigned char C1OUT:1;
+    unsigned char C1ON:1;
+  };
+} __CM1CON0_bits_t;
+extern volatile __CM1CON0_bits_t __at(CM1CON0_ADDR) CM1CON0_bits;
+
+#ifndef NO_BIT_DEFINES
+#define C1CH0                CM1CON0_bits.C1CH0
+#define C1CH1                CM1CON0_bits.C1CH1
+#define C1R                  CM1CON0_bits.C1R
+#define C1SP                 CM1CON0_bits.C1SP
+#define C1POL                CM1CON0_bits.C1POL
+#define C1OE                 CM1CON0_bits.C1OE
+#define C1OUT                CM1CON0_bits.C1OUT
+#define C1ON                 CM1CON0_bits.C1ON
+#endif /* NO_BIT_DEFINES */
+
+// ----- CM2CON0 bits --------------------
+typedef union {
+  struct {
+    unsigned char C2CH0:1;
+    unsigned char C2CH1:1;
+    unsigned char C2R:1;
+    unsigned char C2SP:1;
+    unsigned char C2POL:1;
+    unsigned char C2OE:1;
+    unsigned char C2OUT:1;
+    unsigned char C2ON:1;
+  };
+} __CM2CON0_bits_t;
+extern volatile __CM2CON0_bits_t __at(CM2CON0_ADDR) CM2CON0_bits;
+
+#ifndef NO_BIT_DEFINES
+#define C2CH0                CM2CON0_bits.C2CH0
+#define C2CH1                CM2CON0_bits.C2CH1
+#define C2R                  CM2CON0_bits.C2R
+#define C2SP                 CM2CON0_bits.C2SP
+#define C2POL                CM2CON0_bits.C2POL
+#define C2OE                 CM2CON0_bits.C2OE
+#define C2OUT                CM2CON0_bits.C2OUT
+#define C2ON                 CM2CON0_bits.C2ON
+#endif /* NO_BIT_DEFINES */
+
+// ----- CM2CON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char C2SYNC:1;
+    unsigned char T1GSS:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char MC2OUT:1;
+    unsigned char MC1OUT:1;
+  };
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char OPAON:1;
+  };
+} __CM2CON1_bits_t;
+extern volatile __CM2CON1_bits_t __at(CM2CON1_ADDR) CM2CON1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define C2SYNC               CM2CON1_bits.C2SYNC
+#define T1GSS                CM2CON1_bits.T1GSS
+#define MC2OUT               CM2CON1_bits.MC2OUT
+#define MC1OUT               CM2CON1_bits.MC1OUT
+#define OPAON                CM2CON1_bits.OPAON
+#endif /* NO_BIT_DEFINES */
+
+// ----- EECON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char RD:1;
+    unsigned char WR:1;
+    unsigned char WREN:1;
+    unsigned char WRERR:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __EECON1_bits_t;
+extern volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define RD                   EECON1_bits.RD
+#define WR                   EECON1_bits.WR
+#define WREN                 EECON1_bits.WREN
+#define WRERR                EECON1_bits.WRERR
+#endif /* NO_BIT_DEFINES */
 
 // ----- INTCON bits --------------------
 typedef union {
@@ -438,6 +592,7 @@ typedef union {
 } __INTCON_bits_t;
 extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define RAIF                 INTCON_bits.RAIF
 #define INTF                 INTCON_bits.INTF
 #define T0IF                 INTCON_bits.T0IF
@@ -446,6 +601,55 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define T0IE                 INTCON_bits.T0IE
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
+#endif /* NO_BIT_DEFINES */
+
+// ----- IOC bits --------------------
+typedef union {
+  struct {
+    unsigned char IOC0:1;
+    unsigned char IOC1:1;
+    unsigned char IOC2:1;
+    unsigned char IOC3:1;
+    unsigned char IOC4:1;
+    unsigned char IOC5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOC_bits_t;
+extern volatile __IOC_bits_t __at(IOC_ADDR) IOC_bits;
+
+#ifndef NO_BIT_DEFINES
+#define IOC0                 IOC_bits.IOC0
+#define IOC1                 IOC_bits.IOC1
+#define IOC2                 IOC_bits.IOC2
+#define IOC3                 IOC_bits.IOC3
+#define IOC4                 IOC_bits.IOC4
+#define IOC5                 IOC_bits.IOC5
+#endif /* NO_BIT_DEFINES */
+
+// ----- IOCA bits --------------------
+typedef union {
+  struct {
+    unsigned char IOCA0:1;
+    unsigned char IOCA1:1;
+    unsigned char IOCA2:1;
+    unsigned char IOCA3:1;
+    unsigned char IOCA4:1;
+    unsigned char IOCA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOCA_bits_t;
+extern volatile __IOCA_bits_t __at(IOCA_ADDR) IOCA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define IOCA0                IOCA_bits.IOCA0
+#define IOCA1                IOCA_bits.IOCA1
+#define IOCA2                IOCA_bits.IOCA2
+#define IOCA3                IOCA_bits.IOCA3
+#define IOCA4                IOCA_bits.IOCA4
+#define IOCA5                IOCA_bits.IOCA5
+#endif /* NO_BIT_DEFINES */
 
 // ----- OPTION_REG bits --------------------
 typedef union {
@@ -462,6 +666,7 @@ typedef union {
 } __OPTION_REG_bits_t;
 extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 
+#ifndef NO_BIT_DEFINES
 #define PS0                  OPTION_REG_bits.PS0
 #define PS1                  OPTION_REG_bits.PS1
 #define PS2                  OPTION_REG_bits.PS2
@@ -470,6 +675,7 @@ extern volatile __OPTION_REG_bits_t __at(OPTION_REG_ADDR) OPTION_REG_bits;
 #define T0CS                 OPTION_REG_bits.T0CS
 #define INTEDG               OPTION_REG_bits.INTEDG
 #define NOT_RAPU             OPTION_REG_bits.NOT_RAPU
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCCON bits --------------------
 typedef union {
@@ -486,6 +692,7 @@ typedef union {
 } __OSCCON_bits_t;
 extern volatile __OSCCON_bits_t __at(OSCCON_ADDR) OSCCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SCS                  OSCCON_bits.SCS
 #define LTS                  OSCCON_bits.LTS
 #define HTS                  OSCCON_bits.HTS
@@ -493,6 +700,7 @@ extern volatile __OSCCON_bits_t __at(OSCCON_ADDR) OSCCON_bits;
 #define IRCF0                OSCCON_bits.IRCF0
 #define IRCF1                OSCCON_bits.IRCF1
 #define IRCF2                OSCCON_bits.IRCF2
+#endif /* NO_BIT_DEFINES */
 
 // ----- OSCTUNE bits --------------------
 typedef union {
@@ -512,56 +720,6 @@ typedef union {
     unsigned char ANS2:1;
     unsigned char ANS3:1;
     unsigned char ANS4:1;
-    unsigned char WPUA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char ANS8:1;
-    unsigned char ANS9:1;
-    unsigned char ANS10:1;
-    unsigned char ANS11:1;
-    unsigned char WPUA4:1;
-    unsigned char IOC5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char WPUA0:1;
-    unsigned char WPUA1:1;
-    unsigned char WPUA2:1;
-    unsigned char WPUA3:1;
-    unsigned char IOC4:1;
-    unsigned char IOCA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char IOC0:1;
-    unsigned char IOC1:1;
-    unsigned char IOC2:1;
-    unsigned char IOC3:1;
-    unsigned char IOCA4:1;
-    unsigned char BGST:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char IOCA0:1;
-    unsigned char IOCA1:1;
-    unsigned char IOCA2:1;
-    unsigned char IOCA3:1;
-    unsigned char VRBB:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char :1;
-    unsigned char CVROE:1;
-    unsigned char VROE:1;
-    unsigned char VREN:1;
-    unsigned char :1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
@@ -569,46 +727,21 @@ typedef union {
 } __OSCTUNE_bits_t;
 extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TUN0                 OSCTUNE_bits.TUN0
 #define ANS0                 OSCTUNE_bits.ANS0
-#define ANS8                 OSCTUNE_bits.ANS8
-#define WPUA0                OSCTUNE_bits.WPUA0
-#define IOC0                 OSCTUNE_bits.IOC0
-#define IOCA0                OSCTUNE_bits.IOCA0
 #define TUN1                 OSCTUNE_bits.TUN1
 #define ANS1                 OSCTUNE_bits.ANS1
-#define ANS9                 OSCTUNE_bits.ANS9
-#define WPUA1                OSCTUNE_bits.WPUA1
-#define IOC1                 OSCTUNE_bits.IOC1
-#define IOCA1                OSCTUNE_bits.IOCA1
-#define CVROE                OSCTUNE_bits.CVROE
 #define TUN2                 OSCTUNE_bits.TUN2
 #define ANS2                 OSCTUNE_bits.ANS2
-#define ANS10                OSCTUNE_bits.ANS10
-#define WPUA2                OSCTUNE_bits.WPUA2
-#define IOC2                 OSCTUNE_bits.IOC2
-#define IOCA2                OSCTUNE_bits.IOCA2
-#define VROE                 OSCTUNE_bits.VROE
 #define TUN3                 OSCTUNE_bits.TUN3
 #define ANS3                 OSCTUNE_bits.ANS3
-#define ANS11                OSCTUNE_bits.ANS11
-#define WPUA3                OSCTUNE_bits.WPUA3
-#define IOC3                 OSCTUNE_bits.IOC3
-#define IOCA3                OSCTUNE_bits.IOCA3
-#define VREN                 OSCTUNE_bits.VREN
 #define TUN4                 OSCTUNE_bits.TUN4
 #define ANS4                 OSCTUNE_bits.ANS4
-#define WPUA4                OSCTUNE_bits.WPUA4
-#define IOC4                 OSCTUNE_bits.IOC4
-#define IOCA4                OSCTUNE_bits.IOCA4
-#define VRBB                 OSCTUNE_bits.VRBB
 #define ANS5                 OSCTUNE_bits.ANS5
-#define WPUA5                OSCTUNE_bits.WPUA5
-#define IOC5                 OSCTUNE_bits.IOC5
-#define IOCA5                OSCTUNE_bits.IOCA5
-#define BGST                 OSCTUNE_bits.BGST
 #define ANS6                 OSCTUNE_bits.ANS6
 #define ANS7                 OSCTUNE_bits.ANS7
+#endif /* NO_BIT_DEFINES */
 
 // ----- PCON bits --------------------
 typedef union {
@@ -635,11 +768,13 @@ typedef union {
 } __PCON_bits_t;
 extern volatile __PCON_bits_t __at(PCON_ADDR) PCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define NOT_BOD              PCON_bits.NOT_BOD
 #define NOT_BOR              PCON_bits.NOT_BOR
 #define NOT_POR              PCON_bits.NOT_POR
 #define SBODEN               PCON_bits.SBODEN
 #define SBOREN               PCON_bits.SBOREN
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIE1 bits --------------------
 typedef union {
@@ -666,6 +801,7 @@ typedef union {
 } __PIE1_bits_t;
 extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T1IE                 PIE1_bits.T1IE
 #define TMR1IE               PIE1_bits.TMR1IE
 #define T2IE                 PIE1_bits.T2IE
@@ -676,6 +812,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define CCP1IE               PIE1_bits.CCP1IE
 #define ADIE                 PIE1_bits.ADIE
 #define EEIE                 PIE1_bits.EEIE
+#endif /* NO_BIT_DEFINES */
 
 // ----- PIR1 bits --------------------
 typedef union {
@@ -702,6 +839,7 @@ typedef union {
 } __PIR1_bits_t;
 extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T1IF                 PIR1_bits.T1IF
 #define TMR1IF               PIR1_bits.TMR1IF
 #define T2IF                 PIR1_bits.T2IF
@@ -712,6 +850,201 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define CCP1IF               PIR1_bits.CCP1IF
 #define ADIF                 PIR1_bits.ADIF
 #define EEIF                 PIR1_bits.EEIF
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
+
+// ----- PWMCLK bits --------------------
+typedef union {
+  struct {
+    unsigned char PER0:1;
+    unsigned char PER1:1;
+    unsigned char PER2:1;
+    unsigned char PER3:1;
+    unsigned char PER4:1;
+    unsigned char PWMP0:1;
+    unsigned char PWMP1:1;
+    unsigned char PWMASE:1;
+  };
+  struct {
+    unsigned char PH0:1;
+    unsigned char PH1:1;
+    unsigned char PH2:1;
+    unsigned char PH3:1;
+    unsigned char PH4:1;
+    unsigned char C1EN:1;
+    unsigned char C2EN:1;
+    unsigned char POL:1;
+  };
+} __PWMCLK_bits_t;
+extern volatile __PWMCLK_bits_t __at(PWMCLK_ADDR) PWMCLK_bits;
+
+#ifndef NO_BIT_DEFINES
+#define PER0                 PWMCLK_bits.PER0
+#define PH0                  PWMCLK_bits.PH0
+#define PER1                 PWMCLK_bits.PER1
+#define PH1                  PWMCLK_bits.PH1
+#define PER2                 PWMCLK_bits.PER2
+#define PH2                  PWMCLK_bits.PH2
+#define PER3                 PWMCLK_bits.PER3
+#define PH3                  PWMCLK_bits.PH3
+#define PER4                 PWMCLK_bits.PER4
+#define PH4                  PWMCLK_bits.PH4
+#define PWMP0                PWMCLK_bits.PWMP0
+#define C1EN                 PWMCLK_bits.C1EN
+#define PWMP1                PWMCLK_bits.PWMP1
+#define C2EN                 PWMCLK_bits.C2EN
+#define PWMASE               PWMCLK_bits.PWMASE
+#define POL                  PWMCLK_bits.POL
+#endif /* NO_BIT_DEFINES */
+
+// ----- PWMCON0 bits --------------------
+typedef union {
+  struct {
+    unsigned char PH1EN:1;
+    unsigned char PH2EN:1;
+    unsigned char SYNC0:1;
+    unsigned char SYNC1:1;
+    unsigned char BLANK1:1;
+    unsigned char BLANK2:1;
+    unsigned char PASEN:1;
+    unsigned char PRSEN:1;
+  };
+} __PWMCON0_bits_t;
+extern volatile __PWMCON0_bits_t __at(PWMCON0_ADDR) PWMCON0_bits;
+
+#ifndef NO_BIT_DEFINES
+#define PH1EN                PWMCON0_bits.PH1EN
+#define PH2EN                PWMCON0_bits.PH2EN
+#define SYNC0                PWMCON0_bits.SYNC0
+#define SYNC1                PWMCON0_bits.SYNC1
+#define BLANK1               PWMCON0_bits.BLANK1
+#define BLANK2               PWMCON0_bits.BLANK2
+#define PASEN                PWMCON0_bits.PASEN
+#define PRSEN                PWMCON0_bits.PRSEN
+#endif /* NO_BIT_DEFINES */
+
+// ----- PWMCON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char CMDLY0:1;
+    unsigned char CMDLY1:1;
+    unsigned char CMDLY2:1;
+    unsigned char CMDLY3:1;
+    unsigned char CMDLY4:1;
+    unsigned char COMOD0:1;
+    unsigned char COMOD1:1;
+    unsigned char :1;
+  };
+} __PWMCON1_bits_t;
+extern volatile __PWMCON1_bits_t __at(PWMCON1_ADDR) PWMCON1_bits;
+
+#ifndef NO_BIT_DEFINES
+#define CMDLY0               PWMCON1_bits.CMDLY0
+#define CMDLY1               PWMCON1_bits.CMDLY1
+#define CMDLY2               PWMCON1_bits.CMDLY2
+#define CMDLY3               PWMCON1_bits.CMDLY3
+#define CMDLY4               PWMCON1_bits.CMDLY4
+#define COMOD0               PWMCON1_bits.COMOD0
+#define COMOD1               PWMCON1_bits.COMOD1
+#endif /* NO_BIT_DEFINES */
+
+// ----- REFCON bits --------------------
+typedef union {
+  struct {
+    unsigned char :1;
+    unsigned char CVROE:1;
+    unsigned char VROE:1;
+    unsigned char VREN:1;
+    unsigned char VRBB:1;
+    unsigned char BGST:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __REFCON_bits_t;
+extern volatile __REFCON_bits_t __at(REFCON_ADDR) REFCON_bits;
+
+#ifndef NO_BIT_DEFINES
+#define CVROE                REFCON_bits.CVROE
+#define VROE                 REFCON_bits.VROE
+#define VREN                 REFCON_bits.VREN
+#define VRBB                 REFCON_bits.VRBB
+#define BGST                 REFCON_bits.BGST
+#endif /* NO_BIT_DEFINES */
 
 // ----- STATUS bits --------------------
 typedef union {
@@ -728,6 +1061,7 @@ typedef union {
 } __STATUS_bits_t;
 extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 
+#ifndef NO_BIT_DEFINES
 #define C                    STATUS_bits.C
 #define DC                   STATUS_bits.DC
 #define Z                    STATUS_bits.Z
@@ -736,6 +1070,7 @@ extern volatile __STATUS_bits_t __at(STATUS_ADDR) STATUS_bits;
 #define RP0                  STATUS_bits.RP0
 #define RP1                  STATUS_bits.RP1
 #define IRP                  STATUS_bits.IRP
+#endif /* NO_BIT_DEFINES */
 
 // ----- T1CON bits --------------------
 typedef union {
@@ -762,6 +1097,7 @@ typedef union {
 } __T1CON_bits_t;
 extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define TMR1ON               T1CON_bits.TMR1ON
 #define TMR1CS               T1CON_bits.TMR1CS
 #define NOT_T1SYNC           T1CON_bits.NOT_T1SYNC
@@ -771,6 +1107,7 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define TMR1GE               T1CON_bits.TMR1GE
 #define T1GE                 T1CON_bits.T1GE
 #define T1GINV               T1CON_bits.T1GINV
+#endif /* NO_BIT_DEFINES */
 
 // ----- T2CON bits --------------------
 typedef union {
@@ -787,6 +1124,7 @@ typedef union {
 } __T2CON_bits_t;
 extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define T2CKPS0              T2CON_bits.T2CKPS0
 #define T2CKPS1              T2CON_bits.T2CKPS1
 #define TMR2ON               T2CON_bits.TMR2ON
@@ -794,6 +1132,83 @@ extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 #define TOUTPS1              T2CON_bits.TOUTPS1
 #define TOUTPS2              T2CON_bits.TOUTPS2
 #define TOUTPS3              T2CON_bits.TOUTPS3
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
+
+// ----- 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;
+
+#ifndef NO_BIT_DEFINES
+#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
+#endif /* NO_BIT_DEFINES */
 
 // ----- VRCON bits --------------------
 typedef union {
@@ -802,160 +1217,23 @@ typedef union {
     unsigned char VR1:1;
     unsigned char VR2:1;
     unsigned char VR3:1;
-    unsigned char ADCS0:1;
+    unsigned char :1;
     unsigned char VRR:1;
     unsigned char C2VREN:1;
     unsigned char C1VREN:1;
   };
-  struct {
-    unsigned char RD:1;
-    unsigned char WR:1;
-    unsigned char WREN:1;
-    unsigned char WRERR:1;
-    unsigned char CMDLY4:1;
-    unsigned char ADCS1:1;
-    unsigned char ADCS2:1;
-    unsigned char PRSEN:1;
-  };
-  struct {
-    unsigned char CMDLY0:1;
-    unsigned char CMDLY1:1;
-    unsigned char CMDLY2:1;
-    unsigned char CMDLY3:1;
-    unsigned char BLANK1:1;
-    unsigned char COMOD0:1;
-    unsigned char COMOD1:1;
-    unsigned char PWMASE:1;
-  };
-  struct {
-    unsigned char PH1EN:1;
-    unsigned char PH2EN:1;
-    unsigned char SYNC0:1;
-    unsigned char SYNC1:1;
-    unsigned char PER4:1;
-    unsigned char BLANK2:1;
-    unsigned char PASEN:1;
-    unsigned char POL:1;
-  };
-  struct {
-    unsigned char PER0:1;
-    unsigned char PER1:1;
-    unsigned char PER2:1;
-    unsigned char PER3:1;
-    unsigned char PH4:1;
-    unsigned char PWMP0:1;
-    unsigned char PWMP1:1;
-    unsigned char C1ON:1;
-  };
-  struct {
-    unsigned char PH0:1;
-    unsigned char PH1:1;
-    unsigned char PH2:1;
-    unsigned char PH3:1;
-    unsigned char C1POL:1;
-    unsigned char C1EN:1;
-    unsigned char C2EN:1;
-    unsigned char C2ON:1;
-  };
-  struct {
-    unsigned char C1CH0:1;
-    unsigned char C1CH1:1;
-    unsigned char C1R:1;
-    unsigned char C1SP:1;
-    unsigned char C2POL:1;
-    unsigned char C1OE:1;
-    unsigned char C1OUT:1;
-    unsigned char MC1OUT:1;
-  };
-  struct {
-    unsigned char C2CH0:1;
-    unsigned char C2CH1:1;
-    unsigned char C2R:1;
-    unsigned char C2SP:1;
-    unsigned char :1;
-    unsigned char C2OE:1;
-    unsigned char C2OUT:1;
-    unsigned char OPAON:1;
-  };
-  struct {
-    unsigned char C2SYNC:1;
-    unsigned char T1GSS:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char MC2OUT:1;
-    unsigned char :1;
-  };
 } __VRCON_bits_t;
 extern volatile __VRCON_bits_t __at(VRCON_ADDR) VRCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define VR0                  VRCON_bits.VR0
-#define RD                   VRCON_bits.RD
-#define CMDLY0               VRCON_bits.CMDLY0
-#define PH1EN                VRCON_bits.PH1EN
-#define PER0                 VRCON_bits.PER0
-#define PH0                  VRCON_bits.PH0
-#define C1CH0                VRCON_bits.C1CH0
-#define C2CH0                VRCON_bits.C2CH0
-#define C2SYNC               VRCON_bits.C2SYNC
 #define VR1                  VRCON_bits.VR1
-#define WR                   VRCON_bits.WR
-#define CMDLY1               VRCON_bits.CMDLY1
-#define PH2EN                VRCON_bits.PH2EN
-#define PER1                 VRCON_bits.PER1
-#define PH1                  VRCON_bits.PH1
-#define C1CH1                VRCON_bits.C1CH1
-#define C2CH1                VRCON_bits.C2CH1
-#define T1GSS                VRCON_bits.T1GSS
 #define VR2                  VRCON_bits.VR2
-#define WREN                 VRCON_bits.WREN
-#define CMDLY2               VRCON_bits.CMDLY2
-#define SYNC0                VRCON_bits.SYNC0
-#define PER2                 VRCON_bits.PER2
-#define PH2                  VRCON_bits.PH2
-#define C1R                  VRCON_bits.C1R
-#define C2R                  VRCON_bits.C2R
 #define VR3                  VRCON_bits.VR3
-#define WRERR                VRCON_bits.WRERR
-#define CMDLY3               VRCON_bits.CMDLY3
-#define SYNC1                VRCON_bits.SYNC1
-#define PER3                 VRCON_bits.PER3
-#define PH3                  VRCON_bits.PH3
-#define C1SP                 VRCON_bits.C1SP
-#define C2SP                 VRCON_bits.C2SP
-#define ADCS0                VRCON_bits.ADCS0
-#define CMDLY4               VRCON_bits.CMDLY4
-#define BLANK1               VRCON_bits.BLANK1
-#define PER4                 VRCON_bits.PER4
-#define PH4                  VRCON_bits.PH4
-#define C1POL                VRCON_bits.C1POL
-#define C2POL                VRCON_bits.C2POL
 #define VRR                  VRCON_bits.VRR
-#define ADCS1                VRCON_bits.ADCS1
-#define COMOD0               VRCON_bits.COMOD0
-#define BLANK2               VRCON_bits.BLANK2
-#define PWMP0                VRCON_bits.PWMP0
-#define C1EN                 VRCON_bits.C1EN
-#define C1OE                 VRCON_bits.C1OE
-#define C2OE                 VRCON_bits.C2OE
 #define C2VREN               VRCON_bits.C2VREN
-#define ADCS2                VRCON_bits.ADCS2
-#define COMOD1               VRCON_bits.COMOD1
-#define PASEN                VRCON_bits.PASEN
-#define PWMP1                VRCON_bits.PWMP1
-#define C2EN                 VRCON_bits.C2EN
-#define C1OUT                VRCON_bits.C1OUT
-#define C2OUT                VRCON_bits.C2OUT
-#define MC2OUT               VRCON_bits.MC2OUT
 #define C1VREN               VRCON_bits.C1VREN
-#define PRSEN                VRCON_bits.PRSEN
-#define PWMASE               VRCON_bits.PWMASE
-#define POL                  VRCON_bits.POL
-#define C1ON                 VRCON_bits.C1ON
-#define C2ON                 VRCON_bits.C2ON
-#define MC1OUT               VRCON_bits.MC1OUT
-#define OPAON                VRCON_bits.OPAON
+#endif /* NO_BIT_DEFINES */
 
 // ----- WDTCON bits --------------------
 typedef union {
@@ -972,10 +1250,36 @@ typedef union {
 } __WDTCON_bits_t;
 extern volatile __WDTCON_bits_t __at(WDTCON_ADDR) WDTCON_bits;
 
+#ifndef NO_BIT_DEFINES
 #define SWDTEN               WDTCON_bits.SWDTEN
 #define WDTPS0               WDTCON_bits.WDTPS0
 #define WDTPS1               WDTCON_bits.WDTPS1
 #define WDTPS2               WDTCON_bits.WDTPS2
 #define WDTPS3               WDTCON_bits.WDTPS3
+#endif /* NO_BIT_DEFINES */
+
+// ----- WPUA bits --------------------
+typedef union {
+  struct {
+    unsigned char WPUA0:1;
+    unsigned char WPUA1:1;
+    unsigned char WPUA2:1;
+    unsigned char WPUA3:1;
+    unsigned char WPUA4:1;
+    unsigned char WPUA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __WPUA_bits_t;
+extern volatile __WPUA_bits_t __at(WPUA_ADDR) WPUA_bits;
+
+#ifndef NO_BIT_DEFINES
+#define WPUA0                WPUA_bits.WPUA0
+#define WPUA1                WPUA_bits.WPUA1
+#define WPUA2                WPUA_bits.WPUA2
+#define WPUA3                WPUA_bits.WPUA3
+#define WPUA4                WPUA_bits.WPUA4
+#define WPUA5                WPUA_bits.WPUA5
+#endif /* NO_BIT_DEFINES */
 
 #endif