a631d018202cf333285b8134337674922ba353e7
[fw/sdcc] / device / lib / pic16 / libdev / pic18f4331.c
1 /* 
2  * pic18f4331.h - PIC18F4331 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 <pic18f4331.h>
18
19 __sfr __at 0xF60 DFLTCON;
20 volatile __DFLTCON_t __at 0xF60 DFLTCONbits;
21
22 __sfr __at 0xF61 CAP3CON;
23 volatile __CAP3CON_t __at 0xF61 CAP3CONbits;
24
25 __sfr __at 0xF62 CAP2CON;
26 volatile __CAP2CON_t __at 0xF62 CAP2CONbits;
27
28 __sfr __at 0xF63 CAP1CON;
29 volatile __CAP1CON_t __at 0xF63 CAP1CONbits;
30
31 __sfr __at 0xF64 CAP3BUFL;
32
33 __sfr __at 0xF65 CAP3BUFH;
34
35 __sfr __at 0xF66 CAP2BUFL;
36
37 __sfr __at 0xF67 CAP2BUFH;
38
39 __sfr __at 0xF68 CAP1BUFL;
40
41 __sfr __at 0xF69 CAP1BUFH;
42
43 __sfr __at 0xF6A OVDCONS;
44 volatile __OVDCONS_t __at 0xF6A OVDCONSbits;
45
46 __sfr __at 0xF6B OVDCOND;
47 volatile __OVDCOND_t __at 0xF6B OVDCONDbits;
48
49 __sfr __at 0xF6C FLTCONFIG;
50 volatile __FLTCONFIG_t __at 0xF6C FLTCONFIGbits;
51
52 __sfr __at 0xF6D DTCON;
53 volatile __DTCON_t __at 0xF6D DTCONbits;
54
55 __sfr __at 0xF6E PWMCON1;
56 volatile __PWMCON1_t __at 0xF6E PWMCON1bits;
57
58 __sfr __at 0xF6F PWMCON0;
59 volatile __PWMCON0_t __at 0xF6F PWMCON0bits;
60
61 __sfr __at 0xF70 SEVTCMPH;
62 volatile __SEVTCMPH_t __at 0xF70 SEVTCMPHbits;
63
64 __sfr __at 0xF71 SEVTCMPL;
65
66 __sfr __at 0xF72 PDC3H;
67 volatile __PDC3H_t __at 0xF72 PDC3Hbits;
68
69 __sfr __at 0xF73 PDC3L;
70
71 __sfr __at 0xF74 PDC2H;
72 volatile __PDC2H_t __at 0xF74 PDC2Hbits;
73
74 __sfr __at 0xF75 PDC2L;
75
76 __sfr __at 0xF76 PDC1H;
77 volatile __PDC1H_t __at 0xF76 PDC1Hbits;
78
79 __sfr __at 0xF77 PDC1L;
80
81 __sfr __at 0xF78 PDC0H;
82 volatile __PDC0H_t __at 0xF78 PDC0Hbits;
83
84 __sfr __at 0xF79 PDC0L;
85
86 __sfr __at 0xF7A PTPERH;
87 volatile __PTPERH_t __at 0xF7A PTPERHbits;
88
89 __sfr __at 0xF7B PTPERL;
90
91 __sfr __at 0xF7C PTMRH;
92 volatile __PTMRH_t __at 0xF7C PTMRHbits;
93
94 __sfr __at 0xF7D PTMRL;
95
96 __sfr __at 0xF7E PTCON1;
97 volatile __PTCON1_t __at 0xF7E PTCON1bits;
98
99 __sfr __at 0xF7F PTCON0;
100 volatile __PTCON0_t __at 0xF7F PTCON0bits;
101
102 __sfr __at 0xF80 PORTA;
103 volatile __PORTA_t __at 0xF80 PORTAbits;
104
105 __sfr __at 0xF81 PORTB;
106 volatile __PORTB_t __at 0xF81 PORTBbits;
107
108 __sfr __at 0xF82 PORTC;
109 volatile __PORTC_t __at 0xF82 PORTCbits;
110
111 __sfr __at 0xF83 PORTD;
112 volatile __PORTD_t __at 0xF83 PORTDbits;
113
114 __sfr __at 0xF84 PORTE;
115 volatile __PORTE_t __at 0xF84 PORTEbits;
116
117 __sfr __at 0xF87 TMR5L;
118
119 __sfr __at 0xF88 TMR5H;
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 0xF8C LATD;
131 volatile __LATD_t __at 0xF8C LATDbits;
132
133 __sfr __at 0xF8D LATE;
134 volatile __LATE_t __at 0xF8D LATEbits;
135
136 __sfr __at 0xF90 PR5L;
137
138 __sfr __at 0xF91 PR5H;
139
140 __sfr __at 0xF92 TRISA;
141 volatile __TRISA_t __at 0xF92 TRISAbits;
142
143 __sfr __at 0xF93 TRISB;
144 volatile __TRISB_t __at 0xF93 TRISBbits;
145
146 __sfr __at 0xF94 TRISC;
147 volatile __TRISC_t __at 0xF94 TRISCbits;
148
149 __sfr __at 0xF95 TRISD;
150 volatile __TRISD_t __at 0xF95 TRISDbits;
151
152 __sfr __at 0xF96 TRISE;
153 volatile __TRISE_t __at 0xF96 TRISEbits;
154
155 __sfr __at 0xF99 ADCHS;
156 volatile __ADCHS_t __at 0xF99 ADCHSbits;
157
158 __sfr __at 0xF9A ADCON3;
159 volatile __ADCON3_t __at 0xF9A ADCON3bits;
160
161 __sfr __at 0xF9B OSCTUNE;
162 volatile __OSCTUNE_t __at 0xF9B OSCTUNEbits;
163
164 __sfr __at 0xF9D PIE1;
165 volatile __PIE1_t __at 0xF9D PIE1bits;
166
167 __sfr __at 0xF9E PIR1;
168 volatile __PIR1_t __at 0xF9E PIR1bits;
169
170 __sfr __at 0xF9F IPR1;
171 volatile __IPR1_t __at 0xF9F IPR1bits;
172
173 __sfr __at 0xFA0 PIE2;
174 volatile __PIE2_t __at 0xFA0 PIE2bits;
175
176 __sfr __at 0xFA1 PIR2;
177 volatile __PIR2_t __at 0xFA1 PIR2bits;
178
179 __sfr __at 0xFA2 IPR2;
180 volatile __IPR2_t __at 0xFA2 IPR2bits;
181
182 __sfr __at 0xFA3 PIE3;
183 volatile __PIE3_t __at 0xFA3 PIE3bits;
184
185 __sfr __at 0xFA4 PIR3;
186 volatile __PIR3_t __at 0xFA4 PIR3bits;
187
188 __sfr __at 0xFA5 IPR3;
189 volatile __IPR3_t __at 0xFA5 IPR3bits;
190
191 __sfr __at 0xFA6 EECON1;
192 volatile __EECON1_t __at 0xFA6 EECON1bits;
193
194 __sfr __at 0xFA7 EECON2;
195
196 __sfr __at 0xFA8 EEDATA;
197
198 __sfr __at 0xFA9 EEADR;
199
200 __sfr __at 0xFAA BAUDCTL;
201 volatile __BAUDCTL_t __at 0xFAA BAUDCTLbits;
202
203 __sfr __at 0xFAB RCSTA;
204 volatile __RCSTA_t __at 0xFAB RCSTAbits;
205
206 __sfr __at 0xFAC TXSTA;
207 volatile __TXSTA_t __at 0xFAC TXSTAbits;
208
209 __sfr __at 0xFAD TXREG;
210
211 __sfr __at 0xFAE RCREG;
212
213 __sfr __at 0xFAF SPBRG;
214
215 __sfr __at 0xFB0 SPBRGH;
216
217 __sfr __at 0xFB6 QEICON;
218 volatile __QEICON_t __at 0xFB6 QEICONbits;
219
220 __sfr __at 0xFB7 T5CON;
221 volatile __T5CON_t __at 0xFB7 T5CONbits;
222
223 __sfr __at 0xFB8 ANSEL0;
224 volatile __ANSEL0_t __at 0xFB8 ANSEL0bits;
225
226 __sfr __at 0xFB9 ANSEL1;
227 volatile __ANSEL1_t __at 0xFB9 ANSEL1bits;
228
229 __sfr __at 0xFBA CCP2CON;
230 volatile __CCP2CON_t __at 0xFBA CCP2CONbits;
231
232 __sfr __at 0xFBB CCPR2L;
233
234 __sfr __at 0xFBC CCPR2H;
235
236 __sfr __at 0xFBD CCP1CON;
237 volatile __CCP1CON_t __at 0xFBD CCP1CONbits;
238
239 __sfr __at 0xFBE CCPR1L;
240
241 __sfr __at 0xFBF CCPR1H;
242
243 __sfr __at 0xFC0 ADCON2;
244 volatile __ADCON2_t __at 0xFC0 ADCON2bits;
245
246 __sfr __at 0xFC1 ADCON1;
247 volatile __ADCON1_t __at 0xFC1 ADCON1bits;
248
249 __sfr __at 0xFC2 ADCON0;
250 volatile __ADCON0_t __at 0xFC2 ADCON0bits;
251
252 __sfr __at 0xFC3 ADRESL;
253
254 __sfr __at 0xFC4 ADRESH;
255
256 __sfr __at 0xFC6 SSPCON;
257 volatile __SSPCON_t __at 0xFC6 SSPCONbits;
258
259 __sfr __at 0xFC7 SSPSTAT;
260 volatile __SSPSTAT_t __at 0xFC7 SSPSTATbits;
261
262 __sfr __at 0xFC8 SSPADD;
263
264 __sfr __at 0xFC9 SSPBUF;
265
266 __sfr __at 0xFCA T2CON;
267 volatile __T2CON_t __at 0xFCA T2CONbits;
268
269 __sfr __at 0xFCB PR2;
270
271 __sfr __at 0xFCC TMR2;
272
273 __sfr __at 0xFCD T1CON;
274 volatile __T1CON_t __at 0xFCD T1CONbits;
275
276 __sfr __at 0xFCE TMR1L;
277
278 __sfr __at 0xFCF TMR1H;
279
280 __sfr __at 0xFD0 RCON;
281 volatile __RCON_t __at 0xFD0 RCONbits;
282
283 __sfr __at 0xFD1 WDTCON;
284 volatile __WDTCON_t __at 0xFD1 WDTCONbits;
285
286 __sfr __at 0xFD2 LVDCON;
287 volatile __LVDCON_t __at 0xFD2 LVDCONbits;
288
289 __sfr __at 0xFD3 OSCCON;
290 volatile __OSCCON_t __at 0xFD3 OSCCONbits;
291
292 __sfr __at 0xFD5 T0CON;
293 volatile __T0CON_t __at 0xFD5 T0CONbits;
294
295 __sfr __at 0xFD6 TMR0L;
296
297 __sfr __at 0xFD7 TMR0H;
298
299 __sfr __at 0xFD8 STATUS;
300 volatile __STATUS_t __at 0xFD8 STATUSbits;
301
302 __sfr __at 0xFD9 FSR2L;
303
304 __sfr __at 0xFDA FSR2H;
305 volatile __FSR2H_t __at 0xFDA FSR2Hbits;
306
307 __sfr __at 0xFDB PLUSW2;
308
309 __sfr __at 0xFDC PREINC2;
310
311 __sfr __at 0xFDD POSTDEC2;
312
313 __sfr __at 0xFDE POSTINC2;
314
315 __sfr __at 0xFDF INDF2;
316
317 __sfr __at 0xFE0 BSR;
318 volatile __BSR_t __at 0xFE0 BSRbits;
319
320 __sfr __at 0xFE1 FSR1L;
321
322 __sfr __at 0xFE2 FSR1H;
323 volatile __FSR1H_t __at 0xFE2 FSR1Hbits;
324
325 __sfr __at 0xFE3 PLUSW1;
326
327 __sfr __at 0xFE4 PREINC1;
328
329 __sfr __at 0xFE5 POSTDEC1;
330
331 __sfr __at 0xFE6 POSTINC1;
332
333 __sfr __at 0xFE7 INDF1;
334
335 __sfr __at 0xFE8 WREG;
336
337 __sfr __at 0xFE9 FSR0L;
338
339 __sfr __at 0xFEA FSR0H;
340 volatile __FSR0H_t __at 0xFEA FSR0Hbits;
341
342 __sfr __at 0xFEB PLUSW0;
343
344 __sfr __at 0xFEC PREINC0;
345
346 __sfr __at 0xFED POSTDEC0;
347
348 __sfr __at 0xFEE POSTINC0;
349
350 __sfr __at 0xFEF INDF0;
351
352 __sfr __at 0xFF0 INTCON3;
353 volatile __INTCON3_t __at 0xFF0 INTCON3bits;
354
355 __sfr __at 0xFF1 INTCON2;
356 volatile __INTCON2_t __at 0xFF1 INTCON2bits;
357
358 __sfr __at 0xFF2 INTCON;
359 volatile __INTCON_t __at 0xFF2 INTCONbits;
360
361 __sfr __at 0xFF3 PRODL;
362
363 __sfr __at 0xFF4 PRODH;
364
365 __sfr __at 0xFF5 TABLAT;
366
367 __sfr __at 0xFF6 TBLPTRL;
368
369 __sfr __at 0xFF7 TBLPTRH;
370
371 __sfr __at 0xFF8 TBLPTRU;
372 volatile __TBLPTRU_t __at 0xFF8 TBLPTRUbits;
373
374 __sfr __at 0xFF9 PCL;
375
376 __sfr __at 0xFFA PCLATH;
377 volatile __PCLATH_t __at 0xFFA PCLATHbits;
378
379 __sfr __at 0xFFB PCLATU;
380 volatile __PCLATU_t __at 0xFFB PCLATUbits;
381
382 __sfr __at 0xFFC STKPTR;
383 volatile __STKPTR_t __at 0xFFC STKPTRbits;
384
385 __sfr __at 0xFFD TOSL;
386
387 __sfr __at 0xFFE TOSH;
388
389 __sfr __at 0xFFF TOSU;
390 volatile __TOSU_t __at 0xFFF TOSUbits;
391