]> git.gag.com Git - fw/sdcc/blobdiff - device/include/pic/pic16f639.h
* device/lib/pic/libdev/devices.txt: device list for mkall.sh
[fw/sdcc] / device / include / pic / pic16f639.h
index dc998fcb494cc5f1dd0c322d51374bbb1a61e664..817d1ecbb289024f12521aa1cb52907f28ab3796 100644 (file)
@@ -4,7 +4,7 @@
 //
 // 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 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 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 WDTCON_ADDR WDTCON_ADDR SFR 0x000       // WDTCON
-#pragma memmap CMCON0_ADDR CMCON0_ADDR SFR 0x000       // CMCON0
-#pragma memmap CMCON1_ADDR CMCON1_ADDR SFR 0x000       // CMCON1
-#pragma memmap OPTION_REG_ADDR OPTION_REG_ADDR SFR 0x000       // OPTION_REG
-#pragma memmap TRISA_ADDR TRISA_ADDR SFR 0x000 // TRISA
-#pragma memmap TRISC_ADDR TRISC_ADDR SFR 0x000 // TRISC
-#pragma memmap PIE1_ADDR PIE1_ADDR SFR 0x000   // PIE1
-#pragma memmap PCON_ADDR PCON_ADDR SFR 0x000   // PCON
-#pragma memmap OSCCON_ADDR OSCCON_ADDR SFR 0x000       // OSCCON
-#pragma memmap OSCTUNE_ADDR OSCTUNE_ADDR SFR 0x000     // OSCTUNE
-#pragma memmap LVDCON_ADDR LVDCON_ADDR SFR 0x000       // LVDCON
-#pragma memmap WPUDA_ADDR WPUDA_ADDR SFR 0x000 // WPUDA
-#pragma memmap IOCA_ADDR IOCA_ADDR SFR 0x000   // IOCA
-#pragma memmap WDA_ADDR WDA_ADDR SFR 0x000     // WDA
-#pragma memmap VRCON_ADDR VRCON_ADDR SFR 0x000 // VRCON
-#pragma memmap EEDAT_ADDR EEDAT_ADDR SFR 0x000 // EEDAT
-#pragma memmap EEDATA_ADDR EEDATA_ADDR SFR 0x000       // EEDATA
-#pragma memmap EEADR_ADDR EEADR_ADDR SFR 0x000 // EEADR
-#pragma memmap EECON1_ADDR EECON1_ADDR SFR 0x000       // EECON1
-#pragma memmap EECON2_ADDR EECON2_ADDR SFR 0x000       // EECON2
-#pragma memmap CRCON_ADDR CRCON_ADDR SFR 0x000 // CRCON
-#pragma memmap CRDAT0_ADDR CRDAT0_ADDR SFR 0x000       // CRDAT0
-#pragma memmap CRDAT1_ADDR CRDAT1_ADDR SFR 0x000       // CRDAT1
-#pragma memmap CRDAT2_ADDR CRDAT2_ADDR SFR 0x000       // CRDAT2
-#pragma memmap CRDAT3_ADDR CRDAT3_ADDR SFR 0x000       // CRDAT3
 
 
 //         LIST
@@ -165,18 +127,20 @@ extern __sfr  __at (PCLATH_ADDR)                  PCLATH;
 extern __sfr  __at (INTCON_ADDR)                  INTCON;
 extern __sfr  __at (PIR1_ADDR)                    PIR1;
 
-extern __sfr  __at (TMR1L_ADDR)                   TMR1L;
-extern __sfr  __at (TMR1H_ADDR)                   TMR1H;
-extern __sfr  __at (T1CON_ADDR)                   T1CON;
+extern __sfr  __at (TMR1L_ADDR)                   TMR1L;               
+extern __sfr  __at (TMR1H_ADDR)                   TMR1H;               
+extern __sfr  __at (T1CON_ADDR)                   T1CON;               
 
 extern __sfr  __at (WDTCON_ADDR)                  WDTCON;
