087c810b6b358e1f5fe288a7b503b859e2e5fd0b
[fw/sdcc] / device / lib / pic16 / libdev / pic18f2550.c
1 /* 
2  * pic18f2550.h - PIC18F2550 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 <pic18f2550.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 0xF84 PORTE;
119 volatile __PORTE_t __at 0xF84 PORTEbits;
120
121 __sfr __at 0xF89 LATA;
122 volatile __LATA_t __at 0xF89 LATAbits;
123
124 __sfr __at 0xF8A LATB;
125 volatile __LATB_t __at 0xF8A LATBbits;
126
127 __sfr __at 0xF8B LATC;
128 volatile __LATC_t __at 0xF8B LATCbits;
129
130 __sfr __at 0xF92 TRISA;
131 volatile __TRISA_t __at 0xF92 TRISAbits;
132
133 __sfr __at 0xF93 TRISB;
134 volatile __TRISB_t __at 0xF93 TRISBbits;
135
136 __sfr __at 0xF94 TRISC;
137 volatile __TRISC_t __at 0xF94 TRISCbits;
138
139 __sfr __at 0xF9B OSCTUNE;
140 volatile __OSCTUNE_t __at 0xF9B OSCTUNEbits;
141
142 __sfr __at 0xF9D PIE1;
143 volatile __PIE1_t __at 0xF9D PIE1bits;
144
145 __sfr __at 0xF9E PIR1;
146 volatile __PIR1_t __at 0xF9E PIR1bits;
147
148 __sfr __at 0xF9F IPR1;
149 volatile __IPR1_t __at 0xF9F IPR1bits;
150
151 __sfr __at 0xFA0 PIE2;
152 volatile __PIE2_t __at 0xFA0 PIE2bits;
153
154 __sfr __at 0xFA1 PIR2;
155 volatile __PIR2_t __at 0xFA1 PIR2bits;
156
157 __sfr __at 0xFA2 IPR2;
158 volatile __IPR2_t __at 0xFA2 IPR2bits;
159
160 __sfr __at 0xFA6 EECON1;
161 volatile __EECON1_t __at 0xFA6 EECON1bits;
162
163 __sfr __at 0xFA7 EECON2;
164
165 __sfr __at 0xFA8 EEDATA;
166
167 __sfr __at 0xFA9 EEADR;
168
169 __sfr __at 0xFAB RCSTA;
170 volatile __RCSTA_t __at 0xFAB RCSTAbits;
171
172 __sfr __at 0xFAC TXSTA;
173 volatile __TXSTA_t __at 0xFAC TXSTAbits;
174
175 __sfr __at 0xFAD TXREG;
176
177 __sfr __at 0xFAE RCREG;
178
179 __sfr __at 0xFAF SPBRG;
180
181 __sfr __at 0xFB0 SPBRGH;
182
183 __sfr __at 0xFB1 T3CON;
184 volatile __T3CON_t __at 0xFB1 T3CONbits;
185
186 __sfr __at 0xFB2 TMR3L;
187
188 __sfr __at 0xFB3 TMR3H;
189
190 __sfr __at 0xFB4 CMCON;
191 volatile __CMCON_t __at 0xFB4 CMCONbits;
192
193 __sfr __at 0xFB5 CVRCON;
194 volatile __CVRCON_t __at 0xFB5 CVRCONbits;
195
196 __sfr __at 0xFB6 ECCP1AS;
197 volatile __ECCP1AS_t __at 0xFB6 ECCP1ASbits;
198
199 __sfr __at 0xFB7 ECCP1DEL;
200 volatile __ECCP1DEL_t __at 0xFB7 ECCP1DELbits;
201
202 __sfr __at 0xFB8 BAUDCON;
203 volatile __BAUDCON_t __at 0xFB8 BAUDCONbits;
204
205 __sfr __at 0xFBA CCP2CON;
206 volatile __CCP2CON_t __at 0xFBA CCP2CONbits;
207
208 __sfr __at 0xFBB CCPR2L;
209
210 __sfr __at 0xFBC CCPR2H;
211
212 __sfr __at 0xFBD CCP1CON;
213 volatile __CCP1CON_t __at 0xFBD CCP1CONbits;
214
215 __sfr __at 0xFBE CCPR1L;
216
217 __sfr __at 0xFBF CCPR1H;
218
219 __sfr __at 0xFC0 ADCON2;
220 volatile __ADCON2_t __at 0xFC0 ADCON2bits;
221
222 __sfr __at 0xFC1 ADCON1;
223 volatile __ADCON1_t __at 0xFC1 ADCON1bits;
224
225 __sfr __at 0xFC2 ADCON0;
226 volatile __ADCON0_t __at 0xFC2 ADCON0bits;
227
228 __sfr __at 0xFC3 ADRESL;
229
230 __sfr __at 0xFC4 ADRESH;
231
232 __sfr __at 0xFC5 SSPCON2;
233 volatile __SSPCON2_t __at 0xFC5 SSPCON2bits;
234
235 __sfr __at 0xFC6 SSPCON1;
236 volatile __SSPCON1_t __at 0xFC6 SSPCON1bits;
237
238 __sfr __at 0xFC7 SSPSTAT;
239 volatile __SSPSTAT_t __at 0xFC7 SSPSTATbits;
240
241 __sfr __at 0xFC8 SSPADD;
242
243 __sfr __at 0xFC9 SSPBUF;
244
245 __sfr __at 0xFCA T2CON;
246 volatile __T2CON_t __at 0xFCA T2CONbits;
247
248 __sfr __at 0xFCB PR2;
249
250 __sfr __at 0xFCC TMR2;
251
252 __sfr __at 0xFCD T1CON;
253 volatile __T1CON_t __at 0xFCD T1CONbits;
254
255 __sfr __at 0xFCE TMR1L;
256
257 __sfr __at 0xFCF TMR1H;
258
259 __sfr __at 0xFD0 RCON;
260 volatile __RCON_t __at 0xFD0 RCONbits;
261
262 __sfr __at 0xFD1 WDTCON;
263 volatile __WDTCON_t __at 0xFD1 WDTCONbits;
264
265 __sfr __at 0xFD2 HLVDCON;
266 volatile __HLVDCON_t __at 0xFD2 HLVDCONbits;
267
268 __sfr __at 0xFD3 OSCCON;
269 volatile __OSCCON_t __at 0xFD3 OSCCONbits;
270
271 __sfr __at 0xFD5 T0CON;
272 volatile __T0CON_t __at 0xFD5 T0CONbits;
273
274 __sfr __at 0xFD6 TMR0L;
275
276 __sfr __at 0xFD7 TMR0H;
277
278 __sfr __at 0xFD8 STATUS;
279 volatile __STATUS_t __at 0xFD8 STATUSbits;
280
281 __sfr __at 0xFD9 FSR2L;
282
283 __sfr __at 0xFDA FSR2H;
284 volatile __FSR2H_t __at 0xFDA FSR2Hbits;
285
286 __sfr __at 0xFDB PLUSW2;
287
288 __sfr __at 0xFDC PREINC2;
289
290 __sfr __at 0xFDD POSTDEC2;
291
292 __sfr __at 0xFDE POSTINC2;
293
294 __sfr __at 0xFDF INDF2;
295
296 __sfr __at 0xFE0 BSR;
297 volatile __BSR_t __at 0xFE0 BSRbits;
298
299 __sfr __at 0xFE1 FSR1L;
300
301 __sfr __at 0xFE2 FSR1H;
302 volatile __FSR1H_t __at 0xFE2 FSR1Hbits;
303
304 __sfr __at 0xFE3 PLUSW1;
305
306 __sfr __at 0xFE4 PREINC1;
307
308 __sfr __at 0xFE5 POSTDEC1;
309
310 __sfr __at 0xFE6 POSTINC1;
311
312 __sfr __at 0xFE7 INDF1;
313
314 __sfr __at 0xFE8 WREG;
315
316 __sfr __at 0xFE9 FSR0L;
317
318 __sfr __at 0xFEA FSR0H;
319 volatile __FSR0H_t __at 0xFEA FSR0Hbits;
320
321 __sfr __at 0xFEB PLUSW0;
322
323 __sfr __at 0xFEC PREINC0;
324
325 __sfr __at 0xFED POSTDEC0;
326
327 __sfr __at 0xFEE POSTINC0;
328
329 __sfr __at 0xFEF INDF0;
330
331 __sfr __at 0xFF0 INTCON3;
332 volatile __INTCON3_t __at 0xFF0 INTCON3bits;
333
334 __sfr __at 0xFF1 INTCON2;
335 volatile __INTCON2_t __at 0xFF1 INTCON2bits;
336
337 __sfr __at 0xFF2 INTCON;
338 volatile __INTCON_t __at 0xFF2 INTCONbits;
339
340 __sfr __at 0xFF3 PRODL;
341
342 __sfr __at 0xFF4 PRODH;
343
344 __sfr __at 0xFF5 TABLAT;
345
346 __sfr __at 0xFF6 TBLPTRL;
347
348 __sfr __at 0xFF7 TBLPTRH;
349
350 __sfr __at 0xFF8 TBLPTRU;
351 volatile __TBLPTRU_t __at 0xFF8 TBLPTRUbits;
352
353 __sfr __at 0xFF9 PCL;
354
355 __sfr __at 0xFFA PCLATH;
356 volatile __PCLATH_t __at 0xFFA PCLATHbits;
357
358 __sfr __at 0xFFB PCLATU;
359 volatile __PCLATU_t __at 0xFFB PCLATUbits;
360
361 __sfr __at 0xFFC STKPTR;
362 volatile __STKPTR_t __at 0xFFC STKPTRbits;
363
364 __sfr __at 0xFFD TOSL;
365
366 __sfr __at 0xFFE TOSH;
367
368 __sfr __at 0xFFF TOSU;
369 volatile __TOSU_t __at 0xFFF TOSUbits;
370