1 /*
2  * This declarations of the PIC16F18323 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:23 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 __PIC16F18323_H__
26 #define __PIC16F18323_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 PORTC_ADDR              0x000E
52 #define PIR0_ADDR               0x0010
53 #define PIR1_ADDR               0x0011
54 #define PIR2_ADDR               0x0012
55 #define PIR3_ADDR               0x0013
56 #define PIR4_ADDR               0x0014
57 #define TMR0L_ADDR              0x0015
58 #define TMR0H_ADDR              0x0016
59 #define T0CON0_ADDR             0x0017
60 #define T0CON1_ADDR             0x0018
61 #define TMR1_ADDR               0x0019
62 #define TMR1L_ADDR              0x0019
63 #define TMR1H_ADDR              0x001A
64 #define T1CON_ADDR              0x001B
65 #define T1GCON_ADDR             0x001C
66 #define TMR2_ADDR               0x001D
67 #define PR2_ADDR                0x001E
68 #define T2CON_ADDR              0x001F
69 #define TRISA_ADDR              0x008C
70 #define TRISC_ADDR              0x008E
71 #define PIE0_ADDR               0x0090
72 #define PIE1_ADDR               0x0091
73 #define PIE2_ADDR               0x0092
74 #define PIE3_ADDR               0x0093
75 #define PIE4_ADDR               0x0094
76 #define WDTCON_ADDR             0x0097
77 #define ADRES_ADDR              0x009B
78 #define ADRESL_ADDR             0x009B
79 #define ADRESH_ADDR             0x009C
80 #define ADCON0_ADDR             0x009D
81 #define ADCON1_ADDR             0x009E
82 #define ADACT_ADDR              0x009F
83 #define LATA_ADDR               0x010C
84 #define LATC_ADDR               0x010E
85 #define CM1CON0_ADDR            0x0111
86 #define CM1CON1_ADDR            0x0112
87 #define CM2CON0_ADDR            0x0113
88 #define CM2CON1_ADDR            0x0114
89 #define CMOUT_ADDR              0x0115
90 #define BORCON_ADDR             0x0116
91 #define FVRCON_ADDR             0x0117
92 #define DACCON0_ADDR            0x0118
93 #define DACCON1_ADDR            0x0119
94 #define ANSELA_ADDR             0x018C
95 #define ANSELC_ADDR             0x018E
96 #define VREGCON_ADDR            0x0197
97 #define RC1REG_ADDR             0x0199
98 #define RCREG_ADDR              0x0199
99 #define RCREG1_ADDR             0x0199
100 #define TX1REG_ADDR             0x019A
101 #define TXREG_ADDR              0x019A
102 #define TXREG1_ADDR             0x019A
103 #define SP1BRG_ADDR             0x019B
104 #define SP1BRGL_ADDR            0x019B
105 #define SPBRG_ADDR              0x019B
106 #define SPBRG1_ADDR             0x019B
107 #define SPBRGL_ADDR             0x019B
108 #define SP1BRGH_ADDR            0x019C
109 #define SPBRGH_ADDR             0x019C
110 #define SPBRGH1_ADDR            0x019C
111 #define RC1STA_ADDR             0x019D
112 #define RCSTA_ADDR              0x019D
113 #define RCSTA1_ADDR             0x019D
114 #define TX1STA_ADDR             0x019E
115 #define TXSTA_ADDR              0x019E
116 #define TXSTA1_ADDR             0x019E
117 #define BAUD1CON_ADDR           0x019F
118 #define BAUDCON_ADDR            0x019F
119 #define BAUDCON1_ADDR           0x019F
120 #define BAUDCTL_ADDR            0x019F
121 #define BAUDCTL1_ADDR           0x019F
122 #define WPUA_ADDR               0x020C
123 #define WPUC_ADDR               0x020E
124 #define SSP1BUF_ADDR            0x0211
125 #define SSPBUF_ADDR             0x0211
126 #define SSP1ADD_ADDR            0x0212
127 #define SSPADD_ADDR             0x0212
128 #define SSP1MSK_ADDR            0x0213
129 #define SSPMSK_ADDR             0x0213
130 #define SSP1STAT_ADDR           0x0214
131 #define SSPSTAT_ADDR            0x0214
132 #define SSP1CON_ADDR            0x0215
133 #define SSP1CON1_ADDR           0x0215
134 #define SSPCON_ADDR             0x0215
135 #define SSPCON1_ADDR            0x0215
136 #define SSP1CON2_ADDR           0x0216
137 #define SSPCON2_ADDR            0x0216
138 #define SSP1CON3_ADDR           0x0217
139 #define SSPCON3_ADDR            0x0217
140 #define ODCONA_ADDR             0x028C
141 #define ODCONC_ADDR             0x028E
142 #define CCPR1_ADDR              0x0291
143 #define CCPR1L_ADDR             0x0291
144 #define CCPR1H_ADDR             0x0292
145 #define CCP1CON_ADDR            0x0293
146 #define CCP1CAP_ADDR            0x0294
147 #define CCPR2_ADDR              0x0295
148 #define CCPR2L_ADDR             0x0295
149 #define CCPR2H_ADDR             0x0296
150 #define CCP2CON_ADDR            0x0297
151 #define CCP2CAP_ADDR            0x0298
152 #define CCPTMRS_ADDR            0x029F
153 #define SLRCONA_ADDR            0x030C
154 #define SLRCONC_ADDR            0x030E
155 #define INLVLA_ADDR             0x038C
156 #define INLVLC_ADDR             0x038E
157 #define IOCAP_ADDR              0x0391
158 #define IOCAN_ADDR              0x0392
159 #define IOCAF_ADDR              0x0393
160 #define IOCCP_ADDR              0x0397
161 #define IOCCN_ADDR              0x0398
162 #define IOCCF_ADDR              0x0399
163 #define CLKRCON_ADDR            0x039A
164 #define MDCON_ADDR              0x039C
165 #define MDSRC_ADDR              0x039D
166 #define MDCARH_ADDR             0x039E
167 #define MDCARL_ADDR             0x039F
168 #define CCDNA_ADDR              0x040C
169 #define CCDNC_ADDR              0x040E
170 #define CCDCON_ADDR             0x041F
171 #define CCDPA_ADDR              0x048C
172 #define CCDPC_ADDR              0x048E
173 #define NCO1ACC_ADDR            0x0498
174 #define NCO1ACCL_ADDR           0x0498
175 #define NCO1ACCH_ADDR           0x0499
176 #define NCO1ACCU_ADDR           0x049A
177 #define NCO1INC_ADDR            0x049B
178 #define NCO1INCL_ADDR           0x049B
179 #define NCO1INCH_ADDR           0x049C
180 #define NCO1INCU_ADDR           0x049D
181 #define NCO1CON_ADDR            0x049E
182 #define NCO1CLK_ADDR            0x049F
183 #define PWM5DCL_ADDR            0x0617
184 #define PWM5DCH_ADDR            0x0618
185 #define PWM5CON_ADDR            0x0619
186 #define PWM5CON0_ADDR           0x0619
187 #define PWM6DCL_ADDR            0x061A
188 #define PWM6DCH_ADDR            0x061B
189 #define PWM6CON_ADDR            0x061C
190 #define PWM6CON0_ADDR           0x061C
191 #define CWG1CLKCON_ADDR         0x0691
192 #define CWG1DAT_ADDR            0x0692
193 #define CWG1DBR_ADDR            0x0693
194 #define CWG1DBF_ADDR            0x0694
195 #define CWG1CON0_ADDR           0x0695
196 #define CWG1CON1_ADDR           0x0696
197 #define CWG1AS0_ADDR            0x0697
198 #define CWG1AS1_ADDR            0x0698
199 #define CWG1STR_ADDR            0x0699
200 #define NVMADR_ADDR             0x0891
201 #define NVMADRL_ADDR            0x0891
202 #define NVMADRH_ADDR            0x0892
203 #define NVMDAT_ADDR             0x0893
204 #define NVMDATL_ADDR            0x0893
205 #define NVMDATH_ADDR            0x0894
206 #define NVMCON1_ADDR            0x0895
207 #define NVMCON2_ADDR            0x0896
208 #define PCON0_ADDR              0x089B
209 #define PMD0_ADDR               0x0911
210 #define PMD1_ADDR               0x0912
211 #define PMD2_ADDR               0x0913
212 #define PMD3_ADDR               0x0914
213 #define PMD4_ADDR               0x0915
214 #define PMD5_ADDR               0x0916
215 #define CPUDOZE_ADDR            0x0918
216 #define OSCCON1_ADDR            0x0919
217 #define OSCCON2_ADDR            0x091A
218 #define OSCCON3_ADDR            0x091B
219 #define OSCSTAT1_ADDR           0x091C
220 #define OSCEN_ADDR              0x091D
221 #define OSCTUNE_ADDR            0x091E
222 #define OSCFRQ_ADDR             0x091F
223 #define PPSLOCK_ADDR            0x0E0F
224 #define INTPPS_ADDR             0x0E10
225 #define T0CKIPPS_ADDR           0x0E11
226 #define T1CKIPPS_ADDR           0x0E12
227 #define T1GPPS_ADDR             0x0E13
228 #define CCP1PPS_ADDR            0x0E14
229 #define CCP2PPS_ADDR            0x0E15
230 #define CWG1PPS_ADDR            0x0E18
231 #define MDCIN1PPS_ADDR          0x0E1A
232 #define MDCIN2PPS_ADDR          0x0E1B
233 #define MDMINPPS_ADDR           0x0E1C
234 #define SSP1CLKPPS_ADDR         0x0E20
235 #define SSP1DATPPS_ADDR         0x0E21
236 #define SSP1SSPPS_ADDR          0x0E22
237 #define RXPPS_ADDR              0x0E24
238 #define TXPPS_ADDR              0x0E25
239 #define CLCIN0PPS_ADDR          0x0E28
240 #define CLCIN1PPS_ADDR          0x0E29
241 #define CLCIN2PPS_ADDR          0x0E2A
242 #define CLCIN3PPS_ADDR          0x0E2B
243 #define RA0PPS_ADDR             0x0E90
244 #define RA1PPS_ADDR             0x0E91
245 #define RA2PPS_ADDR             0x0E92
246 #define RA4PPS_ADDR             0x0E94
247 #define RA5PPS_ADDR             0x0E95
248 #define RC0PPS_ADDR             0x0EA0
249 #define RC1PPS_ADDR             0x0EA1
250 #define RC2PPS_ADDR             0x0EA2
251 #define RC3PPS_ADDR             0x0EA3
252 #define RC4PPS_ADDR             0x0EA4
253 #define RC5PPS_ADDR             0x0EA5
254 #define CLCDATA_ADDR            0x0F0F
255 #define CLC1CON_ADDR            0x0F10
256 #define CLC1POL_ADDR            0x0F11
257 #define CLC1SEL0_ADDR           0x0F12
258 #define CLC1SEL1_ADDR           0x0F13
259 #define CLC1SEL2_ADDR           0x0F14
260 #define CLC1SEL3_ADDR           0x0F15
261 #define CLC1GLS0_ADDR           0x0F16
262 #define CLC1GLS1_ADDR           0x0F17
263 #define CLC1GLS2_ADDR           0x0F18
264 #define CLC1GLS3_ADDR           0x0F19
265 #define CLC2CON_ADDR            0x0F1A
266 #define CLC2POL_ADDR            0x0F1B
267 #define CLC2SEL0_ADDR           0x0F1C
268 #define CLC2SEL1_ADDR           0x0F1D
269 #define CLC2SEL2_ADDR           0x0F1E
270 #define CLC2SEL3_ADDR           0x0F1F
271 #define CLC2GLS0_ADDR           0x0F20
272 #define CLC2GLS1_ADDR           0x0F21
273 #define CLC2GLS2_ADDR           0x0F22
274 #define CLC2GLS3_ADDR           0x0F23
275 #define STATUS_SHAD_ADDR        0x0FE4
276 #define WREG_SHAD_ADDR          0x0FE5
277 #define BSR_SHAD_ADDR           0x0FE6
278 #define PCLATH_SHAD_ADDR        0x0FE7
279 #define FSR0L_SHAD_ADDR         0x0FE8
280 #define FSR0H_SHAD_ADDR         0x0FE9
281 #define FSR1L_SHAD_ADDR         0x0FEA
282 #define FSR1H_SHAD_ADDR         0x0FEB
283 #define STKPTR_ADDR             0x0FED
284 #define TOSL_ADDR               0x0FEE
285 #define TOSH_ADDR               0x0FEF
286 
287 #endif // #ifndef NO_ADDR_DEFINES
288 
289 //==============================================================================
290 //
291 //	Register Definitions
292 //
293 //==============================================================================
294 
295 extern __at(0x0000) __sfr INDF0;
296 extern __at(0x0001) __sfr INDF1;
297 extern __at(0x0002) __sfr PCL;
298 
299 //==============================================================================
300 //        STATUS Bits
301 
302 extern __at(0x0003) __sfr STATUS;
303 
304 typedef struct
305   {
306   unsigned C                    : 1;
307   unsigned DC                   : 1;
308   unsigned Z                    : 1;
309   unsigned NOT_PD               : 1;
310   unsigned NOT_TO               : 1;
311   unsigned                      : 1;
312   unsigned                      : 1;
313   unsigned                      : 1;
314   } __STATUSbits_t;
315 
316 extern __at(0x0003) volatile __STATUSbits_t STATUSbits;
317 
318 #define _C                      0x01
319 #define _DC                     0x02
320 #define _Z                      0x04
321 #define _NOT_PD                 0x08
322 #define _NOT_TO                 0x10
323 
324 //==============================================================================
325 
326 extern __at(0x0004) __sfr FSR0;
327 extern __at(0x0004) __sfr FSR0L;
328 extern __at(0x0005) __sfr FSR0H;
329 extern __at(0x0006) __sfr FSR1;
330 extern __at(0x0006) __sfr FSR1L;
331 extern __at(0x0007) __sfr FSR1H;
332 
333 //==============================================================================
334 //        BSR Bits
335 
336 extern __at(0x0008) __sfr BSR;
337 
338 typedef union
339   {
340   struct
341     {
342     unsigned BSR0               : 1;
343     unsigned BSR1               : 1;
344     unsigned BSR2               : 1;
345     unsigned BSR3               : 1;
346     unsigned BSR4               : 1;
347     unsigned                    : 1;
348     unsigned                    : 1;
349     unsigned                    : 1;
350     };
351 
352   struct
353     {
354     unsigned BSR                : 5;
355     unsigned                    : 3;
356     };
357   } __BSRbits_t;
358 
359 extern __at(0x0008) volatile __BSRbits_t BSRbits;
360 
361 #define _BSR0                   0x01
362 #define _BSR1                   0x02
363 #define _BSR2                   0x04
364 #define _BSR3                   0x08
365 #define _BSR4                   0x10
366 
367 //==============================================================================
368 
369 extern __at(0x0009) __sfr WREG;
370 extern __at(0x000A) __sfr PCLATH;
371 
372 //==============================================================================
373 //        INTCON Bits
374 
375 extern __at(0x000B) __sfr INTCON;
376 
377 typedef struct
378   {
379   unsigned INTEDG               : 1;
380   unsigned                      : 1;
381   unsigned                      : 1;
382   unsigned                      : 1;
383   unsigned                      : 1;
384   unsigned                      : 1;
385   unsigned PEIE                 : 1;
386   unsigned GIE                  : 1;
387   } __INTCONbits_t;
388 
389 extern __at(0x000B) volatile __INTCONbits_t INTCONbits;
390 
391 #define _INTEDG                 0x01
392 #define _PEIE                   0x40
393 #define _GIE                    0x80
394 
395 //==============================================================================
396 
397 
398 //==============================================================================
399 //        PORTA Bits
400 
401 extern __at(0x000C) __sfr PORTA;
402 
403 typedef union
404   {
405   struct
406     {
407     unsigned RA0                : 1;
408     unsigned RA1                : 1;
409     unsigned RA2                : 1;
410     unsigned RA3                : 1;
411     unsigned RA4                : 1;
412     unsigned RA5                : 1;
413     unsigned                    : 1;
414     unsigned                    : 1;
415     };
416 
417   struct
418     {
419     unsigned RA                 : 6;
420     unsigned                    : 2;
421     };
422   } __PORTAbits_t;
423 
424 extern __at(0x000C) volatile __PORTAbits_t PORTAbits;
425 
426 #define _RA0                    0x01
427 #define _RA1                    0x02
428 #define _RA2                    0x04
429 #define _RA3                    0x08
430 #define _RA4                    0x10
431 #define _RA5                    0x20
432 
433 //==============================================================================
434 
435 
436 //==============================================================================
437 //        PORTC Bits
438 
439 extern __at(0x000E) __sfr PORTC;
440 
441 typedef union
442   {
443   struct
444     {
445     unsigned RC0                : 1;
446     unsigned RC1                : 1;
447     unsigned RC2                : 1;
448     unsigned RC3                : 1;
449     unsigned RC4                : 1;
450     unsigned RC5                : 1;
451     unsigned                    : 1;
452     unsigned                    : 1;
453     };
454 
455   struct
456     {
457     unsigned RC                 : 6;
458     unsigned                    : 2;
459     };
460   } __PORTCbits_t;
461 
462 extern __at(0x000E) volatile __PORTCbits_t PORTCbits;
463 
464 #define _RC0                    0x01
465 #define _RC1                    0x02
466 #define _RC2                    0x04
467 #define _RC3                    0x08
468 #define _RC4                    0x10
469 #define _RC5                    0x20
470 
471 //==============================================================================
472 
473 
474 //==============================================================================
475 //        PIR0 Bits
476 
477 extern __at(0x0010) __sfr PIR0;
478 
479 typedef struct
480   {
481   unsigned INTF                 : 1;
482   unsigned                      : 1;
483   unsigned                      : 1;
484   unsigned                      : 1;
485   unsigned IOCIF                : 1;
486   unsigned TMR0IF               : 1;
487   unsigned                      : 1;
488   unsigned                      : 1;
489   } __PIR0bits_t;
490 
491 extern __at(0x0010) volatile __PIR0bits_t PIR0bits;
492 
493 #define _INTF                   0x01
494 #define _IOCIF                  0x10
495 #define _TMR0IF                 0x20
496 
497 //==============================================================================
498 
499 
500 //==============================================================================
501 //        PIR1 Bits
502 
503 extern __at(0x0011) __sfr PIR1;
504 
505 typedef struct
506   {
507   unsigned TMR1IF               : 1;
508   unsigned TMR2IF               : 1;
509   unsigned BCL1IF               : 1;
510   unsigned SSP1IF               : 1;
511   unsigned TXIF                 : 1;
512   unsigned RCIF                 : 1;
513   unsigned ADIF                 : 1;
514   unsigned TMR1GIF              : 1;
515   } __PIR1bits_t;
516 
517 extern __at(0x0011) volatile __PIR1bits_t PIR1bits;
518 
519 #define _TMR1IF                 0x01
520 #define _TMR2IF                 0x02
521 #define _BCL1IF                 0x04
522 #define _SSP1IF                 0x08
523 #define _TXIF                   0x10
524 #define _RCIF                   0x20
525 #define _ADIF                   0x40
526 #define _TMR1GIF                0x80
527 
528 //==============================================================================
529 
530 
531 //==============================================================================
532 //        PIR2 Bits
533 
534 extern __at(0x0012) __sfr PIR2;
535 
536 typedef struct
537   {
538   unsigned NCO1IF               : 1;
539   unsigned                      : 1;
540   unsigned                      : 1;
541   unsigned                      : 1;
542   unsigned NVMIF                : 1;
543   unsigned C1IF                 : 1;
544   unsigned C2IF                 : 1;
545   unsigned                      : 1;
546   } __PIR2bits_t;
547 
548 extern __at(0x0012) volatile __PIR2bits_t PIR2bits;
549 
550 #define _NCO1IF                 0x01
551 #define _NVMIF                  0x10
552 #define _C1IF                   0x20
553 #define _C2IF                   0x40
554 
555 //==============================================================================
556 
557 
558 //==============================================================================
559 //        PIR3 Bits
560 
561 extern __at(0x0013) __sfr PIR3;
562 
563 typedef struct
564   {
565   unsigned CLC1IF               : 1;
566   unsigned CLC2IF               : 1;
567   unsigned                      : 1;
568   unsigned                      : 1;
569   unsigned                      : 1;
570   unsigned                      : 1;
571   unsigned CSWIF                : 1;
572   unsigned OSFIF                : 1;
573   } __PIR3bits_t;
574 
575 extern __at(0x0013) volatile __PIR3bits_t PIR3bits;
576 
577 #define _CLC1IF                 0x01
578 #define _CLC2IF                 0x02
579 #define _CSWIF                  0x40
580 #define _OSFIF                  0x80
581 
582 //==============================================================================
583 
584 
585 //==============================================================================
586 //        PIR4 Bits
587 
588 extern __at(0x0014) __sfr PIR4;
589 
590 typedef struct
591   {
592   unsigned CCP1IF               : 1;
593   unsigned CCP2IF               : 1;
594   unsigned                      : 1;
595   unsigned                      : 1;
596   unsigned                      : 1;
597   unsigned                      : 1;
598   unsigned CWG1IF               : 1;
599   unsigned                      : 1;
600   } __PIR4bits_t;
601 
602 extern __at(0x0014) volatile __PIR4bits_t PIR4bits;
603 
604 #define _CCP1IF                 0x01
605 #define _CCP2IF                 0x02
606 #define _CWG1IF                 0x40
607 
608 //==============================================================================
609 
610 
611 //==============================================================================
612 //        TMR0L Bits
613 
614 extern __at(0x0015) __sfr TMR0L;
615 
616 typedef struct
617   {
618   unsigned TMR00                : 1;
619   unsigned TMR01                : 1;
620   unsigned TMR02                : 1;
621   unsigned TMR03                : 1;
622   unsigned TMR04                : 1;
623   unsigned TMR05                : 1;
624   unsigned TMR06                : 1;
625   unsigned TMR07                : 1;
626   } __TMR0Lbits_t;
627 
628 extern __at(0x0015) volatile __TMR0Lbits_t TMR0Lbits;
629 
630 #define _TMR00                  0x01
631 #define _TMR01                  0x02
632 #define _TMR02                  0x04
633 #define _TMR03                  0x08
634 #define _TMR04                  0x10
635 #define _TMR05                  0x20
636 #define _TMR06                  0x40
637 #define _TMR07                  0x80
638 
639 //==============================================================================
640 
641 
642 //==============================================================================
643 //        TMR0H Bits
644 
645 extern __at(0x0016) __sfr TMR0H;
646 
647 typedef struct
648   {
649   unsigned TMR08                : 1;
650   unsigned TMR09                : 1;
651   unsigned TMR010               : 1;
652   unsigned TMR011               : 1;
653   unsigned TMR012               : 1;
654   unsigned TMR013               : 1;
655   unsigned TMR014               : 1;
656   unsigned TMR015               : 1;
657   } __TMR0Hbits_t;
658 
659 extern __at(0x0016) volatile __TMR0Hbits_t TMR0Hbits;
660 
661 #define _TMR08                  0x01
662 #define _TMR09                  0x02
663 #define _TMR010                 0x04
664 #define _TMR011                 0x08
665 #define _TMR012                 0x10
666 #define _TMR013                 0x20
667 #define _TMR014                 0x40
668 #define _TMR015                 0x80
669 
670 //==============================================================================
671 
672 
673 //==============================================================================
674 //        T0CON0 Bits
675 
676 extern __at(0x0017) __sfr T0CON0;
677 
678 typedef union
679   {
680   struct
681     {
682     unsigned T0OUTPS0           : 1;
683     unsigned T0OUTPS1           : 1;
684     unsigned T0OUTPS2           : 1;
685     unsigned T0OUTPS3           : 1;
686     unsigned T016BIT            : 1;
687     unsigned T0OUT              : 1;
688     unsigned                    : 1;
689     unsigned T0EN               : 1;
690     };
691 
692   struct
693     {
694     unsigned T0OUTPS            : 4;
695     unsigned                    : 4;
696     };
697   } __T0CON0bits_t;
698 
699 extern __at(0x0017) volatile __T0CON0bits_t T0CON0bits;
700 
701 #define _T0OUTPS0               0x01
702 #define _T0OUTPS1               0x02
703 #define _T0OUTPS2               0x04
704 #define _T0OUTPS3               0x08
705 #define _T016BIT                0x10
706 #define _T0OUT                  0x20
707 #define _T0EN                   0x80
708 
709 //==============================================================================
710 
711 
712 //==============================================================================
713 //        T0CON1 Bits
714 
715 extern __at(0x0018) __sfr T0CON1;
716 
717 typedef union
718   {
719   struct
720     {
721     unsigned T0CKPS0            : 1;
722     unsigned T0CKPS1            : 1;
723     unsigned T0CKPS2            : 1;
724     unsigned T0CKPS3            : 1;
725     unsigned T0ASYNC            : 1;
726     unsigned T0CS0              : 1;
727     unsigned T0CS1              : 1;
728     unsigned T0CS2              : 1;
729     };
730 
731   struct
732     {
733     unsigned T0CKPS             : 4;
734     unsigned                    : 4;
735     };
736 
737   struct
738     {
739     unsigned                    : 5;
740     unsigned T0CS               : 3;
741     };
742   } __T0CON1bits_t;
743 
744 extern __at(0x0018) volatile __T0CON1bits_t T0CON1bits;
745 
746 #define _T0CKPS0                0x01
747 #define _T0CKPS1                0x02
748 #define _T0CKPS2                0x04
749 #define _T0CKPS3                0x08
750 #define _T0ASYNC                0x10
751 #define _T0CS0                  0x20
752 #define _T0CS1                  0x40
753 #define _T0CS2                  0x80
754 
755 //==============================================================================
756 
757 extern __at(0x0019) __sfr TMR1;
758 extern __at(0x0019) __sfr TMR1L;
759 extern __at(0x001A) __sfr TMR1H;
760 
761 //==============================================================================
762 //        T1CON Bits
763 
764 extern __at(0x001B) __sfr T1CON;
765 
766 typedef union
767   {
768   struct
769     {
770     unsigned TMR1ON             : 1;
771     unsigned                    : 1;
772     unsigned T1SYNC             : 1;
773     unsigned T1SOSC             : 1;
774     unsigned T1CKPS0            : 1;
775     unsigned T1CKPS1            : 1;
776     unsigned TMR1CS0            : 1;
777     unsigned TMR1CS1            : 1;
778     };
779 
780   struct
781     {
782     unsigned                    : 4;
783     unsigned T1CKPS             : 2;
784     unsigned                    : 2;
785     };
786 
787   struct
788     {
789     unsigned                    : 6;
790     unsigned TMR1CS             : 2;
791     };
792   } __T1CONbits_t;
793 
794 extern __at(0x001B) volatile __T1CONbits_t T1CONbits;
795 
796 #define _TMR1ON                 0x01
797 #define _T1SYNC                 0x04
798 #define _T1SOSC                 0x08
799 #define _T1CKPS0                0x10
800 #define _T1CKPS1                0x20
801 #define _TMR1CS0                0x40
802 #define _TMR1CS1                0x80
803 
804 //==============================================================================
805 
806 
807 //==============================================================================
808 //        T1GCON Bits
809 
810 extern __at(0x001C) __sfr T1GCON;
811 
812 typedef union
813   {
814   struct
815     {
816     unsigned T1GSS0             : 1;
817     unsigned T1GSS1             : 1;
818     unsigned T1GVAL             : 1;
819     unsigned T1GGO_NOT_DONE     : 1;
820     unsigned T1GSPM             : 1;
821     unsigned T1GTM              : 1;
822     unsigned T1GPOL             : 1;
823     unsigned TMR1GE             : 1;
824     };
825 
826   struct
827     {
828     unsigned T1GSS              : 2;
829     unsigned                    : 6;
830     };
831   } __T1GCONbits_t;
832 
833 extern __at(0x001C) volatile __T1GCONbits_t T1GCONbits;
834 
835 #define _T1GSS0                 0x01
836 #define _T1GSS1                 0x02
837 #define _T1GVAL                 0x04
838 #define _T1GGO_NOT_DONE         0x08
839 #define _T1GSPM                 0x10
840 #define _T1GTM                  0x20
841 #define _T1GPOL                 0x40
842 #define _TMR1GE                 0x80
843 
844 //==============================================================================
845 
846 extern __at(0x001D) __sfr TMR2;
847 extern __at(0x001E) __sfr PR2;
848 
849 //==============================================================================
850 //        T2CON Bits
851 
852 extern __at(0x001F) __sfr T2CON;
853 
854 typedef union
855   {
856   struct
857     {
858     unsigned T2CKPS0            : 1;
859     unsigned T2CKPS1            : 1;
860     unsigned TMR2ON             : 1;
861     unsigned T2OUTPS0           : 1;
862     unsigned T2OUTPS1           : 1;
863     unsigned T2OUTPS2           : 1;
864     unsigned T2OUTPS3           : 1;
865     unsigned                    : 1;
866     };
867 
868   struct
869     {
870     unsigned T2CKPS             : 2;
871     unsigned                    : 6;
872     };
873 
874   struct
875     {
876     unsigned                    : 3;
877     unsigned T2OUTPS            : 4;
878     unsigned                    : 1;
879     };
880   } __T2CONbits_t;
881 
882 extern __at(0x001F) volatile __T2CONbits_t T2CONbits;
883 
884 #define _T2CKPS0                0x01
885 #define _T2CKPS1                0x02
886 #define _TMR2ON                 0x04
887 #define _T2OUTPS0               0x08
888 #define _T2OUTPS1               0x10
889 #define _T2OUTPS2               0x20
890 #define _T2OUTPS3               0x40
891 
892 //==============================================================================
893 
894 
895 //==============================================================================
896 //        TRISA Bits
897 
898 extern __at(0x008C) __sfr TRISA;
899 
900 typedef struct
901   {
902   unsigned TRISA0               : 1;
903   unsigned TRISA1               : 1;
904   unsigned TRISA2               : 1;
905   unsigned                      : 1;
906   unsigned TRISA4               : 1;
907   unsigned TRISA5               : 1;
908   unsigned                      : 1;
909   unsigned                      : 1;
910   } __TRISAbits_t;
911 
912 extern __at(0x008C) volatile __TRISAbits_t TRISAbits;
913 
914 #define _TRISA0                 0x01
915 #define _TRISA1                 0x02
916 #define _TRISA2                 0x04
917 #define _TRISA4                 0x10
918 #define _TRISA5                 0x20
919 
920 //==============================================================================
921 
922 
923 //==============================================================================
924 //        TRISC Bits
925 
926 extern __at(0x008E) __sfr TRISC;
927 
928 typedef union
929   {
930   struct
931     {
932     unsigned TRISC0             : 1;
933     unsigned TRISC1             : 1;
934     unsigned TRISC2             : 1;
935     unsigned TRISC3             : 1;
936     unsigned TRISC4             : 1;
937     unsigned TRISC5             : 1;
938     unsigned                    : 1;
939     unsigned                    : 1;
940     };
941 
942   struct
943     {
944     unsigned TRISC              : 6;
945     unsigned                    : 2;
946     };
947   } __TRISCbits_t;
948 
949 extern __at(0x008E) volatile __TRISCbits_t TRISCbits;
950 
951 #define _TRISC0                 0x01
952 #define _TRISC1                 0x02
953 #define _TRISC2                 0x04
954 #define _TRISC3                 0x08
955 #define _TRISC4                 0x10
956 #define _TRISC5                 0x20
957 
958 //==============================================================================
959 
960 
961 //==============================================================================
962 //        PIE0 Bits
963 
964 extern __at(0x0090) __sfr PIE0;
965 
966 typedef struct
967   {
968   unsigned INTE                 : 1;
969   unsigned                      : 1;
970   unsigned                      : 1;
971   unsigned                      : 1;
972   unsigned IOCIE                : 1;
973   unsigned TMR0IE               : 1;
974   unsigned                      : 1;
975   unsigned                      : 1;
976   } __PIE0bits_t;
977 
978 extern __at(0x0090) volatile __PIE0bits_t PIE0bits;
979 
980 #define _INTE                   0x01
981 #define _IOCIE                  0x10
982 #define _TMR0IE                 0x20
983 
984 //==============================================================================
985 
986 
987 //==============================================================================
988 //        PIE1 Bits
989 
990 extern __at(0x0091) __sfr PIE1;
991 
992 typedef struct
993   {
994   unsigned TMR1IE               : 1;
995   unsigned TMR2IE               : 1;
996   unsigned BCL1IE               : 1;
997   unsigned SSP1IE               : 1;
998   unsigned TXIE                 : 1;
999   unsigned RCIE                 : 1;
1000   unsigned ADIE                 : 1;
1001   unsigned TMR1GIE              : 1;
1002   } __PIE1bits_t;
1003 
1004 extern __at(0x0091) volatile __PIE1bits_t PIE1bits;
1005 
1006 #define _TMR1IE                 0x01
1007 #define _TMR2IE                 0x02
1008 #define _BCL1IE                 0x04
1009 #define _SSP1IE                 0x08
1010 #define _TXIE                   0x10
1011 #define _RCIE                   0x20
1012 #define _ADIE                   0x40
1013 #define _TMR1GIE                0x80
1014 
1015 //==============================================================================
1016 
1017 
1018 //==============================================================================
1019 //        PIE2 Bits
1020 
1021 extern __at(0x0092) __sfr PIE2;
1022 
1023 typedef struct
1024   {
1025   unsigned NCO1IE               : 1;
1026   unsigned                      : 1;
1027   unsigned                      : 1;
1028   unsigned                      : 1;
1029   unsigned NVMIE                : 1;
1030   unsigned C1IE                 : 1;
1031   unsigned C2IE                 : 1;
1032   unsigned                      : 1;
1033   } __PIE2bits_t;
1034 
1035 extern __at(0x0092) volatile __PIE2bits_t PIE2bits;
1036 
1037 #define _NCO1IE                 0x01
1038 #define _NVMIE                  0x10
1039 #define _C1IE                   0x20
1040 #define _C2IE                   0x40
1041 
1042 //==============================================================================
1043 
1044 
1045 //==============================================================================
1046 //        PIE3 Bits
1047 
1048 extern __at(0x0093) __sfr PIE3;
1049 
1050 typedef struct
1051   {
1052   unsigned CLC1IE               : 1;
1053   unsigned CLC2IE               : 1;
1054   unsigned                      : 1;
1055   unsigned                      : 1;
1056   unsigned                      : 1;
1057   unsigned                      : 1;
1058   unsigned CSWIE                : 1;
1059   unsigned OSFIE                : 1;
1060   } __PIE3bits_t;
1061 
1062 extern __at(0x0093) volatile __PIE3bits_t PIE3bits;
1063 
1064 #define _CLC1IE                 0x01
1065 #define _CLC2IE                 0x02
1066 #define _CSWIE                  0x40
1067 #define _OSFIE                  0x80
1068 
1069 //==============================================================================
1070 
1071 
1072 //==============================================================================
1073 //        PIE4 Bits
1074 
1075 extern __at(0x0094) __sfr PIE4;
1076 
1077 typedef struct
1078   {
1079   unsigned CCP1IE               : 1;
1080   unsigned CCP2IE               : 1;
1081   unsigned                      : 1;
1082   unsigned                      : 1;
1083   unsigned                      : 1;
1084   unsigned                      : 1;
1085   unsigned CWG1IE               : 1;
1086   unsigned                      : 1;
1087   } __PIE4bits_t;
1088 
1089 extern __at(0x0094) volatile __PIE4bits_t PIE4bits;
1090 
1091 #define _CCP1IE                 0x01
1092 #define _CCP2IE                 0x02
1093 #define _CWG1IE                 0x40
1094 
1095 //==============================================================================
1096 
1097 
1098 //==============================================================================
1099 //        WDTCON Bits
1100 
1101 extern __at(0x0097) __sfr WDTCON;
1102 
1103 typedef union
1104   {
1105   struct
1106     {
1107     unsigned SWDTEN             : 1;
1108     unsigned WDTPS0             : 1;
1109     unsigned WDTPS1             : 1;
1110     unsigned WDTPS2             : 1;
1111     unsigned WDTPS3             : 1;
1112     unsigned WDTPS4             : 1;
1113     unsigned                    : 1;
1114     unsigned                    : 1;
1115     };
1116 
1117   struct
1118     {
1119     unsigned                    : 1;
1120     unsigned WDTPS              : 5;
1121     unsigned                    : 2;
1122     };
1123   } __WDTCONbits_t;
1124 
1125 extern __at(0x0097) volatile __WDTCONbits_t WDTCONbits;
1126 
1127 #define _SWDTEN                 0x01
1128 #define _WDTPS0                 0x02
1129 #define _WDTPS1                 0x04
1130 #define _WDTPS2                 0x08
1131 #define _WDTPS3                 0x10
1132 #define _WDTPS4                 0x20
1133 
1134 //==============================================================================
1135 
1136 extern __at(0x009B) __sfr ADRES;
1137 extern __at(0x009B) __sfr ADRESL;
1138 extern __at(0x009C) __sfr ADRESH;
1139 
1140 //==============================================================================
1141 //        ADCON0 Bits
1142 
1143 extern __at(0x009D) __sfr ADCON0;
1144 
1145 typedef union
1146   {
1147   struct
1148     {
1149     unsigned ADON               : 1;
1150     unsigned GO_NOT_DONE        : 1;
1151     unsigned CHS0               : 1;
1152     unsigned CHS1               : 1;
1153     unsigned CHS2               : 1;
1154     unsigned CHS3               : 1;
1155     unsigned CHS4               : 1;
1156     unsigned CHS5               : 1;
1157     };
1158 
1159   struct
1160     {
1161     unsigned                    : 1;
1162     unsigned ADGO               : 1;
1163     unsigned                    : 1;
1164     unsigned                    : 1;
1165     unsigned                    : 1;
1166     unsigned                    : 1;
1167     unsigned                    : 1;
1168     unsigned                    : 1;
1169     };
1170 
1171   struct
1172     {
1173     unsigned                    : 1;
1174     unsigned GO                 : 1;
1175     unsigned                    : 1;
1176     unsigned                    : 1;
1177     unsigned                    : 1;
1178     unsigned                    : 1;
1179     unsigned                    : 1;
1180     unsigned                    : 1;
1181     };
1182 
1183   struct
1184     {
1185     unsigned                    : 2;
1186     unsigned CHS                : 6;
1187     };
1188   } __ADCON0bits_t;
1189 
1190 extern __at(0x009D) volatile __ADCON0bits_t ADCON0bits;
1191 
1192 #define _ADON                   0x01
1193 #define _GO_NOT_DONE            0x02
1194 #define _ADGO                   0x02
1195 #define _GO                     0x02
1196 #define _CHS0                   0x04
1197 #define _CHS1                   0x08
1198 #define _CHS2                   0x10
1199 #define _CHS3                   0x20
1200 #define _CHS4                   0x40
1201 #define _CHS5                   0x80
1202 
1203 //==============================================================================
1204 
1205 
1206 //==============================================================================
1207 //        ADCON1 Bits
1208 
1209 extern __at(0x009E) __sfr ADCON1;
1210 
1211 typedef union
1212   {
1213   struct
1214     {
1215     unsigned ADPREF0            : 1;
1216     unsigned ADPREF1            : 1;
1217     unsigned ADNREF             : 1;
1218     unsigned                    : 1;
1219     unsigned ADCS0              : 1;
1220     unsigned ADCS1              : 1;
1221     unsigned ADCS2              : 1;
1222     unsigned ADFM               : 1;
1223     };
1224 
1225   struct
1226     {
1227     unsigned ADPREF             : 2;
1228     unsigned                    : 6;
1229     };
1230 
1231   struct
1232     {
1233     unsigned                    : 4;
1234     unsigned ADCS               : 3;
1235     unsigned                    : 1;
1236     };
1237   } __ADCON1bits_t;
1238 
1239 extern __at(0x009E) volatile __ADCON1bits_t ADCON1bits;
1240 
1241 #define _ADPREF0                0x01
1242 #define _ADPREF1                0x02
1243 #define _ADNREF                 0x04
1244 #define _ADCS0                  0x10
1245 #define _ADCS1                  0x20
1246 #define _ADCS2                  0x40
1247 #define _ADFM                   0x80
1248 
1249 //==============================================================================
1250 
1251 
1252 //==============================================================================
1253 //        ADACT Bits
1254 
1255 extern __at(0x009F) __sfr ADACT;
1256 
1257 typedef union
1258   {
1259   struct
1260     {
1261     unsigned ADACT0             : 1;
1262     unsigned ADACT1             : 1;
1263     unsigned ADACT2             : 1;
1264     unsigned ADACT3             : 1;
1265     unsigned                    : 1;
1266     unsigned                    : 1;
1267     unsigned                    : 1;
1268     unsigned                    : 1;
1269     };
1270 
1271   struct
1272     {
1273     unsigned ADACT              : 4;
1274     unsigned                    : 4;
1275     };
1276   } __ADACTbits_t;
1277 
1278 extern __at(0x009F) volatile __ADACTbits_t ADACTbits;
1279 
1280 #define _ADACT0                 0x01
1281 #define _ADACT1                 0x02
1282 #define _ADACT2                 0x04
1283 #define _ADACT3                 0x08
1284 
1285 //==============================================================================
1286 
1287 
1288 //==============================================================================
1289 //        LATA Bits
1290 
1291 extern __at(0x010C) __sfr LATA;
1292 
1293 typedef struct
1294   {
1295   unsigned LATA0                : 1;
1296   unsigned LATA1                : 1;
1297   unsigned LATA2                : 1;
1298   unsigned                      : 1;
1299   unsigned LATA4                : 1;
1300   unsigned LATA5                : 1;
1301   unsigned                      : 1;
1302   unsigned                      : 1;
1303   } __LATAbits_t;
1304 
1305 extern __at(0x010C) volatile __LATAbits_t LATAbits;
1306 
1307 #define _LATA0                  0x01
1308 #define _LATA1                  0x02
1309 #define _LATA2                  0x04
1310 #define _LATA4                  0x10
1311 #define _LATA5                  0x20
1312 
1313 //==============================================================================
1314 
1315 
1316 //==============================================================================
1317 //        LATC Bits
1318 
1319 extern __at(0x010E) __sfr LATC;
1320 
1321 typedef union
1322   {
1323   struct
1324     {
1325     unsigned LATC0              : 1;
1326     unsigned LATC1              : 1;
1327     unsigned LATC2              : 1;
1328     unsigned LATC3              : 1;
1329     unsigned LATC4              : 1;
1330     unsigned LATC5              : 1;
1331     unsigned                    : 1;
1332     unsigned                    : 1;
1333     };
1334 
1335   struct
1336     {
1337     unsigned LATC               : 6;
1338     unsigned                    : 2;
1339     };
1340   } __LATCbits_t;
1341 
1342 extern __at(0x010E) volatile __LATCbits_t LATCbits;
1343 
1344 #define _LATC0                  0x01
1345 #define _LATC1                  0x02
1346 #define _LATC2                  0x04
1347 #define _LATC3                  0x08
1348 #define _LATC4                  0x10
1349 #define _LATC5                  0x20
1350 
1351 //==============================================================================
1352 
1353 
1354 //==============================================================================
1355 //        CM1CON0 Bits
1356 
1357 extern __at(0x0111) __sfr CM1CON0;
1358 
1359 typedef struct
1360   {
1361   unsigned C1SYNC               : 1;
1362   unsigned C1HYS                : 1;
1363   unsigned C1SP                 : 1;
1364   unsigned                      : 1;
1365   unsigned C1POL                : 1;
1366   unsigned                      : 1;
1367   unsigned C1OUT                : 1;
1368   unsigned C1ON                 : 1;
1369   } __CM1CON0bits_t;
1370 
1371 extern __at(0x0111) volatile __CM1CON0bits_t CM1CON0bits;
1372 
1373 #define _C1SYNC                 0x01
1374 #define _C1HYS                  0x02
1375 #define _C1SP                   0x04
1376 #define _C1POL                  0x10
1377 #define _C1OUT                  0x40
1378 #define _C1ON                   0x80
1379 
1380 //==============================================================================
1381 
1382 
1383 //==============================================================================
1384 //        CM1CON1 Bits
1385 
1386 extern __at(0x0112) __sfr CM1CON1;
1387 
1388 typedef union
1389   {
1390   struct
1391     {
1392     unsigned C1NCH0             : 1;
1393     unsigned C1NCH1             : 1;
1394     unsigned C1NCH2             : 1;
1395     unsigned C1PCH0             : 1;
1396     unsigned C1PCH1             : 1;
1397     unsigned C1PCH2             : 1;
1398     unsigned C1INTN             : 1;
1399     unsigned C1INTP             : 1;
1400     };
1401 
1402   struct
1403     {
1404     unsigned C1NCH              : 3;
1405     unsigned                    : 5;
1406     };
1407 
1408   struct
1409     {
1410     unsigned                    : 3;
1411     unsigned C1PCH              : 3;
1412     unsigned                    : 2;
1413     };
1414   } __CM1CON1bits_t;
1415 
1416 extern __at(0x0112) volatile __CM1CON1bits_t CM1CON1bits;
1417 
1418 #define _C1NCH0                 0x01
1419 #define _C1NCH1                 0x02
1420 #define _C1NCH2                 0x04
1421 #define _C1PCH0                 0x08
1422 #define _C1PCH1                 0x10
1423 #define _C1PCH2                 0x20
1424 #define _C1INTN                 0x40
1425 #define _C1INTP                 0x80
1426 
1427 //==============================================================================
1428 
1429 
1430 //==============================================================================
1431 //        CM2CON0 Bits
1432 
1433 extern __at(0x0113) __sfr CM2CON0;
1434 
1435 typedef struct
1436   {
1437   unsigned C2SYNC               : 1;
1438   unsigned C2HYS                : 1;
1439   unsigned C2SP                 : 1;
1440   unsigned                      : 1;
1441   unsigned C2POL                : 1;
1442   unsigned                      : 1;
1443   unsigned C2OUT                : 1;
1444   unsigned C2ON                 : 1;
1445   } __CM2CON0bits_t;
1446 
1447 extern __at(0x0113) volatile __CM2CON0bits_t CM2CON0bits;
1448 
1449 #define _C2SYNC                 0x01
1450 #define _C2HYS                  0x02
1451 #define _C2SP                   0x04
1452 #define _C2POL                  0x10
1453 #define _C2OUT                  0x40
1454 #define _C2ON                   0x80
1455 
1456 //==============================================================================
1457 
1458 
1459 //==============================================================================
1460 //        CM2CON1 Bits
1461 
1462 extern __at(0x0114) __sfr CM2CON1;
1463 
1464 typedef union
1465   {
1466   struct
1467     {
1468     unsigned C2NCH0             : 1;
1469     unsigned C2NCH1             : 1;
1470     unsigned C2NCH2             : 1;
1471     unsigned C2PCH0             : 1;
1472     unsigned C2PCH1             : 1;
1473     unsigned C2PCH2             : 1;
1474     unsigned C2INTN             : 1;
1475     unsigned C2INTP             : 1;
1476     };
1477 
1478   struct
1479     {
1480     unsigned C2NCH              : 3;
1481     unsigned                    : 5;
1482     };
1483 
1484   struct
1485     {
1486     unsigned                    : 3;
1487     unsigned C2PCH              : 3;
1488     unsigned                    : 2;
1489     };
1490   } __CM2CON1bits_t;
1491 
1492 extern __at(0x0114) volatile __CM2CON1bits_t CM2CON1bits;
1493 
1494 #define _C2NCH0                 0x01
1495 #define _C2NCH1                 0x02
1496 #define _C2NCH2                 0x04
1497 #define _C2PCH0                 0x08
1498 #define _C2PCH1                 0x10
1499 #define _C2PCH2                 0x20
1500 #define _C2INTN                 0x40
1501 #define _C2INTP                 0x80
1502 
1503 //==============================================================================
1504 
1505 
1506 //==============================================================================
1507 //        CMOUT Bits
1508 
1509 extern __at(0x0115) __sfr CMOUT;
1510 
1511 typedef struct
1512   {
1513   unsigned MC1OUT               : 1;
1514   unsigned MC2OUT               : 1;
1515   unsigned                      : 1;
1516   unsigned                      : 1;
1517   unsigned                      : 1;
1518   unsigned                      : 1;
1519   unsigned                      : 1;
1520   unsigned                      : 1;
1521   } __CMOUTbits_t;
1522 
1523 extern __at(0x0115) volatile __CMOUTbits_t CMOUTbits;
1524 
1525 #define _MC1OUT                 0x01
1526 #define _MC2OUT                 0x02
1527 
1528 //==============================================================================
1529 
1530 
1531 //==============================================================================
1532 //        BORCON Bits
1533 
1534 extern __at(0x0116) __sfr BORCON;
1535 
1536 typedef struct
1537   {
1538   unsigned BORRDY               : 1;
1539   unsigned                      : 1;
1540   unsigned                      : 1;
1541   unsigned                      : 1;
1542   unsigned                      : 1;
1543   unsigned                      : 1;
1544   unsigned                      : 1;
1545   unsigned SBOREN               : 1;
1546   } __BORCONbits_t;
1547 
1548 extern __at(0x0116) volatile __BORCONbits_t BORCONbits;
1549 
1550 #define _BORRDY                 0x01
1551 #define _SBOREN                 0x80
1552 
1553 //==============================================================================
1554 
1555 
1556 //==============================================================================
1557 //        FVRCON Bits
1558 
1559 extern __at(0x0117) __sfr FVRCON;
1560 
1561 typedef union
1562   {
1563   struct
1564     {
1565     unsigned ADFVR0             : 1;
1566     unsigned ADFVR1             : 1;
1567     unsigned CDAFVR0            : 1;
1568     unsigned CDAFVR1            : 1;
1569     unsigned TSRNG              : 1;
1570     unsigned TSEN               : 1;
1571     unsigned FVRRDY             : 1;
1572     unsigned FVREN              : 1;
1573     };
1574 
1575   struct
1576     {
1577     unsigned ADFVR              : 2;
1578     unsigned                    : 6;
1579     };
1580 
1581   struct
1582     {
1583     unsigned                    : 2;
1584     unsigned CDAFVR             : 2;
1585     unsigned                    : 4;
1586     };
1587   } __FVRCONbits_t;
1588 
1589 extern __at(0x0117) volatile __FVRCONbits_t FVRCONbits;
1590 
1591 #define _ADFVR0                 0x01
1592 #define _ADFVR1                 0x02
1593 #define _CDAFVR0                0x04
1594 #define _CDAFVR1                0x08
1595 #define _TSRNG                  0x10
1596 #define _TSEN                   0x20
1597 #define _FVRRDY                 0x40
1598 #define _FVREN                  0x80
1599 
1600 //==============================================================================
1601 
1602 
1603 //==============================================================================
1604 //        DACCON0 Bits
1605 
1606 extern __at(0x0118) __sfr DACCON0;
1607 
1608 typedef union
1609   {
1610   struct
1611     {
1612     unsigned DAC1NSS            : 1;
1613     unsigned                    : 1;
1614     unsigned DAC1PSS0           : 1;
1615     unsigned DAC1PSS1           : 1;
1616     unsigned                    : 1;
1617     unsigned DAC1OE             : 1;
1618     unsigned                    : 1;
1619     unsigned DAC1EN             : 1;
1620     };
1621 
1622   struct
1623     {
1624     unsigned                    : 2;
1625     unsigned DAC1PSS            : 2;
1626     unsigned                    : 4;
1627     };
1628   } __DACCON0bits_t;
1629 
1630 extern __at(0x0118) volatile __DACCON0bits_t DACCON0bits;
1631 
1632 #define _DAC1NSS                0x01
1633 #define _DAC1PSS0               0x04
1634 #define _DAC1PSS1               0x08
1635 #define _DAC1OE                 0x20
1636 #define _DAC1EN                 0x80
1637 
1638 //==============================================================================
1639 
1640 
1641 //==============================================================================
1642 //        DACCON1 Bits
1643 
1644 extern __at(0x0119) __sfr DACCON1;
1645 
1646 typedef union
1647   {
1648   struct
1649     {
1650     unsigned DAC1R0             : 1;
1651     unsigned DAC1R1             : 1;
1652     unsigned DAC1R2             : 1;
1653     unsigned DAC1R3             : 1;
1654     unsigned DAC1R4             : 1;
1655     unsigned                    : 1;
1656     unsigned                    : 1;
1657     unsigned                    : 1;
1658     };
1659 
1660   struct
1661     {
1662     unsigned DAC1R              : 5;
1663     unsigned                    : 3;
1664     };
1665   } __DACCON1bits_t;
1666 
1667 extern __at(0x0119) volatile __DACCON1bits_t DACCON1bits;
1668 
1669 #define _DAC1R0                 0x01
1670 #define _DAC1R1                 0x02
1671 #define _DAC1R2                 0x04
1672 #define _DAC1R3                 0x08
1673 #define _DAC1R4                 0x10
1674 
1675 //==============================================================================
1676 
1677 
1678 //==============================================================================
1679 //        ANSELA Bits
1680 
1681 extern __at(0x018C) __sfr ANSELA;
1682 
1683 typedef struct
1684   {
1685   unsigned ANSA0                : 1;
1686   unsigned ANSA1                : 1;
1687   unsigned ANSA2                : 1;
1688   unsigned                      : 1;
1689   unsigned ANSA4                : 1;
1690   unsigned ANSA5                : 1;
1691   unsigned                      : 1;
1692   unsigned                      : 1;
1693   } __ANSELAbits_t;
1694 
1695 extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits;
1696 
1697 #define _ANSA0                  0x01
1698 #define _ANSA1                  0x02
1699 #define _ANSA2                  0x04
1700 #define _ANSA4                  0x10
1701 #define _ANSA5                  0x20
1702 
1703 //==============================================================================
1704 
1705 
1706 //==============================================================================
1707 //        ANSELC Bits
1708 
1709 extern __at(0x018E) __sfr ANSELC;
1710 
1711 typedef union
1712   {
1713   struct
1714     {
1715     unsigned ANSC0              : 1;
1716     unsigned ANSC1              : 1;
1717     unsigned ANSC2              : 1;
1718     unsigned ANSC3              : 1;
1719     unsigned ANSC4              : 1;
1720     unsigned ANSC5              : 1;
1721     unsigned                    : 1;
1722     unsigned                    : 1;
1723     };
1724 
1725   struct
1726     {
1727     unsigned ANSC               : 6;
1728     unsigned                    : 2;
1729     };
1730   } __ANSELCbits_t;
1731 
1732 extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits;
1733 
1734 #define _ANSC0                  0x01
1735 #define _ANSC1                  0x02
1736 #define _ANSC2                  0x04
1737 #define _ANSC3                  0x08
1738 #define _ANSC4                  0x10
1739 #define _ANSC5                  0x20
1740 
1741 //==============================================================================
1742 
1743 
1744 //==============================================================================
1745 //        VREGCON Bits
1746 
1747 extern __at(0x0197) __sfr VREGCON;
1748 
1749 typedef struct
1750   {
1751   unsigned                      : 1;
1752   unsigned VREGPM               : 1;
1753   unsigned                      : 1;
1754   unsigned                      : 1;
1755   unsigned                      : 1;
1756   unsigned                      : 1;
1757   unsigned                      : 1;
1758   unsigned                      : 1;
1759   } __VREGCONbits_t;
1760 
1761 extern __at(0x0197) volatile __VREGCONbits_t VREGCONbits;
1762 
1763 #define _VREGPM                 0x02
1764 
1765 //==============================================================================
1766 
1767 extern __at(0x0199) __sfr RC1REG;
1768 extern __at(0x0199) __sfr RCREG;
1769 extern __at(0x0199) __sfr RCREG1;
1770 extern __at(0x019A) __sfr TX1REG;
1771 extern __at(0x019A) __sfr TXREG;
1772 extern __at(0x019A) __sfr TXREG1;
1773 extern __at(0x019B) __sfr SP1BRG;
1774 extern __at(0x019B) __sfr SP1BRGL;
1775 extern __at(0x019B) __sfr SPBRG;
1776 extern __at(0x019B) __sfr SPBRG1;
1777 extern __at(0x019B) __sfr SPBRGL;
1778 extern __at(0x019C) __sfr SP1BRGH;
1779 extern __at(0x019C) __sfr SPBRGH;
1780 extern __at(0x019C) __sfr SPBRGH1;
1781 
1782 //==============================================================================
1783 //        RC1STA Bits
1784 
1785 extern __at(0x019D) __sfr RC1STA;
1786 
1787 typedef struct
1788   {
1789   unsigned RX9D                 : 1;
1790   unsigned OERR                 : 1;
1791   unsigned FERR                 : 1;
1792   unsigned ADDEN                : 1;
1793   unsigned CREN                 : 1;
1794   unsigned SREN                 : 1;
1795   unsigned RX9                  : 1;
1796   unsigned SPEN                 : 1;
1797   } __RC1STAbits_t;
1798 
1799 extern __at(0x019D) volatile __RC1STAbits_t RC1STAbits;
1800 
1801 #define _RX9D                   0x01
1802 #define _OERR                   0x02
1803 #define _FERR                   0x04
1804 #define _ADDEN                  0x08
1805 #define _CREN                   0x10
1806 #define _SREN                   0x20
1807 #define _RX9                    0x40
1808 #define _SPEN                   0x80
1809 
1810 //==============================================================================
1811 
1812 
1813 //==============================================================================
1814 //        RCSTA Bits
1815 
1816 extern __at(0x019D) __sfr RCSTA;
1817 
1818 typedef struct
1819   {
1820   unsigned RX9D                 : 1;
1821   unsigned OERR                 : 1;
1822   unsigned FERR                 : 1;
1823   unsigned ADDEN                : 1;
1824   unsigned CREN                 : 1;
1825   unsigned SREN                 : 1;
1826   unsigned RX9                  : 1;
1827   unsigned SPEN                 : 1;
1828   } __RCSTAbits_t;
1829 
1830 extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits;
1831 
1832 #define _RCSTA_RX9D             0x01
1833 #define _RCSTA_OERR             0x02
1834 #define _RCSTA_FERR             0x04
1835 #define _RCSTA_ADDEN            0x08
1836 #define _RCSTA_CREN             0x10
1837 #define _RCSTA_SREN             0x20
1838 #define _RCSTA_RX9              0x40
1839 #define _RCSTA_SPEN             0x80
1840 
1841 //==============================================================================
1842 
1843 
1844 //==============================================================================
1845 //        RCSTA1 Bits
1846 
1847 extern __at(0x019D) __sfr RCSTA1;
1848 
1849 typedef struct
1850   {
1851   unsigned RX9D                 : 1;
1852   unsigned OERR                 : 1;
1853   unsigned FERR                 : 1;
1854   unsigned ADDEN                : 1;
1855   unsigned CREN                 : 1;
1856   unsigned SREN                 : 1;
1857   unsigned RX9                  : 1;
1858   unsigned SPEN                 : 1;
1859   } __RCSTA1bits_t;
1860 
1861 extern __at(0x019D) volatile __RCSTA1bits_t RCSTA1bits;
1862 
1863 #define _RCSTA1_RX9D            0x01
1864 #define _RCSTA1_OERR            0x02
1865 #define _RCSTA1_FERR            0x04
1866 #define _RCSTA1_ADDEN           0x08
1867 #define _RCSTA1_CREN            0x10
1868 #define _RCSTA1_SREN            0x20
1869 #define _RCSTA1_RX9             0x40
1870 #define _RCSTA1_SPEN            0x80
1871 
1872 //==============================================================================
1873 
1874 
1875 //==============================================================================
1876 //        TX1STA Bits
1877 
1878 extern __at(0x019E) __sfr TX1STA;
1879 
1880 typedef struct
1881   {
1882   unsigned TX9D                 : 1;
1883   unsigned TRMT                 : 1;
1884   unsigned BRGH                 : 1;
1885   unsigned SENDB                : 1;
1886   unsigned SYNC                 : 1;
1887   unsigned TXEN                 : 1;
1888   unsigned TX9                  : 1;
1889   unsigned CSRC                 : 1;
1890   } __TX1STAbits_t;
1891 
1892 extern __at(0x019E) volatile __TX1STAbits_t TX1STAbits;
1893 
1894 #define _TX9D                   0x01
1895 #define _TRMT                   0x02
1896 #define _BRGH                   0x04
1897 #define _SENDB                  0x08
1898 #define _SYNC                   0x10
1899 #define _TXEN                   0x20
1900 #define _TX9                    0x40
1901 #define _CSRC                   0x80
1902 
1903 //==============================================================================
1904 
1905 
1906 //==============================================================================
1907 //        TXSTA Bits
1908 
1909 extern __at(0x019E) __sfr TXSTA;
1910 
1911 typedef struct
1912   {
1913   unsigned TX9D                 : 1;
1914   unsigned TRMT                 : 1;
1915   unsigned BRGH                 : 1;
1916   unsigned SENDB                : 1;
1917   unsigned SYNC                 : 1;
1918   unsigned TXEN                 : 1;
1919   unsigned TX9                  : 1;
1920   unsigned CSRC                 : 1;
1921   } __TXSTAbits_t;
1922 
1923 extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits;
1924 
1925 #define _TXSTA_TX9D             0x01
1926 #define _TXSTA_TRMT             0x02
1927 #define _TXSTA_BRGH             0x04
1928 #define _TXSTA_SENDB            0x08
1929 #define _TXSTA_SYNC             0x10
1930 #define _TXSTA_TXEN             0x20
1931 #define _TXSTA_TX9              0x40
1932 #define _TXSTA_CSRC             0x80
1933 
1934 //==============================================================================
1935 
1936 
1937 //==============================================================================
1938 //        TXSTA1 Bits
1939 
1940 extern __at(0x019E) __sfr TXSTA1;
1941 
1942 typedef struct
1943   {
1944   unsigned TX9D                 : 1;
1945   unsigned TRMT                 : 1;
1946   unsigned BRGH                 : 1;
1947   unsigned SENDB                : 1;
1948   unsigned SYNC                 : 1;
1949   unsigned TXEN                 : 1;
1950   unsigned TX9                  : 1;
1951   unsigned CSRC                 : 1;
1952   } __TXSTA1bits_t;
1953 
1954 extern __at(0x019E) volatile __TXSTA1bits_t TXSTA1bits;
1955 
1956 #define _TXSTA1_TX9D            0x01
1957 #define _TXSTA1_TRMT            0x02
1958 #define _TXSTA1_BRGH            0x04
1959 #define _TXSTA1_SENDB           0x08
1960 #define _TXSTA1_SYNC            0x10
1961 #define _TXSTA1_TXEN            0x20
1962 #define _TXSTA1_TX9             0x40
1963 #define _TXSTA1_CSRC            0x80
1964 
1965 //==============================================================================
1966 
1967 
1968 //==============================================================================
1969 //        BAUD1CON Bits
1970 
1971 extern __at(0x019F) __sfr BAUD1CON;
1972 
1973 typedef struct
1974   {
1975   unsigned ABDEN                : 1;
1976   unsigned WUE                  : 1;
1977   unsigned                      : 1;
1978   unsigned BRG16                : 1;
1979   unsigned SCKP                 : 1;
1980   unsigned                      : 1;
1981   unsigned RCIDL                : 1;
1982   unsigned ABDOVF               : 1;
1983   } __BAUD1CONbits_t;
1984 
1985 extern __at(0x019F) volatile __BAUD1CONbits_t BAUD1CONbits;
1986 
1987 #define _ABDEN                  0x01
1988 #define _WUE                    0x02
1989 #define _BRG16                  0x08
1990 #define _SCKP                   0x10
1991 #define _RCIDL                  0x40
1992 #define _ABDOVF                 0x80
1993 
1994 //==============================================================================
1995 
1996 
1997 //==============================================================================
1998 //        BAUDCON Bits
1999 
2000 extern __at(0x019F) __sfr BAUDCON;
2001 
2002 typedef struct
2003   {
2004   unsigned ABDEN                : 1;
2005   unsigned WUE                  : 1;
2006   unsigned                      : 1;
2007   unsigned BRG16                : 1;
2008   unsigned SCKP                 : 1;
2009   unsigned                      : 1;
2010   unsigned RCIDL                : 1;
2011   unsigned ABDOVF               : 1;
2012   } __BAUDCONbits_t;
2013 
2014 extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits;
2015 
2016 #define _BAUDCON_ABDEN          0x01
2017 #define _BAUDCON_WUE            0x02
2018 #define _BAUDCON_BRG16          0x08
2019 #define _BAUDCON_SCKP           0x10
2020 #define _BAUDCON_RCIDL          0x40
2021 #define _BAUDCON_ABDOVF         0x80
2022 
2023 //==============================================================================
2024 
2025 
2026 //==============================================================================
2027 //        BAUDCON1 Bits
2028 
2029 extern __at(0x019F) __sfr BAUDCON1;
2030 
2031 typedef struct
2032   {
2033   unsigned ABDEN                : 1;
2034   unsigned WUE                  : 1;
2035   unsigned                      : 1;
2036   unsigned BRG16                : 1;
2037   unsigned SCKP                 : 1;
2038   unsigned                      : 1;
2039   unsigned RCIDL                : 1;
2040   unsigned ABDOVF               : 1;
2041   } __BAUDCON1bits_t;
2042 
2043 extern __at(0x019F) volatile __BAUDCON1bits_t BAUDCON1bits;
2044 
2045 #define _BAUDCON1_ABDEN         0x01
2046 #define _BAUDCON1_WUE           0x02
2047 #define _BAUDCON1_BRG16         0x08
2048 #define _BAUDCON1_SCKP          0x10
2049 #define _BAUDCON1_RCIDL         0x40
2050 #define _BAUDCON1_ABDOVF        0x80
2051 
2052 //==============================================================================
2053 
2054 
2055 //==============================================================================
2056 //        BAUDCTL Bits
2057 
2058 extern __at(0x019F) __sfr BAUDCTL;
2059 
2060 typedef struct
2061   {
2062   unsigned ABDEN                : 1;
2063   unsigned WUE                  : 1;
2064   unsigned                      : 1;
2065   unsigned BRG16                : 1;
2066   unsigned SCKP                 : 1;
2067   unsigned                      : 1;
2068   unsigned RCIDL                : 1;
2069   unsigned ABDOVF               : 1;
2070   } __BAUDCTLbits_t;
2071 
2072 extern __at(0x019F) volatile __BAUDCTLbits_t BAUDCTLbits;
2073 
2074 #define _BAUDCTL_ABDEN          0x01
2075 #define _BAUDCTL_WUE            0x02
2076 #define _BAUDCTL_BRG16          0x08
2077 #define _BAUDCTL_SCKP           0x10
2078 #define _BAUDCTL_RCIDL          0x40
2079 #define _BAUDCTL_ABDOVF         0x80
2080 
2081 //==============================================================================
2082 
2083 
2084 //==============================================================================
2085 //        BAUDCTL1 Bits
2086 
2087 extern __at(0x019F) __sfr BAUDCTL1;
2088 
2089 typedef struct
2090   {
2091   unsigned ABDEN                : 1;
2092   unsigned WUE                  : 1;
2093   unsigned                      : 1;
2094   unsigned BRG16                : 1;
2095   unsigned SCKP                 : 1;
2096   unsigned                      : 1;
2097   unsigned RCIDL                : 1;
2098   unsigned ABDOVF               : 1;
2099   } __BAUDCTL1bits_t;
2100 
2101 extern __at(0x019F) volatile __BAUDCTL1bits_t BAUDCTL1bits;
2102 
2103 #define _BAUDCTL1_ABDEN         0x01
2104 #define _BAUDCTL1_WUE           0x02
2105 #define _BAUDCTL1_BRG16         0x08
2106 #define _BAUDCTL1_SCKP          0x10
2107 #define _BAUDCTL1_RCIDL         0x40
2108 #define _BAUDCTL1_ABDOVF        0x80
2109 
2110 //==============================================================================
2111 
2112 
2113 //==============================================================================
2114 //        WPUA Bits
2115 
2116 extern __at(0x020C) __sfr WPUA;
2117 
2118 typedef union
2119   {
2120   struct
2121     {
2122     unsigned WPUA0              : 1;
2123     unsigned WPUA1              : 1;
2124     unsigned WPUA2              : 1;
2125     unsigned WPUA3              : 1;
2126     unsigned WPUA4              : 1;
2127     unsigned WPUA5              : 1;
2128     unsigned                    : 1;
2129     unsigned                    : 1;
2130     };
2131 
2132   struct
2133     {
2134     unsigned WPUA               : 6;
2135     unsigned                    : 2;
2136     };
2137   } __WPUAbits_t;
2138 
2139 extern __at(0x020C) volatile __WPUAbits_t WPUAbits;
2140 
2141 #define _WPUA0                  0x01
2142 #define _WPUA1                  0x02
2143 #define _WPUA2                  0x04
2144 #define _WPUA3                  0x08
2145 #define _WPUA4                  0x10
2146 #define _WPUA5                  0x20
2147 
2148 //==============================================================================
2149 
2150 
2151 //==============================================================================
2152 //        WPUC Bits
2153 
2154 extern __at(0x020E) __sfr WPUC;
2155 
2156 typedef union
2157   {
2158   struct
2159     {
2160     unsigned WPUC0              : 1;
2161     unsigned WPUC1              : 1;
2162     unsigned WPUC2              : 1;
2163     unsigned WPUC3              : 1;
2164     unsigned WPUC4              : 1;
2165     unsigned WPUC5              : 1;
2166     unsigned                    : 1;
2167     unsigned                    : 1;
2168     };
2169 
2170   struct
2171     {
2172     unsigned WPUC               : 6;
2173     unsigned                    : 2;
2174     };
2175   } __WPUCbits_t;
2176 
2177 extern __at(0x020E) volatile __WPUCbits_t WPUCbits;
2178 
2179 #define _WPUC0                  0x01
2180 #define _WPUC1                  0x02
2181 #define _WPUC2                  0x04
2182 #define _WPUC3                  0x08
2183 #define _WPUC4                  0x10
2184 #define _WPUC5                  0x20
2185 
2186 //==============================================================================
2187 
2188 
2189 //==============================================================================
2190 //        SSP1BUF Bits
2191 
2192 extern __at(0x0211) __sfr SSP1BUF;
2193 
2194 typedef union
2195   {
2196   struct
2197     {
2198     unsigned SSP1BUF0           : 1;
2199     unsigned SSP1BUF1           : 1;
2200     unsigned SSP1BUF2           : 1;
2201     unsigned SSP1BUF3           : 1;
2202     unsigned SSP1BUF4           : 1;
2203     unsigned SSP1BUF5           : 1;
2204     unsigned SSP1BUF6           : 1;
2205     unsigned SSP1BUF7           : 1;
2206     };
2207 
2208   struct
2209     {
2210     unsigned BUF0               : 1;
2211     unsigned BUF1               : 1;
2212     unsigned BUF2               : 1;
2213     unsigned BUF3               : 1;
2214     unsigned BUF4               : 1;
2215     unsigned BUF5               : 1;
2216     unsigned BUF6               : 1;
2217     unsigned BUF7               : 1;
2218     };
2219   } __SSP1BUFbits_t;
2220 
2221 extern __at(0x0211) volatile __SSP1BUFbits_t SSP1BUFbits;
2222 
2223 #define _SSP1BUF0               0x01
2224 #define _BUF0                   0x01
2225 #define _SSP1BUF1               0x02
2226 #define _BUF1                   0x02
2227 #define _SSP1BUF2               0x04
2228 #define _BUF2                   0x04
2229 #define _SSP1BUF3               0x08
2230 #define _BUF3                   0x08
2231 #define _SSP1BUF4               0x10
2232 #define _BUF4                   0x10
2233 #define _SSP1BUF5               0x20
2234 #define _BUF5                   0x20
2235 #define _SSP1BUF6               0x40
2236 #define _BUF6                   0x40
2237 #define _SSP1BUF7               0x80
2238 #define _BUF7                   0x80
2239 
2240 //==============================================================================
2241 
2242 
2243 //==============================================================================
2244 //        SSPBUF Bits
2245 
2246 extern __at(0x0211) __sfr SSPBUF;
2247 
2248 typedef union
2249   {
2250   struct
2251     {
2252     unsigned SSP1BUF0           : 1;
2253     unsigned SSP1BUF1           : 1;
2254     unsigned SSP1BUF2           : 1;
2255     unsigned SSP1BUF3           : 1;
2256     unsigned SSP1BUF4           : 1;
2257     unsigned SSP1BUF5           : 1;
2258     unsigned SSP1BUF6           : 1;
2259     unsigned SSP1BUF7           : 1;
2260     };
2261 
2262   struct
2263     {
2264     unsigned BUF0               : 1;
2265     unsigned BUF1               : 1;
2266     unsigned BUF2               : 1;
2267     unsigned BUF3               : 1;
2268     unsigned BUF4               : 1;
2269     unsigned BUF5               : 1;
2270     unsigned BUF6               : 1;
2271     unsigned BUF7               : 1;
2272     };
2273   } __SSPBUFbits_t;
2274 
2275 extern __at(0x0211) volatile __SSPBUFbits_t SSPBUFbits;
2276 
2277 #define _SSPBUF_SSP1BUF0        0x01
2278 #define _SSPBUF_BUF0            0x01
2279 #define _SSPBUF_SSP1BUF1        0x02
2280 #define _SSPBUF_BUF1            0x02
2281 #define _SSPBUF_SSP1BUF2        0x04
2282 #define _SSPBUF_BUF2            0x04
2283 #define _SSPBUF_SSP1BUF3        0x08
2284 #define _SSPBUF_BUF3            0x08
2285 #define _SSPBUF_SSP1BUF4        0x10
2286 #define _SSPBUF_BUF4            0x10
2287 #define _SSPBUF_SSP1BUF5        0x20
2288 #define _SSPBUF_BUF5            0x20
2289 #define _SSPBUF_SSP1BUF6        0x40
2290 #define _SSPBUF_BUF6            0x40
2291 #define _SSPBUF_SSP1BUF7        0x80
2292 #define _SSPBUF_BUF7            0x80
2293 
2294 //==============================================================================
2295 
2296 
2297 //==============================================================================
2298 //        SSP1ADD Bits
2299 
2300 extern __at(0x0212) __sfr SSP1ADD;
2301 
2302 typedef union
2303   {
2304   struct
2305     {
2306     unsigned SSP1ADD0           : 1;
2307     unsigned SSP1ADD1           : 1;
2308     unsigned SSP1ADD2           : 1;
2309     unsigned SSP1ADD3           : 1;
2310     unsigned SSP1ADD4           : 1;
2311     unsigned SSP1ADD5           : 1;
2312     unsigned SSP1ADD6           : 1;
2313     unsigned SSP1ADD7           : 1;
2314     };
2315 
2316   struct
2317     {
2318     unsigned ADD0               : 1;
2319     unsigned ADD1               : 1;
2320     unsigned ADD2               : 1;
2321     unsigned ADD3               : 1;
2322     unsigned ADD4               : 1;
2323     unsigned ADD5               : 1;
2324     unsigned ADD6               : 1;
2325     unsigned ADD7               : 1;
2326     };
2327   } __SSP1ADDbits_t;
2328 
2329 extern __at(0x0212) volatile __SSP1ADDbits_t SSP1ADDbits;
2330 
2331 #define _SSP1ADD0               0x01
2332 #define _ADD0                   0x01
2333 #define _SSP1ADD1               0x02
2334 #define _ADD1                   0x02
2335 #define _SSP1ADD2               0x04
2336 #define _ADD2                   0x04
2337 #define _SSP1ADD3               0x08
2338 #define _ADD3                   0x08
2339 #define _SSP1ADD4               0x10
2340 #define _ADD4                   0x10
2341 #define _SSP1ADD5               0x20
2342 #define _ADD5                   0x20
2343 #define _SSP1ADD6               0x40
2344 #define _ADD6                   0x40
2345 #define _SSP1ADD7               0x80
2346 #define _ADD7                   0x80
2347 
2348 //==============================================================================
2349 
2350 
2351 //==============================================================================
2352 //        SSPADD Bits
2353 
2354 extern __at(0x0212) __sfr SSPADD;
2355 
2356 typedef union
2357   {
2358   struct
2359     {
2360     unsigned SSP1ADD0           : 1;
2361     unsigned SSP1ADD1           : 1;
2362     unsigned SSP1ADD2           : 1;
2363     unsigned SSP1ADD3           : 1;
2364     unsigned SSP1ADD4           : 1;
2365     unsigned SSP1ADD5           : 1;
2366     unsigned SSP1ADD6           : 1;
2367     unsigned SSP1ADD7           : 1;
2368     };
2369 
2370   struct
2371     {
2372     unsigned ADD0               : 1;
2373     unsigned ADD1               : 1;
2374     unsigned ADD2               : 1;
2375     unsigned ADD3               : 1;
2376     unsigned ADD4               : 1;
2377     unsigned ADD5               : 1;
2378     unsigned ADD6               : 1;
2379     unsigned ADD7               : 1;
2380     };
2381   } __SSPADDbits_t;
2382 
2383 extern __at(0x0212) volatile __SSPADDbits_t SSPADDbits;
2384 
2385 #define _SSPADD_SSP1ADD0        0x01
2386 #define _SSPADD_ADD0            0x01
2387 #define _SSPADD_SSP1ADD1        0x02
2388 #define _SSPADD_ADD1            0x02
2389 #define _SSPADD_SSP1ADD2        0x04
2390 #define _SSPADD_ADD2            0x04
2391 #define _SSPADD_SSP1ADD3        0x08
2392 #define _SSPADD_ADD3            0x08
2393 #define _SSPADD_SSP1ADD4        0x10
2394 #define _SSPADD_ADD4            0x10
2395 #define _SSPADD_SSP1ADD5        0x20
2396 #define _SSPADD_ADD5            0x20
2397 #define _SSPADD_SSP1ADD6        0x40
2398 #define _SSPADD_ADD6            0x40
2399 #define _SSPADD_SSP1ADD7        0x80
2400 #define _SSPADD_ADD7            0x80
2401 
2402 //==============================================================================
2403 
2404 
2405 //==============================================================================
2406 //        SSP1MSK Bits
2407 
2408 extern __at(0x0213) __sfr SSP1MSK;
2409 
2410 typedef union
2411   {
2412   struct
2413     {
2414     unsigned SSP1MSK0           : 1;
2415     unsigned SSP1MSK1           : 1;
2416     unsigned SSP1MSK2           : 1;
2417     unsigned SSP1MSK3           : 1;
2418     unsigned SSP1MSK4           : 1;
2419     unsigned SSP1MSK5           : 1;
2420     unsigned SSP1MSK6           : 1;
2421     unsigned SSP1MSK7           : 1;
2422     };
2423 
2424   struct
2425     {
2426     unsigned MSK0               : 1;
2427     unsigned MSK1               : 1;
2428     unsigned MSK2               : 1;
2429     unsigned MSK3               : 1;
2430     unsigned MSK4               : 1;
2431     unsigned MSK5               : 1;
2432     unsigned MSK6               : 1;
2433     unsigned MSK7               : 1;
2434     };
2435   } __SSP1MSKbits_t;
2436 
2437 extern __at(0x0213) volatile __SSP1MSKbits_t SSP1MSKbits;
2438 
2439 #define _SSP1MSK0               0x01
2440 #define _MSK0                   0x01
2441 #define _SSP1MSK1               0x02
2442 #define _MSK1                   0x02
2443 #define _SSP1MSK2               0x04
2444 #define _MSK2                   0x04
2445 #define _SSP1MSK3               0x08
2446 #define _MSK3                   0x08
2447 #define _SSP1MSK4               0x10
2448 #define _MSK4                   0x10
2449 #define _SSP1MSK5               0x20
2450 #define _MSK5                   0x20
2451 #define _SSP1MSK6               0x40
2452 #define _MSK6                   0x40
2453 #define _SSP1MSK7               0x80
2454 #define _MSK7                   0x80
2455 
2456 //==============================================================================
2457 
2458 
2459 //==============================================================================
2460 //        SSPMSK Bits
2461 
2462 extern __at(0x0213) __sfr SSPMSK;
2463 
2464 typedef union
2465   {
2466   struct
2467     {
2468     unsigned SSP1MSK0           : 1;
2469     unsigned SSP1MSK1           : 1;
2470     unsigned SSP1MSK2           : 1;
2471     unsigned SSP1MSK3           : 1;
2472     unsigned SSP1MSK4           : 1;
2473     unsigned SSP1MSK5           : 1;
2474     unsigned SSP1MSK6           : 1;
2475     unsigned SSP1MSK7           : 1;
2476     };
2477 
2478   struct
2479     {
2480     unsigned MSK0               : 1;
2481     unsigned MSK1               : 1;
2482     unsigned MSK2               : 1;
2483     unsigned MSK3               : 1;
2484     unsigned MSK4               : 1;
2485     unsigned MSK5               : 1;
2486     unsigned MSK6               : 1;
2487     unsigned MSK7               : 1;
2488     };
2489   } __SSPMSKbits_t;
2490 
2491 extern __at(0x0213) volatile __SSPMSKbits_t SSPMSKbits;
2492 
2493 #define _SSPMSK_SSP1MSK0        0x01
2494 #define _SSPMSK_MSK0            0x01
2495 #define _SSPMSK_SSP1MSK1        0x02
2496 #define _SSPMSK_MSK1            0x02
2497 #define _SSPMSK_SSP1MSK2        0x04
2498 #define _SSPMSK_MSK2            0x04
2499 #define _SSPMSK_SSP1MSK3        0x08
2500 #define _SSPMSK_MSK3            0x08
2501 #define _SSPMSK_SSP1MSK4        0x10
2502 #define _SSPMSK_MSK4            0x10
2503 #define _SSPMSK_SSP1MSK5        0x20
2504 #define _SSPMSK_MSK5            0x20
2505 #define _SSPMSK_SSP1MSK6        0x40
2506 #define _SSPMSK_MSK6            0x40
2507 #define _SSPMSK_SSP1MSK7        0x80
2508 #define _SSPMSK_MSK7            0x80
2509 
2510 //==============================================================================
2511 
2512 
2513 //==============================================================================
2514 //        SSP1STAT Bits
2515 
2516 extern __at(0x0214) __sfr SSP1STAT;
2517 
2518 typedef struct
2519   {
2520   unsigned BF                   : 1;
2521   unsigned UA                   : 1;
2522   unsigned R_NOT_W              : 1;
2523   unsigned S                    : 1;
2524   unsigned P                    : 1;
2525   unsigned D_NOT_A              : 1;
2526   unsigned CKE                  : 1;
2527   unsigned SMP                  : 1;
2528   } __SSP1STATbits_t;
2529 
2530 extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits;
2531 
2532 #define _BF                     0x01
2533 #define _UA                     0x02
2534 #define _R_NOT_W                0x04
2535 #define _S                      0x08
2536 #define _P                      0x10
2537 #define _D_NOT_A                0x20
2538 #define _CKE                    0x40
2539 #define _SMP                    0x80
2540 
2541 //==============================================================================
2542 
2543 
2544 //==============================================================================
2545 //        SSPSTAT Bits
2546 
2547 extern __at(0x0214) __sfr SSPSTAT;
2548 
2549 typedef struct
2550   {
2551   unsigned BF                   : 1;
2552   unsigned UA                   : 1;
2553   unsigned R_NOT_W              : 1;
2554   unsigned S                    : 1;
2555   unsigned P                    : 1;
2556   unsigned D_NOT_A              : 1;
2557   unsigned CKE                  : 1;
2558   unsigned SMP                  : 1;
2559   } __SSPSTATbits_t;
2560 
2561 extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits;
2562 
2563 #define _SSPSTAT_BF             0x01
2564 #define _SSPSTAT_UA             0x02
2565 #define _SSPSTAT_R_NOT_W        0x04
2566 #define _SSPSTAT_S              0x08
2567 #define _SSPSTAT_P              0x10
2568 #define _SSPSTAT_D_NOT_A        0x20
2569 #define _SSPSTAT_CKE            0x40
2570 #define _SSPSTAT_SMP            0x80
2571 
2572 //==============================================================================
2573 
2574 
2575 //==============================================================================
2576 //        SSP1CON Bits
2577 
2578 extern __at(0x0215) __sfr SSP1CON;
2579 
2580 typedef union
2581   {
2582   struct
2583     {
2584     unsigned SSPM0              : 1;
2585     unsigned SSPM1              : 1;
2586     unsigned SSPM2              : 1;
2587     unsigned SSPM3              : 1;
2588     unsigned CKP                : 1;
2589     unsigned SSPEN              : 1;
2590     unsigned SSPOV              : 1;
2591     unsigned WCOL               : 1;
2592     };
2593 
2594   struct
2595     {
2596     unsigned SSPM               : 4;
2597     unsigned                    : 4;
2598     };
2599   } __SSP1CONbits_t;
2600 
2601 extern __at(0x0215) volatile __SSP1CONbits_t SSP1CONbits;
2602 
2603 #define _SSPM0                  0x01
2604 #define _SSPM1                  0x02
2605 #define _SSPM2                  0x04
2606 #define _SSPM3                  0x08
2607 #define _CKP                    0x10
2608 #define _SSPEN                  0x20
2609 #define _SSPOV                  0x40
2610 #define _WCOL                   0x80
2611 
2612 //==============================================================================
2613 
2614 
2615 //==============================================================================
2616 //        SSP1CON1 Bits
2617 
2618 extern __at(0x0215) __sfr SSP1CON1;
2619 
2620 typedef union
2621   {
2622   struct
2623     {
2624     unsigned SSPM0              : 1;
2625     unsigned SSPM1              : 1;
2626     unsigned SSPM2              : 1;
2627     unsigned SSPM3              : 1;
2628     unsigned CKP                : 1;
2629     unsigned SSPEN              : 1;
2630     unsigned SSPOV              : 1;
2631     unsigned WCOL               : 1;
2632     };
2633 
2634   struct
2635     {
2636     unsigned SSPM               : 4;
2637     unsigned                    : 4;
2638     };
2639   } __SSP1CON1bits_t;
2640 
2641 extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits;
2642 
2643 #define _SSP1CON1_SSPM0         0x01
2644 #define _SSP1CON1_SSPM1         0x02
2645 #define _SSP1CON1_SSPM2         0x04
2646 #define _SSP1CON1_SSPM3         0x08
2647 #define _SSP1CON1_CKP           0x10
2648 #define _SSP1CON1_SSPEN         0x20
2649 #define _SSP1CON1_SSPOV         0x40
2650 #define _SSP1CON1_WCOL          0x80
2651 
2652 //==============================================================================
2653 
2654 
2655 //==============================================================================
2656 //        SSPCON Bits
2657 
2658 extern __at(0x0215) __sfr SSPCON;
2659 
2660 typedef union
2661   {
2662   struct
2663     {
2664     unsigned SSPM0              : 1;
2665     unsigned SSPM1              : 1;
2666     unsigned SSPM2              : 1;
2667     unsigned SSPM3              : 1;
2668     unsigned CKP                : 1;
2669     unsigned SSPEN              : 1;
2670     unsigned SSPOV              : 1;
2671     unsigned WCOL               : 1;
2672     };
2673 
2674   struct
2675     {
2676     unsigned SSPM               : 4;
2677     unsigned                    : 4;
2678     };
2679   } __SSPCONbits_t;
2680 
2681 extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits;
2682 
2683 #define _SSPCON_SSPM0           0x01
2684 #define _SSPCON_SSPM1           0x02
2685 #define _SSPCON_SSPM2           0x04
2686 #define _SSPCON_SSPM3           0x08
2687 #define _SSPCON_CKP             0x10
2688 #define _SSPCON_SSPEN           0x20
2689 #define _SSPCON_SSPOV           0x40
2690 #define _SSPCON_WCOL            0x80
2691 
2692 //==============================================================================
2693 
2694 
2695 //==============================================================================
2696 //        SSPCON1 Bits
2697 
2698 extern __at(0x0215) __sfr SSPCON1;
2699 
2700 typedef union
2701   {
2702   struct
2703     {
2704     unsigned SSPM0              : 1;
2705     unsigned SSPM1              : 1;
2706     unsigned SSPM2              : 1;
2707     unsigned SSPM3              : 1;
2708     unsigned CKP                : 1;
2709     unsigned SSPEN              : 1;
2710     unsigned SSPOV              : 1;
2711     unsigned WCOL               : 1;
2712     };
2713 
2714   struct
2715     {
2716     unsigned SSPM               : 4;
2717     unsigned                    : 4;
2718     };
2719   } __SSPCON1bits_t;
2720 
2721 extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits;
2722 
2723 #define _SSPCON1_SSPM0          0x01
2724 #define _SSPCON1_SSPM1          0x02
2725 #define _SSPCON1_SSPM2          0x04
2726 #define _SSPCON1_SSPM3          0x08
2727 #define _SSPCON1_CKP            0x10
2728 #define _SSPCON1_SSPEN          0x20
2729 #define _SSPCON1_SSPOV          0x40
2730 #define _SSPCON1_WCOL           0x80
2731 
2732 //==============================================================================
2733 
2734 
2735 //==============================================================================
2736 //        SSP1CON2 Bits
2737 
2738 extern __at(0x0216) __sfr SSP1CON2;
2739 
2740 typedef struct
2741   {
2742   unsigned SEN                  : 1;
2743   unsigned RSEN                 : 1;
2744   unsigned PEN                  : 1;
2745   unsigned RCEN                 : 1;
2746   unsigned ACKEN                : 1;
2747   unsigned ACKDT                : 1;
2748   unsigned ACKSTAT              : 1;
2749   unsigned GCEN                 : 1;
2750   } __SSP1CON2bits_t;
2751 
2752 extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits;
2753 
2754 #define _SEN                    0x01
2755 #define _RSEN                   0x02
2756 #define _PEN                    0x04
2757 #define _RCEN                   0x08
2758 #define _ACKEN                  0x10
2759 #define _ACKDT                  0x20
2760 #define _ACKSTAT                0x40
2761 #define _GCEN                   0x80
2762 
2763 //==============================================================================
2764 
2765 
2766 //==============================================================================
2767 //        SSPCON2 Bits
2768 
2769 extern __at(0x0216) __sfr SSPCON2;
2770 
2771 typedef struct
2772   {
2773   unsigned SEN                  : 1;
2774   unsigned RSEN                 : 1;
2775   unsigned PEN                  : 1;
2776   unsigned RCEN                 : 1;
2777   unsigned ACKEN                : 1;
2778   unsigned ACKDT                : 1;
2779   unsigned ACKSTAT              : 1;
2780   unsigned GCEN                 : 1;
2781   } __SSPCON2bits_t;
2782 
2783 extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits;
2784 
2785 #define _SSPCON2_SEN            0x01
2786 #define _SSPCON2_RSEN           0x02
2787 #define _SSPCON2_PEN            0x04
2788 #define _SSPCON2_RCEN           0x08
2789 #define _SSPCON2_ACKEN          0x10
2790 #define _SSPCON2_ACKDT          0x20
2791 #define _SSPCON2_ACKSTAT        0x40
2792 #define _SSPCON2_GCEN           0x80
2793 
2794 //==============================================================================
2795 
2796 
2797 //==============================================================================
2798 //        SSP1CON3 Bits
2799 
2800 extern __at(0x0217) __sfr SSP1CON3;
2801 
2802 typedef struct
2803   {
2804   unsigned DHEN                 : 1;
2805   unsigned AHEN                 : 1;
2806   unsigned SBCDE                : 1;
2807   unsigned SDAHT                : 1;
2808   unsigned BOEN                 : 1;
2809   unsigned SCIE                 : 1;
2810   unsigned PCIE                 : 1;
2811   unsigned ACKTIM               : 1;
2812   } __SSP1CON3bits_t;
2813 
2814 extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits;
2815 
2816 #define _DHEN                   0x01
2817 #define _AHEN                   0x02
2818 #define _SBCDE                  0x04
2819 #define _SDAHT                  0x08
2820 #define _BOEN                   0x10
2821 #define _SCIE                   0x20
2822 #define _PCIE                   0x40
2823 #define _ACKTIM                 0x80
2824 
2825 //==============================================================================
2826 
2827 
2828 //==============================================================================
2829 //        SSPCON3 Bits
2830 
2831 extern __at(0x0217) __sfr SSPCON3;
2832 
2833 typedef struct
2834   {
2835   unsigned DHEN                 : 1;
2836   unsigned AHEN                 : 1;
2837   unsigned SBCDE                : 1;
2838   unsigned SDAHT                : 1;
2839   unsigned BOEN                 : 1;
2840   unsigned SCIE                 : 1;
2841   unsigned PCIE                 : 1;
2842   unsigned ACKTIM               : 1;
2843   } __SSPCON3bits_t;
2844 
2845 extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits;
2846 
2847 #define _SSPCON3_DHEN           0x01
2848 #define _SSPCON3_AHEN           0x02
2849 #define _SSPCON3_SBCDE          0x04
2850 #define _SSPCON3_SDAHT          0x08
2851 #define _SSPCON3_BOEN           0x10
2852 #define _SSPCON3_SCIE           0x20
2853 #define _SSPCON3_PCIE           0x40
2854 #define _SSPCON3_ACKTIM         0x80
2855 
2856 //==============================================================================
2857 
2858 
2859 //==============================================================================
2860 //        ODCONA Bits
2861 
2862 extern __at(0x028C) __sfr ODCONA;
2863 
2864 typedef struct
2865   {
2866   unsigned ODCA0                : 1;
2867   unsigned ODCA1                : 1;
2868   unsigned ODCA2                : 1;
2869   unsigned                      : 1;
2870   unsigned ODCA4                : 1;
2871   unsigned ODCA5                : 1;
2872   unsigned                      : 1;
2873   unsigned                      : 1;
2874   } __ODCONAbits_t;
2875 
2876 extern __at(0x028C) volatile __ODCONAbits_t ODCONAbits;
2877 
2878 #define _ODCA0                  0x01
2879 #define _ODCA1                  0x02
2880 #define _ODCA2                  0x04
2881 #define _ODCA4                  0x10
2882 #define _ODCA5                  0x20
2883 
2884 //==============================================================================
2885 
2886 
2887 //==============================================================================
2888 //        ODCONC Bits
2889 
2890 extern __at(0x028E) __sfr ODCONC;
2891 
2892 typedef union
2893   {
2894   struct
2895     {
2896     unsigned ODCC0              : 1;
2897     unsigned ODCC1              : 1;
2898     unsigned ODCC2              : 1;
2899     unsigned ODCC3              : 1;
2900     unsigned ODCC4              : 1;
2901     unsigned ODCC5              : 1;
2902     unsigned                    : 1;
2903     unsigned                    : 1;
2904     };
2905 
2906   struct
2907     {
2908     unsigned ODCC               : 6;
2909     unsigned                    : 2;
2910     };
2911   } __ODCONCbits_t;
2912 
2913 extern __at(0x028E) volatile __ODCONCbits_t ODCONCbits;
2914 
2915 #define _ODCC0                  0x01
2916 #define _ODCC1                  0x02
2917 #define _ODCC2                  0x04
2918 #define _ODCC3                  0x08
2919 #define _ODCC4                  0x10
2920 #define _ODCC5                  0x20
2921 
2922 //==============================================================================
2923 
2924 extern __at(0x0291) __sfr CCPR1;
2925 extern __at(0x0291) __sfr CCPR1L;
2926 extern __at(0x0292) __sfr CCPR1H;
2927 
2928 //==============================================================================
2929 //        CCP1CON Bits
2930 
2931 extern __at(0x0293) __sfr CCP1CON;
2932 
2933 typedef union
2934   {
2935   struct
2936     {
2937     unsigned CCP1MODE0          : 1;
2938     unsigned CCP1MODE1          : 1;
2939     unsigned CCP1MODE2          : 1;
2940     unsigned CCP1MODE3          : 1;
2941     unsigned CCP1FMT            : 1;
2942     unsigned CCP1OUT            : 1;
2943     unsigned                    : 1;
2944     unsigned CCP1EN             : 1;
2945     };
2946 
2947   struct
2948     {
2949     unsigned CCP1MODE           : 4;
2950     unsigned                    : 4;
2951     };
2952   } __CCP1CONbits_t;
2953 
2954 extern __at(0x0293) volatile __CCP1CONbits_t CCP1CONbits;
2955 
2956 #define _CCP1MODE0              0x01
2957 #define _CCP1MODE1              0x02
2958 #define _CCP1MODE2              0x04
2959 #define _CCP1MODE3              0x08
2960 #define _CCP1FMT                0x10
2961 #define _CCP1OUT                0x20
2962 #define _CCP1EN                 0x80
2963 
2964 //==============================================================================
2965 
2966 
2967 //==============================================================================
2968 //        CCP1CAP Bits
2969 
2970 extern __at(0x0294) __sfr CCP1CAP;
2971 
2972 typedef union
2973   {
2974   struct
2975     {
2976     unsigned CCP1CTS0           : 1;
2977     unsigned CCP1CTS1           : 1;
2978     unsigned CCP1CTS2           : 1;
2979     unsigned                    : 1;
2980     unsigned                    : 1;
2981     unsigned                    : 1;
2982     unsigned                    : 1;
2983     unsigned                    : 1;
2984     };
2985 
2986   struct
2987     {
2988     unsigned CCP1CTS            : 3;
2989     unsigned                    : 5;
2990     };
2991   } __CCP1CAPbits_t;
2992 
2993 extern __at(0x0294) volatile __CCP1CAPbits_t CCP1CAPbits;
2994 
2995 #define _CCP1CTS0               0x01
2996 #define _CCP1CTS1               0x02
2997 #define _CCP1CTS2               0x04
2998 
2999 //==============================================================================
3000 
3001 extern __at(0x0295) __sfr CCPR2;
3002 extern __at(0x0295) __sfr CCPR2L;
3003 extern __at(0x0296) __sfr CCPR2H;
3004 
3005 //==============================================================================
3006 //        CCP2CON Bits
3007 
3008 extern __at(0x0297) __sfr CCP2CON;
3009 
3010 typedef union
3011   {
3012   struct
3013     {
3014     unsigned CCP2MODE0          : 1;
3015     unsigned CCP2MODE1          : 1;
3016     unsigned CCP2MODE2          : 1;
3017     unsigned CCP2MODE3          : 1;
3018     unsigned CCP2FMT            : 1;
3019     unsigned CCP2OUT            : 1;
3020     unsigned                    : 1;
3021     unsigned CCP2EN             : 1;
3022     };
3023 
3024   struct
3025     {
3026     unsigned CCP2MODE           : 4;
3027     unsigned                    : 4;
3028     };
3029   } __CCP2CONbits_t;
3030 
3031 extern __at(0x0297) volatile __CCP2CONbits_t CCP2CONbits;
3032 
3033 #define _CCP2MODE0              0x01
3034 #define _CCP2MODE1              0x02
3035 #define _CCP2MODE2              0x04
3036 #define _CCP2MODE3              0x08
3037 #define _CCP2FMT                0x10
3038 #define _CCP2OUT                0x20
3039 #define _CCP2EN                 0x80
3040 
3041 //==============================================================================
3042 
3043 
3044 //==============================================================================
3045 //        CCP2CAP Bits
3046 
3047 extern __at(0x0298) __sfr CCP2CAP;
3048 
3049 typedef union
3050   {
3051   struct
3052     {
3053     unsigned CCP2CTS0           : 1;
3054     unsigned CCP2CTS1           : 1;
3055     unsigned CCP2CTS2           : 1;
3056     unsigned                    : 1;
3057     unsigned                    : 1;
3058     unsigned                    : 1;
3059     unsigned                    : 1;
3060     unsigned                    : 1;
3061     };
3062 
3063   struct
3064     {
3065     unsigned CCP2CTS            : 3;
3066     unsigned                    : 5;
3067     };
3068   } __CCP2CAPbits_t;
3069 
3070 extern __at(0x0298) volatile __CCP2CAPbits_t CCP2CAPbits;
3071 
3072 #define _CCP2CTS0               0x01
3073 #define _CCP2CTS1               0x02
3074 #define _CCP2CTS2               0x04
3075 
3076 //==============================================================================
3077 
3078 
3079 //==============================================================================
3080 //        CCPTMRS Bits
3081 
3082 extern __at(0x029F) __sfr CCPTMRS;
3083 
3084 typedef struct
3085   {
3086   unsigned C1TSEL               : 1;
3087   unsigned                      : 1;
3088   unsigned C2TSEL               : 1;
3089   unsigned                      : 1;
3090   unsigned                      : 1;
3091   unsigned                      : 1;
3092   unsigned                      : 1;
3093   unsigned                      : 1;
3094   } __CCPTMRSbits_t;
3095 
3096 extern __at(0x029F) volatile __CCPTMRSbits_t CCPTMRSbits;
3097 
3098 #define _C1TSEL                 0x01
3099 #define _C2TSEL                 0x04
3100 
3101 //==============================================================================
3102 
3103 
3104 //==============================================================================
3105 //        SLRCONA Bits
3106 
3107 extern __at(0x030C) __sfr SLRCONA;
3108 
3109 typedef struct
3110   {
3111   unsigned SLRA0                : 1;
3112   unsigned SLRA1                : 1;
3113   unsigned SLRA2                : 1;
3114   unsigned                      : 1;
3115   unsigned SLRA4                : 1;
3116   unsigned SLRA5                : 1;
3117   unsigned                      : 1;
3118   unsigned                      : 1;
3119   } __SLRCONAbits_t;
3120 
3121 extern __at(0x030C) volatile __SLRCONAbits_t SLRCONAbits;
3122 
3123 #define _SLRA0                  0x01
3124 #define _SLRA1                  0x02
3125 #define _SLRA2                  0x04
3126 #define _SLRA4                  0x10
3127 #define _SLRA5                  0x20
3128 
3129 //==============================================================================
3130 
3131 
3132 //==============================================================================
3133 //        SLRCONC Bits
3134 
3135 extern __at(0x030E) __sfr SLRCONC;
3136 
3137 typedef union
3138   {
3139   struct
3140     {
3141     unsigned SLRC0              : 1;
3142     unsigned SLRC1              : 1;
3143     unsigned SLRC2              : 1;
3144     unsigned SLRC3              : 1;
3145     unsigned SLRC4              : 1;
3146     unsigned SLRC5              : 1;
3147     unsigned                    : 1;
3148     unsigned                    : 1;
3149     };
3150 
3151   struct
3152     {
3153     unsigned SLRC               : 6;
3154     unsigned                    : 2;
3155     };
3156   } __SLRCONCbits_t;
3157 
3158 extern __at(0x030E) volatile __SLRCONCbits_t SLRCONCbits;
3159 
3160 #define _SLRC0                  0x01
3161 #define _SLRC1                  0x02
3162 #define _SLRC2                  0x04
3163 #define _SLRC3                  0x08
3164 #define _SLRC4                  0x10
3165 #define _SLRC5                  0x20
3166 
3167 //==============================================================================
3168 
3169 
3170 //==============================================================================
3171 //        INLVLA Bits
3172 
3173 extern __at(0x038C) __sfr INLVLA;
3174 
3175 typedef union
3176   {
3177   struct
3178     {
3179     unsigned INLVLA0            : 1;
3180     unsigned INLVLA1            : 1;
3181     unsigned INLVLA2            : 1;
3182     unsigned INLVLA3            : 1;
3183     unsigned INLVLA4            : 1;
3184     unsigned INLVLA5            : 1;
3185     unsigned                    : 1;
3186     unsigned                    : 1;
3187     };
3188 
3189   struct
3190     {
3191     unsigned INLVLA             : 6;
3192     unsigned                    : 2;
3193     };
3194   } __INLVLAbits_t;
3195 
3196 extern __at(0x038C) volatile __INLVLAbits_t INLVLAbits;
3197 
3198 #define _INLVLA0                0x01
3199 #define _INLVLA1                0x02
3200 #define _INLVLA2                0x04
3201 #define _INLVLA3                0x08
3202 #define _INLVLA4                0x10
3203 #define _INLVLA5                0x20
3204 
3205 //==============================================================================
3206 
3207 
3208 //==============================================================================
3209 //        INLVLC Bits
3210 
3211 extern __at(0x038E) __sfr INLVLC;
3212 
3213 typedef union
3214   {
3215   struct
3216     {
3217     unsigned INLVLC0            : 1;
3218     unsigned INLVLC1            : 1;
3219     unsigned INLVLC2            : 1;
3220     unsigned INLVLC3            : 1;
3221     unsigned INLVLC4            : 1;
3222     unsigned INLVLC5            : 1;
3223     unsigned                    : 1;
3224     unsigned                    : 1;
3225     };
3226 
3227   struct
3228     {
3229     unsigned INLVLC             : 6;
3230     unsigned                    : 2;
3231     };
3232   } __INLVLCbits_t;
3233 
3234 extern __at(0x038E) volatile __INLVLCbits_t INLVLCbits;
3235 
3236 #define _INLVLC0                0x01
3237 #define _INLVLC1                0x02
3238 #define _INLVLC2                0x04
3239 #define _INLVLC3                0x08
3240 #define _INLVLC4                0x10
3241 #define _INLVLC5                0x20
3242 
3243 //==============================================================================
3244 
3245 
3246 //==============================================================================
3247 //        IOCAP Bits
3248 
3249 extern __at(0x0391) __sfr IOCAP;
3250 
3251 typedef union
3252   {
3253   struct
3254     {
3255     unsigned IOCAP0             : 1;
3256     unsigned IOCAP1             : 1;
3257     unsigned IOCAP2             : 1;
3258     unsigned IOCAP3             : 1;
3259     unsigned IOCAP4             : 1;
3260     unsigned IOCAP5             : 1;
3261     unsigned                    : 1;
3262     unsigned                    : 1;
3263     };
3264 
3265   struct
3266     {
3267     unsigned IOCAP              : 6;
3268     unsigned                    : 2;
3269     };
3270   } __IOCAPbits_t;
3271 
3272 extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits;
3273 
3274 #define _IOCAP0                 0x01
3275 #define _IOCAP1                 0x02
3276 #define _IOCAP2                 0x04
3277 #define _IOCAP3                 0x08
3278 #define _IOCAP4                 0x10
3279 #define _IOCAP5                 0x20
3280 
3281 //==============================================================================
3282 
3283 
3284 //==============================================================================
3285 //        IOCAN Bits
3286 
3287 extern __at(0x0392) __sfr IOCAN;
3288 
3289 typedef union
3290   {
3291   struct
3292     {
3293     unsigned IOCAN0             : 1;
3294     unsigned IOCAN1             : 1;
3295     unsigned IOCAN2             : 1;
3296     unsigned IOCAN3             : 1;
3297     unsigned IOCAN4             : 1;
3298     unsigned IOCAN5             : 1;
3299     unsigned                    : 1;
3300     unsigned                    : 1;
3301     };
3302 
3303   struct
3304     {
3305     unsigned IOCAN              : 6;
3306     unsigned                    : 2;
3307     };
3308   } __IOCANbits_t;
3309 
3310 extern __at(0x0392) volatile __IOCANbits_t IOCANbits;
3311 
3312 #define _IOCAN0                 0x01
3313 #define _IOCAN1                 0x02
3314 #define _IOCAN2                 0x04
3315 #define _IOCAN3                 0x08
3316 #define _IOCAN4                 0x10
3317 #define _IOCAN5                 0x20
3318 
3319 //==============================================================================
3320 
3321 
3322 //==============================================================================
3323 //        IOCAF Bits
3324 
3325 extern __at(0x0393) __sfr IOCAF;
3326 
3327 typedef union
3328   {
3329   struct
3330     {
3331     unsigned IOCAF0             : 1;
3332     unsigned IOCAF1             : 1;
3333     unsigned IOCAF2             : 1;
3334     unsigned IOCAF3             : 1;
3335     unsigned IOCAF4             : 1;
3336     unsigned IOCAF5             : 1;
3337     unsigned                    : 1;
3338     unsigned                    : 1;
3339     };
3340 
3341   struct
3342     {
3343     unsigned IOCAF              : 6;
3344     unsigned                    : 2;
3345     };
3346   } __IOCAFbits_t;
3347 
3348 extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits;
3349 
3350 #define _IOCAF0                 0x01
3351 #define _IOCAF1                 0x02
3352 #define _IOCAF2                 0x04
3353 #define _IOCAF3                 0x08
3354 #define _IOCAF4                 0x10
3355 #define _IOCAF5                 0x20
3356 
3357 //==============================================================================
3358 
3359 
3360 //==============================================================================
3361 //        IOCCP Bits
3362 
3363 extern __at(0x0397) __sfr IOCCP;
3364 
3365 typedef union
3366   {
3367   struct
3368     {
3369     unsigned IOCCP0             : 1;
3370     unsigned IOCCP1             : 1;
3371     unsigned IOCCP2             : 1;
3372     unsigned IOCCP3             : 1;
3373     unsigned IOCCP4             : 1;
3374     unsigned IOCCP5             : 1;
3375     unsigned                    : 1;
3376     unsigned                    : 1;
3377     };
3378 
3379   struct
3380     {
3381     unsigned IOCCP              : 6;
3382     unsigned                    : 2;
3383     };
3384   } __IOCCPbits_t;
3385 
3386 extern __at(0x0397) volatile __IOCCPbits_t IOCCPbits;
3387 
3388 #define _IOCCP0                 0x01
3389 #define _IOCCP1                 0x02
3390 #define _IOCCP2                 0x04
3391 #define _IOCCP3                 0x08
3392 #define _IOCCP4                 0x10
3393 #define _IOCCP5                 0x20
3394 
3395 //==============================================================================
3396 
3397 
3398 //==============================================================================
3399 //        IOCCN Bits
3400 
3401 extern __at(0x0398) __sfr IOCCN;
3402 
3403 typedef union
3404   {
3405   struct
3406     {
3407     unsigned IOCCN0             : 1;
3408     unsigned IOCCN1             : 1;
3409     unsigned IOCCN2             : 1;
3410     unsigned IOCCN3             : 1;
3411     unsigned IOCCN4             : 1;
3412     unsigned IOCCN5             : 1;
3413     unsigned                    : 1;
3414     unsigned                    : 1;
3415     };
3416 
3417   struct
3418     {
3419     unsigned IOCCN              : 6;
3420     unsigned                    : 2;
3421     };
3422   } __IOCCNbits_t;
3423 
3424 extern __at(0x0398) volatile __IOCCNbits_t IOCCNbits;
3425 
3426 #define _IOCCN0                 0x01
3427 #define _IOCCN1                 0x02
3428 #define _IOCCN2                 0x04
3429 #define _IOCCN3                 0x08
3430 #define _IOCCN4                 0x10
3431 #define _IOCCN5                 0x20
3432 
3433 //==============================================================================
3434 
3435 
3436 //==============================================================================
3437 //        IOCCF Bits
3438 
3439 extern __at(0x0399) __sfr IOCCF;
3440 
3441 typedef union
3442   {
3443   struct
3444     {
3445     unsigned IOCCF0             : 1;
3446     unsigned IOCCF1             : 1;
3447     unsigned IOCCF2             : 1;
3448     unsigned IOCCF3             : 1;
3449     unsigned IOCCF4             : 1;
3450     unsigned IOCCF5             : 1;
3451     unsigned                    : 1;
3452     unsigned                    : 1;
3453     };
3454 
3455   struct
3456     {
3457     unsigned IOCCF              : 6;
3458     unsigned                    : 2;
3459     };
3460   } __IOCCFbits_t;
3461 
3462 extern __at(0x0399) volatile __IOCCFbits_t IOCCFbits;
3463 
3464 #define _IOCCF0                 0x01
3465 #define _IOCCF1                 0x02
3466 #define _IOCCF2                 0x04
3467 #define _IOCCF3                 0x08
3468 #define _IOCCF4                 0x10
3469 #define _IOCCF5                 0x20
3470 
3471 //==============================================================================
3472 
3473 
3474 //==============================================================================
3475 //        CLKRCON Bits
3476 
3477 extern __at(0x039A) __sfr CLKRCON;
3478 
3479 typedef union
3480   {
3481   struct
3482     {
3483     unsigned CLKRDIV0           : 1;
3484     unsigned CLKRDIV1           : 1;
3485     unsigned CLKRDIV2           : 1;
3486     unsigned CLKRDC0            : 1;
3487     unsigned CLKRDC1            : 1;
3488     unsigned                    : 1;
3489     unsigned                    : 1;
3490     unsigned CLKREN             : 1;
3491     };
3492 
3493   struct
3494     {
3495     unsigned CLKRDIV            : 3;
3496     unsigned                    : 5;
3497     };
3498 
3499   struct
3500     {
3501     unsigned                    : 3;
3502     unsigned CLKRDC             : 2;
3503     unsigned                    : 3;
3504     };
3505   } __CLKRCONbits_t;
3506 
3507 extern __at(0x039A) volatile __CLKRCONbits_t CLKRCONbits;
3508 
3509 #define _CLKRDIV0               0x01
3510 #define _CLKRDIV1               0x02
3511 #define _CLKRDIV2               0x04
3512 #define _CLKRDC0                0x08
3513 #define _CLKRDC1                0x10
3514 #define _CLKREN                 0x80
3515 
3516 //==============================================================================
3517 
3518 
3519 //==============================================================================
3520 //        MDCON Bits
3521 
3522 extern __at(0x039C) __sfr MDCON;
3523 
3524 typedef struct
3525   {
3526   unsigned MDBIT                : 1;
3527   unsigned                      : 1;
3528   unsigned                      : 1;
3529   unsigned MDOUT                : 1;
3530   unsigned MDOPOL               : 1;
3531   unsigned                      : 1;
3532   unsigned                      : 1;
3533   unsigned MDEN                 : 1;
3534   } __MDCONbits_t;
3535 
3536 extern __at(0x039C) volatile __MDCONbits_t MDCONbits;
3537 
3538 #define _MDBIT                  0x01
3539 #define _MDOUT                  0x08
3540 #define _MDOPOL                 0x10
3541 #define _MDEN                   0x80
3542 
3543 //==============================================================================
3544 
3545 
3546 //==============================================================================
3547 //        MDSRC Bits
3548 
3549 extern __at(0x039D) __sfr MDSRC;
3550 
3551 typedef union
3552   {
3553   struct
3554     {
3555     unsigned MDMS0              : 1;
3556     unsigned MDMS1              : 1;
3557     unsigned MDMS2              : 1;
3558     unsigned MDMS3              : 1;
3559     unsigned                    : 1;
3560     unsigned                    : 1;
3561     unsigned                    : 1;
3562     unsigned                    : 1;
3563     };
3564 
3565   struct
3566     {
3567     unsigned MDMS               : 4;
3568     unsigned                    : 4;
3569     };
3570   } __MDSRCbits_t;
3571 
3572 extern __at(0x039D) volatile __MDSRCbits_t MDSRCbits;
3573 
3574 #define _MDMS0                  0x01
3575 #define _MDMS1                  0x02
3576 #define _MDMS2                  0x04
3577 #define _MDMS3                  0x08
3578 
3579 //==============================================================================
3580 
3581 
3582 //==============================================================================
3583 //        MDCARH Bits
3584 
3585 extern __at(0x039E) __sfr MDCARH;
3586 
3587 typedef union
3588   {
3589   struct
3590     {
3591     unsigned MDCH0              : 1;
3592     unsigned MDCH1              : 1;
3593     unsigned MDCH2              : 1;
3594     unsigned MDCH3              : 1;
3595     unsigned                    : 1;
3596     unsigned MDCHSYNC           : 1;
3597     unsigned MDCHPOL            : 1;
3598     unsigned                    : 1;
3599     };
3600 
3601   struct
3602     {
3603     unsigned MDCH               : 4;
3604     unsigned                    : 4;
3605     };
3606   } __MDCARHbits_t;
3607 
3608 extern __at(0x039E) volatile __MDCARHbits_t MDCARHbits;
3609 
3610 #define _MDCH0                  0x01
3611 #define _MDCH1                  0x02
3612 #define _MDCH2                  0x04
3613 #define _MDCH3                  0x08
3614 #define _MDCHSYNC               0x20
3615 #define _MDCHPOL                0x40
3616 
3617 //==============================================================================
3618 
3619 
3620 //==============================================================================
3621 //        MDCARL Bits
3622 
3623 extern __at(0x039F) __sfr MDCARL;
3624 
3625 typedef union
3626   {
3627   struct
3628     {
3629     unsigned MDCL0              : 1;
3630     unsigned MDCL1              : 1;
3631     unsigned MDCL2              : 1;
3632     unsigned MDCL3              : 1;
3633     unsigned                    : 1;
3634     unsigned MDCLSYNC           : 1;
3635     unsigned MDCLPOL            : 1;
3636     unsigned                    : 1;
3637     };
3638 
3639   struct
3640     {
3641     unsigned MDCL               : 4;
3642     unsigned                    : 4;
3643     };
3644   } __MDCARLbits_t;
3645 
3646 extern __at(0x039F) volatile __MDCARLbits_t MDCARLbits;
3647 
3648 #define _MDCL0                  0x01
3649 #define _MDCL1                  0x02
3650 #define _MDCL2                  0x04
3651 #define _MDCL3                  0x08
3652 #define _MDCLSYNC               0x20
3653 #define _MDCLPOL                0x40
3654 
3655 //==============================================================================
3656 
3657 
3658 //==============================================================================
3659 //        CCDNA Bits
3660 
3661 extern __at(0x040C) __sfr CCDNA;
3662 
3663 typedef struct
3664   {
3665   unsigned CCDNA0               : 1;
3666   unsigned CCDNA1               : 1;
3667   unsigned CCDNA2               : 1;
3668   unsigned                      : 1;
3669   unsigned CCDNA4               : 1;
3670   unsigned CCDNA5               : 1;
3671   unsigned                      : 1;
3672   unsigned                      : 1;
3673   } __CCDNAbits_t;
3674 
3675 extern __at(0x040C) volatile __CCDNAbits_t CCDNAbits;
3676 
3677 #define _CCDNA0                 0x01
3678 #define _CCDNA1                 0x02
3679 #define _CCDNA2                 0x04
3680 #define _CCDNA4                 0x10
3681 #define _CCDNA5                 0x20
3682 
3683 //==============================================================================
3684 
3685 
3686 //==============================================================================
3687 //        CCDNC Bits
3688 
3689 extern __at(0x040E) __sfr CCDNC;
3690 
3691 typedef union
3692   {
3693   struct
3694     {
3695     unsigned CCDNC0             : 1;
3696     unsigned CCDNC1             : 1;
3697     unsigned CCDNC2             : 1;
3698     unsigned CCDNC3             : 1;
3699     unsigned CCDNC4             : 1;
3700     unsigned CCDNC5             : 1;
3701     unsigned                    : 1;
3702     unsigned                    : 1;
3703     };
3704 
3705   struct
3706     {
3707     unsigned CCDNC              : 6;
3708     unsigned                    : 2;
3709     };
3710   } __CCDNCbits_t;
3711 
3712 extern __at(0x040E) volatile __CCDNCbits_t CCDNCbits;
3713 
3714 #define _CCDNC0                 0x01
3715 #define _CCDNC1                 0x02
3716 #define _CCDNC2                 0x04
3717 #define _CCDNC3                 0x08
3718 #define _CCDNC4                 0x10
3719 #define _CCDNC5                 0x20
3720 
3721 //==============================================================================
3722 
3723 
3724 //==============================================================================
3725 //        CCDCON Bits
3726 
3727 extern __at(0x041F) __sfr CCDCON;
3728 
3729 typedef union
3730   {
3731   struct
3732     {
3733     unsigned CCDS0              : 1;
3734     unsigned CCDS1              : 1;
3735     unsigned                    : 1;
3736     unsigned                    : 1;
3737     unsigned                    : 1;
3738     unsigned                    : 1;
3739     unsigned                    : 1;
3740     unsigned CCDEN              : 1;
3741     };
3742 
3743   struct
3744     {
3745     unsigned CCDS               : 2;
3746     unsigned                    : 6;
3747     };
3748   } __CCDCONbits_t;
3749 
3750 extern __at(0x041F) volatile __CCDCONbits_t CCDCONbits;
3751 
3752 #define _CCDS0                  0x01
3753 #define _CCDS1                  0x02
3754 #define _CCDEN                  0x80
3755 
3756 //==============================================================================
3757 
3758 
3759 //==============================================================================
3760 //        CCDPA Bits
3761 
3762 extern __at(0x048C) __sfr CCDPA;
3763 
3764 typedef struct
3765   {
3766   unsigned CCDPA0               : 1;
3767   unsigned CCDPA1               : 1;
3768   unsigned CCDPA2               : 1;
3769   unsigned                      : 1;
3770   unsigned CCDPA4               : 1;
3771   unsigned CCDPA5               : 1;
3772   unsigned                      : 1;
3773   unsigned                      : 1;
3774   } __CCDPAbits_t;
3775 
3776 extern __at(0x048C) volatile __CCDPAbits_t CCDPAbits;
3777 
3778 #define _CCDPA0                 0x01
3779 #define _CCDPA1                 0x02
3780 #define _CCDPA2                 0x04
3781 #define _CCDPA4                 0x10
3782 #define _CCDPA5                 0x20
3783 
3784 //==============================================================================
3785 
3786 
3787 //==============================================================================
3788 //        CCDPC Bits
3789 
3790 extern __at(0x048E) __sfr CCDPC;
3791 
3792 typedef union
3793   {
3794   struct
3795     {
3796     unsigned CCDPC0             : 1;
3797     unsigned CCDPC1             : 1;
3798     unsigned CCDPC2             : 1;
3799     unsigned CCDPC3             : 1;
3800     unsigned CCDPC4             : 1;
3801     unsigned CCDPC5             : 1;
3802     unsigned                    : 1;
3803     unsigned                    : 1;
3804     };
3805 
3806   struct
3807     {
3808     unsigned CCDPC              : 6;
3809     unsigned                    : 2;
3810     };
3811   } __CCDPCbits_t;
3812 
3813 extern __at(0x048E) volatile __CCDPCbits_t CCDPCbits;
3814 
3815 #define _CCDPC0                 0x01
3816 #define _CCDPC1                 0x02
3817 #define _CCDPC2                 0x04
3818 #define _CCDPC3                 0x08
3819 #define _CCDPC4                 0x10
3820 #define _CCDPC5                 0x20
3821 
3822 //==============================================================================
3823 
3824 extern __at(0x0498) __sfr NCO1ACC;
3825 extern __at(0x0498) __sfr NCO1ACCL;
3826 extern __at(0x0499) __sfr NCO1ACCH;
3827 extern __at(0x049A) __sfr NCO1ACCU;
3828 extern __at(0x049B) __sfr NCO1INC;
3829 extern __at(0x049B) __sfr NCO1INCL;
3830 extern __at(0x049C) __sfr NCO1INCH;
3831 extern __at(0x049D) __sfr NCO1INCU;
3832 
3833 //==============================================================================
3834 //        NCO1CON Bits
3835 
3836 extern __at(0x049E) __sfr NCO1CON;
3837 
3838 typedef struct
3839   {
3840   unsigned N1PFM                : 1;
3841   unsigned                      : 1;
3842   unsigned                      : 1;
3843   unsigned                      : 1;
3844   unsigned N1POL                : 1;
3845   unsigned N1OUT                : 1;
3846   unsigned                      : 1;
3847   unsigned N1EN                 : 1;
3848   } __NCO1CONbits_t;
3849 
3850 extern __at(0x049E) volatile __NCO1CONbits_t NCO1CONbits;
3851 
3852 #define _N1PFM                  0x01
3853 #define _N1POL                  0x10
3854 #define _N1OUT                  0x20
3855 #define _N1EN                   0x80
3856 
3857 //==============================================================================
3858 
3859 extern __at(0x049F) __sfr NCO1CLK;
3860 
3861 //==============================================================================
3862 //        PWM5DCL Bits
3863 
3864 extern __at(0x0617) __sfr PWM5DCL;
3865 
3866 typedef union
3867   {
3868   struct
3869     {
3870     unsigned                    : 1;
3871     unsigned                    : 1;
3872     unsigned                    : 1;
3873     unsigned                    : 1;
3874     unsigned                    : 1;
3875     unsigned                    : 1;
3876     unsigned PWM5DCL0           : 1;
3877     unsigned PWM5DCL1           : 1;
3878     };
3879 
3880   struct
3881     {
3882     unsigned                    : 6;
3883     unsigned PWM5DCL            : 2;
3884     };
3885   } __PWM5DCLbits_t;
3886 
3887 extern __at(0x0617) volatile __PWM5DCLbits_t PWM5DCLbits;
3888 
3889 #define _PWM5DCL0               0x40
3890 #define _PWM5DCL1               0x80
3891 
3892 //==============================================================================
3893 
3894 
3895 //==============================================================================
3896 //        PWM5DCH Bits
3897 
3898 extern __at(0x0618) __sfr PWM5DCH;
3899 
3900 typedef struct
3901   {
3902   unsigned PWM5DCH0             : 1;
3903   unsigned PWM5DCH1             : 1;
3904   unsigned PWM5DCH2             : 1;
3905   unsigned PWM5DCH3             : 1;
3906   unsigned PWM5DCH4             : 1;
3907   unsigned PWM5DCH5             : 1;
3908   unsigned PWM5DCH6             : 1;
3909   unsigned PWM5DCH7             : 1;
3910   } __PWM5DCHbits_t;
3911 
3912 extern __at(0x0618) volatile __PWM5DCHbits_t PWM5DCHbits;
3913 
3914 #define _PWM5DCH0               0x01
3915 #define _PWM5DCH1               0x02
3916 #define _PWM5DCH2               0x04
3917 #define _PWM5DCH3               0x08
3918 #define _PWM5DCH4               0x10
3919 #define _PWM5DCH5               0x20
3920 #define _PWM5DCH6               0x40
3921 #define _PWM5DCH7               0x80
3922 
3923 //==============================================================================
3924 
3925 
3926 //==============================================================================
3927 //        PWM5CON Bits
3928 
3929 extern __at(0x0619) __sfr PWM5CON;
3930 
3931 typedef struct
3932   {
3933   unsigned                      : 1;
3934   unsigned                      : 1;
3935   unsigned                      : 1;
3936   unsigned                      : 1;
3937   unsigned PWM5POL              : 1;
3938   unsigned PWM5OUT              : 1;
3939   unsigned                      : 1;
3940   unsigned PWM5EN               : 1;
3941   } __PWM5CONbits_t;
3942 
3943 extern __at(0x0619) volatile __PWM5CONbits_t PWM5CONbits;
3944 
3945 #define _PWM5POL                0x10
3946 #define _PWM5OUT                0x20
3947 #define _PWM5EN                 0x80
3948 
3949 //==============================================================================
3950 
3951 
3952 //==============================================================================
3953 //        PWM5CON0 Bits
3954 
3955 extern __at(0x0619) __sfr PWM5CON0;
3956 
3957 typedef struct
3958   {
3959   unsigned                      : 1;
3960   unsigned                      : 1;
3961   unsigned                      : 1;
3962   unsigned                      : 1;
3963   unsigned PWM5POL              : 1;
3964   unsigned PWM5OUT              : 1;
3965   unsigned                      : 1;
3966   unsigned PWM5EN               : 1;
3967   } __PWM5CON0bits_t;
3968 
3969 extern __at(0x0619) volatile __PWM5CON0bits_t PWM5CON0bits;
3970 
3971 #define _PWM5CON0_PWM5POL       0x10
3972 #define _PWM5CON0_PWM5OUT       0x20
3973 #define _PWM5CON0_PWM5EN        0x80
3974 
3975 //==============================================================================
3976 
3977 
3978 //==============================================================================
3979 //        PWM6DCL Bits
3980 
3981 extern __at(0x061A) __sfr PWM6DCL;
3982 
3983 typedef union
3984   {
3985   struct
3986     {
3987     unsigned                    : 1;
3988     unsigned                    : 1;
3989     unsigned                    : 1;
3990     unsigned                    : 1;
3991     unsigned                    : 1;
3992     unsigned                    : 1;
3993     unsigned PWM6DCL0           : 1;
3994     unsigned PWM6DCL1           : 1;
3995     };
3996 
3997   struct
3998     {
3999     unsigned                    : 6;
4000     unsigned PWM6DCL            : 2;
4001     };
4002   } __PWM6DCLbits_t;
4003 
4004 extern __at(0x061A) volatile __PWM6DCLbits_t PWM6DCLbits;
4005 
4006 #define _PWM6DCL0               0x40
4007 #define _PWM6DCL1               0x80
4008 
4009 //==============================================================================
4010 
4011 
4012 //==============================================================================
4013 //        PWM6DCH Bits
4014 
4015 extern __at(0x061B) __sfr PWM6DCH;
4016 
4017 typedef struct
4018   {
4019   unsigned PWM6DCH0             : 1;
4020   unsigned PWM6DCH1             : 1;
4021   unsigned PWM6DCH2             : 1;
4022   unsigned PWM6DCH3             : 1;
4023   unsigned PWM6DCH4             : 1;
4024   unsigned PWM6DCH5             : 1;
4025   unsigned PWM6DCH6             : 1;
4026   unsigned PWM6DCH7             : 1;
4027   } __PWM6DCHbits_t;
4028 
4029 extern __at(0x061B) volatile __PWM6DCHbits_t PWM6DCHbits;
4030 
4031 #define _PWM6DCH0               0x01
4032 #define _PWM6DCH1               0x02
4033 #define _PWM6DCH2               0x04
4034 #define _PWM6DCH3               0x08
4035 #define _PWM6DCH4               0x10
4036 #define _PWM6DCH5               0x20
4037 #define _PWM6DCH6               0x40
4038 #define _PWM6DCH7               0x80
4039 
4040 //==============================================================================
4041 
4042 
4043 //==============================================================================
4044 //        PWM6CON Bits
4045 
4046 extern __at(0x061C) __sfr PWM6CON;
4047 
4048 typedef struct
4049   {
4050   unsigned                      : 1;
4051   unsigned                      : 1;
4052   unsigned                      : 1;
4053   unsigned                      : 1;
4054   unsigned PWM6POL              : 1;
4055   unsigned PWM6OUT              : 1;
4056   unsigned                      : 1;
4057   unsigned PWM6EN               : 1;
4058   } __PWM6CONbits_t;
4059 
4060 extern __at(0x061C) volatile __PWM6CONbits_t PWM6CONbits;
4061 
4062 #define _PWM6POL                0x10
4063 #define _PWM6OUT                0x20
4064 #define _PWM6EN                 0x80
4065 
4066 //==============================================================================
4067 
4068 
4069 //==============================================================================
4070 //        PWM6CON0 Bits
4071 
4072 extern __at(0x061C) __sfr PWM6CON0;
4073 
4074 typedef struct
4075   {
4076   unsigned                      : 1;
4077   unsigned                      : 1;
4078   unsigned                      : 1;
4079   unsigned                      : 1;
4080   unsigned PWM6POL              : 1;
4081   unsigned PWM6OUT              : 1;
4082   unsigned                      : 1;
4083   unsigned PWM6EN               : 1;
4084   } __PWM6CON0bits_t;
4085 
4086 extern __at(0x061C) volatile __PWM6CON0bits_t PWM6CON0bits;
4087 
4088 #define _PWM6CON0_PWM6POL       0x10
4089 #define _PWM6CON0_PWM6OUT       0x20
4090 #define _PWM6CON0_PWM6EN        0x80
4091 
4092 //==============================================================================
4093 
4094 
4095 //==============================================================================
4096 //        CWG1CLKCON Bits
4097 
4098 extern __at(0x0691) __sfr CWG1CLKCON;
4099 
4100 typedef union
4101   {
4102   struct
4103     {
4104     unsigned CS                 : 1;
4105     unsigned                    : 1;
4106     unsigned                    : 1;
4107     unsigned                    : 1;
4108     unsigned                    : 1;
4109     unsigned                    : 1;
4110     unsigned                    : 1;
4111     unsigned                    : 1;
4112     };
4113 
4114   struct
4115     {
4116     unsigned CWG1CS             : 1;
4117     unsigned                    : 1;
4118     unsigned                    : 1;
4119     unsigned                    : 1;
4120     unsigned                    : 1;
4121     unsigned                    : 1;
4122     unsigned                    : 1;
4123     unsigned                    : 1;
4124     };
4125   } __CWG1CLKCONbits_t;
4126 
4127 extern __at(0x0691) volatile __CWG1CLKCONbits_t CWG1CLKCONbits;
4128 
4129 #define _CS                     0x01
4130 #define _CWG1CS                 0x01
4131 
4132 //==============================================================================
4133 
4134 
4135 //==============================================================================
4136 //        CWG1DAT Bits
4137 
4138 extern __at(0x0692) __sfr CWG1DAT;
4139 
4140 typedef union
4141   {
4142   struct
4143     {
4144     unsigned CWG1DAT0           : 1;
4145     unsigned CWG1DAT1           : 1;
4146     unsigned CWG1DAT2           : 1;
4147     unsigned CWG1DAT3           : 1;
4148     unsigned                    : 1;
4149     unsigned                    : 1;
4150     unsigned                    : 1;
4151     unsigned                    : 1;
4152     };
4153 
4154   struct
4155     {
4156     unsigned CWG1DAT            : 4;
4157     unsigned                    : 4;
4158     };
4159   } __CWG1DATbits_t;
4160 
4161 extern __at(0x0692) volatile __CWG1DATbits_t CWG1DATbits;
4162 
4163 #define _CWG1DAT0               0x01
4164 #define _CWG1DAT1               0x02
4165 #define _CWG1DAT2               0x04
4166 #define _CWG1DAT3               0x08
4167 
4168 //==============================================================================
4169 
4170 
4171 //==============================================================================
4172 //        CWG1DBR Bits
4173 
4174 extern __at(0x0693) __sfr CWG1DBR;
4175 
4176 typedef union
4177   {
4178   struct
4179     {
4180     unsigned DBR0               : 1;
4181     unsigned DBR1               : 1;
4182     unsigned DBR2               : 1;
4183     unsigned DBR3               : 1;
4184     unsigned DBR4               : 1;
4185     unsigned DBR5               : 1;
4186     unsigned                    : 1;
4187     unsigned                    : 1;
4188     };
4189 
4190   struct
4191     {
4192     unsigned CWG1DBR0           : 1;
4193     unsigned CWG1DBR1           : 1;
4194     unsigned CWG1DBR2           : 1;
4195     unsigned CWG1DBR3           : 1;
4196     unsigned CWG1DBR4           : 1;
4197     unsigned CWG1DBR5           : 1;
4198     unsigned                    : 1;
4199     unsigned                    : 1;
4200     };
4201 
4202   struct
4203     {
4204     unsigned CWG1DBR            : 6;
4205     unsigned                    : 2;
4206     };
4207 
4208   struct
4209     {
4210     unsigned DBR                : 6;
4211     unsigned                    : 2;
4212     };
4213   } __CWG1DBRbits_t;
4214 
4215 extern __at(0x0693) volatile __CWG1DBRbits_t CWG1DBRbits;
4216 
4217 #define _DBR0                   0x01
4218 #define _CWG1DBR0               0x01
4219 #define _DBR1                   0x02
4220 #define _CWG1DBR1               0x02
4221 #define _DBR2                   0x04
4222 #define _CWG1DBR2               0x04
4223 #define _DBR3                   0x08
4224 #define _CWG1DBR3               0x08
4225 #define _DBR4                   0x10
4226 #define _CWG1DBR4               0x10
4227 #define _DBR5                   0x20
4228 #define _CWG1DBR5               0x20
4229 
4230 //==============================================================================
4231 
4232 
4233 //==============================================================================
4234 //        CWG1DBF Bits
4235 
4236 extern __at(0x0694) __sfr CWG1DBF;
4237 
4238 typedef union
4239   {
4240   struct
4241     {
4242     unsigned DBF0               : 1;
4243     unsigned DBF1               : 1;
4244     unsigned DBF2               : 1;
4245     unsigned DBF3               : 1;
4246     unsigned DBF4               : 1;
4247     unsigned DBF5               : 1;
4248     unsigned                    : 1;
4249     unsigned                    : 1;
4250     };
4251 
4252   struct
4253     {
4254     unsigned CWG1DBF0           : 1;
4255     unsigned CWG1DBF1           : 1;
4256     unsigned CWG1DBF2           : 1;
4257     unsigned CWG1DBF3           : 1;
4258     unsigned CWG1DBF4           : 1;
4259     unsigned CWG1DBF5           : 1;
4260     unsigned                    : 1;
4261     unsigned                    : 1;
4262     };
4263 
4264   struct
4265     {
4266     unsigned DBF                : 6;
4267     unsigned                    : 2;
4268     };
4269 
4270   struct
4271     {
4272     unsigned CWG1DBF            : 6;
4273     unsigned                    : 2;
4274     };
4275   } __CWG1DBFbits_t;
4276 
4277 extern __at(0x0694) volatile __CWG1DBFbits_t CWG1DBFbits;
4278 
4279 #define _DBF0                   0x01
4280 #define _CWG1DBF0               0x01
4281 #define _DBF1                   0x02
4282 #define _CWG1DBF1               0x02
4283 #define _DBF2                   0x04
4284 #define _CWG1DBF2               0x04
4285 #define _DBF3                   0x08
4286 #define _CWG1DBF3               0x08
4287 #define _DBF4                   0x10
4288 #define _CWG1DBF4               0x10
4289 #define _DBF5                   0x20
4290 #define _CWG1DBF5               0x20
4291 
4292 //==============================================================================
4293 
4294 
4295 //==============================================================================
4296 //        CWG1CON0 Bits
4297 
4298 extern __at(0x0695) __sfr CWG1CON0;
4299 
4300 typedef union
4301   {
4302   struct
4303     {
4304     unsigned MODE0              : 1;
4305     unsigned MODE1              : 1;
4306     unsigned MODE2              : 1;
4307     unsigned                    : 1;
4308     unsigned                    : 1;
4309     unsigned                    : 1;
4310     unsigned LD                 : 1;
4311     unsigned EN                 : 1;
4312     };
4313 
4314   struct
4315     {
4316     unsigned CWG1MODE0          : 1;
4317     unsigned CWG1MODE1          : 1;
4318     unsigned CWG1MODE2          : 1;
4319     unsigned                    : 1;
4320     unsigned                    : 1;
4321     unsigned                    : 1;
4322     unsigned CWG1LD             : 1;
4323     unsigned G1EN               : 1;
4324     };
4325 
4326   struct
4327     {
4328     unsigned                    : 1;
4329     unsigned                    : 1;
4330     unsigned                    : 1;
4331     unsigned                    : 1;
4332     unsigned                    : 1;
4333     unsigned                    : 1;
4334     unsigned                    : 1;
4335     unsigned CWG1EN             : 1;
4336     };
4337 
4338   struct
4339     {
4340     unsigned CWG1MODE           : 3;
4341     unsigned                    : 5;
4342     };
4343 
4344   struct
4345     {
4346     unsigned MODE               : 3;
4347     unsigned                    : 5;
4348     };
4349   } __CWG1CON0bits_t;
4350 
4351 extern __at(0x0695) volatile __CWG1CON0bits_t CWG1CON0bits;
4352 
4353 #define _CWG1CON0_MODE0         0x01
4354 #define _CWG1CON0_CWG1MODE0     0x01
4355 #define _CWG1CON0_MODE1         0x02
4356 #define _CWG1CON0_CWG1MODE1     0x02
4357 #define _CWG1CON0_MODE2         0x04
4358 #define _CWG1CON0_CWG1MODE2     0x04
4359 #define _CWG1CON0_LD            0x40
4360 #define _CWG1CON0_CWG1LD        0x40
4361 #define _CWG1CON0_EN            0x80
4362 #define _CWG1CON0_G1EN          0x80
4363 #define _CWG1CON0_CWG1EN        0x80
4364 
4365 //==============================================================================
4366 
4367 
4368 //==============================================================================
4369 //        CWG1CON1 Bits
4370 
4371 extern __at(0x0696) __sfr CWG1CON1;
4372 
4373 typedef union
4374   {
4375   struct
4376     {
4377     unsigned POLA               : 1;
4378     unsigned POLB               : 1;
4379     unsigned POLC               : 1;
4380     unsigned POLD               : 1;
4381     unsigned                    : 1;
4382     unsigned IN                 : 1;
4383     unsigned                    : 1;
4384     unsigned                    : 1;
4385     };
4386 
4387   struct
4388     {
4389     unsigned CWG1POLA           : 1;
4390     unsigned CWG1POLB           : 1;
4391     unsigned CWG1POLC           : 1;
4392     unsigned CWG1POLD           : 1;
4393     unsigned                    : 1;
4394     unsigned CWG1IN             : 1;
4395     unsigned                    : 1;
4396     unsigned                    : 1;
4397     };
4398   } __CWG1CON1bits_t;
4399 
4400 extern __at(0x0696) volatile __CWG1CON1bits_t CWG1CON1bits;
4401 
4402 #define _POLA                   0x01
4403 #define _CWG1POLA               0x01
4404 #define _POLB                   0x02
4405 #define _CWG1POLB               0x02
4406 #define _POLC                   0x04
4407 #define _CWG1POLC               0x04
4408 #define _POLD                   0x08
4409 #define _CWG1POLD               0x08
4410 #define _IN                     0x20
4411 #define _CWG1IN                 0x20
4412 
4413 //==============================================================================
4414 
4415 
4416 //==============================================================================
4417 //        CWG1AS0 Bits
4418 
4419 extern __at(0x0697) __sfr CWG1AS0;
4420 
4421 typedef union
4422   {
4423   struct
4424     {
4425     unsigned                    : 1;
4426     unsigned                    : 1;
4427     unsigned LSAC0              : 1;
4428     unsigned LSAC1              : 1;
4429     unsigned LSBD0              : 1;
4430     unsigned LSBD1              : 1;
4431     unsigned REN                : 1;
4432     unsigned SHUTDOWN           : 1;
4433     };
4434 
4435   struct
4436     {
4437     unsigned                    : 1;
4438     unsigned                    : 1;
4439     unsigned CWG1LSAC0          : 1;
4440     unsigned CWG1LSAC1          : 1;
4441     unsigned CWG1LSBD0          : 1;
4442     unsigned CWG1LSBD1          : 1;
4443     unsigned CWG1REN            : 1;
4444     unsigned CWG1SHUTDOWN       : 1;
4445     };
4446 
4447   struct
4448     {
4449     unsigned                    : 2;
4450     unsigned CWG1LSAC           : 2;
4451     unsigned                    : 4;
4452     };
4453 
4454   struct
4455     {
4456     unsigned                    : 2;
4457     unsigned LSAC               : 2;
4458     unsigned                    : 4;
4459     };
4460 
4461   struct
4462     {
4463     unsigned                    : 4;
4464     unsigned LSBD               : 2;
4465     unsigned                    : 2;
4466     };
4467 
4468   struct
4469     {
4470     unsigned                    : 4;
4471     unsigned CWG1LSBD           : 2;
4472     unsigned                    : 2;
4473     };
4474   } __CWG1AS0bits_t;
4475 
4476 extern __at(0x0697) volatile __CWG1AS0bits_t CWG1AS0bits;
4477 
4478 #define _LSAC0                  0x04
4479 #define _CWG1LSAC0              0x04
4480 #define _LSAC1                  0x08
4481 #define _CWG1LSAC1              0x08
4482 #define _LSBD0                  0x10
4483 #define _CWG1LSBD0              0x10
4484 #define _LSBD1                  0x20
4485 #define _CWG1LSBD1              0x20
4486 #define _REN                    0x40
4487 #define _CWG1REN                0x40
4488 #define _SHUTDOWN               0x80
4489 #define _CWG1SHUTDOWN           0x80
4490 
4491 //==============================================================================
4492 
4493 
4494 //==============================================================================
4495 //        CWG1AS1 Bits
4496 
4497 extern __at(0x0698) __sfr CWG1AS1;
4498 
4499 typedef struct
4500   {
4501   unsigned AS0E                 : 1;
4502   unsigned AS1E                 : 1;
4503   unsigned AS2E                 : 1;
4504   unsigned AS3E                 : 1;
4505   unsigned                      : 1;
4506   unsigned                      : 1;
4507   unsigned                      : 1;
4508   unsigned                      : 1;
4509   } __CWG1AS1bits_t;
4510 
4511 extern __at(0x0698) volatile __CWG1AS1bits_t CWG1AS1bits;
4512 
4513 #define _AS0E                   0x01
4514 #define _AS1E                   0x02
4515 #define _AS2E                   0x04
4516 #define _AS3E                   0x08
4517 
4518 //==============================================================================
4519 
4520 
4521 //==============================================================================
4522 //        CWG1STR Bits
4523 
4524 extern __at(0x0699) __sfr CWG1STR;
4525 
4526 typedef union
4527   {
4528   struct
4529     {
4530     unsigned STRA               : 1;
4531     unsigned STRB               : 1;
4532     unsigned STRC               : 1;
4533     unsigned STRD               : 1;
4534     unsigned OVRA               : 1;
4535     unsigned OVRB               : 1;
4536     unsigned OVRC               : 1;
4537     unsigned OVRD               : 1;
4538     };
4539 
4540   struct
4541     {
4542     unsigned CWG1STRA           : 1;
4543     unsigned CWG1STRB           : 1;
4544     unsigned CWG1STRC           : 1;
4545     unsigned CWG1STRD           : 1;
4546     unsigned CWG1OVRA           : 1;
4547     unsigned CWG1OVRB           : 1;
4548     unsigned CWG1OVRC           : 1;
4549     unsigned CWG1OVRD           : 1;
4550     };
4551   } __CWG1STRbits_t;
4552 
4553 extern __at(0x0699) volatile __CWG1STRbits_t CWG1STRbits;
4554 
4555 #define _STRA                   0x01
4556 #define _CWG1STRA               0x01
4557 #define _STRB                   0x02
4558 #define _CWG1STRB               0x02
4559 #define _STRC                   0x04
4560 #define _CWG1STRC               0x04
4561 #define _STRD                   0x08
4562 #define _CWG1STRD               0x08
4563 #define _OVRA                   0x10
4564 #define _CWG1OVRA               0x10
4565 #define _OVRB                   0x20
4566 #define _CWG1OVRB               0x20
4567 #define _OVRC                   0x40
4568 #define _CWG1OVRC               0x40
4569 #define _OVRD                   0x80
4570 #define _CWG1OVRD               0x80
4571 
4572 //==============================================================================
4573 
4574 extern __at(0x0891) __sfr NVMADR;
4575 
4576 //==============================================================================
4577 //        NVMADRL Bits
4578 
4579 extern __at(0x0891) __sfr NVMADRL;
4580 
4581 typedef struct
4582   {
4583   unsigned NVMADR0              : 1;
4584   unsigned NVMADR1              : 1;
4585   unsigned NVMADR2              : 1;
4586   unsigned NVMADR3              : 1;
4587   unsigned NVMADR4              : 1;
4588   unsigned NVMADR5              : 1;
4589   unsigned NVMADR6              : 1;
4590   unsigned NVMADR7              : 1;
4591   } __NVMADRLbits_t;
4592 
4593 extern __at(0x0891) volatile __NVMADRLbits_t NVMADRLbits;
4594 
4595 #define _NVMADR0                0x01
4596 #define _NVMADR1                0x02
4597 #define _NVMADR2                0x04
4598 #define _NVMADR3                0x08
4599 #define _NVMADR4                0x10
4600 #define _NVMADR5                0x20
4601 #define _NVMADR6                0x40
4602 #define _NVMADR7                0x80
4603 
4604 //==============================================================================
4605 
4606 
4607 //==============================================================================
4608 //        NVMADRH Bits
4609 
4610 extern __at(0x0892) __sfr NVMADRH;
4611 
4612 typedef struct
4613   {
4614   unsigned NVMADR8              : 1;
4615   unsigned NVMADR9              : 1;
4616   unsigned NVMADR10             : 1;
4617   unsigned NVMADR11             : 1;
4618   unsigned NVMADR12             : 1;
4619   unsigned NVMADR13             : 1;
4620   unsigned NVMADR14             : 1;
4621   unsigned                      : 1;
4622   } __NVMADRHbits_t;
4623 
4624 extern __at(0x0892) volatile __NVMADRHbits_t NVMADRHbits;
4625 
4626 #define _NVMADR8                0x01
4627 #define _NVMADR9                0x02
4628 #define _NVMADR10               0x04
4629 #define _NVMADR11               0x08
4630 #define _NVMADR12               0x10
4631 #define _NVMADR13               0x20
4632 #define _NVMADR14               0x40
4633 
4634 //==============================================================================
4635 
4636 extern __at(0x0893) __sfr NVMDAT;
4637 
4638 //==============================================================================
4639 //        NVMDATL Bits
4640 
4641 extern __at(0x0893) __sfr NVMDATL;
4642 
4643 typedef struct
4644   {
4645   unsigned NVMDAT0              : 1;
4646   unsigned NVMDAT1              : 1;
4647   unsigned NVMDAT2              : 1;
4648   unsigned NVMDAT3              : 1;
4649   unsigned NVMDAT4              : 1;
4650   unsigned NVMDAT5              : 1;
4651   unsigned NVMDAT6              : 1;
4652   unsigned NVMDAT7              : 1;
4653   } __NVMDATLbits_t;
4654 
4655 extern __at(0x0893) volatile __NVMDATLbits_t NVMDATLbits;
4656 
4657 #define _NVMDAT0                0x01
4658 #define _NVMDAT1                0x02
4659 #define _NVMDAT2                0x04
4660 #define _NVMDAT3                0x08
4661 #define _NVMDAT4                0x10
4662 #define _NVMDAT5                0x20
4663 #define _NVMDAT6                0x40
4664 #define _NVMDAT7                0x80
4665 
4666 //==============================================================================
4667 
4668 
4669 //==============================================================================
4670 //        NVMDATH Bits
4671 
4672 extern __at(0x0894) __sfr NVMDATH;
4673 
4674 typedef struct
4675   {
4676   unsigned NVMDAT8              : 1;
4677   unsigned NVMDAT9              : 1;
4678   unsigned NVMDAT10             : 1;
4679   unsigned NVMDAT11             : 1;
4680   unsigned NVMDAT12             : 1;
4681   unsigned NVMDAT13             : 1;
4682   unsigned                      : 1;
4683   unsigned                      : 1;
4684   } __NVMDATHbits_t;
4685 
4686 extern __at(0x0894) volatile __NVMDATHbits_t NVMDATHbits;
4687 
4688 #define _NVMDAT8                0x01
4689 #define _NVMDAT9                0x02
4690 #define _NVMDAT10               0x04
4691 #define _NVMDAT11               0x08
4692 #define _NVMDAT12               0x10
4693 #define _NVMDAT13               0x20
4694 
4695 //==============================================================================
4696 
4697 
4698 //==============================================================================
4699 //        NVMCON1 Bits
4700 
4701 extern __at(0x0895) __sfr NVMCON1;
4702 
4703 typedef struct
4704   {
4705   unsigned RD                   : 1;
4706   unsigned WR                   : 1;
4707   unsigned WREN                 : 1;
4708   unsigned WRERR                : 1;
4709   unsigned FREE                 : 1;
4710   unsigned LWLO                 : 1;
4711   unsigned NVMREGS              : 1;
4712   unsigned                      : 1;
4713   } __NVMCON1bits_t;
4714 
4715 extern __at(0x0895) volatile __NVMCON1bits_t NVMCON1bits;
4716 
4717 #define _RD                     0x01
4718 #define _WR                     0x02
4719 #define _WREN                   0x04
4720 #define _WRERR                  0x08
4721 #define _FREE                   0x10
4722 #define _LWLO                   0x20
4723 #define _NVMREGS                0x40
4724 
4725 //==============================================================================
4726 
4727 extern __at(0x0896) __sfr NVMCON2;
4728 
4729 //==============================================================================
4730 //        PCON0 Bits
4731 
4732 extern __at(0x089B) __sfr PCON0;
4733 
4734 typedef struct
4735   {
4736   unsigned NOT_BOR              : 1;
4737   unsigned NOT_POR              : 1;
4738   unsigned NOT_RI               : 1;
4739   unsigned NOT_RMCLR            : 1;
4740   unsigned NOT_RWDT             : 1;
4741   unsigned                      : 1;
4742   unsigned STKUNF               : 1;
4743   unsigned STKOVF               : 1;
4744   } __PCON0bits_t;
4745 
4746 extern __at(0x089B) volatile __PCON0bits_t PCON0bits;
4747 
4748 #define _NOT_BOR                0x01
4749 #define _NOT_POR                0x02
4750 #define _NOT_RI                 0x04
4751 #define _NOT_RMCLR              0x08
4752 #define _NOT_RWDT               0x10
4753 #define _STKUNF                 0x40
4754 #define _STKOVF                 0x80
4755 
4756 //==============================================================================
4757 
4758 
4759 //==============================================================================
4760 //        PMD0 Bits
4761 
4762 extern __at(0x0911) __sfr PMD0;
4763 
4764 typedef struct
4765   {
4766   unsigned IOCMD                : 1;
4767   unsigned CLKRMD               : 1;
4768   unsigned NVMMD                : 1;
4769   unsigned                      : 1;
4770   unsigned                      : 1;
4771   unsigned                      : 1;
4772   unsigned FVRMD                : 1;
4773   unsigned SYSCMD               : 1;
4774   } __PMD0bits_t;
4775 
4776 extern __at(0x0911) volatile __PMD0bits_t PMD0bits;
4777 
4778 #define _IOCMD                  0x01
4779 #define _CLKRMD                 0x02
4780 #define _NVMMD                  0x04
4781 #define _FVRMD                  0x40
4782 #define _SYSCMD                 0x80
4783 
4784 //==============================================================================
4785 
4786 
4787 //==============================================================================
4788 //        PMD1 Bits
4789 
4790 extern __at(0x0912) __sfr PMD1;
4791 
4792 typedef struct
4793   {
4794   unsigned TMR0MD               : 1;
4795   unsigned TMR1MD               : 1;
4796   unsigned TMR2MD               : 1;
4797   unsigned                      : 1;
4798   unsigned                      : 1;
4799   unsigned                      : 1;
4800   unsigned                      : 1;
4801   unsigned NCOMD                : 1;
4802   } __PMD1bits_t;
4803 
4804 extern __at(0x0912) volatile __PMD1bits_t PMD1bits;
4805 
4806 #define _TMR0MD                 0x01
4807 #define _TMR1MD                 0x02
4808 #define _TMR2MD                 0x04
4809 #define _NCOMD                  0x80
4810 
4811 //==============================================================================
4812 
4813 
4814 //==============================================================================
4815 //        PMD2 Bits
4816 
4817 extern __at(0x0913) __sfr PMD2;
4818 
4819 typedef struct
4820   {
4821   unsigned                      : 1;
4822   unsigned CMP1MD               : 1;
4823   unsigned CMP2MD               : 1;
4824   unsigned                      : 1;
4825   unsigned                      : 1;
4826   unsigned ADCMD                : 1;
4827   unsigned DACMD                : 1;
4828   unsigned                      : 1;
4829   } __PMD2bits_t;
4830 
4831 extern __at(0x0913) volatile __PMD2bits_t PMD2bits;
4832 
4833 #define _CMP1MD                 0x02
4834 #define _CMP2MD                 0x04
4835 #define _ADCMD                  0x20
4836 #define _DACMD                  0x40
4837 
4838 //==============================================================================
4839 
4840 
4841 //==============================================================================
4842 //        PMD3 Bits
4843 
4844 extern __at(0x0914) __sfr PMD3;
4845 
4846 typedef struct
4847   {
4848   unsigned CCP1MD               : 1;
4849   unsigned CCP2MD               : 1;
4850   unsigned                      : 1;
4851   unsigned                      : 1;
4852   unsigned PWM5MD               : 1;
4853   unsigned PWM6MD               : 1;
4854   unsigned CWG1MD               : 1;
4855   unsigned                      : 1;
4856   } __PMD3bits_t;
4857 
4858 extern __at(0x0914) volatile __PMD3bits_t PMD3bits;
4859 
4860 #define _CCP1MD                 0x01
4861 #define _CCP2MD                 0x02
4862 #define _PWM5MD                 0x10
4863 #define _PWM6MD                 0x20
4864 #define _CWG1MD                 0x40
4865 
4866 //==============================================================================
4867 
4868 
4869 //==============================================================================
4870 //        PMD4 Bits
4871 
4872 extern __at(0x0915) __sfr PMD4;
4873 
4874 typedef struct
4875   {
4876   unsigned                      : 1;
4877   unsigned MSSP1MD              : 1;
4878   unsigned                      : 1;
4879   unsigned                      : 1;
4880   unsigned                      : 1;
4881   unsigned UART1MD              : 1;
4882   unsigned                      : 1;
4883   unsigned                      : 1;
4884   } __PMD4bits_t;
4885 
4886 extern __at(0x0915) volatile __PMD4bits_t PMD4bits;
4887 
4888 #define _MSSP1MD                0x02
4889 #define _UART1MD                0x20
4890 
4891 //==============================================================================
4892 
4893 
4894 //==============================================================================
4895 //        PMD5 Bits
4896 
4897 extern __at(0x0916) __sfr PMD5;
4898 
4899 typedef struct
4900   {
4901   unsigned DSMMD                : 1;
4902   unsigned CLC1MD               : 1;
4903   unsigned CLC2MD               : 1;
4904   unsigned                      : 1;
4905   unsigned                      : 1;
4906   unsigned                      : 1;
4907   unsigned                      : 1;
4908   unsigned                      : 1;
4909   } __PMD5bits_t;
4910 
4911 extern __at(0x0916) volatile __PMD5bits_t PMD5bits;
4912 
4913 #define _DSMMD                  0x01
4914 #define _CLC1MD                 0x02
4915 #define _CLC2MD                 0x04
4916 
4917 //==============================================================================
4918 
4919 
4920 //==============================================================================
4921 //        CPUDOZE Bits
4922 
4923 extern __at(0x0918) __sfr CPUDOZE;
4924 
4925 typedef union
4926   {
4927   struct
4928     {
4929     unsigned DOZE0              : 1;
4930     unsigned DOZE1              : 1;
4931     unsigned DOZE2              : 1;
4932     unsigned                    : 1;
4933     unsigned DOE                : 1;
4934     unsigned ROI                : 1;
4935     unsigned DOZEN              : 1;
4936     unsigned IDLEN              : 1;
4937     };
4938 
4939   struct
4940     {
4941     unsigned DOZE               : 3;
4942     unsigned                    : 5;
4943     };
4944   } __CPUDOZEbits_t;
4945 
4946 extern __at(0x0918) volatile __CPUDOZEbits_t CPUDOZEbits;
4947 
4948 #define _DOZE0                  0x01
4949 #define _DOZE1                  0x02
4950 #define _DOZE2                  0x04
4951 #define _DOE                    0x10
4952 #define _ROI                    0x20
4953 #define _DOZEN                  0x40
4954 #define _IDLEN                  0x80
4955 
4956 //==============================================================================
4957 
4958 
4959 //==============================================================================
4960 //        OSCCON1 Bits
4961 
4962 extern __at(0x0919) __sfr OSCCON1;
4963 
4964 typedef union
4965   {
4966   struct
4967     {
4968     unsigned NDIV0              : 1;
4969     unsigned NDIV1              : 1;
4970     unsigned NDIV2              : 1;
4971     unsigned NDIV3              : 1;
4972     unsigned NOSC0              : 1;
4973     unsigned NOSC1              : 1;
4974     unsigned NOSC2              : 1;
4975     unsigned                    : 1;
4976     };
4977 
4978   struct
4979     {
4980     unsigned NDIV               : 4;
4981     unsigned                    : 4;
4982     };
4983 
4984   struct
4985     {
4986     unsigned                    : 4;
4987     unsigned NOSC               : 3;
4988     unsigned                    : 1;
4989     };
4990   } __OSCCON1bits_t;
4991 
4992 extern __at(0x0919) volatile __OSCCON1bits_t OSCCON1bits;
4993 
4994 #define _NDIV0                  0x01
4995 #define _NDIV1                  0x02
4996 #define _NDIV2                  0x04
4997 #define _NDIV3                  0x08
4998 #define _NOSC0                  0x10
4999 #define _NOSC1                  0x20
5000 #define _NOSC2                  0x40
5001 
5002 //==============================================================================
5003 
5004 
5005 //==============================================================================
5006 //        OSCCON2 Bits
5007 
5008 extern __at(0x091A) __sfr OSCCON2;
5009 
5010 typedef union
5011   {
5012   struct
5013     {
5014     unsigned CDIV0              : 1;
5015     unsigned CDIV1              : 1;
5016     unsigned CDIV2              : 1;
5017     unsigned CDIV3              : 1;
5018     unsigned COSC0              : 1;
5019     unsigned COSC1              : 1;
5020     unsigned COSC2              : 1;
5021     unsigned                    : 1;
5022     };
5023 
5024   struct
5025     {
5026     unsigned CDIV               : 4;
5027     unsigned                    : 4;
5028     };
5029 
5030   struct
5031     {
5032     unsigned                    : 4;
5033     unsigned COSC               : 3;
5034     unsigned                    : 1;
5035     };
5036   } __OSCCON2bits_t;
5037 
5038 extern __at(0x091A) volatile __OSCCON2bits_t OSCCON2bits;
5039 
5040 #define _CDIV0                  0x01
5041 #define _CDIV1                  0x02
5042 #define _CDIV2                  0x04
5043 #define _CDIV3                  0x08
5044 #define _COSC0                  0x10
5045 #define _COSC1                  0x20
5046 #define _COSC2                  0x40
5047 
5048 //==============================================================================
5049 
5050 
5051 //==============================================================================
5052 //        OSCCON3 Bits
5053 
5054 extern __at(0x091B) __sfr OSCCON3;
5055 
5056 typedef struct
5057   {
5058   unsigned                      : 1;
5059   unsigned                      : 1;
5060   unsigned                      : 1;
5061   unsigned NOSCR                : 1;
5062   unsigned ORDY                 : 1;
5063   unsigned SOSCBE               : 1;
5064   unsigned SOSCPWR              : 1;
5065   unsigned CSWHOLD              : 1;
5066   } __OSCCON3bits_t;
5067 
5068 extern __at(0x091B) volatile __OSCCON3bits_t OSCCON3bits;
5069 
5070 #define _NOSCR                  0x08
5071 #define _ORDY                   0x10
5072 #define _SOSCBE                 0x20
5073 #define _SOSCPWR                0x40
5074 #define _CSWHOLD                0x80
5075 
5076 //==============================================================================
5077 
5078 
5079 //==============================================================================
5080 //        OSCSTAT1 Bits
5081 
5082 extern __at(0x091C) __sfr OSCSTAT1;
5083 
5084 typedef struct
5085   {
5086   unsigned PLLR                 : 1;
5087   unsigned                      : 1;
5088   unsigned ADOR                 : 1;
5089   unsigned SOR                  : 1;
5090   unsigned LFOR                 : 1;
5091   unsigned                      : 1;
5092   unsigned HFOR                 : 1;
5093   unsigned EXTOR                : 1;
5094   } __OSCSTAT1bits_t;
5095 
5096 extern __at(0x091C) volatile __OSCSTAT1bits_t OSCSTAT1bits;
5097 
5098 #define _PLLR                   0x01
5099 #define _ADOR                   0x04
5100 #define _SOR                    0x08
5101 #define _LFOR                   0x10
5102 #define _HFOR                   0x40
5103 #define _EXTOR                  0x80
5104 
5105 //==============================================================================
5106 
5107 
5108 //==============================================================================
5109 //        OSCEN Bits
5110 
5111 extern __at(0x091D) __sfr OSCEN;
5112 
5113 typedef struct
5114   {
5115   unsigned                      : 1;
5116   unsigned                      : 1;
5117   unsigned ADOEN                : 1;
5118   unsigned SOSCEN               : 1;
5119   unsigned LFOEN                : 1;
5120   unsigned                      : 1;
5121   unsigned HFOEN                : 1;
5122   unsigned EXTOEN               : 1;
5123   } __OSCENbits_t;
5124 
5125 extern __at(0x091D) volatile __OSCENbits_t OSCENbits;
5126 
5127 #define _ADOEN                  0x04
5128 #define _SOSCEN                 0x08
5129 #define _LFOEN                  0x10
5130 #define _HFOEN                  0x40
5131 #define _EXTOEN                 0x80
5132 
5133 //==============================================================================
5134 
5135 
5136 //==============================================================================
5137 //        OSCTUNE Bits
5138 
5139 extern __at(0x091E) __sfr OSCTUNE;
5140 
5141 typedef union
5142   {
5143   struct
5144     {
5145     unsigned HFTUN0             : 1;
5146     unsigned HFTUN1             : 1;
5147     unsigned HFTUN2             : 1;
5148     unsigned HFTUN3             : 1;
5149     unsigned HFTUN4             : 1;
5150     unsigned HFTUN5             : 1;
5151     unsigned                    : 1;
5152     unsigned                    : 1;
5153     };
5154 
5155   struct
5156     {
5157     unsigned HFTUN              : 6;
5158     unsigned                    : 2;
5159     };
5160   } __OSCTUNEbits_t;
5161 
5162 extern __at(0x091E) volatile __OSCTUNEbits_t OSCTUNEbits;
5163 
5164 #define _HFTUN0                 0x01
5165 #define _HFTUN1                 0x02
5166 #define _HFTUN2                 0x04
5167 #define _HFTUN3                 0x08
5168 #define _HFTUN4                 0x10
5169 #define _HFTUN5                 0x20
5170 
5171 //==============================================================================
5172 
5173 
5174 //==============================================================================
5175 //        OSCFRQ Bits
5176 
5177 extern __at(0x091F) __sfr OSCFRQ;
5178 
5179 typedef union
5180   {
5181   struct
5182     {
5183     unsigned HFFRQ0             : 1;
5184     unsigned HFFRQ1             : 1;
5185     unsigned HFFRQ2             : 1;
5186     unsigned HFFRQ3             : 1;
5187     unsigned                    : 1;
5188     unsigned                    : 1;
5189     unsigned                    : 1;
5190     unsigned                    : 1;
5191     };
5192 
5193   struct
5194     {
5195     unsigned HFFRQ              : 4;
5196     unsigned                    : 4;
5197     };
5198   } __OSCFRQbits_t;
5199 
5200 extern __at(0x091F) volatile __OSCFRQbits_t OSCFRQbits;
5201 
5202 #define _HFFRQ0                 0x01
5203 #define _HFFRQ1                 0x02
5204 #define _HFFRQ2                 0x04
5205 #define _HFFRQ3                 0x08
5206 
5207 //==============================================================================
5208 
5209 
5210 //==============================================================================
5211 //        PPSLOCK Bits
5212 
5213 extern __at(0x0E0F) __sfr PPSLOCK;
5214 
5215 typedef struct
5216   {
5217   unsigned PPSLOCKED            : 1;
5218   unsigned                      : 1;
5219   unsigned                      : 1;
5220   unsigned                      : 1;
5221   unsigned                      : 1;
5222   unsigned                      : 1;
5223   unsigned                      : 1;
5224   unsigned                      : 1;
5225   } __PPSLOCKbits_t;
5226 
5227 extern __at(0x0E0F) volatile __PPSLOCKbits_t PPSLOCKbits;
5228 
5229 #define _PPSLOCKED              0x01
5230 
5231 //==============================================================================
5232 
5233 
5234 //==============================================================================
5235 //        INTPPS Bits
5236 
5237 extern __at(0x0E10) __sfr INTPPS;
5238 
5239 typedef union
5240   {
5241   struct
5242     {
5243     unsigned INTPPS0            : 1;
5244     unsigned INTPPS1            : 1;
5245     unsigned INTPPS2            : 1;
5246     unsigned INTPPS3            : 1;
5247     unsigned INTPPS4            : 1;
5248     unsigned                    : 1;
5249     unsigned                    : 1;
5250     unsigned                    : 1;
5251     };
5252 
5253   struct
5254     {
5255     unsigned INTPPS             : 5;
5256     unsigned                    : 3;
5257     };
5258   } __INTPPSbits_t;
5259 
5260 extern __at(0x0E10) volatile __INTPPSbits_t INTPPSbits;
5261 
5262 #define _INTPPS0                0x01
5263 #define _INTPPS1                0x02
5264 #define _INTPPS2                0x04
5265 #define _INTPPS3                0x08
5266 #define _INTPPS4                0x10
5267 
5268 //==============================================================================
5269 
5270 
5271 //==============================================================================
5272 //        T0CKIPPS Bits
5273 
5274 extern __at(0x0E11) __sfr T0CKIPPS;
5275 
5276 typedef union
5277   {
5278   struct
5279     {
5280     unsigned T0CKIPPS0          : 1;
5281     unsigned T0CKIPPS1          : 1;
5282     unsigned T0CKIPPS2          : 1;
5283     unsigned T0CKIPPS3          : 1;
5284     unsigned T0CKIPPS4          : 1;
5285     unsigned                    : 1;
5286     unsigned                    : 1;
5287     unsigned                    : 1;
5288     };
5289 
5290   struct
5291     {
5292     unsigned T0CKIPPS           : 5;
5293     unsigned                    : 3;
5294     };
5295   } __T0CKIPPSbits_t;
5296 
5297 extern __at(0x0E11) volatile __T0CKIPPSbits_t T0CKIPPSbits;
5298 
5299 #define _T0CKIPPS0              0x01
5300 #define _T0CKIPPS1              0x02
5301 #define _T0CKIPPS2              0x04
5302 #define _T0CKIPPS3              0x08
5303 #define _T0CKIPPS4              0x10
5304 
5305 //==============================================================================
5306 
5307 
5308 //==============================================================================
5309 //        T1CKIPPS Bits
5310 
5311 extern __at(0x0E12) __sfr T1CKIPPS;
5312 
5313 typedef union
5314   {
5315   struct
5316     {
5317     unsigned T1CKIPPS0          : 1;
5318     unsigned T1CKIPPS1          : 1;
5319     unsigned T1CKIPPS2          : 1;
5320     unsigned T1CKIPPS3          : 1;
5321     unsigned T1CKIPPS4          : 1;
5322     unsigned                    : 1;
5323     unsigned                    : 1;
5324     unsigned                    : 1;
5325     };
5326 
5327   struct
5328     {
5329     unsigned T1CKIPPS           : 5;
5330     unsigned                    : 3;
5331     };
5332   } __T1CKIPPSbits_t;
5333 
5334 extern __at(0x0E12) volatile __T1CKIPPSbits_t T1CKIPPSbits;
5335 
5336 #define _T1CKIPPS0              0x01
5337 #define _T1CKIPPS1              0x02
5338 #define _T1CKIPPS2              0x04
5339 #define _T1CKIPPS3              0x08
5340 #define _T1CKIPPS4              0x10
5341 
5342 //==============================================================================
5343 
5344 
5345 //==============================================================================
5346 //        T1GPPS Bits
5347 
5348 extern __at(0x0E13) __sfr T1GPPS;
5349 
5350 typedef union
5351   {
5352   struct
5353     {
5354     unsigned T1GPPS0            : 1;
5355     unsigned T1GPPS1            : 1;
5356     unsigned T1GPPS2            : 1;
5357     unsigned T1GPPS3            : 1;
5358     unsigned T1GPPS4            : 1;
5359     unsigned                    : 1;
5360     unsigned                    : 1;
5361     unsigned                    : 1;
5362     };
5363 
5364   struct
5365     {
5366     unsigned T1GPPS             : 5;
5367     unsigned                    : 3;
5368     };
5369   } __T1GPPSbits_t;
5370 
5371 extern __at(0x0E13) volatile __T1GPPSbits_t T1GPPSbits;
5372 
5373 #define _T1GPPS0                0x01
5374 #define _T1GPPS1                0x02
5375 #define _T1GPPS2                0x04
5376 #define _T1GPPS3                0x08
5377 #define _T1GPPS4                0x10
5378 
5379 //==============================================================================
5380 
5381 
5382 //==============================================================================
5383 //        CCP1PPS Bits
5384 
5385 extern __at(0x0E14) __sfr CCP1PPS;
5386 
5387 typedef union
5388   {
5389   struct
5390     {
5391     unsigned CCP1PPS0           : 1;
5392     unsigned CCP1PPS1           : 1;
5393     unsigned CCP1PPS2           : 1;
5394     unsigned CCP1PPS3           : 1;
5395     unsigned CCP1PPS4           : 1;
5396     unsigned                    : 1;
5397     unsigned                    : 1;
5398     unsigned                    : 1;
5399     };
5400 
5401   struct
5402     {
5403     unsigned CCP1PPS            : 5;
5404     unsigned                    : 3;
5405     };
5406   } __CCP1PPSbits_t;
5407 
5408 extern __at(0x0E14) volatile __CCP1PPSbits_t CCP1PPSbits;
5409 
5410 #define _CCP1PPS0               0x01
5411 #define _CCP1PPS1               0x02
5412 #define _CCP1PPS2               0x04
5413 #define _CCP1PPS3               0x08
5414 #define _CCP1PPS4               0x10
5415 
5416 //==============================================================================
5417 
5418 
5419 //==============================================================================
5420 //        CCP2PPS Bits
5421 
5422 extern __at(0x0E15) __sfr CCP2PPS;
5423 
5424 typedef union
5425   {
5426   struct
5427     {
5428     unsigned CCP2PPS0           : 1;
5429     unsigned CCP2PPS1           : 1;
5430     unsigned CCP2PPS2           : 1;
5431     unsigned CCP2PPS3           : 1;
5432     unsigned CCP2PPS4           : 1;
5433     unsigned                    : 1;
5434     unsigned                    : 1;
5435     unsigned                    : 1;
5436     };
5437 
5438   struct
5439     {
5440     unsigned CCP2PPS            : 5;
5441     unsigned                    : 3;
5442     };
5443   } __CCP2PPSbits_t;
5444 
5445 extern __at(0x0E15) volatile __CCP2PPSbits_t CCP2PPSbits;
5446 
5447 #define _CCP2PPS0               0x01
5448 #define _CCP2PPS1               0x02
5449 #define _CCP2PPS2               0x04
5450 #define _CCP2PPS3               0x08
5451 #define _CCP2PPS4               0x10
5452 
5453 //==============================================================================
5454 
5455 
5456 //==============================================================================
5457 //        CWG1PPS Bits
5458 
5459 extern __at(0x0E18) __sfr CWG1PPS;
5460 
5461 typedef union
5462   {
5463   struct
5464     {
5465     unsigned CWG1PPS0           : 1;
5466     unsigned CWG1PPS1           : 1;
5467     unsigned CWG1PPS2           : 1;
5468     unsigned CWG1PPS3           : 1;
5469     unsigned CWG1PPS4           : 1;
5470     unsigned                    : 1;
5471     unsigned                    : 1;
5472     unsigned                    : 1;
5473     };
5474 
5475   struct
5476     {
5477     unsigned CWG1PPS            : 5;
5478     unsigned                    : 3;
5479     };
5480   } __CWG1PPSbits_t;
5481 
5482 extern __at(0x0E18) volatile __CWG1PPSbits_t CWG1PPSbits;
5483 
5484 #define _CWG1PPS0               0x01
5485 #define _CWG1PPS1               0x02
5486 #define _CWG1PPS2               0x04
5487 #define _CWG1PPS3               0x08
5488 #define _CWG1PPS4               0x10
5489 
5490 //==============================================================================
5491 
5492 
5493 //==============================================================================
5494 //        MDCIN1PPS Bits
5495 
5496 extern __at(0x0E1A) __sfr MDCIN1PPS;
5497 
5498 typedef union
5499   {
5500   struct
5501     {
5502     unsigned MDCIN1PPS0         : 1;
5503     unsigned MDCIN1PPS1         : 1;
5504     unsigned MDCIN1PPS2         : 1;
5505     unsigned MDCIN1PPS3         : 1;
5506     unsigned MDCIN1PPS4         : 1;
5507     unsigned                    : 1;
5508     unsigned                    : 1;
5509     unsigned                    : 1;
5510     };
5511 
5512   struct
5513     {
5514     unsigned MDCIN1PPS          : 5;
5515     unsigned                    : 3;
5516     };
5517   } __MDCIN1PPSbits_t;
5518 
5519 extern __at(0x0E1A) volatile __MDCIN1PPSbits_t MDCIN1PPSbits;
5520 
5521 #define _MDCIN1PPS0             0x01
5522 #define _MDCIN1PPS1             0x02
5523 #define _MDCIN1PPS2             0x04
5524 #define _MDCIN1PPS3             0x08
5525 #define _MDCIN1PPS4             0x10
5526 
5527 //==============================================================================
5528 
5529 
5530 //==============================================================================
5531 //        MDCIN2PPS Bits
5532 
5533 extern __at(0x0E1B) __sfr MDCIN2PPS;
5534 
5535 typedef union
5536   {
5537   struct
5538     {
5539     unsigned MDCIN2PPS0         : 1;
5540     unsigned MDCIN2PPS1         : 1;
5541     unsigned MDCIN2PPS2         : 1;
5542     unsigned MDCIN2PPS3         : 1;
5543     unsigned MDCIN2PPS4         : 1;
5544     unsigned                    : 1;
5545     unsigned                    : 1;
5546     unsigned                    : 1;
5547     };
5548 
5549   struct
5550     {
5551     unsigned MDCIN2PPS          : 5;
5552     unsigned                    : 3;
5553     };
5554   } __MDCIN2PPSbits_t;
5555 
5556 extern __at(0x0E1B) volatile __MDCIN2PPSbits_t MDCIN2PPSbits;
5557 
5558 #define _MDCIN2PPS0             0x01
5559 #define _MDCIN2PPS1             0x02
5560 #define _MDCIN2PPS2             0x04
5561 #define _MDCIN2PPS3             0x08
5562 #define _MDCIN2PPS4             0x10
5563 
5564 //==============================================================================
5565 
5566 
5567 //==============================================================================
5568 //        MDMINPPS Bits
5569 
5570 extern __at(0x0E1C) __sfr MDMINPPS;
5571 
5572 typedef union
5573   {
5574   struct
5575     {
5576     unsigned MDMINPPS0          : 1;
5577     unsigned MDMINPPS1          : 1;
5578     unsigned MDMINPPS2          : 1;
5579     unsigned MDMINPPS3          : 1;
5580     unsigned MDMINPPS4          : 1;
5581     unsigned                    : 1;
5582     unsigned                    : 1;
5583     unsigned                    : 1;
5584     };
5585 
5586   struct
5587     {
5588     unsigned MDMINPPS           : 5;
5589     unsigned                    : 3;
5590     };
5591   } __MDMINPPSbits_t;
5592 
5593 extern __at(0x0E1C) volatile __MDMINPPSbits_t MDMINPPSbits;
5594 
5595 #define _MDMINPPS0              0x01
5596 #define _MDMINPPS1              0x02
5597 #define _MDMINPPS2              0x04
5598 #define _MDMINPPS3              0x08
5599 #define _MDMINPPS4              0x10
5600 
5601 //==============================================================================
5602 
5603 
5604 //==============================================================================
5605 //        SSP1CLKPPS Bits
5606 
5607 extern __at(0x0E20) __sfr SSP1CLKPPS;
5608 
5609 typedef union
5610   {
5611   struct
5612     {
5613     unsigned SSP1CLKPPS0        : 1;
5614     unsigned SSP1CLKPPS1        : 1;
5615     unsigned SSP1CLKPPS2        : 1;
5616     unsigned SSP1CLKPPS3        : 1;
5617     unsigned SSP1CLKPPS4        : 1;
5618     unsigned                    : 1;
5619     unsigned                    : 1;
5620     unsigned                    : 1;
5621     };
5622 
5623   struct
5624     {
5625     unsigned SSP1CLKPPS         : 5;
5626     unsigned                    : 3;
5627     };
5628   } __SSP1CLKPPSbits_t;
5629 
5630 extern __at(0x0E20) volatile __SSP1CLKPPSbits_t SSP1CLKPPSbits;
5631 
5632 #define _SSP1CLKPPS0            0x01
5633 #define _SSP1CLKPPS1            0x02
5634 #define _SSP1CLKPPS2            0x04
5635 #define _SSP1CLKPPS3            0x08
5636 #define _SSP1CLKPPS4            0x10
5637 
5638 //==============================================================================
5639 
5640 
5641 //==============================================================================
5642 //        SSP1DATPPS Bits
5643 
5644 extern __at(0x0E21) __sfr SSP1DATPPS;
5645 
5646 typedef union
5647   {
5648   struct
5649     {
5650     unsigned SSP1DATPPS0        : 1;
5651     unsigned SSP1DATPPS1        : 1;
5652     unsigned SSP1DATPPS2        : 1;
5653     unsigned SSP1DATPPS3        : 1;
5654     unsigned SSP1DATPPS4        : 1;
5655     unsigned                    : 1;
5656     unsigned                    : 1;
5657     unsigned                    : 1;
5658     };
5659 
5660   struct
5661     {
5662     unsigned SSP1DATPPS         : 5;
5663     unsigned                    : 3;
5664     };
5665   } __SSP1DATPPSbits_t;
5666 
5667 extern __at(0x0E21) volatile __SSP1DATPPSbits_t SSP1DATPPSbits;
5668 
5669 #define _SSP1DATPPS0            0x01
5670 #define _SSP1DATPPS1            0x02
5671 #define _SSP1DATPPS2            0x04
5672 #define _SSP1DATPPS3            0x08
5673 #define _SSP1DATPPS4            0x10
5674 
5675 //==============================================================================
5676 
5677 
5678 //==============================================================================
5679 //        SSP1SSPPS Bits
5680 
5681 extern __at(0x0E22) __sfr SSP1SSPPS;
5682 
5683 typedef union
5684   {
5685   struct
5686     {
5687     unsigned SSP1SSPPS0         : 1;
5688     unsigned SSP1SSPPS1         : 1;
5689     unsigned SSP1SSPPS2         : 1;
5690     unsigned SSP1SSPPS3         : 1;
5691     unsigned SSP1SSPPS4         : 1;
5692     unsigned                    : 1;
5693     unsigned                    : 1;
5694     unsigned                    : 1;
5695     };
5696 
5697   struct
5698     {
5699     unsigned SSP1SSPPS          : 5;
5700     unsigned                    : 3;
5701     };
5702   } __SSP1SSPPSbits_t;
5703 
5704 extern __at(0x0E22) volatile __SSP1SSPPSbits_t SSP1SSPPSbits;
5705 
5706 #define _SSP1SSPPS0             0x01
5707 #define _SSP1SSPPS1             0x02
5708 #define _SSP1SSPPS2             0x04
5709 #define _SSP1SSPPS3             0x08
5710 #define _SSP1SSPPS4             0x10
5711 
5712 //==============================================================================
5713 
5714 
5715 //==============================================================================
5716 //        RXPPS Bits
5717 
5718 extern __at(0x0E24) __sfr RXPPS;
5719 
5720 typedef union
5721   {
5722   struct
5723     {
5724     unsigned RXPPS0             : 1;
5725     unsigned RXPPS1             : 1;
5726     unsigned RXPPS2             : 1;
5727     unsigned RXPPS3             : 1;
5728     unsigned RXPPS4             : 1;
5729     unsigned                    : 1;
5730     unsigned                    : 1;
5731     unsigned                    : 1;
5732     };
5733 
5734   struct
5735     {
5736     unsigned RXPPS              : 5;
5737     unsigned                    : 3;
5738     };
5739   } __RXPPSbits_t;
5740 
5741 extern __at(0x0E24) volatile __RXPPSbits_t RXPPSbits;
5742 
5743 #define _RXPPS0                 0x01
5744 #define _RXPPS1                 0x02
5745 #define _RXPPS2                 0x04
5746 #define _RXPPS3                 0x08
5747 #define _RXPPS4                 0x10
5748 
5749 //==============================================================================
5750 
5751 
5752 //==============================================================================
5753 //        TXPPS Bits
5754 
5755 extern __at(0x0E25) __sfr TXPPS;
5756 
5757 typedef union
5758   {
5759   struct
5760     {
5761     unsigned TXPPS0             : 1;
5762     unsigned TXPPS1             : 1;
5763     unsigned TXPPS2             : 1;
5764     unsigned TXPPS3             : 1;
5765     unsigned TXPPS4             : 1;
5766     unsigned                    : 1;
5767     unsigned                    : 1;
5768     unsigned                    : 1;
5769     };
5770 
5771   struct
5772     {
5773     unsigned TXPPS              : 5;
5774     unsigned                    : 3;
5775     };
5776   } __TXPPSbits_t;
5777 
5778 extern __at(0x0E25) volatile __TXPPSbits_t TXPPSbits;
5779 
5780 #define _TXPPS0                 0x01
5781 #define _TXPPS1                 0x02
5782 #define _TXPPS2                 0x04
5783 #define _TXPPS3                 0x08
5784 #define _TXPPS4                 0x10
5785 
5786 //==============================================================================
5787 
5788 
5789 //==============================================================================
5790 //        CLCIN0PPS Bits
5791 
5792 extern __at(0x0E28) __sfr CLCIN0PPS;
5793 
5794 typedef union
5795   {
5796   struct
5797     {
5798     unsigned CLCIN0PPS0         : 1;
5799     unsigned CLCIN0PPS1         : 1;
5800     unsigned CLCIN0PPS2         : 1;
5801     unsigned CLCIN0PPS3         : 1;
5802     unsigned CLCIN0PPS4         : 1;
5803     unsigned                    : 1;
5804     unsigned                    : 1;
5805     unsigned                    : 1;
5806     };
5807 
5808   struct
5809     {
5810     unsigned CLCIN0PPS          : 5;
5811     unsigned                    : 3;
5812     };
5813   } __CLCIN0PPSbits_t;
5814 
5815 extern __at(0x0E28) volatile __CLCIN0PPSbits_t CLCIN0PPSbits;
5816 
5817 #define _CLCIN0PPS0             0x01
5818 #define _CLCIN0PPS1             0x02
5819 #define _CLCIN0PPS2             0x04
5820 #define _CLCIN0PPS3             0x08
5821 #define _CLCIN0PPS4             0x10
5822 
5823 //==============================================================================
5824 
5825 
5826 //==============================================================================
5827 //        CLCIN1PPS Bits
5828 
5829 extern __at(0x0E29) __sfr CLCIN1PPS;
5830 
5831 typedef union
5832   {
5833   struct
5834     {
5835     unsigned CLCIN1PPS0         : 1;
5836     unsigned CLCIN1PPS1         : 1;
5837     unsigned CLCIN1PPS2         : 1;
5838     unsigned CLCIN1PPS3         : 1;
5839     unsigned CLCIN1PPS4         : 1;
5840     unsigned                    : 1;
5841     unsigned                    : 1;
5842     unsigned                    : 1;
5843     };
5844 
5845   struct
5846     {
5847     unsigned CLCIN1PPS          : 5;
5848     unsigned                    : 3;
5849     };
5850   } __CLCIN1PPSbits_t;
5851 
5852 extern __at(0x0E29) volatile __CLCIN1PPSbits_t CLCIN1PPSbits;
5853 
5854 #define _CLCIN1PPS0             0x01
5855 #define _CLCIN1PPS1             0x02
5856 #define _CLCIN1PPS2             0x04
5857 #define _CLCIN1PPS3             0x08
5858 #define _CLCIN1PPS4             0x10
5859 
5860 //==============================================================================
5861 
5862 
5863 //==============================================================================
5864 //        CLCIN2PPS Bits
5865 
5866 extern __at(0x0E2A) __sfr CLCIN2PPS;
5867 
5868 typedef union
5869   {
5870   struct
5871     {
5872     unsigned CLCIN2PPS0         : 1;
5873     unsigned CLCIN2PPS1         : 1;
5874     unsigned CLCIN2PPS2         : 1;
5875     unsigned CLCIN2PPS3         : 1;
5876     unsigned CLCIN2PPS4         : 1;
5877     unsigned                    : 1;
5878     unsigned                    : 1;
5879     unsigned                    : 1;
5880     };
5881 
5882   struct
5883     {
5884     unsigned CLCIN2PPS          : 5;
5885     unsigned                    : 3;
5886     };
5887   } __CLCIN2PPSbits_t;
5888 
5889 extern __at(0x0E2A) volatile __CLCIN2PPSbits_t CLCIN2PPSbits;
5890 
5891 #define _CLCIN2PPS0             0x01
5892 #define _CLCIN2PPS1             0x02
5893 #define _CLCIN2PPS2             0x04
5894 #define _CLCIN2PPS3             0x08
5895 #define _CLCIN2PPS4             0x10
5896 
5897 //==============================================================================
5898 
5899 
5900 //==============================================================================
5901 //        CLCIN3PPS Bits
5902 
5903 extern __at(0x0E2B) __sfr CLCIN3PPS;
5904 
5905 typedef union
5906   {
5907   struct
5908     {
5909     unsigned CLCIN3PPS0         : 1;
5910     unsigned CLCIN3PPS1         : 1;
5911     unsigned CLCIN3PPS2         : 1;
5912     unsigned CLCIN3PPS3         : 1;
5913     unsigned CLCIN3PPS4         : 1;
5914     unsigned                    : 1;
5915     unsigned                    : 1;
5916     unsigned                    : 1;
5917     };
5918 
5919   struct
5920     {
5921     unsigned CLCIN3PPS          : 5;
5922     unsigned                    : 3;
5923     };
5924   } __CLCIN3PPSbits_t;
5925 
5926 extern __at(0x0E2B) volatile __CLCIN3PPSbits_t CLCIN3PPSbits;
5927 
5928 #define _CLCIN3PPS0             0x01
5929 #define _CLCIN3PPS1             0x02
5930 #define _CLCIN3PPS2             0x04
5931 #define _CLCIN3PPS3             0x08
5932 #define _CLCIN3PPS4             0x10
5933 
5934 //==============================================================================
5935 
5936 
5937 //==============================================================================
5938 //        RA0PPS Bits
5939 
5940 extern __at(0x0E90) __sfr RA0PPS;
5941 
5942 typedef union
5943   {
5944   struct
5945     {
5946     unsigned RA0PPS0            : 1;
5947     unsigned RA0PPS1            : 1;
5948     unsigned RA0PPS2            : 1;
5949     unsigned RA0PPS3            : 1;
5950     unsigned RA0PPS4            : 1;
5951     unsigned                    : 1;
5952     unsigned                    : 1;
5953     unsigned                    : 1;
5954     };
5955 
5956   struct
5957     {
5958     unsigned RA0PPS             : 5;
5959     unsigned                    : 3;
5960     };
5961   } __RA0PPSbits_t;
5962 
5963 extern __at(0x0E90) volatile __RA0PPSbits_t RA0PPSbits;
5964 
5965 #define _RA0PPS0                0x01
5966 #define _RA0PPS1                0x02
5967 #define _RA0PPS2                0x04
5968 #define _RA0PPS3                0x08
5969 #define _RA0PPS4                0x10
5970 
5971 //==============================================================================
5972 
5973 
5974 //==============================================================================
5975 //        RA1PPS Bits
5976 
5977 extern __at(0x0E91) __sfr RA1PPS;
5978 
5979 typedef union
5980   {
5981   struct
5982     {
5983     unsigned RA1PPS0            : 1;
5984     unsigned RA1PPS1            : 1;
5985     unsigned RA1PPS2            : 1;
5986     unsigned RA1PPS3            : 1;
5987     unsigned RA1PPS4            : 1;
5988     unsigned                    : 1;
5989     unsigned                    : 1;
5990     unsigned                    : 1;
5991     };
5992 
5993   struct
5994     {
5995     unsigned RA1PPS             : 5;
5996     unsigned                    : 3;
5997     };
5998   } __RA1PPSbits_t;
5999 
6000 extern __at(0x0E91) volatile __RA1PPSbits_t RA1PPSbits;
6001 
6002 #define _RA1PPS0                0x01
6003 #define _RA1PPS1                0x02
6004 #define _RA1PPS2                0x04
6005 #define _RA1PPS3                0x08
6006 #define _RA1PPS4                0x10
6007 
6008 //==============================================================================
6009 
6010 
6011 //==============================================================================
6012 //        RA2PPS Bits
6013 
6014 extern __at(0x0E92) __sfr RA2PPS;
6015 
6016 typedef union
6017   {
6018   struct
6019     {
6020     unsigned RA2PPS0            : 1;
6021     unsigned RA2PPS1            : 1;
6022     unsigned RA2PPS2            : 1;
6023     unsigned RA2PPS3            : 1;
6024     unsigned RA2PPS4            : 1;
6025     unsigned                    : 1;
6026     unsigned                    : 1;
6027     unsigned                    : 1;
6028     };
6029 
6030   struct
6031     {
6032     unsigned RA2PPS             : 5;
6033     unsigned                    : 3;
6034     };
6035   } __RA2PPSbits_t;
6036 
6037 extern __at(0x0E92) volatile __RA2PPSbits_t RA2PPSbits;
6038 
6039 #define _RA2PPS0                0x01
6040 #define _RA2PPS1                0x02
6041 #define _RA2PPS2                0x04
6042 #define _RA2PPS3                0x08
6043 #define _RA2PPS4                0x10
6044 
6045 //==============================================================================
6046 
6047 
6048 //==============================================================================
6049 //        RA4PPS Bits
6050 
6051 extern __at(0x0E94) __sfr RA4PPS;
6052 
6053 typedef union
6054   {
6055   struct
6056     {
6057     unsigned RA4PPS0            : 1;
6058     unsigned RA4PPS1            : 1;
6059     unsigned RA4PPS2            : 1;
6060     unsigned RA4PPS3            : 1;
6061     unsigned RA4PPS4            : 1;
6062     unsigned                    : 1;
6063     unsigned                    : 1;
6064     unsigned                    : 1;
6065     };
6066 
6067   struct
6068     {
6069     unsigned RA4PPS             : 5;
6070     unsigned                    : 3;
6071     };
6072   } __RA4PPSbits_t;
6073 
6074 extern __at(0x0E94) volatile __RA4PPSbits_t RA4PPSbits;
6075 
6076 #define _RA4PPS0                0x01
6077 #define _RA4PPS1                0x02
6078 #define _RA4PPS2                0x04
6079 #define _RA4PPS3                0x08
6080 #define _RA4PPS4                0x10
6081 
6082 //==============================================================================
6083 
6084 
6085 //==============================================================================
6086 //        RA5PPS Bits
6087 
6088 extern __at(0x0E95) __sfr RA5PPS;
6089 
6090 typedef union
6091   {
6092   struct
6093     {
6094     unsigned RA5PPS0            : 1;
6095     unsigned RA5PPS1            : 1;
6096     unsigned RA5PPS2            : 1;
6097     unsigned RA5PPS3            : 1;
6098     unsigned RA5PPS4            : 1;
6099     unsigned                    : 1;
6100     unsigned                    : 1;
6101     unsigned                    : 1;
6102     };
6103 
6104   struct
6105     {
6106     unsigned RA5PPS             : 5;
6107     unsigned                    : 3;
6108     };
6109   } __RA5PPSbits_t;
6110 
6111 extern __at(0x0E95) volatile __RA5PPSbits_t RA5PPSbits;
6112 
6113 #define _RA5PPS0                0x01
6114 #define _RA5PPS1                0x02
6115 #define _RA5PPS2                0x04
6116 #define _RA5PPS3                0x08
6117 #define _RA5PPS4                0x10
6118 
6119 //==============================================================================
6120 
6121 
6122 //==============================================================================
6123 //        RC0PPS Bits
6124 
6125 extern __at(0x0EA0) __sfr RC0PPS;
6126 
6127 typedef union
6128   {
6129   struct
6130     {
6131     unsigned RC0PPS0            : 1;
6132     unsigned RC0PPS1            : 1;
6133     unsigned RC0PPS2            : 1;
6134     unsigned RC0PPS3            : 1;
6135     unsigned RC0PPS4            : 1;
6136     unsigned                    : 1;
6137     unsigned                    : 1;
6138     unsigned                    : 1;
6139     };
6140 
6141   struct
6142     {
6143     unsigned RC0PPS             : 5;
6144     unsigned                    : 3;
6145     };
6146   } __RC0PPSbits_t;
6147 
6148 extern __at(0x0EA0) volatile __RC0PPSbits_t RC0PPSbits;
6149 
6150 #define _RC0PPS0                0x01
6151 #define _RC0PPS1                0x02
6152 #define _RC0PPS2                0x04
6153 #define _RC0PPS3                0x08
6154 #define _RC0PPS4                0x10
6155 
6156 //==============================================================================
6157 
6158 
6159 //==============================================================================
6160 //        RC1PPS Bits
6161 
6162 extern __at(0x0EA1) __sfr RC1PPS;
6163 
6164 typedef union
6165   {
6166   struct
6167     {
6168     unsigned RC1PPS0            : 1;
6169     unsigned RC1PPS1            : 1;
6170     unsigned RC1PPS2            : 1;
6171     unsigned RC1PPS3            : 1;
6172     unsigned RC1PPS4            : 1;
6173     unsigned                    : 1;
6174     unsigned                    : 1;
6175     unsigned                    : 1;
6176     };
6177 
6178   struct
6179     {
6180     unsigned RC1PPS             : 5;
6181     unsigned                    : 3;
6182     };
6183   } __RC1PPSbits_t;
6184 
6185 extern __at(0x0EA1) volatile __RC1PPSbits_t RC1PPSbits;
6186 
6187 #define _RC1PPS0                0x01
6188 #define _RC1PPS1                0x02
6189 #define _RC1PPS2                0x04
6190 #define _RC1PPS3                0x08
6191 #define _RC1PPS4                0x10
6192 
6193 //==============================================================================
6194 
6195 
6196 //==============================================================================
6197 //        RC2PPS Bits
6198 
6199 extern __at(0x0EA2) __sfr RC2PPS;
6200 
6201 typedef union
6202   {
6203   struct
6204     {
6205     unsigned RC2PPS0            : 1;
6206     unsigned RC2PPS1            : 1;
6207     unsigned RC2PPS2            : 1;
6208     unsigned RC2PPS3            : 1;
6209     unsigned RC2PPS4            : 1;
6210     unsigned                    : 1;
6211     unsigned                    : 1;
6212     unsigned                    : 1;
6213     };
6214 
6215   struct
6216     {
6217     unsigned RC2PPS             : 5;
6218     unsigned                    : 3;
6219     };
6220   } __RC2PPSbits_t;
6221 
6222 extern __at(0x0EA2) volatile __RC2PPSbits_t RC2PPSbits;
6223 
6224 #define _RC2PPS0                0x01
6225 #define _RC2PPS1                0x02
6226 #define _RC2PPS2                0x04
6227 #define _RC2PPS3                0x08
6228 #define _RC2PPS4                0x10
6229 
6230 //==============================================================================
6231 
6232 
6233 //==============================================================================
6234 //        RC3PPS Bits
6235 
6236 extern __at(0x0EA3) __sfr RC3PPS;
6237 
6238 typedef union
6239   {
6240   struct
6241     {
6242     unsigned RC3PPS0            : 1;
6243     unsigned RC3PPS1            : 1;
6244     unsigned RC3PPS2            : 1;
6245     unsigned RC3PPS3            : 1;
6246     unsigned RC3PPS4            : 1;
6247     unsigned                    : 1;
6248     unsigned                    : 1;
6249     unsigned                    : 1;
6250     };
6251 
6252   struct
6253     {
6254     unsigned RC3PPS             : 5;
6255     unsigned                    : 3;
6256     };
6257   } __RC3PPSbits_t;
6258 
6259 extern __at(0x0EA3) volatile __RC3PPSbits_t RC3PPSbits;
6260 
6261 #define _RC3PPS0                0x01
6262 #define _RC3PPS1                0x02
6263 #define _RC3PPS2                0x04
6264 #define _RC3PPS3                0x08
6265 #define _RC3PPS4                0x10
6266 
6267 //==============================================================================
6268 
6269 
6270 //==============================================================================
6271 //        RC4PPS Bits
6272 
6273 extern __at(0x0EA4) __sfr RC4PPS;
6274 
6275 typedef union
6276   {
6277   struct
6278     {
6279     unsigned RC4PPS0            : 1;
6280     unsigned RC4PPS1            : 1;
6281     unsigned RC4PPS2            : 1;
6282     unsigned RC4PPS3            : 1;
6283     unsigned RC4PPS4            : 1;
6284     unsigned                    : 1;
6285     unsigned                    : 1;
6286     unsigned                    : 1;
6287     };
6288 
6289   struct
6290     {
6291     unsigned RC4PPS             : 5;
6292     unsigned                    : 3;
6293     };
6294   } __RC4PPSbits_t;
6295 
6296 extern __at(0x0EA4) volatile __RC4PPSbits_t RC4PPSbits;
6297 
6298 #define _RC4PPS0                0x01
6299 #define _RC4PPS1                0x02
6300 #define _RC4PPS2                0x04
6301 #define _RC4PPS3                0x08
6302 #define _RC4PPS4                0x10
6303 
6304 //==============================================================================
6305 
6306 
6307 //==============================================================================
6308 //        RC5PPS Bits
6309 
6310 extern __at(0x0EA5) __sfr RC5PPS;
6311 
6312 typedef union
6313   {
6314   struct
6315     {
6316     unsigned RC5PPS0            : 1;
6317     unsigned RC5PPS1            : 1;
6318     unsigned RC5PPS2            : 1;
6319     unsigned RC5PPS3            : 1;
6320     unsigned RC5PPS4            : 1;
6321     unsigned                    : 1;
6322     unsigned                    : 1;
6323     unsigned                    : 1;
6324     };
6325 
6326   struct
6327     {
6328     unsigned RC5PPS             : 5;
6329     unsigned                    : 3;
6330     };
6331   } __RC5PPSbits_t;
6332 
6333 extern __at(0x0EA5) volatile __RC5PPSbits_t RC5PPSbits;
6334 
6335 #define _RC5PPS0                0x01
6336 #define _RC5PPS1                0x02
6337 #define _RC5PPS2                0x04
6338 #define _RC5PPS3                0x08
6339 #define _RC5PPS4                0x10
6340 
6341 //==============================================================================
6342 
6343 
6344 //==============================================================================
6345 //        CLCDATA Bits
6346 
6347 extern __at(0x0F0F) __sfr CLCDATA;
6348 
6349 typedef struct
6350   {
6351   unsigned MLC1OUT              : 1;
6352   unsigned MLC2OUT              : 1;
6353   unsigned                      : 1;
6354   unsigned                      : 1;
6355   unsigned                      : 1;
6356   unsigned                      : 1;
6357   unsigned                      : 1;
6358   unsigned                      : 1;
6359   } __CLCDATAbits_t;
6360 
6361 extern __at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits;
6362 
6363 #define _MLC1OUT                0x01
6364 #define _MLC2OUT                0x02
6365 
6366 //==============================================================================
6367 
6368 
6369 //==============================================================================
6370 //        CLC1CON Bits
6371 
6372 extern __at(0x0F10) __sfr CLC1CON;
6373 
6374 typedef union
6375   {
6376   struct
6377     {
6378     unsigned LC1MODE0           : 1;
6379     unsigned LC1MODE1           : 1;
6380     unsigned LC1MODE2           : 1;
6381     unsigned LC1INTN            : 1;
6382     unsigned LC1INTP            : 1;
6383     unsigned LC1OUT             : 1;
6384     unsigned                    : 1;
6385     unsigned LC1EN              : 1;
6386     };
6387 
6388   struct
6389     {
6390     unsigned MODE0              : 1;
6391     unsigned MODE1              : 1;
6392     unsigned MODE2              : 1;
6393     unsigned INTN               : 1;
6394     unsigned INTP               : 1;
6395     unsigned OUT                : 1;
6396     unsigned                    : 1;
6397     unsigned EN                 : 1;
6398     };
6399 
6400   struct
6401     {
6402     unsigned LC1MODE            : 3;
6403     unsigned                    : 5;
6404     };
6405 
6406   struct
6407     {
6408     unsigned MODE               : 3;
6409     unsigned                    : 5;
6410     };
6411   } __CLC1CONbits_t;
6412 
6413 extern __at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits;
6414 
6415 #define _LC1MODE0               0x01
6416 #define _MODE0                  0x01
6417 #define _LC1MODE1               0x02
6418 #define _MODE1                  0x02
6419 #define _LC1MODE2               0x04
6420 #define _MODE2                  0x04
6421 #define _LC1INTN                0x08
6422 #define _INTN                   0x08
6423 #define _LC1INTP                0x10
6424 #define _INTP                   0x10
6425 #define _LC1OUT                 0x20
6426 #define _OUT                    0x20
6427 #define _LC1EN                  0x80
6428 #define _EN                     0x80
6429 
6430 //==============================================================================
6431 
6432 
6433 //==============================================================================
6434 //        CLC1POL Bits
6435 
6436 extern __at(0x0F11) __sfr CLC1POL;
6437 
6438 typedef union
6439   {
6440   struct
6441     {
6442     unsigned LC1G1POL           : 1;
6443     unsigned LC1G2POL           : 1;
6444     unsigned LC1G3POL           : 1;
6445     unsigned LC1G4POL           : 1;
6446     unsigned                    : 1;
6447     unsigned                    : 1;
6448     unsigned                    : 1;
6449     unsigned LC1POL             : 1;
6450     };
6451 
6452   struct
6453     {
6454     unsigned G1POL              : 1;
6455     unsigned G2POL              : 1;
6456     unsigned G3POL              : 1;
6457     unsigned G4POL              : 1;
6458     unsigned                    : 1;
6459     unsigned                    : 1;
6460     unsigned                    : 1;
6461     unsigned POL                : 1;
6462     };
6463   } __CLC1POLbits_t;
6464 
6465 extern __at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits;
6466 
6467 #define _LC1G1POL               0x01
6468 #define _G1POL                  0x01
6469 #define _LC1G2POL               0x02
6470 #define _G2POL                  0x02
6471 #define _LC1G3POL               0x04
6472 #define _G3POL                  0x04
6473 #define _LC1G4POL               0x08
6474 #define _G4POL                  0x08
6475 #define _LC1POL                 0x80
6476 #define _POL                    0x80
6477 
6478 //==============================================================================
6479 
6480 
6481 //==============================================================================
6482 //        CLC1SEL0 Bits
6483 
6484 extern __at(0x0F12) __sfr CLC1SEL0;
6485 
6486 typedef union
6487   {
6488   struct
6489     {
6490     unsigned LC1D1S0            : 1;
6491     unsigned LC1D1S1            : 1;
6492     unsigned LC1D1S2            : 1;
6493     unsigned LC1D1S3            : 1;
6494     unsigned LC1D1S4            : 1;
6495     unsigned                    : 1;
6496     unsigned                    : 1;
6497     unsigned                    : 1;
6498     };
6499 
6500   struct
6501     {
6502     unsigned D1S0               : 1;
6503     unsigned D1S1               : 1;
6504     unsigned D1S2               : 1;
6505     unsigned D1S3               : 1;
6506     unsigned D1S4               : 1;
6507     unsigned                    : 1;
6508     unsigned                    : 1;
6509     unsigned                    : 1;
6510     };
6511 
6512   struct
6513     {
6514     unsigned D1S                : 5;
6515     unsigned                    : 3;
6516     };
6517 
6518   struct
6519     {
6520     unsigned LC1D1S             : 5;
6521     unsigned                    : 3;
6522     };
6523   } __CLC1SEL0bits_t;
6524 
6525 extern __at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits;
6526 
6527 #define _LC1D1S0                0x01
6528 #define _D1S0                   0x01
6529 #define _LC1D1S1                0x02
6530 #define _D1S1                   0x02
6531 #define _LC1D1S2                0x04
6532 #define _D1S2                   0x04
6533 #define _LC1D1S3                0x08
6534 #define _D1S3                   0x08
6535 #define _LC1D1S4                0x10
6536 #define _D1S4                   0x10
6537 
6538 //==============================================================================
6539 
6540 
6541 //==============================================================================
6542 //        CLC1SEL1 Bits
6543 
6544 extern __at(0x0F13) __sfr CLC1SEL1;
6545 
6546 typedef union
6547   {
6548   struct
6549     {
6550     unsigned LC1D2S0            : 1;
6551     unsigned LC1D2S1            : 1;
6552     unsigned LC1D2S2            : 1;
6553     unsigned LC1D2S3            : 1;
6554     unsigned LC1D2S4            : 1;
6555     unsigned                    : 1;
6556     unsigned                    : 1;
6557     unsigned                    : 1;
6558     };
6559 
6560   struct
6561     {
6562     unsigned D2S0               : 1;
6563     unsigned D2S1               : 1;
6564     unsigned D2S2               : 1;
6565     unsigned D2S3               : 1;
6566     unsigned D2S4               : 1;
6567     unsigned                    : 1;
6568     unsigned                    : 1;
6569     unsigned                    : 1;
6570     };
6571 
6572   struct
6573     {
6574     unsigned LC1D2S             : 5;
6575     unsigned                    : 3;
6576     };
6577 
6578   struct
6579     {
6580     unsigned D2S                : 5;
6581     unsigned                    : 3;
6582     };
6583   } __CLC1SEL1bits_t;
6584 
6585 extern __at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits;
6586 
6587 #define _LC1D2S0                0x01
6588 #define _D2S0                   0x01
6589 #define _LC1D2S1                0x02
6590 #define _D2S1                   0x02
6591 #define _LC1D2S2                0x04
6592 #define _D2S2                   0x04
6593 #define _LC1D2S3                0x08
6594 #define _D2S3                   0x08
6595 #define _LC1D2S4                0x10
6596 #define _D2S4                   0x10
6597 
6598 //==============================================================================
6599 
6600 
6601 //==============================================================================
6602 //        CLC1SEL2 Bits
6603 
6604 extern __at(0x0F14) __sfr CLC1SEL2;
6605 
6606 typedef union
6607   {
6608   struct
6609     {
6610     unsigned LC1D3S0            : 1;
6611     unsigned LC1D3S1            : 1;
6612     unsigned LC1D3S2            : 1;
6613     unsigned LC1D3S3            : 1;
6614     unsigned LC1D3S4            : 1;
6615     unsigned                    : 1;
6616     unsigned                    : 1;
6617     unsigned                    : 1;
6618     };
6619 
6620   struct
6621     {
6622     unsigned D3S0               : 1;
6623     unsigned D3S1               : 1;
6624     unsigned D3S2               : 1;
6625     unsigned D3S3               : 1;
6626     unsigned D3S4               : 1;
6627     unsigned                    : 1;
6628     unsigned                    : 1;
6629     unsigned                    : 1;
6630     };
6631 
6632   struct
6633     {
6634     unsigned D3S                : 5;
6635     unsigned                    : 3;
6636     };
6637 
6638   struct
6639     {
6640     unsigned LC1D3S             : 5;
6641     unsigned                    : 3;
6642     };
6643   } __CLC1SEL2bits_t;
6644 
6645 extern __at(0x0F14) volatile __CLC1SEL2bits_t CLC1SEL2bits;
6646 
6647 #define _LC1D3S0                0x01
6648 #define _D3S0                   0x01
6649 #define _LC1D3S1                0x02
6650 #define _D3S1                   0x02
6651 #define _LC1D3S2                0x04
6652 #define _D3S2                   0x04
6653 #define _LC1D3S3                0x08
6654 #define _D3S3                   0x08
6655 #define _LC1D3S4                0x10
6656 #define _D3S4                   0x10
6657 
6658 //==============================================================================
6659 
6660 
6661 //==============================================================================
6662 //        CLC1SEL3 Bits
6663 
6664 extern __at(0x0F15) __sfr CLC1SEL3;
6665 
6666 typedef union
6667   {
6668   struct
6669     {
6670     unsigned LC1D4S0            : 1;
6671     unsigned LC1D4S1            : 1;
6672     unsigned LC1D4S2            : 1;
6673     unsigned LC1D4S3            : 1;
6674     unsigned LC1D4S4            : 1;
6675     unsigned                    : 1;
6676     unsigned                    : 1;
6677     unsigned                    : 1;
6678     };
6679 
6680   struct
6681     {
6682     unsigned D4S0               : 1;
6683     unsigned D4S1               : 1;
6684     unsigned D4S2               : 1;
6685     unsigned D4S3               : 1;
6686     unsigned D4S4               : 1;
6687     unsigned                    : 1;
6688     unsigned                    : 1;
6689     unsigned                    : 1;
6690     };
6691 
6692   struct
6693     {
6694     unsigned D4S                : 5;
6695     unsigned                    : 3;
6696     };
6697 
6698   struct
6699     {
6700     unsigned LC1D4S             : 5;
6701     unsigned                    : 3;
6702     };
6703   } __CLC1SEL3bits_t;
6704 
6705 extern __at(0x0F15) volatile __CLC1SEL3bits_t CLC1SEL3bits;
6706 
6707 #define _LC1D4S0                0x01
6708 #define _D4S0                   0x01
6709 #define _LC1D4S1                0x02
6710 #define _D4S1                   0x02
6711 #define _LC1D4S2                0x04
6712 #define _D4S2                   0x04
6713 #define _LC1D4S3                0x08
6714 #define _D4S3                   0x08
6715 #define _LC1D4S4                0x10
6716 #define _D4S4                   0x10
6717 
6718 //==============================================================================
6719 
6720 
6721 //==============================================================================
6722 //        CLC1GLS0 Bits
6723 
6724 extern __at(0x0F16) __sfr CLC1GLS0;
6725 
6726 typedef union
6727   {
6728   struct
6729     {
6730     unsigned LC1G1D1N           : 1;
6731     unsigned LC1G1D1T           : 1;
6732     unsigned LC1G1D2N           : 1;
6733     unsigned LC1G1D2T           : 1;
6734     unsigned LC1G1D3N           : 1;
6735     unsigned LC1G1D3T           : 1;
6736     unsigned LC1G1D4N           : 1;
6737     unsigned LC1G1D4T           : 1;
6738     };
6739 
6740   struct
6741     {
6742     unsigned D1N                : 1;
6743     unsigned D1T                : 1;
6744     unsigned D2N                : 1;
6745     unsigned D2T                : 1;
6746     unsigned D3N                : 1;
6747     unsigned D3T                : 1;
6748     unsigned D4N                : 1;
6749     unsigned D4T                : 1;
6750     };
6751   } __CLC1GLS0bits_t;
6752 
6753 extern __at(0x0F16) volatile __CLC1GLS0bits_t CLC1GLS0bits;
6754 
6755 #define _LC1G1D1N               0x01
6756 #define _D1N                    0x01
6757 #define _LC1G1D1T               0x02
6758 #define _D1T                    0x02
6759 #define _LC1G1D2N               0x04
6760 #define _D2N                    0x04
6761 #define _LC1G1D2T               0x08
6762 #define _D2T                    0x08
6763 #define _LC1G1D3N               0x10
6764 #define _D3N                    0x10
6765 #define _LC1G1D3T               0x20
6766 #define _D3T                    0x20
6767 #define _LC1G1D4N               0x40
6768 #define _D4N                    0x40
6769 #define _LC1G1D4T               0x80
6770 #define _D4T                    0x80
6771 
6772 //==============================================================================
6773 
6774 
6775 //==============================================================================
6776 //        CLC1GLS1 Bits
6777 
6778 extern __at(0x0F17) __sfr CLC1GLS1;
6779 
6780 typedef union
6781   {
6782   struct
6783     {
6784     unsigned LC1G2D1N           : 1;
6785     unsigned LC1G2D1T           : 1;
6786     unsigned LC1G2D2N           : 1;
6787     unsigned LC1G2D2T           : 1;
6788     unsigned LC1G2D3N           : 1;
6789     unsigned LC1G2D3T           : 1;
6790     unsigned LC1G2D4N           : 1;
6791     unsigned LC1G2D4T           : 1;
6792     };
6793 
6794   struct
6795     {
6796     unsigned D1N                : 1;
6797     unsigned D1T                : 1;
6798     unsigned D2N                : 1;
6799     unsigned D2T                : 1;
6800     unsigned D3N                : 1;
6801     unsigned D3T                : 1;
6802     unsigned D4N                : 1;
6803     unsigned D4T                : 1;
6804     };
6805   } __CLC1GLS1bits_t;
6806 
6807 extern __at(0x0F17) volatile __CLC1GLS1bits_t CLC1GLS1bits;
6808 
6809 #define _CLC1GLS1_LC1G2D1N      0x01
6810 #define _CLC1GLS1_D1N           0x01
6811 #define _CLC1GLS1_LC1G2D1T      0x02
6812 #define _CLC1GLS1_D1T           0x02
6813 #define _CLC1GLS1_LC1G2D2N      0x04
6814 #define _CLC1GLS1_D2N           0x04
6815 #define _CLC1GLS1_LC1G2D2T      0x08
6816 #define _CLC1GLS1_D2T           0x08
6817 #define _CLC1GLS1_LC1G2D3N      0x10
6818 #define _CLC1GLS1_D3N           0x10
6819 #define _CLC1GLS1_LC1G2D3T      0x20
6820 #define _CLC1GLS1_D3T           0x20
6821 #define _CLC1GLS1_LC1G2D4N      0x40
6822 #define _CLC1GLS1_D4N           0x40
6823 #define _CLC1GLS1_LC1G2D4T      0x80
6824 #define _CLC1GLS1_D4T           0x80
6825 
6826 //==============================================================================
6827 
6828 
6829 //==============================================================================
6830 //        CLC1GLS2 Bits
6831 
6832 extern __at(0x0F18) __sfr CLC1GLS2;
6833 
6834 typedef union
6835   {
6836   struct
6837     {
6838     unsigned LC1G3D1N           : 1;
6839     unsigned LC1G3D1T           : 1;
6840     unsigned LC1G3D2N           : 1;
6841     unsigned LC1G3D2T           : 1;
6842     unsigned LC1G3D3N           : 1;
6843     unsigned LC1G3D3T           : 1;
6844     unsigned LC1G3D4N           : 1;
6845     unsigned LC1G3D4T           : 1;
6846     };
6847 
6848   struct
6849     {
6850     unsigned D1N                : 1;
6851     unsigned D1T                : 1;
6852     unsigned D2N                : 1;
6853     unsigned D2T                : 1;
6854     unsigned D3N                : 1;
6855     unsigned D3T                : 1;
6856     unsigned D4N                : 1;
6857     unsigned D4T                : 1;
6858     };
6859   } __CLC1GLS2bits_t;
6860 
6861 extern __at(0x0F18) volatile __CLC1GLS2bits_t CLC1GLS2bits;
6862 
6863 #define _CLC1GLS2_LC1G3D1N      0x01
6864 #define _CLC1GLS2_D1N           0x01
6865 #define _CLC1GLS2_LC1G3D1T      0x02
6866 #define _CLC1GLS2_D1T           0x02
6867 #define _CLC1GLS2_LC1G3D2N      0x04
6868 #define _CLC1GLS2_D2N           0x04
6869 #define _CLC1GLS2_LC1G3D2T      0x08
6870 #define _CLC1GLS2_D2T           0x08
6871 #define _CLC1GLS2_LC1G3D3N      0x10
6872 #define _CLC1GLS2_D3N           0x10
6873 #define _CLC1GLS2_LC1G3D3T      0x20
6874 #define _CLC1GLS2_D3T           0x20
6875 #define _CLC1GLS2_LC1G3D4N      0x40
6876 #define _CLC1GLS2_D4N           0x40
6877 #define _CLC1GLS2_LC1G3D4T      0x80
6878 #define _CLC1GLS2_D4T           0x80
6879 
6880 //==============================================================================
6881 
6882 
6883 //==============================================================================
6884 //        CLC1GLS3 Bits
6885 
6886 extern __at(0x0F19) __sfr CLC1GLS3;
6887 
6888 typedef union
6889   {
6890   struct
6891     {
6892     unsigned LC1G4D1N           : 1;
6893     unsigned LC1G4D1T           : 1;
6894     unsigned LC1G4D2N           : 1;
6895     unsigned LC1G4D2T           : 1;
6896     unsigned LC1G4D3N           : 1;
6897     unsigned LC1G4D3T           : 1;
6898     unsigned LC1G4D4N           : 1;
6899     unsigned LC1G4D4T           : 1;
6900     };
6901 
6902   struct
6903     {
6904     unsigned G4D1N              : 1;
6905     unsigned G4D1T              : 1;
6906     unsigned G4D2N              : 1;
6907     unsigned G4D2T              : 1;
6908     unsigned G4D3N              : 1;
6909     unsigned G4D3T              : 1;
6910     unsigned G4D4N              : 1;
6911     unsigned G4D4T              : 1;
6912     };
6913   } __CLC1GLS3bits_t;
6914 
6915 extern __at(0x0F19) volatile __CLC1GLS3bits_t CLC1GLS3bits;
6916 
6917 #define _LC1G4D1N               0x01
6918 #define _G4D1N                  0x01
6919 #define _LC1G4D1T               0x02
6920 #define _G4D1T                  0x02
6921 #define _LC1G4D2N               0x04
6922 #define _G4D2N                  0x04
6923 #define _LC1G4D2T               0x08
6924 #define _G4D2T                  0x08
6925 #define _LC1G4D3N               0x10
6926 #define _G4D3N                  0x10
6927 #define _LC1G4D3T               0x20
6928 #define _G4D3T                  0x20
6929 #define _LC1G4D4N               0x40
6930 #define _G4D4N                  0x40
6931 #define _LC1G4D4T               0x80
6932 #define _G4D4T                  0x80
6933 
6934 //==============================================================================
6935 
6936 
6937 //==============================================================================
6938 //        CLC2CON Bits
6939 
6940 extern __at(0x0F1A) __sfr CLC2CON;
6941 
6942 typedef union
6943   {
6944   struct
6945     {
6946     unsigned LC2MODE0           : 1;
6947     unsigned LC2MODE1           : 1;
6948     unsigned LC2MODE2           : 1;
6949     unsigned LC2INTN            : 1;
6950     unsigned LC2INTP            : 1;
6951     unsigned LC2OUT             : 1;
6952     unsigned                    : 1;
6953     unsigned LC2EN              : 1;
6954     };
6955 
6956   struct
6957     {
6958     unsigned MODE0              : 1;
6959     unsigned MODE1              : 1;
6960     unsigned MODE2              : 1;
6961     unsigned INTN               : 1;
6962     unsigned INTP               : 1;
6963     unsigned OUT                : 1;
6964     unsigned                    : 1;
6965     unsigned EN                 : 1;
6966     };
6967 
6968   struct
6969     {
6970     unsigned LC2MODE            : 3;
6971     unsigned                    : 5;
6972     };
6973 
6974   struct
6975     {
6976     unsigned MODE               : 3;
6977     unsigned                    : 5;
6978     };
6979   } __CLC2CONbits_t;
6980 
6981 extern __at(0x0F1A) volatile __CLC2CONbits_t CLC2CONbits;
6982 
6983 #define _CLC2CON_LC2MODE0       0x01
6984 #define _CLC2CON_MODE0          0x01
6985 #define _CLC2CON_LC2MODE1       0x02
6986 #define _CLC2CON_MODE1          0x02
6987 #define _CLC2CON_LC2MODE2       0x04
6988 #define _CLC2CON_MODE2          0x04
6989 #define _CLC2CON_LC2INTN        0x08
6990 #define _CLC2CON_INTN           0x08
6991 #define _CLC2CON_LC2INTP        0x10
6992 #define _CLC2CON_INTP           0x10
6993 #define _CLC2CON_LC2OUT         0x20
6994 #define _CLC2CON_OUT            0x20
6995 #define _CLC2CON_LC2EN          0x80
6996 #define _CLC2CON_EN             0x80
6997 
6998 //==============================================================================
6999 
7000 
7001 //==============================================================================
7002 //        CLC2POL Bits
7003 
7004 extern __at(0x0F1B) __sfr CLC2POL;
7005 
7006 typedef union
7007   {
7008   struct
7009     {
7010     unsigned LC2G1POL           : 1;
7011     unsigned LC2G2POL           : 1;
7012     unsigned LC2G3POL           : 1;
7013     unsigned LC2G4POL           : 1;
7014     unsigned                    : 1;
7015     unsigned                    : 1;
7016     unsigned                    : 1;
7017     unsigned LC2POL             : 1;
7018     };
7019 
7020   struct
7021     {
7022     unsigned G1POL              : 1;
7023     unsigned G2POL              : 1;
7024     unsigned G3POL              : 1;
7025     unsigned G4POL              : 1;
7026     unsigned                    : 1;
7027     unsigned                    : 1;
7028     unsigned                    : 1;
7029     unsigned POL                : 1;
7030     };
7031   } __CLC2POLbits_t;
7032 
7033 extern __at(0x0F1B) volatile __CLC2POLbits_t CLC2POLbits;
7034 
7035 #define _CLC2POL_LC2G1POL       0x01
7036 #define _CLC2POL_G1POL          0x01
7037 #define _CLC2POL_LC2G2POL       0x02
7038 #define _CLC2POL_G2POL          0x02
7039 #define _CLC2POL_LC2G3POL       0x04
7040 #define _CLC2POL_G3POL          0x04
7041 #define _CLC2POL_LC2G4POL       0x08
7042 #define _CLC2POL_G4POL          0x08
7043 #define _CLC2POL_LC2POL         0x80
7044 #define _CLC2POL_POL            0x80
7045 
7046 //==============================================================================
7047 
7048 
7049 //==============================================================================
7050 //        CLC2SEL0 Bits
7051 
7052 extern __at(0x0F1C) __sfr CLC2SEL0;
7053 
7054 typedef union
7055   {
7056   struct
7057     {
7058     unsigned LC2D1S0            : 1;
7059     unsigned LC2D1S1            : 1;
7060     unsigned LC2D1S2            : 1;
7061     unsigned LC2D1S3            : 1;
7062     unsigned LC2D1S4            : 1;
7063     unsigned                    : 1;
7064     unsigned                    : 1;
7065     unsigned                    : 1;
7066     };
7067 
7068   struct
7069     {
7070     unsigned D1S0               : 1;
7071     unsigned D1S1               : 1;
7072     unsigned D1S2               : 1;
7073     unsigned D1S3               : 1;
7074     unsigned D1S4               : 1;
7075     unsigned                    : 1;
7076     unsigned                    : 1;
7077     unsigned                    : 1;
7078     };
7079 
7080   struct
7081     {
7082     unsigned D1S                : 5;
7083     unsigned                    : 3;
7084     };
7085 
7086   struct
7087     {
7088     unsigned LC2D1S             : 5;
7089     unsigned                    : 3;
7090     };
7091   } __CLC2SEL0bits_t;
7092 
7093 extern __at(0x0F1C) volatile __CLC2SEL0bits_t CLC2SEL0bits;
7094 
7095 #define _CLC2SEL0_LC2D1S0       0x01
7096 #define _CLC2SEL0_D1S0          0x01
7097 #define _CLC2SEL0_LC2D1S1       0x02
7098 #define _CLC2SEL0_D1S1          0x02
7099 #define _CLC2SEL0_LC2D1S2       0x04
7100 #define _CLC2SEL0_D1S2          0x04
7101 #define _CLC2SEL0_LC2D1S3       0x08
7102 #define _CLC2SEL0_D1S3          0x08
7103 #define _CLC2SEL0_LC2D1S4       0x10
7104 #define _CLC2SEL0_D1S4          0x10
7105 
7106 //==============================================================================
7107 
7108 
7109 //==============================================================================
7110 //        CLC2SEL1 Bits
7111 
7112 extern __at(0x0F1D) __sfr CLC2SEL1;
7113 
7114 typedef union
7115   {
7116   struct
7117     {
7118     unsigned LC2D2S0            : 1;
7119     unsigned LC2D2S1            : 1;
7120     unsigned LC2D2S2            : 1;
7121     unsigned LC2D2S3            : 1;
7122     unsigned LC2D2S4            : 1;
7123     unsigned                    : 1;
7124     unsigned                    : 1;
7125     unsigned                    : 1;
7126     };
7127 
7128   struct
7129     {
7130     unsigned D2S0               : 1;
7131     unsigned D2S1               : 1;
7132     unsigned D2S2               : 1;
7133     unsigned D2S3               : 1;
7134     unsigned D2S4               : 1;
7135     unsigned                    : 1;
7136     unsigned                    : 1;
7137     unsigned                    : 1;
7138     };
7139 
7140   struct
7141     {
7142     unsigned D2S                : 5;
7143     unsigned                    : 3;
7144     };
7145 
7146   struct
7147     {
7148     unsigned LC2D2S             : 5;
7149     unsigned                    : 3;
7150     };
7151   } __CLC2SEL1bits_t;
7152 
7153 extern __at(0x0F1D) volatile __CLC2SEL1bits_t CLC2SEL1bits;
7154 
7155 #define _CLC2SEL1_LC2D2S0       0x01
7156 #define _CLC2SEL1_D2S0          0x01
7157 #define _CLC2SEL1_LC2D2S1       0x02
7158 #define _CLC2SEL1_D2S1          0x02
7159 #define _CLC2SEL1_LC2D2S2       0x04
7160 #define _CLC2SEL1_D2S2          0x04
7161 #define _CLC2SEL1_LC2D2S3       0x08
7162 #define _CLC2SEL1_D2S3          0x08
7163 #define _CLC2SEL1_LC2D2S4       0x10
7164 #define _CLC2SEL1_D2S4          0x10
7165 
7166 //==============================================================================
7167 
7168 
7169 //==============================================================================
7170 //        CLC2SEL2 Bits
7171 
7172 extern __at(0x0F1E) __sfr CLC2SEL2;
7173 
7174 typedef union
7175   {
7176   struct
7177     {
7178     unsigned LC2D3S0            : 1;
7179     unsigned LC2D3S1            : 1;
7180     unsigned LC2D3S2            : 1;
7181     unsigned LC2D3S3            : 1;
7182     unsigned LC2D3S4            : 1;
7183     unsigned                    : 1;
7184     unsigned                    : 1;
7185     unsigned                    : 1;
7186     };
7187 
7188   struct
7189     {
7190     unsigned D3S0               : 1;
7191     unsigned D3S1               : 1;
7192     unsigned D3S2               : 1;
7193     unsigned D3S3               : 1;
7194     unsigned D3S4               : 1;
7195     unsigned                    : 1;
7196     unsigned                    : 1;
7197     unsigned                    : 1;
7198     };
7199 
7200   struct
7201     {
7202     unsigned LC2D3S             : 5;
7203     unsigned                    : 3;
7204     };
7205 
7206   struct
7207     {
7208     unsigned D3S                : 5;
7209     unsigned                    : 3;
7210     };
7211   } __CLC2SEL2bits_t;
7212 
7213 extern __at(0x0F1E) volatile __CLC2SEL2bits_t CLC2SEL2bits;
7214 
7215 #define _CLC2SEL2_LC2D3S0       0x01
7216 #define _CLC2SEL2_D3S0          0x01
7217 #define _CLC2SEL2_LC2D3S1       0x02
7218 #define _CLC2SEL2_D3S1          0x02
7219 #define _CLC2SEL2_LC2D3S2       0x04
7220 #define _CLC2SEL2_D3S2          0x04
7221 #define _CLC2SEL2_LC2D3S3       0x08
7222 #define _CLC2SEL2_D3S3          0x08
7223 #define _CLC2SEL2_LC2D3S4       0x10
7224 #define _CLC2SEL2_D3S4          0x10
7225 
7226 //==============================================================================
7227 
7228 
7229 //==============================================================================
7230 //        CLC2SEL3 Bits
7231 
7232 extern __at(0x0F1F) __sfr CLC2SEL3;
7233 
7234 typedef union
7235   {
7236   struct
7237     {
7238     unsigned LC2D4S0            : 1;
7239     unsigned LC2D4S1            : 1;
7240     unsigned LC2D4S2            : 1;
7241     unsigned LC2D4S3            : 1;
7242     unsigned LC2D4S4            : 1;
7243     unsigned                    : 1;
7244     unsigned                    : 1;
7245     unsigned                    : 1;
7246     };
7247 
7248   struct
7249     {
7250     unsigned D4S0               : 1;
7251     unsigned D4S1               : 1;
7252     unsigned D4S2               : 1;
7253     unsigned D4S3               : 1;
7254     unsigned D4S4               : 1;
7255     unsigned                    : 1;
7256     unsigned                    : 1;
7257     unsigned                    : 1;
7258     };
7259 
7260   struct
7261     {
7262     unsigned LC2D4S             : 5;
7263     unsigned                    : 3;
7264     };
7265 
7266   struct
7267     {
7268     unsigned D4S                : 5;
7269     unsigned                    : 3;
7270     };
7271   } __CLC2SEL3bits_t;
7272 
7273 extern __at(0x0F1F) volatile __CLC2SEL3bits_t CLC2SEL3bits;
7274 
7275 #define _CLC2SEL3_LC2D4S0       0x01
7276 #define _CLC2SEL3_D4S0          0x01
7277 #define _CLC2SEL3_LC2D4S1       0x02
7278 #define _CLC2SEL3_D4S1          0x02
7279 #define _CLC2SEL3_LC2D4S2       0x04
7280 #define _CLC2SEL3_D4S2          0x04
7281 #define _CLC2SEL3_LC2D4S3       0x08
7282 #define _CLC2SEL3_D4S3          0x08
7283 #define _CLC2SEL3_LC2D4S4       0x10
7284 #define _CLC2SEL3_D4S4          0x10
7285 
7286 //==============================================================================
7287 
7288 
7289 //==============================================================================
7290 //        CLC2GLS0 Bits
7291 
7292 extern __at(0x0F20) __sfr CLC2GLS0;
7293 
7294 typedef union
7295   {
7296   struct
7297     {
7298     unsigned LC2G1D1N           : 1;
7299     unsigned LC2G1D1T           : 1;
7300     unsigned LC2G1D2N           : 1;
7301     unsigned LC2G1D2T           : 1;
7302     unsigned LC2G1D3N           : 1;
7303     unsigned LC2G1D3T           : 1;
7304     unsigned LC2G1D4N           : 1;
7305     unsigned LC2G1D4T           : 1;
7306     };
7307 
7308   struct
7309     {
7310     unsigned D1N                : 1;
7311     unsigned D1T                : 1;
7312     unsigned D2N                : 1;
7313     unsigned D2T                : 1;
7314     unsigned D3N                : 1;
7315     unsigned D3T                : 1;
7316     unsigned D4N                : 1;
7317     unsigned D4T                : 1;
7318     };
7319   } __CLC2GLS0bits_t;
7320 
7321 extern __at(0x0F20) volatile __CLC2GLS0bits_t CLC2GLS0bits;
7322 
7323 #define _CLC2GLS0_LC2G1D1N      0x01
7324 #define _CLC2GLS0_D1N           0x01
7325 #define _CLC2GLS0_LC2G1D1T      0x02
7326 #define _CLC2GLS0_D1T           0x02
7327 #define _CLC2GLS0_LC2G1D2N      0x04
7328 #define _CLC2GLS0_D2N           0x04
7329 #define _CLC2GLS0_LC2G1D2T      0x08
7330 #define _CLC2GLS0_D2T           0x08
7331 #define _CLC2GLS0_LC2G1D3N      0x10
7332 #define _CLC2GLS0_D3N           0x10
7333 #define _CLC2GLS0_LC2G1D3T      0x20
7334 #define _CLC2GLS0_D3T           0x20
7335 #define _CLC2GLS0_LC2G1D4N      0x40
7336 #define _CLC2GLS0_D4N           0x40
7337 #define _CLC2GLS0_LC2G1D4T      0x80
7338 #define _CLC2GLS0_D4T           0x80
7339 
7340 //==============================================================================
7341 
7342 
7343 //==============================================================================
7344 //        CLC2GLS1 Bits
7345 
7346 extern __at(0x0F21) __sfr CLC2GLS1;
7347 
7348 typedef union
7349   {
7350   struct
7351     {
7352     unsigned LC2G2D1N           : 1;
7353     unsigned LC2G2D1T           : 1;
7354     unsigned LC2G2D2N           : 1;
7355     unsigned LC2G2D2T           : 1;
7356     unsigned LC2G2D3N           : 1;
7357     unsigned LC2G2D3T           : 1;
7358     unsigned LC2G2D4N           : 1;
7359     unsigned LC2G2D4T           : 1;
7360     };
7361 
7362   struct
7363     {
7364     unsigned D1N                : 1;
7365     unsigned D1T                : 1;
7366     unsigned D2N                : 1;
7367     unsigned D2T                : 1;
7368     unsigned D3N                : 1;
7369     unsigned D3T                : 1;
7370     unsigned D4N                : 1;
7371     unsigned D4T                : 1;
7372     };
7373   } __CLC2GLS1bits_t;
7374 
7375 extern __at(0x0F21) volatile __CLC2GLS1bits_t CLC2GLS1bits;
7376 
7377 #define _CLC2GLS1_LC2G2D1N      0x01
7378 #define _CLC2GLS1_D1N           0x01
7379 #define _CLC2GLS1_LC2G2D1T      0x02
7380 #define _CLC2GLS1_D1T           0x02
7381 #define _CLC2GLS1_LC2G2D2N      0x04
7382 #define _CLC2GLS1_D2N           0x04
7383 #define _CLC2GLS1_LC2G2D2T      0x08
7384 #define _CLC2GLS1_D2T           0x08
7385 #define _CLC2GLS1_LC2G2D3N      0x10
7386 #define _CLC2GLS1_D3N           0x10
7387 #define _CLC2GLS1_LC2G2D3T      0x20
7388 #define _CLC2GLS1_D3T           0x20
7389 #define _CLC2GLS1_LC2G2D4N      0x40
7390 #define _CLC2GLS1_D4N           0x40
7391 #define _CLC2GLS1_LC2G2D4T      0x80
7392 #define _CLC2GLS1_D4T           0x80
7393 
7394 //==============================================================================
7395 
7396 
7397 //==============================================================================
7398 //        CLC2GLS2 Bits
7399 
7400 extern __at(0x0F22) __sfr CLC2GLS2;
7401 
7402 typedef union
7403   {
7404   struct
7405     {
7406     unsigned LC2G3D1N           : 1;
7407     unsigned LC2G3D1T           : 1;
7408     unsigned LC2G3D2N           : 1;
7409     unsigned LC2G3D2T           : 1;
7410     unsigned LC2G3D3N           : 1;
7411     unsigned LC2G3D3T           : 1;
7412     unsigned LC2G3D4N           : 1;
7413     unsigned LC2G3D4T           : 1;
7414     };
7415 
7416   struct
7417     {
7418     unsigned D1N                : 1;
7419     unsigned D1T                : 1;
7420     unsigned D2N                : 1;
7421     unsigned D2T                : 1;
7422     unsigned D3N                : 1;
7423     unsigned D3T                : 1;
7424     unsigned D4N                : 1;
7425     unsigned D4T                : 1;
7426     };
7427   } __CLC2GLS2bits_t;
7428 
7429 extern __at(0x0F22) volatile __CLC2GLS2bits_t CLC2GLS2bits;
7430 
7431 #define _CLC2GLS2_LC2G3D1N      0x01
7432 #define _CLC2GLS2_D1N           0x01
7433 #define _CLC2GLS2_LC2G3D1T      0x02
7434 #define _CLC2GLS2_D1T           0x02
7435 #define _CLC2GLS2_LC2G3D2N      0x04
7436 #define _CLC2GLS2_D2N           0x04
7437 #define _CLC2GLS2_LC2G3D2T      0x08
7438 #define _CLC2GLS2_D2T           0x08
7439 #define _CLC2GLS2_LC2G3D3N      0x10
7440 #define _CLC2GLS2_D3N           0x10
7441 #define _CLC2GLS2_LC2G3D3T      0x20
7442 #define _CLC2GLS2_D3T           0x20
7443 #define _CLC2GLS2_LC2G3D4N      0x40
7444 #define _CLC2GLS2_D4N           0x40
7445 #define _CLC2GLS2_LC2G3D4T      0x80
7446 #define _CLC2GLS2_D4T           0x80
7447 
7448 //==============================================================================
7449 
7450 
7451 //==============================================================================
7452 //        CLC2GLS3 Bits
7453 
7454 extern __at(0x0F23) __sfr CLC2GLS3;
7455 
7456 typedef union
7457   {
7458   struct
7459     {
7460     unsigned LC2G4D1N           : 1;
7461     unsigned LC2G4D1T           : 1;
7462     unsigned LC2G4D2N           : 1;
7463     unsigned LC2G4D2T           : 1;
7464     unsigned LC2G4D3N           : 1;
7465     unsigned LC2G4D3T           : 1;
7466     unsigned LC2G4D4N           : 1;
7467     unsigned LC2G4D4T           : 1;
7468     };
7469 
7470   struct
7471     {
7472     unsigned G4D1N              : 1;
7473     unsigned G4D1T              : 1;
7474     unsigned G4D2N              : 1;
7475     unsigned G4D2T              : 1;
7476     unsigned G4D3N              : 1;
7477     unsigned G4D3T              : 1;
7478     unsigned G4D4N              : 1;
7479     unsigned G4D4T              : 1;
7480     };
7481   } __CLC2GLS3bits_t;
7482 
7483 extern __at(0x0F23) volatile __CLC2GLS3bits_t CLC2GLS3bits;
7484 
7485 #define _CLC2GLS3_LC2G4D1N      0x01
7486 #define _CLC2GLS3_G4D1N         0x01
7487 #define _CLC2GLS3_LC2G4D1T      0x02
7488 #define _CLC2GLS3_G4D1T         0x02
7489 #define _CLC2GLS3_LC2G4D2N      0x04
7490 #define _CLC2GLS3_G4D2N         0x04
7491 #define _CLC2GLS3_LC2G4D2T      0x08
7492 #define _CLC2GLS3_G4D2T         0x08
7493 #define _CLC2GLS3_LC2G4D3N      0x10
7494 #define _CLC2GLS3_G4D3N         0x10
7495 #define _CLC2GLS3_LC2G4D3T      0x20
7496 #define _CLC2GLS3_G4D3T         0x20
7497 #define _CLC2GLS3_LC2G4D4N      0x40
7498 #define _CLC2GLS3_G4D4N         0x40
7499 #define _CLC2GLS3_LC2G4D4T      0x80
7500 #define _CLC2GLS3_G4D4T         0x80
7501 
7502 //==============================================================================
7503 
7504 
7505 //==============================================================================
7506 //        STATUS_SHAD Bits
7507 
7508 extern __at(0x0FE4) __sfr STATUS_SHAD;
7509 
7510 typedef struct
7511   {
7512   unsigned C_SHAD               : 1;
7513   unsigned DC_SHAD              : 1;
7514   unsigned Z_SHAD               : 1;
7515   unsigned                      : 1;
7516   unsigned                      : 1;
7517   unsigned                      : 1;
7518   unsigned                      : 1;
7519   unsigned                      : 1;
7520   } __STATUS_SHADbits_t;
7521 
7522 extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits;
7523 
7524 #define _C_SHAD                 0x01
7525 #define _DC_SHAD                0x02
7526 #define _Z_SHAD                 0x04
7527 
7528 //==============================================================================
7529 
7530 extern __at(0x0FE5) __sfr WREG_SHAD;
7531 extern __at(0x0FE6) __sfr BSR_SHAD;
7532 extern __at(0x0FE7) __sfr PCLATH_SHAD;
7533 extern __at(0x0FE8) __sfr FSR0L_SHAD;
7534 extern __at(0x0FE9) __sfr FSR0H_SHAD;
7535 extern __at(0x0FEA) __sfr FSR1L_SHAD;
7536 extern __at(0x0FEB) __sfr FSR1H_SHAD;
7537 extern __at(0x0FED) __sfr STKPTR;
7538 extern __at(0x0FEE) __sfr TOSL;
7539 extern __at(0x0FEF) __sfr TOSH;
7540 
7541 //==============================================================================
7542 //
7543 //        Configuration Bits
7544 //
7545 //==============================================================================
7546 
7547 #define _CONFIG1                0x8007
7548 #define _CONFIG2                0x8008
7549 #define _CONFIG3                0x8009
7550 #define _CONFIG4                0x800A
7551 
7552 //----------------------------- CONFIG1 Options -------------------------------
7553 
7554 #define _FEXTOSC_LP             0x3FF8  // LP (crystal oscillator) optimized for 32.768 kHz.
7555 #define _FEXTOSC_XT             0x3FF9  // XT (crystal oscillator) from 100 kHz to 4 MHz.
7556 #define _FEXTOSC_HS             0x3FFA  // HS (crystal oscillator) above 4 MHz.
7557 #define _FEXTOSC_OFF            0x3FFC  // Oscillator not enabled.
7558 #define _FEXTOSC_ECL            0x3FFD  // EC (external clock) below 100 kHz.
7559 #define _FEXTOSC_ECM            0x3FFE  // EC (external clock) for 100 kHz to 8 MHz.
7560 #define _FEXTOSC_ECH            0x3FFF  // EC (external clock) above 8 MHz.
7561 #define _RSTOSC_HFINT32         0x3F8F  // HFINTOSC with 2x PLL (32MHz).
7562 #define _RSTOSC_EXT4X           0x3F9F  // EXTOSC with 4x PLL, with EXTOSC operating per FEXTOSC bits.
7563 #define _RSTOSC_SOSC            0x3FBF  // SOSC (31kHz).
7564 #define _RSTOSC_LFINT           0x3FCF  // LFINTOSC (31kHz).
7565 #define _RSTOSC_HFINT1          0x3FEF  // HFINTOSC (1MHz).
7566 #define _RSTOSC_EXT1X           0x3FFF  // EXTOSC operating per FEXTOSC bits.
7567 #define _CLKOUTEN_ON            0x3EFF  // CLKOUT function is enabled; FOSC/4 clock appears at OSC2.
7568 #define _CLKOUTEN_OFF           0x3FFF  // CLKOUT function is disabled; I/O or oscillator function on OSC2.
7569 #define _CSWEN_OFF              0x37FF  // The NOSC and NDIV bits cannot be changed by user software.
7570 #define _CSWEN_ON               0x3FFF  // Writing to NOSC and NDIV is allowed.
7571 #define _FCMEN_OFF              0x1FFF  // Fail-Safe Clock Monitor is disabled.
7572 #define _FCMEN_ON               0x3FFF  // Fail-Safe Clock Monitor is enabled.
7573 
7574 //----------------------------- CONFIG2 Options -------------------------------
7575 
7576 #define _MCLRE_OFF              0x3FFE  // MCLR/VPP pin function is digital input; MCLR internally disabled; Weak pull-up under control of port pin's WPU control bit.
7577 #define _MCLRE_ON               0x3FFF  // MCLR/VPP pin function is MCLR; Weak pull-up enabled.
7578 #define _PWRTE_ON               0x3FFD  // PWRT enabled.
7579 #define _PWRTE_OFF              0x3FFF  // PWRT disabled.
7580 #define _WDTE_OFF               0x3FF3  // WDT disabled; SWDTEN is ignored.
7581 #define _WDTE_SWDTEN            0x3FF7  // WDT controlled by the SWDTEN bit in the WDTCON register.
7582 #define _WDTE_SLEEP             0x3FFB  // WDT enabled while running and disabled in SLEEP/IDLE; SWDTEN is ignored.
7583 #define _WDTE_ON                0x3FFF  // WDT enabled, SWDTEN is ignored.
7584 #define _LPBOREN_ON             0x3FDF  // ULPBOR enabled.
7585 #define _LPBOREN_OFF            0x3FFF  // ULPBOR disabled.
7586 #define _BOREN_OFF              0x3F3F  // Brown-out Reset disabled.
7587 #define _BOREN_SBOREN           0x3F7F  // Brown-out Reset enabled according to SBOREN.
7588 #define _BOREN_SLEEP            0x3FBF  // Brown-out Reset enabled while running, disabled in Sleep; SBOREN is ignored.
7589 #define _BOREN_ON               0x3FFF  // Brown-out Reset enabled, SBOREN bit ignored.
7590 #define _BORV_HIGH              0x3DFF  // Brown-out voltage (Vbor) set to 2.7V.
7591 #define _BORV_LOW               0x3FFF  // Brown-out voltage (Vbor) set to 2.45V.
7592 #define _PPS1WAY_OFF            0x37FF  // The PPSLOCK bit can be set and cleared repeatedly (subject to the unlock sequence).
7593 #define _PPS1WAY_ON             0x3FFF  // The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle.
7594 #define _STVREN_OFF             0x2FFF  // Stack Overflow or Underflow will not cause a Reset.
7595 #define _STVREN_ON              0x3FFF  // Stack Overflow or Underflow will cause a Reset.
7596 #define _DEBUG_ON               0x1FFF  // Background debugger enabled.
7597 #define _DEBUG_OFF              0x3FFF  // Background debugger disabled.
7598 
7599 //----------------------------- CONFIG3 Options -------------------------------
7600 
7601 #define _WRT_ALL                0x3FFC  // 0000h to 07FFh write protected, no addresses may be modified.
7602 #define _WRT_HALF               0x3FFD  // 0000h to 03FFh write-protected, 0400h to 07FFh may be modified.
7603 #define _WRT_BOOT               0x3FFE  // 0000h to 01FFh write-protected, 0200h to 07FFh may be modified.
7604 #define _WRT_OFF                0x3FFF  // Write protection off.
7605 #define _LVP_OFF                0x1FFF  // High Voltage on MCLR/VPP must be used for programming.
7606 #define _LVP_ON                 0x3FFF  // Low Voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored.
7607 
7608 //----------------------------- CONFIG4 Options -------------------------------
7609 
7610 #define _CP_ON                  0x3FFE  // User NVM code protection enabled.
7611 #define _CP_OFF                 0x3FFF  // User NVM code protection disabled.
7612 #define _CPD_ON                 0x3FFD  // Data NVM code protection enabled.
7613 #define _CPD_OFF                0x3FFF  // Data NVM code protection disabled.
7614 
7615 //==============================================================================
7616 
7617 #define _DEVID1                 0x8006
7618 
7619 #define _IDLOC0                 0x8000
7620 #define _IDLOC1                 0x8001
7621 #define _IDLOC2                 0x8002
7622 #define _IDLOC3                 0x8003
7623 
7624 //==============================================================================
7625 
7626 #ifndef NO_BIT_DEFINES
7627 
7628 #define ADACT0                  ADACTbits.ADACT0                // bit 0
7629 #define ADACT1                  ADACTbits.ADACT1                // bit 1
7630 #define ADACT2                  ADACTbits.ADACT2                // bit 2
7631 #define ADACT3                  ADACTbits.ADACT3                // bit 3
7632 
7633 #define ADON                    ADCON0bits.ADON                 // bit 0
7634 #define GO_NOT_DONE             ADCON0bits.GO_NOT_DONE          // bit 1, shadows bit in ADCON0bits
7635 #define ADGO                    ADCON0bits.ADGO                 // bit 1, shadows bit in ADCON0bits
7636 #define GO                      ADCON0bits.GO                   // bit 1, shadows bit in ADCON0bits
7637 #define CHS0                    ADCON0bits.CHS0                 // bit 2
7638 #define CHS1                    ADCON0bits.CHS1                 // bit 3
7639 #define CHS2                    ADCON0bits.CHS2                 // bit 4
7640 #define CHS3                    ADCON0bits.CHS3                 // bit 5
7641 #define CHS4                    ADCON0bits.CHS4                 // bit 6
7642 #define CHS5                    ADCON0bits.CHS5                 // bit 7
7643 
7644 #define ADPREF0                 ADCON1bits.ADPREF0              // bit 0
7645 #define ADPREF1                 ADCON1bits.ADPREF1              // bit 1
7646 #define ADNREF                  ADCON1bits.ADNREF               // bit 2
7647 #define ADCS0                   ADCON1bits.ADCS0                // bit 4
7648 #define ADCS1                   ADCON1bits.ADCS1                // bit 5
7649 #define ADCS2                   ADCON1bits.ADCS2                // bit 6
7650 #define ADFM                    ADCON1bits.ADFM                 // bit 7
7651 
7652 #define ANSA0                   ANSELAbits.ANSA0                // bit 0
7653 #define ANSA1                   ANSELAbits.ANSA1                // bit 1
7654 #define ANSA2                   ANSELAbits.ANSA2                // bit 2
7655 #define ANSA4                   ANSELAbits.ANSA4                // bit 4
7656 #define ANSA5                   ANSELAbits.ANSA5                // bit 5
7657 
7658 #define ANSC0                   ANSELCbits.ANSC0                // bit 0
7659 #define ANSC1                   ANSELCbits.ANSC1                // bit 1
7660 #define ANSC2                   ANSELCbits.ANSC2                // bit 2
7661 #define ANSC3                   ANSELCbits.ANSC3                // bit 3
7662 #define ANSC4                   ANSELCbits.ANSC4                // bit 4
7663 #define ANSC5                   ANSELCbits.ANSC5                // bit 5
7664 
7665 #define ABDEN                   BAUD1CONbits.ABDEN              // bit 0
7666 #define WUE                     BAUD1CONbits.WUE                // bit 1
7667 #define BRG16                   BAUD1CONbits.BRG16              // bit 3
7668 #define SCKP                    BAUD1CONbits.SCKP               // bit 4
7669 #define RCIDL                   BAUD1CONbits.RCIDL              // bit 6
7670 #define ABDOVF                  BAUD1CONbits.ABDOVF             // bit 7
7671 
7672 #define BORRDY                  BORCONbits.BORRDY               // bit 0
7673 #define SBOREN                  BORCONbits.SBOREN               // bit 7
7674 
7675 #define BSR0                    BSRbits.BSR0                    // bit 0
7676 #define BSR1                    BSRbits.BSR1                    // bit 1
7677 #define BSR2                    BSRbits.BSR2                    // bit 2
7678 #define BSR3                    BSRbits.BSR3                    // bit 3
7679 #define BSR4                    BSRbits.BSR4                    // bit 4
7680 
7681 #define CCDS0                   CCDCONbits.CCDS0                // bit 0
7682 #define CCDS1                   CCDCONbits.CCDS1                // bit 1
7683 #define CCDEN                   CCDCONbits.CCDEN                // bit 7
7684 
7685 #define CCDNA0                  CCDNAbits.CCDNA0                // bit 0
7686 #define CCDNA1                  CCDNAbits.CCDNA1                // bit 1
7687 #define CCDNA2                  CCDNAbits.CCDNA2                // bit 2
7688 #define CCDNA4                  CCDNAbits.CCDNA4                // bit 4
7689 #define CCDNA5                  CCDNAbits.CCDNA5                // bit 5
7690 
7691 #define CCDNC0                  CCDNCbits.CCDNC0                // bit 0
7692 #define CCDNC1                  CCDNCbits.CCDNC1                // bit 1
7693 #define CCDNC2                  CCDNCbits.CCDNC2                // bit 2
7694 #define CCDNC3                  CCDNCbits.CCDNC3                // bit 3
7695 #define CCDNC4                  CCDNCbits.CCDNC4                // bit 4
7696 #define CCDNC5                  CCDNCbits.CCDNC5                // bit 5
7697 
7698 #define CCDPA0                  CCDPAbits.CCDPA0                // bit 0
7699 #define CCDPA1                  CCDPAbits.CCDPA1                // bit 1
7700 #define CCDPA2                  CCDPAbits.CCDPA2                // bit 2
7701 #define CCDPA4                  CCDPAbits.CCDPA4                // bit 4
7702 #define CCDPA5                  CCDPAbits.CCDPA5                // bit 5
7703 
7704 #define CCDPC0                  CCDPCbits.CCDPC0                // bit 0
7705 #define CCDPC1                  CCDPCbits.CCDPC1                // bit 1
7706 #define CCDPC2                  CCDPCbits.CCDPC2                // bit 2
7707 #define CCDPC3                  CCDPCbits.CCDPC3                // bit 3
7708 #define CCDPC4                  CCDPCbits.CCDPC4                // bit 4
7709 #define CCDPC5                  CCDPCbits.CCDPC5                // bit 5
7710 
7711 #define CCP1CTS0                CCP1CAPbits.CCP1CTS0            // bit 0
7712 #define CCP1CTS1                CCP1CAPbits.CCP1CTS1            // bit 1
7713 #define CCP1CTS2                CCP1CAPbits.CCP1CTS2            // bit 2
7714 
7715 #define CCP1MODE0               CCP1CONbits.CCP1MODE0           // bit 0
7716 #define CCP1MODE1               CCP1CONbits.CCP1MODE1           // bit 1
7717 #define CCP1MODE2               CCP1CONbits.CCP1MODE2           // bit 2
7718 #define CCP1MODE3               CCP1CONbits.CCP1MODE3           // bit 3
7719 #define CCP1FMT                 CCP1CONbits.CCP1FMT             // bit 4
7720 #define CCP1OUT                 CCP1CONbits.CCP1OUT             // bit 5
7721 #define CCP1EN                  CCP1CONbits.CCP1EN              // bit 7
7722 
7723 #define CCP1PPS0                CCP1PPSbits.CCP1PPS0            // bit 0
7724 #define CCP1PPS1                CCP1PPSbits.CCP1PPS1            // bit 1
7725 #define CCP1PPS2                CCP1PPSbits.CCP1PPS2            // bit 2
7726 #define CCP1PPS3                CCP1PPSbits.CCP1PPS3            // bit 3
7727 #define CCP1PPS4                CCP1PPSbits.CCP1PPS4            // bit 4
7728 
7729 #define CCP2CTS0                CCP2CAPbits.CCP2CTS0            // bit 0
7730 #define CCP2CTS1                CCP2CAPbits.CCP2CTS1            // bit 1
7731 #define CCP2CTS2                CCP2CAPbits.CCP2CTS2            // bit 2
7732 
7733 #define CCP2MODE0               CCP2CONbits.CCP2MODE0           // bit 0
7734 #define CCP2MODE1               CCP2CONbits.CCP2MODE1           // bit 1
7735 #define CCP2MODE2               CCP2CONbits.CCP2MODE2           // bit 2
7736 #define CCP2MODE3               CCP2CONbits.CCP2MODE3           // bit 3
7737 #define CCP2FMT                 CCP2CONbits.CCP2FMT             // bit 4
7738 #define CCP2OUT                 CCP2CONbits.CCP2OUT             // bit 5
7739 #define CCP2EN                  CCP2CONbits.CCP2EN              // bit 7
7740 
7741 #define CCP2PPS0                CCP2PPSbits.CCP2PPS0            // bit 0
7742 #define CCP2PPS1                CCP2PPSbits.CCP2PPS1            // bit 1
7743 #define CCP2PPS2                CCP2PPSbits.CCP2PPS2            // bit 2
7744 #define CCP2PPS3                CCP2PPSbits.CCP2PPS3            // bit 3
7745 #define CCP2PPS4                CCP2PPSbits.CCP2PPS4            // bit 4
7746 
7747 #define C1TSEL                  CCPTMRSbits.C1TSEL              // bit 0
7748 #define C2TSEL                  CCPTMRSbits.C2TSEL              // bit 2
7749 
7750 #define LC1MODE0                CLC1CONbits.LC1MODE0            // bit 0, shadows bit in CLC1CONbits
7751 #define MODE0                   CLC1CONbits.MODE0               // bit 0, shadows bit in CLC1CONbits
7752 #define LC1MODE1                CLC1CONbits.LC1MODE1            // bit 1, shadows bit in CLC1CONbits
7753 #define MODE1                   CLC1CONbits.MODE1               // bit 1, shadows bit in CLC1CONbits
7754 #define LC1MODE2                CLC1CONbits.LC1MODE2            // bit 2, shadows bit in CLC1CONbits
7755 #define MODE2                   CLC1CONbits.MODE2               // bit 2, shadows bit in CLC1CONbits
7756 #define LC1INTN                 CLC1CONbits.LC1INTN             // bit 3, shadows bit in CLC1CONbits
7757 #define INTN                    CLC1CONbits.INTN                // bit 3, shadows bit in CLC1CONbits
7758 #define LC1INTP                 CLC1CONbits.LC1INTP             // bit 4, shadows bit in CLC1CONbits
7759 #define INTP                    CLC1CONbits.INTP                // bit 4, shadows bit in CLC1CONbits
7760 #define LC1OUT                  CLC1CONbits.LC1OUT              // bit 5, shadows bit in CLC1CONbits
7761 #define OUT                     CLC1CONbits.OUT                 // bit 5, shadows bit in CLC1CONbits
7762 #define LC1EN                   CLC1CONbits.LC1EN               // bit 7, shadows bit in CLC1CONbits
7763 #define EN                      CLC1CONbits.EN                  // bit 7, shadows bit in CLC1CONbits
7764 
7765 #define LC1G1D1N                CLC1GLS0bits.LC1G1D1N           // bit 0, shadows bit in CLC1GLS0bits
7766 #define D1N                     CLC1GLS0bits.D1N                // bit 0, shadows bit in CLC1GLS0bits
7767 #define LC1G1D1T                CLC1GLS0bits.LC1G1D1T           // bit 1, shadows bit in CLC1GLS0bits
7768 #define D1T                     CLC1GLS0bits.D1T                // bit 1, shadows bit in CLC1GLS0bits
7769 #define LC1G1D2N                CLC1GLS0bits.LC1G1D2N           // bit 2, shadows bit in CLC1GLS0bits
7770 #define D2N                     CLC1GLS0bits.D2N                // bit 2, shadows bit in CLC1GLS0bits
7771 #define LC1G1D2T                CLC1GLS0bits.LC1G1D2T           // bit 3, shadows bit in CLC1GLS0bits
7772 #define D2T                     CLC1GLS0bits.D2T                // bit 3, shadows bit in CLC1GLS0bits
7773 #define LC1G1D3N                CLC1GLS0bits.LC1G1D3N           // bit 4, shadows bit in CLC1GLS0bits
7774 #define D3N                     CLC1GLS0bits.D3N                // bit 4, shadows bit in CLC1GLS0bits
7775 #define LC1G1D3T                CLC1GLS0bits.LC1G1D3T           // bit 5, shadows bit in CLC1GLS0bits
7776 #define D3T                     CLC1GLS0bits.D3T                // bit 5, shadows bit in CLC1GLS0bits
7777 #define LC1G1D4N                CLC1GLS0bits.LC1G1D4N           // bit 6, shadows bit in CLC1GLS0bits
7778 #define D4N                     CLC1GLS0bits.D4N                // bit 6, shadows bit in CLC1GLS0bits
7779 #define LC1G1D4T                CLC1GLS0bits.LC1G1D4T           // bit 7, shadows bit in CLC1GLS0bits
7780 #define D4T                     CLC1GLS0bits.D4T                // bit 7, shadows bit in CLC1GLS0bits
7781 
7782 #define LC1G4D1N                CLC1GLS3bits.LC1G4D1N           // bit 0, shadows bit in CLC1GLS3bits
7783 #define G4D1N                   CLC1GLS3bits.G4D1N              // bit 0, shadows bit in CLC1GLS3bits
7784 #define LC1G4D1T                CLC1GLS3bits.LC1G4D1T           // bit 1, shadows bit in CLC1GLS3bits
7785 #define G4D1T                   CLC1GLS3bits.G4D1T              // bit 1, shadows bit in CLC1GLS3bits
7786 #define LC1G4D2N                CLC1GLS3bits.LC1G4D2N           // bit 2, shadows bit in CLC1GLS3bits
7787 #define G4D2N                   CLC1GLS3bits.G4D2N              // bit 2, shadows bit in CLC1GLS3bits
7788 #define LC1G4D2T                CLC1GLS3bits.LC1G4D2T           // bit 3, shadows bit in CLC1GLS3bits
7789 #define G4D2T                   CLC1GLS3bits.G4D2T              // bit 3, shadows bit in CLC1GLS3bits
7790 #define LC1G4D3N                CLC1GLS3bits.LC1G4D3N           // bit 4, shadows bit in CLC1GLS3bits
7791 #define G4D3N                   CLC1GLS3bits.G4D3N              // bit 4, shadows bit in CLC1GLS3bits
7792 #define LC1G4D3T                CLC1GLS3bits.LC1G4D3T           // bit 5, shadows bit in CLC1GLS3bits
7793 #define G4D3T                   CLC1GLS3bits.G4D3T              // bit 5, shadows bit in CLC1GLS3bits
7794 #define LC1G4D4N                CLC1GLS3bits.LC1G4D4N           // bit 6, shadows bit in CLC1GLS3bits
7795 #define G4D4N                   CLC1GLS3bits.G4D4N              // bit 6, shadows bit in CLC1GLS3bits
7796 #define LC1G4D4T                CLC1GLS3bits.LC1G4D4T           // bit 7, shadows bit in CLC1GLS3bits
7797 #define G4D4T                   CLC1GLS3bits.G4D4T              // bit 7, shadows bit in CLC1GLS3bits
7798 
7799 #define LC1G1POL                CLC1POLbits.LC1G1POL            // bit 0, shadows bit in CLC1POLbits
7800 #define G1POL                   CLC1POLbits.G1POL               // bit 0, shadows bit in CLC1POLbits
7801 #define LC1G2POL                CLC1POLbits.LC1G2POL            // bit 1, shadows bit in CLC1POLbits
7802 #define G2POL                   CLC1POLbits.G2POL               // bit 1, shadows bit in CLC1POLbits
7803 #define LC1G3POL                CLC1POLbits.LC1G3POL            // bit 2, shadows bit in CLC1POLbits
7804 #define G3POL                   CLC1POLbits.G3POL               // bit 2, shadows bit in CLC1POLbits
7805 #define LC1G4POL                CLC1POLbits.LC1G4POL            // bit 3, shadows bit in CLC1POLbits
7806 #define G4POL                   CLC1POLbits.G4POL               // bit 3, shadows bit in CLC1POLbits
7807 #define LC1POL                  CLC1POLbits.LC1POL              // bit 7, shadows bit in CLC1POLbits
7808 #define POL                     CLC1POLbits.POL                 // bit 7, shadows bit in CLC1POLbits
7809 
7810 #define LC1D1S0                 CLC1SEL0bits.LC1D1S0            // bit 0, shadows bit in CLC1SEL0bits
7811 #define D1S0                    CLC1SEL0bits.D1S0               // bit 0, shadows bit in CLC1SEL0bits
7812 #define LC1D1S1                 CLC1SEL0bits.LC1D1S1            // bit 1, shadows bit in CLC1SEL0bits
7813 #define D1S1                    CLC1SEL0bits.D1S1               // bit 1, shadows bit in CLC1SEL0bits
7814 #define LC1D1S2                 CLC1SEL0bits.LC1D1S2            // bit 2, shadows bit in CLC1SEL0bits
7815 #define D1S2                    CLC1SEL0bits.D1S2               // bit 2, shadows bit in CLC1SEL0bits
7816 #define LC1D1S3                 CLC1SEL0bits.LC1D1S3            // bit 3, shadows bit in CLC1SEL0bits
7817 #define D1S3                    CLC1SEL0bits.D1S3               // bit 3, shadows bit in CLC1SEL0bits
7818 #define LC1D1S4                 CLC1SEL0bits.LC1D1S4            // bit 4, shadows bit in CLC1SEL0bits
7819 #define D1S4                    CLC1SEL0bits.D1S4               // bit 4, shadows bit in CLC1SEL0bits
7820 
7821 #define LC1D2S0                 CLC1SEL1bits.LC1D2S0            // bit 0, shadows bit in CLC1SEL1bits
7822 #define D2S0                    CLC1SEL1bits.D2S0               // bit 0, shadows bit in CLC1SEL1bits
7823 #define LC1D2S1                 CLC1SEL1bits.LC1D2S1            // bit 1, shadows bit in CLC1SEL1bits
7824 #define D2S1                    CLC1SEL1bits.D2S1               // bit 1, shadows bit in CLC1SEL1bits
7825 #define LC1D2S2                 CLC1SEL1bits.LC1D2S2            // bit 2, shadows bit in CLC1SEL1bits
7826 #define D2S2                    CLC1SEL1bits.D2S2               // bit 2, shadows bit in CLC1SEL1bits
7827 #define LC1D2S3                 CLC1SEL1bits.LC1D2S3            // bit 3, shadows bit in CLC1SEL1bits
7828 #define D2S3                    CLC1SEL1bits.D2S3               // bit 3, shadows bit in CLC1SEL1bits
7829 #define LC1D2S4                 CLC1SEL1bits.LC1D2S4            // bit 4, shadows bit in CLC1SEL1bits
7830 #define D2S4                    CLC1SEL1bits.D2S4               // bit 4, shadows bit in CLC1SEL1bits
7831 
7832 #define LC1D3S0                 CLC1SEL2bits.LC1D3S0            // bit 0, shadows bit in CLC1SEL2bits
7833 #define D3S0                    CLC1SEL2bits.D3S0               // bit 0, shadows bit in CLC1SEL2bits
7834 #define LC1D3S1                 CLC1SEL2bits.LC1D3S1            // bit 1, shadows bit in CLC1SEL2bits
7835 #define D3S1                    CLC1SEL2bits.D3S1               // bit 1, shadows bit in CLC1SEL2bits
7836 #define LC1D3S2                 CLC1SEL2bits.LC1D3S2            // bit 2, shadows bit in CLC1SEL2bits
7837 #define D3S2                    CLC1SEL2bits.D3S2               // bit 2, shadows bit in CLC1SEL2bits
7838 #define LC1D3S3                 CLC1SEL2bits.LC1D3S3            // bit 3, shadows bit in CLC1SEL2bits
7839 #define D3S3                    CLC1SEL2bits.D3S3               // bit 3, shadows bit in CLC1SEL2bits
7840 #define LC1D3S4                 CLC1SEL2bits.LC1D3S4            // bit 4, shadows bit in CLC1SEL2bits
7841 #define D3S4                    CLC1SEL2bits.D3S4               // bit 4, shadows bit in CLC1SEL2bits
7842 
7843 #define LC1D4S0                 CLC1SEL3bits.LC1D4S0            // bit 0, shadows bit in CLC1SEL3bits
7844 #define D4S0                    CLC1SEL3bits.D4S0               // bit 0, shadows bit in CLC1SEL3bits
7845 #define LC1D4S1                 CLC1SEL3bits.LC1D4S1            // bit 1, shadows bit in CLC1SEL3bits
7846 #define D4S1                    CLC1SEL3bits.D4S1               // bit 1, shadows bit in CLC1SEL3bits
7847 #define LC1D4S2                 CLC1SEL3bits.LC1D4S2            // bit 2, shadows bit in CLC1SEL3bits
7848 #define D4S2                    CLC1SEL3bits.D4S2               // bit 2, shadows bit in CLC1SEL3bits
7849 #define LC1D4S3                 CLC1SEL3bits.LC1D4S3            // bit 3, shadows bit in CLC1SEL3bits
7850 #define D4S3                    CLC1SEL3bits.D4S3               // bit 3, shadows bit in CLC1SEL3bits
7851 #define LC1D4S4                 CLC1SEL3bits.LC1D4S4            // bit 4, shadows bit in CLC1SEL3bits
7852 #define D4S4                    CLC1SEL3bits.D4S4               // bit 4, shadows bit in CLC1SEL3bits
7853 
7854 #define MLC1OUT                 CLCDATAbits.MLC1OUT             // bit 0
7855 #define MLC2OUT                 CLCDATAbits.MLC2OUT             // bit 1
7856 
7857 #define CLCIN0PPS0              CLCIN0PPSbits.CLCIN0PPS0        // bit 0
7858 #define CLCIN0PPS1              CLCIN0PPSbits.CLCIN0PPS1        // bit 1
7859 #define CLCIN0PPS2              CLCIN0PPSbits.CLCIN0PPS2        // bit 2
7860 #define CLCIN0PPS3              CLCIN0PPSbits.CLCIN0PPS3        // bit 3
7861 #define CLCIN0PPS4              CLCIN0PPSbits.CLCIN0PPS4        // bit 4
7862 
7863 #define CLCIN1PPS0              CLCIN1PPSbits.CLCIN1PPS0        // bit 0
7864 #define CLCIN1PPS1              CLCIN1PPSbits.CLCIN1PPS1        // bit 1
7865 #define CLCIN1PPS2              CLCIN1PPSbits.CLCIN1PPS2        // bit 2
7866 #define CLCIN1PPS3              CLCIN1PPSbits.CLCIN1PPS3        // bit 3
7867 #define CLCIN1PPS4              CLCIN1PPSbits.CLCIN1PPS4        // bit 4
7868 
7869 #define CLCIN2PPS0              CLCIN2PPSbits.CLCIN2PPS0        // bit 0
7870 #define CLCIN2PPS1              CLCIN2PPSbits.CLCIN2PPS1        // bit 1
7871 #define CLCIN2PPS2              CLCIN2PPSbits.CLCIN2PPS2        // bit 2
7872 #define CLCIN2PPS3              CLCIN2PPSbits.CLCIN2PPS3        // bit 3
7873 #define CLCIN2PPS4              CLCIN2PPSbits.CLCIN2PPS4        // bit 4
7874 
7875 #define CLCIN3PPS0              CLCIN3PPSbits.CLCIN3PPS0        // bit 0
7876 #define CLCIN3PPS1              CLCIN3PPSbits.CLCIN3PPS1        // bit 1
7877 #define CLCIN3PPS2              CLCIN3PPSbits.CLCIN3PPS2        // bit 2
7878 #define CLCIN3PPS3              CLCIN3PPSbits.CLCIN3PPS3        // bit 3
7879 #define CLCIN3PPS4              CLCIN3PPSbits.CLCIN3PPS4        // bit 4
7880 
7881 #define CLKRDIV0                CLKRCONbits.CLKRDIV0            // bit 0
7882 #define CLKRDIV1                CLKRCONbits.CLKRDIV1            // bit 1
7883 #define CLKRDIV2                CLKRCONbits.CLKRDIV2            // bit 2
7884 #define CLKRDC0                 CLKRCONbits.CLKRDC0             // bit 3
7885 #define CLKRDC1                 CLKRCONbits.CLKRDC1             // bit 4
7886 #define CLKREN                  CLKRCONbits.CLKREN              // bit 7
7887 
7888 #define C1SYNC                  CM1CON0bits.C1SYNC              // bit 0
7889 #define C1HYS                   CM1CON0bits.C1HYS               // bit 1
7890 #define C1SP                    CM1CON0bits.C1SP                // bit 2
7891 #define C1POL                   CM1CON0bits.C1POL               // bit 4
7892 #define C1OUT                   CM1CON0bits.C1OUT               // bit 6
7893 #define C1ON                    CM1CON0bits.C1ON                // bit 7
7894 
7895 #define C1NCH0                  CM1CON1bits.C1NCH0              // bit 0
7896 #define C1NCH1                  CM1CON1bits.C1NCH1              // bit 1
7897 #define C1NCH2                  CM1CON1bits.C1NCH2              // bit 2
7898 #define C1PCH0                  CM1CON1bits.C1PCH0              // bit 3
7899 #define C1PCH1                  CM1CON1bits.C1PCH1              // bit 4
7900 #define C1PCH2                  CM1CON1bits.C1PCH2              // bit 5
7901 #define C1INTN                  CM1CON1bits.C1INTN              // bit 6
7902 #define C1INTP                  CM1CON1bits.C1INTP              // bit 7
7903 
7904 #define C2SYNC                  CM2CON0bits.C2SYNC              // bit 0
7905 #define C2HYS                   CM2CON0bits.C2HYS               // bit 1
7906 #define C2SP                    CM2CON0bits.C2SP                // bit 2
7907 #define C2POL                   CM2CON0bits.C2POL               // bit 4
7908 #define C2OUT                   CM2CON0bits.C2OUT               // bit 6
7909 #define C2ON                    CM2CON0bits.C2ON                // bit 7
7910 
7911 #define C2NCH0                  CM2CON1bits.C2NCH0              // bit 0
7912 #define C2NCH1                  CM2CON1bits.C2NCH1              // bit 1
7913 #define C2NCH2                  CM2CON1bits.C2NCH2              // bit 2
7914 #define C2PCH0                  CM2CON1bits.C2PCH0              // bit 3
7915 #define C2PCH1                  CM2CON1bits.C2PCH1              // bit 4
7916 #define C2PCH2                  CM2CON1bits.C2PCH2              // bit 5
7917 #define C2INTN                  CM2CON1bits.C2INTN              // bit 6
7918 #define C2INTP                  CM2CON1bits.C2INTP              // bit 7
7919 
7920 #define MC1OUT                  CMOUTbits.MC1OUT                // bit 0
7921 #define MC2OUT                  CMOUTbits.MC2OUT                // bit 1
7922 
7923 #define DOZE0                   CPUDOZEbits.DOZE0               // bit 0
7924 #define DOZE1                   CPUDOZEbits.DOZE1               // bit 1
7925 #define DOZE2                   CPUDOZEbits.DOZE2               // bit 2
7926 #define DOE                     CPUDOZEbits.DOE                 // bit 4
7927 #define ROI                     CPUDOZEbits.ROI                 // bit 5
7928 #define DOZEN                   CPUDOZEbits.DOZEN               // bit 6
7929 #define IDLEN                   CPUDOZEbits.IDLEN               // bit 7
7930 
7931 #define LSAC0                   CWG1AS0bits.LSAC0               // bit 2, shadows bit in CWG1AS0bits
7932 #define CWG1LSAC0               CWG1AS0bits.CWG1LSAC0           // bit 2, shadows bit in CWG1AS0bits
7933 #define LSAC1                   CWG1AS0bits.LSAC1               // bit 3, shadows bit in CWG1AS0bits
7934 #define CWG1LSAC1               CWG1AS0bits.CWG1LSAC1           // bit 3, shadows bit in CWG1AS0bits
7935 #define LSBD0                   CWG1AS0bits.LSBD0               // bit 4, shadows bit in CWG1AS0bits
7936 #define CWG1LSBD0               CWG1AS0bits.CWG1LSBD0           // bit 4, shadows bit in CWG1AS0bits
7937 #define LSBD1                   CWG1AS0bits.LSBD1               // bit 5, shadows bit in CWG1AS0bits
7938 #define CWG1LSBD1               CWG1AS0bits.CWG1LSBD1           // bit 5, shadows bit in CWG1AS0bits
7939 #define REN                     CWG1AS0bits.REN                 // bit 6, shadows bit in CWG1AS0bits
7940 #define CWG1REN                 CWG1AS0bits.CWG1REN             // bit 6, shadows bit in CWG1AS0bits
7941 #define SHUTDOWN                CWG1AS0bits.SHUTDOWN            // bit 7, shadows bit in CWG1AS0bits
7942 #define CWG1SHUTDOWN            CWG1AS0bits.CWG1SHUTDOWN        // bit 7, shadows bit in CWG1AS0bits
7943 
7944 #define AS0E                    CWG1AS1bits.AS0E                // bit 0
7945 #define AS1E                    CWG1AS1bits.AS1E                // bit 1
7946 #define AS2E                    CWG1AS1bits.AS2E                // bit 2
7947 #define AS3E                    CWG1AS1bits.AS3E                // bit 3
7948 
7949 #define CS                      CWG1CLKCONbits.CS               // bit 0, shadows bit in CWG1CLKCONbits
7950 #define CWG1CS                  CWG1CLKCONbits.CWG1CS           // bit 0, shadows bit in CWG1CLKCONbits
7951 
7952 #define POLA                    CWG1CON1bits.POLA               // bit 0, shadows bit in CWG1CON1bits
7953 #define CWG1POLA                CWG1CON1bits.CWG1POLA           // bit 0, shadows bit in CWG1CON1bits
7954 #define POLB                    CWG1CON1bits.POLB               // bit 1, shadows bit in CWG1CON1bits
7955 #define CWG1POLB                CWG1CON1bits.CWG1POLB           // bit 1, shadows bit in CWG1CON1bits
7956 #define POLC                    CWG1CON1bits.POLC               // bit 2, shadows bit in CWG1CON1bits
7957 #define CWG1POLC                CWG1CON1bits.CWG1POLC           // bit 2, shadows bit in CWG1CON1bits
7958 #define POLD                    CWG1CON1bits.POLD               // bit 3, shadows bit in CWG1CON1bits
7959 #define CWG1POLD                CWG1CON1bits.CWG1POLD           // bit 3, shadows bit in CWG1CON1bits
7960 #define IN                      CWG1CON1bits.IN                 // bit 5, shadows bit in CWG1CON1bits
7961 #define CWG1IN                  CWG1CON1bits.CWG1IN             // bit 5, shadows bit in CWG1CON1bits
7962 
7963 #define CWG1DAT0                CWG1DATbits.CWG1DAT0            // bit 0
7964 #define CWG1DAT1                CWG1DATbits.CWG1DAT1            // bit 1
7965 #define CWG1DAT2                CWG1DATbits.CWG1DAT2            // bit 2
7966 #define CWG1DAT3                CWG1DATbits.CWG1DAT3            // bit 3
7967 
7968 #define DBF0                    CWG1DBFbits.DBF0                // bit 0, shadows bit in CWG1DBFbits
7969 #define CWG1DBF0                CWG1DBFbits.CWG1DBF0            // bit 0, shadows bit in CWG1DBFbits
7970 #define DBF1                    CWG1DBFbits.DBF1                // bit 1, shadows bit in CWG1DBFbits
7971 #define CWG1DBF1                CWG1DBFbits.CWG1DBF1            // bit 1, shadows bit in CWG1DBFbits
7972 #define DBF2                    CWG1DBFbits.DBF2                // bit 2, shadows bit in CWG1DBFbits
7973 #define CWG1DBF2                CWG1DBFbits.CWG1DBF2            // bit 2, shadows bit in CWG1DBFbits
7974 #define DBF3                    CWG1DBFbits.DBF3                // bit 3, shadows bit in CWG1DBFbits
7975 #define CWG1DBF3                CWG1DBFbits.CWG1DBF3            // bit 3, shadows bit in CWG1DBFbits
7976 #define DBF4                    CWG1DBFbits.DBF4                // bit 4, shadows bit in CWG1DBFbits
7977 #define CWG1DBF4                CWG1DBFbits.CWG1DBF4            // bit 4, shadows bit in CWG1DBFbits
7978 #define DBF5                    CWG1DBFbits.DBF5                // bit 5, shadows bit in CWG1DBFbits
7979 #define CWG1DBF5                CWG1DBFbits.CWG1DBF5            // bit 5, shadows bit in CWG1DBFbits
7980 
7981 #define DBR0                    CWG1DBRbits.DBR0                // bit 0, shadows bit in CWG1DBRbits
7982 #define CWG1DBR0                CWG1DBRbits.CWG1DBR0            // bit 0, shadows bit in CWG1DBRbits
7983 #define DBR1                    CWG1DBRbits.DBR1                // bit 1, shadows bit in CWG1DBRbits
7984 #define CWG1DBR1                CWG1DBRbits.CWG1DBR1            // bit 1, shadows bit in CWG1DBRbits
7985 #define DBR2                    CWG1DBRbits.DBR2                // bit 2, shadows bit in CWG1DBRbits
7986 #define CWG1DBR2                CWG1DBRbits.CWG1DBR2            // bit 2, shadows bit in CWG1DBRbits
7987 #define DBR3                    CWG1DBRbits.DBR3                // bit 3, shadows bit in CWG1DBRbits
7988 #define CWG1DBR3                CWG1DBRbits.CWG1DBR3            // bit 3, shadows bit in CWG1DBRbits
7989 #define DBR4                    CWG1DBRbits.DBR4                // bit 4, shadows bit in CWG1DBRbits
7990 #define CWG1DBR4                CWG1DBRbits.CWG1DBR4            // bit 4, shadows bit in CWG1DBRbits
7991 #define DBR5                    CWG1DBRbits.DBR5                // bit 5, shadows bit in CWG1DBRbits
7992 #define CWG1DBR5                CWG1DBRbits.CWG1DBR5            // bit 5, shadows bit in CWG1DBRbits
7993 
7994 #define CWG1PPS0                CWG1PPSbits.CWG1PPS0            // bit 0
7995 #define CWG1PPS1                CWG1PPSbits.CWG1PPS1            // bit 1
7996 #define CWG1PPS2                CWG1PPSbits.CWG1PPS2            // bit 2
7997 #define CWG1PPS3                CWG1PPSbits.CWG1PPS3            // bit 3
7998 #define CWG1PPS4                CWG1PPSbits.CWG1PPS4            // bit 4
7999 
8000 #define STRA                    CWG1STRbits.STRA                // bit 0, shadows bit in CWG1STRbits
8001 #define CWG1STRA                CWG1STRbits.CWG1STRA            // bit 0, shadows bit in CWG1STRbits
8002 #define STRB                    CWG1STRbits.STRB                // bit 1, shadows bit in CWG1STRbits
8003 #define CWG1STRB                CWG1STRbits.CWG1STRB            // bit 1, shadows bit in CWG1STRbits
8004 #define STRC                    CWG1STRbits.STRC                // bit 2, shadows bit in CWG1STRbits
8005 #define CWG1STRC                CWG1STRbits.CWG1STRC            // bit 2, shadows bit in CWG1STRbits
8006 #define STRD                    CWG1STRbits.STRD                // bit 3, shadows bit in CWG1STRbits
8007 #define CWG1STRD                CWG1STRbits.CWG1STRD            // bit 3, shadows bit in CWG1STRbits
8008 #define OVRA                    CWG1STRbits.OVRA                // bit 4, shadows bit in CWG1STRbits
8009 #define CWG1OVRA                CWG1STRbits.CWG1OVRA            // bit 4, shadows bit in CWG1STRbits
8010 #define OVRB                    CWG1STRbits.OVRB                // bit 5, shadows bit in CWG1STRbits
8011 #define CWG1OVRB                CWG1STRbits.CWG1OVRB            // bit 5, shadows bit in CWG1STRbits
8012 #define OVRC                    CWG1STRbits.OVRC                // bit 6, shadows bit in CWG1STRbits
8013 #define CWG1OVRC                CWG1STRbits.CWG1OVRC            // bit 6, shadows bit in CWG1STRbits
8014 #define OVRD                    CWG1STRbits.OVRD                // bit 7, shadows bit in CWG1STRbits
8015 #define CWG1OVRD                CWG1STRbits.CWG1OVRD            // bit 7, shadows bit in CWG1STRbits
8016 
8017 #define DAC1NSS                 DACCON0bits.DAC1NSS             // bit 0
8018 #define DAC1PSS0                DACCON0bits.DAC1PSS0            // bit 2
8019 #define DAC1PSS1                DACCON0bits.DAC1PSS1            // bit 3
8020 #define DAC1OE                  DACCON0bits.DAC1OE              // bit 5
8021 #define DAC1EN                  DACCON0bits.DAC1EN              // bit 7
8022 
8023 #define DAC1R0                  DACCON1bits.DAC1R0              // bit 0
8024 #define DAC1R1                  DACCON1bits.DAC1R1              // bit 1
8025 #define DAC1R2                  DACCON1bits.DAC1R2              // bit 2
8026 #define DAC1R3                  DACCON1bits.DAC1R3              // bit 3
8027 #define DAC1R4                  DACCON1bits.DAC1R4              // bit 4
8028 
8029 #define ADFVR0                  FVRCONbits.ADFVR0               // bit 0
8030 #define ADFVR1                  FVRCONbits.ADFVR1               // bit 1
8031 #define CDAFVR0                 FVRCONbits.CDAFVR0              // bit 2
8032 #define CDAFVR1                 FVRCONbits.CDAFVR1              // bit 3
8033 #define TSRNG                   FVRCONbits.TSRNG                // bit 4
8034 #define TSEN                    FVRCONbits.TSEN                 // bit 5
8035 #define FVRRDY                  FVRCONbits.FVRRDY               // bit 6
8036 #define FVREN                   FVRCONbits.FVREN                // bit 7
8037 
8038 #define INLVLA0                 INLVLAbits.INLVLA0              // bit 0
8039 #define INLVLA1                 INLVLAbits.INLVLA1              // bit 1
8040 #define INLVLA2                 INLVLAbits.INLVLA2              // bit 2
8041 #define INLVLA3                 INLVLAbits.INLVLA3              // bit 3
8042 #define INLVLA4                 INLVLAbits.INLVLA4              // bit 4
8043 #define INLVLA5                 INLVLAbits.INLVLA5              // bit 5
8044 
8045 #define INLVLC0                 INLVLCbits.INLVLC0              // bit 0
8046 #define INLVLC1                 INLVLCbits.INLVLC1              // bit 1
8047 #define INLVLC2                 INLVLCbits.INLVLC2              // bit 2
8048 #define INLVLC3                 INLVLCbits.INLVLC3              // bit 3
8049 #define INLVLC4                 INLVLCbits.INLVLC4              // bit 4
8050 #define INLVLC5                 INLVLCbits.INLVLC5              // bit 5
8051 
8052 #define INTEDG                  INTCONbits.INTEDG               // bit 0
8053 #define PEIE                    INTCONbits.PEIE                 // bit 6
8054 #define GIE                     INTCONbits.GIE                  // bit 7
8055 
8056 #define INTPPS0                 INTPPSbits.INTPPS0              // bit 0
8057 #define INTPPS1                 INTPPSbits.INTPPS1              // bit 1
8058 #define INTPPS2                 INTPPSbits.INTPPS2              // bit 2
8059 #define INTPPS3                 INTPPSbits.INTPPS3              // bit 3
8060 #define INTPPS4                 INTPPSbits.INTPPS4              // bit 4
8061 
8062 #define IOCAF0                  IOCAFbits.IOCAF0                // bit 0
8063 #define IOCAF1                  IOCAFbits.IOCAF1                // bit 1
8064 #define IOCAF2                  IOCAFbits.IOCAF2                // bit 2
8065 #define IOCAF3                  IOCAFbits.IOCAF3                // bit 3
8066 #define IOCAF4                  IOCAFbits.IOCAF4                // bit 4
8067 #define IOCAF5                  IOCAFbits.IOCAF5                // bit 5
8068 
8069 #define IOCAN0                  IOCANbits.IOCAN0                // bit 0
8070 #define IOCAN1                  IOCANbits.IOCAN1                // bit 1
8071 #define IOCAN2                  IOCANbits.IOCAN2                // bit 2
8072 #define IOCAN3                  IOCANbits.IOCAN3                // bit 3
8073 #define IOCAN4                  IOCANbits.IOCAN4                // bit 4
8074 #define IOCAN5                  IOCANbits.IOCAN5                // bit 5
8075 
8076 #define IOCAP0                  IOCAPbits.IOCAP0                // bit 0
8077 #define IOCAP1                  IOCAPbits.IOCAP1                // bit 1
8078 #define IOCAP2                  IOCAPbits.IOCAP2                // bit 2
8079 #define IOCAP3                  IOCAPbits.IOCAP3                // bit 3
8080 #define IOCAP4                  IOCAPbits.IOCAP4                // bit 4
8081 #define IOCAP5                  IOCAPbits.IOCAP5                // bit 5
8082 
8083 #define IOCCF0                  IOCCFbits.IOCCF0                // bit 0
8084 #define IOCCF1                  IOCCFbits.IOCCF1                // bit 1
8085 #define IOCCF2                  IOCCFbits.IOCCF2                // bit 2
8086 #define IOCCF3                  IOCCFbits.IOCCF3                // bit 3
8087 #define IOCCF4                  IOCCFbits.IOCCF4                // bit 4
8088 #define IOCCF5                  IOCCFbits.IOCCF5                // bit 5
8089 
8090 #define IOCCN0                  IOCCNbits.IOCCN0                // bit 0
8091 #define IOCCN1                  IOCCNbits.IOCCN1                // bit 1
8092 #define IOCCN2                  IOCCNbits.IOCCN2                // bit 2
8093 #define IOCCN3                  IOCCNbits.IOCCN3                // bit 3
8094 #define IOCCN4                  IOCCNbits.IOCCN4                // bit 4
8095 #define IOCCN5                  IOCCNbits.IOCCN5                // bit 5
8096 
8097 #define IOCCP0                  IOCCPbits.IOCCP0                // bit 0
8098 #define IOCCP1                  IOCCPbits.IOCCP1                // bit 1
8099 #define IOCCP2                  IOCCPbits.IOCCP2                // bit 2
8100 #define IOCCP3                  IOCCPbits.IOCCP3                // bit 3
8101 #define IOCCP4                  IOCCPbits.IOCCP4                // bit 4
8102 #define IOCCP5                  IOCCPbits.IOCCP5                // bit 5
8103 
8104 #define LATA0                   LATAbits.LATA0                  // bit 0
8105 #define LATA1                   LATAbits.LATA1                  // bit 1
8106 #define LATA2                   LATAbits.LATA2                  // bit 2
8107 #define LATA4                   LATAbits.LATA4                  // bit 4
8108 #define LATA5                   LATAbits.LATA5                  // bit 5
8109 
8110 #define LATC0                   LATCbits.LATC0                  // bit 0
8111 #define LATC1                   LATCbits.LATC1                  // bit 1
8112 #define LATC2                   LATCbits.LATC2                  // bit 2
8113 #define LATC3                   LATCbits.LATC3                  // bit 3
8114 #define LATC4                   LATCbits.LATC4                  // bit 4
8115 #define LATC5                   LATCbits.LATC5                  // bit 5
8116 
8117 #define MDCH0                   MDCARHbits.MDCH0                // bit 0
8118 #define MDCH1                   MDCARHbits.MDCH1                // bit 1
8119 #define MDCH2                   MDCARHbits.MDCH2                // bit 2
8120 #define MDCH3                   MDCARHbits.MDCH3                // bit 3
8121 #define MDCHSYNC                MDCARHbits.MDCHSYNC             // bit 5
8122 #define MDCHPOL                 MDCARHbits.MDCHPOL              // bit 6
8123 
8124 #define MDCL0                   MDCARLbits.MDCL0                // bit 0
8125 #define MDCL1                   MDCARLbits.MDCL1                // bit 1
8126 #define MDCL2                   MDCARLbits.MDCL2                // bit 2
8127 #define MDCL3                   MDCARLbits.MDCL3                // bit 3
8128 #define MDCLSYNC                MDCARLbits.MDCLSYNC             // bit 5
8129 #define MDCLPOL                 MDCARLbits.MDCLPOL              // bit 6
8130 
8131 #define MDCIN1PPS0              MDCIN1PPSbits.MDCIN1PPS0        // bit 0
8132 #define MDCIN1PPS1              MDCIN1PPSbits.MDCIN1PPS1        // bit 1
8133 #define MDCIN1PPS2              MDCIN1PPSbits.MDCIN1PPS2        // bit 2
8134 #define MDCIN1PPS3              MDCIN1PPSbits.MDCIN1PPS3        // bit 3
8135 #define MDCIN1PPS4              MDCIN1PPSbits.MDCIN1PPS4        // bit 4
8136 
8137 #define MDCIN2PPS0              MDCIN2PPSbits.MDCIN2PPS0        // bit 0
8138 #define MDCIN2PPS1              MDCIN2PPSbits.MDCIN2PPS1        // bit 1
8139 #define MDCIN2PPS2              MDCIN2PPSbits.MDCIN2PPS2        // bit 2
8140 #define MDCIN2PPS3              MDCIN2PPSbits.MDCIN2PPS3        // bit 3
8141 #define MDCIN2PPS4              MDCIN2PPSbits.MDCIN2PPS4        // bit 4
8142 
8143 #define MDBIT                   MDCONbits.MDBIT                 // bit 0
8144 #define MDOUT                   MDCONbits.MDOUT                 // bit 3
8145 #define MDOPOL                  MDCONbits.MDOPOL                // bit 4
8146 #define MDEN                    MDCONbits.MDEN                  // bit 7
8147 
8148 #define MDMINPPS0               MDMINPPSbits.MDMINPPS0          // bit 0
8149 #define MDMINPPS1               MDMINPPSbits.MDMINPPS1          // bit 1
8150 #define MDMINPPS2               MDMINPPSbits.MDMINPPS2          // bit 2
8151 #define MDMINPPS3               MDMINPPSbits.MDMINPPS3          // bit 3
8152 #define MDMINPPS4               MDMINPPSbits.MDMINPPS4          // bit 4
8153 
8154 #define MDMS0                   MDSRCbits.MDMS0                 // bit 0
8155 #define MDMS1                   MDSRCbits.MDMS1                 // bit 1
8156 #define MDMS2                   MDSRCbits.MDMS2                 // bit 2
8157 #define MDMS3                   MDSRCbits.MDMS3                 // bit 3
8158 
8159 #define N1PFM                   NCO1CONbits.N1PFM               // bit 0
8160 #define N1POL                   NCO1CONbits.N1POL               // bit 4
8161 #define N1OUT                   NCO1CONbits.N1OUT               // bit 5
8162 #define N1EN                    NCO1CONbits.N1EN                // bit 7
8163 
8164 #define NVMADR8                 NVMADRHbits.NVMADR8             // bit 0
8165 #define NVMADR9                 NVMADRHbits.NVMADR9             // bit 1
8166 #define NVMADR10                NVMADRHbits.NVMADR10            // bit 2
8167 #define NVMADR11                NVMADRHbits.NVMADR11            // bit 3
8168 #define NVMADR12                NVMADRHbits.NVMADR12            // bit 4
8169 #define NVMADR13                NVMADRHbits.NVMADR13            // bit 5
8170 #define NVMADR14                NVMADRHbits.NVMADR14            // bit 6
8171 
8172 #define NVMADR0                 NVMADRLbits.NVMADR0             // bit 0
8173 #define NVMADR1                 NVMADRLbits.NVMADR1             // bit 1
8174 #define NVMADR2                 NVMADRLbits.NVMADR2             // bit 2
8175 #define NVMADR3                 NVMADRLbits.NVMADR3             // bit 3
8176 #define NVMADR4                 NVMADRLbits.NVMADR4             // bit 4
8177 #define NVMADR5                 NVMADRLbits.NVMADR5             // bit 5
8178 #define NVMADR6                 NVMADRLbits.NVMADR6             // bit 6
8179 #define NVMADR7                 NVMADRLbits.NVMADR7             // bit 7
8180 
8181 #define RD                      NVMCON1bits.RD                  // bit 0
8182 #define WR                      NVMCON1bits.WR                  // bit 1
8183 #define WREN                    NVMCON1bits.WREN                // bit 2
8184 #define WRERR                   NVMCON1bits.WRERR               // bit 3
8185 #define FREE                    NVMCON1bits.FREE                // bit 4
8186 #define LWLO                    NVMCON1bits.LWLO                // bit 5
8187 #define NVMREGS                 NVMCON1bits.NVMREGS             // bit 6
8188 
8189 #define NVMDAT8                 NVMDATHbits.NVMDAT8             // bit 0
8190 #define NVMDAT9                 NVMDATHbits.NVMDAT9             // bit 1
8191 #define NVMDAT10                NVMDATHbits.NVMDAT10            // bit 2
8192 #define NVMDAT11                NVMDATHbits.NVMDAT11            // bit 3
8193 #define NVMDAT12                NVMDATHbits.NVMDAT12            // bit 4
8194 #define NVMDAT13                NVMDATHbits.NVMDAT13            // bit 5
8195 
8196 #define NVMDAT0                 NVMDATLbits.NVMDAT0             // bit 0
8197 #define NVMDAT1                 NVMDATLbits.NVMDAT1             // bit 1
8198 #define NVMDAT2                 NVMDATLbits.NVMDAT2             // bit 2
8199 #define NVMDAT3                 NVMDATLbits.NVMDAT3             // bit 3
8200 #define NVMDAT4                 NVMDATLbits.NVMDAT4             // bit 4
8201 #define NVMDAT5                 NVMDATLbits.NVMDAT5             // bit 5
8202 #define NVMDAT6                 NVMDATLbits.NVMDAT6             // bit 6
8203 #define NVMDAT7                 NVMDATLbits.NVMDAT7             // bit 7
8204 
8205 #define ODCA0                   ODCONAbits.ODCA0                // bit 0
8206 #define ODCA1                   ODCONAbits.ODCA1                // bit 1
8207 #define ODCA2                   ODCONAbits.ODCA2                // bit 2
8208 #define ODCA4                   ODCONAbits.ODCA4                // bit 4
8209 #define ODCA5                   ODCONAbits.ODCA5                // bit 5
8210 
8211 #define ODCC0                   ODCONCbits.ODCC0                // bit 0
8212 #define ODCC1                   ODCONCbits.ODCC1                // bit 1
8213 #define ODCC2                   ODCONCbits.ODCC2                // bit 2
8214 #define ODCC3                   ODCONCbits.ODCC3                // bit 3
8215 #define ODCC4                   ODCONCbits.ODCC4                // bit 4
8216 #define ODCC5                   ODCONCbits.ODCC5                // bit 5
8217 
8218 #define NDIV0                   OSCCON1bits.NDIV0               // bit 0
8219 #define NDIV1                   OSCCON1bits.NDIV1               // bit 1
8220 #define NDIV2                   OSCCON1bits.NDIV2               // bit 2
8221 #define NDIV3                   OSCCON1bits.NDIV3               // bit 3
8222 #define NOSC0                   OSCCON1bits.NOSC0               // bit 4
8223 #define NOSC1                   OSCCON1bits.NOSC1               // bit 5
8224 #define NOSC2                   OSCCON1bits.NOSC2               // bit 6
8225 
8226 #define CDIV0                   OSCCON2bits.CDIV0               // bit 0
8227 #define CDIV1                   OSCCON2bits.CDIV1               // bit 1
8228 #define CDIV2                   OSCCON2bits.CDIV2               // bit 2
8229 #define CDIV3                   OSCCON2bits.CDIV3               // bit 3
8230 #define COSC0                   OSCCON2bits.COSC0               // bit 4
8231 #define COSC1                   OSCCON2bits.COSC1               // bit 5
8232 #define COSC2                   OSCCON2bits.COSC2               // bit 6
8233 
8234 #define NOSCR                   OSCCON3bits.NOSCR               // bit 3
8235 #define ORDY                    OSCCON3bits.ORDY                // bit 4
8236 #define SOSCBE                  OSCCON3bits.SOSCBE              // bit 5
8237 #define SOSCPWR                 OSCCON3bits.SOSCPWR             // bit 6
8238 #define CSWHOLD                 OSCCON3bits.CSWHOLD             // bit 7
8239 
8240 #define ADOEN                   OSCENbits.ADOEN                 // bit 2
8241 #define SOSCEN                  OSCENbits.SOSCEN                // bit 3
8242 #define LFOEN                   OSCENbits.LFOEN                 // bit 4
8243 #define HFOEN                   OSCENbits.HFOEN                 // bit 6
8244 #define EXTOEN                  OSCENbits.EXTOEN                // bit 7
8245 
8246 #define HFFRQ0                  OSCFRQbits.HFFRQ0               // bit 0
8247 #define HFFRQ1                  OSCFRQbits.HFFRQ1               // bit 1
8248 #define HFFRQ2                  OSCFRQbits.HFFRQ2               // bit 2
8249 #define HFFRQ3                  OSCFRQbits.HFFRQ3               // bit 3
8250 
8251 #define PLLR                    OSCSTAT1bits.PLLR               // bit 0
8252 #define ADOR                    OSCSTAT1bits.ADOR               // bit 2
8253 #define SOR                     OSCSTAT1bits.SOR                // bit 3
8254 #define LFOR                    OSCSTAT1bits.LFOR               // bit 4
8255 #define HFOR                    OSCSTAT1bits.HFOR               // bit 6
8256 #define EXTOR                   OSCSTAT1bits.EXTOR              // bit 7
8257 
8258 #define HFTUN0                  OSCTUNEbits.HFTUN0              // bit 0
8259 #define HFTUN1                  OSCTUNEbits.HFTUN1              // bit 1
8260 #define HFTUN2                  OSCTUNEbits.HFTUN2              // bit 2
8261 #define HFTUN3                  OSCTUNEbits.HFTUN3              // bit 3
8262 #define HFTUN4                  OSCTUNEbits.HFTUN4              // bit 4
8263 #define HFTUN5                  OSCTUNEbits.HFTUN5              // bit 5
8264 
8265 #define NOT_BOR                 PCON0bits.NOT_BOR               // bit 0
8266 #define NOT_POR                 PCON0bits.NOT_POR               // bit 1
8267 #define NOT_RI                  PCON0bits.NOT_RI                // bit 2
8268 #define NOT_RMCLR               PCON0bits.NOT_RMCLR             // bit 3
8269 #define NOT_RWDT                PCON0bits.NOT_RWDT              // bit 4
8270 #define STKUNF                  PCON0bits.STKUNF                // bit 6
8271 #define STKOVF                  PCON0bits.STKOVF                // bit 7
8272 
8273 #define INTE                    PIE0bits.INTE                   // bit 0
8274 #define IOCIE                   PIE0bits.IOCIE                  // bit 4
8275 #define TMR0IE                  PIE0bits.TMR0IE                 // bit 5
8276 
8277 #define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
8278 #define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
8279 #define BCL1IE                  PIE1bits.BCL1IE                 // bit 2
8280 #define SSP1IE                  PIE1bits.SSP1IE                 // bit 3
8281 #define TXIE                    PIE1bits.TXIE                   // bit 4
8282 #define RCIE                    PIE1bits.RCIE                   // bit 5
8283 #define ADIE                    PIE1bits.ADIE                   // bit 6
8284 #define TMR1GIE                 PIE1bits.TMR1GIE                // bit 7
8285 
8286 #define NCO1IE                  PIE2bits.NCO1IE                 // bit 0
8287 #define NVMIE                   PIE2bits.NVMIE                  // bit 4
8288 #define C1IE                    PIE2bits.C1IE                   // bit 5
8289 #define C2IE                    PIE2bits.C2IE                   // bit 6
8290 
8291 #define CLC1IE                  PIE3bits.CLC1IE                 // bit 0
8292 #define CLC2IE                  PIE3bits.CLC2IE                 // bit 1
8293 #define CSWIE                   PIE3bits.CSWIE                  // bit 6
8294 #define OSFIE                   PIE3bits.OSFIE                  // bit 7
8295 
8296 #define CCP1IE                  PIE4bits.CCP1IE                 // bit 0
8297 #define CCP2IE                  PIE4bits.CCP2IE                 // bit 1
8298 #define CWG1IE                  PIE4bits.CWG1IE                 // bit 6
8299 
8300 #define INTF                    PIR0bits.INTF                   // bit 0
8301 #define IOCIF                   PIR0bits.IOCIF                  // bit 4
8302 #define TMR0IF                  PIR0bits.TMR0IF                 // bit 5
8303 
8304 #define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
8305 #define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
8306 #define BCL1IF                  PIR1bits.BCL1IF                 // bit 2
8307 #define SSP1IF                  PIR1bits.SSP1IF                 // bit 3
8308 #define TXIF                    PIR1bits.TXIF                   // bit 4
8309 #define RCIF                    PIR1bits.RCIF                   // bit 5
8310 #define ADIF                    PIR1bits.ADIF                   // bit 6
8311 #define TMR1GIF                 PIR1bits.TMR1GIF                // bit 7
8312 
8313 #define NCO1IF                  PIR2bits.NCO1IF                 // bit 0
8314 #define NVMIF                   PIR2bits.NVMIF                  // bit 4
8315 #define C1IF                    PIR2bits.C1IF                   // bit 5
8316 #define C2IF                    PIR2bits.C2IF                   // bit 6
8317 
8318 #define CLC1IF                  PIR3bits.CLC1IF                 // bit 0
8319 #define CLC2IF                  PIR3bits.CLC2IF                 // bit 1
8320 #define CSWIF                   PIR3bits.CSWIF                  // bit 6
8321 #define OSFIF                   PIR3bits.OSFIF                  // bit 7
8322 
8323 #define CCP1IF                  PIR4bits.CCP1IF                 // bit 0
8324 #define CCP2IF                  PIR4bits.CCP2IF                 // bit 1
8325 #define CWG1IF                  PIR4bits.CWG1IF                 // bit 6
8326 
8327 #define IOCMD                   PMD0bits.IOCMD                  // bit 0
8328 #define CLKRMD                  PMD0bits.CLKRMD                 // bit 1
8329 #define NVMMD                   PMD0bits.NVMMD                  // bit 2
8330 #define FVRMD                   PMD0bits.FVRMD                  // bit 6
8331 #define SYSCMD                  PMD0bits.SYSCMD                 // bit 7
8332 
8333 #define TMR0MD                  PMD1bits.TMR0MD                 // bit 0
8334 #define TMR1MD                  PMD1bits.TMR1MD                 // bit 1
8335 #define TMR2MD                  PMD1bits.TMR2MD                 // bit 2
8336 #define NCOMD                   PMD1bits.NCOMD                  // bit 7
8337 
8338 #define CMP1MD                  PMD2bits.CMP1MD                 // bit 1
8339 #define CMP2MD                  PMD2bits.CMP2MD                 // bit 2
8340 #define ADCMD                   PMD2bits.ADCMD                  // bit 5
8341 #define DACMD                   PMD2bits.DACMD                  // bit 6
8342 
8343 #define CCP1MD                  PMD3bits.CCP1MD                 // bit 0
8344 #define CCP2MD                  PMD3bits.CCP2MD                 // bit 1
8345 #define PWM5MD                  PMD3bits.PWM5MD                 // bit 4
8346 #define PWM6MD                  PMD3bits.PWM6MD                 // bit 5
8347 #define CWG1MD                  PMD3bits.CWG1MD                 // bit 6
8348 
8349 #define MSSP1MD                 PMD4bits.MSSP1MD                // bit 1
8350 #define UART1MD                 PMD4bits.UART1MD                // bit 5
8351 
8352 #define DSMMD                   PMD5bits.DSMMD                  // bit 0
8353 #define CLC1MD                  PMD5bits.CLC1MD                 // bit 1
8354 #define CLC2MD                  PMD5bits.CLC2MD                 // bit 2
8355 
8356 #define RA0                     PORTAbits.RA0                   // bit 0
8357 #define RA1                     PORTAbits.RA1                   // bit 1
8358 #define RA2                     PORTAbits.RA2                   // bit 2
8359 #define RA3                     PORTAbits.RA3                   // bit 3
8360 #define RA4                     PORTAbits.RA4                   // bit 4
8361 #define RA5                     PORTAbits.RA5                   // bit 5
8362 
8363 #define RC0                     PORTCbits.RC0                   // bit 0
8364 #define RC1                     PORTCbits.RC1                   // bit 1
8365 #define RC2                     PORTCbits.RC2                   // bit 2
8366 #define RC3                     PORTCbits.RC3                   // bit 3
8367 #define RC4                     PORTCbits.RC4                   // bit 4
8368 #define RC5                     PORTCbits.RC5                   // bit 5
8369 
8370 #define PPSLOCKED               PPSLOCKbits.PPSLOCKED           // bit 0
8371 
8372 #define PWM5POL                 PWM5CONbits.PWM5POL             // bit 4
8373 #define PWM5OUT                 PWM5CONbits.PWM5OUT             // bit 5
8374 #define PWM5EN                  PWM5CONbits.PWM5EN              // bit 7
8375 
8376 #define PWM5DCH0                PWM5DCHbits.PWM5DCH0            // bit 0
8377 #define PWM5DCH1                PWM5DCHbits.PWM5DCH1            // bit 1
8378 #define PWM5DCH2                PWM5DCHbits.PWM5DCH2            // bit 2
8379 #define PWM5DCH3                PWM5DCHbits.PWM5DCH3            // bit 3
8380 #define PWM5DCH4                PWM5DCHbits.PWM5DCH4            // bit 4
8381 #define PWM5DCH5                PWM5DCHbits.PWM5DCH5            // bit 5
8382 #define PWM5DCH6                PWM5DCHbits.PWM5DCH6            // bit 6
8383 #define PWM5DCH7                PWM5DCHbits.PWM5DCH7            // bit 7
8384 
8385 #define PWM5DCL0                PWM5DCLbits.PWM5DCL0            // bit 6
8386 #define PWM5DCL1                PWM5DCLbits.PWM5DCL1            // bit 7
8387 
8388 #define PWM6POL                 PWM6CONbits.PWM6POL             // bit 4
8389 #define PWM6OUT                 PWM6CONbits.PWM6OUT             // bit 5
8390 #define PWM6EN                  PWM6CONbits.PWM6EN              // bit 7
8391 
8392 #define PWM6DCH0                PWM6DCHbits.PWM6DCH0            // bit 0
8393 #define PWM6DCH1                PWM6DCHbits.PWM6DCH1            // bit 1
8394 #define PWM6DCH2                PWM6DCHbits.PWM6DCH2            // bit 2
8395 #define PWM6DCH3                PWM6DCHbits.PWM6DCH3            // bit 3
8396 #define PWM6DCH4                PWM6DCHbits.PWM6DCH4            // bit 4
8397 #define PWM6DCH5                PWM6DCHbits.PWM6DCH5            // bit 5
8398 #define PWM6DCH6                PWM6DCHbits.PWM6DCH6            // bit 6
8399 #define PWM6DCH7                PWM6DCHbits.PWM6DCH7            // bit 7
8400 
8401 #define PWM6DCL0                PWM6DCLbits.PWM6DCL0            // bit 6
8402 #define PWM6DCL1                PWM6DCLbits.PWM6DCL1            // bit 7
8403 
8404 #define RA0PPS0                 RA0PPSbits.RA0PPS0              // bit 0
8405 #define RA0PPS1                 RA0PPSbits.RA0PPS1              // bit 1
8406 #define RA0PPS2                 RA0PPSbits.RA0PPS2              // bit 2
8407 #define RA0PPS3                 RA0PPSbits.RA0PPS3              // bit 3
8408 #define RA0PPS4                 RA0PPSbits.RA0PPS4              // bit 4
8409 
8410 #define RA1PPS0                 RA1PPSbits.RA1PPS0              // bit 0
8411 #define RA1PPS1                 RA1PPSbits.RA1PPS1              // bit 1
8412 #define RA1PPS2                 RA1PPSbits.RA1PPS2              // bit 2
8413 #define RA1PPS3                 RA1PPSbits.RA1PPS3              // bit 3
8414 #define RA1PPS4                 RA1PPSbits.RA1PPS4              // bit 4
8415 
8416 #define RA2PPS0                 RA2PPSbits.RA2PPS0              // bit 0
8417 #define RA2PPS1                 RA2PPSbits.RA2PPS1              // bit 1
8418 #define RA2PPS2                 RA2PPSbits.RA2PPS2              // bit 2
8419 #define RA2PPS3                 RA2PPSbits.RA2PPS3              // bit 3
8420 #define RA2PPS4                 RA2PPSbits.RA2PPS4              // bit 4
8421 
8422 #define RA4PPS0                 RA4PPSbits.RA4PPS0              // bit 0
8423 #define RA4PPS1                 RA4PPSbits.RA4PPS1              // bit 1
8424 #define RA4PPS2                 RA4PPSbits.RA4PPS2              // bit 2
8425 #define RA4PPS3                 RA4PPSbits.RA4PPS3              // bit 3
8426 #define RA4PPS4                 RA4PPSbits.RA4PPS4              // bit 4
8427 
8428 #define RA5PPS0                 RA5PPSbits.RA5PPS0              // bit 0
8429 #define RA5PPS1                 RA5PPSbits.RA5PPS1              // bit 1
8430 #define RA5PPS2                 RA5PPSbits.RA5PPS2              // bit 2
8431 #define RA5PPS3                 RA5PPSbits.RA5PPS3              // bit 3
8432 #define RA5PPS4                 RA5PPSbits.RA5PPS4              // bit 4
8433 
8434 #define RC0PPS0                 RC0PPSbits.RC0PPS0              // bit 0
8435 #define RC0PPS1                 RC0PPSbits.RC0PPS1              // bit 1
8436 #define RC0PPS2                 RC0PPSbits.RC0PPS2              // bit 2
8437 #define RC0PPS3                 RC0PPSbits.RC0PPS3              // bit 3
8438 #define RC0PPS4                 RC0PPSbits.RC0PPS4              // bit 4
8439 
8440 #define RC1PPS0                 RC1PPSbits.RC1PPS0              // bit 0
8441 #define RC1PPS1                 RC1PPSbits.RC1PPS1              // bit 1
8442 #define RC1PPS2                 RC1PPSbits.RC1PPS2              // bit 2
8443 #define RC1PPS3                 RC1PPSbits.RC1PPS3              // bit 3
8444 #define RC1PPS4                 RC1PPSbits.RC1PPS4              // bit 4
8445 
8446 #define RX9D                    RC1STAbits.RX9D                 // bit 0
8447 #define OERR                    RC1STAbits.OERR                 // bit 1
8448 #define FERR                    RC1STAbits.FERR                 // bit 2
8449 #define ADDEN                   RC1STAbits.ADDEN                // bit 3
8450 #define CREN                    RC1STAbits.CREN                 // bit 4
8451 #define SREN                    RC1STAbits.SREN                 // bit 5
8452 #define RX9                     RC1STAbits.RX9                  // bit 6
8453 #define SPEN                    RC1STAbits.SPEN                 // bit 7
8454 
8455 #define RC2PPS0                 RC2PPSbits.RC2PPS0              // bit 0
8456 #define RC2PPS1                 RC2PPSbits.RC2PPS1              // bit 1
8457 #define RC2PPS2                 RC2PPSbits.RC2PPS2              // bit 2
8458 #define RC2PPS3                 RC2PPSbits.RC2PPS3              // bit 3
8459 #define RC2PPS4                 RC2PPSbits.RC2PPS4              // bit 4
8460 
8461 #define RC3PPS0                 RC3PPSbits.RC3PPS0              // bit 0
8462 #define RC3PPS1                 RC3PPSbits.RC3PPS1              // bit 1
8463 #define RC3PPS2                 RC3PPSbits.RC3PPS2              // bit 2
8464 #define RC3PPS3                 RC3PPSbits.RC3PPS3              // bit 3
8465 #define RC3PPS4                 RC3PPSbits.RC3PPS4              // bit 4
8466 
8467 #define RC4PPS0                 RC4PPSbits.RC4PPS0              // bit 0
8468 #define RC4PPS1                 RC4PPSbits.RC4PPS1              // bit 1
8469 #define RC4PPS2                 RC4PPSbits.RC4PPS2              // bit 2
8470 #define RC4PPS3                 RC4PPSbits.RC4PPS3              // bit 3
8471 #define RC4PPS4                 RC4PPSbits.RC4PPS4              // bit 4
8472 
8473 #define RC5PPS0                 RC5PPSbits.RC5PPS0              // bit 0
8474 #define RC5PPS1                 RC5PPSbits.RC5PPS1              // bit 1
8475 #define RC5PPS2                 RC5PPSbits.RC5PPS2              // bit 2
8476 #define RC5PPS3                 RC5PPSbits.RC5PPS3              // bit 3
8477 #define RC5PPS4                 RC5PPSbits.RC5PPS4              // bit 4
8478 
8479 #define RXPPS0                  RXPPSbits.RXPPS0                // bit 0
8480 #define RXPPS1                  RXPPSbits.RXPPS1                // bit 1
8481 #define RXPPS2                  RXPPSbits.RXPPS2                // bit 2
8482 #define RXPPS3                  RXPPSbits.RXPPS3                // bit 3
8483 #define RXPPS4                  RXPPSbits.RXPPS4                // bit 4
8484 
8485 #define SLRA0                   SLRCONAbits.SLRA0               // bit 0
8486 #define SLRA1                   SLRCONAbits.SLRA1               // bit 1
8487 #define SLRA2                   SLRCONAbits.SLRA2               // bit 2
8488 #define SLRA4                   SLRCONAbits.SLRA4               // bit 4
8489 #define SLRA5                   SLRCONAbits.SLRA5               // bit 5
8490 
8491 #define SLRC0                   SLRCONCbits.SLRC0               // bit 0
8492 #define SLRC1                   SLRCONCbits.SLRC1               // bit 1
8493 #define SLRC2                   SLRCONCbits.SLRC2               // bit 2
8494 #define SLRC3                   SLRCONCbits.SLRC3               // bit 3
8495 #define SLRC4                   SLRCONCbits.SLRC4               // bit 4
8496 #define SLRC5                   SLRCONCbits.SLRC5               // bit 5
8497 
8498 #define SSP1ADD0                SSP1ADDbits.SSP1ADD0            // bit 0, shadows bit in SSP1ADDbits
8499 #define ADD0                    SSP1ADDbits.ADD0                // bit 0, shadows bit in SSP1ADDbits
8500 #define SSP1ADD1                SSP1ADDbits.SSP1ADD1            // bit 1, shadows bit in SSP1ADDbits
8501 #define ADD1                    SSP1ADDbits.ADD1                // bit 1, shadows bit in SSP1ADDbits
8502 #define SSP1ADD2                SSP1ADDbits.SSP1ADD2            // bit 2, shadows bit in SSP1ADDbits
8503 #define ADD2                    SSP1ADDbits.ADD2                // bit 2, shadows bit in SSP1ADDbits
8504 #define SSP1ADD3                SSP1ADDbits.SSP1ADD3            // bit 3, shadows bit in SSP1ADDbits
8505 #define ADD3                    SSP1ADDbits.ADD3                // bit 3, shadows bit in SSP1ADDbits
8506 #define SSP1ADD4                SSP1ADDbits.SSP1ADD4            // bit 4, shadows bit in SSP1ADDbits
8507 #define ADD4                    SSP1ADDbits.ADD4                // bit 4, shadows bit in SSP1ADDbits
8508 #define SSP1ADD5                SSP1ADDbits.SSP1ADD5            // bit 5, shadows bit in SSP1ADDbits
8509 #define ADD5                    SSP1ADDbits.ADD5                // bit 5, shadows bit in SSP1ADDbits
8510 #define SSP1ADD6                SSP1ADDbits.SSP1ADD6            // bit 6, shadows bit in SSP1ADDbits
8511 #define ADD6                    SSP1ADDbits.ADD6                // bit 6, shadows bit in SSP1ADDbits
8512 #define SSP1ADD7                SSP1ADDbits.SSP1ADD7            // bit 7, shadows bit in SSP1ADDbits
8513 #define ADD7                    SSP1ADDbits.ADD7                // bit 7, shadows bit in SSP1ADDbits
8514 
8515 #define SSP1BUF0                SSP1BUFbits.SSP1BUF0            // bit 0, shadows bit in SSP1BUFbits
8516 #define BUF0                    SSP1BUFbits.BUF0                // bit 0, shadows bit in SSP1BUFbits
8517 #define SSP1BUF1                SSP1BUFbits.SSP1BUF1            // bit 1, shadows bit in SSP1BUFbits
8518 #define BUF1                    SSP1BUFbits.BUF1                // bit 1, shadows bit in SSP1BUFbits
8519 #define SSP1BUF2                SSP1BUFbits.SSP1BUF2            // bit 2, shadows bit in SSP1BUFbits
8520 #define BUF2                    SSP1BUFbits.BUF2                // bit 2, shadows bit in SSP1BUFbits
8521 #define SSP1BUF3                SSP1BUFbits.SSP1BUF3            // bit 3, shadows bit in SSP1BUFbits
8522 #define BUF3                    SSP1BUFbits.BUF3                // bit 3, shadows bit in SSP1BUFbits
8523 #define SSP1BUF4                SSP1BUFbits.SSP1BUF4            // bit 4, shadows bit in SSP1BUFbits
8524 #define BUF4                    SSP1BUFbits.BUF4                // bit 4, shadows bit in SSP1BUFbits
8525 #define SSP1BUF5                SSP1BUFbits.SSP1BUF5            // bit 5, shadows bit in SSP1BUFbits
8526 #define BUF5                    SSP1BUFbits.BUF5                // bit 5, shadows bit in SSP1BUFbits
8527 #define SSP1BUF6                SSP1BUFbits.SSP1BUF6            // bit 6, shadows bit in SSP1BUFbits
8528 #define BUF6                    SSP1BUFbits.BUF6                // bit 6, shadows bit in SSP1BUFbits
8529 #define SSP1BUF7                SSP1BUFbits.SSP1BUF7            // bit 7, shadows bit in SSP1BUFbits
8530 #define BUF7                    SSP1BUFbits.BUF7                // bit 7, shadows bit in SSP1BUFbits
8531 
8532 #define SSP1CLKPPS0             SSP1CLKPPSbits.SSP1CLKPPS0      // bit 0
8533 #define SSP1CLKPPS1             SSP1CLKPPSbits.SSP1CLKPPS1      // bit 1
8534 #define SSP1CLKPPS2             SSP1CLKPPSbits.SSP1CLKPPS2      // bit 2
8535 #define SSP1CLKPPS3             SSP1CLKPPSbits.SSP1CLKPPS3      // bit 3
8536 #define SSP1CLKPPS4             SSP1CLKPPSbits.SSP1CLKPPS4      // bit 4
8537 
8538 #define SSPM0                   SSP1CONbits.SSPM0               // bit 0
8539 #define SSPM1                   SSP1CONbits.SSPM1               // bit 1
8540 #define SSPM2                   SSP1CONbits.SSPM2               // bit 2
8541 #define SSPM3                   SSP1CONbits.SSPM3               // bit 3
8542 #define CKP                     SSP1CONbits.CKP                 // bit 4
8543 #define SSPEN                   SSP1CONbits.SSPEN               // bit 5
8544 #define SSPOV                   SSP1CONbits.SSPOV               // bit 6
8545 #define WCOL                    SSP1CONbits.WCOL                // bit 7
8546 
8547 #define SEN                     SSP1CON2bits.SEN                // bit 0
8548 #define RSEN                    SSP1CON2bits.RSEN               // bit 1
8549 #define PEN                     SSP1CON2bits.PEN                // bit 2
8550 #define RCEN                    SSP1CON2bits.RCEN               // bit 3
8551 #define ACKEN                   SSP1CON2bits.ACKEN              // bit 4
8552 #define ACKDT                   SSP1CON2bits.ACKDT              // bit 5
8553 #define ACKSTAT                 SSP1CON2bits.ACKSTAT            // bit 6
8554 #define GCEN                    SSP1CON2bits.GCEN               // bit 7
8555 
8556 #define DHEN                    SSP1CON3bits.DHEN               // bit 0
8557 #define AHEN                    SSP1CON3bits.AHEN               // bit 1
8558 #define SBCDE                   SSP1CON3bits.SBCDE              // bit 2
8559 #define SDAHT                   SSP1CON3bits.SDAHT              // bit 3
8560 #define BOEN                    SSP1CON3bits.BOEN               // bit 4
8561 #define SCIE                    SSP1CON3bits.SCIE               // bit 5
8562 #define PCIE                    SSP1CON3bits.PCIE               // bit 6
8563 #define ACKTIM                  SSP1CON3bits.ACKTIM             // bit 7
8564 
8565 #define SSP1DATPPS0             SSP1DATPPSbits.SSP1DATPPS0      // bit 0
8566 #define SSP1DATPPS1             SSP1DATPPSbits.SSP1DATPPS1      // bit 1
8567 #define SSP1DATPPS2             SSP1DATPPSbits.SSP1DATPPS2      // bit 2
8568 #define SSP1DATPPS3             SSP1DATPPSbits.SSP1DATPPS3      // bit 3
8569 #define SSP1DATPPS4             SSP1DATPPSbits.SSP1DATPPS4      // bit 4
8570 
8571 #define SSP1MSK0                SSP1MSKbits.SSP1MSK0            // bit 0, shadows bit in SSP1MSKbits
8572 #define MSK0                    SSP1MSKbits.MSK0                // bit 0, shadows bit in SSP1MSKbits
8573 #define SSP1MSK1                SSP1MSKbits.SSP1MSK1            // bit 1, shadows bit in SSP1MSKbits
8574 #define MSK1                    SSP1MSKbits.MSK1                // bit 1, shadows bit in SSP1MSKbits
8575 #define SSP1MSK2                SSP1MSKbits.SSP1MSK2            // bit 2, shadows bit in SSP1MSKbits
8576 #define MSK2                    SSP1MSKbits.MSK2                // bit 2, shadows bit in SSP1MSKbits
8577 #define SSP1MSK3                SSP1MSKbits.SSP1MSK3            // bit 3, shadows bit in SSP1MSKbits
8578 #define MSK3                    SSP1MSKbits.MSK3                // bit 3, shadows bit in SSP1MSKbits
8579 #define SSP1MSK4                SSP1MSKbits.SSP1MSK4            // bit 4, shadows bit in SSP1MSKbits
8580 #define MSK4                    SSP1MSKbits.MSK4                // bit 4, shadows bit in SSP1MSKbits
8581 #define SSP1MSK5                SSP1MSKbits.SSP1MSK5            // bit 5, shadows bit in SSP1MSKbits
8582 #define MSK5                    SSP1MSKbits.MSK5                // bit 5, shadows bit in SSP1MSKbits
8583 #define SSP1MSK6                SSP1MSKbits.SSP1MSK6            // bit 6, shadows bit in SSP1MSKbits
8584 #define MSK6                    SSP1MSKbits.MSK6                // bit 6, shadows bit in SSP1MSKbits
8585 #define SSP1MSK7                SSP1MSKbits.SSP1MSK7            // bit 7, shadows bit in SSP1MSKbits
8586 #define MSK7                    SSP1MSKbits.MSK7                // bit 7, shadows bit in SSP1MSKbits
8587 
8588 #define SSP1SSPPS0              SSP1SSPPSbits.SSP1SSPPS0        // bit 0
8589 #define SSP1SSPPS1              SSP1SSPPSbits.SSP1SSPPS1        // bit 1
8590 #define SSP1SSPPS2              SSP1SSPPSbits.SSP1SSPPS2        // bit 2
8591 #define SSP1SSPPS3              SSP1SSPPSbits.SSP1SSPPS3        // bit 3
8592 #define SSP1SSPPS4              SSP1SSPPSbits.SSP1SSPPS4        // bit 4
8593 
8594 #define BF                      SSP1STATbits.BF                 // bit 0
8595 #define UA                      SSP1STATbits.UA                 // bit 1
8596 #define R_NOT_W                 SSP1STATbits.R_NOT_W            // bit 2
8597 #define S                       SSP1STATbits.S                  // bit 3
8598 #define P                       SSP1STATbits.P                  // bit 4
8599 #define D_NOT_A                 SSP1STATbits.D_NOT_A            // bit 5
8600 #define CKE                     SSP1STATbits.CKE                // bit 6
8601 #define SMP                     SSP1STATbits.SMP                // bit 7
8602 
8603 #define C                       STATUSbits.C                    // bit 0
8604 #define DC                      STATUSbits.DC                   // bit 1
8605 #define Z                       STATUSbits.Z                    // bit 2
8606 #define NOT_PD                  STATUSbits.NOT_PD               // bit 3
8607 #define NOT_TO                  STATUSbits.NOT_TO               // bit 4
8608 
8609 #define C_SHAD                  STATUS_SHADbits.C_SHAD          // bit 0
8610 #define DC_SHAD                 STATUS_SHADbits.DC_SHAD         // bit 1
8611 #define Z_SHAD                  STATUS_SHADbits.Z_SHAD          // bit 2
8612 
8613 #define T0CKIPPS0               T0CKIPPSbits.T0CKIPPS0          // bit 0
8614 #define T0CKIPPS1               T0CKIPPSbits.T0CKIPPS1          // bit 1
8615 #define T0CKIPPS2               T0CKIPPSbits.T0CKIPPS2          // bit 2
8616 #define T0CKIPPS3               T0CKIPPSbits.T0CKIPPS3          // bit 3
8617 #define T0CKIPPS4               T0CKIPPSbits.T0CKIPPS4          // bit 4
8618 
8619 #define T0OUTPS0                T0CON0bits.T0OUTPS0             // bit 0
8620 #define T0OUTPS1                T0CON0bits.T0OUTPS1             // bit 1
8621 #define T0OUTPS2                T0CON0bits.T0OUTPS2             // bit 2
8622 #define T0OUTPS3                T0CON0bits.T0OUTPS3             // bit 3
8623 #define T016BIT                 T0CON0bits.T016BIT              // bit 4
8624 #define T0OUT                   T0CON0bits.T0OUT                // bit 5
8625 #define T0EN                    T0CON0bits.T0EN                 // bit 7
8626 
8627 #define T0CKPS0                 T0CON1bits.T0CKPS0              // bit 0
8628 #define T0CKPS1                 T0CON1bits.T0CKPS1              // bit 1
8629 #define T0CKPS2                 T0CON1bits.T0CKPS2              // bit 2
8630 #define T0CKPS3                 T0CON1bits.T0CKPS3              // bit 3
8631 #define T0ASYNC                 T0CON1bits.T0ASYNC              // bit 4
8632 #define T0CS0                   T0CON1bits.T0CS0                // bit 5
8633 #define T0CS1                   T0CON1bits.T0CS1                // bit 6
8634 #define T0CS2                   T0CON1bits.T0CS2                // bit 7
8635 
8636 #define T1CKIPPS0               T1CKIPPSbits.T1CKIPPS0          // bit 0
8637 #define T1CKIPPS1               T1CKIPPSbits.T1CKIPPS1          // bit 1
8638 #define T1CKIPPS2               T1CKIPPSbits.T1CKIPPS2          // bit 2
8639 #define T1CKIPPS3               T1CKIPPSbits.T1CKIPPS3          // bit 3
8640 #define T1CKIPPS4               T1CKIPPSbits.T1CKIPPS4          // bit 4
8641 
8642 #define TMR1ON                  T1CONbits.TMR1ON                // bit 0
8643 #define T1SYNC                  T1CONbits.T1SYNC                // bit 2
8644 #define T1SOSC                  T1CONbits.T1SOSC                // bit 3
8645 #define T1CKPS0                 T1CONbits.T1CKPS0               // bit 4
8646 #define T1CKPS1                 T1CONbits.T1CKPS1               // bit 5
8647 #define TMR1CS0                 T1CONbits.TMR1CS0               // bit 6
8648 #define TMR1CS1                 T1CONbits.TMR1CS1               // bit 7
8649 
8650 #define T1GSS0                  T1GCONbits.T1GSS0               // bit 0
8651 #define T1GSS1                  T1GCONbits.T1GSS1               // bit 1
8652 #define T1GVAL                  T1GCONbits.T1GVAL               // bit 2
8653 #define T1GGO_NOT_DONE          T1GCONbits.T1GGO_NOT_DONE       // bit 3
8654 #define T1GSPM                  T1GCONbits.T1GSPM               // bit 4
8655 #define T1GTM                   T1GCONbits.T1GTM                // bit 5
8656 #define T1GPOL                  T1GCONbits.T1GPOL               // bit 6
8657 #define TMR1GE                  T1GCONbits.TMR1GE               // bit 7
8658 
8659 #define T1GPPS0                 T1GPPSbits.T1GPPS0              // bit 0
8660 #define T1GPPS1                 T1GPPSbits.T1GPPS1              // bit 1
8661 #define T1GPPS2                 T1GPPSbits.T1GPPS2              // bit 2
8662 #define T1GPPS3                 T1GPPSbits.T1GPPS3              // bit 3
8663 #define T1GPPS4                 T1GPPSbits.T1GPPS4              // bit 4
8664 
8665 #define T2CKPS0                 T2CONbits.T2CKPS0               // bit 0
8666 #define T2CKPS1                 T2CONbits.T2CKPS1               // bit 1
8667 #define TMR2ON                  T2CONbits.TMR2ON                // bit 2
8668 #define T2OUTPS0                T2CONbits.T2OUTPS0              // bit 3
8669 #define T2OUTPS1                T2CONbits.T2OUTPS1              // bit 4
8670 #define T2OUTPS2                T2CONbits.T2OUTPS2              // bit 5
8671 #define T2OUTPS3                T2CONbits.T2OUTPS3              // bit 6
8672 
8673 #define TMR08                   TMR0Hbits.TMR08                 // bit 0
8674 #define TMR09                   TMR0Hbits.TMR09                 // bit 1
8675 #define TMR010                  TMR0Hbits.TMR010                // bit 2
8676 #define TMR011                  TMR0Hbits.TMR011                // bit 3
8677 #define TMR012                  TMR0Hbits.TMR012                // bit 4
8678 #define TMR013                  TMR0Hbits.TMR013                // bit 5
8679 #define TMR014                  TMR0Hbits.TMR014                // bit 6
8680 #define TMR015                  TMR0Hbits.TMR015                // bit 7
8681 
8682 #define TMR00                   TMR0Lbits.TMR00                 // bit 0
8683 #define TMR01                   TMR0Lbits.TMR01                 // bit 1
8684 #define TMR02                   TMR0Lbits.TMR02                 // bit 2
8685 #define TMR03                   TMR0Lbits.TMR03                 // bit 3
8686 #define TMR04                   TMR0Lbits.TMR04                 // bit 4
8687 #define TMR05                   TMR0Lbits.TMR05                 // bit 5
8688 #define TMR06                   TMR0Lbits.TMR06                 // bit 6
8689 #define TMR07                   TMR0Lbits.TMR07                 // bit 7
8690 
8691 #define TRISA0                  TRISAbits.TRISA0                // bit 0
8692 #define TRISA1                  TRISAbits.TRISA1                // bit 1
8693 #define TRISA2                  TRISAbits.TRISA2                // bit 2
8694 #define TRISA4                  TRISAbits.TRISA4                // bit 4
8695 #define TRISA5                  TRISAbits.TRISA5                // bit 5
8696 
8697 #define TRISC0                  TRISCbits.TRISC0                // bit 0
8698 #define TRISC1                  TRISCbits.TRISC1                // bit 1
8699 #define TRISC2                  TRISCbits.TRISC2                // bit 2
8700 #define TRISC3                  TRISCbits.TRISC3                // bit 3
8701 #define TRISC4                  TRISCbits.TRISC4                // bit 4
8702 #define TRISC5                  TRISCbits.TRISC5                // bit 5
8703 
8704 #define TX9D                    TX1STAbits.TX9D                 // bit 0
8705 #define TRMT                    TX1STAbits.TRMT                 // bit 1
8706 #define BRGH                    TX1STAbits.BRGH                 // bit 2
8707 #define SENDB                   TX1STAbits.SENDB                // bit 3
8708 #define SYNC                    TX1STAbits.SYNC                 // bit 4
8709 #define TXEN                    TX1STAbits.TXEN                 // bit 5
8710 #define TX9                     TX1STAbits.TX9                  // bit 6
8711 #define CSRC                    TX1STAbits.CSRC                 // bit 7
8712 
8713 #define TXPPS0                  TXPPSbits.TXPPS0                // bit 0
8714 #define TXPPS1                  TXPPSbits.TXPPS1                // bit 1
8715 #define TXPPS2                  TXPPSbits.TXPPS2                // bit 2
8716 #define TXPPS3                  TXPPSbits.TXPPS3                // bit 3
8717 #define TXPPS4                  TXPPSbits.TXPPS4                // bit 4
8718 
8719 #define VREGPM                  VREGCONbits.VREGPM              // bit 1
8720 
8721 #define SWDTEN                  WDTCONbits.SWDTEN               // bit 0
8722 #define WDTPS0                  WDTCONbits.WDTPS0               // bit 1
8723 #define WDTPS1                  WDTCONbits.WDTPS1               // bit 2
8724 #define WDTPS2                  WDTCONbits.WDTPS2               // bit 3
8725 #define WDTPS3                  WDTCONbits.WDTPS3               // bit 4
8726 #define WDTPS4                  WDTCONbits.WDTPS4               // bit 5
8727 
8728 #define WPUA0                   WPUAbits.WPUA0                  // bit 0
8729 #define WPUA1                   WPUAbits.WPUA1                  // bit 1
8730 #define WPUA2                   WPUAbits.WPUA2                  // bit 2
8731 #define WPUA3                   WPUAbits.WPUA3                  // bit 3
8732 #define WPUA4                   WPUAbits.WPUA4                  // bit 4
8733 #define WPUA5                   WPUAbits.WPUA5                  // bit 5
8734 
8735 #define WPUC0                   WPUCbits.WPUC0                  // bit 0
8736 #define WPUC1                   WPUCbits.WPUC1                  // bit 1
8737 #define WPUC2                   WPUCbits.WPUC2                  // bit 2
8738 #define WPUC3                   WPUCbits.WPUC3                  // bit 3
8739 #define WPUC4                   WPUCbits.WPUC4                  // bit 4
8740 #define WPUC5                   WPUCbits.WPUC5                  // bit 5
8741 
8742 #endif // #ifndef NO_BIT_DEFINES
8743 
8744 #endif // #ifndef __PIC16F18323_H__
8745