* device/include/pic16/pic18f2221.h,
[fw/sdcc] / device / include / pic16 / pic18f2331.h
1 /* 
2  * pic18f2331.h - device specific declarations
3  *
4  * This file is part of the GNU PIC library for SDCC,
5  * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
6  *
7  * It has been automatically generated by inc2h-pic16.pl,
8  * (c) 2007 by Raphael Neider <rneider AT web.de>
9  */
10
11 #ifndef __PIC18F2331_H__
12 #define __PIC18F2331_H__ 1
13
14
15
16 // Configuration Bits
17 #define __CONFIG1H              0x300001
18 #define __CONFIG2L              0x300002
19 #define __CONFIG2H              0x300003
20 #define __CONFIG3L              0x300004
21 #define __CONFIG3H              0x300005
22 #define __CONFIG4L              0x300006
23 #define __CONFIG5L              0x300008
24 #define __CONFIG5H              0x300009
25 #define __CONFIG6L              0x30000A
26 #define __CONFIG6H              0x30000B
27 #define __CONFIG7L              0x30000C
28 #define __CONFIG7H              0x30000D
29
30 // CONFIG1H Options
31 #define _OSC_LP_1H              0xF0     // LP
32 #define _OSC_XT_1H              0xF1     // XT
33 #define _OSC_HS_1H              0xF2     // HS
34 #define _OSC_RC2_1H             0xF3     // External RC, RA6 is CLKOUT
35 #define _OSC_EC_1H              0xF4     // EC, RA6 is CLKOUT
36 #define _OSC_ECIO_1H            0xF5     // EC, RA6 is I/O
37 #define _OSC_HSPLL_1H           0xF6     // HS-PLL Enabled
38 #define _OSC_RCIO_1H            0xF7     // External RC, RA6 is I/O
39 #define _OSC_IRCIO_1H           0xF8     // Internal RC, RA6 & RA7 are I/O
40 #define _OSC_IRC_1H             0xF9     // Internal RC, RA6 is CLKOUT, RA7 is I/O
41 #define _OSC_RC1_1H             0xFB     // External RC, RA6 is CLKOUT
42 #define _OSC_RC_1H              0xFF     // External RC, RA6 is CLKOUT
43 #define _FCMEN_OFF_1H           0xBF     // Disabled
44 #define _FCMEN_ON_1H            0xFF     // Enabled
45 #define _IESO_OFF_1H            0x7F     // Disabled
46 #define _IESO_ON_1H             0xFF     // Enabled
47
48 // CONFIG2L Options
49 #define _PWRTEN_ON_2L           0xFE     // Enabled
50 #define _PWRTEN_OFF_2L          0xFF     // Disabled
51 #define _BOREN_OFF_2L           0xFD     // Disabled
52 #define _BOREN_ON_2L            0xFF     // Enabled
53 #define _BORV_45_2L             0xF3     // 4.5V
54 #define _BORV_42_2L             0xF7     // 4.2V
55 #define _BORV_27_2L             0xFB     // 2.7V
56 #define _BORV_20_2L             0xFF     // 2.0V
57
58 // CONFIG2H Options
59 #define _WDTEN_OFF_2H           0xFE     // Disabled
60 #define _WDTEN_ON_2H            0xFF     // Enabled
61 #define _WINEN_ON_2H            0xDF     // Enabled
62 #define _WINEN_OFF_2H           0xFF     // Disabled
63 #define _WDPS_1_2H              0xE1     // 1:1
64 #define _WDPS_2_2H              0xE3     // 1:2
65 #define _WDPS_4_2H              0xE5     // 1:4
66 #define _WDPS_8_2H              0xE7     // 1:8
67 #define _WDPS_16_2H             0xE9     // 1:16
68 #define _WDPS_32_2H             0xEB     // 1:32
69 #define _WDPS_64_2H             0xED     // 1:64
70 #define _WDPS_128_2H            0xEF     // 1:128
71 #define _WDPS_256_2H            0xF1     // 1:256
72 #define _WDPS_512_2H            0xF3     // 1:512
73 #define _WDPS_1024_2H           0xF5     // 1:1024
74 #define _WDPS_2048_2H           0xF7     // 1:2048
75 #define _WDPS_4096_2H           0xF9     // 1:4096
76 #define _WDPS_8192_2H           0xFB     // 1:8192
77 #define _WDPS_16384_2H          0xFD     // 1:16384
78 #define _WDPS_32768_2H          0xFF     // 1:32768
79
80 // CONFIG3L Options
81 #define _T1OSCMX_OFF_3L         0xDF     // Active
82 #define _T1OSCMX_ON_3L          0xFF     // Inactive
83 #define _HPOL_LOW_3L            0xEF     // Active low
84 #define _HPOL_HIGH_3L           0xFF     // Active high
85 #define _LPOL_LOW_3L            0xF7     // Active low
86 #define _LPOL_HIGH_3L           0xFF     // Active high
87 #define _PWMPIN_ON_3L           0xFB     // Enabled
88 #define _PWMPIN_OFF_3L          0xFF     // Disabled
89
90 // CONFIG3H Options
91 #define _MCLRE_OFF_3H           0x7F     // Disabled
92 #define _MCLRE_ON_3H            0xFF     // Enabled
93
94 // CONFIG4L Options
95 #define _STVREN_OFF_4L          0xFE     // Disabled
96 #define _STVREN_ON_4L           0xFF     // Enabled
97 #define _LVP_OFF_4L             0xFB     // Disabled
98 #define _LVP_ON_4L              0xFF     // Enabled
99 #define _DEBUG_ON_4L            0x7F     // Enabled
100 #define _DEBUG_OFF_4L           0xFF     // Disabled
101
102 // CONFIG5L Options
103 #define _CP0_ON_5L              0xFE     // Enabled
104 #define _CP0_OFF_5L             0xFF     // Disabled
105 #define _CP1_ON_5L              0xFD     // Enabled
106 #define _CP1_OFF_5L             0xFF     // Disabled
107
108 // CONFIG5H Options
109 #define _CPB_ON_5H              0xBF     // Enabled
110 #define _CPB_OFF_5H             0xFF     // Disabled
111 #define _CPD_ON_5H              0x7F     // Enabled
112 #define _CPD_OFF_5H             0xFF     // Disabled
113
114 // CONFIG6L Options
115 #define _WRT0_ON_6L             0xFE     // Enabled
116 #define _WRT0_OFF_6L            0xFF     // Disabled
117 #define _WRT1_ON_6L             0xFD     // Enabled
118 #define _WRT1_OFF_6L            0xFF     // Disabled
119
120 // CONFIG6H Options
121 #define _WRTB_ON_6H             0xBF     // Enabled
122 #define _WRTB_OFF_6H            0xFF     // Disabled
123 #define _WRTC_ON_6H             0xDF     // Enabled
124 #define _WRTC_OFF_6H            0xFF     // Disabled
125 #define _WRTD_ON_6H             0x7F     // Enabled
126 #define _WRTD_OFF_6H            0xFF     // Disabled
127
128 // CONFIG7L Options
129 #define _EBTR0_ON_7L            0xFE     // Enabled
130 #define _EBTR0_OFF_7L           0xFF     // Disabled
131 #define _EBTR1_ON_7L            0xFD     // Enabled
132 #define _EBTR1_OFF_7L           0xFF     // Disabled
133
134 // CONFIG7H Options
135 #define _EBTRB_ON_7H            0xBF     // Enabled
136 #define _EBTRB_OFF_7H           0xFF     // Disabled
137 #define _DEVID1                 0x3FFFFE
138 #define _DEVID2                 0x3FFFFF
139 #define _IDLOC0                 0x200000
140 #define _IDLOC1                 0x200001
141 #define _IDLOC2                 0x200002
142 #define _IDLOC3                 0x200003
143 #define _IDLOC4                 0x200004
144 #define _IDLOC5                 0x200005
145 #define _IDLOC6                 0x200006
146 #define _IDLOC7                 0x200007
147
148 extern __sfr __at (0xF60) DFLTCON;
149 typedef union {
150         struct {
151                 unsigned FLTCK0         : 1;
152                 unsigned FLTCK1         : 1;
153                 unsigned FLTCK2         : 1;
154                 unsigned FLT1EN         : 1;
155                 unsigned FLT2EN         : 1;
156                 unsigned FLT3EN         : 1;
157                 unsigned FLT4EN         : 1;
158                 unsigned                : 1;
159         };
160 } __DFLTCONbits_t;
161 extern volatile __DFLTCONbits_t __at (0xF60) DFLTCONbits;
162
163 extern __sfr __at (0xF61) CAP3CON;
164 typedef union {
165         struct {
166                 unsigned CAP3M0         : 1;
167                 unsigned CAP3M1         : 1;
168                 unsigned CAP3M2         : 1;
169                 unsigned CAP3M3         : 1;
170                 unsigned                : 1;
171                 unsigned CAP3TMR        : 1;
172                 unsigned CAP3REN        : 1;
173                 unsigned                : 1;
174         };
175 } __CAP3CONbits_t;
176 extern volatile __CAP3CONbits_t __at (0xF61) CAP3CONbits;
177
178 extern __sfr __at (0xF62) CAP2CON;
179 typedef union {
180         struct {
181                 unsigned CAP2M0         : 1;
182                 unsigned CAP2M1         : 1;
183                 unsigned CAP2M2         : 1;
184                 unsigned CAP2M3         : 1;
185                 unsigned                : 1;
186                 unsigned CAP2TMR        : 1;
187                 unsigned CAP2REN        : 1;
188                 unsigned                : 1;
189         };
190 } __CAP2CONbits_t;
191 extern volatile __CAP2CONbits_t __at (0xF62) CAP2CONbits;
192
193 extern __sfr __at (0xF63) CAP1CON;
194 typedef union {
195         struct {
196                 unsigned CAP1M0         : 1;
197                 unsigned CAP1M1         : 1;
198                 unsigned CAP1M2         : 1;
199                 unsigned CAP1M3         : 1;
200                 unsigned                : 1;
201                 unsigned CAP1TMR        : 1;
202                 unsigned CAP1REN        : 1;
203                 unsigned                : 1;
204         };
205 } __CAP1CONbits_t;
206 extern volatile __CAP1CONbits_t __at (0xF63) CAP1CONbits;
207
208 extern __sfr __at (0xF64) CAP3BUFL;
209
210 extern __sfr __at (0xF64) MAXCNTL;
211
212 extern __sfr __at (0xF65) CAP3BUFH;
213
214 extern __sfr __at (0xF65) MAXCNTH;
215
216 extern __sfr __at (0xF66) CAP2BUFL;
217
218 extern __sfr __at (0xF66) POSCNTL;
219
220 extern __sfr __at (0xF67) CAP2BUFH;
221
222 extern __sfr __at (0xF67) POSCNTH;
223
224 extern __sfr __at (0xF68) CAP1BUFL;
225
226 extern __sfr __at (0xF68) VELRL;
227
228 extern __sfr __at (0xF69) CAP1BUFH;
229
230 extern __sfr __at (0xF69) VELRH;
231
232 extern __sfr __at (0xF6A) OVDCONS;
233 typedef union {
234         struct {
235                 unsigned POUT0          : 1;
236                 unsigned POUT1          : 1;
237                 unsigned POUT2          : 1;
238                 unsigned POUT3          : 1;
239                 unsigned POUT4          : 1;
240                 unsigned POUT5          : 1;
241                 unsigned POUT6          : 1;
242                 unsigned POUT7          : 1;
243         };
244 } __OVDCONSbits_t;
245 extern volatile __OVDCONSbits_t __at (0xF6A) OVDCONSbits;
246
247 extern __sfr __at (0xF6B) OVDCOND;
248 typedef union {
249         struct {
250                 unsigned POVD0          : 1;
251                 unsigned POVD1          : 1;
252                 unsigned POVD2          : 1;
253                 unsigned POVD3          : 1;
254                 unsigned POVD4          : 1;
255                 unsigned POVD5          : 1;
256                 unsigned POVD6          : 1;
257                 unsigned POVD7          : 1;
258         };
259 } __OVDCONDbits_t;
260 extern volatile __OVDCONDbits_t __at (0xF6B) OVDCONDbits;
261
262 extern __sfr __at (0xF6C) FLTCONFIG;
263 typedef union {
264         struct {
265                 unsigned FLTAEN         : 1;
266                 unsigned FLTAMOD        : 1;
267                 unsigned FLTAS          : 1;
268                 unsigned FLTCON         : 1;
269                 unsigned FLTBEN         : 1;
270                 unsigned FLTBMOD        : 1;
271                 unsigned FLTBS          : 1;
272                 unsigned                : 1;
273         };
274 } __FLTCONFIGbits_t;
275 extern volatile __FLTCONFIGbits_t __at (0xF6C) FLTCONFIGbits;
276
277 extern __sfr __at (0xF6D) DTCON;
278 typedef union {
279         struct {
280                 unsigned DT0            : 1;
281                 unsigned DT1            : 1;
282                 unsigned DT2            : 1;
283                 unsigned DT3            : 1;
284                 unsigned DT4            : 1;
285                 unsigned DT5            : 1;
286                 unsigned DTPS0          : 1;
287                 unsigned DTPS1          : 1;
288         };
289         struct {
290                 unsigned DTA0           : 1;
291                 unsigned DTA1           : 1;
292                 unsigned DTA2           : 1;
293                 unsigned DTA3           : 1;
294                 unsigned DTA4           : 1;
295                 unsigned DTA5           : 1;
296                 unsigned DTAPS0         : 1;
297                 unsigned DTAPS1         : 1;
298         };
299 } __DTCONbits_t;
300 extern volatile __DTCONbits_t __at (0xF6D) DTCONbits;
301
302 extern __sfr __at (0xF6E) PWMCON1;
303 typedef union {
304         struct {
305                 unsigned OSYNC          : 1;
306                 unsigned UDIS           : 1;
307                 unsigned                : 1;
308                 unsigned SEVTDIR        : 1;
309                 unsigned SEVOPS0        : 1;
310                 unsigned SEVOPS1        : 1;
311                 unsigned SEVOPS2        : 1;
312                 unsigned SEVOPS3        : 1;
313         };
314 } __PWMCON1bits_t;
315 extern volatile __PWMCON1bits_t __at (0xF6E) PWMCON1bits;
316
317 extern __sfr __at (0xF6F) PWMCON0;
318 typedef union {
319         struct {
320                 unsigned PMOD0          : 1;
321                 unsigned PMOD1          : 1;
322                 unsigned PMOD2          : 1;
323                 unsigned PMOD3          : 1;
324                 unsigned PWMEN0         : 1;
325                 unsigned PWMEN1         : 1;
326                 unsigned PWMEN2         : 1;
327                 unsigned                : 1;
328         };
329 } __PWMCON0bits_t;
330 extern volatile __PWMCON0bits_t __at (0xF6F) PWMCON0bits;
331
332 extern __sfr __at (0xF70) SEVTCMPH;
333
334 extern __sfr __at (0xF71) SEVTCMPL;
335
336 extern __sfr __at (0xF72) PDC3H;
337
338 extern __sfr __at (0xF73) PDC3L;
339
340 extern __sfr __at (0xF74) PDC2H;
341
342 extern __sfr __at (0xF75) PDC2L;
343
344 extern __sfr __at (0xF76) PDC1H;
345
346 extern __sfr __at (0xF77) PDC1L;
347
348 extern __sfr __at (0xF78) PDC0H;
349
350 extern __sfr __at (0xF79) PDC0L;
351
352 extern __sfr __at (0xF7A) PTPERH;
353
354 extern __sfr __at (0xF7B) PTPERL;
355
356 extern __sfr __at (0xF7C) PTMRH;
357
358 extern __sfr __at (0xF7D) PTMRL;
359
360 extern __sfr __at (0xF7E) PTCON1;
361 typedef union {
362         struct {
363                 unsigned                : 1;
364                 unsigned                : 1;
365                 unsigned                : 1;
366                 unsigned                : 1;
367                 unsigned                : 1;
368                 unsigned                : 1;
369                 unsigned PTDIR          : 1;
370                 unsigned PTEN           : 1;
371         };
372 } __PTCON1bits_t;
373 extern volatile __PTCON1bits_t __at (0xF7E) PTCON1bits;
374
375 extern __sfr __at (0xF7F) PTCON0;
376 typedef union {
377         struct {
378                 unsigned PTMOD0         : 1;
379                 unsigned PTMOD1         : 1;
380                 unsigned PTCKPS0        : 1;
381                 unsigned PTCKPS1        : 1;
382                 unsigned PTOPS0         : 1;
383                 unsigned PTOPS1         : 1;
384                 unsigned PTOPS2         : 1;
385                 unsigned PTOPS3         : 1;
386         };
387 } __PTCON0bits_t;
388 extern volatile __PTCON0bits_t __at (0xF7F) PTCON0bits;
389
390 extern __sfr __at (0xF80) PORTA;
391 typedef union {
392         struct {
393                 unsigned RA0            : 1;
394                 unsigned RA1            : 1;
395                 unsigned RA2            : 1;
396                 unsigned RA3            : 1;
397                 unsigned RA4            : 1;
398                 unsigned RA5            : 1;
399                 unsigned RA6            : 1;
400                 unsigned RA7            : 1;
401         };
402         struct {
403                 unsigned AN0            : 1;
404                 unsigned AN1            : 1;
405                 unsigned AN2            : 1;
406                 unsigned AN3            : 1;
407                 unsigned AN4            : 1;
408                 unsigned AN5            : 1;
409                 unsigned OSC2           : 1;
410                 unsigned                : 1;
411         };
412         struct {
413                 unsigned                : 1;
414                 unsigned                : 1;
415                 unsigned VREFM          : 1;
416                 unsigned VREFP          : 1;
417                 unsigned                : 1;
418                 unsigned LVDIN          : 1;
419                 unsigned CLKO           : 1;
420                 unsigned                : 1;
421         };
422 } __PORTAbits_t;
423 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
424
425 extern __sfr __at (0xF81) PORTB;
426 typedef union {
427         struct {
428                 unsigned RB0            : 1;
429                 unsigned RB1            : 1;
430                 unsigned RB2            : 1;
431                 unsigned RB3            : 1;
432                 unsigned RB4            : 1;
433                 unsigned RB5            : 1;
434                 unsigned RB6            : 1;
435                 unsigned RB7            : 1;
436         };
437 } __PORTBbits_t;
438 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
439
440 extern __sfr __at (0xF82) PORTC;
441 typedef union {
442         struct {
443                 unsigned RC0            : 1;
444                 unsigned RC1            : 1;
445                 unsigned RC2            : 1;
446                 unsigned RC3            : 1;
447                 unsigned RC4            : 1;
448                 unsigned RC5            : 1;
449                 unsigned RC6            : 1;
450                 unsigned RC7            : 1;
451         };
452         struct {
453                 unsigned T1OSO          : 1;
454                 unsigned T1OSI          : 1;
455                 unsigned CCP1           : 1;
456                 unsigned INT0           : 1;
457                 unsigned INT1           : 1;
458                 unsigned INT2           : 1;
459                 unsigned TX             : 1;
460                 unsigned RX             : 1;
461         };
462         struct {
463                 unsigned T13CKI         : 1;
464                 unsigned CCP2           : 1;
465                 unsigned NOT_FLTB       : 1;
466                 unsigned T0CKI          : 1;
467                 unsigned SDA            : 1;
468                 unsigned SCK            : 1;
469                 unsigned CK             : 1;
470                 unsigned DT             : 1;
471         };
472         struct {
473                 unsigned                : 1;
474                 unsigned NOT_FLTA       : 1;
475                 unsigned FLTB           : 1;
476                 unsigned T5CKI          : 1;
477                 unsigned SDI            : 1;
478                 unsigned SCL            : 1;
479                 unsigned NOT_SS         : 1;
480                 unsigned SDO            : 1;
481         };
482         struct {
483                 unsigned                : 1;
484                 unsigned FLTA           : 1;
485                 unsigned                : 1;
486                 unsigned                : 1;
487                 unsigned                : 1;
488                 unsigned                : 1;
489                 unsigned SS             : 1;
490                 unsigned                : 1;
491         };
492 } __PORTCbits_t;
493 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
494
495 extern __sfr __at (0xF84) PORTE;
496 typedef union {
497         struct {
498                 unsigned                : 1;
499                 unsigned                : 1;
500                 unsigned                : 1;
501                 unsigned RE3            : 1;
502                 unsigned                : 1;
503                 unsigned                : 1;
504                 unsigned                : 1;
505                 unsigned                : 1;
506         };
507 } __PORTEbits_t;
508 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
509
510 extern __sfr __at (0xF87) TMR5L;
511
512 extern __sfr __at (0xF88) TMR5H;
513
514 extern __sfr __at (0xF89) LATA;
515 typedef union {
516         struct {
517                 unsigned LATA0          : 1;
518                 unsigned LATA1          : 1;
519                 unsigned LATA2          : 1;
520                 unsigned LATA3          : 1;
521                 unsigned LATA4          : 1;
522                 unsigned LATA5          : 1;
523                 unsigned LATA6          : 1;
524                 unsigned LATA7          : 1;
525         };
526 } __LATAbits_t;
527 extern volatile __LATAbits_t __at (0xF89) LATAbits;
528
529 extern __sfr __at (0xF8A) LATB;
530 typedef union {
531         struct {
532                 unsigned LATB0          : 1;
533                 unsigned LATB1          : 1;
534                 unsigned LATB2          : 1;
535                 unsigned LATB3          : 1;
536                 unsigned LATB4          : 1;
537                 unsigned LATB5          : 1;
538                 unsigned LATB6          : 1;
539                 unsigned LATB7          : 1;
540         };
541 } __LATBbits_t;
542 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
543
544 extern __sfr __at (0xF8B) LATC;
545 typedef union {
546         struct {
547                 unsigned LATC0          : 1;
548                 unsigned LATC1          : 1;
549                 unsigned LATC2          : 1;
550                 unsigned LATC3          : 1;
551                 unsigned LATC4          : 1;
552                 unsigned LATC5          : 1;
553                 unsigned LATC6          : 1;
554                 unsigned LATC7          : 1;
555         };
556 } __LATCbits_t;
557 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
558
559 extern __sfr __at (0xF90) PR5L;
560
561 extern __sfr __at (0xF91) PR5H;
562
563 extern __sfr __at (0xF92) DDRA;
564 typedef union {
565         struct {
566                 unsigned RA0            : 1;
567                 unsigned RA1            : 1;
568                 unsigned RA2            : 1;
569                 unsigned RA3            : 1;
570                 unsigned RA4            : 1;
571                 unsigned RA5            : 1;
572                 unsigned RA6            : 1;
573                 unsigned RA7            : 1;
574         };
575 } __DDRAbits_t;
576 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
577
578 extern __sfr __at (0xF92) TRISA;
579 typedef union {
580         struct {
581                 unsigned TRISA0         : 1;
582                 unsigned TRISA1         : 1;
583                 unsigned TRISA2         : 1;
584                 unsigned TRISA3         : 1;
585                 unsigned TRISA4         : 1;
586                 unsigned TRISA5         : 1;
587                 unsigned TRISA6         : 1;
588                 unsigned TRISA7         : 1;
589         };
590 } __TRISAbits_t;
591 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
592
593 extern __sfr __at (0xF93) DDRB;
594 typedef union {
595         struct {
596                 unsigned RB0            : 1;
597                 unsigned RB1            : 1;
598                 unsigned RB2            : 1;
599                 unsigned RB3            : 1;
600                 unsigned RB4            : 1;
601                 unsigned RB5            : 1;
602                 unsigned RB6            : 1;
603                 unsigned RB7            : 1;
604         };
605 } __DDRBbits_t;
606 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
607
608 extern __sfr __at (0xF93) TRISB;
609 typedef union {
610         struct {
611                 unsigned TRISB0         : 1;
612                 unsigned TRISB1         : 1;
613                 unsigned TRISB2         : 1;
614                 unsigned TRISB3         : 1;
615                 unsigned TRISB4         : 1;
616                 unsigned TRISB5         : 1;
617                 unsigned TRISB6         : 1;
618                 unsigned TRISB7         : 1;
619         };
620 } __TRISBbits_t;
621 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
622
623 extern __sfr __at (0xF94) DDRC;
624 typedef union {
625         struct {
626                 unsigned RC0            : 1;
627                 unsigned RC1            : 1;
628                 unsigned RC2            : 1;
629                 unsigned RC3            : 1;
630                 unsigned RC4            : 1;
631                 unsigned RC5            : 1;
632                 unsigned RC6            : 1;
633                 unsigned RC7            : 1;
634         };
635 } __DDRCbits_t;
636 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
637
638 extern __sfr __at (0xF94) TRISC;
639 typedef union {
640         struct {
641                 unsigned TRISC0         : 1;
642                 unsigned TRISC1         : 1;
643                 unsigned TRISC2         : 1;
644                 unsigned TRISC3         : 1;
645                 unsigned TRISC4         : 1;
646                 unsigned TRISC5         : 1;
647                 unsigned TRISC6         : 1;
648                 unsigned TRISC7         : 1;
649         };
650 } __TRISCbits_t;
651 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
652
653 extern __sfr __at (0xF99) ADCHS;
654 typedef union {
655         struct {
656                 unsigned GASEL0         : 1;
657                 unsigned GASEL1         : 1;
658                 unsigned GCSEL0         : 1;
659                 unsigned GCSEL1         : 1;
660                 unsigned GBSEL0         : 1;
661                 unsigned GBSEL1         : 1;
662                 unsigned GDSEL0         : 1;
663                 unsigned GDSEL1         : 1;
664         };
665         struct {
666                 unsigned SASEL0         : 1;
667                 unsigned SASEL1         : 1;
668                 unsigned SCSEL0         : 1;
669                 unsigned SCSEL1         : 1;
670                 unsigned SBSEL0         : 1;
671                 unsigned SBSEL1         : 1;
672                 unsigned SDSEL0         : 1;
673                 unsigned SDSEL1         : 1;
674         };
675 } __ADCHSbits_t;
676 extern volatile __ADCHSbits_t __at (0xF99) ADCHSbits;
677
678 extern __sfr __at (0xF9A) ADCON3;
679 typedef union {
680         struct {
681                 unsigned SSRC0          : 1;
682                 unsigned SSRC1          : 1;
683                 unsigned SSRC2          : 1;
684                 unsigned SSRC3          : 1;
685                 unsigned SSRC4          : 1;
686                 unsigned                : 1;
687                 unsigned ADRS0          : 1;
688                 unsigned ADRS1          : 1;
689         };
690 } __ADCON3bits_t;
691 extern volatile __ADCON3bits_t __at (0xF9A) ADCON3bits;
692
693 extern __sfr __at (0xF9B) OSCTUNE;
694 typedef union {
695         struct {
696                 unsigned TUN0           : 1;
697                 unsigned TUN1           : 1;
698                 unsigned TUN2           : 1;
699                 unsigned TUN3           : 1;
700                 unsigned TUN4           : 1;
701                 unsigned TUN5           : 1;
702                 unsigned                : 1;
703                 unsigned                : 1;
704         };
705 } __OSCTUNEbits_t;
706 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
707
708 extern __sfr __at (0xF9D) PIE1;
709 typedef union {
710         struct {
711                 unsigned TMR1IE         : 1;
712                 unsigned TMR2IE         : 1;
713                 unsigned CCP1IE         : 1;
714                 unsigned SSPIE          : 1;
715                 unsigned TBIE           : 1;
716                 unsigned RCIE           : 1;
717                 unsigned ADIE           : 1;
718                 unsigned                : 1;
719         };
720         struct {
721                 unsigned                : 1;
722                 unsigned                : 1;
723                 unsigned                : 1;
724                 unsigned                : 1;
725                 unsigned TXIE           : 1;
726                 unsigned                : 1;
727                 unsigned                : 1;
728                 unsigned                : 1;
729         };
730 } __PIE1bits_t;
731 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
732
733 extern __sfr __at (0xF9E) PIR1;
734 typedef union {
735         struct {
736                 unsigned TMR1IF         : 1;
737                 unsigned TMR2IF         : 1;
738                 unsigned CCP1IF         : 1;
739                 unsigned SSPIF          : 1;
740                 unsigned TBIF           : 1;
741                 unsigned RCIF           : 1;
742                 unsigned ADIF           : 1;
743                 unsigned                : 1;
744         };
745         struct {
746                 unsigned                : 1;
747                 unsigned                : 1;
748                 unsigned                : 1;
749                 unsigned                : 1;
750                 unsigned TXIF           : 1;
751                 unsigned                : 1;
752                 unsigned                : 1;
753                 unsigned                : 1;
754         };
755 } __PIR1bits_t;
756 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
757
758 extern __sfr __at (0xF9F) IPR1;
759 typedef union {
760         struct {
761                 unsigned TMR1IP         : 1;
762                 unsigned TMR2IP         : 1;
763                 unsigned CCP1IP         : 1;
764                 unsigned SSPIP          : 1;
765                 unsigned TBIP           : 1;
766                 unsigned RCIP           : 1;
767                 unsigned ADIP           : 1;
768                 unsigned                : 1;
769         };
770         struct {
771                 unsigned                : 1;
772                 unsigned                : 1;
773                 unsigned                : 1;
774                 unsigned                : 1;
775                 unsigned TXIP           : 1;
776                 unsigned                : 1;
777                 unsigned                : 1;
778                 unsigned                : 1;
779         };
780 } __IPR1bits_t;
781 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
782
783 extern __sfr __at (0xFA0) PIE2;
784 typedef union {
785         struct {
786                 unsigned CCP2IE         : 1;
787                 unsigned                : 1;
788                 unsigned LVDIE          : 1;
789                 unsigned                : 1;
790                 unsigned EEIE           : 1;
791                 unsigned                : 1;
792                 unsigned                : 1;
793                 unsigned OSFIE          : 1;
794         };
795 } __PIE2bits_t;
796 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
797
798 extern __sfr __at (0xFA1) PIR2;
799 typedef union {
800         struct {
801                 unsigned CCP2IF         : 1;
802                 unsigned                : 1;
803                 unsigned LVDIF          : 1;
804                 unsigned                : 1;
805                 unsigned EEIF           : 1;
806                 unsigned                : 1;
807                 unsigned                : 1;
808                 unsigned OSFIF          : 1;
809         };
810 } __PIR2bits_t;
811 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
812
813 extern __sfr __at (0xFA2) IPR2;
814 typedef union {
815         struct {
816                 unsigned CCP2IP         : 1;
817                 unsigned                : 1;
818                 unsigned LVDIP          : 1;
819                 unsigned                : 1;
820                 unsigned EEIP           : 1;
821                 unsigned                : 1;
822                 unsigned                : 1;
823                 unsigned OSFIP          : 1;
824         };
825 } __IPR2bits_t;
826 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
827
828 extern __sfr __at (0xFA3) PIE3;
829 typedef union {
830         struct {
831                 unsigned TMR5IE         : 1;
832                 unsigned IC1IE          : 1;
833                 unsigned IC2QEIE        : 1;
834                 unsigned IC3DRIE        : 1;
835                 unsigned PTIE           : 1;
836                 unsigned                : 1;
837                 unsigned                : 1;
838                 unsigned                : 1;
839         };
840 } __PIE3bits_t;
841 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
842
843 extern __sfr __at (0xFA4) PIR3;
844 typedef union {
845         struct {
846                 unsigned TMR5IF         : 1;
847                 unsigned IC1IF          : 1;
848                 unsigned IC2QEIF        : 1;
849                 unsigned IC3DRIF        : 1;
850                 unsigned PTIF           : 1;
851                 unsigned                : 1;
852                 unsigned                : 1;
853                 unsigned                : 1;
854         };
855 } __PIR3bits_t;
856 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
857
858 extern __sfr __at (0xFA5) IPR3;
859 typedef union {
860         struct {
861                 unsigned TMR5IP         : 1;
862                 unsigned IC1IP          : 1;
863                 unsigned IC2QEIP        : 1;
864                 unsigned IC3DRIP        : 1;
865                 unsigned PTIP           : 1;
866                 unsigned                : 1;
867                 unsigned                : 1;
868                 unsigned                : 1;
869         };
870 } __IPR3bits_t;
871 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
872
873 extern __sfr __at (0xFA6) EECON1;
874 typedef union {
875         struct {
876                 unsigned RD             : 1;
877                 unsigned WR             : 1;
878                 unsigned WREN           : 1;
879                 unsigned WRERR          : 1;
880                 unsigned FREE           : 1;
881                 unsigned                : 1;
882                 unsigned CFGS           : 1;
883                 unsigned EEPGD          : 1;
884         };
885 } __EECON1bits_t;
886 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
887
888 extern __sfr __at (0xFA7) EECON2;
889
890 extern __sfr __at (0xFA8) EEDATA;
891
892 extern __sfr __at (0xFA9) EEADR;
893
894 extern __sfr __at (0xFAA) BAUDCON;
895 typedef union {
896         struct {
897                 unsigned ABDEN          : 1;
898                 unsigned WUE            : 1;
899                 unsigned                : 1;
900                 unsigned BRG16          : 1;
901                 unsigned SCKP           : 1;
902                 unsigned                : 1;
903                 unsigned RCIDL          : 1;
904                 unsigned                : 1;
905         };
906 } __BAUDCONbits_t;
907 extern volatile __BAUDCONbits_t __at (0xFAA) BAUDCONbits;
908
909 extern __sfr __at (0xFAA) BAUDCTL;
910 typedef union {
911         struct {
912                 unsigned ABDEN          : 1;
913                 unsigned WUE            : 1;
914                 unsigned                : 1;
915                 unsigned BRG16          : 1;
916                 unsigned SCKP           : 1;
917                 unsigned                : 1;
918                 unsigned RCIDL          : 1;
919                 unsigned                : 1;
920         };
921 } __BAUDCTLbits_t;
922 extern volatile __BAUDCTLbits_t __at (0xFAA) BAUDCTLbits;
923
924 extern __sfr __at (0xFAB) RCSTA;
925 typedef union {
926         struct {
927                 unsigned RX9D           : 1;
928                 unsigned OERR           : 1;
929                 unsigned FERR           : 1;
930                 unsigned ADEN           : 1;
931                 unsigned CREN           : 1;
932                 unsigned SREN           : 1;
933                 unsigned RX9            : 1;
934                 unsigned SPEN           : 1;
935         };
936 } __RCSTAbits_t;
937 extern volatile __RCSTAbits_t __at (0xFAB) RCSTAbits;
938
939 extern __sfr __at (0xFAC) TXSTA;
940 typedef union {
941         struct {
942                 unsigned TX9D           : 1;
943                 unsigned TRMT           : 1;
944                 unsigned BRGH           : 1;
945                 unsigned SENDB          : 1;
946                 unsigned SYNC           : 1;
947                 unsigned TXEN           : 1;
948                 unsigned TX9            : 1;
949                 unsigned CSRC           : 1;
950         };
951 } __TXSTAbits_t;
952 extern volatile __TXSTAbits_t __at (0xFAC) TXSTAbits;
953
954 extern __sfr __at (0xFAD) TXREG;
955
956 extern __sfr __at (0xFAE) RCREG;
957
958 extern __sfr __at (0xFAF) SPBRG;
959
960 extern __sfr __at (0xFB0) SPBRGH;
961
962 extern __sfr __at (0xFB6) QEICON;
963 typedef union {
964         struct {
965                 unsigned PDEC0          : 1;
966                 unsigned PDEC1          : 1;
967                 unsigned QEIM0          : 1;
968                 unsigned QEIM1          : 1;
969                 unsigned QEIM2          : 1;
970                 unsigned UP_DOWN        : 1;
971                 unsigned ERROR          : 1;
972                 unsigned VELM           : 1;
973         };
974         struct {
975                 unsigned                : 1;
976                 unsigned                : 1;
977                 unsigned                : 1;
978                 unsigned                : 1;
979                 unsigned                : 1;
980                 unsigned UP             : 1;
981                 unsigned                : 1;
982                 unsigned NOT_VELM       : 1;
983         };
984         struct {
985                 unsigned                : 1;
986                 unsigned                : 1;
987                 unsigned                : 1;
988                 unsigned                : 1;
989                 unsigned                : 1;
990                 unsigned DOWN           : 1;
991                 unsigned                : 1;
992                 unsigned                : 1;
993         };
994         struct {
995                 unsigned                : 1;
996                 unsigned                : 1;
997                 unsigned                : 1;
998                 unsigned                : 1;
999                 unsigned                : 1;
1000                 unsigned NOT_DOWN       : 1;
1001                 unsigned                : 1;
1002                 unsigned                : 1;
1003         };
1004 } __QEICONbits_t;
1005 extern volatile __QEICONbits_t __at (0xFB6) QEICONbits;
1006
1007 extern __sfr __at (0xFB7) T5CON;
1008 typedef union {
1009         struct {
1010                 unsigned TMR5ON         : 1;
1011                 unsigned TMR5CS         : 1;
1012                 unsigned T5SYNC         : 1;
1013                 unsigned T5PS0          : 1;
1014                 unsigned T5PS1          : 1;
1015                 unsigned T5MOD          : 1;
1016                 unsigned RESEN          : 1;
1017                 unsigned T5SEN          : 1;
1018         };
1019         struct {
1020                 unsigned                : 1;
1021                 unsigned                : 1;
1022                 unsigned NOT_T5SYNC     : 1;
1023                 unsigned                : 1;
1024                 unsigned                : 1;
1025                 unsigned                : 1;
1026                 unsigned NOT_RESEN      : 1;
1027                 unsigned                : 1;
1028         };
1029 } __T5CONbits_t;
1030 extern volatile __T5CONbits_t __at (0xFB7) T5CONbits;
1031
1032 extern __sfr __at (0xFB8) ANSEL0;
1033 typedef union {
1034         struct {
1035                 unsigned ANS0           : 1;
1036                 unsigned ANS1           : 1;
1037                 unsigned ANS2           : 1;
1038                 unsigned ANS3           : 1;
1039                 unsigned ANS4           : 1;
1040                 unsigned                : 1;
1041                 unsigned                : 1;
1042                 unsigned                : 1;
1043         };
1044 } __ANSEL0bits_t;
1045 extern volatile __ANSEL0bits_t __at (0xFB8) ANSEL0bits;
1046
1047 extern __sfr __at (0xFBA) CCP2CON;
1048 typedef union {
1049         struct {
1050                 unsigned CCP2M0         : 1;
1051                 unsigned CCP2M1         : 1;
1052                 unsigned CCP2M2         : 1;
1053                 unsigned CCP2M3         : 1;
1054                 unsigned CCP2Y          : 1;
1055                 unsigned CCP2X          : 1;
1056                 unsigned                : 1;
1057                 unsigned                : 1;
1058         };
1059         struct {
1060                 unsigned                : 1;
1061                 unsigned                : 1;
1062                 unsigned                : 1;
1063                 unsigned                : 1;
1064                 unsigned DC2B0          : 1;
1065                 unsigned DC2B1          : 1;
1066                 unsigned                : 1;
1067                 unsigned                : 1;
1068         };
1069 } __CCP2CONbits_t;
1070 extern volatile __CCP2CONbits_t __at (0xFBA) CCP2CONbits;
1071
1072 extern __sfr __at (0xFBB) CCPR2;
1073
1074 extern __sfr __at (0xFBB) CCPR2L;
1075
1076 extern __sfr __at (0xFBC) CCPR2H;
1077
1078 extern __sfr __at (0xFBD) CCP1CON;
1079 typedef union {
1080         struct {
1081                 unsigned CCP1M0         : 1;
1082                 unsigned CCP1M1         : 1;
1083                 unsigned CCP1M2         : 1;
1084                 unsigned CCP1M3         : 1;
1085                 unsigned CCP1Y          : 1;
1086                 unsigned CCP1X          : 1;
1087                 unsigned                : 1;
1088                 unsigned                : 1;
1089         };
1090         struct {
1091                 unsigned                : 1;
1092                 unsigned                : 1;
1093                 unsigned                : 1;
1094                 unsigned                : 1;
1095                 unsigned DC1B0          : 1;
1096                 unsigned DC1B1          : 1;
1097                 unsigned                : 1;
1098                 unsigned                : 1;
1099         };
1100 } __CCP1CONbits_t;
1101 extern volatile __CCP1CONbits_t __at (0xFBD) CCP1CONbits;
1102
1103 extern __sfr __at (0xFBE) CCPR1;
1104
1105 extern __sfr __at (0xFBE) CCPR1L;
1106
1107 extern __sfr __at (0xFBF) CCPR1H;
1108
1109 extern __sfr __at (0xFC0) ADCON2;
1110 typedef union {
1111         struct {
1112                 unsigned ADCS0          : 1;
1113                 unsigned ADCS1          : 1;
1114                 unsigned ADCS2          : 1;
1115                 unsigned ACQT0          : 1;
1116                 unsigned ACQT1          : 1;
1117                 unsigned ACQT2          : 1;
1118                 unsigned ACQT3          : 1;
1119                 unsigned ADFM           : 1;
1120         };
1121 } __ADCON2bits_t;
1122 extern volatile __ADCON2bits_t __at (0xFC0) ADCON2bits;
1123
1124 extern __sfr __at (0xFC1) ADCON1;
1125 typedef union {
1126         struct {
1127                 unsigned ADPNT0         : 1;
1128                 unsigned ADPNT1         : 1;
1129                 unsigned BFOVFL         : 1;
1130                 unsigned BFEMT          : 1;
1131                 unsigned FIFOEN         : 1;
1132                 unsigned                : 1;
1133                 unsigned VCFG0          : 1;
1134                 unsigned VCFG1          : 1;
1135         };
1136         struct {
1137                 unsigned                : 1;
1138                 unsigned                : 1;
1139                 unsigned FFOVFL         : 1;
1140                 unsigned                : 1;
1141                 unsigned                : 1;
1142                 unsigned                : 1;
1143                 unsigned                : 1;
1144                 unsigned                : 1;
1145         };
1146 } __ADCON1bits_t;
1147 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
1148
1149 extern __sfr __at (0xFC2) ADCON0;
1150 typedef union {
1151         struct {
1152                 unsigned ADON           : 1;
1153                 unsigned GO_DONE        : 1;
1154                 unsigned ACMOD0         : 1;
1155                 unsigned ACMOD1         : 1;
1156                 unsigned ACSCH          : 1;
1157                 unsigned ACONV          : 1;
1158                 unsigned                : 1;
1159                 unsigned                : 1;
1160         };
1161         struct {
1162                 unsigned                : 1;
1163                 unsigned DONE           : 1;
1164                 unsigned                : 1;
1165                 unsigned                : 1;
1166                 unsigned                : 1;
1167                 unsigned                : 1;
1168                 unsigned                : 1;
1169                 unsigned                : 1;
1170         };
1171         struct {
1172                 unsigned                : 1;
1173                 unsigned GO             : 1;
1174                 unsigned                : 1;
1175                 unsigned                : 1;
1176                 unsigned                : 1;
1177                 unsigned                : 1;
1178                 unsigned                : 1;
1179                 unsigned                : 1;
1180         };
1181         struct {
1182                 unsigned                : 1;
1183                 unsigned NOT_DONE       : 1;
1184                 unsigned                : 1;
1185                 unsigned                : 1;
1186                 unsigned                : 1;
1187                 unsigned                : 1;
1188                 unsigned                : 1;
1189                 unsigned                : 1;
1190         };
1191 } __ADCON0bits_t;
1192 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
1193
1194 extern __sfr __at (0xFC3) ADRES;
1195
1196 extern __sfr __at (0xFC3) ADRESL;
1197
1198 extern __sfr __at (0xFC4) ADRESH;
1199
1200 extern __sfr __at (0xFC6) SSPCON;
1201 typedef union {
1202         struct {
1203                 unsigned SSPM0          : 1;
1204                 unsigned SSPM1          : 1;
1205                 unsigned SSPM2          : 1;
1206                 unsigned SSPM3          : 1;
1207                 unsigned CKP            : 1;
1208                 unsigned SSPEN          : 1;
1209                 unsigned SSPOV          : 1;
1210                 unsigned WCOL           : 1;
1211         };
1212 } __SSPCONbits_t;
1213 extern volatile __SSPCONbits_t __at (0xFC6) SSPCONbits;
1214
1215 extern __sfr __at (0xFC7) SSPSTAT;
1216 typedef union {
1217         struct {
1218                 unsigned BF             : 1;
1219                 unsigned UA             : 1;
1220                 unsigned R_W            : 1;
1221                 unsigned S              : 1;
1222                 unsigned P              : 1;
1223                 unsigned D_A            : 1;
1224                 unsigned CKE            : 1;
1225                 unsigned SMP            : 1;
1226         };
1227         struct {
1228                 unsigned                : 1;
1229                 unsigned                : 1;
1230                 unsigned NOT_W          : 1;
1231                 unsigned                : 1;
1232                 unsigned                : 1;
1233                 unsigned NOT_A          : 1;
1234                 unsigned                : 1;
1235                 unsigned                : 1;
1236         };
1237         struct {
1238                 unsigned                : 1;
1239                 unsigned                : 1;
1240                 unsigned NOT_WRITE      : 1;
1241                 unsigned                : 1;
1242                 unsigned                : 1;
1243                 unsigned NOT_ADDRESS    : 1;
1244                 unsigned                : 1;
1245                 unsigned                : 1;
1246         };
1247         struct {
1248                 unsigned                : 1;
1249                 unsigned                : 1;
1250                 unsigned READ_WRITE     : 1;
1251                 unsigned                : 1;
1252                 unsigned                : 1;
1253                 unsigned DATA_ADDRESS   : 1;
1254                 unsigned                : 1;
1255                 unsigned                : 1;
1256         };
1257         struct {
1258                 unsigned                : 1;
1259                 unsigned                : 1;
1260                 unsigned R              : 1;
1261                 unsigned                : 1;
1262                 unsigned                : 1;
1263                 unsigned D              : 1;
1264                 unsigned                : 1;
1265                 unsigned                : 1;
1266         };
1267 } __SSPSTATbits_t;
1268 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
1269
1270 extern __sfr __at (0xFC8) SSPADD;
1271
1272 extern __sfr __at (0xFC9) SSPBUF;
1273
1274 extern __sfr __at (0xFCA) T2CON;
1275 typedef union {
1276         struct {
1277                 unsigned T2CKPS0        : 1;
1278                 unsigned T2CKPS1        : 1;
1279                 unsigned TMR2ON         : 1;
1280                 unsigned T2OUTPS0       : 1;
1281                 unsigned T2OUTPS1       : 1;
1282                 unsigned T2OUTPS2       : 1;
1283                 unsigned T2OUTPS3       : 1;
1284                 unsigned                : 1;
1285         };
1286 } __T2CONbits_t;
1287 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
1288
1289 extern __sfr __at (0xFCB) PR2;
1290
1291 extern __sfr __at (0xFCC) TMR2;
1292
1293 extern __sfr __at (0xFCD) T1CON;
1294 typedef union {
1295         struct {
1296                 unsigned TMR1ON         : 1;
1297                 unsigned TMR1CS         : 1;
1298                 unsigned T1SYNC         : 1;
1299                 unsigned T1OSCEN        : 1;
1300                 unsigned T1CKPS0        : 1;
1301                 unsigned T1CKPS1        : 1;
1302                 unsigned T1RUN          : 1;
1303                 unsigned RD16           : 1;
1304         };
1305         struct {
1306                 unsigned                : 1;
1307                 unsigned                : 1;
1308                 unsigned T1INSYNC       : 1;
1309                 unsigned                : 1;
1310                 unsigned                : 1;
1311                 unsigned                : 1;
1312                 unsigned                : 1;
1313                 unsigned                : 1;
1314         };
1315         struct {
1316                 unsigned                : 1;
1317                 unsigned                : 1;
1318                 unsigned NOT_T1SYNC     : 1;
1319                 unsigned                : 1;
1320                 unsigned                : 1;
1321                 unsigned                : 1;
1322                 unsigned                : 1;
1323                 unsigned                : 1;
1324         };
1325 } __T1CONbits_t;
1326 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
1327
1328 extern __sfr __at (0xFCE) TMR1L;
1329
1330 extern __sfr __at (0xFCF) TMR1H;
1331
1332 extern __sfr __at (0xFD0) RCON;
1333 typedef union {
1334         struct {
1335                 unsigned NOT_BOR        : 1;
1336                 unsigned NOT_POR        : 1;
1337                 unsigned NOT_PD         : 1;
1338                 unsigned NOT_TO         : 1;
1339                 unsigned NOT_RI         : 1;
1340                 unsigned                : 1;
1341                 unsigned                : 1;
1342                 unsigned NOT_IPEN       : 1;
1343         };
1344         struct {
1345                 unsigned BOR            : 1;
1346                 unsigned POR            : 1;
1347                 unsigned PD             : 1;
1348                 unsigned TO             : 1;
1349                 unsigned RI             : 1;
1350                 unsigned                : 1;
1351                 unsigned                : 1;
1352                 unsigned IPEN           : 1;
1353         };
1354 } __RCONbits_t;
1355 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
1356
1357 extern __sfr __at (0xFD1) WDTCON;
1358 typedef union {
1359         struct {
1360                 unsigned SWDTEN         : 1;
1361                 unsigned WDT0           : 1;
1362                 unsigned WDT1           : 1;
1363                 unsigned WDT2           : 1;
1364                 unsigned WDT3           : 1;
1365                 unsigned WDT4           : 1;
1366                 unsigned WDT5           : 1;
1367                 unsigned WDT6           : 1;
1368         };
1369         struct {
1370                 unsigned                : 1;
1371                 unsigned                : 1;
1372                 unsigned                : 1;
1373                 unsigned                : 1;
1374                 unsigned                : 1;
1375                 unsigned                : 1;
1376                 unsigned                : 1;
1377                 unsigned WDTW           : 1;
1378         };
1379 } __WDTCONbits_t;
1380 extern volatile __WDTCONbits_t __at (0xFD1) WDTCONbits;
1381
1382 extern __sfr __at (0xFD2) LVDCON;
1383 typedef union {
1384         struct {
1385                 unsigned LVDL0          : 1;
1386                 unsigned LVDL1          : 1;
1387                 unsigned LVDL2          : 1;
1388                 unsigned LVDL3          : 1;
1389                 unsigned LVDEN          : 1;
1390                 unsigned IRVST          : 1;
1391                 unsigned                : 1;
1392                 unsigned                : 1;
1393         };
1394         struct {
1395                 unsigned                : 1;
1396                 unsigned                : 1;
1397                 unsigned                : 1;
1398                 unsigned                : 1;
1399                 unsigned                : 1;
1400                 unsigned IVRST          : 1;
1401                 unsigned                : 1;
1402                 unsigned                : 1;
1403         };
1404 } __LVDCONbits_t;
1405 extern volatile __LVDCONbits_t __at (0xFD2) LVDCONbits;
1406
1407 extern __sfr __at (0xFD3) OSCCON;
1408 typedef union {
1409         struct {
1410                 unsigned SCS0           : 1;
1411                 unsigned SCS1           : 1;
1412                 unsigned FLTS           : 1;
1413                 unsigned OSTS           : 1;
1414                 unsigned IRCF0          : 1;
1415                 unsigned IRCF1          : 1;
1416                 unsigned IRCF2          : 1;
1417                 unsigned IDLEN          : 1;
1418         };
1419         struct {
1420                 unsigned                : 1;
1421                 unsigned                : 1;
1422                 unsigned IOFS           : 1;
1423                 unsigned                : 1;
1424                 unsigned                : 1;
1425                 unsigned                : 1;
1426                 unsigned                : 1;
1427                 unsigned                : 1;
1428         };
1429 } __OSCCONbits_t;
1430 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
1431
1432 extern __sfr __at (0xFD5) T0CON;
1433 typedef union {
1434         struct {
1435                 unsigned T0PS0          : 1;
1436                 unsigned T0PS1          : 1;
1437                 unsigned T0PS2          : 1;
1438                 unsigned PSA            : 1;
1439                 unsigned T0SE           : 1;
1440                 unsigned T0CS           : 1;
1441                 unsigned T016BIT        : 1;
1442                 unsigned TMR0ON         : 1;
1443         };
1444         struct {
1445                 unsigned                : 1;
1446                 unsigned                : 1;
1447                 unsigned                : 1;
1448                 unsigned T0PS3          : 1;
1449                 unsigned                : 1;
1450                 unsigned                : 1;
1451                 unsigned                : 1;
1452                 unsigned                : 1;
1453         };
1454 } __T0CONbits_t;
1455 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
1456
1457 extern __sfr __at (0xFD6) TMR0L;
1458
1459 extern __sfr __at (0xFD7) TMR0H;
1460
1461 extern __sfr __at (0xFD8) STATUS;
1462 typedef union {
1463         struct {
1464                 unsigned C              : 1;
1465                 unsigned DC             : 1;
1466                 unsigned Z              : 1;
1467                 unsigned OV             : 1;
1468                 unsigned N              : 1;
1469                 unsigned                : 1;
1470                 unsigned                : 1;
1471                 unsigned                : 1;
1472         };
1473 } __STATUSbits_t;
1474 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
1475
1476 extern __sfr __at (0xFD9) FSR2L;
1477
1478 extern __sfr __at (0xFDA) FSR2H;
1479
1480 extern __sfr __at (0xFDB) PLUSW2;
1481
1482 extern __sfr __at (0xFDC) PREINC2;
1483
1484 extern __sfr __at (0xFDD) POSTDEC2;
1485
1486 extern __sfr __at (0xFDE) POSTINC2;
1487
1488 extern __sfr __at (0xFDF) INDF2;
1489
1490 extern __sfr __at (0xFE0) BSR;
1491
1492 extern __sfr __at (0xFE1) FSR1L;
1493
1494 extern __sfr __at (0xFE2) FSR1H;
1495
1496 extern __sfr __at (0xFE3) PLUSW1;
1497
1498 extern __sfr __at (0xFE4) PREINC1;
1499
1500 extern __sfr __at (0xFE5) POSTDEC1;
1501
1502 extern __sfr __at (0xFE6) POSTINC1;
1503
1504 extern __sfr __at (0xFE7) INDF1;
1505
1506 extern __sfr __at (0xFE8) WREG;
1507
1508 extern __sfr __at (0xFE9) FSR0L;
1509
1510 extern __sfr __at (0xFEA) FSR0H;
1511
1512 extern __sfr __at (0xFEB) PLUSW0;
1513
1514 extern __sfr __at (0xFEC) PREINC0;
1515
1516 extern __sfr __at (0xFED) POSTDEC0;
1517
1518 extern __sfr __at (0xFEE) POSTINC0;
1519
1520 extern __sfr __at (0xFEF) INDF0;
1521
1522 extern __sfr __at (0xFF0) INTCON3;
1523 typedef union {
1524         struct {
1525                 unsigned INT1IF         : 1;
1526                 unsigned INT2IF         : 1;
1527                 unsigned                : 1;
1528                 unsigned INT1IE         : 1;
1529                 unsigned INT2IE         : 1;
1530                 unsigned                : 1;
1531                 unsigned INT1IP         : 1;
1532                 unsigned INT2IP         : 1;
1533         };
1534         struct {
1535                 unsigned INT1F          : 1;
1536                 unsigned INT2F          : 1;
1537                 unsigned                : 1;
1538                 unsigned INT1E          : 1;
1539                 unsigned INT2E          : 1;
1540                 unsigned                : 1;
1541                 unsigned INT1P          : 1;
1542                 unsigned INT2P          : 1;
1543         };
1544 } __INTCON3bits_t;
1545 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
1546
1547 extern __sfr __at (0xFF1) INTCON2;
1548 typedef union {
1549         struct {
1550                 unsigned RBIP           : 1;
1551                 unsigned                : 1;
1552                 unsigned TMR0IP         : 1;
1553                 unsigned                : 1;
1554                 unsigned INTEDG2        : 1;
1555                 unsigned INTEDG1        : 1;
1556                 unsigned INTEDG0        : 1;
1557                 unsigned NOT_RBPU       : 1;
1558         };
1559         struct {
1560                 unsigned                : 1;
1561                 unsigned                : 1;
1562                 unsigned T0IP           : 1;
1563                 unsigned                : 1;
1564                 unsigned                : 1;
1565                 unsigned                : 1;
1566                 unsigned                : 1;
1567                 unsigned RBPU           : 1;
1568         };
1569 } __INTCON2bits_t;
1570 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
1571
1572 extern __sfr __at (0xFF2) INTCON;
1573 typedef union {
1574         struct {
1575                 unsigned RBIF           : 1;
1576                 unsigned INT0IF         : 1;
1577                 unsigned TMR0IF         : 1;
1578                 unsigned RBIE           : 1;
1579                 unsigned INT0IE         : 1;
1580                 unsigned TMR0IE         : 1;
1581                 unsigned PEIE           : 1;
1582                 unsigned GIE            : 1;
1583         };
1584         struct {
1585                 unsigned                : 1;
1586                 unsigned INT0F          : 1;
1587                 unsigned T0IF           : 1;
1588                 unsigned                : 1;
1589                 unsigned INT0E          : 1;
1590                 unsigned T0IE           : 1;
1591                 unsigned GIEL           : 1;
1592                 unsigned GIEH           : 1;
1593         };
1594 } __INTCONbits_t;
1595 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
1596
1597 extern __sfr __at (0xFF3) PROD;
1598
1599 extern __sfr __at (0xFF3) PRODL;
1600
1601 extern __sfr __at (0xFF4) PRODH;
1602
1603 extern __sfr __at (0xFF5) TABLAT;
1604
1605 extern __sfr __at (0xFF6) TBLPTR;
1606
1607 extern __sfr __at (0xFF6) TBLPTRL;
1608
1609 extern __sfr __at (0xFF7) TBLPTRH;
1610
1611 extern __sfr __at (0xFF8) TBLPTRU;
1612
1613 extern __sfr __at (0xFF9) PC;
1614
1615 extern __sfr __at (0xFF9) PCL;
1616
1617 extern __sfr __at (0xFFA) PCLATH;
1618
1619 extern __sfr __at (0xFFB) PCLATU;
1620
1621 extern __sfr __at (0xFFC) STKPTR;
1622 typedef union {
1623         struct {
1624                 unsigned STKPTR0        : 1;
1625                 unsigned STKPTR1        : 1;
1626                 unsigned STKPTR2        : 1;
1627                 unsigned STKPTR3        : 1;
1628                 unsigned STKPTR4        : 1;
1629                 unsigned                : 1;
1630                 unsigned STKUNF         : 1;
1631                 unsigned STKOVF         : 1;
1632         };
1633         struct {
1634                 unsigned                : 1;
1635                 unsigned                : 1;
1636                 unsigned                : 1;
1637                 unsigned                : 1;
1638                 unsigned                : 1;
1639                 unsigned                : 1;
1640                 unsigned                : 1;
1641                 unsigned STKFUL         : 1;
1642         };
1643 } __STKPTRbits_t;
1644 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
1645
1646 extern __sfr __at (0xFFD) TOS;
1647
1648 extern __sfr __at (0xFFD) TOSL;
1649
1650 extern __sfr __at (0xFFE) TOSH;
1651
1652 extern __sfr __at (0xFFF) TOSU;
1653
1654
1655 #endif
1656