* device/lib/pic16/libdev/pic18f4550.c,
[fw/sdcc] / device / lib / pic16 / libdev / pic18f4550.c
1 /* 
2  * pic18f4550.h - PIC18F4550 Device Library Sources
3  * 
4  * This file is part of the GNU PIC Library.
5  * 
6  * July, 2006
7  * The GNU PIC Library is maintained by
8  *     Raphael Neider <rneider AT web.de>
9  * 
10  * originally designed by
11  *     Vangelis Rokas <vrokas@otenet.gr>
12  * 
13  * $Id$
14  * 
15  */
16
17 #include <pic18f4550.h>
18
19 __sfr __at (0xF62) SPPDATA;
20 volatile __SPPDATA_t __at (0xF62) SPPDATAbits;
21
22 __sfr __at (0xF63) SPPCFG;
23 volatile __SPPCFG_t __at (0xF63) SPPCFGbits;
24
25 __sfr __at (0xF64) SPPEPS;
26 volatile __SPPEPS_t __at (0xF64) SPPEPSbits;
27
28 __sfr __at (0xF65) SPPCON;
29 volatile __SPPCON_t __at (0xF65) SPPCONbits;
30
31 __sfr __at (0xF66) UFRML;
32 volatile __UFRML_t __at (0xF66) UFRMLbits;
33
34 __sfr __at (0xF67) UFRMH;
35 volatile __UFRMH_t __at (0xF67) UFRMHbits;
36
37 __sfr __at (0xF68) UIR;
38 volatile __UIR_t __at (0xF68) UIRbits;
39
40 __sfr __at (0xF69) UIE;
41 volatile __UIE_t __at (0xF69) UIEbits;
42
43 __sfr __at (0xF6A) UEIR;
44 volatile __UEIR_t __at (0xF6A) UEIRbits;
45
46 __sfr __at (0xF6B) UEIE;
47 volatile __UEIE_t __at (0xF6B) UEIEbits;
48
49 __sfr __at (0xF6C) USTAT;
50 volatile __USTAT_t __at (0xF6C) USTATbits;
51
52 __sfr __at (0xF6D) UCON;
53 volatile __UCON_t __at (0xF6D) UCONbits;
54
55 __sfr __at (0xF6E) UADDR;
56 volatile __UADDR_t __at (0xF6E) UADDRbits;
57
58 __sfr __at (0xF6F) UCFG;
59 volatile __UCFG_t __at (0xF6F) UCFGbits;
60
61 __sfr __at (0xF70) UEP0;
62 volatile __UEP0_t __at (0xF70) UEP0bits;
63
64 __sfr __at (0xF71) UEP1;
65 volatile __UEP1_t __at (0xF71) UEP1bits;
66
67 __sfr __at (0xF72) UEP2;
68 volatile __UEP2_t __at (0xF72) UEP2bits;
69
70 __sfr __at (0xF73) UEP3;
71 volatile __UEP3_t __at (0xF73) UEP3bits;
72
73 __sfr __at (0xF74) UEP4;
74 volatile __UEP4_t __at (0xF74) UEP4bits;
75
76 __sfr __at (0xF75) UEP5;
77 volatile __UEP5_t __at (0xF75) UEP5bits;
78
79 __sfr __at (0xF76) UEP6;
80 volatile __UEP6_t __at (0xF76) UEP6bits;
81
82 __sfr __at (0xF77) UEP7;
83 volatile __UEP7_t __at (0xF77) UEP7bits;
84
85 __sfr __at (0xF78) UEP8;
86 volatile __UEP8_t __at (0xF78) UEP8bits;
87
88 __sfr __at (0xF79) UEP9;
89 volatile __UEP9_t __at (0xF79) UEP9bits;
90
91 __sfr __at (0xF7A) UEP10;
92 volatile __UEP10_t __at (0xF7A) UEP10bits;
93
94 __sfr __at (0xF7B) UEP11;
95 volatile __UEP11_t __at (0xF7B) UEP11bits;
96
97 __sfr __at (0xF7C) UEP12;
98 volatile __UEP12_t __at (0xF7C) UEP12bits;
99
100 __sfr __at (0xF7D) UEP13;
101 volatile __UEP13_t __at (0xF7D) UEP13bits;
102
103 __sfr __at (0xF7E) UEP14;
104 volatile __UEP14_t __at (0xF7E) UEP14bits;
105
106 __sfr __at (0xF7F) UEP15;
107 volatile __UEP15_t __at (0xF7F) UEP15bits;
108
109 __sfr __at (0xF80) PORTA;
110 volatile __PORTA_t __at (0xF80) PORTAbits;
111
112 __sfr __at (0xF81) PORTB;
113 volatile __PORTB_t __at (0xF81) PORTBbits;
114
115 __sfr __at (0xF82) PORTC;
116 volatile __PORTC_t __at (0xF82) PORTCbits;
117
118 __sfr __at (0xF83) PORTD;
119 volatile __PORTD_t __at (0xF83) PORTDbits;
120
121 __sfr __at (0xF84) PORTE;
122 volatile __PORTE_t __at (0xF84) PORTEbits;
123
124 __sfr __at (0xF89) LATA;
125 volatile __LATA_t __at (0xF89) LATAbits;
126
127 __sfr __at (0xF8A) LATB;
128 volatile __LATB_t __at (0xF8A) LATBbits;
129
130 __sfr __at (0xF8B) LATC;
131 volatile __LATC_t __at (0xF8B) LATCbits;
132
133 __sfr __at (0xF92) TRISA;
134 volatile __TRISA_t __at (0xF92) TRISAbits;
135
136 __sfr __at (0xF93) TRISB;
137 volatile __TRISB_t __at (0xF93) TRISBbits;
138
139 __sfr __at (0xF94) TRISC;
140 volatile __TRISC_t __at (0xF94) TRISCbits;
141
142 __sfr __at (0xF95) TRISD;
143 volatile __TRISD_t __at (0xF95) TRISDbits;
144
145 __sfr __at (0xF9B) OSCTUNE;
146 volatile __OSCTUNE_t __at (0xF9B) OSCTUNEbits;
147
148 __sfr __at (0xF9D) PIE1;
149 volatile __PIE1_t __at (0xF9D) PIE1bits;
150
151 __sfr __at (0xF9E) PIR1;
152 volatile __PIR1_t __at (0xF9E) PIR1bits;
153
154 __sfr __at (0xF9F) IPR1;
155 volatile __IPR1_t __at (0xF9F) IPR1bits;
156
157 __sfr __at (0xFA0) PIE2;
158 volatile __PIE2_t __at (0xFA0) PIE2bits;
159
160 __sfr __at (0xFA1) PIR2;
161 volatile __PIR2_t __at (0xFA1) PIR2bits;
162
163 __sfr __at (0xFA2) IPR2;
164 volatile __IPR2_t __at (0xFA2) IPR2bits;
165
166 __sfr __at (0xFA6) EECON1;
167 volatile __EECON1_t __at (0xFA6) EECON1bits;
168
169 __sfr __at (0xFA7) EECON2;
170
171 __sfr __at (0xFA8) EEDATA;
172
173 __sfr __at (0xFA9) EEADR;
174
175 __sfr __at (0xFAB) RCSTA;
176 volatile __RCSTA_t __at (0xFAB) RCSTAbits;
177
178 __sfr __at (0xFAC) TXSTA;
179 volatile __TXSTA_t __at (0xFAC) TXSTAbits;
180
181 __sfr __at (0xFAD) TXREG;
182
183 __sfr __at (0xFAE) RCREG;
184
185 __sfr __at (0xFAF) SPBRG;
186
187 __sfr __at (0xFB0) SPBRGH;
188
189 __sfr __at (0xFB1) T3CON;
190 volatile __T3CON_t __at (0xFB1) T3CONbits;
191
192 __sfr __at (0xFB2) TMR3L;
193
194 __sfr __at (0xFB3) TMR3H;
195
196 __sfr __at (0xFB4) CMCON;
197 volatile __CMCON_t __at (0xFB4) CMCONbits;
198
199 __sfr __at (0xFB5) CVRCON;
200 volatile __CVRCON_t __at (0xFB5) CVRCONbits;
201
202 __sfr __at (0xFB6) ECCP1AS;
203 volatile __ECCP1AS_t __at (0xFB6) ECCP1ASbits;
204
205 __sfr __at (0xFB7) ECCP1DEL;
206 volatile __ECCP1DEL_t __at (0xFB7) ECCP1DELbits;
207
208 __sfr __at (0xFB8) BAUDCON;
209 volatile __BAUDCON_t __at (0xFB8) BAUDCONbits;
210
211 __sfr __at (0xFBA) CCP2CON;
212 volatile __CCP2CON_t __at (0xFBA) CCP2CONbits;
213
214 __sfr __at (0xFBB) CCPR2L;
215
216 __sfr __at (0xFBC) CCPR2H;
217
218 __sfr __at (0xFBD) CCP1CON;
219 volatile __CCP1CON_t __at (0xFBD) CCP1CONbits;
220
221 __sfr __at (0xFBE) CCPR1L;
222
223 __sfr __at (0xFBF) CCPR1H;
224
225 __sfr __at (0xFC0) ADCON2;
226 volatile __ADCON2_t __at (0xFC0) ADCON2bits;
227
228 __sfr __at (0xFC1) ADCON1;
229 volatile __ADCON1_t __at (0xFC1) ADCON1bits;
230
231 __sfr __at (0xFC2) ADCON0;
232 volatile __ADCON0_t __at (0xFC2) ADCON0bits;
233
234 __sfr __at (0xFC3) ADRESL;
235
236 __sfr __at (0xFC4) ADRESH;
237
238 __sfr __at (0xFC5) SSPCON2;
239 volatile __SSPCON2_t __at (0xFC5) SSPCON2bits;
240
241 __sfr __at (0xFC6) SSPCON1;
242 volatile __SSPCON1_t __at (0xFC6) SSPCON1bits;
243
244 __sfr __at (0xFC7) SSPSTAT;
245 volatile __SSPSTAT_t __at (0xFC7) SSPSTATbits;
246
247 __sfr __at (0xFC8) SSPADD;
248
249 __sfr __at (0xFC9) SSPBUF;
250
251 __sfr __at (0xFCA) T2CON;
252 volatile __T2CON_t __at (0xFCA) T2CONbits;
253
254 __sfr __at (0xFCB) PR2;
255
256 __sfr __at (0xFCC) TMR2;
257
258 __sfr __at (0xFCD) T1CON;
259 volatile __T1CON_t __at (0xFCD) T1CONbits;
260
261 __sfr __at (0xFCE) TMR1L;
262
263 __sfr __at (0xFCF) TMR1H;
264
265 __sfr __at (0xFD0) RCON;
266 volatile __RCON_t __at (0xFD0) RCONbits;
267
268 __sfr __at (0xFD1) WDTCON;
269 volatile __WDTCON_t __at (0xFD1) WDTCONbits;
270
271 __sfr __at (0xFD2) HLVDCON;
272 volatile __HLVDCON_t __at (0xFD2) HLVDCONbits;
273
274 __sfr __at (0xFD3) OSCCON;
275 volatile __OSCCON_t __at (0xFD3) OSCCONbits;
276
277 __sfr __at (0xFD5) T0CON;
278 volatile __T0CON_t __at (0xFD5) T0CONbits;
279
280 __sfr __at (0xFD6) TMR0L;
281
282 __sfr __at (0xFD7) TMR0H;
283
284 __sfr __at (0xFD8) STATUS;
285 volatile __STATUS_t __at (0xFD8) STATUSbits;
286
287 __sfr __at (0xFD9) FSR2L;
288
289 __sfr __at (0xFDA) FSR2H;
290 volatile __FSR2H_t __at (0xFDA) FSR2Hbits;
291
292 __sfr __at (0xFDB) PLUSW2;
293
294 __sfr __at (0xFDC) PREINC2;
295
296 __sfr __at (0xFDD) POSTDEC2;
297
298 __sfr __at (0xFDE) POSTINC2;
299
300 __sfr __at (0xFDF) INDF2;
301
302 __sfr __at (0xFE0) BSR;
303 volatile __BSR_t __at (0xFE0) BSRbits;
304
305 __sfr __at (0xFE1) FSR1L;
306
307 __sfr __at (0xFE2) FSR1H;
308 volatile __FSR1H_t __at (0xFE2) FSR1Hbits;
309
310 __sfr __at (0xFE3) PLUSW1;
311
312 __sfr __at (0xFE4) PREINC1;
313
314 __sfr __at (0xFE5) POSTDEC1;
315
316 __sfr __at (0xFE6) POSTINC1;
317
318 __sfr __at (0xFE7) INDF1;
319
320 __sfr __at (0xFE8) WREG;
321
322 __sfr __at (0xFE9) FSR0L;
323
324 __sfr __at (0xFEA) FSR0H;
325 volatile __FSR0H_t __at (0xFEA) FSR0Hbits;
326
327 __sfr __at (0xFEB) PLUSW0;
328
329 __sfr __at (0xFEC) PREINC0;
330
331 __sfr __at (0xFED) POSTDEC0;
332
333 __sfr __at (0xFEE) POSTINC0;
334
335 __sfr __at (0xFEF) INDF0;
336
337 __sfr __at (0xFF0) INTCON3;
338 volatile __INTCON3_t __at (0xFF0) INTCON3bits;
339
340 __sfr __at (0xFF1) INTCON2;
341 volatile __INTCON2_t __at (0xFF1) INTCON2bits;
342
343 __sfr __at (0xFF2) INTCON;
344 volatile __INTCON_t __at (0xFF2) INTCONbits;
345
346 __sfr __at (0xFF3) PRODL;
347
348 __sfr __at (0xFF4) PRODH;
349
350 __sfr __at (0xFF5) TABLAT;
351
352 __sfr __at (0xFF6) TBLPTRL;
353
354 __sfr __at (0xFF7) TBLPTRH;
355
356 __sfr __at (0xFF8) TBLPTRU;
357 volatile __TBLPTRU_t __at (0xFF8) TBLPTRUbits;
358
359 __sfr __at (0xFF9) PCL;
360
361 __sfr __at (0xFFA) PCLATH;
362 volatile __PCLATH_t __at (0xFFA) PCLATHbits;
363
364 __sfr __at (0xFFB) PCLATU;
365 volatile __PCLATU_t __at (0xFFB) PCLATUbits;
366
367 __sfr __at (0xFFC) STKPTR;
368 volatile __STKPTR_t __at (0xFFC) STKPTRbits;
369
370 __sfr __at (0xFFD) TOSL;
371
372 __sfr __at (0xFFE) TOSH;
373
374 __sfr __at (0xFFF) TOSU;
375 volatile __TOSU_t __at (0xFFF) TOSUbits;
376