1 /*
2  * This declarations of the PIC16LF1559 MCU.
3  *
4  * This file is part of the GNU PIC library for SDCC, originally
5  * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
6  *
7  * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:08 UTC.
8  *
9  * SDCC is licensed under the GNU Public license (GPL) v2. Note that
10  * this license covers the code to the compiler and other executables,
11  * but explicitly does not cover any code or objects generated by sdcc.
12  *
13  * For pic device libraries and header files which are derived from
14  * Microchip header (.inc) and linker script (.lkr) files Microchip
15  * requires that "The header files should state that they are only to be
16  * used with authentic Microchip devices" which makes them incompatible
17  * with the GPL. Pic device libraries and header files are located at
18  * non-free/lib and non-free/include directories respectively.
19  * Sdcc should be run with the --use-non-free command line option in
20  * order to include non-free header files and libraries.
21  *
22  * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
23  */
24 
25 #ifndef __PIC16LF1559_H__
26 #define __PIC16LF1559_H__
27 
28 //==============================================================================
29 //
30 //	Register Addresses
31 //
32 //==============================================================================
33 
34 #ifndef NO_ADDR_DEFINES
35 
36 #define INDF0_ADDR              0x0000
37 #define INDF1_ADDR              0x0001
38 #define PCL_ADDR                0x0002
39 #define STATUS_ADDR             0x0003
40 #define FSR0_ADDR               0x0004
41 #define FSR0L_ADDR              0x0004
42 #define FSR0H_ADDR              0x0005
43 #define FSR1_ADDR               0x0006
44 #define FSR1L_ADDR              0x0006
45 #define FSR1H_ADDR              0x0007
46 #define BSR_ADDR                0x0008
47 #define WREG_ADDR               0x0009
48 #define PCLATH_ADDR             0x000A
49 #define INTCON_ADDR             0x000B
50 #define PORTA_ADDR              0x000C
51 #define PORTB_ADDR              0x000D
52 #define PORTC_ADDR              0x000E
53 #define PIR1_ADDR               0x0011
54 #define PIR2_ADDR               0x0012
55 #define TMR0_ADDR               0x0015
56 #define TMR1_ADDR               0x0016
57 #define TMR1L_ADDR              0x0016
58 #define TMR1H_ADDR              0x0017
59 #define T1CON_ADDR              0x0018
60 #define T1GCON_ADDR             0x0019
61 #define TMR2_ADDR               0x001A
62 #define PR2_ADDR                0x001B
63 #define T2CON_ADDR              0x001C
64 #define TRISA_ADDR              0x008C
65 #define TRISB_ADDR              0x008D
66 #define TRISC_ADDR              0x008E
67 #define PIE1_ADDR               0x0091
68 #define PIE2_ADDR               0x0092
69 #define OPTION_REG_ADDR         0x0095
70 #define PCON_ADDR               0x0096
71 #define WDTCON_ADDR             0x0097
72 #define OSCCON_ADDR             0x0099
73 #define OSCSTAT_ADDR            0x009A
74 #define ADRES_ADDR              0x009B
75 #define ADRESL_ADDR             0x009B
76 #define ADRESH_ADDR             0x009C
77 #define ADCON0_ADDR             0x009D
78 #define ADCON1_ADDR             0x009E
79 #define ADCON2_ADDR             0x009F
80 #define LATA_ADDR               0x010C
81 #define LATB_ADDR               0x010D
82 #define LATC_ADDR               0x010E
83 #define BORCON_ADDR             0x0116
84 #define FVRCON_ADDR             0x0117
85 #define APFCON_ADDR             0x011D
86 #define ANSELA_ADDR             0x018C
87 #define ANSELB_ADDR             0x018D
88 #define ANSELC_ADDR             0x018E
89 #define PMADR_ADDR              0x0191
90 #define PMADRL_ADDR             0x0191
91 #define PMADRH_ADDR             0x0192
92 #define PMDAT_ADDR              0x0193
93 #define PMDATL_ADDR             0x0193
94 #define PMDATH_ADDR             0x0194
95 #define PMCON1_ADDR             0x0195
96 #define PMCON2_ADDR             0x0196
97 #define RCREG_ADDR              0x0199
98 #define TXREG_ADDR              0x019A
99 #define SPBRG_ADDR              0x019B
100 #define SPBRGL_ADDR             0x019B
101 #define SPBRGH_ADDR             0x019C
102 #define RCSTA_ADDR              0x019D
103 #define TXSTA_ADDR              0x019E
104 #define BAUDCON_ADDR            0x019F
105 #define WPUA_ADDR               0x020C
106 #define WPUB_ADDR               0x020D
107 #define SSP1BUF_ADDR            0x0211
108 #define SSPBUF_ADDR             0x0211
109 #define SSP1ADD_ADDR            0x0212
110 #define SSPADD_ADDR             0x0212
111 #define SSP1MSK_ADDR            0x0213
112 #define SSPMSK_ADDR             0x0213
113 #define SSP1STAT_ADDR           0x0214
114 #define SSPSTAT_ADDR            0x0214
115 #define SSP1CON1_ADDR           0x0215
116 #define SSPCON_ADDR             0x0215
117 #define SSPCON1_ADDR            0x0215
118 #define SSP1CON2_ADDR           0x0216
119 #define SSPCON2_ADDR            0x0216
120 #define SSP1CON3_ADDR           0x0217
121 #define SSPCON3_ADDR            0x0217
122 #define IOCAP_ADDR              0x0391
123 #define IOCAN_ADDR              0x0392
124 #define IOCAF_ADDR              0x0393
125 #define IOCBP_ADDR              0x0394
126 #define IOCBN_ADDR              0x0395
127 #define IOCBF_ADDR              0x0396
128 #define PWM1DCL_ADDR            0x0611
129 #define PWM1DCH_ADDR            0x0612
130 #define PWM1CON_ADDR            0x0613
131 #define PWM1CON0_ADDR           0x0613
132 #define PWM2DCL_ADDR            0x0614
133 #define PWM2DCH_ADDR            0x0615
134 #define PWM2CON_ADDR            0x0616
135 #define PWM2CON0_ADDR           0x0616
136 #define AAD1CON0_ADDR           0x0711
137 #define AADCON0_ADDR            0x0711
138 #define AD1CON0_ADDR            0x0711
139 #define AADCON1_ADDR            0x0712
140 #define ADCOMCON_ADDR           0x0712
141 #define AAD1CON2_ADDR           0x0713
142 #define AADCON2_ADDR            0x0713
143 #define AD1CON2_ADDR            0x0713
144 #define AAD1CON3_ADDR           0x0714
145 #define AADCON3_ADDR            0x0714
146 #define AD1CON3_ADDR            0x0714
147 #define AADSTAT_ADDR            0x0715
148 #define ADSTAT_ADDR             0x0715
149 #define AAD1PRE_ADDR            0x0716
150 #define AADPRE_ADDR             0x0716
151 #define AD1PRE_ADDR             0x0716
152 #define AD1PRECON_ADDR          0x0716
153 #define AAD1ACQ_ADDR            0x0717
154 #define AADACQ_ADDR             0x0717
155 #define AD1ACQ_ADDR             0x0717
156 #define AD1ACQCON_ADDR          0x0717
157 #define AAD1GRD_ADDR            0x0718
158 #define AADGRD_ADDR             0x0718
159 #define AD1GRD_ADDR             0x0718
160 #define AAD1CAP_ADDR            0x0719
161 #define AAD1CAPCON_ADDR         0x0719
162 #define AADCAP_ADDR             0x0719
163 #define AD1CAPCON_ADDR          0x0719
164 #define AAD1RES0_ADDR           0x071A
165 #define AAD1RES0L_ADDR          0x071A
166 #define AD1RES0_ADDR            0x071A
167 #define AD1RES0L_ADDR           0x071A
168 #define ADRES0_ADDR             0x071A
169 #define AAD1RES0H_ADDR          0x071B
170 #define AD1RES0H_ADDR           0x071B
171 #define AAD1RES1_ADDR           0x071C
172 #define AAD1RES1L_ADDR          0x071C
173 #define AD1RES1_ADDR            0x071C
174 #define AD1RES1L_ADDR           0x071C
175 #define ADRES1_ADDR             0x071C
176 #define AAD1RES1H_ADDR          0x071D
177 #define AD1RES1H_ADDR           0x071D
178 #define AAD1CH_ADDR             0x071E
179 #define AD1CH_ADDR              0x071E
180 #define AAD2CON0_ADDR           0x0791
181 #define AD2CON0_ADDR            0x0791
182 #define AAD2CON2_ADDR           0x0793
183 #define AD2CON2_ADDR            0x0793
184 #define AAD2CON3_ADDR           0x0794
185 #define AD2CON3_ADDR            0x0794
186 #define AAD2PRE_ADDR            0x0796
187 #define AD2PRE_ADDR             0x0796
188 #define AD2PRECON_ADDR          0x0796
189 #define AAD2ACQ_ADDR            0x0797
190 #define AD2ACQ_ADDR             0x0797
191 #define AD2ACQCON_ADDR          0x0797
192 #define AAD2GRD_ADDR            0x0798
193 #define AD2GRD_ADDR             0x0798
194 #define AAD2CAP_ADDR            0x0799
195 #define AAD2CAPCON_ADDR         0x0799
196 #define AD2CAPCON_ADDR          0x0799
197 #define AAD2RES0_ADDR           0x079A
198 #define AAD2RES0L_ADDR          0x079A
199 #define AD2RES0_ADDR            0x079A
200 #define AAD2RES0H_ADDR          0x079B
201 #define AAD2RES1_ADDR           0x079C
202 #define AAD2RES1L_ADDR          0x079C
203 #define AD2RES1_ADDR            0x079C
204 #define AAD2RES1H_ADDR          0x079D
205 #define AAD2CH_ADDR             0x079E
206 #define AD2CH_ADDR              0x079E
207 #define ICDIO_ADDR              0x0F8C
208 #define ICDCON0_ADDR            0x0F8D
209 #define ICDSTAT_ADDR            0x0F91
210 #define ICDINSTL_ADDR           0x0F96
211 #define ICDINSTH_ADDR           0x0F97
212 #define ICDBK0CON_ADDR          0x0F9C
213 #define ICDBK0L_ADDR            0x0F9D
214 #define ICDBK0H_ADDR            0x0F9E
215 #define BSRICDSHAD_ADDR         0x0FE3
216 #define STATUS_SHAD_ADDR        0x0FE4
217 #define WREG_SHAD_ADDR          0x0FE5
218 #define BSR_SHAD_ADDR           0x0FE6
219 #define PCLATH_SHAD_ADDR        0x0FE7
220 #define FSR0L_SHAD_ADDR         0x0FE8
221 #define FSR0H_SHAD_ADDR         0x0FE9
222 #define FSR1L_SHAD_ADDR         0x0FEA
223 #define FSR1H_SHAD_ADDR         0x0FEB
224 #define STKPTR_ADDR             0x0FED
225 #define TOSL_ADDR               0x0FEE
226 #define TOSH_ADDR               0x0FEF
227 
228 #endif // #ifndef NO_ADDR_DEFINES
229 
230 //==============================================================================
231 //
232 //	Register Definitions
233 //
234 //==============================================================================
235 
236 extern __at(0x0000) __sfr INDF0;
237 extern __at(0x0001) __sfr INDF1;
238 extern __at(0x0002) __sfr PCL;
239 
240 //==============================================================================
241 //        STATUS Bits
242 
243 extern __at(0x0003) __sfr STATUS;
244 
245 typedef struct
246   {
247   unsigned C                    : 1;
248   unsigned DC                   : 1;
249   unsigned Z                    : 1;
250   unsigned NOT_PD               : 1;
251   unsigned NOT_TO               : 1;
252   unsigned                      : 1;
253   unsigned                      : 1;
254   unsigned                      : 1;
255   } __STATUSbits_t;
256 
257 extern __at(0x0003) volatile __STATUSbits_t STATUSbits;
258 
259 #define _C                      0x01
260 #define _DC                     0x02
261 #define _Z                      0x04
262 #define _NOT_PD                 0x08
263 #define _NOT_TO                 0x10
264 
265 //==============================================================================
266 
267 extern __at(0x0004) __sfr FSR0;
268 extern __at(0x0004) __sfr FSR0L;
269 extern __at(0x0005) __sfr FSR0H;
270 extern __at(0x0006) __sfr FSR1;
271 extern __at(0x0006) __sfr FSR1L;
272 extern __at(0x0007) __sfr FSR1H;
273 
274 //==============================================================================
275 //        BSR Bits
276 
277 extern __at(0x0008) __sfr BSR;
278 
279 typedef union
280   {
281   struct
282     {
283     unsigned BSR0               : 1;
284     unsigned BSR1               : 1;
285     unsigned BSR2               : 1;
286     unsigned BSR3               : 1;
287     unsigned BSR4               : 1;
288     unsigned                    : 1;
289     unsigned                    : 1;
290     unsigned                    : 1;
291     };
292 
293   struct
294     {
295     unsigned BSR                : 5;
296     unsigned                    : 3;
297     };
298   } __BSRbits_t;
299 
300 extern __at(0x0008) volatile __BSRbits_t BSRbits;
301 
302 #define _BSR0                   0x01
303 #define _BSR1                   0x02
304 #define _BSR2                   0x04
305 #define _BSR3                   0x08
306 #define _BSR4                   0x10
307 
308 //==============================================================================
309 
310 extern __at(0x0009) __sfr WREG;
311 extern __at(0x000A) __sfr PCLATH;
312 
313 //==============================================================================
314 //        INTCON Bits
315 
316 extern __at(0x000B) __sfr INTCON;
317 
318 typedef union
319   {
320   struct
321     {
322     unsigned IOCIF              : 1;
323     unsigned INTF               : 1;
324     unsigned TMR0IF             : 1;
325     unsigned IOCIE              : 1;
326     unsigned INTE               : 1;
327     unsigned TMR0IE             : 1;
328     unsigned PEIE               : 1;
329     unsigned GIE                : 1;
330     };
331 
332   struct
333     {
334     unsigned                    : 1;
335     unsigned                    : 1;
336     unsigned T0IF               : 1;
337     unsigned                    : 1;
338     unsigned                    : 1;
339     unsigned T0IE               : 1;
340     unsigned                    : 1;
341     unsigned                    : 1;
342     };
343   } __INTCONbits_t;
344 
345 extern __at(0x000B) volatile __INTCONbits_t INTCONbits;
346 
347 #define _IOCIF                  0x01
348 #define _INTF                   0x02
349 #define _TMR0IF                 0x04
350 #define _T0IF                   0x04
351 #define _IOCIE                  0x08
352 #define _INTE                   0x10
353 #define _TMR0IE                 0x20
354 #define _T0IE                   0x20
355 #define _PEIE                   0x40
356 #define _GIE                    0x80
357 
358 //==============================================================================
359 
360 
361 //==============================================================================
362 //        PORTA Bits
363 
364 extern __at(0x000C) __sfr PORTA;
365 
366 typedef union
367   {
368   struct
369     {
370     unsigned RA0                : 1;
371     unsigned RA1                : 1;
372     unsigned RA2                : 1;
373     unsigned RA3                : 1;
374     unsigned RA4                : 1;
375     unsigned RA5                : 1;
376     unsigned                    : 1;
377     unsigned                    : 1;
378     };
379 
380   struct
381     {
382     unsigned RA                 : 6;
383     unsigned                    : 2;
384     };
385   } __PORTAbits_t;
386 
387 extern __at(0x000C) volatile __PORTAbits_t PORTAbits;
388 
389 #define _RA0                    0x01
390 #define _RA1                    0x02
391 #define _RA2                    0x04
392 #define _RA3                    0x08
393 #define _RA4                    0x10
394 #define _RA5                    0x20
395 
396 //==============================================================================
397 
398 
399 //==============================================================================
400 //        PORTB Bits
401 
402 extern __at(0x000D) __sfr PORTB;
403 
404 typedef struct
405   {
406   unsigned                      : 1;
407   unsigned                      : 1;
408   unsigned                      : 1;
409   unsigned                      : 1;
410   unsigned RB4                  : 1;
411   unsigned RB5                  : 1;
412   unsigned RB6                  : 1;
413   unsigned RB7                  : 1;
414   } __PORTBbits_t;
415 
416 extern __at(0x000D) volatile __PORTBbits_t PORTBbits;
417 
418 #define _RB4                    0x10
419 #define _RB5                    0x20
420 #define _RB6                    0x40
421 #define _RB7                    0x80
422 
423 //==============================================================================
424 
425 
426 //==============================================================================
427 //        PORTC Bits
428 
429 extern __at(0x000E) __sfr PORTC;
430 
431 typedef struct
432   {
433   unsigned RC0                  : 1;
434   unsigned RC1                  : 1;
435   unsigned RC2                  : 1;
436   unsigned RC3                  : 1;
437   unsigned RC4                  : 1;
438   unsigned RC5                  : 1;
439   unsigned RC6                  : 1;
440   unsigned RC7                  : 1;
441   } __PORTCbits_t;
442 
443 extern __at(0x000E) volatile __PORTCbits_t PORTCbits;
444 
445 #define _RC0                    0x01
446 #define _RC1                    0x02
447 #define _RC2                    0x04
448 #define _RC3                    0x08
449 #define _RC4                    0x10
450 #define _RC5                    0x20
451 #define _RC6                    0x40
452 #define _RC7                    0x80
453 
454 //==============================================================================
455 
456 
457 //==============================================================================
458 //        PIR1 Bits
459 
460 extern __at(0x0011) __sfr PIR1;
461 
462 typedef union
463   {
464   struct
465     {
466     unsigned TMR1IF             : 1;
467     unsigned TMR2IF             : 1;
468     unsigned                    : 1;
469     unsigned SSP1IF             : 1;
470     unsigned TXIF               : 1;
471     unsigned RCIF               : 1;
472     unsigned ADIF               : 1;
473     unsigned TMR1GIF            : 1;
474     };
475 
476   struct
477     {
478     unsigned                    : 1;
479     unsigned                    : 1;
480     unsigned                    : 1;
481     unsigned                    : 1;
482     unsigned                    : 1;
483     unsigned                    : 1;
484     unsigned AD1IF              : 1;
485     unsigned                    : 1;
486     };
487   } __PIR1bits_t;
488 
489 extern __at(0x0011) volatile __PIR1bits_t PIR1bits;
490 
491 #define _TMR1IF                 0x01
492 #define _TMR2IF                 0x02
493 #define _SSP1IF                 0x08
494 #define _TXIF                   0x10
495 #define _RCIF                   0x20
496 #define _ADIF                   0x40
497 #define _AD1IF                  0x40
498 #define _TMR1GIF                0x80
499 
500 //==============================================================================
501 
502 
503 //==============================================================================
504 //        PIR2 Bits
505 
506 extern __at(0x0012) __sfr PIR2;
507 
508 typedef struct
509   {
510   unsigned                      : 1;
511   unsigned                      : 1;
512   unsigned                      : 1;
513   unsigned BCL1IF               : 1;
514   unsigned                      : 1;
515   unsigned                      : 1;
516   unsigned AD2IF                : 1;
517   unsigned                      : 1;
518   } __PIR2bits_t;
519 
520 extern __at(0x0012) volatile __PIR2bits_t PIR2bits;
521 
522 #define _BCL1IF                 0x08
523 #define _AD2IF                  0x40
524 
525 //==============================================================================
526 
527 extern __at(0x0015) __sfr TMR0;
528 extern __at(0x0016) __sfr TMR1;
529 extern __at(0x0016) __sfr TMR1L;
530 extern __at(0x0017) __sfr TMR1H;
531 
532 //==============================================================================
533 //        T1CON Bits
534 
535 extern __at(0x0018) __sfr T1CON;
536 
537 typedef union
538   {
539   struct
540     {
541     unsigned TMR1ON             : 1;
542     unsigned                    : 1;
543     unsigned NOT_T1SYNC         : 1;
544     unsigned                    : 1;
545     unsigned T1CKPS0            : 1;
546     unsigned T1CKPS1            : 1;
547     unsigned TMR1CS0            : 1;
548     unsigned TMR1CS1            : 1;
549     };
550 
551   struct
552     {
553     unsigned                    : 4;
554     unsigned T1CKPS             : 2;
555     unsigned                    : 2;
556     };
557 
558   struct
559     {
560     unsigned                    : 6;
561     unsigned TMR1CS             : 2;
562     };
563   } __T1CONbits_t;
564 
565 extern __at(0x0018) volatile __T1CONbits_t T1CONbits;
566 
567 #define _TMR1ON                 0x01
568 #define _NOT_T1SYNC             0x04
569 #define _T1CKPS0                0x10
570 #define _T1CKPS1                0x20
571 #define _TMR1CS0                0x40
572 #define _TMR1CS1                0x80
573 
574 //==============================================================================
575 
576 
577 //==============================================================================
578 //        T1GCON Bits
579 
580 extern __at(0x0019) __sfr T1GCON;
581 
582 typedef union
583   {
584   struct
585     {
586     unsigned T1GSS0             : 1;
587     unsigned T1GSS1             : 1;
588     unsigned T1GVAL             : 1;
589     unsigned T1GGO_NOT_DONE     : 1;
590     unsigned T1GSPM             : 1;
591     unsigned T1GTM              : 1;
592     unsigned T1GPOL             : 1;
593     unsigned TMR1GE             : 1;
594     };
595 
596   struct
597     {
598     unsigned                    : 1;
599     unsigned                    : 1;
600     unsigned                    : 1;
601     unsigned GO                 : 1;
602     unsigned                    : 1;
603     unsigned                    : 1;
604     unsigned                    : 1;
605     unsigned                    : 1;
606     };
607 
608   struct
609     {
610     unsigned T1GSS              : 2;
611     unsigned                    : 6;
612     };
613   } __T1GCONbits_t;
614 
615 extern __at(0x0019) volatile __T1GCONbits_t T1GCONbits;
616 
617 #define _T1GCON_T1GSS0          0x01
618 #define _T1GCON_T1GSS1          0x02
619 #define _T1GCON_T1GVAL          0x04
620 #define _T1GCON_T1GGO_NOT_DONE  0x08
621 #define _T1GCON_GO              0x08
622 #define _T1GCON_T1GSPM          0x10
623 #define _T1GCON_T1GTM           0x20
624 #define _T1GCON_T1GPOL          0x40
625 #define _T1GCON_TMR1GE          0x80
626 
627 //==============================================================================
628 
629 extern __at(0x001A) __sfr TMR2;
630 extern __at(0x001B) __sfr PR2;
631 
632 //==============================================================================
633 //        T2CON Bits
634 
635 extern __at(0x001C) __sfr T2CON;
636 
637 typedef union
638   {
639   struct
640     {
641     unsigned T2CKPS0            : 1;
642     unsigned T2CKPS1            : 1;
643     unsigned TMR2ON             : 1;
644     unsigned T2OUTPS0           : 1;
645     unsigned T2OUTPS1           : 1;
646     unsigned T2OUTPS2           : 1;
647     unsigned T2OUTPS3           : 1;
648     unsigned                    : 1;
649     };
650 
651   struct
652     {
653     unsigned T2CKPS             : 2;
654     unsigned                    : 6;
655     };
656 
657   struct
658     {
659     unsigned                    : 3;
660     unsigned T2OUTPS            : 4;
661     unsigned                    : 1;
662     };
663   } __T2CONbits_t;
664 
665 extern __at(0x001C) volatile __T2CONbits_t T2CONbits;
666 
667 #define _T2CKPS0                0x01
668 #define _T2CKPS1                0x02
669 #define _TMR2ON                 0x04
670 #define _T2OUTPS0               0x08
671 #define _T2OUTPS1               0x10
672 #define _T2OUTPS2               0x20
673 #define _T2OUTPS3               0x40
674 
675 //==============================================================================
676 
677 
678 //==============================================================================
679 //        TRISA Bits
680 
681 extern __at(0x008C) __sfr TRISA;
682 
683 typedef union
684   {
685   struct
686     {
687     unsigned TRISA0             : 1;
688     unsigned TRISA1             : 1;
689     unsigned TRISA2             : 1;
690     unsigned TRISA3             : 1;
691     unsigned TRISA4             : 1;
692     unsigned TRISA5             : 1;
693     unsigned                    : 1;
694     unsigned                    : 1;
695     };
696 
697   struct
698     {
699     unsigned TRISA              : 6;
700     unsigned                    : 2;
701     };
702   } __TRISAbits_t;
703 
704 extern __at(0x008C) volatile __TRISAbits_t TRISAbits;
705 
706 #define _TRISA0                 0x01
707 #define _TRISA1                 0x02
708 #define _TRISA2                 0x04
709 #define _TRISA3                 0x08
710 #define _TRISA4                 0x10
711 #define _TRISA5                 0x20
712 
713 //==============================================================================
714 
715 
716 //==============================================================================
717 //        TRISB Bits
718 
719 extern __at(0x008D) __sfr TRISB;
720 
721 typedef struct
722   {
723   unsigned                      : 1;
724   unsigned                      : 1;
725   unsigned                      : 1;
726   unsigned                      : 1;
727   unsigned TRISB4               : 1;
728   unsigned TRISB5               : 1;
729   unsigned TRISB6               : 1;
730   unsigned TRISB7               : 1;
731   } __TRISBbits_t;
732 
733 extern __at(0x008D) volatile __TRISBbits_t TRISBbits;
734 
735 #define _TRISB4                 0x10
736 #define _TRISB5                 0x20
737 #define _TRISB6                 0x40
738 #define _TRISB7                 0x80
739 
740 //==============================================================================
741 
742 
743 //==============================================================================
744 //        TRISC Bits
745 
746 extern __at(0x008E) __sfr TRISC;
747 
748 typedef struct
749   {
750   unsigned TRISC0               : 1;
751   unsigned TRISC1               : 1;
752   unsigned TRISC2               : 1;
753   unsigned TRISC3               : 1;
754   unsigned TRISC4               : 1;
755   unsigned TRISC5               : 1;
756   unsigned TRISC6               : 1;
757   unsigned TRISC7               : 1;
758   } __TRISCbits_t;
759 
760 extern __at(0x008E) volatile __TRISCbits_t TRISCbits;
761 
762 #define _TRISC0                 0x01
763 #define _TRISC1                 0x02
764 #define _TRISC2                 0x04
765 #define _TRISC3                 0x08
766 #define _TRISC4                 0x10
767 #define _TRISC5                 0x20
768 #define _TRISC6                 0x40
769 #define _TRISC7                 0x80
770 
771 //==============================================================================
772 
773 
774 //==============================================================================
775 //        PIE1 Bits
776 
777 extern __at(0x0091) __sfr PIE1;
778 
779 typedef union
780   {
781   struct
782     {
783     unsigned TMR1IE             : 1;
784     unsigned TMR2IE             : 1;
785     unsigned                    : 1;
786     unsigned SSP1IE             : 1;
787     unsigned TXIE               : 1;
788     unsigned RCIE               : 1;
789     unsigned ADIE               : 1;
790     unsigned TMR1GIE            : 1;
791     };
792 
793   struct
794     {
795     unsigned                    : 1;
796     unsigned                    : 1;
797     unsigned                    : 1;
798     unsigned                    : 1;
799     unsigned                    : 1;
800     unsigned                    : 1;
801     unsigned AD1IE              : 1;
802     unsigned                    : 1;
803     };
804   } __PIE1bits_t;
805 
806 extern __at(0x0091) volatile __PIE1bits_t PIE1bits;
807 
808 #define _TMR1IE                 0x01
809 #define _TMR2IE                 0x02
810 #define _SSP1IE                 0x08
811 #define _TXIE                   0x10
812 #define _RCIE                   0x20
813 #define _ADIE                   0x40
814 #define _AD1IE                  0x40
815 #define _TMR1GIE                0x80
816 
817 //==============================================================================
818 
819 
820 //==============================================================================
821 //        PIE2 Bits
822 
823 extern __at(0x0092) __sfr PIE2;
824 
825 typedef struct
826   {
827   unsigned                      : 1;
828   unsigned                      : 1;
829   unsigned                      : 1;
830   unsigned BCL1IE               : 1;
831   unsigned                      : 1;
832   unsigned                      : 1;
833   unsigned AD2IE                : 1;
834   unsigned                      : 1;
835   } __PIE2bits_t;
836 
837 extern __at(0x0092) volatile __PIE2bits_t PIE2bits;
838 
839 #define _BCL1IE                 0x08
840 #define _AD2IE                  0x40
841 
842 //==============================================================================
843 
844 
845 //==============================================================================
846 //        OPTION_REG Bits
847 
848 extern __at(0x0095) __sfr OPTION_REG;
849 
850 typedef union
851   {
852   struct
853     {
854     unsigned PS0                : 1;
855     unsigned PS1                : 1;
856     unsigned PS2                : 1;
857     unsigned PSA                : 1;
858     unsigned TMR0SE             : 1;
859     unsigned TMR0CS             : 1;
860     unsigned INTEDG             : 1;
861     unsigned NOT_WPUEN          : 1;
862     };
863 
864   struct
865     {
866     unsigned                    : 1;
867     unsigned                    : 1;
868     unsigned                    : 1;
869     unsigned                    : 1;
870     unsigned T0SE               : 1;
871     unsigned T0CS               : 1;
872     unsigned                    : 1;
873     unsigned                    : 1;
874     };
875 
876   struct
877     {
878     unsigned PS                 : 3;
879     unsigned                    : 5;
880     };
881   } __OPTION_REGbits_t;
882 
883 extern __at(0x0095) volatile __OPTION_REGbits_t OPTION_REGbits;
884 
885 #define _PS0                    0x01
886 #define _PS1                    0x02
887 #define _PS2                    0x04
888 #define _PSA                    0x08
889 #define _TMR0SE                 0x10
890 #define _T0SE                   0x10
891 #define _TMR0CS                 0x20
892 #define _T0CS                   0x20
893 #define _INTEDG                 0x40
894 #define _NOT_WPUEN              0x80
895 
896 //==============================================================================
897 
898 
899 //==============================================================================
900 //        PCON Bits
901 
902 extern __at(0x0096) __sfr PCON;
903 
904 typedef struct
905   {
906   unsigned NOT_BOR              : 1;
907   unsigned NOT_POR              : 1;
908   unsigned NOT_RI               : 1;
909   unsigned NOT_RMCLR            : 1;
910   unsigned NOT_RWDT             : 1;
911   unsigned                      : 1;
912   unsigned STKUNF               : 1;
913   unsigned STKOVF               : 1;
914   } __PCONbits_t;
915 
916 extern __at(0x0096) volatile __PCONbits_t PCONbits;
917 
918 #define _NOT_BOR                0x01
919 #define _NOT_POR                0x02
920 #define _NOT_RI                 0x04
921 #define _NOT_RMCLR              0x08
922 #define _NOT_RWDT               0x10
923 #define _STKUNF                 0x40
924 #define _STKOVF                 0x80
925 
926 //==============================================================================
927 
928 
929 //==============================================================================
930 //        WDTCON Bits
931 
932 extern __at(0x0097) __sfr WDTCON;
933 
934 typedef union
935   {
936   struct
937     {
938     unsigned SWDTEN             : 1;
939     unsigned WDTPS0             : 1;
940     unsigned WDTPS1             : 1;
941     unsigned WDTPS2             : 1;
942     unsigned WDTPS3             : 1;
943     unsigned WDTPS4             : 1;
944     unsigned                    : 1;
945     unsigned                    : 1;
946     };
947 
948   struct
949     {
950     unsigned                    : 1;
951     unsigned WDTPS              : 5;
952     unsigned                    : 2;
953     };
954   } __WDTCONbits_t;
955 
956 extern __at(0x0097) volatile __WDTCONbits_t WDTCONbits;
957 
958 #define _SWDTEN                 0x01
959 #define _WDTPS0                 0x02
960 #define _WDTPS1                 0x04
961 #define _WDTPS2                 0x08
962 #define _WDTPS3                 0x10
963 #define _WDTPS4                 0x20
964 
965 //==============================================================================
966 
967 
968 //==============================================================================
969 //        OSCCON Bits
970 
971 extern __at(0x0099) __sfr OSCCON;
972 
973 typedef union
974   {
975   struct
976     {
977     unsigned SCS0               : 1;
978     unsigned SCS1               : 1;
979     unsigned                    : 1;
980     unsigned IRCF0              : 1;
981     unsigned IRCF1              : 1;
982     unsigned IRCF2              : 1;
983     unsigned IRCF3              : 1;
984     unsigned SPLLEN             : 1;
985     };
986 
987   struct
988     {
989     unsigned SCS                : 2;
990     unsigned                    : 6;
991     };
992 
993   struct
994     {
995     unsigned                    : 3;
996     unsigned IRCF               : 4;
997     unsigned                    : 1;
998     };
999   } __OSCCONbits_t;
1000 
1001 extern __at(0x0099) volatile __OSCCONbits_t OSCCONbits;
1002 
1003 #define _SCS0                   0x01
1004 #define _SCS1                   0x02
1005 #define _IRCF0                  0x08
1006 #define _IRCF1                  0x10
1007 #define _IRCF2                  0x20
1008 #define _IRCF3                  0x40
1009 #define _SPLLEN                 0x80
1010 
1011 //==============================================================================
1012 
1013 
1014 //==============================================================================
1015 //        OSCSTAT Bits
1016 
1017 extern __at(0x009A) __sfr OSCSTAT;
1018 
1019 typedef struct
1020   {
1021   unsigned HFIOFS               : 1;
1022   unsigned LFIOFR               : 1;
1023   unsigned                      : 1;
1024   unsigned                      : 1;
1025   unsigned HFIOFR               : 1;
1026   unsigned                      : 1;
1027   unsigned PLLSR                : 1;
1028   unsigned                      : 1;
1029   } __OSCSTATbits_t;
1030 
1031 extern __at(0x009A) volatile __OSCSTATbits_t OSCSTATbits;
1032 
1033 #define _HFIOFS                 0x01
1034 #define _LFIOFR                 0x02
1035 #define _HFIOFR                 0x10
1036 #define _PLLSR                  0x40
1037 
1038 //==============================================================================
1039 
1040 extern __at(0x009B) __sfr ADRES;
1041 extern __at(0x009B) __sfr ADRESL;
1042 extern __at(0x009C) __sfr ADRESH;
1043 
1044 //==============================================================================
1045 //        ADCON0 Bits
1046 
1047 extern __at(0x009D) __sfr ADCON0;
1048 
1049 typedef union
1050   {
1051   struct
1052     {
1053     unsigned ADON               : 1;
1054     unsigned GO_NOT_DONE        : 1;
1055     unsigned CHS0               : 1;
1056     unsigned CHS1               : 1;
1057     unsigned CHS2               : 1;
1058     unsigned CHS3               : 1;
1059     unsigned CHS4               : 1;
1060     unsigned                    : 1;
1061     };
1062 
1063   struct
1064     {
1065     unsigned AD1ON              : 1;
1066     unsigned ADGO               : 1;
1067     unsigned                    : 1;
1068     unsigned                    : 1;
1069     unsigned                    : 1;
1070     unsigned                    : 1;
1071     unsigned                    : 1;
1072     unsigned                    : 1;
1073     };
1074 
1075   struct
1076     {
1077     unsigned                    : 1;
1078     unsigned GO                 : 1;
1079     unsigned                    : 1;
1080     unsigned                    : 1;
1081     unsigned                    : 1;
1082     unsigned                    : 1;
1083     unsigned                    : 1;
1084     unsigned                    : 1;
1085     };
1086 
1087   struct
1088     {
1089     unsigned                    : 2;
1090     unsigned CHS                : 5;
1091     unsigned                    : 1;
1092     };
1093   } __ADCON0bits_t;
1094 
1095 extern __at(0x009D) volatile __ADCON0bits_t ADCON0bits;
1096 
1097 #define _ADCON0_ADON            0x01
1098 #define _ADCON0_AD1ON           0x01
1099 #define _ADCON0_GO_NOT_DONE     0x02
1100 #define _ADCON0_ADGO            0x02
1101 #define _ADCON0_GO              0x02
1102 #define _ADCON0_CHS0            0x04
1103 #define _ADCON0_CHS1            0x08
1104 #define _ADCON0_CHS2            0x10
1105 #define _ADCON0_CHS3            0x20
1106 #define _ADCON0_CHS4            0x40
1107 
1108 //==============================================================================
1109 
1110 
1111 //==============================================================================
1112 //        ADCON1 Bits
1113 
1114 extern __at(0x009E) __sfr ADCON1;
1115 
1116 typedef union
1117   {
1118   struct
1119     {
1120     unsigned ADPREF0            : 1;
1121     unsigned ADPREF1            : 1;
1122     unsigned GO_NOT_DONE_ALL    : 1;
1123     unsigned                    : 1;
1124     unsigned                    : 1;
1125     unsigned                    : 1;
1126     unsigned                    : 1;
1127     unsigned ADFM               : 1;
1128     };
1129 
1130   struct
1131     {
1132     unsigned                    : 1;
1133     unsigned                    : 1;
1134     unsigned GO_ALL             : 1;
1135     unsigned                    : 1;
1136     unsigned                    : 1;
1137     unsigned                    : 1;
1138     unsigned                    : 1;
1139     unsigned                    : 1;
1140     };
1141 
1142   struct
1143     {
1144     unsigned ADPREF             : 2;
1145     unsigned                    : 6;
1146     };
1147   } __ADCON1bits_t;
1148 
1149 extern __at(0x009E) volatile __ADCON1bits_t ADCON1bits;
1150 
1151 #define _ADCON1_ADPREF0         0x01
1152 #define _ADCON1_ADPREF1         0x02
1153 #define _ADCON1_GO_NOT_DONE_ALL 0x04
1154 #define _ADCON1_GO_ALL          0x04
1155 #define _ADCON1_ADFM            0x80
1156 
1157 //==============================================================================
1158 
1159 
1160 //==============================================================================
1161 //        ADCON2 Bits
1162 
1163 extern __at(0x009F) __sfr ADCON2;
1164 
1165 typedef union
1166   {
1167   struct
1168     {
1169     unsigned                    : 1;
1170     unsigned                    : 1;
1171     unsigned                    : 1;
1172     unsigned                    : 1;
1173     unsigned TRIGSEL0           : 1;
1174     unsigned TRIGSEL1           : 1;
1175     unsigned TRIGSEL2           : 1;
1176     unsigned                    : 1;
1177     };
1178 
1179   struct
1180     {
1181     unsigned                    : 4;
1182     unsigned TRIGSEL            : 3;
1183     unsigned                    : 1;
1184     };
1185   } __ADCON2bits_t;
1186 
1187 extern __at(0x009F) volatile __ADCON2bits_t ADCON2bits;
1188 
1189 #define _ADCON2_TRIGSEL0        0x10
1190 #define _ADCON2_TRIGSEL1        0x20
1191 #define _ADCON2_TRIGSEL2        0x40
1192 
1193 //==============================================================================
1194 
1195 
1196 //==============================================================================
1197 //        LATA Bits
1198 
1199 extern __at(0x010C) __sfr LATA;
1200 
1201 typedef struct
1202   {
1203   unsigned LATA0                : 1;
1204   unsigned LATA1                : 1;
1205   unsigned LATA2                : 1;
1206   unsigned                      : 1;
1207   unsigned LATA4                : 1;
1208   unsigned LATA5                : 1;
1209   unsigned                      : 1;
1210   unsigned                      : 1;
1211   } __LATAbits_t;
1212 
1213 extern __at(0x010C) volatile __LATAbits_t LATAbits;
1214 
1215 #define _LATA0                  0x01
1216 #define _LATA1                  0x02
1217 #define _LATA2                  0x04
1218 #define _LATA4                  0x10
1219 #define _LATA5                  0x20
1220 
1221 //==============================================================================
1222 
1223 
1224 //==============================================================================
1225 //        LATB Bits
1226 
1227 extern __at(0x010D) __sfr LATB;
1228 
1229 typedef struct
1230   {
1231   unsigned                      : 1;
1232   unsigned                      : 1;
1233   unsigned                      : 1;
1234   unsigned                      : 1;
1235   unsigned LATB4                : 1;
1236   unsigned LATB5                : 1;
1237   unsigned LATB6                : 1;
1238   unsigned LATB7                : 1;
1239   } __LATBbits_t;
1240 
1241 extern __at(0x010D) volatile __LATBbits_t LATBbits;
1242 
1243 #define _LATB4                  0x10
1244 #define _LATB5                  0x20
1245 #define _LATB6                  0x40
1246 #define _LATB7                  0x80
1247 
1248 //==============================================================================
1249 
1250 
1251 //==============================================================================
1252 //        LATC Bits
1253 
1254 extern __at(0x010E) __sfr LATC;
1255 
1256 typedef struct
1257   {
1258   unsigned LATC0                : 1;
1259   unsigned LATC1                : 1;
1260   unsigned LATC2                : 1;
1261   unsigned LATC3                : 1;
1262   unsigned LATC4                : 1;
1263   unsigned LATC5                : 1;
1264   unsigned LATC6                : 1;
1265   unsigned LATC7                : 1;
1266   } __LATCbits_t;
1267 
1268 extern __at(0x010E) volatile __LATCbits_t LATCbits;
1269 
1270 #define _LATC0                  0x01
1271 #define _LATC1                  0x02
1272 #define _LATC2                  0x04
1273 #define _LATC3                  0x08
1274 #define _LATC4                  0x10
1275 #define _LATC5                  0x20
1276 #define _LATC6                  0x40
1277 #define _LATC7                  0x80
1278 
1279 //==============================================================================
1280 
1281 
1282 //==============================================================================
1283 //        BORCON Bits
1284 
1285 extern __at(0x0116) __sfr BORCON;
1286 
1287 typedef struct
1288   {
1289   unsigned BORRDY               : 1;
1290   unsigned                      : 1;
1291   unsigned                      : 1;
1292   unsigned                      : 1;
1293   unsigned                      : 1;
1294   unsigned                      : 1;
1295   unsigned BORFS                : 1;
1296   unsigned SBOREN               : 1;
1297   } __BORCONbits_t;
1298 
1299 extern __at(0x0116) volatile __BORCONbits_t BORCONbits;
1300 
1301 #define _BORRDY                 0x01
1302 #define _BORFS                  0x40
1303 #define _SBOREN                 0x80
1304 
1305 //==============================================================================
1306 
1307 
1308 //==============================================================================
1309 //        FVRCON Bits
1310 
1311 extern __at(0x0117) __sfr FVRCON;
1312 
1313 typedef union
1314   {
1315   struct
1316     {
1317     unsigned ADFVR0             : 1;
1318     unsigned ADFVR1             : 1;
1319     unsigned CDAFVR0            : 1;
1320     unsigned CDAFVR1            : 1;
1321     unsigned TSRNG              : 1;
1322     unsigned TSEN               : 1;
1323     unsigned FVRRDY             : 1;
1324     unsigned FVREN              : 1;
1325     };
1326 
1327   struct
1328     {
1329     unsigned ADFVR              : 2;
1330     unsigned                    : 6;
1331     };
1332 
1333   struct
1334     {
1335     unsigned                    : 2;
1336     unsigned CDAFVR             : 2;
1337     unsigned                    : 4;
1338     };
1339   } __FVRCONbits_t;
1340 
1341 extern __at(0x0117) volatile __FVRCONbits_t FVRCONbits;
1342 
1343 #define _ADFVR0                 0x01
1344 #define _ADFVR1                 0x02
1345 #define _CDAFVR0                0x04
1346 #define _CDAFVR1                0x08
1347 #define _TSRNG                  0x10
1348 #define _TSEN                   0x20
1349 #define _FVRRDY                 0x40
1350 #define _FVREN                  0x80
1351 
1352 //==============================================================================
1353 
1354 
1355 //==============================================================================
1356 //        APFCON Bits
1357 
1358 extern __at(0x011D) __sfr APFCON;
1359 
1360 typedef struct
1361   {
1362   unsigned GRDASEL              : 1;
1363   unsigned GRDBSEL              : 1;
1364   unsigned                      : 1;
1365   unsigned                      : 1;
1366   unsigned SDSEL                : 1;
1367   unsigned SSSEL                : 1;
1368   unsigned SDOSEL               : 1;
1369   unsigned RXDTSEL              : 1;
1370   } __APFCONbits_t;
1371 
1372 extern __at(0x011D) volatile __APFCONbits_t APFCONbits;
1373 
1374 #define _GRDASEL                0x01
1375 #define _GRDBSEL                0x02
1376 #define _SDSEL                  0x10
1377 #define _SSSEL                  0x20
1378 #define _SDOSEL                 0x40
1379 #define _RXDTSEL                0x80
1380 
1381 //==============================================================================
1382 
1383 
1384 //==============================================================================
1385 //        ANSELA Bits
1386 
1387 extern __at(0x018C) __sfr ANSELA;
1388 
1389 typedef struct
1390   {
1391   unsigned ANSA0                : 1;
1392   unsigned ANSA1                : 1;
1393   unsigned ANSA2                : 1;
1394   unsigned                      : 1;
1395   unsigned ANSA4                : 1;
1396   unsigned ANSA5                : 1;
1397   unsigned                      : 1;
1398   unsigned                      : 1;
1399   } __ANSELAbits_t;
1400 
1401 extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits;
1402 
1403 #define _ANSA0                  0x01
1404 #define _ANSA1                  0x02
1405 #define _ANSA2                  0x04
1406 #define _ANSA4                  0x10
1407 #define _ANSA5                  0x20
1408 
1409 //==============================================================================
1410 
1411 
1412 //==============================================================================
1413 //        ANSELB Bits
1414 
1415 extern __at(0x018D) __sfr ANSELB;
1416 
1417 typedef struct
1418   {
1419   unsigned                      : 1;
1420   unsigned                      : 1;
1421   unsigned                      : 1;
1422   unsigned                      : 1;
1423   unsigned ANSB4                : 1;
1424   unsigned ANSB5                : 1;
1425   unsigned ANSB6                : 1;
1426   unsigned ANSB7                : 1;
1427   } __ANSELBbits_t;
1428 
1429 extern __at(0x018D) volatile __ANSELBbits_t ANSELBbits;
1430 
1431 #define _ANSB4                  0x10
1432 #define _ANSB5                  0x20
1433 #define _ANSB6                  0x40
1434 #define _ANSB7                  0x80
1435 
1436 //==============================================================================
1437 
1438 
1439 //==============================================================================
1440 //        ANSELC Bits
1441 
1442 extern __at(0x018E) __sfr ANSELC;
1443 
1444 typedef struct
1445   {
1446   unsigned ANSC0                : 1;
1447   unsigned ANSC1                : 1;
1448   unsigned ANSC2                : 1;
1449   unsigned ANSC3                : 1;
1450   unsigned ANSC4                : 1;
1451   unsigned ANSC5                : 1;
1452   unsigned ANSC6                : 1;
1453   unsigned ANSC7                : 1;
1454   } __ANSELCbits_t;
1455 
1456 extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits;
1457 
1458 #define _ANSC0                  0x01
1459 #define _ANSC1                  0x02
1460 #define _ANSC2                  0x04
1461 #define _ANSC3                  0x08
1462 #define _ANSC4                  0x10
1463 #define _ANSC5                  0x20
1464 #define _ANSC6                  0x40
1465 #define _ANSC7                  0x80
1466 
1467 //==============================================================================
1468 
1469 extern __at(0x0191) __sfr PMADR;
1470 extern __at(0x0191) __sfr PMADRL;
1471 extern __at(0x0192) __sfr PMADRH;
1472 extern __at(0x0193) __sfr PMDAT;
1473 extern __at(0x0193) __sfr PMDATL;
1474 extern __at(0x0194) __sfr PMDATH;
1475 
1476 //==============================================================================
1477 //        PMCON1 Bits
1478 
1479 extern __at(0x0195) __sfr PMCON1;
1480 
1481 typedef struct
1482   {
1483   unsigned RD                   : 1;
1484   unsigned WR                   : 1;
1485   unsigned WREN                 : 1;
1486   unsigned WRERR                : 1;
1487   unsigned FREE                 : 1;
1488   unsigned LWLO                 : 1;
1489   unsigned CFGS                 : 1;
1490   unsigned                      : 1;
1491   } __PMCON1bits_t;
1492 
1493 extern __at(0x0195) volatile __PMCON1bits_t PMCON1bits;
1494 
1495 #define _RD                     0x01
1496 #define _WR                     0x02
1497 #define _WREN                   0x04
1498 #define _WRERR                  0x08
1499 #define _FREE                   0x10
1500 #define _LWLO                   0x20
1501 #define _CFGS                   0x40
1502 
1503 //==============================================================================
1504 
1505 extern __at(0x0196) __sfr PMCON2;
1506 extern __at(0x0199) __sfr RCREG;
1507 extern __at(0x019A) __sfr TXREG;
1508 extern __at(0x019B) __sfr SPBRG;
1509 extern __at(0x019B) __sfr SPBRGL;
1510 extern __at(0x019C) __sfr SPBRGH;
1511 
1512 //==============================================================================
1513 //        RCSTA Bits
1514 
1515 extern __at(0x019D) __sfr RCSTA;
1516 
1517 typedef struct
1518   {
1519   unsigned RX9D                 : 1;
1520   unsigned OERR                 : 1;
1521   unsigned FERR                 : 1;
1522   unsigned ADDEN                : 1;
1523   unsigned CREN                 : 1;
1524   unsigned SREN                 : 1;
1525   unsigned RX9                  : 1;
1526   unsigned SPEN                 : 1;
1527   } __RCSTAbits_t;
1528 
1529 extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits;
1530 
1531 #define _RX9D                   0x01
1532 #define _OERR                   0x02
1533 #define _FERR                   0x04
1534 #define _ADDEN                  0x08
1535 #define _CREN                   0x10
1536 #define _SREN                   0x20
1537 #define _RX9                    0x40
1538 #define _SPEN                   0x80
1539 
1540 //==============================================================================
1541 
1542 
1543 //==============================================================================
1544 //        TXSTA Bits
1545 
1546 extern __at(0x019E) __sfr TXSTA;
1547 
1548 typedef struct
1549   {
1550   unsigned TX9D                 : 1;
1551   unsigned TRMT                 : 1;
1552   unsigned BRGH                 : 1;
1553   unsigned SENDB                : 1;
1554   unsigned SYNC                 : 1;
1555   unsigned TXEN                 : 1;
1556   unsigned TX9                  : 1;
1557   unsigned CSRC                 : 1;
1558   } __TXSTAbits_t;
1559 
1560 extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits;
1561 
1562 #define _TX9D                   0x01
1563 #define _TRMT                   0x02
1564 #define _BRGH                   0x04
1565 #define _SENDB                  0x08
1566 #define _SYNC                   0x10
1567 #define _TXEN                   0x20
1568 #define _TX9                    0x40
1569 #define _CSRC                   0x80
1570 
1571 //==============================================================================
1572 
1573 
1574 //==============================================================================
1575 //        BAUDCON Bits
1576 
1577 extern __at(0x019F) __sfr BAUDCON;
1578 
1579 typedef struct
1580   {
1581   unsigned ABDEN                : 1;
1582   unsigned WUE                  : 1;
1583   unsigned                      : 1;
1584   unsigned BRG16                : 1;
1585   unsigned SCKP                 : 1;
1586   unsigned                      : 1;
1587   unsigned RCIDL                : 1;
1588   unsigned ABDOVF               : 1;
1589   } __BAUDCONbits_t;
1590 
1591 extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits;
1592 
1593 #define _ABDEN                  0x01
1594 #define _WUE                    0x02
1595 #define _BRG16                  0x08
1596 #define _SCKP                   0x10
1597 #define _RCIDL                  0x40
1598 #define _ABDOVF                 0x80
1599 
1600 //==============================================================================
1601 
1602 
1603 //==============================================================================
1604 //        WPUA Bits
1605 
1606 extern __at(0x020C) __sfr WPUA;
1607 
1608 typedef union
1609   {
1610   struct
1611     {
1612     unsigned WPUA0              : 1;
1613     unsigned WPUA1              : 1;
1614     unsigned WPUA2              : 1;
1615     unsigned WPUA3              : 1;
1616     unsigned WPUA4              : 1;
1617     unsigned WPUA5              : 1;
1618     unsigned                    : 1;
1619     unsigned                    : 1;
1620     };
1621 
1622   struct
1623     {
1624     unsigned WPUA               : 6;
1625     unsigned                    : 2;
1626     };
1627   } __WPUAbits_t;
1628 
1629 extern __at(0x020C) volatile __WPUAbits_t WPUAbits;
1630 
1631 #define _WPUA0                  0x01
1632 #define _WPUA1                  0x02
1633 #define _WPUA2                  0x04
1634 #define _WPUA3                  0x08
1635 #define _WPUA4                  0x10
1636 #define _WPUA5                  0x20
1637 
1638 //==============================================================================
1639 
1640 
1641 //==============================================================================
1642 //        WPUB Bits
1643 
1644 extern __at(0x020D) __sfr WPUB;
1645 
1646 typedef struct
1647   {
1648   unsigned                      : 1;
1649   unsigned                      : 1;
1650   unsigned                      : 1;
1651   unsigned                      : 1;
1652   unsigned WPUB4                : 1;
1653   unsigned WPUB5                : 1;
1654   unsigned WPUB6                : 1;
1655   unsigned WPUB7                : 1;
1656   } __WPUBbits_t;
1657 
1658 extern __at(0x020D) volatile __WPUBbits_t WPUBbits;
1659 
1660 #define _WPUB4                  0x10
1661 #define _WPUB5                  0x20
1662 #define _WPUB6                  0x40
1663 #define _WPUB7                  0x80
1664 
1665 //==============================================================================
1666 
1667 extern __at(0x0211) __sfr SSP1BUF;
1668 extern __at(0x0211) __sfr SSPBUF;
1669 extern __at(0x0212) __sfr SSP1ADD;
1670 extern __at(0x0212) __sfr SSPADD;
1671 extern __at(0x0213) __sfr SSP1MSK;
1672 extern __at(0x0213) __sfr SSPMSK;
1673 
1674 //==============================================================================
1675 //        SSP1STAT Bits
1676 
1677 extern __at(0x0214) __sfr SSP1STAT;
1678 
1679 typedef struct
1680   {
1681   unsigned BF                   : 1;
1682   unsigned UA                   : 1;
1683   unsigned R_NOT_W              : 1;
1684   unsigned S                    : 1;
1685   unsigned P                    : 1;
1686   unsigned D_NOT_A              : 1;
1687   unsigned CKE                  : 1;
1688   unsigned SMP                  : 1;
1689   } __SSP1STATbits_t;
1690 
1691 extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits;
1692 
1693 #define _BF                     0x01
1694 #define _UA                     0x02
1695 #define _R_NOT_W                0x04
1696 #define _S                      0x08
1697 #define _P                      0x10
1698 #define _D_NOT_A                0x20
1699 #define _CKE                    0x40
1700 #define _SMP                    0x80
1701 
1702 //==============================================================================
1703 
1704 
1705 //==============================================================================
1706 //        SSPSTAT Bits
1707 
1708 extern __at(0x0214) __sfr SSPSTAT;
1709 
1710 typedef struct
1711   {
1712   unsigned BF                   : 1;
1713   unsigned UA                   : 1;
1714   unsigned R_NOT_W              : 1;
1715   unsigned S                    : 1;
1716   unsigned P                    : 1;
1717   unsigned D_NOT_A              : 1;
1718   unsigned CKE                  : 1;
1719   unsigned SMP                  : 1;
1720   } __SSPSTATbits_t;
1721 
1722 extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits;
1723 
1724 #define _SSPSTAT_BF             0x01
1725 #define _SSPSTAT_UA             0x02
1726 #define _SSPSTAT_R_NOT_W        0x04
1727 #define _SSPSTAT_S              0x08
1728 #define _SSPSTAT_P              0x10
1729 #define _SSPSTAT_D_NOT_A        0x20
1730 #define _SSPSTAT_CKE            0x40
1731 #define _SSPSTAT_SMP            0x80
1732 
1733 //==============================================================================
1734 
1735 
1736 //==============================================================================
1737 //        SSP1CON1 Bits
1738 
1739 extern __at(0x0215) __sfr SSP1CON1;
1740 
1741 typedef union
1742   {
1743   struct
1744     {
1745     unsigned SSPM0              : 1;
1746     unsigned SSPM1              : 1;
1747     unsigned SSPM2              : 1;
1748     unsigned SSPM3              : 1;
1749     unsigned CKP                : 1;
1750     unsigned SSPEN              : 1;
1751     unsigned SSPOV              : 1;
1752     unsigned WCOL               : 1;
1753     };
1754 
1755   struct
1756     {
1757     unsigned SSPM               : 4;
1758     unsigned                    : 4;
1759     };
1760   } __SSP1CON1bits_t;
1761 
1762 extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits;
1763 
1764 #define _SSPM0                  0x01
1765 #define _SSPM1                  0x02
1766 #define _SSPM2                  0x04
1767 #define _SSPM3                  0x08
1768 #define _CKP                    0x10
1769 #define _SSPEN                  0x20
1770 #define _SSPOV                  0x40
1771 #define _WCOL                   0x80
1772 
1773 //==============================================================================
1774 
1775 
1776 //==============================================================================
1777 //        SSPCON Bits
1778 
1779 extern __at(0x0215) __sfr SSPCON;
1780 
1781 typedef union
1782   {
1783   struct
1784     {
1785     unsigned SSPM0              : 1;
1786     unsigned SSPM1              : 1;
1787     unsigned SSPM2              : 1;
1788     unsigned SSPM3              : 1;
1789     unsigned CKP                : 1;
1790     unsigned SSPEN              : 1;
1791     unsigned SSPOV              : 1;
1792     unsigned WCOL               : 1;
1793     };
1794 
1795   struct
1796     {
1797     unsigned SSPM               : 4;
1798     unsigned                    : 4;
1799     };
1800   } __SSPCONbits_t;
1801 
1802 extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits;
1803 
1804 #define _SSPCON_SSPM0           0x01
1805 #define _SSPCON_SSPM1           0x02
1806 #define _SSPCON_SSPM2           0x04
1807 #define _SSPCON_SSPM3           0x08
1808 #define _SSPCON_CKP             0x10
1809 #define _SSPCON_SSPEN           0x20
1810 #define _SSPCON_SSPOV           0x40
1811 #define _SSPCON_WCOL            0x80
1812 
1813 //==============================================================================
1814 
1815 
1816 //==============================================================================
1817 //        SSPCON1 Bits
1818 
1819 extern __at(0x0215) __sfr SSPCON1;
1820 
1821 typedef union
1822   {
1823   struct
1824     {
1825     unsigned SSPM0              : 1;
1826     unsigned SSPM1              : 1;
1827     unsigned SSPM2              : 1;
1828     unsigned SSPM3              : 1;
1829     unsigned CKP                : 1;
1830     unsigned SSPEN              : 1;
1831     unsigned SSPOV              : 1;
1832     unsigned WCOL               : 1;
1833     };
1834 
1835   struct
1836     {
1837     unsigned SSPM               : 4;
1838     unsigned                    : 4;
1839     };
1840   } __SSPCON1bits_t;
1841 
1842 extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits;
1843 
1844 #define _SSPCON1_SSPM0          0x01
1845 #define _SSPCON1_SSPM1          0x02
1846 #define _SSPCON1_SSPM2          0x04
1847 #define _SSPCON1_SSPM3          0x08
1848 #define _SSPCON1_CKP            0x10
1849 #define _SSPCON1_SSPEN          0x20
1850 #define _SSPCON1_SSPOV          0x40
1851 #define _SSPCON1_WCOL           0x80
1852 
1853 //==============================================================================
1854 
1855 
1856 //==============================================================================
1857 //        SSP1CON2 Bits
1858 
1859 extern __at(0x0216) __sfr SSP1CON2;
1860 
1861 typedef struct
1862   {
1863   unsigned SEN                  : 1;
1864   unsigned RSEN                 : 1;
1865   unsigned PEN                  : 1;
1866   unsigned RCEN                 : 1;
1867   unsigned ACKEN                : 1;
1868   unsigned ACKDT                : 1;
1869   unsigned ACKSTAT              : 1;
1870   unsigned GCEN                 : 1;
1871   } __SSP1CON2bits_t;
1872 
1873 extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits;
1874 
1875 #define _SEN                    0x01
1876 #define _RSEN                   0x02
1877 #define _PEN                    0x04
1878 #define _RCEN                   0x08
1879 #define _ACKEN                  0x10
1880 #define _ACKDT                  0x20
1881 #define _ACKSTAT                0x40
1882 #define _GCEN                   0x80
1883 
1884 //==============================================================================
1885 
1886 
1887 //==============================================================================
1888 //        SSPCON2 Bits
1889 
1890 extern __at(0x0216) __sfr SSPCON2;
1891 
1892 typedef struct
1893   {
1894   unsigned SEN                  : 1;
1895   unsigned RSEN                 : 1;
1896   unsigned PEN                  : 1;
1897   unsigned RCEN                 : 1;
1898   unsigned ACKEN                : 1;
1899   unsigned ACKDT                : 1;
1900   unsigned ACKSTAT              : 1;
1901   unsigned GCEN                 : 1;
1902   } __SSPCON2bits_t;
1903 
1904 extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits;
1905 
1906 #define _SSPCON2_SEN            0x01
1907 #define _SSPCON2_RSEN           0x02
1908 #define _SSPCON2_PEN            0x04
1909 #define _SSPCON2_RCEN           0x08
1910 #define _SSPCON2_ACKEN          0x10
1911 #define _SSPCON2_ACKDT          0x20
1912 #define _SSPCON2_ACKSTAT        0x40
1913 #define _SSPCON2_GCEN           0x80
1914 
1915 //==============================================================================
1916 
1917 
1918 //==============================================================================
1919 //        SSP1CON3 Bits
1920 
1921 extern __at(0x0217) __sfr SSP1CON3;
1922 
1923 typedef struct
1924   {
1925   unsigned DHEN                 : 1;
1926   unsigned AHEN                 : 1;
1927   unsigned SBCDE                : 1;
1928   unsigned SDAHT                : 1;
1929   unsigned BOEN                 : 1;
1930   unsigned SCIE                 : 1;
1931   unsigned PCIE                 : 1;
1932   unsigned ACKTIM               : 1;
1933   } __SSP1CON3bits_t;
1934 
1935 extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits;
1936 
1937 #define _DHEN                   0x01
1938 #define _AHEN                   0x02
1939 #define _SBCDE                  0x04
1940 #define _SDAHT                  0x08
1941 #define _BOEN                   0x10
1942 #define _SCIE                   0x20
1943 #define _PCIE                   0x40
1944 #define _ACKTIM                 0x80
1945 
1946 //==============================================================================
1947 
1948 
1949 //==============================================================================
1950 //        SSPCON3 Bits
1951 
1952 extern __at(0x0217) __sfr SSPCON3;
1953 
1954 typedef struct
1955   {
1956   unsigned DHEN                 : 1;
1957   unsigned AHEN                 : 1;
1958   unsigned SBCDE                : 1;
1959   unsigned SDAHT                : 1;
1960   unsigned BOEN                 : 1;
1961   unsigned SCIE                 : 1;
1962   unsigned PCIE                 : 1;
1963   unsigned ACKTIM               : 1;
1964   } __SSPCON3bits_t;
1965 
1966 extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits;
1967 
1968 #define _SSPCON3_DHEN           0x01
1969 #define _SSPCON3_AHEN           0x02
1970 #define _SSPCON3_SBCDE          0x04
1971 #define _SSPCON3_SDAHT          0x08
1972 #define _SSPCON3_BOEN           0x10
1973 #define _SSPCON3_SCIE           0x20
1974 #define _SSPCON3_PCIE           0x40
1975 #define _SSPCON3_ACKTIM         0x80
1976 
1977 //==============================================================================
1978 
1979 
1980 //==============================================================================
1981 //        IOCAP Bits
1982 
1983 extern __at(0x0391) __sfr IOCAP;
1984 
1985 typedef union
1986   {
1987   struct
1988     {
1989     unsigned IOCAP0             : 1;
1990     unsigned IOCAP1             : 1;
1991     unsigned IOCAP2             : 1;
1992     unsigned IOCAP3             : 1;
1993     unsigned IOCAP4             : 1;
1994     unsigned IOCAP5             : 1;
1995     unsigned                    : 1;
1996     unsigned                    : 1;
1997     };
1998 
1999   struct
2000     {
2001     unsigned IOCAP              : 6;
2002     unsigned                    : 2;
2003     };
2004   } __IOCAPbits_t;
2005 
2006 extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits;
2007 
2008 #define _IOCAP0                 0x01
2009 #define _IOCAP1                 0x02
2010 #define _IOCAP2                 0x04
2011 #define _IOCAP3                 0x08
2012 #define _IOCAP4                 0x10
2013 #define _IOCAP5                 0x20
2014 
2015 //==============================================================================
2016 
2017 
2018 //==============================================================================
2019 //        IOCAN Bits
2020 
2021 extern __at(0x0392) __sfr IOCAN;
2022 
2023 typedef union
2024   {
2025   struct
2026     {
2027     unsigned IOCAN0             : 1;
2028     unsigned IOCAN1             : 1;
2029     unsigned IOCAN2             : 1;
2030     unsigned IOCAN3             : 1;
2031     unsigned IOCAN4             : 1;
2032     unsigned IOCAN5             : 1;
2033     unsigned                    : 1;
2034     unsigned                    : 1;
2035     };
2036 
2037   struct
2038     {
2039     unsigned IOCAN              : 6;
2040     unsigned                    : 2;
2041     };
2042   } __IOCANbits_t;
2043 
2044 extern __at(0x0392) volatile __IOCANbits_t IOCANbits;
2045 
2046 #define _IOCAN0                 0x01
2047 #define _IOCAN1                 0x02
2048 #define _IOCAN2                 0x04
2049 #define _IOCAN3                 0x08
2050 #define _IOCAN4                 0x10
2051 #define _IOCAN5                 0x20
2052 
2053 //==============================================================================
2054 
2055 
2056 //==============================================================================
2057 //        IOCAF Bits
2058 
2059 extern __at(0x0393) __sfr IOCAF;
2060 
2061 typedef union
2062   {
2063   struct
2064     {
2065     unsigned IOCAF0             : 1;
2066     unsigned IOCAF1             : 1;
2067     unsigned IOCAF2             : 1;
2068     unsigned IOCAF3             : 1;
2069     unsigned IOCAF4             : 1;
2070     unsigned IOCAF5             : 1;
2071     unsigned                    : 1;
2072     unsigned                    : 1;
2073     };
2074 
2075   struct
2076     {
2077     unsigned IOCAF              : 6;
2078     unsigned                    : 2;
2079     };
2080   } __IOCAFbits_t;
2081 
2082 extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits;
2083 
2084 #define _IOCAF0                 0x01
2085 #define _IOCAF1                 0x02
2086 #define _IOCAF2                 0x04
2087 #define _IOCAF3                 0x08
2088 #define _IOCAF4                 0x10
2089 #define _IOCAF5                 0x20
2090 
2091 //==============================================================================
2092 
2093 
2094 //==============================================================================
2095 //        IOCBP Bits
2096 
2097 extern __at(0x0394) __sfr IOCBP;
2098 
2099 typedef struct
2100   {
2101   unsigned                      : 1;
2102   unsigned                      : 1;
2103   unsigned                      : 1;
2104   unsigned                      : 1;
2105   unsigned IOCBP4               : 1;
2106   unsigned IOCBP5               : 1;
2107   unsigned IOCBP6               : 1;
2108   unsigned IOCBP7               : 1;
2109   } __IOCBPbits_t;
2110 
2111 extern __at(0x0394) volatile __IOCBPbits_t IOCBPbits;
2112 
2113 #define _IOCBP4                 0x10
2114 #define _IOCBP5                 0x20
2115 #define _IOCBP6                 0x40
2116 #define _IOCBP7                 0x80
2117 
2118 //==============================================================================
2119 
2120 
2121 //==============================================================================
2122 //        IOCBN Bits
2123 
2124 extern __at(0x0395) __sfr IOCBN;
2125 
2126 typedef struct
2127   {
2128   unsigned                      : 1;
2129   unsigned                      : 1;
2130   unsigned                      : 1;
2131   unsigned                      : 1;
2132   unsigned IOCBN4               : 1;
2133   unsigned IOCBN5               : 1;
2134   unsigned IOCBN6               : 1;
2135   unsigned IOCBN7               : 1;
2136   } __IOCBNbits_t;
2137 
2138 extern __at(0x0395) volatile __IOCBNbits_t IOCBNbits;
2139 
2140 #define _IOCBN4                 0x10
2141 #define _IOCBN5                 0x20
2142 #define _IOCBN6                 0x40
2143 #define _IOCBN7                 0x80
2144 
2145 //==============================================================================
2146 
2147 
2148 //==============================================================================
2149 //        IOCBF Bits
2150 
2151 extern __at(0x0396) __sfr IOCBF;
2152 
2153 typedef struct
2154   {
2155   unsigned                      : 1;
2156   unsigned                      : 1;
2157   unsigned                      : 1;
2158   unsigned                      : 1;
2159   unsigned IOCBF4               : 1;
2160   unsigned IOCBF5               : 1;
2161   unsigned IOCBF6               : 1;
2162   unsigned IOCBF7               : 1;
2163   } __IOCBFbits_t;
2164 
2165 extern __at(0x0396) volatile __IOCBFbits_t IOCBFbits;
2166 
2167 #define _IOCBF4                 0x10
2168 #define _IOCBF5                 0x20
2169 #define _IOCBF6                 0x40
2170 #define _IOCBF7                 0x80
2171 
2172 //==============================================================================
2173 
2174 
2175 //==============================================================================
2176 //        PWM1DCL Bits
2177 
2178 extern __at(0x0611) __sfr PWM1DCL;
2179 
2180 typedef union
2181   {
2182   struct
2183     {
2184     unsigned                    : 1;
2185     unsigned                    : 1;
2186     unsigned                    : 1;
2187     unsigned                    : 1;
2188     unsigned                    : 1;
2189     unsigned                    : 1;
2190     unsigned PWM1DCL0           : 1;
2191     unsigned PWM1DCL1           : 1;
2192     };
2193 
2194   struct
2195     {
2196     unsigned                    : 6;
2197     unsigned PWM1DCL            : 2;
2198     };
2199   } __PWM1DCLbits_t;
2200 
2201 extern __at(0x0611) volatile __PWM1DCLbits_t PWM1DCLbits;
2202 
2203 #define _PWM1DCL0               0x40
2204 #define _PWM1DCL1               0x80
2205 
2206 //==============================================================================
2207 
2208 
2209 //==============================================================================
2210 //        PWM1DCH Bits
2211 
2212 extern __at(0x0612) __sfr PWM1DCH;
2213 
2214 typedef struct
2215   {
2216   unsigned PWM1DCH0             : 1;
2217   unsigned PWM1DCH1             : 1;
2218   unsigned PWM1DCH2             : 1;
2219   unsigned PWM1DCH3             : 1;
2220   unsigned PWM1DCH4             : 1;
2221   unsigned PWM1DCH5             : 1;
2222   unsigned PWM1DCH6             : 1;
2223   unsigned PWM1DCH7             : 1;
2224   } __PWM1DCHbits_t;
2225 
2226 extern __at(0x0612) volatile __PWM1DCHbits_t PWM1DCHbits;
2227 
2228 #define _PWM1DCH0               0x01
2229 #define _PWM1DCH1               0x02
2230 #define _PWM1DCH2               0x04
2231 #define _PWM1DCH3               0x08
2232 #define _PWM1DCH4               0x10
2233 #define _PWM1DCH5               0x20
2234 #define _PWM1DCH6               0x40
2235 #define _PWM1DCH7               0x80
2236 
2237 //==============================================================================
2238 
2239 
2240 //==============================================================================
2241 //        PWM1CON Bits
2242 
2243 extern __at(0x0613) __sfr PWM1CON;
2244 
2245 typedef struct
2246   {
2247   unsigned                      : 1;
2248   unsigned                      : 1;
2249   unsigned                      : 1;
2250   unsigned                      : 1;
2251   unsigned PWM1POL              : 1;
2252   unsigned PWM1OUT              : 1;
2253   unsigned PWM1OE               : 1;
2254   unsigned PWM1EN               : 1;
2255   } __PWM1CONbits_t;
2256 
2257 extern __at(0x0613) volatile __PWM1CONbits_t PWM1CONbits;
2258 
2259 #define _PWM1POL                0x10
2260 #define _PWM1OUT                0x20
2261 #define _PWM1OE                 0x40
2262 #define _PWM1EN                 0x80
2263 
2264 //==============================================================================
2265 
2266 
2267 //==============================================================================
2268 //        PWM1CON0 Bits
2269 
2270 extern __at(0x0613) __sfr PWM1CON0;
2271 
2272 typedef struct
2273   {
2274   unsigned                      : 1;
2275   unsigned                      : 1;
2276   unsigned                      : 1;
2277   unsigned                      : 1;
2278   unsigned PWM1POL              : 1;
2279   unsigned PWM1OUT              : 1;
2280   unsigned PWM1OE               : 1;
2281   unsigned PWM1EN               : 1;
2282   } __PWM1CON0bits_t;
2283 
2284 extern __at(0x0613) volatile __PWM1CON0bits_t PWM1CON0bits;
2285 
2286 #define _PWM1CON0_PWM1POL       0x10
2287 #define _PWM1CON0_PWM1OUT       0x20
2288 #define _PWM1CON0_PWM1OE        0x40
2289 #define _PWM1CON0_PWM1EN        0x80
2290 
2291 //==============================================================================
2292 
2293 
2294 //==============================================================================
2295 //        PWM2DCL Bits
2296 
2297 extern __at(0x0614) __sfr PWM2DCL;
2298 
2299 typedef union
2300   {
2301   struct
2302     {
2303     unsigned                    : 1;
2304     unsigned                    : 1;
2305     unsigned                    : 1;
2306     unsigned                    : 1;
2307     unsigned                    : 1;
2308     unsigned                    : 1;
2309     unsigned PWM2DCL0           : 1;
2310     unsigned PWM2DCL1           : 1;
2311     };
2312 
2313   struct
2314     {
2315     unsigned                    : 6;
2316     unsigned PWM2DCL            : 2;
2317     };
2318   } __PWM2DCLbits_t;
2319 
2320 extern __at(0x0614) volatile __PWM2DCLbits_t PWM2DCLbits;
2321 
2322 #define _PWM2DCL0               0x40
2323 #define _PWM2DCL1               0x80
2324 
2325 //==============================================================================
2326 
2327 
2328 //==============================================================================
2329 //        PWM2DCH Bits
2330 
2331 extern __at(0x0615) __sfr PWM2DCH;
2332 
2333 typedef struct
2334   {
2335   unsigned PWM2DCH0             : 1;
2336   unsigned PWM2DCH1             : 1;
2337   unsigned PWM2DCH2             : 1;
2338   unsigned PWM2DCH3             : 1;
2339   unsigned PWM2DCH4             : 1;
2340   unsigned PWM2DCH5             : 1;
2341   unsigned PWM2DCH6             : 1;
2342   unsigned PWM2DCH7             : 1;
2343   } __PWM2DCHbits_t;
2344 
2345 extern __at(0x0615) volatile __PWM2DCHbits_t PWM2DCHbits;
2346 
2347 #define _PWM2DCH0               0x01
2348 #define _PWM2DCH1               0x02
2349 #define _PWM2DCH2               0x04
2350 #define _PWM2DCH3               0x08
2351 #define _PWM2DCH4               0x10
2352 #define _PWM2DCH5               0x20
2353 #define _PWM2DCH6               0x40
2354 #define _PWM2DCH7               0x80
2355 
2356 //==============================================================================
2357 
2358 
2359 //==============================================================================
2360 //        PWM2CON Bits
2361 
2362 extern __at(0x0616) __sfr PWM2CON;
2363 
2364 typedef struct
2365   {
2366   unsigned                      : 1;
2367   unsigned                      : 1;
2368   unsigned                      : 1;
2369   unsigned                      : 1;
2370   unsigned PWM2POL              : 1;
2371   unsigned PWM2OUT              : 1;
2372   unsigned PWM2OE               : 1;
2373   unsigned PWM2EN               : 1;
2374   } __PWM2CONbits_t;
2375 
2376 extern __at(0x0616) volatile __PWM2CONbits_t PWM2CONbits;
2377 
2378 #define _PWM2POL                0x10
2379 #define _PWM2OUT                0x20
2380 #define _PWM2OE                 0x40
2381 #define _PWM2EN                 0x80
2382 
2383 //==============================================================================
2384 
2385 
2386 //==============================================================================
2387 //        PWM2CON0 Bits
2388 
2389 extern __at(0x0616) __sfr PWM2CON0;
2390 
2391 typedef struct
2392   {
2393   unsigned                      : 1;
2394   unsigned                      : 1;
2395   unsigned                      : 1;
2396   unsigned                      : 1;
2397   unsigned PWM2POL              : 1;
2398   unsigned PWM2OUT              : 1;
2399   unsigned PWM2OE               : 1;
2400   unsigned PWM2EN               : 1;
2401   } __PWM2CON0bits_t;
2402 
2403 extern __at(0x0616) volatile __PWM2CON0bits_t PWM2CON0bits;
2404 
2405 #define _PWM2CON0_PWM2POL       0x10
2406 #define _PWM2CON0_PWM2OUT       0x20
2407 #define _PWM2CON0_PWM2OE        0x40
2408 #define _PWM2CON0_PWM2EN        0x80
2409 
2410 //==============================================================================
2411 
2412 
2413 //==============================================================================
2414 //        AAD1CON0 Bits
2415 
2416 extern __at(0x0711) __sfr AAD1CON0;
2417 
2418 typedef union
2419   {
2420   struct
2421     {
2422     unsigned ADON               : 1;
2423     unsigned GO                 : 1;
2424     unsigned CHS0               : 1;
2425     unsigned CHS1               : 1;
2426     unsigned CHS2               : 1;
2427     unsigned CHS3               : 1;
2428     unsigned CHS4               : 1;
2429     unsigned                    : 1;
2430     };
2431 
2432   struct
2433     {
2434     unsigned                    : 1;
2435     unsigned GO_NOT_DONE        : 1;
2436     unsigned                    : 1;
2437     unsigned                    : 1;
2438     unsigned                    : 1;
2439     unsigned                    : 1;
2440     unsigned                    : 1;
2441     unsigned                    : 1;
2442     };
2443 
2444   struct
2445     {
2446     unsigned                    : 1;
2447     unsigned GO_NOT_DONE1       : 1;
2448     unsigned                    : 1;
2449     unsigned                    : 1;
2450     unsigned                    : 1;
2451     unsigned                    : 1;
2452     unsigned                    : 1;
2453     unsigned                    : 1;
2454     };
2455 
2456   struct
2457     {
2458     unsigned                    : 2;
2459     unsigned CHS                : 5;
2460     unsigned                    : 1;
2461     };
2462   } __AAD1CON0bits_t;
2463 
2464 extern __at(0x0711) volatile __AAD1CON0bits_t AAD1CON0bits;
2465 
2466 #define _ADON                   0x01
2467 #define _GO                     0x02
2468 #define _GO_NOT_DONE            0x02
2469 #define _GO_NOT_DONE1           0x02
2470 #define _CHS0                   0x04
2471 #define _CHS1                   0x08
2472 #define _CHS2                   0x10
2473 #define _CHS3                   0x20
2474 #define _CHS4                   0x40
2475 
2476 //==============================================================================
2477 
2478 
2479 //==============================================================================
2480 //        AADCON0 Bits
2481 
2482 extern __at(0x0711) __sfr AADCON0;
2483 
2484 typedef union
2485   {
2486   struct
2487     {
2488     unsigned ADON               : 1;
2489     unsigned GO                 : 1;
2490     unsigned CHS0               : 1;
2491     unsigned CHS1               : 1;
2492     unsigned CHS2               : 1;
2493     unsigned CHS3               : 1;
2494     unsigned CHS4               : 1;
2495     unsigned                    : 1;
2496     };
2497 
2498   struct
2499     {
2500     unsigned                    : 1;
2501     unsigned GO_NOT_DONE        : 1;
2502     unsigned                    : 1;
2503     unsigned                    : 1;
2504     unsigned                    : 1;
2505     unsigned                    : 1;
2506     unsigned                    : 1;
2507     unsigned                    : 1;
2508     };
2509 
2510   struct
2511     {
2512     unsigned                    : 1;
2513     unsigned GO_NOT_DONE1       : 1;
2514     unsigned                    : 1;
2515     unsigned                    : 1;
2516     unsigned                    : 1;
2517     unsigned                    : 1;
2518     unsigned                    : 1;
2519     unsigned                    : 1;
2520     };
2521 
2522   struct
2523     {
2524     unsigned                    : 2;
2525     unsigned CHS                : 5;
2526     unsigned                    : 1;
2527     };
2528   } __AADCON0bits_t;
2529 
2530 extern __at(0x0711) volatile __AADCON0bits_t AADCON0bits;
2531 
2532 #define _AADCON0_ADON           0x01
2533 #define _AADCON0_GO             0x02
2534 #define _AADCON0_GO_NOT_DONE    0x02
2535 #define _AADCON0_GO_NOT_DONE1   0x02
2536 #define _AADCON0_CHS0           0x04
2537 #define _AADCON0_CHS1           0x08
2538 #define _AADCON0_CHS2           0x10
2539 #define _AADCON0_CHS3           0x20
2540 #define _AADCON0_CHS4           0x40
2541 
2542 //==============================================================================
2543 
2544 
2545 //==============================================================================
2546 //        AD1CON0 Bits
2547 
2548 extern __at(0x0711) __sfr AD1CON0;
2549 
2550 typedef union
2551   {
2552   struct
2553     {
2554     unsigned ADON               : 1;
2555     unsigned GO                 : 1;
2556     unsigned CHS0               : 1;
2557     unsigned CHS1               : 1;
2558     unsigned CHS2               : 1;
2559     unsigned CHS3               : 1;
2560     unsigned CHS4               : 1;
2561     unsigned                    : 1;
2562     };
2563 
2564   struct
2565     {
2566     unsigned                    : 1;
2567     unsigned GO_NOT_DONE        : 1;
2568     unsigned                    : 1;
2569     unsigned                    : 1;
2570     unsigned                    : 1;
2571     unsigned                    : 1;
2572     unsigned                    : 1;
2573     unsigned                    : 1;
2574     };
2575 
2576   struct
2577     {
2578     unsigned                    : 1;
2579     unsigned GO_NOT_DONE1       : 1;
2580     unsigned                    : 1;
2581     unsigned                    : 1;
2582     unsigned                    : 1;
2583     unsigned                    : 1;
2584     unsigned                    : 1;
2585     unsigned                    : 1;
2586     };
2587 
2588   struct
2589     {
2590     unsigned                    : 2;
2591     unsigned CHS                : 5;
2592     unsigned                    : 1;
2593     };
2594   } __AD1CON0bits_t;
2595 
2596 extern __at(0x0711) volatile __AD1CON0bits_t AD1CON0bits;
2597 
2598 #define _AD1CON0_ADON           0x01
2599 #define _AD1CON0_GO             0x02
2600 #define _AD1CON0_GO_NOT_DONE    0x02
2601 #define _AD1CON0_GO_NOT_DONE1   0x02
2602 #define _AD1CON0_CHS0           0x04
2603 #define _AD1CON0_CHS1           0x08
2604 #define _AD1CON0_CHS2           0x10
2605 #define _AD1CON0_CHS3           0x20
2606 #define _AD1CON0_CHS4           0x40
2607 
2608 //==============================================================================
2609 
2610 
2611 //==============================================================================
2612 //        AADCON1 Bits
2613 
2614 extern __at(0x0712) __sfr AADCON1;
2615 
2616 typedef union
2617   {
2618   struct
2619     {
2620     unsigned ADPREF0            : 1;
2621     unsigned ADPREF1            : 1;
2622     unsigned GO_NOT_DONE_ALL    : 1;
2623     unsigned                    : 1;
2624     unsigned ADCS0              : 1;
2625     unsigned ADCS1              : 1;
2626     unsigned ADCS2              : 1;
2627     unsigned ADFM               : 1;
2628     };
2629 
2630   struct
2631     {
2632     unsigned                    : 1;
2633     unsigned                    : 1;
2634     unsigned GO_ALL             : 1;
2635     unsigned                    : 1;
2636     unsigned                    : 1;
2637     unsigned                    : 1;
2638     unsigned                    : 1;
2639     unsigned                    : 1;
2640     };
2641 
2642   struct
2643     {
2644     unsigned ADPREF             : 2;
2645     unsigned                    : 6;
2646     };
2647 
2648   struct
2649     {
2650     unsigned                    : 4;
2651     unsigned ADCS               : 3;
2652     unsigned                    : 1;
2653     };
2654   } __AADCON1bits_t;
2655 
2656 extern __at(0x0712) volatile __AADCON1bits_t AADCON1bits;
2657 
2658 #define _ADPREF0                0x01
2659 #define _ADPREF1                0x02
2660 #define _GO_NOT_DONE_ALL        0x04
2661 #define _GO_ALL                 0x04
2662 #define _ADCS0                  0x10
2663 #define _ADCS1                  0x20
2664 #define _ADCS2                  0x40
2665 #define _ADFM                   0x80
2666 
2667 //==============================================================================
2668 
2669 
2670 //==============================================================================
2671 //        ADCOMCON Bits
2672 
2673 extern __at(0x0712) __sfr ADCOMCON;
2674 
2675 typedef union
2676   {
2677   struct
2678     {
2679     unsigned ADPREF0            : 1;
2680     unsigned ADPREF1            : 1;
2681     unsigned GO_NOT_DONE_ALL    : 1;
2682     unsigned                    : 1;
2683     unsigned ADCS0              : 1;
2684     unsigned ADCS1              : 1;
2685     unsigned ADCS2              : 1;
2686     unsigned ADFM               : 1;
2687     };
2688 
2689   struct
2690     {
2691     unsigned                    : 1;
2692     unsigned                    : 1;
2693     unsigned GO_ALL             : 1;
2694     unsigned                    : 1;
2695     unsigned                    : 1;
2696     unsigned                    : 1;
2697     unsigned                    : 1;
2698     unsigned                    : 1;
2699     };
2700 
2701   struct
2702     {
2703     unsigned ADPREF             : 2;
2704     unsigned                    : 6;
2705     };
2706 
2707   struct
2708     {
2709     unsigned                    : 4;
2710     unsigned ADCS               : 3;
2711     unsigned                    : 1;
2712     };
2713   } __ADCOMCONbits_t;
2714 
2715 extern __at(0x0712) volatile __ADCOMCONbits_t ADCOMCONbits;
2716 
2717 #define _ADCOMCON_ADPREF0       0x01
2718 #define _ADCOMCON_ADPREF1       0x02
2719 #define _ADCOMCON_GO_NOT_DONE_ALL 0x04
2720 #define _ADCOMCON_GO_ALL        0x04
2721 #define _ADCOMCON_ADCS0         0x10
2722 #define _ADCOMCON_ADCS1         0x20
2723 #define _ADCOMCON_ADCS2         0x40
2724 #define _ADCOMCON_ADFM          0x80
2725 
2726 //==============================================================================
2727 
2728 
2729 //==============================================================================
2730 //        AAD1CON2 Bits
2731 
2732 extern __at(0x0713) __sfr AAD1CON2;
2733 
2734 typedef union
2735   {
2736   struct
2737     {
2738     unsigned                    : 1;
2739     unsigned                    : 1;
2740     unsigned                    : 1;
2741     unsigned                    : 1;
2742     unsigned TRIGSEL0           : 1;
2743     unsigned TRIGSEL1           : 1;
2744     unsigned TRIGSEL2           : 1;
2745     unsigned                    : 1;
2746     };
2747 
2748   struct
2749     {
2750     unsigned                    : 4;
2751     unsigned TRIGSEL            : 3;
2752     unsigned                    : 1;
2753     };
2754   } __AAD1CON2bits_t;
2755 
2756 extern __at(0x0713) volatile __AAD1CON2bits_t AAD1CON2bits;
2757 
2758 #define _TRIGSEL0               0x10
2759 #define _TRIGSEL1               0x20
2760 #define _TRIGSEL2               0x40
2761 
2762 //==============================================================================
2763 
2764 
2765 //==============================================================================
2766 //        AADCON2 Bits
2767 
2768 extern __at(0x0713) __sfr AADCON2;
2769 
2770 typedef union
2771   {
2772   struct
2773     {
2774     unsigned                    : 1;
2775     unsigned                    : 1;
2776     unsigned                    : 1;
2777     unsigned                    : 1;
2778     unsigned TRIGSEL0           : 1;
2779     unsigned TRIGSEL1           : 1;
2780     unsigned TRIGSEL2           : 1;
2781     unsigned                    : 1;
2782     };
2783 
2784   struct
2785     {
2786     unsigned                    : 4;
2787     unsigned TRIGSEL            : 3;
2788     unsigned                    : 1;
2789     };
2790   } __AADCON2bits_t;
2791 
2792 extern __at(0x0713) volatile __AADCON2bits_t AADCON2bits;
2793 
2794 #define _AADCON2_TRIGSEL0       0x10
2795 #define _AADCON2_TRIGSEL1       0x20
2796 #define _AADCON2_TRIGSEL2       0x40
2797 
2798 //==============================================================================
2799 
2800 
2801 //==============================================================================
2802 //        AD1CON2 Bits
2803 
2804 extern __at(0x0713) __sfr AD1CON2;
2805 
2806 typedef union
2807   {
2808   struct
2809     {
2810     unsigned                    : 1;
2811     unsigned                    : 1;
2812     unsigned                    : 1;
2813     unsigned                    : 1;
2814     unsigned TRIGSEL0           : 1;
2815     unsigned TRIGSEL1           : 1;
2816     unsigned TRIGSEL2           : 1;
2817     unsigned                    : 1;
2818     };
2819 
2820   struct
2821     {
2822     unsigned                    : 4;
2823     unsigned TRIGSEL            : 3;
2824     unsigned                    : 1;
2825     };
2826   } __AD1CON2bits_t;
2827 
2828 extern __at(0x0713) volatile __AD1CON2bits_t AD1CON2bits;
2829 
2830 #define _AD1CON2_TRIGSEL0       0x10
2831 #define _AD1CON2_TRIGSEL1       0x20
2832 #define _AD1CON2_TRIGSEL2       0x40
2833 
2834 //==============================================================================
2835 
2836 
2837 //==============================================================================
2838 //        AAD1CON3 Bits
2839 
2840 extern __at(0x0714) __sfr AAD1CON3;
2841 
2842 typedef union
2843   {
2844   struct
2845     {
2846     unsigned AD1DSEN            : 1;
2847     unsigned AD1IPEN            : 1;
2848     unsigned                    : 1;
2849     unsigned                    : 1;
2850     unsigned                    : 1;
2851     unsigned                    : 1;
2852     unsigned AD1IPPOL           : 1;
2853     unsigned AD1EPPOL           : 1;
2854     };
2855 
2856   struct
2857     {
2858     unsigned ADDSEN             : 1;
2859     unsigned ADIPEN             : 1;
2860     unsigned                    : 1;
2861     unsigned                    : 1;
2862     unsigned                    : 1;
2863     unsigned                    : 1;
2864     unsigned ADIPPOL            : 1;
2865     unsigned ADEPPOL            : 1;
2866     };
2867   } __AAD1CON3bits_t;
2868 
2869 extern __at(0x0714) volatile __AAD1CON3bits_t AAD1CON3bits;
2870 
2871 #define _AD1DSEN                0x01
2872 #define _ADDSEN                 0x01
2873 #define _AD1IPEN                0x02
2874 #define _ADIPEN                 0x02
2875 #define _AD1IPPOL               0x40
2876 #define _ADIPPOL                0x40
2877 #define _AD1EPPOL               0x80
2878 #define _ADEPPOL                0x80
2879 
2880 //==============================================================================
2881 
2882 
2883 //==============================================================================
2884 //        AADCON3 Bits
2885 
2886 extern __at(0x0714) __sfr AADCON3;
2887 
2888 typedef union
2889   {
2890   struct
2891     {
2892     unsigned AD1DSEN            : 1;
2893     unsigned AD1IPEN            : 1;
2894     unsigned                    : 1;
2895     unsigned                    : 1;
2896     unsigned                    : 1;
2897     unsigned                    : 1;
2898     unsigned AD1IPPOL           : 1;
2899     unsigned AD1EPPOL           : 1;
2900     };
2901 
2902   struct
2903     {
2904     unsigned ADDSEN             : 1;
2905     unsigned ADIPEN             : 1;
2906     unsigned                    : 1;
2907     unsigned                    : 1;
2908     unsigned                    : 1;
2909     unsigned                    : 1;
2910     unsigned ADIPPOL            : 1;
2911     unsigned ADEPPOL            : 1;
2912     };
2913   } __AADCON3bits_t;
2914 
2915 extern __at(0x0714) volatile __AADCON3bits_t AADCON3bits;
2916 
2917 #define _AADCON3_AD1DSEN        0x01
2918 #define _AADCON3_ADDSEN         0x01
2919 #define _AADCON3_AD1IPEN        0x02
2920 #define _AADCON3_ADIPEN         0x02
2921 #define _AADCON3_AD1IPPOL       0x40
2922 #define _AADCON3_ADIPPOL        0x40
2923 #define _AADCON3_AD1EPPOL       0x80
2924 #define _AADCON3_ADEPPOL        0x80
2925 
2926 //==============================================================================
2927 
2928 
2929 //==============================================================================
2930 //        AD1CON3 Bits
2931 
2932 extern __at(0x0714) __sfr AD1CON3;
2933 
2934 typedef union
2935   {
2936   struct
2937     {
2938     unsigned AD1DSEN            : 1;
2939     unsigned AD1IPEN            : 1;
2940     unsigned                    : 1;
2941     unsigned                    : 1;
2942     unsigned                    : 1;
2943     unsigned                    : 1;
2944     unsigned AD1IPPOL           : 1;
2945     unsigned AD1EPPOL           : 1;
2946     };
2947 
2948   struct
2949     {
2950     unsigned ADDSEN             : 1;
2951     unsigned ADIPEN             : 1;
2952     unsigned                    : 1;
2953     unsigned                    : 1;
2954     unsigned                    : 1;
2955     unsigned                    : 1;
2956     unsigned ADIPPOL            : 1;
2957     unsigned ADEPPOL            : 1;
2958     };
2959   } __AD1CON3bits_t;
2960 
2961 extern __at(0x0714) volatile __AD1CON3bits_t AD1CON3bits;
2962 
2963 #define _AD1CON3_AD1DSEN        0x01
2964 #define _AD1CON3_ADDSEN         0x01
2965 #define _AD1CON3_AD1IPEN        0x02
2966 #define _AD1CON3_ADIPEN         0x02
2967 #define _AD1CON3_AD1IPPOL       0x40
2968 #define _AD1CON3_ADIPPOL        0x40
2969 #define _AD1CON3_AD1EPPOL       0x80
2970 #define _AD1CON3_ADEPPOL        0x80
2971 
2972 //==============================================================================
2973 
2974 
2975 //==============================================================================
2976 //        AADSTAT Bits
2977 
2978 extern __at(0x0715) __sfr AADSTAT;
2979 
2980 typedef union
2981   {
2982   struct
2983     {
2984     unsigned AD1STG0            : 1;
2985     unsigned AD1STG1            : 1;
2986     unsigned AD1CONV            : 1;
2987     unsigned                    : 1;
2988     unsigned AD2STG0            : 1;
2989     unsigned AD2STG1            : 1;
2990     unsigned AD2CONV            : 1;
2991     unsigned                    : 1;
2992     };
2993 
2994   struct
2995     {
2996     unsigned                    : 1;
2997     unsigned                    : 1;
2998     unsigned ADCONV             : 1;
2999     unsigned                    : 1;
3000     unsigned                    : 1;
3001     unsigned                    : 1;
3002     unsigned                    : 1;
3003     unsigned                    : 1;
3004     };
3005 
3006   struct
3007     {
3008     unsigned AD1STG             : 2;
3009     unsigned                    : 6;
3010     };
3011 
3012   struct
3013     {
3014     unsigned                    : 4;
3015     unsigned AD2STG             : 2;
3016     unsigned                    : 2;
3017     };
3018   } __AADSTATbits_t;
3019 
3020 extern __at(0x0715) volatile __AADSTATbits_t AADSTATbits;
3021 
3022 #define _AD1STG0                0x01
3023 #define _AD1STG1                0x02
3024 #define _AD1CONV                0x04
3025 #define _ADCONV                 0x04
3026 #define _AD2STG0                0x10
3027 #define _AD2STG1                0x20
3028 #define _AD2CONV                0x40
3029 
3030 //==============================================================================
3031 
3032 
3033 //==============================================================================
3034 //        ADSTAT Bits
3035 
3036 extern __at(0x0715) __sfr ADSTAT;
3037 
3038 typedef union
3039   {
3040   struct
3041     {
3042     unsigned AD1STG0            : 1;
3043     unsigned AD1STG1            : 1;
3044     unsigned AD1CONV            : 1;
3045     unsigned                    : 1;
3046     unsigned AD2STG0            : 1;
3047     unsigned AD2STG1            : 1;
3048     unsigned AD2CONV            : 1;
3049     unsigned                    : 1;
3050     };
3051 
3052   struct
3053     {
3054     unsigned                    : 1;
3055     unsigned                    : 1;
3056     unsigned ADCONV             : 1;
3057     unsigned                    : 1;
3058     unsigned                    : 1;
3059     unsigned                    : 1;
3060     unsigned                    : 1;
3061     unsigned                    : 1;
3062     };
3063 
3064   struct
3065     {
3066     unsigned AD1STG             : 2;
3067     unsigned                    : 6;
3068     };
3069 
3070   struct
3071     {
3072     unsigned                    : 4;
3073     unsigned AD2STG             : 2;
3074     unsigned                    : 2;
3075     };
3076   } __ADSTATbits_t;
3077 
3078 extern __at(0x0715) volatile __ADSTATbits_t ADSTATbits;
3079 
3080 #define _ADSTAT_AD1STG0         0x01
3081 #define _ADSTAT_AD1STG1         0x02
3082 #define _ADSTAT_AD1CONV         0x04
3083 #define _ADSTAT_ADCONV          0x04
3084 #define _ADSTAT_AD2STG0         0x10
3085 #define _ADSTAT_AD2STG1         0x20
3086 #define _ADSTAT_AD2CONV         0x40
3087 
3088 //==============================================================================
3089 
3090 
3091 //==============================================================================
3092 //        AAD1PRE Bits
3093 
3094 extern __at(0x0716) __sfr AAD1PRE;
3095 
3096 typedef union
3097   {
3098   struct
3099     {
3100     unsigned ADPRE0             : 1;
3101     unsigned ADPRE1             : 1;
3102     unsigned ADPRE2             : 1;
3103     unsigned ADPRE3             : 1;
3104     unsigned ADPRE4             : 1;
3105     unsigned ADPRE5             : 1;
3106     unsigned ADPRE6             : 1;
3107     unsigned                    : 1;
3108     };
3109 
3110   struct
3111     {
3112     unsigned ADPRE              : 7;
3113     unsigned                    : 1;
3114     };
3115   } __AAD1PREbits_t;
3116 
3117 extern __at(0x0716) volatile __AAD1PREbits_t AAD1PREbits;
3118 
3119 #define _ADPRE0                 0x01
3120 #define _ADPRE1                 0x02
3121 #define _ADPRE2                 0x04
3122 #define _ADPRE3                 0x08
3123 #define _ADPRE4                 0x10
3124 #define _ADPRE5                 0x20
3125 #define _ADPRE6                 0x40
3126 
3127 //==============================================================================
3128 
3129 
3130 //==============================================================================
3131 //        AADPRE Bits
3132 
3133 extern __at(0x0716) __sfr AADPRE;
3134 
3135 typedef union
3136   {
3137   struct
3138     {
3139     unsigned ADPRE0             : 1;
3140     unsigned ADPRE1             : 1;
3141     unsigned ADPRE2             : 1;
3142     unsigned ADPRE3             : 1;
3143     unsigned ADPRE4             : 1;
3144     unsigned ADPRE5             : 1;
3145     unsigned ADPRE6             : 1;
3146     unsigned                    : 1;
3147     };
3148 
3149   struct
3150     {
3151     unsigned ADPRE              : 7;
3152     unsigned                    : 1;
3153     };
3154   } __AADPREbits_t;
3155 
3156 extern __at(0x0716) volatile __AADPREbits_t AADPREbits;
3157 
3158 #define _AADPRE_ADPRE0          0x01
3159 #define _AADPRE_ADPRE1          0x02
3160 #define _AADPRE_ADPRE2          0x04
3161 #define _AADPRE_ADPRE3          0x08
3162 #define _AADPRE_ADPRE4          0x10
3163 #define _AADPRE_ADPRE5          0x20
3164 #define _AADPRE_ADPRE6          0x40
3165 
3166 //==============================================================================
3167 
3168 
3169 //==============================================================================
3170 //        AD1PRE Bits
3171 
3172 extern __at(0x0716) __sfr AD1PRE;
3173 
3174 typedef union
3175   {
3176   struct
3177     {
3178     unsigned ADPRE0             : 1;
3179     unsigned ADPRE1             : 1;
3180     unsigned ADPRE2             : 1;
3181     unsigned ADPRE3             : 1;
3182     unsigned ADPRE4             : 1;
3183     unsigned ADPRE5             : 1;
3184     unsigned ADPRE6             : 1;
3185     unsigned                    : 1;
3186     };
3187 
3188   struct
3189     {
3190     unsigned ADPRE              : 7;
3191     unsigned                    : 1;
3192     };
3193   } __AD1PREbits_t;
3194 
3195 extern __at(0x0716) volatile __AD1PREbits_t AD1PREbits;
3196 
3197 #define _AD1PRE_ADPRE0          0x01
3198 #define _AD1PRE_ADPRE1          0x02
3199 #define _AD1PRE_ADPRE2          0x04
3200 #define _AD1PRE_ADPRE3          0x08
3201 #define _AD1PRE_ADPRE4          0x10
3202 #define _AD1PRE_ADPRE5          0x20
3203 #define _AD1PRE_ADPRE6          0x40
3204 
3205 //==============================================================================
3206 
3207 
3208 //==============================================================================
3209 //        AD1PRECON Bits
3210 
3211 extern __at(0x0716) __sfr AD1PRECON;
3212 
3213 typedef union
3214   {
3215   struct
3216     {
3217     unsigned ADPRE0             : 1;
3218     unsigned ADPRE1             : 1;
3219     unsigned ADPRE2             : 1;
3220     unsigned ADPRE3             : 1;
3221     unsigned ADPRE4             : 1;
3222     unsigned ADPRE5             : 1;
3223     unsigned ADPRE6             : 1;
3224     unsigned                    : 1;
3225     };
3226 
3227   struct
3228     {
3229     unsigned ADPRE              : 7;
3230     unsigned                    : 1;
3231     };
3232   } __AD1PRECONbits_t;
3233 
3234 extern __at(0x0716) volatile __AD1PRECONbits_t AD1PRECONbits;
3235 
3236 #define _AD1PRECON_ADPRE0       0x01
3237 #define _AD1PRECON_ADPRE1       0x02
3238 #define _AD1PRECON_ADPRE2       0x04
3239 #define _AD1PRECON_ADPRE3       0x08
3240 #define _AD1PRECON_ADPRE4       0x10
3241 #define _AD1PRECON_ADPRE5       0x20
3242 #define _AD1PRECON_ADPRE6       0x40
3243 
3244 //==============================================================================
3245 
3246 
3247 //==============================================================================
3248 //        AAD1ACQ Bits
3249 
3250 extern __at(0x0717) __sfr AAD1ACQ;
3251 
3252 typedef union
3253   {
3254   struct
3255     {
3256     unsigned ADACQ0             : 1;
3257     unsigned ADACQ1             : 1;
3258     unsigned ADACQ2             : 1;
3259     unsigned ADACQ3             : 1;
3260     unsigned ADACQ4             : 1;
3261     unsigned ADACQ5             : 1;
3262     unsigned ADACQ6             : 1;
3263     unsigned                    : 1;
3264     };
3265 
3266   struct
3267     {
3268     unsigned ADACQ              : 7;
3269     unsigned                    : 1;
3270     };
3271   } __AAD1ACQbits_t;
3272 
3273 extern __at(0x0717) volatile __AAD1ACQbits_t AAD1ACQbits;
3274 
3275 #define _ADACQ0                 0x01
3276 #define _ADACQ1                 0x02
3277 #define _ADACQ2                 0x04
3278 #define _ADACQ3                 0x08
3279 #define _ADACQ4                 0x10
3280 #define _ADACQ5                 0x20
3281 #define _ADACQ6                 0x40
3282 
3283 //==============================================================================
3284 
3285 
3286 //==============================================================================
3287 //        AADACQ Bits
3288 
3289 extern __at(0x0717) __sfr AADACQ;
3290 
3291 typedef union
3292   {
3293   struct
3294     {
3295     unsigned ADACQ0             : 1;
3296     unsigned ADACQ1             : 1;
3297     unsigned ADACQ2             : 1;
3298     unsigned ADACQ3             : 1;
3299     unsigned ADACQ4             : 1;
3300     unsigned ADACQ5             : 1;
3301     unsigned ADACQ6             : 1;
3302     unsigned                    : 1;
3303     };
3304 
3305   struct
3306     {
3307     unsigned ADACQ              : 7;
3308     unsigned                    : 1;
3309     };
3310   } __AADACQbits_t;
3311 
3312 extern __at(0x0717) volatile __AADACQbits_t AADACQbits;
3313 
3314 #define _AADACQ_ADACQ0          0x01
3315 #define _AADACQ_ADACQ1          0x02
3316 #define _AADACQ_ADACQ2          0x04
3317 #define _AADACQ_ADACQ3          0x08
3318 #define _AADACQ_ADACQ4          0x10
3319 #define _AADACQ_ADACQ5          0x20
3320 #define _AADACQ_ADACQ6          0x40
3321 
3322 //==============================================================================
3323 
3324 
3325 //==============================================================================
3326 //        AD1ACQ Bits
3327 
3328 extern __at(0x0717) __sfr AD1ACQ;
3329 
3330 typedef union
3331   {
3332   struct
3333     {
3334     unsigned ADACQ0             : 1;
3335     unsigned ADACQ1             : 1;
3336     unsigned ADACQ2             : 1;
3337     unsigned ADACQ3             : 1;
3338     unsigned ADACQ4             : 1;
3339     unsigned ADACQ5             : 1;
3340     unsigned ADACQ6             : 1;
3341     unsigned                    : 1;
3342     };
3343 
3344   struct
3345     {
3346     unsigned ADACQ              : 7;
3347     unsigned                    : 1;
3348     };
3349   } __AD1ACQbits_t;
3350 
3351 extern __at(0x0717) volatile __AD1ACQbits_t AD1ACQbits;
3352 
3353 #define _AD1ACQ_ADACQ0          0x01
3354 #define _AD1ACQ_ADACQ1          0x02
3355 #define _AD1ACQ_ADACQ2          0x04
3356 #define _AD1ACQ_ADACQ3          0x08
3357 #define _AD1ACQ_ADACQ4          0x10
3358 #define _AD1ACQ_ADACQ5          0x20
3359 #define _AD1ACQ_ADACQ6          0x40
3360 
3361 //==============================================================================
3362 
3363 
3364 //==============================================================================
3365 //        AD1ACQCON Bits
3366 
3367 extern __at(0x0717) __sfr AD1ACQCON;
3368 
3369 typedef union
3370   {
3371   struct
3372     {
3373     unsigned ADACQ0             : 1;
3374     unsigned ADACQ1             : 1;
3375     unsigned ADACQ2             : 1;
3376     unsigned ADACQ3             : 1;
3377     unsigned ADACQ4             : 1;
3378     unsigned ADACQ5             : 1;
3379     unsigned ADACQ6             : 1;
3380     unsigned                    : 1;
3381     };
3382 
3383   struct
3384     {
3385     unsigned ADACQ              : 7;
3386     unsigned                    : 1;
3387     };
3388   } __AD1ACQCONbits_t;
3389 
3390 extern __at(0x0717) volatile __AD1ACQCONbits_t AD1ACQCONbits;
3391 
3392 #define _AD1ACQCON_ADACQ0       0x01
3393 #define _AD1ACQCON_ADACQ1       0x02
3394 #define _AD1ACQCON_ADACQ2       0x04
3395 #define _AD1ACQCON_ADACQ3       0x08
3396 #define _AD1ACQCON_ADACQ4       0x10
3397 #define _AD1ACQCON_ADACQ5       0x20
3398 #define _AD1ACQCON_ADACQ6       0x40
3399 
3400 //==============================================================================
3401 
3402 
3403 //==============================================================================
3404 //        AAD1GRD Bits
3405 
3406 extern __at(0x0718) __sfr AAD1GRD;
3407 
3408 typedef union
3409   {
3410   struct
3411     {
3412     unsigned                    : 1;
3413     unsigned                    : 1;
3414     unsigned                    : 1;
3415     unsigned                    : 1;
3416     unsigned                    : 1;
3417     unsigned GRD1POL            : 1;
3418     unsigned GRD1AOE            : 1;
3419     unsigned GRD1BOE            : 1;
3420     };
3421 
3422   struct
3423     {
3424     unsigned                    : 1;
3425     unsigned                    : 1;
3426     unsigned                    : 1;
3427     unsigned                    : 1;
3428     unsigned                    : 1;
3429     unsigned GRDPOL             : 1;
3430     unsigned GRDAOE             : 1;
3431     unsigned GRDBOE             : 1;
3432     };
3433   } __AAD1GRDbits_t;
3434 
3435 extern __at(0x0718) volatile __AAD1GRDbits_t AAD1GRDbits;
3436 
3437 #define _GRD1POL                0x20
3438 #define _GRDPOL                 0x20
3439 #define _GRD1AOE                0x40
3440 #define _GRDAOE                 0x40
3441 #define _GRD1BOE                0x80
3442 #define _GRDBOE                 0x80
3443 
3444 //==============================================================================
3445 
3446 
3447 //==============================================================================
3448 //        AADGRD Bits
3449 
3450 extern __at(0x0718) __sfr AADGRD;
3451 
3452 typedef union
3453   {
3454   struct
3455     {
3456     unsigned                    : 1;
3457     unsigned                    : 1;
3458     unsigned                    : 1;
3459     unsigned                    : 1;
3460     unsigned                    : 1;
3461     unsigned GRD1POL            : 1;
3462     unsigned GRD1AOE            : 1;
3463     unsigned GRD1BOE            : 1;
3464     };
3465 
3466   struct
3467     {
3468     unsigned                    : 1;
3469     unsigned                    : 1;
3470     unsigned                    : 1;
3471     unsigned                    : 1;
3472     unsigned                    : 1;
3473     unsigned GRDPOL             : 1;
3474     unsigned GRDAOE             : 1;
3475     unsigned GRDBOE             : 1;
3476     };
3477   } __AADGRDbits_t;
3478 
3479 extern __at(0x0718) volatile __AADGRDbits_t AADGRDbits;
3480 
3481 #define _AADGRD_GRD1POL         0x20
3482 #define _AADGRD_GRDPOL          0x20
3483 #define _AADGRD_GRD1AOE         0x40
3484 #define _AADGRD_GRDAOE          0x40
3485 #define _AADGRD_GRD1BOE         0x80
3486 #define _AADGRD_GRDBOE          0x80
3487 
3488 //==============================================================================
3489 
3490 
3491 //==============================================================================
3492 //        AD1GRD Bits
3493 
3494 extern __at(0x0718) __sfr AD1GRD;
3495 
3496 typedef union
3497   {
3498   struct
3499     {
3500     unsigned                    : 1;
3501     unsigned                    : 1;
3502     unsigned                    : 1;
3503     unsigned                    : 1;
3504     unsigned                    : 1;
3505     unsigned GRD1POL            : 1;
3506     unsigned GRD1AOE            : 1;
3507     unsigned GRD1BOE            : 1;
3508     };
3509 
3510   struct
3511     {
3512     unsigned                    : 1;
3513     unsigned                    : 1;
3514     unsigned                    : 1;
3515     unsigned                    : 1;
3516     unsigned                    : 1;
3517     unsigned GRDPOL             : 1;
3518     unsigned GRDAOE             : 1;
3519     unsigned GRDBOE             : 1;
3520     };
3521   } __AD1GRDbits_t;
3522 
3523 extern __at(0x0718) volatile __AD1GRDbits_t AD1GRDbits;
3524 
3525 #define _AD1GRD_GRD1POL         0x20
3526 #define _AD1GRD_GRDPOL          0x20
3527 #define _AD1GRD_GRD1AOE         0x40
3528 #define _AD1GRD_GRDAOE          0x40
3529 #define _AD1GRD_GRD1BOE         0x80
3530 #define _AD1GRD_GRDBOE          0x80
3531 
3532 //==============================================================================
3533 
3534 
3535 //==============================================================================
3536 //        AAD1CAP Bits
3537 
3538 extern __at(0x0719) __sfr AAD1CAP;
3539 
3540 typedef union
3541   {
3542   struct
3543     {
3544     unsigned ADDCAP0            : 1;
3545     unsigned ADDCAP1            : 1;
3546     unsigned ADDCAP2            : 1;
3547     unsigned ADDCAP3            : 1;
3548     unsigned                    : 1;
3549     unsigned                    : 1;
3550     unsigned                    : 1;
3551     unsigned                    : 1;
3552     };
3553 
3554   struct
3555     {
3556     unsigned ADDCAP             : 4;
3557     unsigned                    : 4;
3558     };
3559   } __AAD1CAPbits_t;
3560 
3561 extern __at(0x0719) volatile __AAD1CAPbits_t AAD1CAPbits;
3562 
3563 #define _ADDCAP0                0x01
3564 #define _ADDCAP1                0x02
3565 #define _ADDCAP2                0x04
3566 #define _ADDCAP3                0x08
3567 
3568 //==============================================================================
3569 
3570 
3571 //==============================================================================
3572 //        AAD1CAPCON Bits
3573 
3574 extern __at(0x0719) __sfr AAD1CAPCON;
3575 
3576 typedef union
3577   {
3578   struct
3579     {
3580     unsigned ADDCAP0            : 1;
3581     unsigned ADDCAP1            : 1;
3582     unsigned ADDCAP2            : 1;
3583     unsigned ADDCAP3            : 1;
3584     unsigned                    : 1;
3585     unsigned                    : 1;
3586     unsigned                    : 1;
3587     unsigned                    : 1;
3588     };
3589 
3590   struct
3591     {
3592     unsigned ADDCAP             : 4;
3593     unsigned                    : 4;
3594     };
3595   } __AAD1CAPCONbits_t;
3596 
3597 extern __at(0x0719) volatile __AAD1CAPCONbits_t AAD1CAPCONbits;
3598 
3599 #define _AAD1CAPCON_ADDCAP0     0x01
3600 #define _AAD1CAPCON_ADDCAP1     0x02
3601 #define _AAD1CAPCON_ADDCAP2     0x04
3602 #define _AAD1CAPCON_ADDCAP3     0x08
3603 
3604 //==============================================================================
3605 
3606 
3607 //==============================================================================
3608 //        AADCAP Bits
3609 
3610 extern __at(0x0719) __sfr AADCAP;
3611 
3612 typedef union
3613   {
3614   struct
3615     {
3616     unsigned ADDCAP0            : 1;
3617     unsigned ADDCAP1            : 1;
3618     unsigned ADDCAP2            : 1;
3619     unsigned ADDCAP3            : 1;
3620     unsigned                    : 1;
3621     unsigned                    : 1;
3622     unsigned                    : 1;
3623     unsigned                    : 1;
3624     };
3625 
3626   struct
3627     {
3628     unsigned ADDCAP             : 4;
3629     unsigned                    : 4;
3630     };
3631   } __AADCAPbits_t;
3632 
3633 extern __at(0x0719) volatile __AADCAPbits_t AADCAPbits;
3634 
3635 #define _AADCAP_ADDCAP0         0x01
3636 #define _AADCAP_ADDCAP1         0x02
3637 #define _AADCAP_ADDCAP2         0x04
3638 #define _AADCAP_ADDCAP3         0x08
3639 
3640 //==============================================================================
3641 
3642 
3643 //==============================================================================
3644 //        AD1CAPCON Bits
3645 
3646 extern __at(0x0719) __sfr AD1CAPCON;
3647 
3648 typedef union
3649   {
3650   struct
3651     {
3652     unsigned ADDCAP0            : 1;
3653     unsigned ADDCAP1            : 1;
3654     unsigned ADDCAP2            : 1;
3655     unsigned ADDCAP3            : 1;
3656     unsigned                    : 1;
3657     unsigned                    : 1;
3658     unsigned                    : 1;
3659     unsigned                    : 1;
3660     };
3661 
3662   struct
3663     {
3664     unsigned ADDCAP             : 4;
3665     unsigned                    : 4;
3666     };
3667   } __AD1CAPCONbits_t;
3668 
3669 extern __at(0x0719) volatile __AD1CAPCONbits_t AD1CAPCONbits;
3670 
3671 #define _AD1CAPCON_ADDCAP0      0x01
3672 #define _AD1CAPCON_ADDCAP1      0x02
3673 #define _AD1CAPCON_ADDCAP2      0x04
3674 #define _AD1CAPCON_ADDCAP3      0x08
3675 
3676 //==============================================================================
3677 
3678 extern __at(0x071A) __sfr AAD1RES0;
3679 extern __at(0x071A) __sfr AAD1RES0L;
3680 extern __at(0x071A) __sfr AD1RES0;
3681 extern __at(0x071A) __sfr AD1RES0L;
3682 extern __at(0x071A) __sfr ADRES0;
3683 extern __at(0x071B) __sfr AAD1RES0H;
3684 extern __at(0x071B) __sfr AD1RES0H;
3685 extern __at(0x071C) __sfr AAD1RES1;
3686 extern __at(0x071C) __sfr AAD1RES1L;
3687 extern __at(0x071C) __sfr AD1RES1;
3688 extern __at(0x071C) __sfr AD1RES1L;
3689 extern __at(0x071C) __sfr ADRES1;
3690 extern __at(0x071D) __sfr AAD1RES1H;
3691 extern __at(0x071D) __sfr AD1RES1H;
3692 
3693 //==============================================================================
3694 //        AAD1CH Bits
3695 
3696 extern __at(0x071E) __sfr AAD1CH;
3697 
3698 typedef struct
3699   {
3700   unsigned CH10                 : 1;
3701   unsigned CH11                 : 1;
3702   unsigned CH12                 : 1;
3703   unsigned CH13                 : 1;
3704   unsigned CH14                 : 1;
3705   unsigned CH15                 : 1;
3706   unsigned CH16                 : 1;
3707   unsigned                      : 1;
3708   } __AAD1CHbits_t;
3709 
3710 extern __at(0x071E) volatile __AAD1CHbits_t AAD1CHbits;
3711 
3712 #define _CH10                   0x01
3713 #define _CH11                   0x02
3714 #define _CH12                   0x04
3715 #define _CH13                   0x08
3716 #define _CH14                   0x10
3717 #define _CH15                   0x20
3718 #define _CH16                   0x40
3719 
3720 //==============================================================================
3721 
3722 
3723 //==============================================================================
3724 //        AD1CH Bits
3725 
3726 extern __at(0x071E) __sfr AD1CH;
3727 
3728 typedef struct
3729   {
3730   unsigned CH10                 : 1;
3731   unsigned CH11                 : 1;
3732   unsigned CH12                 : 1;
3733   unsigned CH13                 : 1;
3734   unsigned CH14                 : 1;
3735   unsigned CH15                 : 1;
3736   unsigned CH16                 : 1;
3737   unsigned                      : 1;
3738   } __AD1CHbits_t;
3739 
3740 extern __at(0x071E) volatile __AD1CHbits_t AD1CHbits;
3741 
3742 #define _AD1CH_CH10             0x01
3743 #define _AD1CH_CH11             0x02
3744 #define _AD1CH_CH12             0x04
3745 #define _AD1CH_CH13             0x08
3746 #define _AD1CH_CH14             0x10
3747 #define _AD1CH_CH15             0x20
3748 #define _AD1CH_CH16             0x40
3749 
3750 //==============================================================================
3751 
3752 
3753 //==============================================================================
3754 //        AAD2CON0 Bits
3755 
3756 extern __at(0x0791) __sfr AAD2CON0;
3757 
3758 typedef union
3759   {
3760   struct
3761     {
3762     unsigned ADON               : 1;
3763     unsigned GO                 : 1;
3764     unsigned CHS0               : 1;
3765     unsigned CHS1               : 1;
3766     unsigned CHS2               : 1;
3767     unsigned CHS3               : 1;
3768     unsigned CHS4               : 1;
3769     unsigned                    : 1;
3770     };
3771 
3772   struct
3773     {
3774     unsigned                    : 1;
3775     unsigned GO_NOT_DONE        : 1;
3776     unsigned                    : 1;
3777     unsigned                    : 1;
3778     unsigned                    : 1;
3779     unsigned                    : 1;
3780     unsigned                    : 1;
3781     unsigned                    : 1;
3782     };
3783 
3784   struct
3785     {
3786     unsigned                    : 1;
3787     unsigned GO_NOT_DONE2       : 1;
3788     unsigned                    : 1;
3789     unsigned                    : 1;
3790     unsigned                    : 1;
3791     unsigned                    : 1;
3792     unsigned                    : 1;
3793     unsigned                    : 1;
3794     };
3795 
3796   struct
3797     {
3798     unsigned                    : 2;
3799     unsigned CHS                : 5;
3800     unsigned                    : 1;
3801     };
3802   } __AAD2CON0bits_t;
3803 
3804 extern __at(0x0791) volatile __AAD2CON0bits_t AAD2CON0bits;
3805 
3806 #define _AAD2CON0_ADON          0x01
3807 #define _AAD2CON0_GO            0x02
3808 #define _AAD2CON0_GO_NOT_DONE   0x02
3809 #define _AAD2CON0_GO_NOT_DONE2  0x02
3810 #define _AAD2CON0_CHS0          0x04
3811 #define _AAD2CON0_CHS1          0x08
3812 #define _AAD2CON0_CHS2          0x10
3813 #define _AAD2CON0_CHS3          0x20
3814 #define _AAD2CON0_CHS4          0x40
3815 
3816 //==============================================================================
3817 
3818 
3819 //==============================================================================
3820 //        AD2CON0 Bits
3821 
3822 extern __at(0x0791) __sfr AD2CON0;
3823 
3824 typedef union
3825   {
3826   struct
3827     {
3828     unsigned ADON               : 1;
3829     unsigned GO                 : 1;
3830     unsigned CHS0               : 1;
3831     unsigned CHS1               : 1;
3832     unsigned CHS2               : 1;
3833     unsigned CHS3               : 1;
3834     unsigned CHS4               : 1;
3835     unsigned                    : 1;
3836     };
3837 
3838   struct
3839     {
3840     unsigned                    : 1;
3841     unsigned GO_NOT_DONE        : 1;
3842     unsigned                    : 1;
3843     unsigned                    : 1;
3844     unsigned                    : 1;
3845     unsigned                    : 1;
3846     unsigned                    : 1;
3847     unsigned                    : 1;
3848     };
3849 
3850   struct
3851     {
3852     unsigned                    : 1;
3853     unsigned GO_NOT_DONE2       : 1;
3854     unsigned                    : 1;
3855     unsigned                    : 1;
3856     unsigned                    : 1;
3857     unsigned                    : 1;
3858     unsigned                    : 1;
3859     unsigned                    : 1;
3860     };
3861 
3862   struct
3863     {
3864     unsigned                    : 2;
3865     unsigned CHS                : 5;
3866     unsigned                    : 1;
3867     };
3868   } __AD2CON0bits_t;
3869 
3870 extern __at(0x0791) volatile __AD2CON0bits_t AD2CON0bits;
3871 
3872 #define _AD2CON0_ADON           0x01
3873 #define _AD2CON0_GO             0x02
3874 #define _AD2CON0_GO_NOT_DONE    0x02
3875 #define _AD2CON0_GO_NOT_DONE2   0x02
3876 #define _AD2CON0_CHS0           0x04
3877 #define _AD2CON0_CHS1           0x08
3878 #define _AD2CON0_CHS2           0x10
3879 #define _AD2CON0_CHS3           0x20
3880 #define _AD2CON0_CHS4           0x40
3881 
3882 //==============================================================================
3883 
3884 
3885 //==============================================================================
3886 //        AAD2CON2 Bits
3887 
3888 extern __at(0x0793) __sfr AAD2CON2;
3889 
3890 typedef union
3891   {
3892   struct
3893     {
3894     unsigned                    : 1;
3895     unsigned                    : 1;
3896     unsigned                    : 1;
3897     unsigned                    : 1;
3898     unsigned TRIGSEL0           : 1;
3899     unsigned TRIGSEL1           : 1;
3900     unsigned TRIGSEL2           : 1;
3901     unsigned                    : 1;
3902     };
3903 
3904   struct
3905     {
3906     unsigned                    : 4;
3907     unsigned TRIGSEL            : 3;
3908     unsigned                    : 1;
3909     };
3910   } __AAD2CON2bits_t;
3911 
3912 extern __at(0x0793) volatile __AAD2CON2bits_t AAD2CON2bits;
3913 
3914 #define _AAD2CON2_TRIGSEL0      0x10
3915 #define _AAD2CON2_TRIGSEL1      0x20
3916 #define _AAD2CON2_TRIGSEL2      0x40
3917 
3918 //==============================================================================
3919 
3920 
3921 //==============================================================================
3922 //        AD2CON2 Bits
3923 
3924 extern __at(0x0793) __sfr AD2CON2;
3925 
3926 typedef union
3927   {
3928   struct
3929     {
3930     unsigned                    : 1;
3931     unsigned                    : 1;
3932     unsigned                    : 1;
3933     unsigned                    : 1;
3934     unsigned TRIGSEL0           : 1;
3935     unsigned TRIGSEL1           : 1;
3936     unsigned TRIGSEL2           : 1;
3937     unsigned                    : 1;
3938     };
3939 
3940   struct
3941     {
3942     unsigned                    : 4;
3943     unsigned TRIGSEL            : 3;
3944     unsigned                    : 1;
3945     };
3946   } __AD2CON2bits_t;
3947 
3948 extern __at(0x0793) volatile __AD2CON2bits_t AD2CON2bits;
3949 
3950 #define _AD2CON2_TRIGSEL0       0x10
3951 #define _AD2CON2_TRIGSEL1       0x20
3952 #define _AD2CON2_TRIGSEL2       0x40
3953 
3954 //==============================================================================
3955 
3956 
3957 //==============================================================================
3958 //        AAD2CON3 Bits
3959 
3960 extern __at(0x0794) __sfr AAD2CON3;
3961 
3962 typedef union
3963   {
3964   struct
3965     {
3966     unsigned AD2DSEN            : 1;
3967     unsigned AD2IPEN            : 1;
3968     unsigned                    : 1;
3969     unsigned                    : 1;
3970     unsigned                    : 1;
3971     unsigned                    : 1;
3972     unsigned AD2IPPOL           : 1;
3973     unsigned AD2EPPOL           : 1;
3974     };
3975 
3976   struct
3977     {
3978     unsigned ADDSEN             : 1;
3979     unsigned ADIPEN             : 1;
3980     unsigned                    : 1;
3981     unsigned                    : 1;
3982     unsigned                    : 1;
3983     unsigned                    : 1;
3984     unsigned ADIPPOL            : 1;
3985     unsigned ADEPPOL            : 1;
3986     };
3987   } __AAD2CON3bits_t;
3988 
3989 extern __at(0x0794) volatile __AAD2CON3bits_t AAD2CON3bits;
3990 
3991 #define _AAD2CON3_AD2DSEN       0x01
3992 #define _AAD2CON3_ADDSEN        0x01
3993 #define _AAD2CON3_AD2IPEN       0x02
3994 #define _AAD2CON3_ADIPEN        0x02
3995 #define _AAD2CON3_AD2IPPOL      0x40
3996 #define _AAD2CON3_ADIPPOL       0x40
3997 #define _AAD2CON3_AD2EPPOL      0x80
3998 #define _AAD2CON3_ADEPPOL       0x80
3999 
4000 //==============================================================================
4001 
4002 
4003 //==============================================================================
4004 //        AD2CON3 Bits
4005 
4006 extern __at(0x0794) __sfr AD2CON3;
4007 
4008 typedef union
4009   {
4010   struct
4011     {
4012     unsigned AD2DSEN            : 1;
4013     unsigned AD2IPEN            : 1;
4014     unsigned                    : 1;
4015     unsigned                    : 1;
4016     unsigned                    : 1;
4017     unsigned                    : 1;
4018     unsigned AD2IPPOL           : 1;
4019     unsigned AD2EPPOL           : 1;
4020     };
4021 
4022   struct
4023     {
4024     unsigned ADDSEN             : 1;
4025     unsigned ADIPEN             : 1;
4026     unsigned                    : 1;
4027     unsigned                    : 1;
4028     unsigned                    : 1;
4029     unsigned                    : 1;
4030     unsigned ADIPPOL            : 1;
4031     unsigned ADEPPOL            : 1;
4032     };
4033   } __AD2CON3bits_t;
4034 
4035 extern __at(0x0794) volatile __AD2CON3bits_t AD2CON3bits;
4036 
4037 #define _AD2CON3_AD2DSEN        0x01
4038 #define _AD2CON3_ADDSEN         0x01
4039 #define _AD2CON3_AD2IPEN        0x02
4040 #define _AD2CON3_ADIPEN         0x02
4041 #define _AD2CON3_AD2IPPOL       0x40
4042 #define _AD2CON3_ADIPPOL        0x40
4043 #define _AD2CON3_AD2EPPOL       0x80
4044 #define _AD2CON3_ADEPPOL        0x80
4045 
4046 //==============================================================================
4047 
4048 
4049 //==============================================================================
4050 //        AAD2PRE Bits
4051 
4052 extern __at(0x0796) __sfr AAD2PRE;
4053 
4054 typedef union
4055   {
4056   struct
4057     {
4058     unsigned ADPRE0             : 1;
4059     unsigned ADPRE1             : 1;
4060     unsigned ADPRE2             : 1;
4061     unsigned ADPRE3             : 1;
4062     unsigned ADPRE4             : 1;
4063     unsigned ADPRE5             : 1;
4064     unsigned ADPRE6             : 1;
4065     unsigned                    : 1;
4066     };
4067 
4068   struct
4069     {
4070     unsigned ADPRE              : 7;
4071     unsigned                    : 1;
4072     };
4073   } __AAD2PREbits_t;
4074 
4075 extern __at(0x0796) volatile __AAD2PREbits_t AAD2PREbits;
4076 
4077 #define _AAD2PRE_ADPRE0         0x01
4078 #define _AAD2PRE_ADPRE1         0x02
4079 #define _AAD2PRE_ADPRE2         0x04
4080 #define _AAD2PRE_ADPRE3         0x08
4081 #define _AAD2PRE_ADPRE4         0x10
4082 #define _AAD2PRE_ADPRE5         0x20
4083 #define _AAD2PRE_ADPRE6         0x40
4084 
4085 //==============================================================================
4086 
4087 
4088 //==============================================================================
4089 //        AD2PRE Bits
4090 
4091 extern __at(0x0796) __sfr AD2PRE;
4092 
4093 typedef union
4094   {
4095   struct
4096     {
4097     unsigned ADPRE0             : 1;
4098     unsigned ADPRE1             : 1;
4099     unsigned ADPRE2             : 1;
4100     unsigned ADPRE3             : 1;
4101     unsigned ADPRE4             : 1;
4102     unsigned ADPRE5             : 1;
4103     unsigned ADPRE6             : 1;
4104     unsigned                    : 1;
4105     };
4106 
4107   struct
4108     {
4109     unsigned ADPRE              : 7;
4110     unsigned                    : 1;
4111     };
4112   } __AD2PREbits_t;
4113 
4114 extern __at(0x0796) volatile __AD2PREbits_t AD2PREbits;
4115 
4116 #define _AD2PRE_ADPRE0          0x01
4117 #define _AD2PRE_ADPRE1          0x02
4118 #define _AD2PRE_ADPRE2          0x04
4119 #define _AD2PRE_ADPRE3          0x08
4120 #define _AD2PRE_ADPRE4          0x10
4121 #define _AD2PRE_ADPRE5          0x20
4122 #define _AD2PRE_ADPRE6          0x40
4123 
4124 //==============================================================================
4125 
4126 
4127 //==============================================================================
4128 //        AD2PRECON Bits
4129 
4130 extern __at(0x0796) __sfr AD2PRECON;
4131 
4132 typedef union
4133   {
4134   struct
4135     {
4136     unsigned ADPRE0             : 1;
4137     unsigned ADPRE1             : 1;
4138     unsigned ADPRE2             : 1;
4139     unsigned ADPRE3             : 1;
4140     unsigned ADPRE4             : 1;
4141     unsigned ADPRE5             : 1;
4142     unsigned ADPRE6             : 1;
4143     unsigned                    : 1;
4144     };
4145 
4146   struct
4147     {
4148     unsigned ADPRE              : 7;
4149     unsigned                    : 1;
4150     };
4151   } __AD2PRECONbits_t;
4152 
4153 extern __at(0x0796) volatile __AD2PRECONbits_t AD2PRECONbits;
4154 
4155 #define _AD2PRECON_ADPRE0       0x01
4156 #define _AD2PRECON_ADPRE1       0x02
4157 #define _AD2PRECON_ADPRE2       0x04
4158 #define _AD2PRECON_ADPRE3       0x08
4159 #define _AD2PRECON_ADPRE4       0x10
4160 #define _AD2PRECON_ADPRE5       0x20
4161 #define _AD2PRECON_ADPRE6       0x40
4162 
4163 //==============================================================================
4164 
4165 
4166 //==============================================================================
4167 //        AAD2ACQ Bits
4168 
4169 extern __at(0x0797) __sfr AAD2ACQ;
4170 
4171 typedef union
4172   {
4173   struct
4174     {
4175     unsigned ADACQ0             : 1;
4176     unsigned ADACQ1             : 1;
4177     unsigned ADACQ2             : 1;
4178     unsigned ADACQ3             : 1;
4179     unsigned ADACQ4             : 1;
4180     unsigned ADACQ5             : 1;
4181     unsigned ADACQ6             : 1;
4182     unsigned                    : 1;
4183     };
4184 
4185   struct
4186     {
4187     unsigned ADACQ              : 7;
4188     unsigned                    : 1;
4189     };
4190   } __AAD2ACQbits_t;
4191 
4192 extern __at(0x0797) volatile __AAD2ACQbits_t AAD2ACQbits;
4193 
4194 #define _AAD2ACQ_ADACQ0         0x01
4195 #define _AAD2ACQ_ADACQ1         0x02
4196 #define _AAD2ACQ_ADACQ2         0x04
4197 #define _AAD2ACQ_ADACQ3         0x08
4198 #define _AAD2ACQ_ADACQ4         0x10
4199 #define _AAD2ACQ_ADACQ5         0x20
4200 #define _AAD2ACQ_ADACQ6         0x40
4201 
4202 //==============================================================================
4203 
4204 
4205 //==============================================================================
4206 //        AD2ACQ Bits
4207 
4208 extern __at(0x0797) __sfr AD2ACQ;
4209 
4210 typedef union
4211   {
4212   struct
4213     {
4214     unsigned ADACQ0             : 1;
4215     unsigned ADACQ1             : 1;
4216     unsigned ADACQ2             : 1;
4217     unsigned ADACQ3             : 1;
4218     unsigned ADACQ4             : 1;
4219     unsigned ADACQ5             : 1;
4220     unsigned ADACQ6             : 1;
4221     unsigned                    : 1;
4222     };
4223 
4224   struct
4225     {
4226     unsigned ADACQ              : 7;
4227     unsigned                    : 1;
4228     };
4229   } __AD2ACQbits_t;
4230 
4231 extern __at(0x0797) volatile __AD2ACQbits_t AD2ACQbits;
4232 
4233 #define _AD2ACQ_ADACQ0          0x01
4234 #define _AD2ACQ_ADACQ1          0x02
4235 #define _AD2ACQ_ADACQ2          0x04
4236 #define _AD2ACQ_ADACQ3          0x08
4237 #define _AD2ACQ_ADACQ4          0x10
4238 #define _AD2ACQ_ADACQ5          0x20
4239 #define _AD2ACQ_ADACQ6          0x40
4240 
4241 //==============================================================================
4242 
4243 
4244 //==============================================================================
4245 //        AD2ACQCON Bits
4246 
4247 extern __at(0x0797) __sfr AD2ACQCON;
4248 
4249 typedef union
4250   {
4251   struct
4252     {
4253     unsigned ADACQ0             : 1;
4254     unsigned ADACQ1             : 1;
4255     unsigned ADACQ2             : 1;
4256     unsigned ADACQ3             : 1;
4257     unsigned ADACQ4             : 1;
4258     unsigned ADACQ5             : 1;
4259     unsigned ADACQ6             : 1;
4260     unsigned                    : 1;
4261     };
4262 
4263   struct
4264     {
4265     unsigned ADACQ              : 7;
4266     unsigned                    : 1;
4267     };
4268   } __AD2ACQCONbits_t;
4269 
4270 extern __at(0x0797) volatile __AD2ACQCONbits_t AD2ACQCONbits;
4271 
4272 #define _AD2ACQCON_ADACQ0       0x01
4273 #define _AD2ACQCON_ADACQ1       0x02
4274 #define _AD2ACQCON_ADACQ2       0x04
4275 #define _AD2ACQCON_ADACQ3       0x08
4276 #define _AD2ACQCON_ADACQ4       0x10
4277 #define _AD2ACQCON_ADACQ5       0x20
4278 #define _AD2ACQCON_ADACQ6       0x40
4279 
4280 //==============================================================================
4281 
4282 
4283 //==============================================================================
4284 //        AAD2GRD Bits
4285 
4286 extern __at(0x0798) __sfr AAD2GRD;
4287 
4288 typedef union
4289   {
4290   struct
4291     {
4292     unsigned                    : 1;
4293     unsigned                    : 1;
4294     unsigned                    : 1;
4295     unsigned                    : 1;
4296     unsigned                    : 1;
4297     unsigned GRD2POL            : 1;
4298     unsigned GRD2AOE            : 1;
4299     unsigned GRD2BOE            : 1;
4300     };
4301 
4302   struct
4303     {
4304     unsigned                    : 1;
4305     unsigned                    : 1;
4306     unsigned                    : 1;
4307     unsigned                    : 1;
4308     unsigned                    : 1;
4309     unsigned GRDPOL             : 1;
4310     unsigned GRDAOE             : 1;
4311     unsigned GRDBOE             : 1;
4312     };
4313   } __AAD2GRDbits_t;
4314 
4315 extern __at(0x0798) volatile __AAD2GRDbits_t AAD2GRDbits;
4316 
4317 #define _AAD2GRD_GRD2POL        0x20
4318 #define _AAD2GRD_GRDPOL         0x20
4319 #define _AAD2GRD_GRD2AOE        0x40
4320 #define _AAD2GRD_GRDAOE         0x40
4321 #define _AAD2GRD_GRD2BOE        0x80
4322 #define _AAD2GRD_GRDBOE         0x80
4323 
4324 //==============================================================================
4325 
4326 
4327 //==============================================================================
4328 //        AD2GRD Bits
4329 
4330 extern __at(0x0798) __sfr AD2GRD;
4331 
4332 typedef union
4333   {
4334   struct
4335     {
4336     unsigned                    : 1;
4337     unsigned                    : 1;
4338     unsigned                    : 1;
4339     unsigned                    : 1;
4340     unsigned                    : 1;
4341     unsigned GRD2POL            : 1;
4342     unsigned GRD2AOE            : 1;
4343     unsigned GRD2BOE            : 1;
4344     };
4345 
4346   struct
4347     {
4348     unsigned                    : 1;
4349     unsigned                    : 1;
4350     unsigned                    : 1;
4351     unsigned                    : 1;
4352     unsigned                    : 1;
4353     unsigned GRDPOL             : 1;
4354     unsigned GRDAOE             : 1;
4355     unsigned GRDBOE             : 1;
4356     };
4357   } __AD2GRDbits_t;
4358 
4359 extern __at(0x0798) volatile __AD2GRDbits_t AD2GRDbits;
4360 
4361 #define _AD2GRD_GRD2POL         0x20
4362 #define _AD2GRD_GRDPOL          0x20
4363 #define _AD2GRD_GRD2AOE         0x40
4364 #define _AD2GRD_GRDAOE          0x40
4365 #define _AD2GRD_GRD2BOE         0x80
4366 #define _AD2GRD_GRDBOE          0x80
4367 
4368 //==============================================================================
4369 
4370 
4371 //==============================================================================
4372 //        AAD2CAP Bits
4373 
4374 extern __at(0x0799) __sfr AAD2CAP;
4375 
4376 typedef union
4377   {
4378   struct
4379     {
4380     unsigned ADDCAP0            : 1;
4381     unsigned ADDCAP1            : 1;
4382     unsigned ADDCAP2            : 1;
4383     unsigned ADDCAP3            : 1;
4384     unsigned                    : 1;
4385     unsigned                    : 1;
4386     unsigned                    : 1;
4387     unsigned                    : 1;
4388     };
4389 
4390   struct
4391     {
4392     unsigned ADDCAP             : 4;
4393     unsigned                    : 4;
4394     };
4395   } __AAD2CAPbits_t;
4396 
4397 extern __at(0x0799) volatile __AAD2CAPbits_t AAD2CAPbits;
4398 
4399 #define _AAD2CAP_ADDCAP0        0x01
4400 #define _AAD2CAP_ADDCAP1        0x02
4401 #define _AAD2CAP_ADDCAP2        0x04
4402 #define _AAD2CAP_ADDCAP3        0x08
4403 
4404 //==============================================================================
4405 
4406 
4407 //==============================================================================
4408 //        AAD2CAPCON Bits
4409 
4410 extern __at(0x0799) __sfr AAD2CAPCON;
4411 
4412 typedef union
4413   {
4414   struct
4415     {
4416     unsigned ADDCAP0            : 1;
4417     unsigned ADDCAP1            : 1;
4418     unsigned ADDCAP2            : 1;
4419     unsigned ADDCAP3            : 1;
4420     unsigned                    : 1;
4421     unsigned                    : 1;
4422     unsigned                    : 1;
4423     unsigned                    : 1;
4424     };
4425 
4426   struct
4427     {
4428     unsigned ADDCAP             : 4;
4429     unsigned                    : 4;
4430     };
4431   } __AAD2CAPCONbits_t;
4432 
4433 extern __at(0x0799) volatile __AAD2CAPCONbits_t AAD2CAPCONbits;
4434 
4435 #define _AAD2CAPCON_ADDCAP0     0x01
4436 #define _AAD2CAPCON_ADDCAP1     0x02
4437 #define _AAD2CAPCON_ADDCAP2     0x04
4438 #define _AAD2CAPCON_ADDCAP3     0x08
4439 
4440 //==============================================================================
4441 
4442 
4443 //==============================================================================
4444 //        AD2CAPCON Bits
4445 
4446 extern __at(0x0799) __sfr AD2CAPCON;
4447 
4448 typedef union
4449   {
4450   struct
4451     {
4452     unsigned ADDCAP0            : 1;
4453     unsigned ADDCAP1            : 1;
4454     unsigned ADDCAP2            : 1;
4455     unsigned ADDCAP3            : 1;
4456     unsigned                    : 1;
4457     unsigned                    : 1;
4458     unsigned                    : 1;
4459     unsigned                    : 1;
4460     };
4461 
4462   struct
4463     {
4464     unsigned ADDCAP             : 4;
4465     unsigned                    : 4;
4466     };
4467   } __AD2CAPCONbits_t;
4468 
4469 extern __at(0x0799) volatile __AD2CAPCONbits_t AD2CAPCONbits;
4470 
4471 #define _AD2CAPCON_ADDCAP0      0x01
4472 #define _AD2CAPCON_ADDCAP1      0x02
4473 #define _AD2CAPCON_ADDCAP2      0x04
4474 #define _AD2CAPCON_ADDCAP3      0x08
4475 
4476 //==============================================================================
4477 
4478 extern __at(0x079A) __sfr AAD2RES0;
4479 extern __at(0x079A) __sfr AAD2RES0L;
4480 extern __at(0x079A) __sfr AD2RES0;
4481 extern __at(0x079B) __sfr AAD2RES0H;
4482 extern __at(0x079C) __sfr AAD2RES1;
4483 extern __at(0x079C) __sfr AAD2RES1L;
4484 extern __at(0x079C) __sfr AD2RES1;
4485 extern __at(0x079D) __sfr AAD2RES1H;
4486 
4487 //==============================================================================
4488 //        AAD2CH Bits
4489 
4490 extern __at(0x079E) __sfr AAD2CH;
4491 
4492 typedef struct
4493   {
4494   unsigned CH20                 : 1;
4495   unsigned CH21                 : 1;
4496   unsigned CH22                 : 1;
4497   unsigned CH23                 : 1;
4498   unsigned CH24                 : 1;
4499   unsigned CH25                 : 1;
4500   unsigned CH26                 : 1;
4501   unsigned                      : 1;
4502   } __AAD2CHbits_t;
4503 
4504 extern __at(0x079E) volatile __AAD2CHbits_t AAD2CHbits;
4505 
4506 #define _CH20                   0x01
4507 #define _CH21                   0x02
4508 #define _CH22                   0x04
4509 #define _CH23                   0x08
4510 #define _CH24                   0x10
4511 #define _CH25                   0x20
4512 #define _CH26                   0x40
4513 
4514 //==============================================================================
4515 
4516 
4517 //==============================================================================
4518 //        AD2CH Bits
4519 
4520 extern __at(0x079E) __sfr AD2CH;
4521 
4522 typedef struct
4523   {
4524   unsigned CH20                 : 1;
4525   unsigned CH21                 : 1;
4526   unsigned CH22                 : 1;
4527   unsigned CH23                 : 1;
4528   unsigned CH24                 : 1;
4529   unsigned CH25                 : 1;
4530   unsigned CH26                 : 1;
4531   unsigned                      : 1;
4532   } __AD2CHbits_t;
4533 
4534 extern __at(0x079E) volatile __AD2CHbits_t AD2CHbits;
4535 
4536 #define _AD2CH_CH20             0x01
4537 #define _AD2CH_CH21             0x02
4538 #define _AD2CH_CH22             0x04
4539 #define _AD2CH_CH23             0x08
4540 #define _AD2CH_CH24             0x10
4541 #define _AD2CH_CH25             0x20
4542 #define _AD2CH_CH26             0x40
4543 
4544 //==============================================================================
4545 
4546 
4547 //==============================================================================
4548 //        ICDIO Bits
4549 
4550 extern __at(0x0F8C) __sfr ICDIO;
4551 
4552 typedef struct
4553   {
4554   unsigned                      : 1;
4555   unsigned                      : 1;
4556   unsigned TRIS_ICDCLK          : 1;
4557   unsigned TRIS_ICDDAT          : 1;
4558   unsigned LAT_ICDCLK           : 1;
4559   unsigned LAT_ICDDAT           : 1;
4560   unsigned PORT_ICDCLK          : 1;
4561   unsigned PORT_ICDDAT          : 1;
4562   } __ICDIObits_t;
4563 
4564 extern __at(0x0F8C) volatile __ICDIObits_t ICDIObits;
4565 
4566 #define _TRIS_ICDCLK            0x04
4567 #define _TRIS_ICDDAT            0x08
4568 #define _LAT_ICDCLK             0x10
4569 #define _LAT_ICDDAT             0x20
4570 #define _PORT_ICDCLK            0x40
4571 #define _PORT_ICDDAT            0x80
4572 
4573 //==============================================================================
4574 
4575 
4576 //==============================================================================
4577 //        ICDCON0 Bits
4578 
4579 extern __at(0x0F8D) __sfr ICDCON0;
4580 
4581 typedef struct
4582   {
4583   unsigned RSTVEC               : 1;
4584   unsigned                      : 1;
4585   unsigned                      : 1;
4586   unsigned DBGINEX              : 1;
4587   unsigned                      : 1;
4588   unsigned SSTEP                : 1;
4589   unsigned FREEZ                : 1;
4590   unsigned INBUG                : 1;
4591   } __ICDCON0bits_t;
4592 
4593 extern __at(0x0F8D) volatile __ICDCON0bits_t ICDCON0bits;
4594 
4595 #define _RSTVEC                 0x01
4596 #define _DBGINEX                0x08
4597 #define _SSTEP                  0x20
4598 #define _FREEZ                  0x40
4599 #define _INBUG                  0x80
4600 
4601 //==============================================================================
4602 
4603 
4604 //==============================================================================
4605 //        ICDSTAT Bits
4606 
4607 extern __at(0x0F91) __sfr ICDSTAT;
4608 
4609 typedef struct
4610   {
4611   unsigned                      : 1;
4612   unsigned USRHLTF              : 1;
4613   unsigned                      : 1;
4614   unsigned                      : 1;
4615   unsigned                      : 1;
4616   unsigned                      : 1;
4617   unsigned TRP0HLTF             : 1;
4618   unsigned TRP1HLTF             : 1;
4619   } __ICDSTATbits_t;
4620 
4621 extern __at(0x0F91) volatile __ICDSTATbits_t ICDSTATbits;
4622 
4623 #define _USRHLTF                0x02
4624 #define _TRP0HLTF               0x40
4625 #define _TRP1HLTF               0x80
4626 
4627 //==============================================================================
4628 
4629 
4630 //==============================================================================
4631 //        ICDINSTL Bits
4632 
4633 extern __at(0x0F96) __sfr ICDINSTL;
4634 
4635 typedef struct
4636   {
4637   unsigned DBGIN0               : 1;
4638   unsigned DBGIN1               : 1;
4639   unsigned DBGIN2               : 1;
4640   unsigned DBGIN3               : 1;
4641   unsigned DBGIN4               : 1;
4642   unsigned DBGIN5               : 1;
4643   unsigned DBGIN6               : 1;
4644   unsigned DBGIN7               : 1;
4645   } __ICDINSTLbits_t;
4646 
4647 extern __at(0x0F96) volatile __ICDINSTLbits_t ICDINSTLbits;
4648 
4649 #define _DBGIN0                 0x01
4650 #define _DBGIN1                 0x02
4651 #define _DBGIN2                 0x04
4652 #define _DBGIN3                 0x08
4653 #define _DBGIN4                 0x10
4654 #define _DBGIN5                 0x20
4655 #define _DBGIN6                 0x40
4656 #define _DBGIN7                 0x80
4657 
4658 //==============================================================================
4659 
4660 
4661 //==============================================================================
4662 //        ICDINSTH Bits
4663 
4664 extern __at(0x0F97) __sfr ICDINSTH;
4665 
4666 typedef struct
4667   {
4668   unsigned DBGIN8               : 1;
4669   unsigned DBGIN9               : 1;
4670   unsigned DBGIN10              : 1;
4671   unsigned DBGIN11              : 1;
4672   unsigned DBGIN12              : 1;
4673   unsigned DBGIN13              : 1;
4674   unsigned                      : 1;
4675   unsigned                      : 1;
4676   } __ICDINSTHbits_t;
4677 
4678 extern __at(0x0F97) volatile __ICDINSTHbits_t ICDINSTHbits;
4679 
4680 #define _DBGIN8                 0x01
4681 #define _DBGIN9                 0x02
4682 #define _DBGIN10                0x04
4683 #define _DBGIN11                0x08
4684 #define _DBGIN12                0x10
4685 #define _DBGIN13                0x20
4686 
4687 //==============================================================================
4688 
4689 
4690 //==============================================================================
4691 //        ICDBK0CON Bits
4692 
4693 extern __at(0x0F9C) __sfr ICDBK0CON;
4694 
4695 typedef struct
4696   {
4697   unsigned BKHLT                : 1;
4698   unsigned                      : 1;
4699   unsigned                      : 1;
4700   unsigned                      : 1;
4701   unsigned                      : 1;
4702   unsigned                      : 1;
4703   unsigned                      : 1;
4704   unsigned BKEN                 : 1;
4705   } __ICDBK0CONbits_t;
4706 
4707 extern __at(0x0F9C) volatile __ICDBK0CONbits_t ICDBK0CONbits;
4708 
4709 #define _BKHLT                  0x01
4710 #define _BKEN                   0x80
4711 
4712 //==============================================================================
4713 
4714 
4715 //==============================================================================
4716 //        ICDBK0L Bits
4717 
4718 extern __at(0x0F9D) __sfr ICDBK0L;
4719 
4720 typedef struct
4721   {
4722   unsigned BKA0                 : 1;
4723   unsigned BKA1                 : 1;
4724   unsigned BKA2                 : 1;
4725   unsigned BKA3                 : 1;
4726   unsigned BKA4                 : 1;
4727   unsigned BKA5                 : 1;
4728   unsigned BKA6                 : 1;
4729   unsigned BKA7                 : 1;
4730   } __ICDBK0Lbits_t;
4731 
4732 extern __at(0x0F9D) volatile __ICDBK0Lbits_t ICDBK0Lbits;
4733 
4734 #define _BKA0                   0x01
4735 #define _BKA1                   0x02
4736 #define _BKA2                   0x04
4737 #define _BKA3                   0x08
4738 #define _BKA4                   0x10
4739 #define _BKA5                   0x20
4740 #define _BKA6                   0x40
4741 #define _BKA7                   0x80
4742 
4743 //==============================================================================
4744 
4745 
4746 //==============================================================================
4747 //        ICDBK0H Bits
4748 
4749 extern __at(0x0F9E) __sfr ICDBK0H;
4750 
4751 typedef struct
4752   {
4753   unsigned BKA8                 : 1;
4754   unsigned BKA9                 : 1;
4755   unsigned BKA10                : 1;
4756   unsigned BKA11                : 1;
4757   unsigned BKA12                : 1;
4758   unsigned BKA13                : 1;
4759   unsigned BKA14                : 1;
4760   unsigned                      : 1;
4761   } __ICDBK0Hbits_t;
4762 
4763 extern __at(0x0F9E) volatile __ICDBK0Hbits_t ICDBK0Hbits;
4764 
4765 #define _BKA8                   0x01
4766 #define _BKA9                   0x02
4767 #define _BKA10                  0x04
4768 #define _BKA11                  0x08
4769 #define _BKA12                  0x10
4770 #define _BKA13                  0x20
4771 #define _BKA14                  0x40
4772 
4773 //==============================================================================
4774 
4775 extern __at(0x0FE3) __sfr BSRICDSHAD;
4776 
4777 //==============================================================================
4778 //        STATUS_SHAD Bits
4779 
4780 extern __at(0x0FE4) __sfr STATUS_SHAD;
4781 
4782 typedef struct
4783   {
4784   unsigned C_SHAD               : 1;
4785   unsigned DC_SHAD              : 1;
4786   unsigned Z_SHAD               : 1;
4787   unsigned                      : 1;
4788   unsigned                      : 1;
4789   unsigned                      : 1;
4790   unsigned                      : 1;
4791   unsigned                      : 1;
4792   } __STATUS_SHADbits_t;
4793 
4794 extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits;
4795 
4796 #define _C_SHAD                 0x01
4797 #define _DC_SHAD                0x02
4798 #define _Z_SHAD                 0x04
4799 
4800 //==============================================================================
4801 
4802 extern __at(0x0FE5) __sfr WREG_SHAD;
4803 extern __at(0x0FE6) __sfr BSR_SHAD;
4804 extern __at(0x0FE7) __sfr PCLATH_SHAD;
4805 extern __at(0x0FE8) __sfr FSR0L_SHAD;
4806 extern __at(0x0FE9) __sfr FSR0H_SHAD;
4807 extern __at(0x0FEA) __sfr FSR1L_SHAD;
4808 extern __at(0x0FEB) __sfr FSR1H_SHAD;
4809 extern __at(0x0FED) __sfr STKPTR;
4810 extern __at(0x0FEE) __sfr TOSL;
4811 extern __at(0x0FEF) __sfr TOSH;
4812 
4813 //==============================================================================
4814 //
4815 //        Configuration Bits
4816 //
4817 //==============================================================================
4818 
4819 #define _CONFIG1                0x8007
4820 #define _CONFIG2                0x8008
4821 
4822 //----------------------------- CONFIG1 Options -------------------------------
4823 
4824 #define _FOSC_INTOSC            0x3FFC  // INTOSC oscillator: I/O function on CLKIN pin.
4825 #define _FOSC_ECL               0x3FFD  // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pins.
4826 #define _FOSC_ECM               0x3FFE  // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pins.
4827 #define _FOSC_ECH               0x3FFF  // ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins.
4828 #define _WDTE_OFF               0x3FE7  // WDT disabled. SWDTEN bit is ignored.
4829 #define _WDTE_SWDTEN            0x3FEF  // WDT controlled by the SWDTEN bit in the WDTCON register.
4830 #define _WDTE_NSLEEP            0x3FF7  // WDT enabled while running and disabled in Sleep. SWDTEN bit is ignored.
4831 #define _WDTE_ON                0x3FFF  // WDT enabled. SWDTEN bit is ignored.
4832 #define _PWRTE_ON               0x3FDF  // PWRT enabled.
4833 #define _PWRTE_OFF              0x3FFF  // PWRT disabled.
4834 #define _MCLRE_OFF              0x3FBF  // MCLR/VPP pin function is digital input.
4835 #define _MCLRE_ON               0x3FFF  // MCLR/VPP pin function is MCLR.
4836 #define _CP_ON                  0x3F7F  // Program memory code protection is enabled.
4837 #define _CP_OFF                 0x3FFF  // Program memory code protection is disabled.
4838 #define _BOREN_OFF              0x39FF  // Brown-out Reset disabled. SBOREN bit is ignored.
4839 #define _BOREN_SBODEN           0x3BFF  // Brown-out Reset controlled by the SBOREN bit in the BORCON register.
4840 #define _BOREN_NSLEEP           0x3DFF  // Brown-out Reset enabled while running and disabled in Sleep. SBOREN bit is ignored.
4841 #define _BOREN_ON               0x3FFF  // Brown-out Reset enabled.
4842 #define _CLKOUTEN_ON            0x37FF  // CLKOUT function is enabled on the CLKOUT pin.
4843 #define _CLKOUTEN_OFF           0x3FFF  // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin.
4844 
4845 //----------------------------- CONFIG2 Options -------------------------------
4846 
4847 #define _WRT_ALL                0x3FFC  // 000h to FFFh write protected, no addresses may be modified by PMCON control.
4848 #define _WRT_HALF               0x3FFD  // 000h to 7FFh write protected, 800h to FFFh may be modified by PMCON control.
4849 #define _WRT_BOOT               0x3FFE  // 000h to 1FFh write protected, 200h to FFFh may be modified by PMCON control.
4850 #define _WRT_OFF                0x3FFF  // Write protection off.
4851 #define _STVREN_OFF             0x3DFF  // Stack Overflow or Underflow will not cause a Reset.
4852 #define _STVREN_ON              0x3FFF  // Stack Overflow or Underflow will cause a Reset.
4853 #define _BORV_HI                0x3BFF  // Brown-out Reset Voltage (Vbor), 2.7V trip point selected.
4854 #define _BORV_LO                0x3FFF  // Brown-out Reset Voltage (Vbor), 1.9V trip point selected.
4855 #define _LPBOR_ON               0x37FF  // Low-Power BOR is enabled.
4856 #define _LPBOR_OFF              0x3FFF  // Low-Power BOR is disabled.
4857 #define _DEBUG_ON               0x2FFF  // In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger.
4858 #define _DEBUG_OFF              0x3FFF  // In-Circuit Debugger disabled, ICSPCLK and ICSPDAT are general purpose I/O pins.
4859 #define _LVP_OFF                0x1FFF  // High-voltage on MCLR/VPP must be used for programming.
4860 #define _LVP_ON                 0x3FFF  // Low-voltage programming enabled.
4861 
4862 //==============================================================================
4863 
4864 #define _DEVID1                 0x8006
4865 
4866 #define _IDLOC0                 0x8000
4867 #define _IDLOC1                 0x8001
4868 #define _IDLOC2                 0x8002
4869 #define _IDLOC3                 0x8003
4870 
4871 //==============================================================================
4872 
4873 #ifndef NO_BIT_DEFINES
4874 
4875 #define ADACQ0                  AAD1ACQbits.ADACQ0              // bit 0
4876 #define ADACQ1                  AAD1ACQbits.ADACQ1              // bit 1
4877 #define ADACQ2                  AAD1ACQbits.ADACQ2              // bit 2
4878 #define ADACQ3                  AAD1ACQbits.ADACQ3              // bit 3
4879 #define ADACQ4                  AAD1ACQbits.ADACQ4              // bit 4
4880 #define ADACQ5                  AAD1ACQbits.ADACQ5              // bit 5
4881 #define ADACQ6                  AAD1ACQbits.ADACQ6              // bit 6
4882 
4883 #define ADDCAP0                 AAD1CAPbits.ADDCAP0             // bit 0
4884 #define ADDCAP1                 AAD1CAPbits.ADDCAP1             // bit 1
4885 #define ADDCAP2                 AAD1CAPbits.ADDCAP2             // bit 2
4886 #define ADDCAP3                 AAD1CAPbits.ADDCAP3             // bit 3
4887 
4888 #define CH10                    AAD1CHbits.CH10                 // bit 0
4889 #define CH11                    AAD1CHbits.CH11                 // bit 1
4890 #define CH12                    AAD1CHbits.CH12                 // bit 2
4891 #define CH13                    AAD1CHbits.CH13                 // bit 3
4892 #define CH14                    AAD1CHbits.CH14                 // bit 4
4893 #define CH15                    AAD1CHbits.CH15                 // bit 5
4894 #define CH16                    AAD1CHbits.CH16                 // bit 6
4895 
4896 #define ADON                    AAD1CON0bits.ADON               // bit 0
4897 #define GO                      AAD1CON0bits.GO                 // bit 1, shadows bit in AAD1CON0bits
4898 #define GO_NOT_DONE             AAD1CON0bits.GO_NOT_DONE        // bit 1, shadows bit in AAD1CON0bits
4899 #define GO_NOT_DONE1            AAD1CON0bits.GO_NOT_DONE1       // bit 1, shadows bit in AAD1CON0bits
4900 #define CHS0                    AAD1CON0bits.CHS0               // bit 2
4901 #define CHS1                    AAD1CON0bits.CHS1               // bit 3
4902 #define CHS2                    AAD1CON0bits.CHS2               // bit 4
4903 #define CHS3                    AAD1CON0bits.CHS3               // bit 5
4904 #define CHS4                    AAD1CON0bits.CHS4               // bit 6
4905 
4906 #define TRIGSEL0                AAD1CON2bits.TRIGSEL0           // bit 4
4907 #define TRIGSEL1                AAD1CON2bits.TRIGSEL1           // bit 5
4908 #define TRIGSEL2                AAD1CON2bits.TRIGSEL2           // bit 6
4909 
4910 #define AD1DSEN                 AAD1CON3bits.AD1DSEN            // bit 0, shadows bit in AAD1CON3bits
4911 #define ADDSEN                  AAD1CON3bits.ADDSEN             // bit 0, shadows bit in AAD1CON3bits
4912 #define AD1IPEN                 AAD1CON3bits.AD1IPEN            // bit 1, shadows bit in AAD1CON3bits
4913 #define ADIPEN                  AAD1CON3bits.ADIPEN             // bit 1, shadows bit in AAD1CON3bits
4914 #define AD1IPPOL                AAD1CON3bits.AD1IPPOL           // bit 6, shadows bit in AAD1CON3bits
4915 #define ADIPPOL                 AAD1CON3bits.ADIPPOL            // bit 6, shadows bit in AAD1CON3bits
4916 #define AD1EPPOL                AAD1CON3bits.AD1EPPOL           // bit 7, shadows bit in AAD1CON3bits
4917 #define ADEPPOL                 AAD1CON3bits.ADEPPOL            // bit 7, shadows bit in AAD1CON3bits
4918 
4919 #define GRD1POL                 AAD1GRDbits.GRD1POL             // bit 5, shadows bit in AAD1GRDbits
4920 #define GRDPOL                  AAD1GRDbits.GRDPOL              // bit 5, shadows bit in AAD1GRDbits
4921 #define GRD1AOE                 AAD1GRDbits.GRD1AOE             // bit 6, shadows bit in AAD1GRDbits
4922 #define GRDAOE                  AAD1GRDbits.GRDAOE              // bit 6, shadows bit in AAD1GRDbits
4923 #define GRD1BOE                 AAD1GRDbits.GRD1BOE             // bit 7, shadows bit in AAD1GRDbits
4924 #define GRDBOE                  AAD1GRDbits.GRDBOE              // bit 7, shadows bit in AAD1GRDbits
4925 
4926 #define ADPRE0                  AAD1PREbits.ADPRE0              // bit 0
4927 #define ADPRE1                  AAD1PREbits.ADPRE1              // bit 1
4928 #define ADPRE2                  AAD1PREbits.ADPRE2              // bit 2
4929 #define ADPRE3                  AAD1PREbits.ADPRE3              // bit 3
4930 #define ADPRE4                  AAD1PREbits.ADPRE4              // bit 4
4931 #define ADPRE5                  AAD1PREbits.ADPRE5              // bit 5
4932 #define ADPRE6                  AAD1PREbits.ADPRE6              // bit 6
4933 
4934 #define CH20                    AAD2CHbits.CH20                 // bit 0
4935 #define CH21                    AAD2CHbits.CH21                 // bit 1
4936 #define CH22                    AAD2CHbits.CH22                 // bit 2
4937 #define CH23                    AAD2CHbits.CH23                 // bit 3
4938 #define CH24                    AAD2CHbits.CH24                 // bit 4
4939 #define CH25                    AAD2CHbits.CH25                 // bit 5
4940 #define CH26                    AAD2CHbits.CH26                 // bit 6
4941 
4942 #define ADPREF0                 AADCON1bits.ADPREF0             // bit 0
4943 #define ADPREF1                 AADCON1bits.ADPREF1             // bit 1
4944 #define GO_NOT_DONE_ALL         AADCON1bits.GO_NOT_DONE_ALL     // bit 2, shadows bit in AADCON1bits
4945 #define GO_ALL                  AADCON1bits.GO_ALL              // bit 2, shadows bit in AADCON1bits
4946 #define ADCS0                   AADCON1bits.ADCS0               // bit 4
4947 #define ADCS1                   AADCON1bits.ADCS1               // bit 5
4948 #define ADCS2                   AADCON1bits.ADCS2               // bit 6
4949 #define ADFM                    AADCON1bits.ADFM                // bit 7
4950 
4951 #define AD1STG0                 AADSTATbits.AD1STG0             // bit 0
4952 #define AD1STG1                 AADSTATbits.AD1STG1             // bit 1
4953 #define AD1CONV                 AADSTATbits.AD1CONV             // bit 2, shadows bit in AADSTATbits
4954 #define ADCONV                  AADSTATbits.ADCONV              // bit 2, shadows bit in AADSTATbits
4955 #define AD2STG0                 AADSTATbits.AD2STG0             // bit 4
4956 #define AD2STG1                 AADSTATbits.AD2STG1             // bit 5
4957 #define AD2CONV                 AADSTATbits.AD2CONV             // bit 6
4958 
4959 #define ANSA0                   ANSELAbits.ANSA0                // bit 0
4960 #define ANSA1                   ANSELAbits.ANSA1                // bit 1
4961 #define ANSA2                   ANSELAbits.ANSA2                // bit 2
4962 #define ANSA4                   ANSELAbits.ANSA4                // bit 4
4963 #define ANSA5                   ANSELAbits.ANSA5                // bit 5
4964 
4965 #define ANSB4                   ANSELBbits.ANSB4                // bit 4
4966 #define ANSB5                   ANSELBbits.ANSB5                // bit 5
4967 #define ANSB6                   ANSELBbits.ANSB6                // bit 6
4968 #define ANSB7                   ANSELBbits.ANSB7                // bit 7
4969 
4970 #define ANSC0                   ANSELCbits.ANSC0                // bit 0
4971 #define ANSC1                   ANSELCbits.ANSC1                // bit 1
4972 #define ANSC2                   ANSELCbits.ANSC2                // bit 2
4973 #define ANSC3                   ANSELCbits.ANSC3                // bit 3
4974 #define ANSC4                   ANSELCbits.ANSC4                // bit 4
4975 #define ANSC5                   ANSELCbits.ANSC5                // bit 5
4976 #define ANSC6                   ANSELCbits.ANSC6                // bit 6
4977 #define ANSC7                   ANSELCbits.ANSC7                // bit 7
4978 
4979 #define GRDASEL                 APFCONbits.GRDASEL              // bit 0
4980 #define GRDBSEL                 APFCONbits.GRDBSEL              // bit 1
4981 #define SDSEL                   APFCONbits.SDSEL                // bit 4
4982 #define SSSEL                   APFCONbits.SSSEL                // bit 5
4983 #define SDOSEL                  APFCONbits.SDOSEL               // bit 6
4984 #define RXDTSEL                 APFCONbits.RXDTSEL              // bit 7
4985 
4986 #define ABDEN                   BAUDCONbits.ABDEN               // bit 0
4987 #define WUE                     BAUDCONbits.WUE                 // bit 1
4988 #define BRG16                   BAUDCONbits.BRG16               // bit 3
4989 #define SCKP                    BAUDCONbits.SCKP                // bit 4
4990 #define RCIDL                   BAUDCONbits.RCIDL               // bit 6
4991 #define ABDOVF                  BAUDCONbits.ABDOVF              // bit 7
4992 
4993 #define BORRDY                  BORCONbits.BORRDY               // bit 0
4994 #define BORFS                   BORCONbits.BORFS                // bit 6
4995 #define SBOREN                  BORCONbits.SBOREN               // bit 7
4996 
4997 #define BSR0                    BSRbits.BSR0                    // bit 0
4998 #define BSR1                    BSRbits.BSR1                    // bit 1
4999 #define BSR2                    BSRbits.BSR2                    // bit 2
5000 #define BSR3                    BSRbits.BSR3                    // bit 3
5001 #define BSR4                    BSRbits.BSR4                    // bit 4
5002 
5003 #define ADFVR0                  FVRCONbits.ADFVR0               // bit 0
5004 #define ADFVR1                  FVRCONbits.ADFVR1               // bit 1
5005 #define CDAFVR0                 FVRCONbits.CDAFVR0              // bit 2
5006 #define CDAFVR1                 FVRCONbits.CDAFVR1              // bit 3
5007 #define TSRNG                   FVRCONbits.TSRNG                // bit 4
5008 #define TSEN                    FVRCONbits.TSEN                 // bit 5
5009 #define FVRRDY                  FVRCONbits.FVRRDY               // bit 6
5010 #define FVREN                   FVRCONbits.FVREN                // bit 7
5011 
5012 #define BKHLT                   ICDBK0CONbits.BKHLT             // bit 0
5013 #define BKEN                    ICDBK0CONbits.BKEN              // bit 7
5014 
5015 #define BKA8                    ICDBK0Hbits.BKA8                // bit 0
5016 #define BKA9                    ICDBK0Hbits.BKA9                // bit 1
5017 #define BKA10                   ICDBK0Hbits.BKA10               // bit 2
5018 #define BKA11                   ICDBK0Hbits.BKA11               // bit 3
5019 #define BKA12                   ICDBK0Hbits.BKA12               // bit 4
5020 #define BKA13                   ICDBK0Hbits.BKA13               // bit 5
5021 #define BKA14                   ICDBK0Hbits.BKA14               // bit 6
5022 
5023 #define BKA0                    ICDBK0Lbits.BKA0                // bit 0
5024 #define BKA1                    ICDBK0Lbits.BKA1                // bit 1
5025 #define BKA2                    ICDBK0Lbits.BKA2                // bit 2
5026 #define BKA3                    ICDBK0Lbits.BKA3                // bit 3
5027 #define BKA4                    ICDBK0Lbits.BKA4                // bit 4
5028 #define BKA5                    ICDBK0Lbits.BKA5                // bit 5
5029 #define BKA6                    ICDBK0Lbits.BKA6                // bit 6
5030 #define BKA7                    ICDBK0Lbits.BKA7                // bit 7
5031 
5032 #define RSTVEC                  ICDCON0bits.RSTVEC              // bit 0
5033 #define DBGINEX                 ICDCON0bits.DBGINEX             // bit 3
5034 #define SSTEP                   ICDCON0bits.SSTEP               // bit 5
5035 #define FREEZ                   ICDCON0bits.FREEZ               // bit 6
5036 #define INBUG                   ICDCON0bits.INBUG               // bit 7
5037 
5038 #define DBGIN8                  ICDINSTHbits.DBGIN8             // bit 0
5039 #define DBGIN9                  ICDINSTHbits.DBGIN9             // bit 1
5040 #define DBGIN10                 ICDINSTHbits.DBGIN10            // bit 2
5041 #define DBGIN11                 ICDINSTHbits.DBGIN11            // bit 3
5042 #define DBGIN12                 ICDINSTHbits.DBGIN12            // bit 4
5043 #define DBGIN13                 ICDINSTHbits.DBGIN13            // bit 5
5044 
5045 #define DBGIN0                  ICDINSTLbits.DBGIN0             // bit 0
5046 #define DBGIN1                  ICDINSTLbits.DBGIN1             // bit 1
5047 #define DBGIN2                  ICDINSTLbits.DBGIN2             // bit 2
5048 #define DBGIN3                  ICDINSTLbits.DBGIN3             // bit 3
5049 #define DBGIN4                  ICDINSTLbits.DBGIN4             // bit 4
5050 #define DBGIN5                  ICDINSTLbits.DBGIN5             // bit 5
5051 #define DBGIN6                  ICDINSTLbits.DBGIN6             // bit 6
5052 #define DBGIN7                  ICDINSTLbits.DBGIN7             // bit 7
5053 
5054 #define TRIS_ICDCLK             ICDIObits.TRIS_ICDCLK           // bit 2
5055 #define TRIS_ICDDAT             ICDIObits.TRIS_ICDDAT           // bit 3
5056 #define LAT_ICDCLK              ICDIObits.LAT_ICDCLK            // bit 4
5057 #define LAT_ICDDAT              ICDIObits.LAT_ICDDAT            // bit 5
5058 #define PORT_ICDCLK             ICDIObits.PORT_ICDCLK           // bit 6
5059 #define PORT_ICDDAT             ICDIObits.PORT_ICDDAT           // bit 7
5060 
5061 #define USRHLTF                 ICDSTATbits.USRHLTF             // bit 1
5062 #define TRP0HLTF                ICDSTATbits.TRP0HLTF            // bit 6
5063 #define TRP1HLTF                ICDSTATbits.TRP1HLTF            // bit 7
5064 
5065 #define IOCIF                   INTCONbits.IOCIF                // bit 0
5066 #define INTF                    INTCONbits.INTF                 // bit 1
5067 #define TMR0IF                  INTCONbits.TMR0IF               // bit 2, shadows bit in INTCONbits
5068 #define T0IF                    INTCONbits.T0IF                 // bit 2, shadows bit in INTCONbits
5069 #define IOCIE                   INTCONbits.IOCIE                // bit 3
5070 #define INTE                    INTCONbits.INTE                 // bit 4
5071 #define TMR0IE                  INTCONbits.TMR0IE               // bit 5, shadows bit in INTCONbits
5072 #define T0IE                    INTCONbits.T0IE                 // bit 5, shadows bit in INTCONbits
5073 #define PEIE                    INTCONbits.PEIE                 // bit 6
5074 #define GIE                     INTCONbits.GIE                  // bit 7
5075 
5076 #define IOCAF0                  IOCAFbits.IOCAF0                // bit 0
5077 #define IOCAF1                  IOCAFbits.IOCAF1                // bit 1
5078 #define IOCAF2                  IOCAFbits.IOCAF2                // bit 2
5079 #define IOCAF3                  IOCAFbits.IOCAF3                // bit 3
5080 #define IOCAF4                  IOCAFbits.IOCAF4                // bit 4
5081 #define IOCAF5                  IOCAFbits.IOCAF5                // bit 5
5082 
5083 #define IOCAN0                  IOCANbits.IOCAN0                // bit 0
5084 #define IOCAN1                  IOCANbits.IOCAN1                // bit 1
5085 #define IOCAN2                  IOCANbits.IOCAN2                // bit 2
5086 #define IOCAN3                  IOCANbits.IOCAN3                // bit 3
5087 #define IOCAN4                  IOCANbits.IOCAN4                // bit 4
5088 #define IOCAN5                  IOCANbits.IOCAN5                // bit 5
5089 
5090 #define IOCAP0                  IOCAPbits.IOCAP0                // bit 0
5091 #define IOCAP1                  IOCAPbits.IOCAP1                // bit 1
5092 #define IOCAP2                  IOCAPbits.IOCAP2                // bit 2
5093 #define IOCAP3                  IOCAPbits.IOCAP3                // bit 3
5094 #define IOCAP4                  IOCAPbits.IOCAP4                // bit 4
5095 #define IOCAP5                  IOCAPbits.IOCAP5                // bit 5
5096 
5097 #define IOCBF4                  IOCBFbits.IOCBF4                // bit 4
5098 #define IOCBF5                  IOCBFbits.IOCBF5                // bit 5
5099 #define IOCBF6                  IOCBFbits.IOCBF6                // bit 6
5100 #define IOCBF7                  IOCBFbits.IOCBF7                // bit 7
5101 
5102 #define IOCBN4                  IOCBNbits.IOCBN4                // bit 4
5103 #define IOCBN5                  IOCBNbits.IOCBN5                // bit 5
5104 #define IOCBN6                  IOCBNbits.IOCBN6                // bit 6
5105 #define IOCBN7                  IOCBNbits.IOCBN7                // bit 7
5106 
5107 #define IOCBP4                  IOCBPbits.IOCBP4                // bit 4
5108 #define IOCBP5                  IOCBPbits.IOCBP5                // bit 5
5109 #define IOCBP6                  IOCBPbits.IOCBP6                // bit 6
5110 #define IOCBP7                  IOCBPbits.IOCBP7                // bit 7
5111 
5112 #define LATA0                   LATAbits.LATA0                  // bit 0
5113 #define LATA1                   LATAbits.LATA1                  // bit 1
5114 #define LATA2                   LATAbits.LATA2                  // bit 2
5115 #define LATA4                   LATAbits.LATA4                  // bit 4
5116 #define LATA5                   LATAbits.LATA5                  // bit 5
5117 
5118 #define LATB4                   LATBbits.LATB4                  // bit 4
5119 #define LATB5                   LATBbits.LATB5                  // bit 5
5120 #define LATB6                   LATBbits.LATB6                  // bit 6
5121 #define LATB7                   LATBbits.LATB7                  // bit 7
5122 
5123 #define LATC0                   LATCbits.LATC0                  // bit 0
5124 #define LATC1                   LATCbits.LATC1                  // bit 1
5125 #define LATC2                   LATCbits.LATC2                  // bit 2
5126 #define LATC3                   LATCbits.LATC3                  // bit 3
5127 #define LATC4                   LATCbits.LATC4                  // bit 4
5128 #define LATC5                   LATCbits.LATC5                  // bit 5
5129 #define LATC6                   LATCbits.LATC6                  // bit 6
5130 #define LATC7                   LATCbits.LATC7                  // bit 7
5131 
5132 #define PS0                     OPTION_REGbits.PS0              // bit 0
5133 #define PS1                     OPTION_REGbits.PS1              // bit 1
5134 #define PS2                     OPTION_REGbits.PS2              // bit 2
5135 #define PSA                     OPTION_REGbits.PSA              // bit 3
5136 #define TMR0SE                  OPTION_REGbits.TMR0SE           // bit 4, shadows bit in OPTION_REGbits
5137 #define T0SE                    OPTION_REGbits.T0SE             // bit 4, shadows bit in OPTION_REGbits
5138 #define TMR0CS                  OPTION_REGbits.TMR0CS           // bit 5, shadows bit in OPTION_REGbits
5139 #define T0CS                    OPTION_REGbits.T0CS             // bit 5, shadows bit in OPTION_REGbits
5140 #define INTEDG                  OPTION_REGbits.INTEDG           // bit 6
5141 #define NOT_WPUEN               OPTION_REGbits.NOT_WPUEN        // bit 7
5142 
5143 #define SCS0                    OSCCONbits.SCS0                 // bit 0
5144 #define SCS1                    OSCCONbits.SCS1                 // bit 1
5145 #define IRCF0                   OSCCONbits.IRCF0                // bit 3
5146 #define IRCF1                   OSCCONbits.IRCF1                // bit 4
5147 #define IRCF2                   OSCCONbits.IRCF2                // bit 5
5148 #define IRCF3                   OSCCONbits.IRCF3                // bit 6
5149 #define SPLLEN                  OSCCONbits.SPLLEN               // bit 7
5150 
5151 #define HFIOFS                  OSCSTATbits.HFIOFS              // bit 0
5152 #define LFIOFR                  OSCSTATbits.LFIOFR              // bit 1
5153 #define HFIOFR                  OSCSTATbits.HFIOFR              // bit 4
5154 #define PLLSR                   OSCSTATbits.PLLSR               // bit 6
5155 
5156 #define NOT_BOR                 PCONbits.NOT_BOR                // bit 0
5157 #define NOT_POR                 PCONbits.NOT_POR                // bit 1
5158 #define NOT_RI                  PCONbits.NOT_RI                 // bit 2
5159 #define NOT_RMCLR               PCONbits.NOT_RMCLR              // bit 3
5160 #define NOT_RWDT                PCONbits.NOT_RWDT               // bit 4
5161 #define STKUNF                  PCONbits.STKUNF                 // bit 6
5162 #define STKOVF                  PCONbits.STKOVF                 // bit 7
5163 
5164 #define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
5165 #define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
5166 #define SSP1IE                  PIE1bits.SSP1IE                 // bit 3
5167 #define TXIE                    PIE1bits.TXIE                   // bit 4
5168 #define RCIE                    PIE1bits.RCIE                   // bit 5
5169 #define ADIE                    PIE1bits.ADIE                   // bit 6, shadows bit in PIE1bits
5170 #define AD1IE                   PIE1bits.AD1IE                  // bit 6, shadows bit in PIE1bits
5171 #define TMR1GIE                 PIE1bits.TMR1GIE                // bit 7
5172 
5173 #define BCL1IE                  PIE2bits.BCL1IE                 // bit 3
5174 #define AD2IE                   PIE2bits.AD2IE                  // bit 6
5175 
5176 #define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
5177 #define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
5178 #define SSP1IF                  PIR1bits.SSP1IF                 // bit 3
5179 #define TXIF                    PIR1bits.TXIF                   // bit 4
5180 #define RCIF                    PIR1bits.RCIF                   // bit 5
5181 #define ADIF                    PIR1bits.ADIF                   // bit 6, shadows bit in PIR1bits
5182 #define AD1IF                   PIR1bits.AD1IF                  // bit 6, shadows bit in PIR1bits
5183 #define TMR1GIF                 PIR1bits.TMR1GIF                // bit 7
5184 
5185 #define BCL1IF                  PIR2bits.BCL1IF                 // bit 3
5186 #define AD2IF                   PIR2bits.AD2IF                  // bit 6
5187 
5188 #define RD                      PMCON1bits.RD                   // bit 0
5189 #define WR                      PMCON1bits.WR                   // bit 1
5190 #define WREN                    PMCON1bits.WREN                 // bit 2
5191 #define WRERR                   PMCON1bits.WRERR                // bit 3
5192 #define FREE                    PMCON1bits.FREE                 // bit 4
5193 #define LWLO                    PMCON1bits.LWLO                 // bit 5
5194 #define CFGS                    PMCON1bits.CFGS                 // bit 6
5195 
5196 #define RA0                     PORTAbits.RA0                   // bit 0
5197 #define RA1                     PORTAbits.RA1                   // bit 1
5198 #define RA2                     PORTAbits.RA2                   // bit 2
5199 #define RA3                     PORTAbits.RA3                   // bit 3
5200 #define RA4                     PORTAbits.RA4                   // bit 4
5201 #define RA5                     PORTAbits.RA5                   // bit 5
5202 
5203 #define RB4                     PORTBbits.RB4                   // bit 4
5204 #define RB5                     PORTBbits.RB5                   // bit 5
5205 #define RB6                     PORTBbits.RB6                   // bit 6
5206 #define RB7                     PORTBbits.RB7                   // bit 7
5207 
5208 #define RC0                     PORTCbits.RC0                   // bit 0
5209 #define RC1                     PORTCbits.RC1                   // bit 1
5210 #define RC2                     PORTCbits.RC2                   // bit 2
5211 #define RC3                     PORTCbits.RC3                   // bit 3
5212 #define RC4                     PORTCbits.RC4                   // bit 4
5213 #define RC5                     PORTCbits.RC5                   // bit 5
5214 #define RC6                     PORTCbits.RC6                   // bit 6
5215 #define RC7                     PORTCbits.RC7                   // bit 7
5216 
5217 #define PWM1POL                 PWM1CONbits.PWM1POL             // bit 4
5218 #define PWM1OUT                 PWM1CONbits.PWM1OUT             // bit 5
5219 #define PWM1OE                  PWM1CONbits.PWM1OE              // bit 6
5220 #define PWM1EN                  PWM1CONbits.PWM1EN              // bit 7
5221 
5222 #define PWM1DCH0                PWM1DCHbits.PWM1DCH0            // bit 0
5223 #define PWM1DCH1                PWM1DCHbits.PWM1DCH1            // bit 1
5224 #define PWM1DCH2                PWM1DCHbits.PWM1DCH2            // bit 2
5225 #define PWM1DCH3                PWM1DCHbits.PWM1DCH3            // bit 3
5226 #define PWM1DCH4                PWM1DCHbits.PWM1DCH4            // bit 4
5227 #define PWM1DCH5                PWM1DCHbits.PWM1DCH5            // bit 5
5228 #define PWM1DCH6                PWM1DCHbits.PWM1DCH6            // bit 6
5229 #define PWM1DCH7                PWM1DCHbits.PWM1DCH7            // bit 7
5230 
5231 #define PWM1DCL0                PWM1DCLbits.PWM1DCL0            // bit 6
5232 #define PWM1DCL1                PWM1DCLbits.PWM1DCL1            // bit 7
5233 
5234 #define PWM2POL                 PWM2CONbits.PWM2POL             // bit 4
5235 #define PWM2OUT                 PWM2CONbits.PWM2OUT             // bit 5
5236 #define PWM2OE                  PWM2CONbits.PWM2OE              // bit 6
5237 #define PWM2EN                  PWM2CONbits.PWM2EN              // bit 7
5238 
5239 #define PWM2DCH0                PWM2DCHbits.PWM2DCH0            // bit 0
5240 #define PWM2DCH1                PWM2DCHbits.PWM2DCH1            // bit 1
5241 #define PWM2DCH2                PWM2DCHbits.PWM2DCH2            // bit 2
5242 #define PWM2DCH3                PWM2DCHbits.PWM2DCH3            // bit 3
5243 #define PWM2DCH4                PWM2DCHbits.PWM2DCH4            // bit 4
5244 #define PWM2DCH5                PWM2DCHbits.PWM2DCH5            // bit 5
5245 #define PWM2DCH6                PWM2DCHbits.PWM2DCH6            // bit 6
5246 #define PWM2DCH7                PWM2DCHbits.PWM2DCH7            // bit 7
5247 
5248 #define PWM2DCL0                PWM2DCLbits.PWM2DCL0            // bit 6
5249 #define PWM2DCL1                PWM2DCLbits.PWM2DCL1            // bit 7
5250 
5251 #define RX9D                    RCSTAbits.RX9D                  // bit 0
5252 #define OERR                    RCSTAbits.OERR                  // bit 1
5253 #define FERR                    RCSTAbits.FERR                  // bit 2
5254 #define ADDEN                   RCSTAbits.ADDEN                 // bit 3
5255 #define CREN                    RCSTAbits.CREN                  // bit 4
5256 #define SREN                    RCSTAbits.SREN                  // bit 5
5257 #define RX9                     RCSTAbits.RX9                   // bit 6
5258 #define SPEN                    RCSTAbits.SPEN                  // bit 7
5259 
5260 #define SSPM0                   SSP1CON1bits.SSPM0              // bit 0
5261 #define SSPM1                   SSP1CON1bits.SSPM1              // bit 1
5262 #define SSPM2                   SSP1CON1bits.SSPM2              // bit 2
5263 #define SSPM3                   SSP1CON1bits.SSPM3              // bit 3
5264 #define CKP                     SSP1CON1bits.CKP                // bit 4
5265 #define SSPEN                   SSP1CON1bits.SSPEN              // bit 5
5266 #define SSPOV                   SSP1CON1bits.SSPOV              // bit 6
5267 #define WCOL                    SSP1CON1bits.WCOL               // bit 7
5268 
5269 #define SEN                     SSP1CON2bits.SEN                // bit 0
5270 #define RSEN                    SSP1CON2bits.RSEN               // bit 1
5271 #define PEN                     SSP1CON2bits.PEN                // bit 2
5272 #define RCEN                    SSP1CON2bits.RCEN               // bit 3
5273 #define ACKEN                   SSP1CON2bits.ACKEN              // bit 4
5274 #define ACKDT                   SSP1CON2bits.ACKDT              // bit 5
5275 #define ACKSTAT                 SSP1CON2bits.ACKSTAT            // bit 6
5276 #define GCEN                    SSP1CON2bits.GCEN               // bit 7
5277 
5278 #define DHEN                    SSP1CON3bits.DHEN               // bit 0
5279 #define AHEN                    SSP1CON3bits.AHEN               // bit 1
5280 #define SBCDE                   SSP1CON3bits.SBCDE              // bit 2
5281 #define SDAHT                   SSP1CON3bits.SDAHT              // bit 3
5282 #define BOEN                    SSP1CON3bits.BOEN               // bit 4
5283 #define SCIE                    SSP1CON3bits.SCIE               // bit 5
5284 #define PCIE                    SSP1CON3bits.PCIE               // bit 6
5285 #define ACKTIM                  SSP1CON3bits.ACKTIM             // bit 7
5286 
5287 #define BF                      SSP1STATbits.BF                 // bit 0
5288 #define UA                      SSP1STATbits.UA                 // bit 1
5289 #define R_NOT_W                 SSP1STATbits.R_NOT_W            // bit 2
5290 #define S                       SSP1STATbits.S                  // bit 3
5291 #define P                       SSP1STATbits.P                  // bit 4
5292 #define D_NOT_A                 SSP1STATbits.D_NOT_A            // bit 5
5293 #define CKE                     SSP1STATbits.CKE                // bit 6
5294 #define SMP                     SSP1STATbits.SMP                // bit 7
5295 
5296 #define C                       STATUSbits.C                    // bit 0
5297 #define DC                      STATUSbits.DC                   // bit 1
5298 #define Z                       STATUSbits.Z                    // bit 2
5299 #define NOT_PD                  STATUSbits.NOT_PD               // bit 3
5300 #define NOT_TO                  STATUSbits.NOT_TO               // bit 4
5301 
5302 #define C_SHAD                  STATUS_SHADbits.C_SHAD          // bit 0
5303 #define DC_SHAD                 STATUS_SHADbits.DC_SHAD         // bit 1
5304 #define Z_SHAD                  STATUS_SHADbits.Z_SHAD          // bit 2
5305 
5306 #define TMR1ON                  T1CONbits.TMR1ON                // bit 0
5307 #define NOT_T1SYNC              T1CONbits.NOT_T1SYNC            // bit 2
5308 #define T1CKPS0                 T1CONbits.T1CKPS0               // bit 4
5309 #define T1CKPS1                 T1CONbits.T1CKPS1               // bit 5
5310 #define TMR1CS0                 T1CONbits.TMR1CS0               // bit 6
5311 #define TMR1CS1                 T1CONbits.TMR1CS1               // bit 7
5312 
5313 #define T2CKPS0                 T2CONbits.T2CKPS0               // bit 0
5314 #define T2CKPS1                 T2CONbits.T2CKPS1               // bit 1
5315 #define TMR2ON                  T2CONbits.TMR2ON                // bit 2
5316 #define T2OUTPS0                T2CONbits.T2OUTPS0              // bit 3
5317 #define T2OUTPS1                T2CONbits.T2OUTPS1              // bit 4
5318 #define T2OUTPS2                T2CONbits.T2OUTPS2              // bit 5
5319 #define T2OUTPS3                T2CONbits.T2OUTPS3              // bit 6
5320 
5321 #define TRISA0                  TRISAbits.TRISA0                // bit 0
5322 #define TRISA1                  TRISAbits.TRISA1                // bit 1
5323 #define TRISA2                  TRISAbits.TRISA2                // bit 2
5324 #define TRISA3                  TRISAbits.TRISA3                // bit 3
5325 #define TRISA4                  TRISAbits.TRISA4                // bit 4
5326 #define TRISA5                  TRISAbits.TRISA5                // bit 5
5327 
5328 #define TRISB4                  TRISBbits.TRISB4                // bit 4
5329 #define TRISB5                  TRISBbits.TRISB5                // bit 5
5330 #define TRISB6                  TRISBbits.TRISB6                // bit 6
5331 #define TRISB7                  TRISBbits.TRISB7                // bit 7
5332 
5333 #define TRISC0                  TRISCbits.TRISC0                // bit 0
5334 #define TRISC1                  TRISCbits.TRISC1                // bit 1
5335 #define TRISC2                  TRISCbits.TRISC2                // bit 2
5336 #define TRISC3                  TRISCbits.TRISC3                // bit 3
5337 #define TRISC4                  TRISCbits.TRISC4                // bit 4
5338 #define TRISC5                  TRISCbits.TRISC5                // bit 5
5339 #define TRISC6                  TRISCbits.TRISC6                // bit 6
5340 #define TRISC7                  TRISCbits.TRISC7                // bit 7
5341 
5342 #define TX9D                    TXSTAbits.TX9D                  // bit 0
5343 #define TRMT                    TXSTAbits.TRMT                  // bit 1
5344 #define BRGH                    TXSTAbits.BRGH                  // bit 2
5345 #define SENDB                   TXSTAbits.SENDB                 // bit 3
5346 #define SYNC                    TXSTAbits.SYNC                  // bit 4
5347 #define TXEN                    TXSTAbits.TXEN                  // bit 5
5348 #define TX9                     TXSTAbits.TX9                   // bit 6
5349 #define CSRC                    TXSTAbits.CSRC                  // bit 7
5350 
5351 #define SWDTEN                  WDTCONbits.SWDTEN               // bit 0
5352 #define WDTPS0                  WDTCONbits.WDTPS0               // bit 1
5353 #define WDTPS1                  WDTCONbits.WDTPS1               // bit 2
5354 #define WDTPS2                  WDTCONbits.WDTPS2               // bit 3
5355 #define WDTPS3                  WDTCONbits.WDTPS3               // bit 4
5356 #define WDTPS4                  WDTCONbits.WDTPS4               // bit 5
5357 
5358 #define WPUA0                   WPUAbits.WPUA0                  // bit 0
5359 #define WPUA1                   WPUAbits.WPUA1                  // bit 1
5360 #define WPUA2                   WPUAbits.WPUA2                  // bit 2
5361 #define WPUA3                   WPUAbits.WPUA3                  // bit 3
5362 #define WPUA4                   WPUAbits.WPUA4                  // bit 4
5363 #define WPUA5                   WPUAbits.WPUA5                  // bit 5
5364 
5365 #define WPUB4                   WPUBbits.WPUB4                  // bit 4
5366 #define WPUB5                   WPUBbits.WPUB5                  // bit 5
5367 #define WPUB6                   WPUBbits.WPUB6                  // bit 6
5368 #define WPUB7                   WPUBbits.WPUB7                  // bit 7
5369 
5370 #endif // #ifndef NO_BIT_DEFINES
5371 
5372 #endif // #ifndef __PIC16LF1559_H__
5373