-extern __sfr  __at (CMCON0_ADDR)                  CMCON0;
-extern __sfr  __at (CMCON1_ADDR)                  CMCON1;
+extern __sfr  __at (CMCON0_ADDR)                  CMCON0;              
+extern __sfr  __at (CMCON1_ADDR)                  CMCON1;              
 
 //Bank 1
 extern __sfr  __at (OPTION_REG_ADDR)              OPTION_REG;
+
 extern __sfr  __at (TRISA_ADDR)                   TRISA;
 extern __sfr  __at (TRISC_ADDR)                   TRISC;
+
 extern __sfr  __at (PIE1_ADDR)                    PIE1;
 
 extern __sfr  __at (PCON_ADDR)                    PCON;
@@ -189,9 +153,9 @@ extern __sfr  __at (IOCA_ADDR)                    IOCA;
 extern __sfr  __at (WDA_ADDR)                     WDA;
 
 extern __sfr  __at (VRCON_ADDR)                   VRCON;
-extern __sfr  __at (EEDAT_ADDR)                   EEDAT;        
-extern __sfr  __at (EEDATA_ADDR)                  EEDATA;        
-extern __sfr  __at (EEADR_ADDR)                   EEADR;        
+extern __sfr  __at (EEDAT_ADDR)                   EEDAT;       
+extern __sfr  __at (EEDATA_ADDR)                  EEDATA;      
+extern __sfr  __at (EEADR_ADDR)                   EEADR;       
 extern __sfr  __at (EECON1_ADDR)                  EECON1;
 extern __sfr  __at (EECON2_ADDR)                  EECON2;
 
@@ -270,8 +234,8 @@ extern __sfr  __at (CRDAT3_ADDR)                  CRDAT3;
 //         __MAXRAM H'1FF'
 //         __BADRAM H'06', H'08'-H'09', H'0D', H'11'-H'17', H'1B'-H'1F'
 //         __BADRAM H'86', H'88'-H'89', H'8D', H'91'-H'93', H'98', H'9E'-H'9F', H'C0'-H'EF'
-//         __BADRAM H'10C'-H'10F', H'115'-H'16F', H'106', H'108'-H'109', H'186'
-//         __BADRAM H'188'-H'189', H'18C'-H'1EF'
+//             __BADRAM H'10C'-H'10F', H'115'-H'16F', H'106', H'108'-H'109', H'186'
+//             __BADRAM H'188'-H'189', H'18C'-H'1EF'
 
 //==========================================================================
 //
@@ -351,6 +315,46 @@ extern volatile __CMCON1_bits_t __at(CMCON1_ADDR) CMCON1_bits;
 #define C2SYNC               CMCON1_bits.C2SYNC
 #define T1GSS                CMCON1_bits.T1GSS
 
