2 * pic18f4620.c - PIC18F4620 Device Library Sources
4 * This file is part of the GNU PIC Library.
7 * Added modifications by
8 * Anton Strobl <a.strobl AT aws-it.at>
11 * Added based on existing PICs
12 * Gary Plumbridge <gary AT phodex.net>
15 * The GNU PIC Library is maintained by
16 * Raphael Neider <rneider AT web.de>
18 * originally designed by
19 * Vangelis Rokas <vrokas AT otenet.gr>
21 * $Id: pic18f4620.c 5085 2008-03-09 22:12:13Z tecodev $
25 #include <pic18f4620.h>
27 __sfr __at (0xF80) PORTA;
28 volatile __PORTA_t __at (0xF80) PORTAbits;
30 __sfr __at (0xF81) PORTB;
31 volatile __PORTB_t __at (0xF81) PORTBbits;
33 __sfr __at (0xF82) PORTC;
34 volatile __PORTC_t __at (0xF82) PORTCbits;
36 __sfr __at (0xF83) PORTD;
37 volatile __PORTD_t __at (0xF83) PORTDbits;
39 __sfr __at (0xF84) PORTE;
40 volatile __PORTE_t __at (0xF84) PORTEbits;
42 __sfr __at (0xF89) LATA;
43 volatile __LATA_t __at (0xF89) LATAbits;
45 __sfr __at (0xF8A) LATB;
46 volatile __LATB_t __at (0xF8A) LATBbits;
48 __sfr __at (0xF8B) LATC;
49 volatile __LATC_t __at (0xF8B) LATCbits;
51 __sfr __at (0xF8C) LATD;
52 volatile __LATD_t __at (0xF8C) LATDbits;
54 __sfr __at (0xF8D) LATE;
55 volatile __LATE_t __at (0xF8D) LATEbits;
57 __sfr __at (0xF92) TRISA;
58 volatile __TRISA_t __at (0xF92) TRISAbits;
60 __sfr __at (0xF93) TRISB;
61 volatile __TRISB_t __at (0xF93) TRISBbits;
63 __sfr __at (0xF94) TRISC;
64 volatile __TRISC_t __at (0xF94) TRISCbits;
66 __sfr __at (0xF95) TRISD;
67 volatile __TRISD_t __at (0xF95) TRISDbits;
69 __sfr __at (0xF96) TRISE;
70 volatile __TRISE_t __at (0xF96) TRISEbits;
72 __sfr __at (0xF9B) OSCTUNE;
73 volatile __OSCTUNE_t __at (0xF9B) OSCTUNEbits;
75 __sfr __at (0xF9D) PIE1;
76 volatile __PIE1_t __at (0xF9D) PIE1bits;
78 __sfr __at (0xF9E) PIR1;
79 volatile __PIR1_t __at (0xF9E) PIR1bits;
81 __sfr __at (0xF9F) IPR1;
82 volatile __IPR1_t __at (0xF9F) IPR1bits;
84 __sfr __at (0xFA0) PIE2;
85 volatile __PIE2_t __at (0xFA0) PIE2bits;
87 __sfr __at (0xFA1) PIR2;
88 volatile __PIR2_t __at (0xFA1) PIR2bits;
90 __sfr __at (0xFA2) IPR2;
91 volatile __IPR2_t __at (0xFA2) IPR2bits;
93 __sfr __at (0xFA6) EECON1;
94 volatile __EECON1_t __at (0xFA6) EECON1bits;
96 __sfr __at (0xFA7) EECON2;
98 __sfr __at (0xFA8) EEDATA;
100 __sfr __at (0xFA9) EEADR;
102 __sfr __at (0xFAA) EEADRH;
104 __sfr __at (0xFAB) RCSTA;
105 volatile __RCSTA_t __at (0xFAB) RCSTAbits;
107 __sfr __at (0xFAC) TXSTA;
108 volatile __TXSTA_t __at (0xFAC) TXSTAbits;
110 __sfr __at (0xFAD) TXREG;
112 __sfr __at (0xFAE) RCREG;
114 __sfr __at (0xFAF) SPBRG;
116 __sfr __at (0xFB0) SPBRGH;
118 __sfr __at (0xFB1) T3CON;
119 volatile __T3CON_t __at (0xFB1) T3CONbits;
121 __sfr __at (0xFB2) TMR3L;
123 __sfr __at (0xFB3) TMR3H;
125 __sfr __at (0xFB4) CMCON;
126 volatile __CMCON_t __at (0xFB4) CMCONbits;
128 __sfr __at (0xFB5) CVRCON;
129 volatile __CVRCON_t __at (0xFB5) CVRCONbits;
131 __sfr __at (0xFB6) ECCP1AS;
132 volatile __ECCP1AS_t __at (0xFB6) ECCP1ASbits;
134 __sfr __at (0xFB7) PWM1CON;
135 volatile __PWM1CON_t __at (0xFB7) PWM1CONbits;
137 __sfr __at (0xFB8) BAUDCON;
138 volatile __BAUDCON_t __at (0xFB8) BAUDCONbits;
140 __sfr __at (0xFBA) CCP2CON;
141 volatile __CCP2CON_t __at (0xFBA) CCP2CONbits;
143 __sfr __at (0xFBB) CCPR2L;
145 __sfr __at (0xFBC) CCPR2H;
147 __sfr __at (0xFBD) CCP1CON;
148 volatile __CCP1CON_t __at (0xFBD) CCP1CONbits;
150 __sfr __at (0xFBE) CCPR1L;
152 __sfr __at (0xFBF) CCPR1H;
154 __sfr __at (0xFC0) ADCON2;
155 volatile __ADCON2_t __at (0xFC0) ADCON2bits;
157 __sfr __at (0xFC1) ADCON1;
158 volatile __ADCON1_t __at (0xFC1) ADCON1bits;
160 __sfr __at (0xFC2) ADCON0;
161 volatile __ADCON0_t __at (0xFC2) ADCON0bits;
163 __sfr __at (0xFC3) ADRESL;
165 __sfr __at (0xFC4) ADRESH;
167 __sfr __at (0xFC5) SSPCON2;
168 volatile __SSPCON2_t __at (0xFC5) SSPCON2bits;
170 __sfr __at (0xFC6) SSPCON1;
171 volatile __SSPCON1_t __at (0xFC6) SSPCON1bits;
173 __sfr __at (0xFC7) SSPSTAT;
174 volatile __SSPSTAT_t __at (0xFC7) SSPSTATbits;
176 __sfr __at (0xFC8) SSPADD;
178 __sfr __at (0xFC9) SSPBUF;
180 __sfr __at (0xFCA) T2CON;
181 volatile __T2CON_t __at (0xFCA) T2CONbits;
183 __sfr __at (0xFCB) PR2;
185 __sfr __at (0xFCC) TMR2;
187 __sfr __at (0xFCD) T1CON;
188 volatile __T1CON_t __at (0xFCD) T1CONbits;
190 __sfr __at (0xFCE) TMR1L;
192 __sfr __at (0xFCF) TMR1H;
194 __sfr __at (0xFD0) RCON;
195 volatile __RCON_t __at (0xFD0) RCONbits;
197 __sfr __at (0xFD1) WDTCON;
198 volatile __WDTCON_t __at (0xFD1) WDTCONbits;
200 __sfr __at (0xFD2) HLVDCON;
201 volatile __HLVDCON_t __at (0xFD2) HLVDCONbits;
203 __sfr __at (0xFD3) OSCCON;
204 volatile __OSCCON_t __at (0xFD3) OSCCONbits;
206 __sfr __at (0xFD5) T0CON;
207 volatile __T0CON_t __at (0xFD5) T0CONbits;
209 __sfr __at (0xFD6) TMR0L;
211 __sfr __at (0xFD7) TMR0H;
213 __sfr __at (0xFD8) STATUS;
214 volatile __STATUS_t __at (0xFD8) STATUSbits;
216 __sfr __at (0xFD9) FSR2L;
218 __sfr __at (0xFDA) FSR2H;
219 volatile __FSR2H_t __at (0xFDA) FSR2Hbits;
221 __sfr __at (0xFDB) PLUSW2;
223 __sfr __at (0xFDC) PREINC2;
225 __sfr __at (0xFDD) POSTDEC2;
227 __sfr __at (0xFDE) POSTINC2;
229 __sfr __at (0xFDF) INDF2;
231 __sfr __at (0xFE0) BSR;
232 volatile __BSR_t __at (0xFE0) BSRbits;
234 __sfr __at (0xFE1) FSR1L;
236 __sfr __at (0xFE2) FSR1H;
237 volatile __FSR1H_t __at (0xFE2) FSR1Hbits;
239 __sfr __at (0xFE3) PLUSW1;
241 __sfr __at (0xFE4) PREINC1;
243 __sfr __at (0xFE5) POSTDEC1;
245 __sfr __at (0xFE6) POSTINC1;
247 __sfr __at (0xFE7) INDF1;
249 __sfr __at (0xFE8) WREG;
251 __sfr __at (0xFE9) FSR0L;
253 __sfr __at (0xFEA) FSR0H;
254 volatile __FSR0H_t __at (0xFEA) FSR0Hbits;
256 __sfr __at (0xFEB) PLUSW0;
258 __sfr __at (0xFEC) PREINC0;
260 __sfr __at (0xFED) POSTDEC0;
262 __sfr __at (0xFEE) POSTINC0;
264 __sfr __at (0xFEF) INDF0;
266 __sfr __at (0xFF0) INTCON3;
267 volatile __INTCON3_t __at (0xFF0) INTCON3bits;
269 __sfr __at (0xFF1) INTCON2;
270 volatile __INTCON2_t __at (0xFF1) INTCON2bits;
272 __sfr __at (0xFF2) INTCON;
273 volatile __INTCON_t __at (0xFF2) INTCONbits;
275 __sfr __at (0xFF3) PRODL;
277 __sfr __at (0xFF4) PRODH;
279 __sfr __at (0xFF5) TABLAT;
281 __sfr __at (0xFF6) TBLPTRL;
283 __sfr __at (0xFF7) TBLPTRH;
285 __sfr __at (0xFF8) TBLPTRU;
286 volatile __TBLPTRU_t __at (0xFF8) TBLPTRUbits;
288 __sfr __at (0xFF9) PCL;
290 __sfr __at (0xFFA) PCLATH;
291 volatile __PCLATH_t __at (0xFFA) PCLATHbits;
293 __sfr __at (0xFFB) PCLATU;
294 volatile __PCLATU_t __at (0xFFB) PCLATUbits;
296 __sfr __at (0xFFC) STKPTR;
297 volatile __STKPTR_t __at (0xFFC) STKPTRbits;
299 __sfr __at (0xFFD) TOSL;
301 __sfr __at (0xFFE) TOSH;
303 __sfr __at (0xFFF) TOSU;
304 volatile __TOSU_t __at (0xFFF) TOSUbits;