0322bf4f7bb8380ff32c99033ff3168221e7a0c8
[fw/sdcc] / device / lib / pic16 / libdev / pic18f4520.c
1 /* 
2  * pic18f4520.h - PIC18F4520 Device Library Sources
3  * 
4  * This file is part of the GNU PIC Library.
5  * 
6  * May, 2005
7  * The GNU PIC Library is maintained by
8  *     Raphael Neider <rneider@web.de>
9  * 
10  * originally designed by
11  *     Vangelis Rokas <vrokas@otenet.gr>
12  * 
13  * $Id$
14  * 
15  */
16
17 #include <pic18f4520.h>
18
19 __sfr __at 0xF80 PORTA;
20 volatile __PORTA_t __at 0xF80 PORTAbits;
21
22 __sfr __at 0xF81 PORTB;
23 volatile __PORTB_t __at 0xF81 PORTBbits;
24
25 __sfr __at 0xF82 PORTC;
26 volatile __PORTC_t __at 0xF82 PORTCbits;
27
28 __sfr __at 0xF83 PORTD;
29 volatile __PORTD_t __at 0xF83 PORTDbits;
30
31 __sfr __at 0xF84 PORTE;
32 volatile __PORTE_t __at 0xF84 PORTEbits;
33
34 __sfr __at 0xF89 LATA;
35 volatile __LATA_t __at 0xF89 LATAbits;
36
37 __sfr __at 0xF8A LATB;
38 volatile __LATB_t __at 0xF8A LATBbits;
39
40 __sfr __at 0xF8B LATC;
41 volatile __LATC_t __at 0xF8B LATCbits;
42
43 __sfr __at 0xF8C LATD;
44 volatile __LATD_t __at 0xF8C LATDbits;
45
46 __sfr __at 0xF8D LATE;
47 volatile __LATE_t __at 0xF8D LATEbits;
48
49 __sfr __at 0xF92 TRISA;
50 volatile __TRISA_t __at 0xF92 TRISAbits;
51
52 __sfr __at 0xF93 TRISB;
53 volatile __TRISB_t __at 0xF93 TRISBbits;
54
55 __sfr __at 0xF94 TRISC;
56 volatile __TRISC_t __at 0xF94 TRISCbits;
57
58 __sfr __at 0xF95 TRISD;
59 volatile __TRISD_t __at 0xF95 TRISDbits;
60
61 __sfr __at 0xF96 TRISE;
62 volatile __TRISE_t __at 0xF96 TRISEbits;
63
64 __sfr __at 0xF9B OSCTUNE;
65 volatile __OSCTUNE_t __at 0xF9B OSCTUNEbits;
66
67 __sfr __at 0xF9D PIE1;
68 volatile __PIE1_t __at 0xF9D PIE1bits;
69
70 __sfr __at 0xF9E PIR1;
71 volatile __PIR1_t __at 0xF9E PIR1bits;
72
73 __sfr __at 0xF9F IPR1;
74 volatile __IPR1_t __at 0xF9F IPR1bits;
75
76 __sfr __at 0xFA0 PIE2;
77 volatile __PIE2_t __at 0xFA0 PIE2bits;
78
79 __sfr __at 0xFA1 PIR2;
80 volatile __PIR2_t __at 0xFA1 PIR2bits;
81
82 __sfr __at 0xFA2 IPR2;
83 volatile __IPR2_t __at 0xFA2 IPR2bits;
84
85 __sfr __at 0xFA6 EECON1;
86 volatile __EECON1_t __at 0xFA6 EECON1bits;
87
88 __sfr __at 0xFA7 EECON2;
89
90 __sfr __at 0xFA8 EEDATA;
91
92 __sfr __at 0xFA9 EEADR;
93
94 __sfr __at 0xFAB RCSTA;
95 volatile __RCSTA_t __at 0xFAB RCSTAbits;
96
97 __sfr __at 0xFAC TXSTA;
98 volatile __TXSTA_t __at 0xFAC TXSTAbits;
99
100 __sfr __at 0xFAD TXREG;
101
102 __sfr __at 0xFAE RCREG;
103
104 __sfr __at 0xFAF SPBRG;
105
106 __sfr __at 0xFB0 SPBRGH;
107
108 __sfr __at 0xFB1 T3CON;
109 volatile __T3CON_t __at 0xFB1 T3CONbits;
110
111 __sfr __at 0xFB2 TMR3L;
112
113 __sfr __at 0xFB3 TMR3H;
114
115 __sfr __at 0xFB4 CMCON;
116 volatile __CMCON_t __at 0xFB4 CMCONbits;
117
118 __sfr __at 0xFB5 CVRCON;
119 volatile __CVRCON_t __at 0xFB5 CVRCONbits;
120
121 __sfr __at 0xFB6 ECCPAS1;
122 volatile __ECCPAS1_t __at 0xFB6 ECCPAS1bits;
123
124 __sfr __at 0xFB7 PWM1CON;
125 volatile __PWM1CON_t __at 0xFB7 PWM1CONbits;
126
127 __sfr __at 0xFB8 BAUDCON;
128 volatile __BAUDCON_t __at 0xFB8 BAUDCONbits;
129
130 __sfr __at 0xFBA CCP2CON;
131 volatile __CCP2CON_t __at 0xFBA CCP2CONbits;
132
133 __sfr __at 0xFBB CCPR2L;
134
135 __sfr __at 0xFBC CCPR2H;
136
137 __sfr __at 0xFBD ECCP1CON;
138 volatile __ECCP1CON_t __at 0xFBD ECCP1CONbits;
139
140 __sfr __at 0xFBE CCPR1L;
141
142 __sfr __at 0xFBF CCPR1H;
143
144 __sfr __at 0xFC0 ADCON2;
145 volatile __ADCON2_t __at 0xFC0 ADCON2bits;
146
147 __sfr __at 0xFC1 ADCON1;
148 volatile __ADCON1_t __at 0xFC1 ADCON1bits;
149
150 __sfr __at 0xFC2 ADCON0;
151 volatile __ADCON0_t __at 0xFC2 ADCON0bits;
152
153 __sfr __at 0xFC3 ADRESL;
154
155 __sfr __at 0xFC4 ADRESH;
156
157 __sfr __at 0xFC5 SSPCON2;
158 volatile __SSPCON2_t __at 0xFC5 SSPCON2bits;
159
160 __sfr __at 0xFC6 SSPCON1;
161 volatile __SSPCON1_t __at 0xFC6 SSPCON1bits;
162
163 __sfr __at 0xFC7 SSPSTAT;
164 volatile __SSPSTAT_t __at 0xFC7 SSPSTATbits;
165
166 __sfr __at 0xFC8 SSPADD;
167
168 __sfr __at 0xFC9 SSPBUF;
169
170 __sfr __at 0xFCA T2CON;
171 volatile __T2CON_t __at 0xFCA T2CONbits;
172
173 __sfr __at 0xFCB PR2;
174
175 __sfr __at 0xFCC TMR2;
176
177 __sfr __at 0xFCD T1CON;
178 volatile __T1CON_t __at 0xFCD T1CONbits;
179
180 __sfr __at 0xFCE TMR1L;
181
182 __sfr __at 0xFCF TMR1H;
183
184 __sfr __at 0xFD0 RCON;
185 volatile __RCON_t __at 0xFD0 RCONbits;
186
187 __sfr __at 0xFD1 WDTCON;
188 volatile __WDTCON_t __at 0xFD1 WDTCONbits;
189
190 __sfr __at 0xFD2 LVDCON;
191 volatile __LVDCON_t __at 0xFD2 LVDCONbits;
192
193 __sfr __at 0xFD3 OSCCON;
194 volatile __OSCCON_t __at 0xFD3 OSCCONbits;
195
196 __sfr __at 0xFD5 T0CON;
197 volatile __T0CON_t __at 0xFD5 T0CONbits;
198
199 __sfr __at 0xFD6 TMR0L;
200
201 __sfr __at 0xFD7 TMR0H;
202
203 __sfr __at 0xFD8 STATUS;
204 volatile __STATUS_t __at 0xFD8 STATUSbits;
205
206 __sfr __at 0xFD9 FSR2L;
207
208 __sfr __at 0xFDA FSR2H;
209 volatile __FSR2H_t __at 0xFDA FSR2Hbits;
210
211 __sfr __at 0xFDB PLUSW2;
212
213 __sfr __at 0xFDC PREINC2;
214
215 __sfr __at 0xFDD POSTDEC2;
216
217 __sfr __at 0xFDE POSTINC2;
218
219 __sfr __at 0xFDF INDF2;
220
221 __sfr __at 0xFE0 BSR;
222 volatile __BSR_t __at 0xFE0 BSRbits;
223
224 __sfr __at 0xFE1 FSR1L;
225
226 __sfr __at 0xFE2 FSR1H;
227 volatile __FSR1H_t __at 0xFE2 FSR1Hbits;
228
229 __sfr __at 0xFE3 PLUSW1;
230
231 __sfr __at 0xFE4 PREINC1;
232
233 __sfr __at 0xFE5 POSTDEC1;
234
235 __sfr __at 0xFE6 POSTINC1;
236
237 __sfr __at 0xFE7 INDF1;
238
239 __sfr __at 0xFE8 WREG;
240
241 __sfr __at 0xFE9 FSR0L;
242
243 __sfr __at 0xFEA FSR0H;
244 volatile __FSR0H_t __at 0xFEA FSR0Hbits;
245
246 __sfr __at 0xFEB PLUSW0;
247
248 __sfr __at 0xFEC PREINC0;
249
250 __sfr __at 0xFED POSTDEC0;
251
252 __sfr __at 0xFEE POSTINC0;
253
254 __sfr __at 0xFEF INDF0;
255
256 __sfr __at 0xFF0 INTCON3;
257 volatile __INTCON3_t __at 0xFF0 INTCON3bits;
258
259 __sfr __at 0xFF1 INTCON2;
260 volatile __INTCON2_t __at 0xFF1 INTCON2bits;
261
262 __sfr __at 0xFF2 INTCON;
263 volatile __INTCON_t __at 0xFF2 INTCONbits;
264
265 __sfr __at 0xFF3 PRODL;
266
267 __sfr __at 0xFF4 PRODH;
268
269 __sfr __at 0xFF5 TABLAT;
270
271 __sfr __at 0xFF6 TBLPTRL;
272
273 __sfr __at 0xFF7 TBLPTRH;
274
275 __sfr __at 0xFF8 TBLPTRU;
276 volatile __TBLPTRU_t __at 0xFF8 TBLPTRUbits;
277
278 __sfr __at 0xFF9 PCL;
279
280 __sfr __at 0xFFA PCLATH;
281 volatile __PCLATH_t __at 0xFFA PCLATHbits;
282
283 __sfr __at 0xFFB PCLATU;
284 volatile __PCLATU_t __at 0xFFB PCLATUbits;
285
286 __sfr __at 0xFFC STKPTR;
287 volatile __STKPTR_t __at 0xFFC STKPTRbits;
288
289 __sfr __at 0xFFD TOSL;
290
291 __sfr __at 0xFFE TOSH;
292
293 __sfr __at 0xFFF TOSU;
294 volatile __TOSU_t __at 0xFFF TOSUbits;
295