+// ----- CRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char CRREG0:1;
+    unsigned char CRREG1:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char ENC_DEC:1;
+    unsigned char GO:1;
+  };
+} __CRCON_bits_t;
+extern volatile __CRCON_bits_t __at(CRCON_ADDR) CRCON_bits;
+
+#define CRREG0               CRCON_bits.CRREG0
+#define CRREG1               CRCON_bits.CRREG1
+#define ENC_DEC              CRCON_bits.ENC_DEC
+#define GO                   CRCON_bits.GO
+
+// ----- 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;
+
+#define RD                   EECON1_bits.RD
+#define WR                   EECON1_bits.WR
+#define WREN                 EECON1_bits.WREN
+#define WRERR                EECON1_bits.WRERR
+
 // ----- INTCON bits --------------------
 typedef union {
   struct {
@@ -375,6 +379,49 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
 
+// ----- 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;
+
+#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
+
+// ----- LVDCON bits --------------------
+typedef union {
+  struct {
+    unsigned char LVDL0:1;
+    unsigned char LVDL1:1;
+    unsigned char LVDL2:1;
+    unsigned char :1;
+    unsigned char LVDEN:1;
+    unsigned char IRVST:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __LVDCON_bits_t;
+extern volatile __LVDCON_bits_t __at(LVDCON_ADDR) LVDCON_bits;
+
+#define LVDL0                LVDCON_bits.LVDL0
+#define LVDL1                LVDCON_bits.LVDL1
+#define LVDL2                LVDCON_bits.LVDL2
+#define LVDEN                LVDCON_bits.LVDEN
+#define IRVST                LVDCON_bits.IRVST
+
 // ----- OPTION_REG bits --------------------
 typedef union {
   struct {
@@ -430,76 +477,6 @@ typedef union {
     unsigned char TUN2:1;
     unsigned char TUN3:1;
     unsigned char TUN4:1;
-    unsigned char IOCA5:1;
-    unsigned char ENC_DEC:1;
-    unsigned char VREN:1;
-  };
-  struct {
-    unsigned char IOCA0:1;
-    unsigned char IOCA1:1;
-    unsigned char IOCA2:1;
-    unsigned char IOCA3:1;
-    unsigned char IOCA4:1;
-    unsigned char VRR:1;
-    unsigned char :1;
-    unsigned char GO:1;
-  };
-  struct {
-    unsigned char RD:1;
-    unsigned char WR:1;
-    unsigned char WREN:1;
-    unsigned char WRERR:1;
-    unsigned char LVDEN:1;
-    unsigned char IRVST:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char VR0:1;
-    unsigned char VR1:1;
-    unsigned char VR2:1;
-    unsigned char VR3:1;
-    unsigned char WDA4:1;
-    unsigned char WDA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char CRREG0:1;
-    unsigned char CRREG1:1;
-    unsigned char LVDL2:1;
-    unsigned char :1;
-    unsigned char WPUDA4:1;
-    unsigned char WPUDA5:1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char LVDL0:1;
-    unsigned char LVDL1:1;
-    unsigned char WDA2:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char WDA0:1;
-    unsigned char WDA1:1;
-    unsigned char WPUDA2:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
-  };
-  struct {
-    unsigned char WPUDA0:1;
-    unsigned char WPUDA1:1;
-    unsigned char :1;
-    unsigned char :1;
-    unsigned char :1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
@@ -508,45 +485,10 @@ typedef union {
 extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 
 #define TUN0                 OSCTUNE_bits.TUN0
-#define IOCA0                OSCTUNE_bits.IOCA0
-#define RD                   OSCTUNE_bits.RD
-#define VR0                  OSCTUNE_bits.VR0
-#define CRREG0               OSCTUNE_bits.CRREG0
-#define LVDL0                OSCTUNE_bits.LVDL0
-#define WDA0                 OSCTUNE_bits.WDA0
-#define WPUDA0               OSCTUNE_bits.WPUDA0
 #define TUN1                 OSCTUNE_bits.TUN1
-#define IOCA1                OSCTUNE_bits.IOCA1
-#define WR                   OSCTUNE_bits.WR
-#define VR1                  OSCTUNE_bits.VR1
-#define CRREG1               OSCTUNE_bits.CRREG1
-#define LVDL1                OSCTUNE_bits.LVDL1
-#define WDA1                 OSCTUNE_bits.WDA1
-#define WPUDA1               OSCTUNE_bits.WPUDA1
 #define TUN2                 OSCTUNE_bits.TUN2
-#define IOCA2                OSCTUNE_bits.IOCA2
-#define WREN                 OSCTUNE_bits.WREN
-#define VR2                  OSCTUNE_bits.VR2
-#define LVDL2                OSCTUNE_bits.LVDL2
-#define WDA2                 OSCTUNE_bits.WDA2
-#define WPUDA2               OSCTUNE_bits.WPUDA2
 #define TUN3                 OSCTUNE_bits.TUN3
-#define IOCA3                OSCTUNE_bits.IOCA3
-#define WRERR                OSCTUNE_bits.WRERR
-#define VR3                  OSCTUNE_bits.VR3
 #define TUN4                 OSCTUNE_bits.TUN4
-#define IOCA4                OSCTUNE_bits.IOCA4
-#define LVDEN                OSCTUNE_bits.LVDEN
-#define WDA4                 OSCTUNE_bits.WDA4
-#define WPUDA4               OSCTUNE_bits.WPUDA4
-#define IOCA5                OSCTUNE_bits.IOCA5
-#define VRR                  OSCTUNE_bits.VRR
-#define IRVST                OSCTUNE_bits.IRVST
-#define WDA5                 OSCTUNE_bits.WDA5
-#define WPUDA5               OSCTUNE_bits.WPUDA5
-#define ENC_DEC              OSCTUNE_bits.ENC_DEC
-#define VREN                 OSCTUNE_bits.VREN
-#define GO                   OSCTUNE_bits.GO
 
 // ----- PCON bits --------------------
 typedef union {
@@ -615,6 +557,52 @@ extern volatile __PIR1_bits_t __at(PIR1_ADDR) PIR1_bits;
 #define LVDIF                PIR1_bits.LVDIF
 #define EEIF                 PIR1_bits.EEIF
 
+// ----- 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
+
+// ----- 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
+
 // ----- STATUS bits --------------------
 typedef union {
   struct {
@@ -663,6 +651,95 @@ extern volatile __T1CON_bits_t __at(T1CON_ADDR) T1CON_bits;
 #define TMR1GE               T1CON_bits.TMR1GE
 #define T1GINV               T1CON_bits.T1GINV
 
+// ----- 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
+
+// ----- 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
+
+// ----- VRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char VR0:1;
+    unsigned char VR1:1;
+    unsigned char VR2:1;
+    unsigned char VR3:1;
+    unsigned char :1;
+    unsigned char VRR:1;
+    unsigned char :1;
+    unsigned char VREN:1;
+  };
+} __VRCON_bits_t;
+extern volatile __VRCON_bits_t __at(VRCON_ADDR) VRCON_bits;
+
+#define VR0                  VRCON_bits.VR0
+#define VR1                  VRCON_bits.VR1
+#define VR2                  VRCON_bits.VR2
+#define VR3                  VRCON_bits.VR3
+#define VRR                  VRCON_bits.VRR
+#define VREN                 VRCON_bits.VREN
+
+// ----- WDA bits --------------------
+typedef union {
+  struct {
+    unsigned char WDA0:1;
+    unsigned char WDA1:1;
+    unsigned char WDA2:1;
+    unsigned char :1;
+    unsigned char WDA4:1;
+    unsigned char WDA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __WDA_bits_t;
+extern volatile __WDA_bits_t __at(WDA_ADDR) WDA_bits;
+
+#define WDA0                 WDA_bits.WDA0
+#define WDA1                 WDA_bits.WDA1
+#define WDA2                 WDA_bits.WDA2
+#define WDA4                 WDA_bits.WDA4
+#define WDA5                 WDA_bits.WDA5
+
 // ----- WDTCON bits --------------------
 typedef union {
   struct {
@@ -684,4 +761,25 @@ extern volatile __WDTCON_bits_t __at(WDTCON_ADDR) WDTCON_bits;
 #define WDTPS2               WDTCON_bits.WDTPS2
 #define WDTPS3               WDTCON_bits.WDTPS3
 
+// ----- WPUDA bits --------------------
+typedef union {
+  struct {
+    unsigned char WPUDA0:1;
+    unsigned char WPUDA1:1;
+    unsigned char WPUDA2:1;
+    unsigned char :1;
+    unsigned char WPUDA4:1;
+    unsigned char WPUDA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __WPUDA_bits_t;
+extern volatile __WPUDA_bits_t __at(WPUDA_ADDR) WPUDA_bits;
+
+#define WPUDA0               WPUDA_bits.WPUDA0
+#define WPUDA1               WPUDA_bits.WPUDA1
+#define WPUDA2               WPUDA_bits.WPUDA2
+#define WPUDA4               WPUDA_bits.WPUDA4
+#define WPUDA5               WPUDA_bits.WPUDA5
+
 #endif