* device/lib/pic/libdev/*.c
[fw/sdcc] / device / include / pic / pic16f913.h
index 46fbf65b33162224632bfd49dd7db6db3a1bb847..c8e832b16b770f6b7eb5047435fac800a6a4b492 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4585
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
 
 
 //         LIST
-// P16F913.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
+// P16F913.INC  Standard Header File, Version 1.04    Microchip Technology, Inc.
 //         NOLIST
 
 // This header file defines configurations, registers, and other useful bits of
 //1.00   06/11/04 Initial Release 
 //1.01 06/18/04 Corrected typo in 'bad ram' section
 //1.02 08/16/04 Added EECON2
+//1.03 05/20/05 Removed EECON2 from badram
+//1.04   10/05/05 Correct names of bits in ANSEL, Add EEADRH and EEADRL bit 
+//                     definitions
 
 
 //==========================================================================
 
 //----- 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;
@@ -263,7 +266,7 @@ extern __sfr  __at (EECON2_ADDR)                  EECON2;
 //----- ADCON0 Bits --------------------------------------------------------
 
 
-//----- OPTION Bits -----------------------------------------------------
+//----- OPTION_REG Bits -----------------------------------------------------
 
 
 //----- PIE1 Bits ----------------------------------------------------------
@@ -381,6 +384,12 @@ extern __sfr  __at (EECON2_ADDR)                  EECON2;
 //----- EECON1 Bits --------------------------------------------------------
 
 
+//----- EEADRH Bits --------------------------------------------------------
+
+
+//----- EEADRL Bits --------------------------------------------------------
+
+
 
 //==========================================================================
 //
@@ -392,7 +401,7 @@ extern __sfr  __at (EECON2_ADDR)                  EECON2;
 //         __BADRAM H'08', H'1B'-H'1D'
 //         __BADRAM H'88', H'9A'-H'9B'
 //         __BADRAM H'112', H'115', H'118', H'11B',H'11E'-H'11F'
-//         __BADRAM H'185', H'187'-H'189', H'18D'-H'1EF'
+//         __BADRAM H'185', H'187'-H'189', H'18E'-H'1EF'
 
 //==========================================================================
 //
@@ -495,6 +504,16 @@ extern volatile __ADCON1_bits_t __at(ADCON1_ADDR) ADCON1_bits;
 
 // ----- ANSEL bits --------------------
 typedef union {
+  struct {
+    unsigned char ANS0:1;
+    unsigned char ANS1:1;
+    unsigned char ANS2:1;
+    unsigned char ANS3:1;
+    unsigned char ANS4:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
   struct {
     unsigned char AN0:1;
     unsigned char AN1:1;
@@ -508,10 +527,15 @@ typedef union {
 } __ANSEL_bits_t;
 extern volatile __ANSEL_bits_t __at(ANSEL_ADDR) ANSEL_bits;
 
+#define ANS0                 ANSEL_bits.ANS0
 #define AN0                  ANSEL_bits.AN0
+#define ANS1                 ANSEL_bits.ANS1
 #define AN1                  ANSEL_bits.AN1
+#define ANS2                 ANSEL_bits.ANS2
 #define AN2                  ANSEL_bits.AN2
+#define ANS3                 ANSEL_bits.ANS3
 #define AN3                  ANSEL_bits.AN3
+#define ANS4                 ANSEL_bits.ANS4
 #define AN4                  ANSEL_bits.AN4
 
 // ----- CCP1CON bits --------------------
@@ -578,6 +602,51 @@ extern volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits;
 #define C2SYNC               CMCON1_bits.C2SYNC
 #define T1GSS                CMCON1_bits.T1GSS
 
+// ----- EEADRH bits --------------------
+typedef union {
+  struct {
+    unsigned char EEADRH0:1;
+    unsigned char EEADRH1:1;
+    unsigned char EEADRH2:1;
+    unsigned char EEADRH3:1;
+    unsigned char EEADRH4:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __EEADRH_bits_t;
+extern volatile __EEADRH_bits_t __at(EEADRH_ADDR) EEADRH_bits;
+
+#define EEADRH0              EEADRH_bits.EEADRH0
+#define EEADRH1              EEADRH_bits.EEADRH1
+#define EEADRH2              EEADRH_bits.EEADRH2
+#define EEADRH3              EEADRH_bits.EEADRH3
+#define EEADRH4              EEADRH_bits.EEADRH4
+
+// ----- EEADRL bits --------------------
+typedef union {
+  struct {
+    unsigned char EEADRL0:1;
+    unsigned char EEADRL1:1;
+    unsigned char EEADRL2:1;
+    unsigned char EEADRL3:1;
+    unsigned char EEADRL4:1;
+    unsigned char EEADRL5:1;
+    unsigned char EEADRL6:1;
+    unsigned char EEADRL7:1;
+  };
+} __EEADRL_bits_t;
+extern volatile __EEADRL_bits_t __at(EEADRL_ADDR) EEADRL_bits;
+
+#define EEADRL0              EEADRL_bits.EEADRL0
+#define EEADRL1              EEADRL_bits.EEADRL1
+#define EEADRL2              EEADRL_bits.EEADRL2
+#define EEADRL3              EEADRL_bits.EEADRL3
+#define EEADRL4              EEADRL_bits.EEADRL4
+#define EEADRL5              EEADRL_bits.EEADRL5
+#define EEADRL6              EEADRL_bits.EEADRL6
+#define EEADRL7              EEADRL_bits.EEADRL7
+
 // ----- EECON1 bits --------------------
 typedef union {
   struct {
@@ -1364,6 +1433,95 @@ extern volatile __PIR2_bits_t __at(PIR2_ADDR) PIR2_bits;
 #define C2IF                 PIR2_bits.C2IF
 #define OSFIF                PIR2_bits.OSFIF
 
+// ----- 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
+
+// ----- PORTE bits --------------------
+typedef union {
+  struct {
+    unsigned char RE0:1;
+    unsigned char RE1:1;
+    unsigned char RE2:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PORTE_bits_t;
+extern volatile __PORTE_bits_t __at(PORTE_ADDR) PORTE_bits;
+
+#define RE0                  PORTE_bits.RE0
+#define RE1                  PORTE_bits.RE1
+#define RE2                  PORTE_bits.RE2
+
 // ----- RCSTA bits --------------------
 typedef union {
   struct {
@@ -1625,6 +1783,95 @@ extern volatile __T2CON_bits_t __at(T2CON_ADDR) T2CON_bits;
 #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
+
+// ----- TRISE bits --------------------
+typedef union {
+  struct {
+    unsigned char TRISE0:1;
+    unsigned char TRISE1:1;
+    unsigned char TRISE2:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __TRISE_bits_t;
+extern volatile __TRISE_bits_t __at(TRISE_ADDR) TRISE_bits;
+
+#define TRISE0               TRISE_bits.TRISE0
+#define TRISE1               TRISE_bits.TRISE1
+#define TRISE2               TRISE_bits.TRISE2
+
 // ----- TXSTA bits --------------------
 typedef union {
   struct {