1 /*
2  * This declarations of the PIC16F1709 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:12 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 __PIC16F1709_H__
26 #define __PIC16F1709_H__
27 
28 //==============================================================================
29 //
30 //	Register Addresses
31 //
32 //==============================================================================
33 
34 #ifndef NO_ADDR_DEFINES
35 
36 #define INDF0_ADDR              0x0000
37 #define INDF1_ADDR              0x0001
38 #define PCL_ADDR                0x0002
39 #define STATUS_ADDR             0x0003
40 #define FSR0_ADDR               0x0004
41 #define FSR0L_ADDR              0x0004
42 #define FSR0H_ADDR              0x0005
43 #define FSR1_ADDR               0x0006
44 #define FSR1L_ADDR              0x0006
45 #define FSR1H_ADDR              0x0007
46 #define BSR_ADDR                0x0008
47 #define WREG_ADDR               0x0009
48 #define PCLATH_ADDR             0x000A
49 #define INTCON_ADDR             0x000B
50 #define PORTA_ADDR              0x000C
51 #define PORTB_ADDR              0x000D
52 #define PORTC_ADDR              0x000E
53 #define PIR1_ADDR               0x0011
54 #define PIR2_ADDR               0x0012
55 #define PIR3_ADDR               0x0013
56 #define TMR0_ADDR               0x0015
57 #define TMR1_ADDR               0x0016
58 #define TMR1L_ADDR              0x0016
59 #define TMR1H_ADDR              0x0017
60 #define T1CON_ADDR              0x0018
61 #define T1GCON_ADDR             0x0019
62 #define TMR2_ADDR               0x001A
63 #define PR2_ADDR                0x001B
64 #define T2CON_ADDR              0x001C
65 #define TRISA_ADDR              0x008C
66 #define TRISB_ADDR              0x008D
67 #define TRISC_ADDR              0x008E
68 #define PIE1_ADDR               0x0091
69 #define PIE2_ADDR               0x0092
70 #define PIE3_ADDR               0x0093
71 #define OPTION_REG_ADDR         0x0095
72 #define PCON_ADDR               0x0096
73 #define WDTCON_ADDR             0x0097
74 #define OSCTUNE_ADDR            0x0098
75 #define OSCCON_ADDR             0x0099
76 #define OSCSTAT_ADDR            0x009A
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 ADCON2_ADDR             0x009F
83 #define LATA_ADDR               0x010C
84 #define LATB_ADDR               0x010D
85 #define LATC_ADDR               0x010E
86 #define CM1CON0_ADDR            0x0111
87 #define CM1CON1_ADDR            0x0112
88 #define CM2CON0_ADDR            0x0113
89 #define CM2CON1_ADDR            0x0114
90 #define CMOUT_ADDR              0x0115
91 #define BORCON_ADDR             0x0116
92 #define FVRCON_ADDR             0x0117
93 #define DAC1CON0_ADDR           0x0118
94 #define DAC1CON1_ADDR           0x0119
95 #define ZCD1CON_ADDR            0x011C
96 #define ANSELA_ADDR             0x018C
97 #define ANSELB_ADDR             0x018D
98 #define ANSELC_ADDR             0x018E
99 #define PMADR_ADDR              0x0191
100 #define PMADRL_ADDR             0x0191
101 #define PMADRH_ADDR             0x0192
102 #define PMDAT_ADDR              0x0193
103 #define PMDATL_ADDR             0x0193
104 #define PMDATH_ADDR             0x0194
105 #define PMCON1_ADDR             0x0195
106 #define PMCON2_ADDR             0x0196
107 #define VREGCON_ADDR            0x0197
108 #define RC1REG_ADDR             0x0199
109 #define RCREG_ADDR              0x0199
110 #define RCREG1_ADDR             0x0199
111 #define TX1REG_ADDR             0x019A
112 #define TXREG_ADDR              0x019A
113 #define TXREG1_ADDR             0x019A
114 #define SP1BRG_ADDR             0x019B
115 #define SP1BRGL_ADDR            0x019B
116 #define SPBRG_ADDR              0x019B
117 #define SPBRG1_ADDR             0x019B
118 #define SPBRGL_ADDR             0x019B
119 #define SP1BRGH_ADDR            0x019C
120 #define SPBRGH_ADDR             0x019C
121 #define SPBRGH1_ADDR            0x019C
122 #define RC1STA_ADDR             0x019D
123 #define RCSTA_ADDR              0x019D
124 #define RCSTA1_ADDR             0x019D
125 #define TX1STA_ADDR             0x019E
126 #define TXSTA_ADDR              0x019E
127 #define TXSTA1_ADDR             0x019E
128 #define BAUD1CON_ADDR           0x019F
129 #define BAUDCON_ADDR            0x019F
130 #define BAUDCON1_ADDR           0x019F
131 #define BAUDCTL_ADDR            0x019F
132 #define BAUDCTL1_ADDR           0x019F
133 #define WPUA_ADDR               0x020C
134 #define WPUB_ADDR               0x020D
135 #define WPUC_ADDR               0x020E
136 #define SSP1BUF_ADDR            0x0211
137 #define SSPBUF_ADDR             0x0211
138 #define SSP1ADD_ADDR            0x0212
139 #define SSPADD_ADDR             0x0212
140 #define SSP1MSK_ADDR            0x0213
141 #define SSPMSK_ADDR             0x0213
142 #define SSP1STAT_ADDR           0x0214
143 #define SSPSTAT_ADDR            0x0214
144 #define SSP1CON_ADDR            0x0215
145 #define SSP1CON1_ADDR           0x0215
146 #define SSPCON_ADDR             0x0215
147 #define SSPCON1_ADDR            0x0215
148 #define SSP1CON2_ADDR           0x0216
149 #define SSPCON2_ADDR            0x0216
150 #define SSP1CON3_ADDR           0x0217
151 #define SSPCON3_ADDR            0x0217
152 #define ODCONA_ADDR             0x028C
153 #define ODCONB_ADDR             0x028D
154 #define ODCONC_ADDR             0x028E
155 #define CCPR1_ADDR              0x0291
156 #define CCPR1L_ADDR             0x0291
157 #define CCPR1H_ADDR             0x0292
158 #define CCP1CON_ADDR            0x0293
159 #define ECCP1CON_ADDR           0x0293
160 #define CCPR2_ADDR              0x0298
161 #define CCPR2L_ADDR             0x0298
162 #define CCPR2H_ADDR             0x0299
163 #define CCP2CON_ADDR            0x029A
164 #define ECCP2CON_ADDR           0x029A
165 #define CCPTMRS_ADDR            0x029E
166 #define SLRCONA_ADDR            0x030C
167 #define SLRCONB_ADDR            0x030D
168 #define SLRCONC_ADDR            0x030E
169 #define INLVLA_ADDR             0x038C
170 #define INLVLB_ADDR             0x038D
171 #define INLVLC_ADDR             0x038E
172 #define IOCAP_ADDR              0x0391
173 #define IOCAN_ADDR              0x0392
174 #define IOCAF_ADDR              0x0393
175 #define IOCBP_ADDR              0x0394
176 #define IOCBN_ADDR              0x0395
177 #define IOCBF_ADDR              0x0396
178 #define IOCCP_ADDR              0x0397
179 #define IOCCN_ADDR              0x0398
180 #define IOCCF_ADDR              0x0399
181 #define TMR4_ADDR               0x0415
182 #define PR4_ADDR                0x0416
183 #define T4CON_ADDR              0x0417
184 #define TMR6_ADDR               0x041C
185 #define PR6_ADDR                0x041D
186 #define T6CON_ADDR              0x041E
187 #define OPA1CON_ADDR            0x0511
188 #define OPA2CON_ADDR            0x0515
189 #define PWM3DCL_ADDR            0x0617
190 #define PWM3DCH_ADDR            0x0618
191 #define PWM3CON_ADDR            0x0619
192 #define PWM3CON0_ADDR           0x0619
193 #define PWM4DCL_ADDR            0x061A
194 #define PWM4DCH_ADDR            0x061B
195 #define PWM4CON_ADDR            0x061C
196 #define PWM4CON0_ADDR           0x061C
197 #define COG1PHR_ADDR            0x0691
198 #define COG1PHF_ADDR            0x0692
199 #define COG1BLKR_ADDR           0x0693
200 #define COG1BLKF_ADDR           0x0694
201 #define COG1DBR_ADDR            0x0695
202 #define COG1DBF_ADDR            0x0696
203 #define COG1CON0_ADDR           0x0697
204 #define COG1CON1_ADDR           0x0698
205 #define COG1RIS_ADDR            0x0699
206 #define COG1RSIM_ADDR           0x069A
207 #define COG1FIS_ADDR            0x069B
208 #define COG1FSIM_ADDR           0x069C
209 #define COG1ASD0_ADDR           0x069D
210 #define COG1ASD1_ADDR           0x069E
211 #define COG1STR_ADDR            0x069F
212 #define PPSLOCK_ADDR            0x0E0F
213 #define INTPPS_ADDR             0x0E10
214 #define T0CKIPPS_ADDR           0x0E11
215 #define T1CKIPPS_ADDR           0x0E12
216 #define T1GPPS_ADDR             0x0E13
217 #define CCP1PPS_ADDR            0x0E14
218 #define CCP2PPS_ADDR            0x0E15
219 #define COGINPPS_ADDR           0x0E17
220 #define SSPCLKPPS_ADDR          0x0E20
221 #define SSPDATPPS_ADDR          0x0E21
222 #define SSPSSPPS_ADDR           0x0E22
223 #define RXPPS_ADDR              0x0E24
224 #define CKPPS_ADDR              0x0E25
225 #define CLCIN0PPS_ADDR          0x0E28
226 #define CLCIN1PPS_ADDR          0x0E29
227 #define CLCIN2PPS_ADDR          0x0E2A
228 #define CLCIN3PPS_ADDR          0x0E2B
229 #define RA0PPS_ADDR             0x0E90
230 #define RA1PPS_ADDR             0x0E91
231 #define RA2PPS_ADDR             0x0E92
232 #define RA4PPS_ADDR             0x0E94
233 #define RA5PPS_ADDR             0x0E95
234 #define RB4PPS_ADDR             0x0E9C
235 #define RB5PPS_ADDR             0x0E9D
236 #define RB6PPS_ADDR             0x0E9E
237 #define RB7PPS_ADDR             0x0E9F
238 #define RC0PPS_ADDR             0x0EA0
239 #define RC1PPS_ADDR             0x0EA1
240 #define RC2PPS_ADDR             0x0EA2
241 #define RC3PPS_ADDR             0x0EA3
242 #define RC4PPS_ADDR             0x0EA4
243 #define RC5PPS_ADDR             0x0EA5
244 #define RC6PPS_ADDR             0x0EA6
245 #define RC7PPS_ADDR             0x0EA7
246 #define CLCDATA_ADDR            0x0F0F
247 #define CLC1CON_ADDR            0x0F10
248 #define CLC1POL_ADDR            0x0F11
249 #define CLC1SEL0_ADDR           0x0F12
250 #define CLC1SEL1_ADDR           0x0F13
251 #define CLC1SEL2_ADDR           0x0F14
252 #define CLC1SEL3_ADDR           0x0F15
253 #define CLC1GLS0_ADDR           0x0F16
254 #define CLC1GLS1_ADDR           0x0F17
255 #define CLC1GLS2_ADDR           0x0F18
256 #define CLC1GLS3_ADDR           0x0F19
257 #define CLC2CON_ADDR            0x0F1A
258 #define CLC2POL_ADDR            0x0F1B
259 #define CLC2SEL0_ADDR           0x0F1C
260 #define CLC2SEL1_ADDR           0x0F1D
261 #define CLC2SEL2_ADDR           0x0F1E
262 #define CLC2SEL3_ADDR           0x0F1F
263 #define CLC2GLS0_ADDR           0x0F20
264 #define CLC2GLS1_ADDR           0x0F21
265 #define CLC2GLS2_ADDR           0x0F22
266 #define CLC2GLS3_ADDR           0x0F23
267 #define CLC3CON_ADDR            0x0F24
268 #define CLC3POL_ADDR            0x0F25
269 #define CLC3SEL0_ADDR           0x0F26
270 #define CLC3SEL1_ADDR           0x0F27
271 #define CLC3SEL2_ADDR           0x0F28
272 #define CLC3SEL3_ADDR           0x0F29
273 #define CLC3GLS0_ADDR           0x0F2A
274 #define CLC3GLS1_ADDR           0x0F2B
275 #define CLC3GLS2_ADDR           0x0F2C
276 #define CLC3GLS3_ADDR           0x0F2D
277 #define ICDBK0H_ADDR            0x0F9E
278 #define STATUS_SHAD_ADDR        0x0FE4
279 #define WREG_SHAD_ADDR          0x0FE5
280 #define BSR_SHAD_ADDR           0x0FE6
281 #define PCLATH_SHAD_ADDR        0x0FE7
282 #define FSR0L_SHAD_ADDR         0x0FE8
283 #define FSR0H_SHAD_ADDR         0x0FE9
284 #define FSR1L_SHAD_ADDR         0x0FEA
285 #define FSR1H_SHAD_ADDR         0x0FEB
286 #define STKPTR_ADDR             0x0FED
287 #define TOSL_ADDR               0x0FEE
288 #define TOSH_ADDR               0x0FEF
289 
290 #endif // #ifndef NO_ADDR_DEFINES
291 
292 //==============================================================================
293 //
294 //	Register Definitions
295 //
296 //==============================================================================
297 
298 extern __at(0x0000) __sfr INDF0;
299 extern __at(0x0001) __sfr INDF1;
300 extern __at(0x0002) __sfr PCL;
301 
302 //==============================================================================
303 //        STATUS Bits
304 
305 extern __at(0x0003) __sfr STATUS;
306 
307 typedef struct
308   {
309   unsigned C                    : 1;
310   unsigned DC                   : 1;
311   unsigned Z                    : 1;
312   unsigned NOT_PD               : 1;
313   unsigned NOT_TO               : 1;
314   unsigned                      : 1;
315   unsigned                      : 1;
316   unsigned                      : 1;
317   } __STATUSbits_t;
318 
319 extern __at(0x0003) volatile __STATUSbits_t STATUSbits;
320 
321 #define _C                      0x01
322 #define _DC                     0x02
323 #define _Z                      0x04
324 #define _NOT_PD                 0x08
325 #define _NOT_TO                 0x10
326 
327 //==============================================================================
328 
329 extern __at(0x0004) __sfr FSR0;
330 extern __at(0x0004) __sfr FSR0L;
331 extern __at(0x0005) __sfr FSR0H;
332 extern __at(0x0006) __sfr FSR1;
333 extern __at(0x0006) __sfr FSR1L;
334 extern __at(0x0007) __sfr FSR1H;
335 
336 //==============================================================================
337 //        BSR Bits
338 
339 extern __at(0x0008) __sfr BSR;
340 
341 typedef union
342   {
343   struct
344     {
345     unsigned BSR0               : 1;
346     unsigned BSR1               : 1;
347     unsigned BSR2               : 1;
348     unsigned BSR3               : 1;
349     unsigned BSR4               : 1;
350     unsigned                    : 1;
351     unsigned                    : 1;
352     unsigned                    : 1;
353     };
354 
355   struct
356     {
357     unsigned BSR                : 5;
358     unsigned                    : 3;
359     };
360   } __BSRbits_t;
361 
362 extern __at(0x0008) volatile __BSRbits_t BSRbits;
363 
364 #define _BSR0                   0x01
365 #define _BSR1                   0x02
366 #define _BSR2                   0x04
367 #define _BSR3                   0x08
368 #define _BSR4                   0x10
369 
370 //==============================================================================
371 
372 extern __at(0x0009) __sfr WREG;
373 extern __at(0x000A) __sfr PCLATH;
374 
375 //==============================================================================
376 //        INTCON Bits
377 
378 extern __at(0x000B) __sfr INTCON;
379 
380 typedef union
381   {
382   struct
383     {
384     unsigned IOCIF              : 1;
385     unsigned INTF               : 1;
386     unsigned TMR0IF             : 1;
387     unsigned IOCIE              : 1;
388     unsigned INTE               : 1;
389     unsigned TMR0IE             : 1;
390     unsigned PEIE               : 1;
391     unsigned GIE                : 1;
392     };
393 
394   struct
395     {
396     unsigned                    : 1;
397     unsigned                    : 1;
398     unsigned T0IF               : 1;
399     unsigned                    : 1;
400     unsigned                    : 1;
401     unsigned T0IE               : 1;
402     unsigned                    : 1;
403     unsigned                    : 1;
404     };
405   } __INTCONbits_t;
406 
407 extern __at(0x000B) volatile __INTCONbits_t INTCONbits;
408 
409 #define _IOCIF                  0x01
410 #define _INTF                   0x02
411 #define _TMR0IF                 0x04
412 #define _T0IF                   0x04
413 #define _IOCIE                  0x08
414 #define _INTE                   0x10
415 #define _TMR0IE                 0x20
416 #define _T0IE                   0x20
417 #define _PEIE                   0x40
418 #define _GIE                    0x80
419 
420 //==============================================================================
421 
422 
423 //==============================================================================
424 //        PORTA Bits
425 
426 extern __at(0x000C) __sfr PORTA;
427 
428 typedef union
429   {
430   struct
431     {
432     unsigned RA0                : 1;
433     unsigned RA1                : 1;
434     unsigned RA2                : 1;
435     unsigned RA3                : 1;
436     unsigned RA4                : 1;
437     unsigned RA5                : 1;
438     unsigned                    : 1;
439     unsigned                    : 1;
440     };
441 
442   struct
443     {
444     unsigned RA                 : 6;
445     unsigned                    : 2;
446     };
447   } __PORTAbits_t;
448 
449 extern __at(0x000C) volatile __PORTAbits_t PORTAbits;
450 
451 #define _RA0                    0x01
452 #define _RA1                    0x02
453 #define _RA2                    0x04
454 #define _RA3                    0x08
455 #define _RA4                    0x10
456 #define _RA5                    0x20
457 
458 //==============================================================================
459 
460 
461 //==============================================================================
462 //        PORTB Bits
463 
464 extern __at(0x000D) __sfr PORTB;
465 
466 typedef struct
467   {
468   unsigned                      : 1;
469   unsigned                      : 1;
470   unsigned                      : 1;
471   unsigned                      : 1;
472   unsigned RB4                  : 1;
473   unsigned RB5                  : 1;
474   unsigned RB6                  : 1;
475   unsigned RB7                  : 1;
476   } __PORTBbits_t;
477 
478 extern __at(0x000D) volatile __PORTBbits_t PORTBbits;
479 
480 #define _RB4                    0x10
481 #define _RB5                    0x20
482 #define _RB6                    0x40
483 #define _RB7                    0x80
484 
485 //==============================================================================
486 
487 
488 //==============================================================================
489 //        PORTC Bits
490 
491 extern __at(0x000E) __sfr PORTC;
492 
493 typedef struct
494   {
495   unsigned RC0                  : 1;
496   unsigned RC1                  : 1;
497   unsigned RC2                  : 1;
498   unsigned RC3                  : 1;
499   unsigned RC4                  : 1;
500   unsigned RC5                  : 1;
501   unsigned RC6                  : 1;
502   unsigned RC7                  : 1;
503   } __PORTCbits_t;
504 
505 extern __at(0x000E) volatile __PORTCbits_t PORTCbits;
506 
507 #define _RC0                    0x01
508 #define _RC1                    0x02
509 #define _RC2                    0x04
510 #define _RC3                    0x08
511 #define _RC4                    0x10
512 #define _RC5                    0x20
513 #define _RC6                    0x40
514 #define _RC7                    0x80
515 
516 //==============================================================================
517 
518 
519 //==============================================================================
520 //        PIR1 Bits
521 
522 extern __at(0x0011) __sfr PIR1;
523 
524 typedef union
525   {
526   struct
527     {
528     unsigned TMR1IF             : 1;
529     unsigned TMR2IF             : 1;
530     unsigned CCP1IF             : 1;
531     unsigned SSP1IF             : 1;
532     unsigned TXIF               : 1;
533     unsigned RCIF               : 1;
534     unsigned ADIF               : 1;
535     unsigned TMR1GIF            : 1;
536     };
537 
538   struct
539     {
540     unsigned                    : 1;
541     unsigned                    : 1;
542     unsigned CCPIF              : 1;
543     unsigned                    : 1;
544     unsigned                    : 1;
545     unsigned                    : 1;
546     unsigned                    : 1;
547     unsigned                    : 1;
548     };
549   } __PIR1bits_t;
550 
551 extern __at(0x0011) volatile __PIR1bits_t PIR1bits;
552 
553 #define _TMR1IF                 0x01
554 #define _TMR2IF                 0x02
555 #define _CCP1IF                 0x04
556 #define _CCPIF                  0x04
557 #define _SSP1IF                 0x08
558 #define _TXIF                   0x10
559 #define _RCIF                   0x20
560 #define _ADIF                   0x40
561 #define _TMR1GIF                0x80
562 
563 //==============================================================================
564 
565 
566 //==============================================================================
567 //        PIR2 Bits
568 
569 extern __at(0x0012) __sfr PIR2;
570 
571 typedef struct
572   {
573   unsigned CCP2IF               : 1;
574   unsigned TMR4IF               : 1;
575   unsigned TMR6IF               : 1;
576   unsigned BCL1IF               : 1;
577   unsigned                      : 1;
578   unsigned C1IF                 : 1;
579   unsigned C2IF                 : 1;
580   unsigned OSFIF                : 1;
581   } __PIR2bits_t;
582 
583 extern __at(0x0012) volatile __PIR2bits_t PIR2bits;
584 
585 #define _CCP2IF                 0x01
586 #define _TMR4IF                 0x02
587 #define _TMR6IF                 0x04
588 #define _BCL1IF                 0x08
589 #define _C1IF                   0x20
590 #define _C2IF                   0x40
591 #define _OSFIF                  0x80
592 
593 //==============================================================================
594 
595 
596 //==============================================================================
597 //        PIR3 Bits
598 
599 extern __at(0x0013) __sfr PIR3;
600 
601 typedef struct
602   {
603   unsigned CLC1IF               : 1;
604   unsigned CLC2IF               : 1;
605   unsigned CLC3IF               : 1;
606   unsigned                      : 1;
607   unsigned ZCDIF                : 1;
608   unsigned COGIF                : 1;
609   unsigned                      : 1;
610   unsigned                      : 1;
611   } __PIR3bits_t;
612 
613 extern __at(0x0013) volatile __PIR3bits_t PIR3bits;
614 
615 #define _CLC1IF                 0x01
616 #define _CLC2IF                 0x02
617 #define _CLC3IF                 0x04
618 #define _ZCDIF                  0x10
619 #define _COGIF                  0x20
620 
621 //==============================================================================
622 
623 extern __at(0x0015) __sfr TMR0;
624 extern __at(0x0016) __sfr TMR1;
625 extern __at(0x0016) __sfr TMR1L;
626 extern __at(0x0017) __sfr TMR1H;
627 
628 //==============================================================================
629 //        T1CON Bits
630 
631 extern __at(0x0018) __sfr T1CON;
632 
633 typedef union
634   {
635   struct
636     {
637     unsigned TMR1ON             : 1;
638     unsigned                    : 1;
639     unsigned NOT_T1SYNC         : 1;
640     unsigned T1OSCEN            : 1;
641     unsigned T1CKPS0            : 1;
642     unsigned T1CKPS1            : 1;
643     unsigned TMR1CS0            : 1;
644     unsigned TMR1CS1            : 1;
645     };
646 
647   struct
648     {
649     unsigned                    : 4;
650     unsigned T1CKPS             : 2;
651     unsigned                    : 2;
652     };
653 
654   struct
655     {
656     unsigned                    : 6;
657     unsigned TMR1CS             : 2;
658     };
659   } __T1CONbits_t;
660 
661 extern __at(0x0018) volatile __T1CONbits_t T1CONbits;
662 
663 #define _TMR1ON                 0x01
664 #define _NOT_T1SYNC             0x04
665 #define _T1OSCEN                0x08
666 #define _T1CKPS0                0x10
667 #define _T1CKPS1                0x20
668 #define _TMR1CS0                0x40
669 #define _TMR1CS1                0x80
670 
671 //==============================================================================
672 
673 
674 //==============================================================================
675 //        T1GCON Bits
676 
677 extern __at(0x0019) __sfr T1GCON;
678 
679 typedef union
680   {
681   struct
682     {
683     unsigned T1GSS0             : 1;
684     unsigned T1GSS1             : 1;
685     unsigned T1GVAL             : 1;
686     unsigned T1GGO_NOT_DONE     : 1;
687     unsigned T1GSPM             : 1;
688     unsigned T1GTM              : 1;
689     unsigned T1GPOL             : 1;
690     unsigned TMR1GE             : 1;
691     };
692 
693   struct
694     {
695     unsigned T1GSS              : 2;
696     unsigned                    : 6;
697     };
698   } __T1GCONbits_t;
699 
700 extern __at(0x0019) volatile __T1GCONbits_t T1GCONbits;
701 
702 #define _T1GSS0                 0x01
703 #define _T1GSS1                 0x02
704 #define _T1GVAL                 0x04
705 #define _T1GGO_NOT_DONE         0x08
706 #define _T1GSPM                 0x10
707 #define _T1GTM                  0x20
708 #define _T1GPOL                 0x40
709 #define _TMR1GE                 0x80
710 
711 //==============================================================================
712 
713 extern __at(0x001A) __sfr TMR2;
714 extern __at(0x001B) __sfr PR2;
715 
716 //==============================================================================
717 //        T2CON Bits
718 
719 extern __at(0x001C) __sfr T2CON;
720 
721 typedef union
722   {
723   struct
724     {
725     unsigned T2CKPS0            : 1;
726     unsigned T2CKPS1            : 1;
727     unsigned TMR2ON             : 1;
728     unsigned T2OUTPS0           : 1;
729     unsigned T2OUTPS1           : 1;
730     unsigned T2OUTPS2           : 1;
731     unsigned T2OUTPS3           : 1;
732     unsigned                    : 1;
733     };
734 
735   struct
736     {
737     unsigned T2CKPS             : 2;
738     unsigned                    : 6;
739     };
740 
741   struct
742     {
743     unsigned                    : 3;
744     unsigned T2OUTPS            : 4;
745     unsigned                    : 1;
746     };
747   } __T2CONbits_t;
748 
749 extern __at(0x001C) volatile __T2CONbits_t T2CONbits;
750 
751 #define _T2CKPS0                0x01
752 #define _T2CKPS1                0x02
753 #define _TMR2ON                 0x04
754 #define _T2OUTPS0               0x08
755 #define _T2OUTPS1               0x10
756 #define _T2OUTPS2               0x20
757 #define _T2OUTPS3               0x40
758 
759 //==============================================================================
760 
761 
762 //==============================================================================
763 //        TRISA Bits
764 
765 extern __at(0x008C) __sfr TRISA;
766 
767 typedef struct
768   {
769   unsigned TRISA0               : 1;
770   unsigned TRISA1               : 1;
771   unsigned TRISA2               : 1;
772   unsigned                      : 1;
773   unsigned TRISA4               : 1;
774   unsigned TRISA5               : 1;
775   unsigned                      : 1;
776   unsigned                      : 1;
777   } __TRISAbits_t;
778 
779 extern __at(0x008C) volatile __TRISAbits_t TRISAbits;
780 
781 #define _TRISA0                 0x01
782 #define _TRISA1                 0x02
783 #define _TRISA2                 0x04
784 #define _TRISA4                 0x10
785 #define _TRISA5                 0x20
786 
787 //==============================================================================
788 
789 
790 //==============================================================================
791 //        TRISB Bits
792 
793 extern __at(0x008D) __sfr TRISB;
794 
795 typedef struct
796   {
797   unsigned                      : 1;
798   unsigned                      : 1;
799   unsigned                      : 1;
800   unsigned                      : 1;
801   unsigned TRISB4               : 1;
802   unsigned TRISB5               : 1;
803   unsigned TRISB6               : 1;
804   unsigned TRISB7               : 1;
805   } __TRISBbits_t;
806 
807 extern __at(0x008D) volatile __TRISBbits_t TRISBbits;
808 
809 #define _TRISB4                 0x10
810 #define _TRISB5                 0x20
811 #define _TRISB6                 0x40
812 #define _TRISB7                 0x80
813 
814 //==============================================================================
815 
816 
817 //==============================================================================
818 //        TRISC Bits
819 
820 extern __at(0x008E) __sfr TRISC;
821 
822 typedef struct
823   {
824   unsigned TRISC0               : 1;
825   unsigned TRISC1               : 1;
826   unsigned TRISC2               : 1;
827   unsigned TRISC3               : 1;
828   unsigned TRISC4               : 1;
829   unsigned TRISC5               : 1;
830   unsigned TRISC6               : 1;
831   unsigned TRISC7               : 1;
832   } __TRISCbits_t;
833 
834 extern __at(0x008E) volatile __TRISCbits_t TRISCbits;
835 
836 #define _TRISC0                 0x01
837 #define _TRISC1                 0x02
838 #define _TRISC2                 0x04
839 #define _TRISC3                 0x08
840 #define _TRISC4                 0x10
841 #define _TRISC5                 0x20
842 #define _TRISC6                 0x40
843 #define _TRISC7                 0x80
844 
845 //==============================================================================
846 
847 
848 //==============================================================================
849 //        PIE1 Bits
850 
851 extern __at(0x0091) __sfr PIE1;
852 
853 typedef union
854   {
855   struct
856     {
857     unsigned TMR1IE             : 1;
858     unsigned TMR2IE             : 1;
859     unsigned CCP1IE             : 1;
860     unsigned SSP1IE             : 1;
861     unsigned TXIE               : 1;
862     unsigned RCIE               : 1;
863     unsigned ADIE               : 1;
864     unsigned TMR1GIE            : 1;
865     };
866 
867   struct
868     {
869     unsigned                    : 1;
870     unsigned                    : 1;
871     unsigned CCPIE              : 1;
872     unsigned                    : 1;
873     unsigned                    : 1;
874     unsigned                    : 1;
875     unsigned                    : 1;
876     unsigned                    : 1;
877     };
878   } __PIE1bits_t;
879 
880 extern __at(0x0091) volatile __PIE1bits_t PIE1bits;
881 
882 #define _TMR1IE                 0x01
883 #define _TMR2IE                 0x02
884 #define _CCP1IE                 0x04
885 #define _CCPIE                  0x04
886 #define _SSP1IE                 0x08
887 #define _TXIE                   0x10
888 #define _RCIE                   0x20
889 #define _ADIE                   0x40
890 #define _TMR1GIE                0x80
891 
892 //==============================================================================
893 
894 
895 //==============================================================================
896 //        PIE2 Bits
897 
898 extern __at(0x0092) __sfr PIE2;
899 
900 typedef struct
901   {
902   unsigned CCP2IE               : 1;
903   unsigned TMR4IE               : 1;
904   unsigned TMR6IE               : 1;
905   unsigned BCL1IE               : 1;
906   unsigned                      : 1;
907   unsigned C1IE                 : 1;
908   unsigned C2IE                 : 1;
909   unsigned OSFIE                : 1;
910   } __PIE2bits_t;
911 
912 extern __at(0x0092) volatile __PIE2bits_t PIE2bits;
913 
914 #define _CCP2IE                 0x01
915 #define _TMR4IE                 0x02
916 #define _TMR6IE                 0x04
917 #define _BCL1IE                 0x08
918 #define _C1IE                   0x20
919 #define _C2IE                   0x40
920 #define _OSFIE                  0x80
921 
922 //==============================================================================
923 
924 
925 //==============================================================================
926 //        PIE3 Bits
927 
928 extern __at(0x0093) __sfr PIE3;
929 
930 typedef struct
931   {
932   unsigned CLC1IE               : 1;
933   unsigned CLC2IE               : 1;
934   unsigned CLC3IE               : 1;
935   unsigned                      : 1;
936   unsigned ZCDIE                : 1;
937   unsigned COGIE                : 1;
938   unsigned                      : 1;
939   unsigned                      : 1;
940   } __PIE3bits_t;
941 
942 extern __at(0x0093) volatile __PIE3bits_t PIE3bits;
943 
944 #define _CLC1IE                 0x01
945 #define _CLC2IE                 0x02
946 #define _CLC3IE                 0x04
947 #define _ZCDIE                  0x10
948 #define _COGIE                  0x20
949 
950 //==============================================================================
951 
952 
953 //==============================================================================
954 //        OPTION_REG Bits
955 
956 extern __at(0x0095) __sfr OPTION_REG;
957 
958 typedef union
959   {
960   struct
961     {
962     unsigned PS0                : 1;
963     unsigned PS1                : 1;
964     unsigned PS2                : 1;
965     unsigned PSA                : 1;
966     unsigned TMR0SE             : 1;
967     unsigned TMR0CS             : 1;
968     unsigned INTEDG             : 1;
969     unsigned NOT_WPUEN          : 1;
970     };
971 
972   struct
973     {
974     unsigned                    : 1;
975     unsigned                    : 1;
976     unsigned                    : 1;
977     unsigned                    : 1;
978     unsigned T0SE               : 1;
979     unsigned T0CS               : 1;
980     unsigned                    : 1;
981     unsigned                    : 1;
982     };
983 
984   struct
985     {
986     unsigned PS                 : 3;
987     unsigned                    : 5;
988     };
989   } __OPTION_REGbits_t;
990 
991 extern __at(0x0095) volatile __OPTION_REGbits_t OPTION_REGbits;
992 
993 #define _PS0                    0x01
994 #define _PS1                    0x02
995 #define _PS2                    0x04
996 #define _PSA                    0x08
997 #define _TMR0SE                 0x10
998 #define _T0SE                   0x10
999 #define _TMR0CS                 0x20
1000 #define _T0CS                   0x20
1001 #define _INTEDG                 0x40
1002 #define _NOT_WPUEN              0x80
1003 
1004 //==============================================================================
1005 
1006 
1007 //==============================================================================
1008 //        PCON Bits
1009 
1010 extern __at(0x0096) __sfr PCON;
1011 
1012 typedef struct
1013   {
1014   unsigned NOT_BOR              : 1;
1015   unsigned NOT_POR              : 1;
1016   unsigned NOT_RI               : 1;
1017   unsigned NOT_RMCLR            : 1;
1018   unsigned NOT_RWDT             : 1;
1019   unsigned                      : 1;
1020   unsigned STKUNF               : 1;
1021   unsigned STKOVF               : 1;
1022   } __PCONbits_t;
1023 
1024 extern __at(0x0096) volatile __PCONbits_t PCONbits;
1025 
1026 #define _NOT_BOR                0x01
1027 #define _NOT_POR                0x02
1028 #define _NOT_RI                 0x04
1029 #define _NOT_RMCLR              0x08
1030 #define _NOT_RWDT               0x10
1031 #define _STKUNF                 0x40
1032 #define _STKOVF                 0x80
1033 
1034 //==============================================================================
1035 
1036 
1037 //==============================================================================
1038 //        WDTCON Bits
1039 
1040 extern __at(0x0097) __sfr WDTCON;
1041 
1042 typedef union
1043   {
1044   struct
1045     {
1046     unsigned SWDTEN             : 1;
1047     unsigned WDTPS0             : 1;
1048     unsigned WDTPS1             : 1;
1049     unsigned WDTPS2             : 1;
1050     unsigned WDTPS3             : 1;
1051     unsigned WDTPS4             : 1;
1052     unsigned                    : 1;
1053     unsigned                    : 1;
1054     };
1055 
1056   struct
1057     {
1058     unsigned                    : 1;
1059     unsigned WDTPS              : 5;
1060     unsigned                    : 2;
1061     };
1062   } __WDTCONbits_t;
1063 
1064 extern __at(0x0097) volatile __WDTCONbits_t WDTCONbits;
1065 
1066 #define _SWDTEN                 0x01
1067 #define _WDTPS0                 0x02
1068 #define _WDTPS1                 0x04
1069 #define _WDTPS2                 0x08
1070 #define _WDTPS3                 0x10
1071 #define _WDTPS4                 0x20
1072 
1073 //==============================================================================
1074 
1075 
1076 //==============================================================================
1077 //        OSCTUNE Bits
1078 
1079 extern __at(0x0098) __sfr OSCTUNE;
1080 
1081 typedef union
1082   {
1083   struct
1084     {
1085     unsigned TUN0               : 1;
1086     unsigned TUN1               : 1;
1087     unsigned TUN2               : 1;
1088     unsigned TUN3               : 1;
1089     unsigned TUN4               : 1;
1090     unsigned TUN5               : 1;
1091     unsigned                    : 1;
1092     unsigned                    : 1;
1093     };
1094 
1095   struct
1096     {
1097     unsigned TUN                : 6;
1098     unsigned                    : 2;
1099     };
1100   } __OSCTUNEbits_t;
1101 
1102 extern __at(0x0098) volatile __OSCTUNEbits_t OSCTUNEbits;
1103 
1104 #define _TUN0                   0x01
1105 #define _TUN1                   0x02
1106 #define _TUN2                   0x04
1107 #define _TUN3                   0x08
1108 #define _TUN4                   0x10
1109 #define _TUN5                   0x20
1110 
1111 //==============================================================================
1112 
1113 
1114 //==============================================================================
1115 //        OSCCON Bits
1116 
1117 extern __at(0x0099) __sfr OSCCON;
1118 
1119 typedef union
1120   {
1121   struct
1122     {
1123     unsigned SCS0               : 1;
1124     unsigned SCS1               : 1;
1125     unsigned                    : 1;
1126     unsigned IRCF0              : 1;
1127     unsigned IRCF1              : 1;
1128     unsigned IRCF2              : 1;
1129     unsigned IRCF3              : 1;
1130     unsigned SPLLEN             : 1;
1131     };
1132 
1133   struct
1134     {
1135     unsigned SCS                : 2;
1136     unsigned                    : 6;
1137     };
1138 
1139   struct
1140     {
1141     unsigned                    : 3;
1142     unsigned IRCF               : 4;
1143     unsigned                    : 1;
1144     };
1145   } __OSCCONbits_t;
1146 
1147 extern __at(0x0099) volatile __OSCCONbits_t OSCCONbits;
1148 
1149 #define _SCS0                   0x01
1150 #define _SCS1                   0x02
1151 #define _IRCF0                  0x08
1152 #define _IRCF1                  0x10
1153 #define _IRCF2                  0x20
1154 #define _IRCF3                  0x40
1155 #define _SPLLEN                 0x80
1156 
1157 //==============================================================================
1158 
1159 
1160 //==============================================================================
1161 //        OSCSTAT Bits
1162 
1163 extern __at(0x009A) __sfr OSCSTAT;
1164 
1165 typedef struct
1166   {
1167   unsigned HFIOFS               : 1;
1168   unsigned LFIOFR               : 1;
1169   unsigned MFIOFR               : 1;
1170   unsigned HFIOFL               : 1;
1171   unsigned HFIOFR               : 1;
1172   unsigned OSTS                 : 1;
1173   unsigned PLLR                 : 1;
1174   unsigned SOSCR                : 1;
1175   } __OSCSTATbits_t;
1176 
1177 extern __at(0x009A) volatile __OSCSTATbits_t OSCSTATbits;
1178 
1179 #define _HFIOFS                 0x01
1180 #define _LFIOFR                 0x02
1181 #define _MFIOFR                 0x04
1182 #define _HFIOFL                 0x08
1183 #define _HFIOFR                 0x10
1184 #define _OSTS                   0x20
1185 #define _PLLR                   0x40
1186 #define _SOSCR                  0x80
1187 
1188 //==============================================================================
1189 
1190 extern __at(0x009B) __sfr ADRES;
1191 extern __at(0x009B) __sfr ADRESL;
1192 extern __at(0x009C) __sfr ADRESH;
1193 
1194 //==============================================================================
1195 //        ADCON0 Bits
1196 
1197 extern __at(0x009D) __sfr ADCON0;
1198 
1199 typedef union
1200   {
1201   struct
1202     {
1203     unsigned ADON               : 1;
1204     unsigned GO_NOT_DONE        : 1;
1205     unsigned CHS0               : 1;
1206     unsigned CHS1               : 1;
1207     unsigned CHS2               : 1;
1208     unsigned CHS3               : 1;
1209     unsigned CHS4               : 1;
1210     unsigned                    : 1;
1211     };
1212 
1213   struct
1214     {
1215     unsigned                    : 1;
1216     unsigned ADGO               : 1;
1217     unsigned                    : 1;
1218     unsigned                    : 1;
1219     unsigned                    : 1;
1220     unsigned                    : 1;
1221     unsigned                    : 1;
1222     unsigned                    : 1;
1223     };
1224 
1225   struct
1226     {
1227     unsigned                    : 1;
1228     unsigned GO                 : 1;
1229     unsigned                    : 1;
1230     unsigned                    : 1;
1231     unsigned                    : 1;
1232     unsigned                    : 1;
1233     unsigned                    : 1;
1234     unsigned                    : 1;
1235     };
1236 
1237   struct
1238     {
1239     unsigned                    : 2;
1240     unsigned CHS                : 5;
1241     unsigned                    : 1;
1242     };
1243   } __ADCON0bits_t;
1244 
1245 extern __at(0x009D) volatile __ADCON0bits_t ADCON0bits;
1246 
1247 #define _ADON                   0x01
1248 #define _GO_NOT_DONE            0x02
1249 #define _ADGO                   0x02
1250 #define _GO                     0x02
1251 #define _CHS0                   0x04
1252 #define _CHS1                   0x08
1253 #define _CHS2                   0x10
1254 #define _CHS3                   0x20
1255 #define _CHS4                   0x40
1256 
1257 //==============================================================================
1258 
1259 
1260 //==============================================================================
1261 //        ADCON1 Bits
1262 
1263 extern __at(0x009E) __sfr ADCON1;
1264 
1265 typedef union
1266   {
1267   struct
1268     {
1269     unsigned ADPREF0            : 1;
1270     unsigned ADPREF1            : 1;
1271     unsigned ADNREF             : 1;
1272     unsigned                    : 1;
1273     unsigned                    : 1;
1274     unsigned                    : 1;
1275     unsigned                    : 1;
1276     unsigned ADFM               : 1;
1277     };
1278 
1279   struct
1280     {
1281     unsigned ADPREF             : 2;
1282     unsigned                    : 6;
1283     };
1284   } __ADCON1bits_t;
1285 
1286 extern __at(0x009E) volatile __ADCON1bits_t ADCON1bits;
1287 
1288 #define _ADPREF0                0x01
1289 #define _ADPREF1                0x02
1290 #define _ADNREF                 0x04
1291 #define _ADFM                   0x80
1292 
1293 //==============================================================================
1294 
1295 
1296 //==============================================================================
1297 //        ADCON2 Bits
1298 
1299 extern __at(0x009F) __sfr ADCON2;
1300 
1301 typedef union
1302   {
1303   struct
1304     {
1305     unsigned                    : 1;
1306     unsigned                    : 1;
1307     unsigned                    : 1;
1308     unsigned                    : 1;
1309     unsigned TRIGSEL0           : 1;
1310     unsigned TRIGSEL1           : 1;
1311     unsigned TRIGSEL2           : 1;
1312     unsigned TRIGSEL3           : 1;
1313     };
1314 
1315   struct
1316     {
1317     unsigned                    : 4;
1318     unsigned TRIGSEL            : 4;
1319     };
1320   } __ADCON2bits_t;
1321 
1322 extern __at(0x009F) volatile __ADCON2bits_t ADCON2bits;
1323 
1324 #define _TRIGSEL0               0x10
1325 #define _TRIGSEL1               0x20
1326 #define _TRIGSEL2               0x40
1327 #define _TRIGSEL3               0x80
1328 
1329 //==============================================================================
1330 
1331 
1332 //==============================================================================
1333 //        LATA Bits
1334 
1335 extern __at(0x010C) __sfr LATA;
1336 
1337 typedef struct
1338   {
1339   unsigned LATA0                : 1;
1340   unsigned LATA1                : 1;
1341   unsigned LATA2                : 1;
1342   unsigned                      : 1;
1343   unsigned LATA4                : 1;
1344   unsigned LATA5                : 1;
1345   unsigned                      : 1;
1346   unsigned                      : 1;
1347   } __LATAbits_t;
1348 
1349 extern __at(0x010C) volatile __LATAbits_t LATAbits;
1350 
1351 #define _LATA0                  0x01
1352 #define _LATA1                  0x02
1353 #define _LATA2                  0x04
1354 #define _LATA4                  0x10
1355 #define _LATA5                  0x20
1356 
1357 //==============================================================================
1358 
1359 
1360 //==============================================================================
1361 //        LATB Bits
1362 
1363 extern __at(0x010D) __sfr LATB;
1364 
1365 typedef struct
1366   {
1367   unsigned                      : 1;
1368   unsigned                      : 1;
1369   unsigned                      : 1;
1370   unsigned                      : 1;
1371   unsigned LATB4                : 1;
1372   unsigned LATB5                : 1;
1373   unsigned LATB6                : 1;
1374   unsigned LATB7                : 1;
1375   } __LATBbits_t;
1376 
1377 extern __at(0x010D) volatile __LATBbits_t LATBbits;
1378 
1379 #define _LATB4                  0x10
1380 #define _LATB5                  0x20
1381 #define _LATB6                  0x40
1382 #define _LATB7                  0x80
1383 
1384 //==============================================================================
1385 
1386 
1387 //==============================================================================
1388 //        LATC Bits
1389 
1390 extern __at(0x010E) __sfr LATC;
1391 
1392 typedef struct
1393   {
1394   unsigned LATC0                : 1;
1395   unsigned LATC1                : 1;
1396   unsigned LATC2                : 1;
1397   unsigned LATC3                : 1;
1398   unsigned LATC4                : 1;
1399   unsigned LATC5                : 1;
1400   unsigned LATC6                : 1;
1401   unsigned LATC7                : 1;
1402   } __LATCbits_t;
1403 
1404 extern __at(0x010E) volatile __LATCbits_t LATCbits;
1405 
1406 #define _LATC0                  0x01
1407 #define _LATC1                  0x02
1408 #define _LATC2                  0x04
1409 #define _LATC3                  0x08
1410 #define _LATC4                  0x10
1411 #define _LATC5                  0x20
1412 #define _LATC6                  0x40
1413 #define _LATC7                  0x80
1414 
1415 //==============================================================================
1416 
1417 
1418 //==============================================================================
1419 //        CM1CON0 Bits
1420 
1421 extern __at(0x0111) __sfr CM1CON0;
1422 
1423 typedef struct
1424   {
1425   unsigned C1SYNC               : 1;
1426   unsigned C1HYS                : 1;
1427   unsigned C1SP                 : 1;
1428   unsigned C1ZLF                : 1;
1429   unsigned C1POL                : 1;
1430   unsigned                      : 1;
1431   unsigned C1OUT                : 1;
1432   unsigned C1ON                 : 1;
1433   } __CM1CON0bits_t;
1434 
1435 extern __at(0x0111) volatile __CM1CON0bits_t CM1CON0bits;
1436 
1437 #define _C1SYNC                 0x01
1438 #define _C1HYS                  0x02
1439 #define _C1SP                   0x04
1440 #define _C1ZLF                  0x08
1441 #define _C1POL                  0x10
1442 #define _C1OUT                  0x40
1443 #define _C1ON                   0x80
1444 
1445 //==============================================================================
1446 
1447 
1448 //==============================================================================
1449 //        CM1CON1 Bits
1450 
1451 extern __at(0x0112) __sfr CM1CON1;
1452 
1453 typedef union
1454   {
1455   struct
1456     {
1457     unsigned C1NCH0             : 1;
1458     unsigned C1NCH1             : 1;
1459     unsigned C1NCH2             : 1;
1460     unsigned C1PCH0             : 1;
1461     unsigned C1PCH1             : 1;
1462     unsigned C1PCH2             : 1;
1463     unsigned C1INTN             : 1;
1464     unsigned C1INTP             : 1;
1465     };
1466 
1467   struct
1468     {
1469     unsigned C1NCH              : 3;
1470     unsigned                    : 5;
1471     };
1472 
1473   struct
1474     {
1475     unsigned                    : 3;
1476     unsigned C1PCH              : 3;
1477     unsigned                    : 2;
1478     };
1479   } __CM1CON1bits_t;
1480 
1481 extern __at(0x0112) volatile __CM1CON1bits_t CM1CON1bits;
1482 
1483 #define _C1NCH0                 0x01
1484 #define _C1NCH1                 0x02
1485 #define _C1NCH2                 0x04
1486 #define _C1PCH0                 0x08
1487 #define _C1PCH1                 0x10
1488 #define _C1PCH2                 0x20
1489 #define _C1INTN                 0x40
1490 #define _C1INTP                 0x80
1491 
1492 //==============================================================================
1493 
1494 
1495 //==============================================================================
1496 //        CM2CON0 Bits
1497 
1498 extern __at(0x0113) __sfr CM2CON0;
1499 
1500 typedef struct
1501   {
1502   unsigned C2SYNC               : 1;
1503   unsigned C2HYS                : 1;
1504   unsigned C2SP                 : 1;
1505   unsigned C2ZLF                : 1;
1506   unsigned C2POL                : 1;
1507   unsigned                      : 1;
1508   unsigned C2OUT                : 1;
1509   unsigned C2ON                 : 1;
1510   } __CM2CON0bits_t;
1511 
1512 extern __at(0x0113) volatile __CM2CON0bits_t CM2CON0bits;
1513 
1514 #define _C2SYNC                 0x01
1515 #define _C2HYS                  0x02
1516 #define _C2SP                   0x04
1517 #define _C2ZLF                  0x08
1518 #define _C2POL                  0x10
1519 #define _C2OUT                  0x40
1520 #define _C2ON                   0x80
1521 
1522 //==============================================================================
1523 
1524 
1525 //==============================================================================
1526 //        CM2CON1 Bits
1527 
1528 extern __at(0x0114) __sfr CM2CON1;
1529 
1530 typedef union
1531   {
1532   struct
1533     {
1534     unsigned C2NCH0             : 1;
1535     unsigned C2NCH1             : 1;
1536     unsigned C2NCH2             : 1;
1537     unsigned C2PCH0             : 1;
1538     unsigned C2PCH1             : 1;
1539     unsigned C2PCH2             : 1;
1540     unsigned C2INTN             : 1;
1541     unsigned C2INTP             : 1;
1542     };
1543 
1544   struct
1545     {
1546     unsigned C2NCH              : 3;
1547     unsigned                    : 5;
1548     };
1549 
1550   struct
1551     {
1552     unsigned                    : 3;
1553     unsigned C2PCH              : 3;
1554     unsigned                    : 2;
1555     };
1556   } __CM2CON1bits_t;
1557 
1558 extern __at(0x0114) volatile __CM2CON1bits_t CM2CON1bits;
1559 
1560 #define _C2NCH0                 0x01
1561 #define _C2NCH1                 0x02
1562 #define _C2NCH2                 0x04
1563 #define _C2PCH0                 0x08
1564 #define _C2PCH1                 0x10
1565 #define _C2PCH2                 0x20
1566 #define _C2INTN                 0x40
1567 #define _C2INTP                 0x80
1568 
1569 //==============================================================================
1570 
1571 
1572 //==============================================================================
1573 //        CMOUT Bits
1574 
1575 extern __at(0x0115) __sfr CMOUT;
1576 
1577 typedef struct
1578   {
1579   unsigned MC1OUT               : 1;
1580   unsigned MC2OUT               : 1;
1581   unsigned                      : 1;
1582   unsigned                      : 1;
1583   unsigned                      : 1;
1584   unsigned                      : 1;
1585   unsigned                      : 1;
1586   unsigned                      : 1;
1587   } __CMOUTbits_t;
1588 
1589 extern __at(0x0115) volatile __CMOUTbits_t CMOUTbits;
1590 
1591 #define _MC1OUT                 0x01
1592 #define _MC2OUT                 0x02
1593 
1594 //==============================================================================
1595 
1596 
1597 //==============================================================================
1598 //        BORCON Bits
1599 
1600 extern __at(0x0116) __sfr BORCON;
1601 
1602 typedef struct
1603   {
1604   unsigned BORRDY               : 1;
1605   unsigned                      : 1;
1606   unsigned                      : 1;
1607   unsigned                      : 1;
1608   unsigned                      : 1;
1609   unsigned                      : 1;
1610   unsigned BORFS                : 1;
1611   unsigned SBOREN               : 1;
1612   } __BORCONbits_t;
1613 
1614 extern __at(0x0116) volatile __BORCONbits_t BORCONbits;
1615 
1616 #define _BORRDY                 0x01
1617 #define _BORFS                  0x40
1618 #define _SBOREN                 0x80
1619 
1620 //==============================================================================
1621 
1622 
1623 //==============================================================================
1624 //        FVRCON Bits
1625 
1626 extern __at(0x0117) __sfr FVRCON;
1627 
1628 typedef union
1629   {
1630   struct
1631     {
1632     unsigned ADFVR0             : 1;
1633     unsigned ADFVR1             : 1;
1634     unsigned CDAFVR0            : 1;
1635     unsigned CDAFVR1            : 1;
1636     unsigned TSRNG              : 1;
1637     unsigned TSEN               : 1;
1638     unsigned FVRRDY             : 1;
1639     unsigned FVREN              : 1;
1640     };
1641 
1642   struct
1643     {
1644     unsigned ADFVR              : 2;
1645     unsigned                    : 6;
1646     };
1647 
1648   struct
1649     {
1650     unsigned                    : 2;
1651     unsigned CDAFVR             : 2;
1652     unsigned                    : 4;
1653     };
1654   } __FVRCONbits_t;
1655 
1656 extern __at(0x0117) volatile __FVRCONbits_t FVRCONbits;
1657 
1658 #define _ADFVR0                 0x01
1659 #define _ADFVR1                 0x02
1660 #define _CDAFVR0                0x04
1661 #define _CDAFVR1                0x08
1662 #define _TSRNG                  0x10
1663 #define _TSEN                   0x20
1664 #define _FVRRDY                 0x40
1665 #define _FVREN                  0x80
1666 
1667 //==============================================================================
1668 
1669 
1670 //==============================================================================
1671 //        DAC1CON0 Bits
1672 
1673 extern __at(0x0118) __sfr DAC1CON0;
1674 
1675 typedef union
1676   {
1677   struct
1678     {
1679     unsigned DAC1NSS            : 1;
1680     unsigned                    : 1;
1681     unsigned DAC1PSS0           : 1;
1682     unsigned DAC1PSS1           : 1;
1683     unsigned DAC1OE2            : 1;
1684     unsigned DAC1OE1            : 1;
1685     unsigned                    : 1;
1686     unsigned DAC1EN             : 1;
1687     };
1688 
1689   struct
1690     {
1691     unsigned DACNSS             : 1;
1692     unsigned                    : 1;
1693     unsigned DACPSS0            : 1;
1694     unsigned DACPSS1            : 1;
1695     unsigned DACOE0             : 1;
1696     unsigned DACOE1             : 1;
1697     unsigned                    : 1;
1698     unsigned DACEN              : 1;
1699     };
1700 
1701   struct
1702     {
1703     unsigned                    : 2;
1704     unsigned DAC1PSS            : 2;
1705     unsigned                    : 4;
1706     };
1707 
1708   struct
1709     {
1710     unsigned                    : 2;
1711     unsigned DACPSS             : 2;
1712     unsigned                    : 4;
1713     };
1714 
1715   struct
1716     {
1717     unsigned                    : 4;
1718     unsigned DACOE              : 2;
1719     unsigned                    : 2;
1720     };
1721   } __DAC1CON0bits_t;
1722 
1723 extern __at(0x0118) volatile __DAC1CON0bits_t DAC1CON0bits;
1724 
1725 #define _DAC1NSS                0x01
1726 #define _DACNSS                 0x01
1727 #define _DAC1PSS0               0x04
1728 #define _DACPSS0                0x04
1729 #define _DAC1PSS1               0x08
1730 #define _DACPSS1                0x08
1731 #define _DAC1OE2                0x10
1732 #define _DACOE0                 0x10
1733 #define _DAC1OE1                0x20
1734 #define _DACOE1                 0x20
1735 #define _DAC1EN                 0x80
1736 #define _DACEN                  0x80
1737 
1738 //==============================================================================
1739 
1740 
1741 //==============================================================================
1742 //        DAC1CON1 Bits
1743 
1744 extern __at(0x0119) __sfr DAC1CON1;
1745 
1746 typedef union
1747   {
1748   struct
1749     {
1750     unsigned DAC1R0             : 1;
1751     unsigned DAC1R1             : 1;
1752     unsigned DAC1R2             : 1;
1753     unsigned DAC1R3             : 1;
1754     unsigned DAC1R4             : 1;
1755     unsigned DAC1R5             : 1;
1756     unsigned DAC1R6             : 1;
1757     unsigned DAC1R7             : 1;
1758     };
1759 
1760   struct
1761     {
1762     unsigned DACR0              : 1;
1763     unsigned DACR1              : 1;
1764     unsigned DACR2              : 1;
1765     unsigned DACR3              : 1;
1766     unsigned DACR4              : 1;
1767     unsigned DACR5              : 1;
1768     unsigned DACR6              : 1;
1769     unsigned DACR7              : 1;
1770     };
1771   } __DAC1CON1bits_t;
1772 
1773 extern __at(0x0119) volatile __DAC1CON1bits_t DAC1CON1bits;
1774 
1775 #define _DAC1R0                 0x01
1776 #define _DACR0                  0x01
1777 #define _DAC1R1                 0x02
1778 #define _DACR1                  0x02
1779 #define _DAC1R2                 0x04
1780 #define _DACR2                  0x04
1781 #define _DAC1R3                 0x08
1782 #define _DACR3                  0x08
1783 #define _DAC1R4                 0x10
1784 #define _DACR4                  0x10
1785 #define _DAC1R5                 0x20
1786 #define _DACR5                  0x20
1787 #define _DAC1R6                 0x40
1788 #define _DACR6                  0x40
1789 #define _DAC1R7                 0x80
1790 #define _DACR7                  0x80
1791 
1792 //==============================================================================
1793 
1794 
1795 //==============================================================================
1796 //        ZCD1CON Bits
1797 
1798 extern __at(0x011C) __sfr ZCD1CON;
1799 
1800 typedef struct
1801   {
1802   unsigned ZCD1INTN             : 1;
1803   unsigned ZCD1INTP             : 1;
1804   unsigned                      : 1;
1805   unsigned                      : 1;
1806   unsigned ZCD1POL              : 1;
1807   unsigned ZCD1OUT              : 1;
1808   unsigned                      : 1;
1809   unsigned ZCD1EN               : 1;
1810   } __ZCD1CONbits_t;
1811 
1812 extern __at(0x011C) volatile __ZCD1CONbits_t ZCD1CONbits;
1813 
1814 #define _ZCD1INTN               0x01
1815 #define _ZCD1INTP               0x02
1816 #define _ZCD1POL                0x10
1817 #define _ZCD1OUT                0x20
1818 #define _ZCD1EN                 0x80
1819 
1820 //==============================================================================
1821 
1822 
1823 //==============================================================================
1824 //        ANSELA Bits
1825 
1826 extern __at(0x018C) __sfr ANSELA;
1827 
1828 typedef struct
1829   {
1830   unsigned ANSA0                : 1;
1831   unsigned ANSA1                : 1;
1832   unsigned ANSA2                : 1;
1833   unsigned                      : 1;
1834   unsigned ANSA4                : 1;
1835   unsigned ANS5                 : 1;
1836   unsigned                      : 1;
1837   unsigned                      : 1;
1838   } __ANSELAbits_t;
1839 
1840 extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits;
1841 
1842 #define _ANSA0                  0x01
1843 #define _ANSA1                  0x02
1844 #define _ANSA2                  0x04
1845 #define _ANSA4                  0x10
1846 #define _ANS5                   0x20
1847 
1848 //==============================================================================
1849 
1850 
1851 //==============================================================================
1852 //        ANSELB Bits
1853 
1854 extern __at(0x018D) __sfr ANSELB;
1855 
1856 typedef struct
1857   {
1858   unsigned                      : 1;
1859   unsigned                      : 1;
1860   unsigned                      : 1;
1861   unsigned                      : 1;
1862   unsigned ANSB4                : 1;
1863   unsigned ANSB5                : 1;
1864   unsigned                      : 1;
1865   unsigned                      : 1;
1866   } __ANSELBbits_t;
1867 
1868 extern __at(0x018D) volatile __ANSELBbits_t ANSELBbits;
1869 
1870 #define _ANSB4                  0x10
1871 #define _ANSB5                  0x20
1872 
1873 //==============================================================================
1874 
1875 
1876 //==============================================================================
1877 //        ANSELC Bits
1878 
1879 extern __at(0x018E) __sfr ANSELC;
1880 
1881 typedef struct
1882   {
1883   unsigned ANSC0                : 1;
1884   unsigned ANSC1                : 1;
1885   unsigned ANSC2                : 1;
1886   unsigned ANSC3                : 1;
1887   unsigned                      : 1;
1888   unsigned                      : 1;
1889   unsigned ANSC6                : 1;
1890   unsigned ANSC7                : 1;
1891   } __ANSELCbits_t;
1892 
1893 extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits;
1894 
1895 #define _ANSC0                  0x01
1896 #define _ANSC1                  0x02
1897 #define _ANSC2                  0x04
1898 #define _ANSC3                  0x08
1899 #define _ANSC6                  0x40
1900 #define _ANSC7                  0x80
1901 
1902 //==============================================================================
1903 
1904 extern __at(0x0191) __sfr PMADR;
1905 extern __at(0x0191) __sfr PMADRL;
1906 extern __at(0x0192) __sfr PMADRH;
1907 extern __at(0x0193) __sfr PMDAT;
1908 extern __at(0x0193) __sfr PMDATL;
1909 extern __at(0x0194) __sfr PMDATH;
1910 
1911 //==============================================================================
1912 //        PMCON1 Bits
1913 
1914 extern __at(0x0195) __sfr PMCON1;
1915 
1916 typedef struct
1917   {
1918   unsigned RD                   : 1;
1919   unsigned WR                   : 1;
1920   unsigned WREN                 : 1;
1921   unsigned WRERR                : 1;
1922   unsigned FREE                 : 1;
1923   unsigned LWLO                 : 1;
1924   unsigned CFGS                 : 1;
1925   unsigned                      : 1;
1926   } __PMCON1bits_t;
1927 
1928 extern __at(0x0195) volatile __PMCON1bits_t PMCON1bits;
1929 
1930 #define _RD                     0x01
1931 #define _WR                     0x02
1932 #define _WREN                   0x04
1933 #define _WRERR                  0x08
1934 #define _FREE                   0x10
1935 #define _LWLO                   0x20
1936 #define _CFGS                   0x40
1937 
1938 //==============================================================================
1939 
1940 extern __at(0x0196) __sfr PMCON2;
1941 
1942 //==============================================================================
1943 //        VREGCON Bits
1944 
1945 extern __at(0x0197) __sfr VREGCON;
1946 
1947 typedef struct
1948   {
1949   unsigned Reserved             : 1;
1950   unsigned VREGPM               : 1;
1951   unsigned                      : 1;
1952   unsigned                      : 1;
1953   unsigned                      : 1;
1954   unsigned                      : 1;
1955   unsigned                      : 1;
1956   unsigned                      : 1;
1957   } __VREGCONbits_t;
1958 
1959 extern __at(0x0197) volatile __VREGCONbits_t VREGCONbits;
1960 
1961 #define _Reserved               0x01
1962 #define _VREGPM                 0x02
1963 
1964 //==============================================================================
1965 
1966 extern __at(0x0199) __sfr RC1REG;
1967 extern __at(0x0199) __sfr RCREG;
1968 extern __at(0x0199) __sfr RCREG1;
1969 extern __at(0x019A) __sfr TX1REG;
1970 extern __at(0x019A) __sfr TXREG;
1971 extern __at(0x019A) __sfr TXREG1;
1972 extern __at(0x019B) __sfr SP1BRG;
1973 extern __at(0x019B) __sfr SP1BRGL;
1974 extern __at(0x019B) __sfr SPBRG;
1975 extern __at(0x019B) __sfr SPBRG1;
1976 extern __at(0x019B) __sfr SPBRGL;
1977 extern __at(0x019C) __sfr SP1BRGH;
1978 extern __at(0x019C) __sfr SPBRGH;
1979 extern __at(0x019C) __sfr SPBRGH1;
1980 
1981 //==============================================================================
1982 //        RC1STA Bits
1983 
1984 extern __at(0x019D) __sfr RC1STA;
1985 
1986 typedef struct
1987   {
1988   unsigned RX9D                 : 1;
1989   unsigned OERR                 : 1;
1990   unsigned FERR                 : 1;
1991   unsigned ADDEN                : 1;
1992   unsigned CREN                 : 1;
1993   unsigned SREN                 : 1;
1994   unsigned RX9                  : 1;
1995   unsigned SPEN                 : 1;
1996   } __RC1STAbits_t;
1997 
1998 extern __at(0x019D) volatile __RC1STAbits_t RC1STAbits;
1999 
2000 #define _RX9D                   0x01
2001 #define _OERR                   0x02
2002 #define _FERR                   0x04
2003 #define _ADDEN                  0x08
2004 #define _CREN                   0x10
2005 #define _SREN                   0x20
2006 #define _RX9                    0x40
2007 #define _SPEN                   0x80
2008 
2009 //==============================================================================
2010 
2011 
2012 //==============================================================================
2013 //        RCSTA Bits
2014 
2015 extern __at(0x019D) __sfr RCSTA;
2016 
2017 typedef struct
2018   {
2019   unsigned RX9D                 : 1;
2020   unsigned OERR                 : 1;
2021   unsigned FERR                 : 1;
2022   unsigned ADDEN                : 1;
2023   unsigned CREN                 : 1;
2024   unsigned SREN                 : 1;
2025   unsigned RX9                  : 1;
2026   unsigned SPEN                 : 1;
2027   } __RCSTAbits_t;
2028 
2029 extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits;
2030 
2031 #define _RCSTA_RX9D             0x01
2032 #define _RCSTA_OERR             0x02
2033 #define _RCSTA_FERR             0x04
2034 #define _RCSTA_ADDEN            0x08
2035 #define _RCSTA_CREN             0x10
2036 #define _RCSTA_SREN             0x20
2037 #define _RCSTA_RX9              0x40
2038 #define _RCSTA_SPEN             0x80
2039 
2040 //==============================================================================
2041 
2042 
2043 //==============================================================================
2044 //        RCSTA1 Bits
2045 
2046 extern __at(0x019D) __sfr RCSTA1;
2047 
2048 typedef struct
2049   {
2050   unsigned RX9D                 : 1;
2051   unsigned OERR                 : 1;
2052   unsigned FERR                 : 1;
2053   unsigned ADDEN                : 1;
2054   unsigned CREN                 : 1;
2055   unsigned SREN                 : 1;
2056   unsigned RX9                  : 1;
2057   unsigned SPEN                 : 1;
2058   } __RCSTA1bits_t;
2059 
2060 extern __at(0x019D) volatile __RCSTA1bits_t RCSTA1bits;
2061 
2062 #define _RCSTA1_RX9D            0x01
2063 #define _RCSTA1_OERR            0x02
2064 #define _RCSTA1_FERR            0x04
2065 #define _RCSTA1_ADDEN           0x08
2066 #define _RCSTA1_CREN            0x10
2067 #define _RCSTA1_SREN            0x20
2068 #define _RCSTA1_RX9             0x40
2069 #define _RCSTA1_SPEN            0x80
2070 
2071 //==============================================================================
2072 
2073 
2074 //==============================================================================
2075 //        TX1STA Bits
2076 
2077 extern __at(0x019E) __sfr TX1STA;
2078 
2079 typedef struct
2080   {
2081   unsigned TX9D                 : 1;
2082   unsigned TRMT                 : 1;
2083   unsigned BRGH                 : 1;
2084   unsigned SENDB                : 1;
2085   unsigned SYNC                 : 1;
2086   unsigned TXEN                 : 1;
2087   unsigned TX9                  : 1;
2088   unsigned CSRC                 : 1;
2089   } __TX1STAbits_t;
2090 
2091 extern __at(0x019E) volatile __TX1STAbits_t TX1STAbits;
2092 
2093 #define _TX9D                   0x01
2094 #define _TRMT                   0x02
2095 #define _BRGH                   0x04
2096 #define _SENDB                  0x08
2097 #define _SYNC                   0x10
2098 #define _TXEN                   0x20
2099 #define _TX9                    0x40
2100 #define _CSRC                   0x80
2101 
2102 //==============================================================================
2103 
2104 
2105 //==============================================================================
2106 //        TXSTA Bits
2107 
2108 extern __at(0x019E) __sfr TXSTA;
2109 
2110 typedef struct
2111   {
2112   unsigned TX9D                 : 1;
2113   unsigned TRMT                 : 1;
2114   unsigned BRGH                 : 1;
2115   unsigned SENDB                : 1;
2116   unsigned SYNC                 : 1;
2117   unsigned TXEN                 : 1;
2118   unsigned TX9                  : 1;
2119   unsigned CSRC                 : 1;
2120   } __TXSTAbits_t;
2121 
2122 extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits;
2123 
2124 #define _TXSTA_TX9D             0x01
2125 #define _TXSTA_TRMT             0x02
2126 #define _TXSTA_BRGH             0x04
2127 #define _TXSTA_SENDB            0x08
2128 #define _TXSTA_SYNC             0x10
2129 #define _TXSTA_TXEN             0x20
2130 #define _TXSTA_TX9              0x40
2131 #define _TXSTA_CSRC             0x80
2132 
2133 //==============================================================================
2134 
2135 
2136 //==============================================================================
2137 //        TXSTA1 Bits
2138 
2139 extern __at(0x019E) __sfr TXSTA1;
2140 
2141 typedef struct
2142   {
2143   unsigned TX9D                 : 1;
2144   unsigned TRMT                 : 1;
2145   unsigned BRGH                 : 1;
2146   unsigned SENDB                : 1;
2147   unsigned SYNC                 : 1;
2148   unsigned TXEN                 : 1;
2149   unsigned TX9                  : 1;
2150   unsigned CSRC                 : 1;
2151   } __TXSTA1bits_t;
2152 
2153 extern __at(0x019E) volatile __TXSTA1bits_t TXSTA1bits;
2154 
2155 #define _TXSTA1_TX9D            0x01
2156 #define _TXSTA1_TRMT            0x02
2157 #define _TXSTA1_BRGH            0x04
2158 #define _TXSTA1_SENDB           0x08
2159 #define _TXSTA1_SYNC            0x10
2160 #define _TXSTA1_TXEN            0x20
2161 #define _TXSTA1_TX9             0x40
2162 #define _TXSTA1_CSRC            0x80
2163 
2164 //==============================================================================
2165 
2166 
2167 //==============================================================================
2168 //        BAUD1CON Bits
2169 
2170 extern __at(0x019F) __sfr BAUD1CON;
2171 
2172 typedef struct
2173   {
2174   unsigned ABDEN                : 1;
2175   unsigned WUE                  : 1;
2176   unsigned                      : 1;
2177   unsigned BRG16                : 1;
2178   unsigned SCKP                 : 1;
2179   unsigned                      : 1;
2180   unsigned RCIDL                : 1;
2181   unsigned ABDOVF               : 1;
2182   } __BAUD1CONbits_t;
2183 
2184 extern __at(0x019F) volatile __BAUD1CONbits_t BAUD1CONbits;
2185 
2186 #define _ABDEN                  0x01
2187 #define _WUE                    0x02
2188 #define _BRG16                  0x08
2189 #define _SCKP                   0x10
2190 #define _RCIDL                  0x40
2191 #define _ABDOVF                 0x80
2192 
2193 //==============================================================================
2194 
2195 
2196 //==============================================================================
2197 //        BAUDCON Bits
2198 
2199 extern __at(0x019F) __sfr BAUDCON;
2200 
2201 typedef struct
2202   {
2203   unsigned ABDEN                : 1;
2204   unsigned WUE                  : 1;
2205   unsigned                      : 1;
2206   unsigned BRG16                : 1;
2207   unsigned SCKP                 : 1;
2208   unsigned                      : 1;
2209   unsigned RCIDL                : 1;
2210   unsigned ABDOVF               : 1;
2211   } __BAUDCONbits_t;
2212 
2213 extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits;
2214 
2215 #define _BAUDCON_ABDEN          0x01
2216 #define _BAUDCON_WUE            0x02
2217 #define _BAUDCON_BRG16          0x08
2218 #define _BAUDCON_SCKP           0x10
2219 #define _BAUDCON_RCIDL          0x40
2220 #define _BAUDCON_ABDOVF         0x80
2221 
2222 //==============================================================================
2223 
2224 
2225 //==============================================================================
2226 //        BAUDCON1 Bits
2227 
2228 extern __at(0x019F) __sfr BAUDCON1;
2229 
2230 typedef struct
2231   {
2232   unsigned ABDEN                : 1;
2233   unsigned WUE                  : 1;
2234   unsigned                      : 1;
2235   unsigned BRG16                : 1;
2236   unsigned SCKP                 : 1;
2237   unsigned                      : 1;
2238   unsigned RCIDL                : 1;
2239   unsigned ABDOVF               : 1;
2240   } __BAUDCON1bits_t;
2241 
2242 extern __at(0x019F) volatile __BAUDCON1bits_t BAUDCON1bits;
2243 
2244 #define _BAUDCON1_ABDEN         0x01
2245 #define _BAUDCON1_WUE           0x02
2246 #define _BAUDCON1_BRG16         0x08
2247 #define _BAUDCON1_SCKP          0x10
2248 #define _BAUDCON1_RCIDL         0x40
2249 #define _BAUDCON1_ABDOVF        0x80
2250 
2251 //==============================================================================
2252 
2253 
2254 //==============================================================================
2255 //        BAUDCTL Bits
2256 
2257 extern __at(0x019F) __sfr BAUDCTL;
2258 
2259 typedef struct
2260   {
2261   unsigned ABDEN                : 1;
2262   unsigned WUE                  : 1;
2263   unsigned                      : 1;
2264   unsigned BRG16                : 1;
2265   unsigned SCKP                 : 1;
2266   unsigned                      : 1;
2267   unsigned RCIDL                : 1;
2268   unsigned ABDOVF               : 1;
2269   } __BAUDCTLbits_t;
2270 
2271 extern __at(0x019F) volatile __BAUDCTLbits_t BAUDCTLbits;
2272 
2273 #define _BAUDCTL_ABDEN          0x01
2274 #define _BAUDCTL_WUE            0x02
2275 #define _BAUDCTL_BRG16          0x08
2276 #define _BAUDCTL_SCKP           0x10
2277 #define _BAUDCTL_RCIDL          0x40
2278 #define _BAUDCTL_ABDOVF         0x80
2279 
2280 //==============================================================================
2281 
2282 
2283 //==============================================================================
2284 //        BAUDCTL1 Bits
2285 
2286 extern __at(0x019F) __sfr BAUDCTL1;
2287 
2288 typedef struct
2289   {
2290   unsigned ABDEN                : 1;
2291   unsigned WUE                  : 1;
2292   unsigned                      : 1;
2293   unsigned BRG16                : 1;
2294   unsigned SCKP                 : 1;
2295   unsigned                      : 1;
2296   unsigned RCIDL                : 1;
2297   unsigned ABDOVF               : 1;
2298   } __BAUDCTL1bits_t;
2299 
2300 extern __at(0x019F) volatile __BAUDCTL1bits_t BAUDCTL1bits;
2301 
2302 #define _BAUDCTL1_ABDEN         0x01
2303 #define _BAUDCTL1_WUE           0x02
2304 #define _BAUDCTL1_BRG16         0x08
2305 #define _BAUDCTL1_SCKP          0x10
2306 #define _BAUDCTL1_RCIDL         0x40
2307 #define _BAUDCTL1_ABDOVF        0x80
2308 
2309 //==============================================================================
2310 
2311 
2312 //==============================================================================
2313 //        WPUA Bits
2314 
2315 extern __at(0x020C) __sfr WPUA;
2316 
2317 typedef union
2318   {
2319   struct
2320     {
2321     unsigned WPUA0              : 1;
2322     unsigned WPUA1              : 1;
2323     unsigned WPUA2              : 1;
2324     unsigned WPUA3              : 1;
2325     unsigned WPUA4              : 1;
2326     unsigned WPUA5              : 1;
2327     unsigned                    : 1;
2328     unsigned                    : 1;
2329     };
2330 
2331   struct
2332     {
2333     unsigned WPUA               : 6;
2334     unsigned                    : 2;
2335     };
2336   } __WPUAbits_t;
2337 
2338 extern __at(0x020C) volatile __WPUAbits_t WPUAbits;
2339 
2340 #define _WPUA0                  0x01
2341 #define _WPUA1                  0x02
2342 #define _WPUA2                  0x04
2343 #define _WPUA3                  0x08
2344 #define _WPUA4                  0x10
2345 #define _WPUA5                  0x20
2346 
2347 //==============================================================================
2348 
2349 
2350 //==============================================================================
2351 //        WPUB Bits
2352 
2353 extern __at(0x020D) __sfr WPUB;
2354 
2355 typedef struct
2356   {
2357   unsigned                      : 1;
2358   unsigned                      : 1;
2359   unsigned                      : 1;
2360   unsigned                      : 1;
2361   unsigned WPUB4                : 1;
2362   unsigned WPUB5                : 1;
2363   unsigned WPUB6                : 1;
2364   unsigned WPUB7                : 1;
2365   } __WPUBbits_t;
2366 
2367 extern __at(0x020D) volatile __WPUBbits_t WPUBbits;
2368 
2369 #define _WPUB4                  0x10
2370 #define _WPUB5                  0x20
2371 #define _WPUB6                  0x40
2372 #define _WPUB7                  0x80
2373 
2374 //==============================================================================
2375 
2376 
2377 //==============================================================================
2378 //        WPUC Bits
2379 
2380 extern __at(0x020E) __sfr WPUC;
2381 
2382 typedef struct
2383   {
2384   unsigned WPUC0                : 1;
2385   unsigned WPUC1                : 1;
2386   unsigned WPUC2                : 1;
2387   unsigned WPUC3                : 1;
2388   unsigned WPUC4                : 1;
2389   unsigned WPUC5                : 1;
2390   unsigned WPUC6                : 1;
2391   unsigned WPUC7                : 1;
2392   } __WPUCbits_t;
2393 
2394 extern __at(0x020E) volatile __WPUCbits_t WPUCbits;
2395 
2396 #define _WPUC0                  0x01
2397 #define _WPUC1                  0x02
2398 #define _WPUC2                  0x04
2399 #define _WPUC3                  0x08
2400 #define _WPUC4                  0x10
2401 #define _WPUC5                  0x20
2402 #define _WPUC6                  0x40
2403 #define _WPUC7                  0x80
2404 
2405 //==============================================================================
2406 
2407 
2408 //==============================================================================
2409 //        SSP1BUF Bits
2410 
2411 extern __at(0x0211) __sfr SSP1BUF;
2412 
2413 typedef union
2414   {
2415   struct
2416     {
2417     unsigned SSP1BUF0           : 1;
2418     unsigned SSP1BUF1           : 1;
2419     unsigned SSP1BUF2           : 1;
2420     unsigned SSP1BUF3           : 1;
2421     unsigned SSP1BUF4           : 1;
2422     unsigned SSP1BUF5           : 1;
2423     unsigned SSP1BUF6           : 1;
2424     unsigned SSP1BUF7           : 1;
2425     };
2426 
2427   struct
2428     {
2429     unsigned BUF0               : 1;
2430     unsigned BUF1               : 1;
2431     unsigned BUF2               : 1;
2432     unsigned BUF3               : 1;
2433     unsigned BUF4               : 1;
2434     unsigned BUF5               : 1;
2435     unsigned BUF6               : 1;
2436     unsigned BUF7               : 1;
2437     };
2438   } __SSP1BUFbits_t;
2439 
2440 extern __at(0x0211) volatile __SSP1BUFbits_t SSP1BUFbits;
2441 
2442 #define _SSP1BUF0               0x01
2443 #define _BUF0                   0x01
2444 #define _SSP1BUF1               0x02
2445 #define _BUF1                   0x02
2446 #define _SSP1BUF2               0x04
2447 #define _BUF2                   0x04
2448 #define _SSP1BUF3               0x08
2449 #define _BUF3                   0x08
2450 #define _SSP1BUF4               0x10
2451 #define _BUF4                   0x10
2452 #define _SSP1BUF5               0x20
2453 #define _BUF5                   0x20
2454 #define _SSP1BUF6               0x40
2455 #define _BUF6                   0x40
2456 #define _SSP1BUF7               0x80
2457 #define _BUF7                   0x80
2458 
2459 //==============================================================================
2460 
2461 
2462 //==============================================================================
2463 //        SSPBUF Bits
2464 
2465 extern __at(0x0211) __sfr SSPBUF;
2466 
2467 typedef union
2468   {
2469   struct
2470     {
2471     unsigned SSP1BUF0           : 1;
2472     unsigned SSP1BUF1           : 1;
2473     unsigned SSP1BUF2           : 1;
2474     unsigned SSP1BUF3           : 1;
2475     unsigned SSP1BUF4           : 1;
2476     unsigned SSP1BUF5           : 1;
2477     unsigned SSP1BUF6           : 1;
2478     unsigned SSP1BUF7           : 1;
2479     };
2480 
2481   struct
2482     {
2483     unsigned BUF0               : 1;
2484     unsigned BUF1               : 1;
2485     unsigned BUF2               : 1;
2486     unsigned BUF3               : 1;
2487     unsigned BUF4               : 1;
2488     unsigned BUF5               : 1;
2489     unsigned BUF6               : 1;
2490     unsigned BUF7               : 1;
2491     };
2492   } __SSPBUFbits_t;
2493 
2494 extern __at(0x0211) volatile __SSPBUFbits_t SSPBUFbits;
2495 
2496 #define _SSPBUF_SSP1BUF0        0x01
2497 #define _SSPBUF_BUF0            0x01
2498 #define _SSPBUF_SSP1BUF1        0x02
2499 #define _SSPBUF_BUF1            0x02
2500 #define _SSPBUF_SSP1BUF2        0x04
2501 #define _SSPBUF_BUF2            0x04
2502 #define _SSPBUF_SSP1BUF3        0x08
2503 #define _SSPBUF_BUF3            0x08
2504 #define _SSPBUF_SSP1BUF4        0x10
2505 #define _SSPBUF_BUF4            0x10
2506 #define _SSPBUF_SSP1BUF5        0x20
2507 #define _SSPBUF_BUF5            0x20
2508 #define _SSPBUF_SSP1BUF6        0x40
2509 #define _SSPBUF_BUF6            0x40
2510 #define _SSPBUF_SSP1BUF7        0x80
2511 #define _SSPBUF_BUF7            0x80
2512 
2513 //==============================================================================
2514 
2515 
2516 //==============================================================================
2517 //        SSP1ADD Bits
2518 
2519 extern __at(0x0212) __sfr SSP1ADD;
2520 
2521 typedef union
2522   {
2523   struct
2524     {
2525     unsigned SSP1ADD0           : 1;
2526     unsigned SSP1ADD1           : 1;
2527     unsigned SSP1ADD2           : 1;
2528     unsigned SSP1ADD3           : 1;
2529     unsigned SSP1ADD4           : 1;
2530     unsigned SSP1ADD5           : 1;
2531     unsigned SSP1ADD6           : 1;
2532     unsigned SSP1ADD7           : 1;
2533     };
2534 
2535   struct
2536     {
2537     unsigned ADD0               : 1;
2538     unsigned ADD1               : 1;
2539     unsigned ADD2               : 1;
2540     unsigned ADD3               : 1;
2541     unsigned ADD4               : 1;
2542     unsigned ADD5               : 1;
2543     unsigned ADD6               : 1;
2544     unsigned ADD7               : 1;
2545     };
2546   } __SSP1ADDbits_t;
2547 
2548 extern __at(0x0212) volatile __SSP1ADDbits_t SSP1ADDbits;
2549 
2550 #define _SSP1ADD0               0x01
2551 #define _ADD0                   0x01
2552 #define _SSP1ADD1               0x02
2553 #define _ADD1                   0x02
2554 #define _SSP1ADD2               0x04
2555 #define _ADD2                   0x04
2556 #define _SSP1ADD3               0x08
2557 #define _ADD3                   0x08
2558 #define _SSP1ADD4               0x10
2559 #define _ADD4                   0x10
2560 #define _SSP1ADD5               0x20
2561 #define _ADD5                   0x20
2562 #define _SSP1ADD6               0x40
2563 #define _ADD6                   0x40
2564 #define _SSP1ADD7               0x80
2565 #define _ADD7                   0x80
2566 
2567 //==============================================================================
2568 
2569 
2570 //==============================================================================
2571 //        SSPADD Bits
2572 
2573 extern __at(0x0212) __sfr SSPADD;
2574 
2575 typedef union
2576   {
2577   struct
2578     {
2579     unsigned SSP1ADD0           : 1;
2580     unsigned SSP1ADD1           : 1;
2581     unsigned SSP1ADD2           : 1;
2582     unsigned SSP1ADD3           : 1;
2583     unsigned SSP1ADD4           : 1;
2584     unsigned SSP1ADD5           : 1;
2585     unsigned SSP1ADD6           : 1;
2586     unsigned SSP1ADD7           : 1;
2587     };
2588 
2589   struct
2590     {
2591     unsigned ADD0               : 1;
2592     unsigned ADD1               : 1;
2593     unsigned ADD2               : 1;
2594     unsigned ADD3               : 1;
2595     unsigned ADD4               : 1;
2596     unsigned ADD5               : 1;
2597     unsigned ADD6               : 1;
2598     unsigned ADD7               : 1;
2599     };
2600   } __SSPADDbits_t;
2601 
2602 extern __at(0x0212) volatile __SSPADDbits_t SSPADDbits;
2603 
2604 #define _SSPADD_SSP1ADD0        0x01
2605 #define _SSPADD_ADD0            0x01
2606 #define _SSPADD_SSP1ADD1        0x02
2607 #define _SSPADD_ADD1            0x02
2608 #define _SSPADD_SSP1ADD2        0x04
2609 #define _SSPADD_ADD2            0x04
2610 #define _SSPADD_SSP1ADD3        0x08
2611 #define _SSPADD_ADD3            0x08
2612 #define _SSPADD_SSP1ADD4        0x10
2613 #define _SSPADD_ADD4            0x10
2614 #define _SSPADD_SSP1ADD5        0x20
2615 #define _SSPADD_ADD5            0x20
2616 #define _SSPADD_SSP1ADD6        0x40
2617 #define _SSPADD_ADD6            0x40
2618 #define _SSPADD_SSP1ADD7        0x80
2619 #define _SSPADD_ADD7            0x80
2620 
2621 //==============================================================================
2622 
2623 
2624 //==============================================================================
2625 //        SSP1MSK Bits
2626 
2627 extern __at(0x0213) __sfr SSP1MSK;
2628 
2629 typedef union
2630   {
2631   struct
2632     {
2633     unsigned SSP1MSK0           : 1;
2634     unsigned SSP1MSK1           : 1;
2635     unsigned SSP1MSK2           : 1;
2636     unsigned SSP1MSK3           : 1;
2637     unsigned SSP1MSK4           : 1;
2638     unsigned SSP1MSK5           : 1;
2639     unsigned SSP1MSK6           : 1;
2640     unsigned SSP1MSK7           : 1;
2641     };
2642 
2643   struct
2644     {
2645     unsigned MSK0               : 1;
2646     unsigned MSK1               : 1;
2647     unsigned MSK2               : 1;
2648     unsigned MSK3               : 1;
2649     unsigned MSK4               : 1;
2650     unsigned MSK5               : 1;
2651     unsigned MSK6               : 1;
2652     unsigned MSK7               : 1;
2653     };
2654   } __SSP1MSKbits_t;
2655 
2656 extern __at(0x0213) volatile __SSP1MSKbits_t SSP1MSKbits;
2657 
2658 #define _SSP1MSK0               0x01
2659 #define _MSK0                   0x01
2660 #define _SSP1MSK1               0x02
2661 #define _MSK1                   0x02
2662 #define _SSP1MSK2               0x04
2663 #define _MSK2                   0x04
2664 #define _SSP1MSK3               0x08
2665 #define _MSK3                   0x08
2666 #define _SSP1MSK4               0x10
2667 #define _MSK4                   0x10
2668 #define _SSP1MSK5               0x20
2669 #define _MSK5                   0x20
2670 #define _SSP1MSK6               0x40
2671 #define _MSK6                   0x40
2672 #define _SSP1MSK7               0x80
2673 #define _MSK7                   0x80
2674 
2675 //==============================================================================
2676 
2677 
2678 //==============================================================================
2679 //        SSPMSK Bits
2680 
2681 extern __at(0x0213) __sfr SSPMSK;
2682 
2683 typedef union
2684   {
2685   struct
2686     {
2687     unsigned SSP1MSK0           : 1;
2688     unsigned SSP1MSK1           : 1;
2689     unsigned SSP1MSK2           : 1;
2690     unsigned SSP1MSK3           : 1;
2691     unsigned SSP1MSK4           : 1;
2692     unsigned SSP1MSK5           : 1;
2693     unsigned SSP1MSK6           : 1;
2694     unsigned SSP1MSK7           : 1;
2695     };
2696 
2697   struct
2698     {
2699     unsigned MSK0               : 1;
2700     unsigned MSK1               : 1;
2701     unsigned MSK2               : 1;
2702     unsigned MSK3               : 1;
2703     unsigned MSK4               : 1;
2704     unsigned MSK5               : 1;
2705     unsigned MSK6               : 1;
2706     unsigned MSK7               : 1;
2707     };
2708   } __SSPMSKbits_t;
2709 
2710 extern __at(0x0213) volatile __SSPMSKbits_t SSPMSKbits;
2711 
2712 #define _SSPMSK_SSP1MSK0        0x01
2713 #define _SSPMSK_MSK0            0x01
2714 #define _SSPMSK_SSP1MSK1        0x02
2715 #define _SSPMSK_MSK1            0x02
2716 #define _SSPMSK_SSP1MSK2        0x04
2717 #define _SSPMSK_MSK2            0x04
2718 #define _SSPMSK_SSP1MSK3        0x08
2719 #define _SSPMSK_MSK3            0x08
2720 #define _SSPMSK_SSP1MSK4        0x10
2721 #define _SSPMSK_MSK4            0x10
2722 #define _SSPMSK_SSP1MSK5        0x20
2723 #define _SSPMSK_MSK5            0x20
2724 #define _SSPMSK_SSP1MSK6        0x40
2725 #define _SSPMSK_MSK6            0x40
2726 #define _SSPMSK_SSP1MSK7        0x80
2727 #define _SSPMSK_MSK7            0x80
2728 
2729 //==============================================================================
2730 
2731 
2732 //==============================================================================
2733 //        SSP1STAT Bits
2734 
2735 extern __at(0x0214) __sfr SSP1STAT;
2736 
2737 typedef struct
2738   {
2739   unsigned BF                   : 1;
2740   unsigned UA                   : 1;
2741   unsigned R_NOT_W              : 1;
2742   unsigned S                    : 1;
2743   unsigned P                    : 1;
2744   unsigned D_NOT_A              : 1;
2745   unsigned CKE                  : 1;
2746   unsigned SMP                  : 1;
2747   } __SSP1STATbits_t;
2748 
2749 extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits;
2750 
2751 #define _BF                     0x01
2752 #define _UA                     0x02
2753 #define _R_NOT_W                0x04
2754 #define _S                      0x08
2755 #define _P                      0x10
2756 #define _D_NOT_A                0x20
2757 #define _CKE                    0x40
2758 #define _SMP                    0x80
2759 
2760 //==============================================================================
2761 
2762 
2763 //==============================================================================
2764 //        SSPSTAT Bits
2765 
2766 extern __at(0x0214) __sfr SSPSTAT;
2767 
2768 typedef struct
2769   {
2770   unsigned BF                   : 1;
2771   unsigned UA                   : 1;
2772   unsigned R_NOT_W              : 1;
2773   unsigned S                    : 1;
2774   unsigned P                    : 1;
2775   unsigned D_NOT_A              : 1;
2776   unsigned CKE                  : 1;
2777   unsigned SMP                  : 1;
2778   } __SSPSTATbits_t;
2779 
2780 extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits;
2781 
2782 #define _SSPSTAT_BF             0x01
2783 #define _SSPSTAT_UA             0x02
2784 #define _SSPSTAT_R_NOT_W        0x04
2785 #define _SSPSTAT_S              0x08
2786 #define _SSPSTAT_P              0x10
2787 #define _SSPSTAT_D_NOT_A        0x20
2788 #define _SSPSTAT_CKE            0x40
2789 #define _SSPSTAT_SMP            0x80
2790 
2791 //==============================================================================
2792 
2793 
2794 //==============================================================================
2795 //        SSP1CON Bits
2796 
2797 extern __at(0x0215) __sfr SSP1CON;
2798 
2799 typedef union
2800   {
2801   struct
2802     {
2803     unsigned SSPM0              : 1;
2804     unsigned SSPM1              : 1;
2805     unsigned SSPM2              : 1;
2806     unsigned SSPM3              : 1;
2807     unsigned CKP                : 1;
2808     unsigned SSPEN              : 1;
2809     unsigned SSPOV              : 1;
2810     unsigned WCOL               : 1;
2811     };
2812 
2813   struct
2814     {
2815     unsigned SSPM               : 4;
2816     unsigned                    : 4;
2817     };
2818   } __SSP1CONbits_t;
2819 
2820 extern __at(0x0215) volatile __SSP1CONbits_t SSP1CONbits;
2821 
2822 #define _SSPM0                  0x01
2823 #define _SSPM1                  0x02
2824 #define _SSPM2                  0x04
2825 #define _SSPM3                  0x08
2826 #define _CKP                    0x10
2827 #define _SSPEN                  0x20
2828 #define _SSPOV                  0x40
2829 #define _WCOL                   0x80
2830 
2831 //==============================================================================
2832 
2833 
2834 //==============================================================================
2835 //        SSP1CON1 Bits
2836 
2837 extern __at(0x0215) __sfr SSP1CON1;
2838 
2839 typedef union
2840   {
2841   struct
2842     {
2843     unsigned SSPM0              : 1;
2844     unsigned SSPM1              : 1;
2845     unsigned SSPM2              : 1;
2846     unsigned SSPM3              : 1;
2847     unsigned CKP                : 1;
2848     unsigned SSPEN              : 1;
2849     unsigned SSPOV              : 1;
2850     unsigned WCOL               : 1;
2851     };
2852 
2853   struct
2854     {
2855     unsigned SSPM               : 4;
2856     unsigned                    : 4;
2857     };
2858   } __SSP1CON1bits_t;
2859 
2860 extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits;
2861 
2862 #define _SSP1CON1_SSPM0         0x01
2863 #define _SSP1CON1_SSPM1         0x02
2864 #define _SSP1CON1_SSPM2         0x04
2865 #define _SSP1CON1_SSPM3         0x08
2866 #define _SSP1CON1_CKP           0x10
2867 #define _SSP1CON1_SSPEN         0x20
2868 #define _SSP1CON1_SSPOV         0x40
2869 #define _SSP1CON1_WCOL          0x80
2870 
2871 //==============================================================================
2872 
2873 
2874 //==============================================================================
2875 //        SSPCON Bits
2876 
2877 extern __at(0x0215) __sfr SSPCON;
2878 
2879 typedef union
2880   {
2881   struct
2882     {
2883     unsigned SSPM0              : 1;
2884     unsigned SSPM1              : 1;
2885     unsigned SSPM2              : 1;
2886     unsigned SSPM3              : 1;
2887     unsigned CKP                : 1;
2888     unsigned SSPEN              : 1;
2889     unsigned SSPOV              : 1;
2890     unsigned WCOL               : 1;
2891     };
2892 
2893   struct
2894     {
2895     unsigned SSPM               : 4;
2896     unsigned                    : 4;
2897     };
2898   } __SSPCONbits_t;
2899 
2900 extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits;
2901 
2902 #define _SSPCON_SSPM0           0x01
2903 #define _SSPCON_SSPM1           0x02
2904 #define _SSPCON_SSPM2           0x04
2905 #define _SSPCON_SSPM3           0x08
2906 #define _SSPCON_CKP             0x10
2907 #define _SSPCON_SSPEN           0x20
2908 #define _SSPCON_SSPOV           0x40
2909 #define _SSPCON_WCOL            0x80
2910 
2911 //==============================================================================
2912 
2913 
2914 //==============================================================================
2915 //        SSPCON1 Bits
2916 
2917 extern __at(0x0215) __sfr SSPCON1;
2918 
2919 typedef union
2920   {
2921   struct
2922     {
2923     unsigned SSPM0              : 1;
2924     unsigned SSPM1              : 1;
2925     unsigned SSPM2              : 1;
2926     unsigned SSPM3              : 1;
2927     unsigned CKP                : 1;
2928     unsigned SSPEN              : 1;
2929     unsigned SSPOV              : 1;
2930     unsigned WCOL               : 1;
2931     };
2932 
2933   struct
2934     {
2935     unsigned SSPM               : 4;
2936     unsigned                    : 4;
2937     };
2938   } __SSPCON1bits_t;
2939 
2940 extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits;
2941 
2942 #define _SSPCON1_SSPM0          0x01
2943 #define _SSPCON1_SSPM1          0x02
2944 #define _SSPCON1_SSPM2          0x04
2945 #define _SSPCON1_SSPM3          0x08
2946 #define _SSPCON1_CKP            0x10
2947 #define _SSPCON1_SSPEN          0x20
2948 #define _SSPCON1_SSPOV          0x40
2949 #define _SSPCON1_WCOL           0x80
2950 
2951 //==============================================================================
2952 
2953 
2954 //==============================================================================
2955 //        SSP1CON2 Bits
2956 
2957 extern __at(0x0216) __sfr SSP1CON2;
2958 
2959 typedef struct
2960   {
2961   unsigned SEN                  : 1;
2962   unsigned RSEN                 : 1;
2963   unsigned PEN                  : 1;
2964   unsigned RCEN                 : 1;
2965   unsigned ACKEN                : 1;
2966   unsigned ACKDT                : 1;
2967   unsigned ACKSTAT              : 1;
2968   unsigned GCEN                 : 1;
2969   } __SSP1CON2bits_t;
2970 
2971 extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits;
2972 
2973 #define _SEN                    0x01
2974 #define _RSEN                   0x02
2975 #define _PEN                    0x04
2976 #define _RCEN                   0x08
2977 #define _ACKEN                  0x10
2978 #define _ACKDT                  0x20
2979 #define _ACKSTAT                0x40
2980 #define _GCEN                   0x80
2981 
2982 //==============================================================================
2983 
2984 
2985 //==============================================================================
2986 //        SSPCON2 Bits
2987 
2988 extern __at(0x0216) __sfr SSPCON2;
2989 
2990 typedef struct
2991   {
2992   unsigned SEN                  : 1;
2993   unsigned RSEN                 : 1;
2994   unsigned PEN                  : 1;
2995   unsigned RCEN                 : 1;
2996   unsigned ACKEN                : 1;
2997   unsigned ACKDT                : 1;
2998   unsigned ACKSTAT              : 1;
2999   unsigned GCEN                 : 1;
3000   } __SSPCON2bits_t;
3001 
3002 extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits;
3003 
3004 #define _SSPCON2_SEN            0x01
3005 #define _SSPCON2_RSEN           0x02
3006 #define _SSPCON2_PEN            0x04
3007 #define _SSPCON2_RCEN           0x08
3008 #define _SSPCON2_ACKEN          0x10
3009 #define _SSPCON2_ACKDT          0x20
3010 #define _SSPCON2_ACKSTAT        0x40
3011 #define _SSPCON2_GCEN           0x80
3012 
3013 //==============================================================================
3014 
3015 
3016 //==============================================================================
3017 //        SSP1CON3 Bits
3018 
3019 extern __at(0x0217) __sfr SSP1CON3;
3020 
3021 typedef struct
3022   {
3023   unsigned DHEN                 : 1;
3024   unsigned AHEN                 : 1;
3025   unsigned SBCDE                : 1;
3026   unsigned SDAHT                : 1;
3027   unsigned BOEN                 : 1;
3028   unsigned SCIE                 : 1;
3029   unsigned PCIE                 : 1;
3030   unsigned ACKTIM               : 1;
3031   } __SSP1CON3bits_t;
3032 
3033 extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits;
3034 
3035 #define _DHEN                   0x01
3036 #define _AHEN                   0x02
3037 #define _SBCDE                  0x04
3038 #define _SDAHT                  0x08
3039 #define _BOEN                   0x10
3040 #define _SCIE                   0x20
3041 #define _PCIE                   0x40
3042 #define _ACKTIM                 0x80
3043 
3044 //==============================================================================
3045 
3046 
3047 //==============================================================================
3048 //        SSPCON3 Bits
3049 
3050 extern __at(0x0217) __sfr SSPCON3;
3051 
3052 typedef struct
3053   {
3054   unsigned DHEN                 : 1;
3055   unsigned AHEN                 : 1;
3056   unsigned SBCDE                : 1;
3057   unsigned SDAHT                : 1;
3058   unsigned BOEN                 : 1;
3059   unsigned SCIE                 : 1;
3060   unsigned PCIE                 : 1;
3061   unsigned ACKTIM               : 1;
3062   } __SSPCON3bits_t;
3063 
3064 extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits;
3065 
3066 #define _SSPCON3_DHEN           0x01
3067 #define _SSPCON3_AHEN           0x02
3068 #define _SSPCON3_SBCDE          0x04
3069 #define _SSPCON3_SDAHT          0x08
3070 #define _SSPCON3_BOEN           0x10
3071 #define _SSPCON3_SCIE           0x20
3072 #define _SSPCON3_PCIE           0x40
3073 #define _SSPCON3_ACKTIM         0x80
3074 
3075 //==============================================================================
3076 
3077 
3078 //==============================================================================
3079 //        ODCONA Bits
3080 
3081 extern __at(0x028C) __sfr ODCONA;
3082 
3083 typedef struct
3084   {
3085   unsigned ODA0                 : 1;
3086   unsigned ODA1                 : 1;
3087   unsigned ODA2                 : 1;
3088   unsigned                      : 1;
3089   unsigned ODA4                 : 1;
3090   unsigned ODA5                 : 1;
3091   unsigned                      : 1;
3092   unsigned                      : 1;
3093   } __ODCONAbits_t;
3094 
3095 extern __at(0x028C) volatile __ODCONAbits_t ODCONAbits;
3096 
3097 #define _ODA0                   0x01
3098 #define _ODA1                   0x02
3099 #define _ODA2                   0x04
3100 #define _ODA4                   0x10
3101 #define _ODA5                   0x20
3102 
3103 //==============================================================================
3104 
3105 
3106 //==============================================================================
3107 //        ODCONB Bits
3108 
3109 extern __at(0x028D) __sfr ODCONB;
3110 
3111 typedef struct
3112   {
3113   unsigned                      : 1;
3114   unsigned                      : 1;
3115   unsigned                      : 1;
3116   unsigned                      : 1;
3117   unsigned ODB4                 : 1;
3118   unsigned ODB5                 : 1;
3119   unsigned ODB6                 : 1;
3120   unsigned ODB7                 : 1;
3121   } __ODCONBbits_t;
3122 
3123 extern __at(0x028D) volatile __ODCONBbits_t ODCONBbits;
3124 
3125 #define _ODB4                   0x10
3126 #define _ODB5                   0x20
3127 #define _ODB6                   0x40
3128 #define _ODB7                   0x80
3129 
3130 //==============================================================================
3131 
3132 
3133 //==============================================================================
3134 //        ODCONC Bits
3135 
3136 extern __at(0x028E) __sfr ODCONC;
3137 
3138 typedef struct
3139   {
3140   unsigned ODC0                 : 1;
3141   unsigned ODC1                 : 1;
3142   unsigned ODC2                 : 1;
3143   unsigned ODC3                 : 1;
3144   unsigned ODC4                 : 1;
3145   unsigned ODC5                 : 1;
3146   unsigned ODC6                 : 1;
3147   unsigned ODC7                 : 1;
3148   } __ODCONCbits_t;
3149 
3150 extern __at(0x028E) volatile __ODCONCbits_t ODCONCbits;
3151 
3152 #define _ODC0                   0x01
3153 #define _ODC1                   0x02
3154 #define _ODC2                   0x04
3155 #define _ODC3                   0x08
3156 #define _ODC4                   0x10
3157 #define _ODC5                   0x20
3158 #define _ODC6                   0x40
3159 #define _ODC7                   0x80
3160 
3161 //==============================================================================
3162 
3163 extern __at(0x0291) __sfr CCPR1;
3164 extern __at(0x0291) __sfr CCPR1L;
3165 extern __at(0x0292) __sfr CCPR1H;
3166 
3167 //==============================================================================
3168 //        CCP1CON Bits
3169 
3170 extern __at(0x0293) __sfr CCP1CON;
3171 
3172 typedef union
3173   {
3174   struct
3175     {
3176     unsigned CCP1M0             : 1;
3177     unsigned CCP1M1             : 1;
3178     unsigned CCP1M2             : 1;
3179     unsigned CCP1M3             : 1;
3180     unsigned DC1B0              : 1;
3181     unsigned DC1B1              : 1;
3182     unsigned                    : 1;
3183     unsigned                    : 1;
3184     };
3185 
3186   struct
3187     {
3188     unsigned                    : 1;
3189     unsigned                    : 1;
3190     unsigned                    : 1;
3191     unsigned                    : 1;
3192     unsigned CCP1Y              : 1;
3193     unsigned CCP1X              : 1;
3194     unsigned                    : 1;
3195     unsigned                    : 1;
3196     };
3197 
3198   struct
3199     {
3200     unsigned CCP1M              : 4;
3201     unsigned                    : 4;
3202     };
3203 
3204   struct
3205     {
3206     unsigned                    : 4;
3207     unsigned DC1B               : 2;
3208     unsigned                    : 2;
3209     };
3210   } __CCP1CONbits_t;
3211 
3212 extern __at(0x0293) volatile __CCP1CONbits_t CCP1CONbits;
3213 
3214 #define _CCP1M0                 0x01
3215 #define _CCP1M1                 0x02
3216 #define _CCP1M2                 0x04
3217 #define _CCP1M3                 0x08
3218 #define _DC1B0                  0x10
3219 #define _CCP1Y                  0x10
3220 #define _DC1B1                  0x20
3221 #define _CCP1X                  0x20
3222 
3223 //==============================================================================
3224 
3225 
3226 //==============================================================================
3227 //        ECCP1CON Bits
3228 
3229 extern __at(0x0293) __sfr ECCP1CON;
3230 
3231 typedef union
3232   {
3233   struct
3234     {
3235     unsigned CCP1M0             : 1;
3236     unsigned CCP1M1             : 1;
3237     unsigned CCP1M2             : 1;
3238     unsigned CCP1M3             : 1;
3239     unsigned DC1B0              : 1;
3240     unsigned DC1B1              : 1;
3241     unsigned                    : 1;
3242     unsigned                    : 1;
3243     };
3244 
3245   struct
3246     {
3247     unsigned                    : 1;
3248     unsigned                    : 1;
3249     unsigned                    : 1;
3250     unsigned                    : 1;
3251     unsigned CCP1Y              : 1;
3252     unsigned CCP1X              : 1;
3253     unsigned                    : 1;
3254     unsigned                    : 1;
3255     };
3256 
3257   struct
3258     {
3259     unsigned CCP1M              : 4;
3260     unsigned                    : 4;
3261     };
3262 
3263   struct
3264     {
3265     unsigned                    : 4;
3266     unsigned DC1B               : 2;
3267     unsigned                    : 2;
3268     };
3269   } __ECCP1CONbits_t;
3270 
3271 extern __at(0x0293) volatile __ECCP1CONbits_t ECCP1CONbits;
3272 
3273 #define _ECCP1CON_CCP1M0        0x01
3274 #define _ECCP1CON_CCP1M1        0x02
3275 #define _ECCP1CON_CCP1M2        0x04
3276 #define _ECCP1CON_CCP1M3        0x08
3277 #define _ECCP1CON_DC1B0         0x10
3278 #define _ECCP1CON_CCP1Y         0x10
3279 #define _ECCP1CON_DC1B1         0x20
3280 #define _ECCP1CON_CCP1X         0x20
3281 
3282 //==============================================================================
3283 
3284 extern __at(0x0298) __sfr CCPR2;
3285 extern __at(0x0298) __sfr CCPR2L;
3286 extern __at(0x0299) __sfr CCPR2H;
3287 
3288 //==============================================================================
3289 //        CCP2CON Bits
3290 
3291 extern __at(0x029A) __sfr CCP2CON;
3292 
3293 typedef union
3294   {
3295   struct
3296     {
3297     unsigned CCP2M0             : 1;
3298     unsigned CCP2M1             : 1;
3299     unsigned CCP2M2             : 1;
3300     unsigned CCP2M3             : 1;
3301     unsigned DC2B0              : 1;
3302     unsigned DC2B1              : 1;
3303     unsigned                    : 1;
3304     unsigned                    : 1;
3305     };
3306 
3307   struct
3308     {
3309     unsigned                    : 1;
3310     unsigned                    : 1;
3311     unsigned                    : 1;
3312     unsigned                    : 1;
3313     unsigned CCP2Y              : 1;
3314     unsigned CCP2X              : 1;
3315     unsigned                    : 1;
3316     unsigned                    : 1;
3317     };
3318 
3319   struct
3320     {
3321     unsigned CCP2M              : 4;
3322     unsigned                    : 4;
3323     };
3324 
3325   struct
3326     {
3327     unsigned                    : 4;
3328     unsigned DC2B               : 2;
3329     unsigned                    : 2;
3330     };
3331   } __CCP2CONbits_t;
3332 
3333 extern __at(0x029A) volatile __CCP2CONbits_t CCP2CONbits;
3334 
3335 #define _CCP2M0                 0x01
3336 #define _CCP2M1                 0x02
3337 #define _CCP2M2                 0x04
3338 #define _CCP2M3                 0x08
3339 #define _DC2B0                  0x10
3340 #define _CCP2Y                  0x10
3341 #define _DC2B1                  0x20
3342 #define _CCP2X                  0x20
3343 
3344 //==============================================================================
3345 
3346 
3347 //==============================================================================
3348 //        ECCP2CON Bits
3349 
3350 extern __at(0x029A) __sfr ECCP2CON;
3351 
3352 typedef union
3353   {
3354   struct
3355     {
3356     unsigned CCP2M0             : 1;
3357     unsigned CCP2M1             : 1;
3358     unsigned CCP2M2             : 1;
3359     unsigned CCP2M3             : 1;
3360     unsigned DC2B0              : 1;
3361     unsigned DC2B1              : 1;
3362     unsigned                    : 1;
3363     unsigned                    : 1;
3364     };
3365 
3366   struct
3367     {
3368     unsigned                    : 1;
3369     unsigned                    : 1;
3370     unsigned                    : 1;
3371     unsigned                    : 1;
3372     unsigned CCP2Y              : 1;
3373     unsigned CCP2X              : 1;
3374     unsigned                    : 1;
3375     unsigned                    : 1;
3376     };
3377 
3378   struct
3379     {
3380     unsigned CCP2M              : 4;
3381     unsigned                    : 4;
3382     };
3383 
3384   struct
3385     {
3386     unsigned                    : 4;
3387     unsigned DC2B               : 2;
3388     unsigned                    : 2;
3389     };
3390   } __ECCP2CONbits_t;
3391 
3392 extern __at(0x029A) volatile __ECCP2CONbits_t ECCP2CONbits;
3393 
3394 #define _ECCP2CON_CCP2M0        0x01
3395 #define _ECCP2CON_CCP2M1        0x02
3396 #define _ECCP2CON_CCP2M2        0x04
3397 #define _ECCP2CON_CCP2M3        0x08
3398 #define _ECCP2CON_DC2B0         0x10
3399 #define _ECCP2CON_CCP2Y         0x10
3400 #define _ECCP2CON_DC2B1         0x20
3401 #define _ECCP2CON_CCP2X         0x20
3402 
3403 //==============================================================================
3404 
3405 
3406 //==============================================================================
3407 //        CCPTMRS Bits
3408 
3409 extern __at(0x029E) __sfr CCPTMRS;
3410 
3411 typedef union
3412   {
3413   struct
3414     {
3415     unsigned C1TSEL0            : 1;
3416     unsigned C1TSEL1            : 1;
3417     unsigned C2TSEL0            : 1;
3418     unsigned C2TSEL1            : 1;
3419     unsigned P3TSEL0            : 1;
3420     unsigned P3TSEL1            : 1;
3421     unsigned P4TSEL0            : 1;
3422     unsigned P4TSEL1            : 1;
3423     };
3424 
3425   struct
3426     {
3427     unsigned C1TSEL             : 2;
3428     unsigned                    : 6;
3429     };
3430 
3431   struct
3432     {
3433     unsigned                    : 2;
3434     unsigned C2TSEL             : 2;
3435     unsigned                    : 4;
3436     };
3437 
3438   struct
3439     {
3440     unsigned                    : 4;
3441     unsigned P3TSEL             : 2;
3442     unsigned                    : 2;
3443     };
3444 
3445   struct
3446     {
3447     unsigned                    : 6;
3448     unsigned P4TSEL             : 2;
3449     };
3450   } __CCPTMRSbits_t;
3451 
3452 extern __at(0x029E) volatile __CCPTMRSbits_t CCPTMRSbits;
3453 
3454 #define _C1TSEL0                0x01
3455 #define _C1TSEL1                0x02
3456 #define _C2TSEL0                0x04
3457 #define _C2TSEL1                0x08
3458 #define _P3TSEL0                0x10
3459 #define _P3TSEL1                0x20
3460 #define _P4TSEL0                0x40
3461 #define _P4TSEL1                0x80
3462 
3463 //==============================================================================
3464 
3465 
3466 //==============================================================================
3467 //        SLRCONA Bits
3468 
3469 extern __at(0x030C) __sfr SLRCONA;
3470 
3471 typedef struct
3472   {
3473   unsigned SLRA0                : 1;
3474   unsigned SLRA1                : 1;
3475   unsigned SLRA2                : 1;
3476   unsigned                      : 1;
3477   unsigned SLRA4                : 1;
3478   unsigned SLRA5                : 1;
3479   unsigned                      : 1;
3480   unsigned                      : 1;
3481   } __SLRCONAbits_t;
3482 
3483 extern __at(0x030C) volatile __SLRCONAbits_t SLRCONAbits;
3484 
3485 #define _SLRA0                  0x01
3486 #define _SLRA1                  0x02
3487 #define _SLRA2                  0x04
3488 #define _SLRA4                  0x10
3489 #define _SLRA5                  0x20
3490 
3491 //==============================================================================
3492 
3493 
3494 //==============================================================================
3495 //        SLRCONB Bits
3496 
3497 extern __at(0x030D) __sfr SLRCONB;
3498 
3499 typedef struct
3500   {
3501   unsigned                      : 1;
3502   unsigned                      : 1;
3503   unsigned                      : 1;
3504   unsigned                      : 1;
3505   unsigned SLRB4                : 1;
3506   unsigned SLRB5                : 1;
3507   unsigned SLRB6                : 1;
3508   unsigned SLRB7                : 1;
3509   } __SLRCONBbits_t;
3510 
3511 extern __at(0x030D) volatile __SLRCONBbits_t SLRCONBbits;
3512 
3513 #define _SLRB4                  0x10
3514 #define _SLRB5                  0x20
3515 #define _SLRB6                  0x40
3516 #define _SLRB7                  0x80
3517 
3518 //==============================================================================
3519 
3520 
3521 //==============================================================================
3522 //        SLRCONC Bits
3523 
3524 extern __at(0x030E) __sfr SLRCONC;
3525 
3526 typedef struct
3527   {
3528   unsigned SLRC0                : 1;
3529   unsigned SLRC1                : 1;
3530   unsigned SLRC2                : 1;
3531   unsigned SLRC3                : 1;
3532   unsigned SLRC4                : 1;
3533   unsigned SLRC5                : 1;
3534   unsigned SLRC6                : 1;
3535   unsigned SLRC7                : 1;
3536   } __SLRCONCbits_t;
3537 
3538 extern __at(0x030E) volatile __SLRCONCbits_t SLRCONCbits;
3539 
3540 #define _SLRC0                  0x01
3541 #define _SLRC1                  0x02
3542 #define _SLRC2                  0x04
3543 #define _SLRC3                  0x08
3544 #define _SLRC4                  0x10
3545 #define _SLRC5                  0x20
3546 #define _SLRC6                  0x40
3547 #define _SLRC7                  0x80
3548 
3549 //==============================================================================
3550 
3551 
3552 //==============================================================================
3553 //        INLVLA Bits
3554 
3555 extern __at(0x038C) __sfr INLVLA;
3556 
3557 typedef union
3558   {
3559   struct
3560     {
3561     unsigned INLVLA0            : 1;
3562     unsigned INLVLA1            : 1;
3563     unsigned INLVLA2            : 1;
3564     unsigned INLVLA3            : 1;
3565     unsigned INLVLA4            : 1;
3566     unsigned INLVLA5            : 1;
3567     unsigned                    : 1;
3568     unsigned                    : 1;
3569     };
3570 
3571   struct
3572     {
3573     unsigned INLVLA             : 6;
3574     unsigned                    : 2;
3575     };
3576   } __INLVLAbits_t;
3577 
3578 extern __at(0x038C) volatile __INLVLAbits_t INLVLAbits;
3579 
3580 #define _INLVLA0                0x01
3581 #define _INLVLA1                0x02
3582 #define _INLVLA2                0x04
3583 #define _INLVLA3                0x08
3584 #define _INLVLA4                0x10
3585 #define _INLVLA5                0x20
3586 
3587 //==============================================================================
3588 
3589 
3590 //==============================================================================
3591 //        INLVLB Bits
3592 
3593 extern __at(0x038D) __sfr INLVLB;
3594 
3595 typedef struct
3596   {
3597   unsigned                      : 1;
3598   unsigned                      : 1;
3599   unsigned                      : 1;
3600   unsigned                      : 1;
3601   unsigned INLVLB4              : 1;
3602   unsigned INLVLB5              : 1;
3603   unsigned INLVLB6              : 1;
3604   unsigned INLVLB7              : 1;
3605   } __INLVLBbits_t;
3606 
3607 extern __at(0x038D) volatile __INLVLBbits_t INLVLBbits;
3608 
3609 #define _INLVLB4                0x10
3610 #define _INLVLB5                0x20
3611 #define _INLVLB6                0x40
3612 #define _INLVLB7                0x80
3613 
3614 //==============================================================================
3615 
3616 
3617 //==============================================================================
3618 //        INLVLC Bits
3619 
3620 extern __at(0x038E) __sfr INLVLC;
3621 
3622 typedef struct
3623   {
3624   unsigned INLVLC0              : 1;
3625   unsigned INLVLC1              : 1;
3626   unsigned INLVLC2              : 1;
3627   unsigned INLVLC3              : 1;
3628   unsigned INLVLC4              : 1;
3629   unsigned INLVLC5              : 1;
3630   unsigned INLVLC6              : 1;
3631   unsigned INLVLC7              : 1;
3632   } __INLVLCbits_t;
3633 
3634 extern __at(0x038E) volatile __INLVLCbits_t INLVLCbits;
3635 
3636 #define _INLVLC0                0x01
3637 #define _INLVLC1                0x02
3638 #define _INLVLC2                0x04
3639 #define _INLVLC3                0x08
3640 #define _INLVLC4                0x10
3641 #define _INLVLC5                0x20
3642 #define _INLVLC6                0x40
3643 #define _INLVLC7                0x80
3644 
3645 //==============================================================================
3646 
3647 
3648 //==============================================================================
3649 //        IOCAP Bits
3650 
3651 extern __at(0x0391) __sfr IOCAP;
3652 
3653 typedef union
3654   {
3655   struct
3656     {
3657     unsigned IOCAP0             : 1;
3658     unsigned IOCAP1             : 1;
3659     unsigned IOCAP2             : 1;
3660     unsigned IOCAP3             : 1;
3661     unsigned IOCAP4             : 1;
3662     unsigned IOCAP5             : 1;
3663     unsigned                    : 1;
3664     unsigned                    : 1;
3665     };
3666 
3667   struct
3668     {
3669     unsigned IOCAP              : 6;
3670     unsigned                    : 2;
3671     };
3672   } __IOCAPbits_t;
3673 
3674 extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits;
3675 
3676 #define _IOCAP0                 0x01
3677 #define _IOCAP1                 0x02
3678 #define _IOCAP2                 0x04
3679 #define _IOCAP3                 0x08
3680 #define _IOCAP4                 0x10
3681 #define _IOCAP5                 0x20
3682 
3683 //==============================================================================
3684 
3685 
3686 //==============================================================================
3687 //        IOCAN Bits
3688 
3689 extern __at(0x0392) __sfr IOCAN;
3690 
3691 typedef union
3692   {
3693   struct
3694     {
3695     unsigned IOCAN0             : 1;
3696     unsigned IOCAN1             : 1;
3697     unsigned IOCAN2             : 1;
3698     unsigned IOCAN3             : 1;
3699     unsigned IOCAN4             : 1;
3700     unsigned IOCAN5             : 1;
3701     unsigned                    : 1;
3702     unsigned                    : 1;
3703     };
3704 
3705   struct
3706     {
3707     unsigned IOCAN              : 6;
3708     unsigned                    : 2;
3709     };
3710   } __IOCANbits_t;
3711 
3712 extern __at(0x0392) volatile __IOCANbits_t IOCANbits;
3713 
3714 #define _IOCAN0                 0x01
3715 #define _IOCAN1                 0x02
3716 #define _IOCAN2                 0x04
3717 #define _IOCAN3                 0x08
3718 #define _IOCAN4                 0x10
3719 #define _IOCAN5                 0x20
3720 
3721 //==============================================================================
3722 
3723 
3724 //==============================================================================
3725 //        IOCAF Bits
3726 
3727 extern __at(0x0393) __sfr IOCAF;
3728 
3729 typedef union
3730   {
3731   struct
3732     {
3733     unsigned IOCAF0             : 1;
3734     unsigned IOCAF1             : 1;
3735     unsigned IOCAF2             : 1;
3736     unsigned IOCAF3             : 1;
3737     unsigned IOCAF4             : 1;
3738     unsigned IOCAF5             : 1;
3739     unsigned                    : 1;
3740     unsigned                    : 1;
3741     };
3742 
3743   struct
3744     {
3745     unsigned IOCAF              : 6;
3746     unsigned                    : 2;
3747     };
3748   } __IOCAFbits_t;
3749 
3750 extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits;
3751 
3752 #define _IOCAF0                 0x01
3753 #define _IOCAF1                 0x02
3754 #define _IOCAF2                 0x04
3755 #define _IOCAF3                 0x08
3756 #define _IOCAF4                 0x10
3757 #define _IOCAF5                 0x20
3758 
3759 //==============================================================================
3760 
3761 
3762 //==============================================================================
3763 //        IOCBP Bits
3764 
3765 extern __at(0x0394) __sfr IOCBP;
3766 
3767 typedef struct
3768   {
3769   unsigned                      : 1;
3770   unsigned                      : 1;
3771   unsigned                      : 1;
3772   unsigned                      : 1;
3773   unsigned IOCBP4               : 1;
3774   unsigned IOCBP5               : 1;
3775   unsigned IOCBP6               : 1;
3776   unsigned IOCBP7               : 1;
3777   } __IOCBPbits_t;
3778 
3779 extern __at(0x0394) volatile __IOCBPbits_t IOCBPbits;
3780 
3781 #define _IOCBP4                 0x10
3782 #define _IOCBP5                 0x20
3783 #define _IOCBP6                 0x40
3784 #define _IOCBP7                 0x80
3785 
3786 //==============================================================================
3787 
3788 
3789 //==============================================================================
3790 //        IOCBN Bits
3791 
3792 extern __at(0x0395) __sfr IOCBN;
3793 
3794 typedef struct
3795   {
3796   unsigned                      : 1;
3797   unsigned                      : 1;
3798   unsigned                      : 1;
3799   unsigned                      : 1;
3800   unsigned IOCBN4               : 1;
3801   unsigned IOCBN5               : 1;
3802   unsigned IOCBN6               : 1;
3803   unsigned IOCBN7               : 1;
3804   } __IOCBNbits_t;
3805 
3806 extern __at(0x0395) volatile __IOCBNbits_t IOCBNbits;
3807 
3808 #define _IOCBN4                 0x10
3809 #define _IOCBN5                 0x20
3810 #define _IOCBN6                 0x40
3811 #define _IOCBN7                 0x80
3812 
3813 //==============================================================================
3814 
3815 
3816 //==============================================================================
3817 //        IOCBF Bits
3818 
3819 extern __at(0x0396) __sfr IOCBF;
3820 
3821 typedef struct
3822   {
3823   unsigned                      : 1;
3824   unsigned                      : 1;
3825   unsigned                      : 1;
3826   unsigned                      : 1;
3827   unsigned IOCBF4               : 1;
3828   unsigned IOCBF5               : 1;
3829   unsigned IOCBF6               : 1;
3830   unsigned IOCBF7               : 1;
3831   } __IOCBFbits_t;
3832 
3833 extern __at(0x0396) volatile __IOCBFbits_t IOCBFbits;
3834 
3835 #define _IOCBF4                 0x10
3836 #define _IOCBF5                 0x20
3837 #define _IOCBF6                 0x40
3838 #define _IOCBF7                 0x80
3839 
3840 //==============================================================================
3841 
3842 
3843 //==============================================================================
3844 //        IOCCP Bits
3845 
3846 extern __at(0x0397) __sfr IOCCP;
3847 
3848 typedef struct
3849   {
3850   unsigned IOCCP0               : 1;
3851   unsigned IOCCP1               : 1;
3852   unsigned IOCCP2               : 1;
3853   unsigned IOCCP3               : 1;
3854   unsigned IOCCP4               : 1;
3855   unsigned IOCCP5               : 1;
3856   unsigned IOCCP6               : 1;
3857   unsigned IOCCP7               : 1;
3858   } __IOCCPbits_t;
3859 
3860 extern __at(0x0397) volatile __IOCCPbits_t IOCCPbits;
3861 
3862 #define _IOCCP0                 0x01
3863 #define _IOCCP1                 0x02
3864 #define _IOCCP2                 0x04
3865 #define _IOCCP3                 0x08
3866 #define _IOCCP4                 0x10
3867 #define _IOCCP5                 0x20
3868 #define _IOCCP6                 0x40
3869 #define _IOCCP7                 0x80
3870 
3871 //==============================================================================
3872 
3873 
3874 //==============================================================================
3875 //        IOCCN Bits
3876 
3877 extern __at(0x0398) __sfr IOCCN;
3878 
3879 typedef struct
3880   {
3881   unsigned IOCCN0               : 1;
3882   unsigned IOCCN1               : 1;
3883   unsigned IOCCN2               : 1;
3884   unsigned IOCCN3               : 1;
3885   unsigned IOCCN4               : 1;
3886   unsigned IOCCN5               : 1;
3887   unsigned IOCCN6               : 1;
3888   unsigned IOCCN7               : 1;
3889   } __IOCCNbits_t;
3890 
3891 extern __at(0x0398) volatile __IOCCNbits_t IOCCNbits;
3892 
3893 #define _IOCCN0                 0x01
3894 #define _IOCCN1                 0x02
3895 #define _IOCCN2                 0x04
3896 #define _IOCCN3                 0x08
3897 #define _IOCCN4                 0x10
3898 #define _IOCCN5                 0x20
3899 #define _IOCCN6                 0x40
3900 #define _IOCCN7                 0x80
3901 
3902 //==============================================================================
3903 
3904 
3905 //==============================================================================
3906 //        IOCCF Bits
3907 
3908 extern __at(0x0399) __sfr IOCCF;
3909 
3910 typedef struct
3911   {
3912   unsigned IOCCF0               : 1;
3913   unsigned IOCCF1               : 1;
3914   unsigned IOCCF2               : 1;
3915   unsigned IOCCF3               : 1;
3916   unsigned IOCCF4               : 1;
3917   unsigned IOCCF5               : 1;
3918   unsigned IOCCF6               : 1;
3919   unsigned IOCCF7               : 1;
3920   } __IOCCFbits_t;
3921 
3922 extern __at(0x0399) volatile __IOCCFbits_t IOCCFbits;
3923 
3924 #define _IOCCF0                 0x01
3925 #define _IOCCF1                 0x02
3926 #define _IOCCF2                 0x04
3927 #define _IOCCF3                 0x08
3928 #define _IOCCF4                 0x10
3929 #define _IOCCF5                 0x20
3930 #define _IOCCF6                 0x40
3931 #define _IOCCF7                 0x80
3932 
3933 //==============================================================================
3934 
3935 extern __at(0x0415) __sfr TMR4;
3936 extern __at(0x0416) __sfr PR4;
3937 
3938 //==============================================================================
3939 //        T4CON Bits
3940 
3941 extern __at(0x0417) __sfr T4CON;
3942 
3943 typedef union
3944   {
3945   struct
3946     {
3947     unsigned T4CKPS0            : 1;
3948     unsigned T4CKPS1            : 1;
3949     unsigned TMR4ON             : 1;
3950     unsigned T4OUTPS0           : 1;
3951     unsigned T4OUTPS1           : 1;
3952     unsigned T4OUTPS2           : 1;
3953     unsigned T4OUTPS3           : 1;
3954     unsigned                    : 1;
3955     };
3956 
3957   struct
3958     {
3959     unsigned T4CKPS             : 2;
3960     unsigned                    : 6;
3961     };
3962 
3963   struct
3964     {
3965     unsigned                    : 3;
3966     unsigned T4OUTPS            : 4;
3967     unsigned                    : 1;
3968     };
3969   } __T4CONbits_t;
3970 
3971 extern __at(0x0417) volatile __T4CONbits_t T4CONbits;
3972 
3973 #define _T4CKPS0                0x01
3974 #define _T4CKPS1                0x02
3975 #define _TMR4ON                 0x04
3976 #define _T4OUTPS0               0x08
3977 #define _T4OUTPS1               0x10
3978 #define _T4OUTPS2               0x20
3979 #define _T4OUTPS3               0x40
3980 
3981 //==============================================================================
3982 
3983 extern __at(0x041C) __sfr TMR6;
3984 extern __at(0x041D) __sfr PR6;
3985 
3986 //==============================================================================
3987 //        T6CON Bits
3988 
3989 extern __at(0x041E) __sfr T6CON;
3990 
3991 typedef union
3992   {
3993   struct
3994     {
3995     unsigned T6CKPS0            : 1;
3996     unsigned T6CKPS1            : 1;
3997     unsigned TMR6ON             : 1;
3998     unsigned T6OUTPS0           : 1;
3999     unsigned T6OUTPS1           : 1;
4000     unsigned T6OUTPS2           : 1;
4001     unsigned T6OUTPS3           : 1;
4002     unsigned                    : 1;
4003     };
4004 
4005   struct
4006     {
4007     unsigned T6CKPS             : 2;
4008     unsigned                    : 6;
4009     };
4010 
4011   struct
4012     {
4013     unsigned                    : 3;
4014     unsigned T6OUTPS            : 4;
4015     unsigned                    : 1;
4016     };
4017   } __T6CONbits_t;
4018 
4019 extern __at(0x041E) volatile __T6CONbits_t T6CONbits;
4020 
4021 #define _T6CKPS0                0x01
4022 #define _T6CKPS1                0x02
4023 #define _TMR6ON                 0x04
4024 #define _T6OUTPS0               0x08
4025 #define _T6OUTPS1               0x10
4026 #define _T6OUTPS2               0x20
4027 #define _T6OUTPS3               0x40
4028 
4029 //==============================================================================
4030 
4031 
4032 //==============================================================================
4033 //        OPA1CON Bits
4034 
4035 extern __at(0x0511) __sfr OPA1CON;
4036 
4037 typedef union
4038   {
4039   struct
4040     {
4041     unsigned OPA1PCH0           : 1;
4042     unsigned OPA1PCH1           : 1;
4043     unsigned                    : 1;
4044     unsigned                    : 1;
4045     unsigned OPA1UG             : 1;
4046     unsigned                    : 1;
4047     unsigned OPA1SP             : 1;
4048     unsigned OPA1EN             : 1;
4049     };
4050 
4051   struct
4052     {
4053     unsigned OPA1PCH            : 2;
4054     unsigned                    : 6;
4055     };
4056   } __OPA1CONbits_t;
4057 
4058 extern __at(0x0511) volatile __OPA1CONbits_t OPA1CONbits;
4059 
4060 #define _OPA1PCH0               0x01
4061 #define _OPA1PCH1               0x02
4062 #define _OPA1UG                 0x10
4063 #define _OPA1SP                 0x40
4064 #define _OPA1EN                 0x80
4065 
4066 //==============================================================================
4067 
4068 
4069 //==============================================================================
4070 //        OPA2CON Bits
4071 
4072 extern __at(0x0515) __sfr OPA2CON;
4073 
4074 typedef union
4075   {
4076   struct
4077     {
4078     unsigned OPA2PCH0           : 1;
4079     unsigned OPA2PCH1           : 1;
4080     unsigned                    : 1;
4081     unsigned                    : 1;
4082     unsigned OPA2UG             : 1;
4083     unsigned                    : 1;
4084     unsigned OPA2SP             : 1;
4085     unsigned OPA2EN             : 1;
4086     };
4087 
4088   struct
4089     {
4090     unsigned OPA2PCH            : 2;
4091     unsigned                    : 6;
4092     };
4093   } __OPA2CONbits_t;
4094 
4095 extern __at(0x0515) volatile __OPA2CONbits_t OPA2CONbits;
4096 
4097 #define _OPA2PCH0               0x01
4098 #define _OPA2PCH1               0x02
4099 #define _OPA2UG                 0x10
4100 #define _OPA2SP                 0x40
4101 #define _OPA2EN                 0x80
4102 
4103 //==============================================================================
4104 
4105 
4106 //==============================================================================
4107 //        PWM3DCL Bits
4108 
4109 extern __at(0x0617) __sfr PWM3DCL;
4110 
4111 typedef union
4112   {
4113   struct
4114     {
4115     unsigned                    : 1;
4116     unsigned                    : 1;
4117     unsigned                    : 1;
4118     unsigned                    : 1;
4119     unsigned                    : 1;
4120     unsigned                    : 1;
4121     unsigned PWM3DCL0           : 1;
4122     unsigned PWM3DCL1           : 1;
4123     };
4124 
4125   struct
4126     {
4127     unsigned                    : 6;
4128     unsigned PWM3DCL            : 2;
4129     };
4130   } __PWM3DCLbits_t;
4131 
4132 extern __at(0x0617) volatile __PWM3DCLbits_t PWM3DCLbits;
4133 
4134 #define _PWM3DCL0               0x40
4135 #define _PWM3DCL1               0x80
4136 
4137 //==============================================================================
4138 
4139 
4140 //==============================================================================
4141 //        PWM3DCH Bits
4142 
4143 extern __at(0x0618) __sfr PWM3DCH;
4144 
4145 typedef struct
4146   {
4147   unsigned PWM3DCH0             : 1;
4148   unsigned PWM3DCH1             : 1;
4149   unsigned PWM3DCH2             : 1;
4150   unsigned PWM3DCH3             : 1;
4151   unsigned PWM3DCH4             : 1;
4152   unsigned PWM3DCH5             : 1;
4153   unsigned PWM3DCH6             : 1;
4154   unsigned PWM3DCH7             : 1;
4155   } __PWM3DCHbits_t;
4156 
4157 extern __at(0x0618) volatile __PWM3DCHbits_t PWM3DCHbits;
4158 
4159 #define _PWM3DCH0               0x01
4160 #define _PWM3DCH1               0x02
4161 #define _PWM3DCH2               0x04
4162 #define _PWM3DCH3               0x08
4163 #define _PWM3DCH4               0x10
4164 #define _PWM3DCH5               0x20
4165 #define _PWM3DCH6               0x40
4166 #define _PWM3DCH7               0x80
4167 
4168 //==============================================================================
4169 
4170 
4171 //==============================================================================
4172 //        PWM3CON Bits
4173 
4174 extern __at(0x0619) __sfr PWM3CON;
4175 
4176 typedef struct
4177   {
4178   unsigned                      : 1;
4179   unsigned                      : 1;
4180   unsigned                      : 1;
4181   unsigned                      : 1;
4182   unsigned PWM3POL              : 1;
4183   unsigned PWM3OUT              : 1;
4184   unsigned                      : 1;
4185   unsigned PWM3EN               : 1;
4186   } __PWM3CONbits_t;
4187 
4188 extern __at(0x0619) volatile __PWM3CONbits_t PWM3CONbits;
4189 
4190 #define _PWM3POL                0x10
4191 #define _PWM3OUT                0x20
4192 #define _PWM3EN                 0x80
4193 
4194 //==============================================================================
4195 
4196 
4197 //==============================================================================
4198 //        PWM3CON0 Bits
4199 
4200 extern __at(0x0619) __sfr PWM3CON0;
4201 
4202 typedef struct
4203   {
4204   unsigned                      : 1;
4205   unsigned                      : 1;
4206   unsigned                      : 1;
4207   unsigned                      : 1;
4208   unsigned PWM3POL              : 1;
4209   unsigned PWM3OUT              : 1;
4210   unsigned                      : 1;
4211   unsigned PWM3EN               : 1;
4212   } __PWM3CON0bits_t;
4213 
4214 extern __at(0x0619) volatile __PWM3CON0bits_t PWM3CON0bits;
4215 
4216 #define _PWM3CON0_PWM3POL       0x10
4217 #define _PWM3CON0_PWM3OUT       0x20
4218 #define _PWM3CON0_PWM3EN        0x80
4219 
4220 //==============================================================================
4221 
4222 
4223 //==============================================================================
4224 //        PWM4DCL Bits
4225 
4226 extern __at(0x061A) __sfr PWM4DCL;
4227 
4228 typedef union
4229   {
4230   struct
4231     {
4232     unsigned                    : 1;
4233     unsigned                    : 1;
4234     unsigned                    : 1;
4235     unsigned                    : 1;
4236     unsigned                    : 1;
4237     unsigned                    : 1;
4238     unsigned PWM4DCL0           : 1;
4239     unsigned PWM4DCL1           : 1;
4240     };
4241 
4242   struct
4243     {
4244     unsigned                    : 6;
4245     unsigned PWM4DCL            : 2;
4246     };
4247   } __PWM4DCLbits_t;
4248 
4249 extern __at(0x061A) volatile __PWM4DCLbits_t PWM4DCLbits;
4250 
4251 #define _PWM4DCL0               0x40
4252 #define _PWM4DCL1               0x80
4253 
4254 //==============================================================================
4255 
4256 
4257 //==============================================================================
4258 //        PWM4DCH Bits
4259 
4260 extern __at(0x061B) __sfr PWM4DCH;
4261 
4262 typedef struct
4263   {
4264   unsigned PWM4DCH0             : 1;
4265   unsigned PWM4DCH1             : 1;
4266   unsigned PWM4DCH2             : 1;
4267   unsigned PWM4DCH3             : 1;
4268   unsigned PWM4DCH4             : 1;
4269   unsigned PWM4DCH5             : 1;
4270   unsigned PWM4DCH6             : 1;
4271   unsigned PWM4DCH7             : 1;
4272   } __PWM4DCHbits_t;
4273 
4274 extern __at(0x061B) volatile __PWM4DCHbits_t PWM4DCHbits;
4275 
4276 #define _PWM4DCH0               0x01
4277 #define _PWM4DCH1               0x02
4278 #define _PWM4DCH2               0x04
4279 #define _PWM4DCH3               0x08
4280 #define _PWM4DCH4               0x10
4281 #define _PWM4DCH5               0x20
4282 #define _PWM4DCH6               0x40
4283 #define _PWM4DCH7               0x80
4284 
4285 //==============================================================================
4286 
4287 
4288 //==============================================================================
4289 //        PWM4CON Bits
4290 
4291 extern __at(0x061C) __sfr PWM4CON;
4292 
4293 typedef struct
4294   {
4295   unsigned                      : 1;
4296   unsigned                      : 1;
4297   unsigned                      : 1;
4298   unsigned                      : 1;
4299   unsigned PWM4POL              : 1;
4300   unsigned PWM4OUT              : 1;
4301   unsigned                      : 1;
4302   unsigned PWM4EN               : 1;
4303   } __PWM4CONbits_t;
4304 
4305 extern __at(0x061C) volatile __PWM4CONbits_t PWM4CONbits;
4306 
4307 #define _PWM4POL                0x10
4308 #define _PWM4OUT                0x20
4309 #define _PWM4EN                 0x80
4310 
4311 //==============================================================================
4312 
4313 
4314 //==============================================================================
4315 //        PWM4CON0 Bits
4316 
4317 extern __at(0x061C) __sfr PWM4CON0;
4318 
4319 typedef struct
4320   {
4321   unsigned                      : 1;
4322   unsigned                      : 1;
4323   unsigned                      : 1;
4324   unsigned                      : 1;
4325   unsigned PWM4POL              : 1;
4326   unsigned PWM4OUT              : 1;
4327   unsigned                      : 1;
4328   unsigned PWM4EN               : 1;
4329   } __PWM4CON0bits_t;
4330 
4331 extern __at(0x061C) volatile __PWM4CON0bits_t PWM4CON0bits;
4332 
4333 #define _PWM4CON0_PWM4POL       0x10
4334 #define _PWM4CON0_PWM4OUT       0x20
4335 #define _PWM4CON0_PWM4EN        0x80
4336 
4337 //==============================================================================
4338 
4339 
4340 //==============================================================================
4341 //        COG1PHR Bits
4342 
4343 extern __at(0x0691) __sfr COG1PHR;
4344 
4345 typedef union
4346   {
4347   struct
4348     {
4349     unsigned G1PHR0             : 1;
4350     unsigned G1PHR1             : 1;
4351     unsigned G1PHR2             : 1;
4352     unsigned G1PHR3             : 1;
4353     unsigned G1PHR4             : 1;
4354     unsigned G1PHR5             : 1;
4355     unsigned                    : 1;
4356     unsigned                    : 1;
4357     };
4358 
4359   struct
4360     {
4361     unsigned G1PHR              : 6;
4362     unsigned                    : 2;
4363     };
4364   } __COG1PHRbits_t;
4365 
4366 extern __at(0x0691) volatile __COG1PHRbits_t COG1PHRbits;
4367 
4368 #define _G1PHR0                 0x01
4369 #define _G1PHR1                 0x02
4370 #define _G1PHR2                 0x04
4371 #define _G1PHR3                 0x08
4372 #define _G1PHR4                 0x10
4373 #define _G1PHR5                 0x20
4374 
4375 //==============================================================================
4376 
4377 
4378 //==============================================================================
4379 //        COG1PHF Bits
4380 
4381 extern __at(0x0692) __sfr COG1PHF;
4382 
4383 typedef union
4384   {
4385   struct
4386     {
4387     unsigned G1PHF0             : 1;
4388     unsigned G1PHF1             : 1;
4389     unsigned G1PHF2             : 1;
4390     unsigned G1PHF3             : 1;
4391     unsigned G1PHF4             : 1;
4392     unsigned G1PHF5             : 1;
4393     unsigned                    : 1;
4394     unsigned                    : 1;
4395     };
4396 
4397   struct
4398     {
4399     unsigned G1PHF              : 6;
4400     unsigned                    : 2;
4401     };
4402   } __COG1PHFbits_t;
4403 
4404 extern __at(0x0692) volatile __COG1PHFbits_t COG1PHFbits;
4405 
4406 #define _G1PHF0                 0x01
4407 #define _G1PHF1                 0x02
4408 #define _G1PHF2                 0x04
4409 #define _G1PHF3                 0x08
4410 #define _G1PHF4                 0x10
4411 #define _G1PHF5                 0x20
4412 
4413 //==============================================================================
4414 
4415 
4416 //==============================================================================
4417 //        COG1BLKR Bits
4418 
4419 extern __at(0x0693) __sfr COG1BLKR;
4420 
4421 typedef union
4422   {
4423   struct
4424     {
4425     unsigned G1BLKR0            : 1;
4426     unsigned G1BLKR1            : 1;
4427     unsigned G1BLKR2            : 1;
4428     unsigned G1BLKR3            : 1;
4429     unsigned G1BLKR4            : 1;
4430     unsigned G1BLKR5            : 1;
4431     unsigned                    : 1;
4432     unsigned                    : 1;
4433     };
4434 
4435   struct
4436     {
4437     unsigned G1BLKR             : 6;
4438     unsigned                    : 2;
4439     };
4440   } __COG1BLKRbits_t;
4441 
4442 extern __at(0x0693) volatile __COG1BLKRbits_t COG1BLKRbits;
4443 
4444 #define _G1BLKR0                0x01
4445 #define _G1BLKR1                0x02
4446 #define _G1BLKR2                0x04
4447 #define _G1BLKR3                0x08
4448 #define _G1BLKR4                0x10
4449 #define _G1BLKR5                0x20
4450 
4451 //==============================================================================
4452 
4453 
4454 //==============================================================================
4455 //        COG1BLKF Bits
4456 
4457 extern __at(0x0694) __sfr COG1BLKF;
4458 
4459 typedef union
4460   {
4461   struct
4462     {
4463     unsigned G1BLKF0            : 1;
4464     unsigned G1BLKF1            : 1;
4465     unsigned G1BLKF2            : 1;
4466     unsigned G1BLKF3            : 1;
4467     unsigned G1BLKF4            : 1;
4468     unsigned G1BLKF5            : 1;
4469     unsigned                    : 1;
4470     unsigned                    : 1;
4471     };
4472 
4473   struct
4474     {
4475     unsigned G1BLKF             : 6;
4476     unsigned                    : 2;
4477     };
4478   } __COG1BLKFbits_t;
4479 
4480 extern __at(0x0694) volatile __COG1BLKFbits_t COG1BLKFbits;
4481 
4482 #define _G1BLKF0                0x01
4483 #define _G1BLKF1                0x02
4484 #define _G1BLKF2                0x04
4485 #define _G1BLKF3                0x08
4486 #define _G1BLKF4                0x10
4487 #define _G1BLKF5                0x20
4488 
4489 //==============================================================================
4490 
4491 
4492 //==============================================================================
4493 //        COG1DBR Bits
4494 
4495 extern __at(0x0695) __sfr COG1DBR;
4496 
4497 typedef union
4498   {
4499   struct
4500     {
4501     unsigned G1DBR0             : 1;
4502     unsigned G1DBR1             : 1;
4503     unsigned G1DBR2             : 1;
4504     unsigned G1DBR3             : 1;
4505     unsigned G1DBR4             : 1;
4506     unsigned G1DBR5             : 1;
4507     unsigned                    : 1;
4508     unsigned                    : 1;
4509     };
4510 
4511   struct
4512     {
4513     unsigned G1DBR              : 6;
4514     unsigned                    : 2;
4515     };
4516   } __COG1DBRbits_t;
4517 
4518 extern __at(0x0695) volatile __COG1DBRbits_t COG1DBRbits;
4519 
4520 #define _G1DBR0                 0x01
4521 #define _G1DBR1                 0x02
4522 #define _G1DBR2                 0x04
4523 #define _G1DBR3                 0x08
4524 #define _G1DBR4                 0x10
4525 #define _G1DBR5                 0x20
4526 
4527 //==============================================================================
4528 
4529 
4530 //==============================================================================
4531 //        COG1DBF Bits
4532 
4533 extern __at(0x0696) __sfr COG1DBF;
4534 
4535 typedef union
4536   {
4537   struct
4538     {
4539     unsigned G1DBF0             : 1;
4540     unsigned G1DBF1             : 1;
4541     unsigned G1DBF2             : 1;
4542     unsigned G1DBF3             : 1;
4543     unsigned G1DBF4             : 1;
4544     unsigned G1DBF5             : 1;
4545     unsigned                    : 1;
4546     unsigned                    : 1;
4547     };
4548 
4549   struct
4550     {
4551     unsigned G1DBF              : 6;
4552     unsigned                    : 2;
4553     };
4554   } __COG1DBFbits_t;
4555 
4556 extern __at(0x0696) volatile __COG1DBFbits_t COG1DBFbits;
4557 
4558 #define _G1DBF0                 0x01
4559 #define _G1DBF1                 0x02
4560 #define _G1DBF2                 0x04
4561 #define _G1DBF3                 0x08
4562 #define _G1DBF4                 0x10
4563 #define _G1DBF5                 0x20
4564 
4565 //==============================================================================
4566 
4567 
4568 //==============================================================================
4569 //        COG1CON0 Bits
4570 
4571 extern __at(0x0697) __sfr COG1CON0;
4572 
4573 typedef union
4574   {
4575   struct
4576     {
4577     unsigned G1MD0              : 1;
4578     unsigned G1MD1              : 1;
4579     unsigned G1MD2              : 1;
4580     unsigned G1CS0              : 1;
4581     unsigned G1CS1              : 1;
4582     unsigned                    : 1;
4583     unsigned G1LD               : 1;
4584     unsigned G1EN               : 1;
4585     };
4586 
4587   struct
4588     {
4589     unsigned G1MD               : 3;
4590     unsigned                    : 5;
4591     };
4592 
4593   struct
4594     {
4595     unsigned                    : 3;
4596     unsigned G1CS               : 2;
4597     unsigned                    : 3;
4598     };
4599   } __COG1CON0bits_t;
4600 
4601 extern __at(0x0697) volatile __COG1CON0bits_t COG1CON0bits;
4602 
4603 #define _G1MD0                  0x01
4604 #define _G1MD1                  0x02
4605 #define _G1MD2                  0x04
4606 #define _G1CS0                  0x08
4607 #define _G1CS1                  0x10
4608 #define _G1LD                   0x40
4609 #define _G1EN                   0x80
4610 
4611 //==============================================================================
4612 
4613 
4614 //==============================================================================
4615 //        COG1CON1 Bits
4616 
4617 extern __at(0x0698) __sfr COG1CON1;
4618 
4619 typedef struct
4620   {
4621   unsigned G1POLA               : 1;
4622   unsigned G1POLB               : 1;
4623   unsigned G1POLC               : 1;
4624   unsigned G1POLD               : 1;
4625   unsigned                      : 1;
4626   unsigned                      : 1;
4627   unsigned G1FDBS               : 1;
4628   unsigned G1RDBS               : 1;
4629   } __COG1CON1bits_t;
4630 
4631 extern __at(0x0698) volatile __COG1CON1bits_t COG1CON1bits;
4632 
4633 #define _G1POLA                 0x01
4634 #define _G1POLB                 0x02
4635 #define _G1POLC                 0x04
4636 #define _G1POLD                 0x08
4637 #define _G1FDBS                 0x40
4638 #define _G1RDBS                 0x80
4639 
4640 //==============================================================================
4641 
4642 
4643 //==============================================================================
4644 //        COG1RIS Bits
4645 
4646 extern __at(0x0699) __sfr COG1RIS;
4647 
4648 typedef union
4649   {
4650   struct
4651     {
4652     unsigned G1RIS0             : 1;
4653     unsigned G1RIS1             : 1;
4654     unsigned G1RIS2             : 1;
4655     unsigned G1RIS3             : 1;
4656     unsigned G1RIS4             : 1;
4657     unsigned G1RIS5             : 1;
4658     unsigned G1RIS6             : 1;
4659     unsigned                    : 1;
4660     };
4661 
4662   struct
4663     {
4664     unsigned G1RIS              : 7;
4665     unsigned                    : 1;
4666     };
4667   } __COG1RISbits_t;
4668 
4669 extern __at(0x0699) volatile __COG1RISbits_t COG1RISbits;
4670 
4671 #define _G1RIS0                 0x01
4672 #define _G1RIS1                 0x02
4673 #define _G1RIS2                 0x04
4674 #define _G1RIS3                 0x08
4675 #define _G1RIS4                 0x10
4676 #define _G1RIS5                 0x20
4677 #define _G1RIS6                 0x40
4678 
4679 //==============================================================================
4680 
4681 
4682 //==============================================================================
4683 //        COG1RSIM Bits
4684 
4685 extern __at(0x069A) __sfr COG1RSIM;
4686 
4687 typedef union
4688   {
4689   struct
4690     {
4691     unsigned G1RSIM0            : 1;
4692     unsigned G1RSIM1            : 1;
4693     unsigned G1RSIM2            : 1;
4694     unsigned G1RSIM3            : 1;
4695     unsigned G1RSIM4            : 1;
4696     unsigned G1RSIM5            : 1;
4697     unsigned G1RSIM6            : 1;
4698     unsigned                    : 1;
4699     };
4700 
4701   struct
4702     {
4703     unsigned G1RSIM             : 7;
4704     unsigned                    : 1;
4705     };
4706   } __COG1RSIMbits_t;
4707 
4708 extern __at(0x069A) volatile __COG1RSIMbits_t COG1RSIMbits;
4709 
4710 #define _G1RSIM0                0x01
4711 #define _G1RSIM1                0x02
4712 #define _G1RSIM2                0x04
4713 #define _G1RSIM3                0x08
4714 #define _G1RSIM4                0x10
4715 #define _G1RSIM5                0x20
4716 #define _G1RSIM6                0x40
4717 
4718 //==============================================================================
4719 
4720 
4721 //==============================================================================
4722 //        COG1FIS Bits
4723 
4724 extern __at(0x069B) __sfr COG1FIS;
4725 
4726 typedef union
4727   {
4728   struct
4729     {
4730     unsigned G1FIS0             : 1;
4731     unsigned G1FIS1             : 1;
4732     unsigned G1FIS2             : 1;
4733     unsigned G1FIS3             : 1;
4734     unsigned G1FIS4             : 1;
4735     unsigned G1FIS5             : 1;
4736     unsigned G1FIS6             : 1;
4737     unsigned                    : 1;
4738     };
4739 
4740   struct
4741     {
4742     unsigned G1FIS              : 7;
4743     unsigned                    : 1;
4744     };
4745   } __COG1FISbits_t;
4746 
4747 extern __at(0x069B) volatile __COG1FISbits_t COG1FISbits;
4748 
4749 #define _G1FIS0                 0x01
4750 #define _G1FIS1                 0x02
4751 #define _G1FIS2                 0x04
4752 #define _G1FIS3                 0x08
4753 #define _G1FIS4                 0x10
4754 #define _G1FIS5                 0x20
4755 #define _G1FIS6                 0x40
4756 
4757 //==============================================================================
4758 
4759 
4760 //==============================================================================
4761 //        COG1FSIM Bits
4762 
4763 extern __at(0x069C) __sfr COG1FSIM;
4764 
4765 typedef union
4766   {
4767   struct
4768     {
4769     unsigned G1FSIM0            : 1;
4770     unsigned G1FSIM1            : 1;
4771     unsigned G1FSIM2            : 1;
4772     unsigned G1FSIM3            : 1;
4773     unsigned G1FSIM4            : 1;
4774     unsigned G1FSIM5            : 1;
4775     unsigned G1FSIM6            : 1;
4776     unsigned                    : 1;
4777     };
4778 
4779   struct
4780     {
4781     unsigned G1FSIM             : 7;
4782     unsigned                    : 1;
4783     };
4784   } __COG1FSIMbits_t;
4785 
4786 extern __at(0x069C) volatile __COG1FSIMbits_t COG1FSIMbits;
4787 
4788 #define _G1FSIM0                0x01
4789 #define _G1FSIM1                0x02
4790 #define _G1FSIM2                0x04
4791 #define _G1FSIM3                0x08
4792 #define _G1FSIM4                0x10
4793 #define _G1FSIM5                0x20
4794 #define _G1FSIM6                0x40
4795 
4796 //==============================================================================
4797 
4798 
4799 //==============================================================================
4800 //        COG1ASD0 Bits
4801 
4802 extern __at(0x069D) __sfr COG1ASD0;
4803 
4804 typedef union
4805   {
4806   struct
4807     {
4808     unsigned                    : 1;
4809     unsigned                    : 1;
4810     unsigned G1ASDAC0           : 1;
4811     unsigned G1ASDAC1           : 1;
4812     unsigned G1ASDBD0           : 1;
4813     unsigned G1ASDBD1           : 1;
4814     unsigned G1ARSEN            : 1;
4815     unsigned G1ASE              : 1;
4816     };
4817 
4818   struct
4819     {
4820     unsigned                    : 2;
4821     unsigned G1ASDAC            : 2;
4822     unsigned                    : 4;
4823     };
4824 
4825   struct
4826     {
4827     unsigned                    : 4;
4828     unsigned G1ASDBD            : 2;
4829     unsigned                    : 2;
4830     };
4831   } __COG1ASD0bits_t;
4832 
4833 extern __at(0x069D) volatile __COG1ASD0bits_t COG1ASD0bits;
4834 
4835 #define _G1ASDAC0               0x04
4836 #define _G1ASDAC1               0x08
4837 #define _G1ASDBD0               0x10
4838 #define _G1ASDBD1               0x20
4839 #define _G1ARSEN                0x40
4840 #define _G1ASE                  0x80
4841 
4842 //==============================================================================
4843 
4844 
4845 //==============================================================================
4846 //        COG1ASD1 Bits
4847 
4848 extern __at(0x069E) __sfr COG1ASD1;
4849 
4850 typedef struct
4851   {
4852   unsigned G1AS0E               : 1;
4853   unsigned G1AS1E               : 1;
4854   unsigned G1AS2E               : 1;
4855   unsigned G1AS3E               : 1;
4856   unsigned                      : 1;
4857   unsigned                      : 1;
4858   unsigned                      : 1;
4859   unsigned                      : 1;
4860   } __COG1ASD1bits_t;
4861 
4862 extern __at(0x069E) volatile __COG1ASD1bits_t COG1ASD1bits;
4863 
4864 #define _G1AS0E                 0x01
4865 #define _G1AS1E                 0x02
4866 #define _G1AS2E                 0x04
4867 #define _G1AS3E                 0x08
4868 
4869 //==============================================================================
4870 
4871 
4872 //==============================================================================
4873 //        COG1STR Bits
4874 
4875 extern __at(0x069F) __sfr COG1STR;
4876 
4877 typedef struct
4878   {
4879   unsigned G1STRA               : 1;
4880   unsigned G1STRB               : 1;
4881   unsigned G1STRC               : 1;
4882   unsigned G1STRD               : 1;
4883   unsigned G1SDATA              : 1;
4884   unsigned G1SDATB              : 1;
4885   unsigned G1SDATC              : 1;
4886   unsigned G1SDATD              : 1;
4887   } __COG1STRbits_t;
4888 
4889 extern __at(0x069F) volatile __COG1STRbits_t COG1STRbits;
4890 
4891 #define _G1STRA                 0x01
4892 #define _G1STRB                 0x02
4893 #define _G1STRC                 0x04
4894 #define _G1STRD                 0x08
4895 #define _G1SDATA                0x10
4896 #define _G1SDATB                0x20
4897 #define _G1SDATC                0x40
4898 #define _G1SDATD                0x80
4899 
4900 //==============================================================================
4901 
4902 
4903 //==============================================================================
4904 //        PPSLOCK Bits
4905 
4906 extern __at(0x0E0F) __sfr PPSLOCK;
4907 
4908 typedef struct
4909   {
4910   unsigned PPSLOCKED            : 1;
4911   unsigned                      : 1;
4912   unsigned                      : 1;
4913   unsigned                      : 1;
4914   unsigned                      : 1;
4915   unsigned                      : 1;
4916   unsigned                      : 1;
4917   unsigned                      : 1;
4918   } __PPSLOCKbits_t;
4919 
4920 extern __at(0x0E0F) volatile __PPSLOCKbits_t PPSLOCKbits;
4921 
4922 #define _PPSLOCKED              0x01
4923 
4924 //==============================================================================
4925 
4926 extern __at(0x0E10) __sfr INTPPS;
4927 extern __at(0x0E11) __sfr T0CKIPPS;
4928 extern __at(0x0E12) __sfr T1CKIPPS;
4929 extern __at(0x0E13) __sfr T1GPPS;
4930 extern __at(0x0E14) __sfr CCP1PPS;
4931 extern __at(0x0E15) __sfr CCP2PPS;
4932 extern __at(0x0E17) __sfr COGINPPS;
4933 extern __at(0x0E20) __sfr SSPCLKPPS;
4934 extern __at(0x0E21) __sfr SSPDATPPS;
4935 extern __at(0x0E22) __sfr SSPSSPPS;
4936 extern __at(0x0E24) __sfr RXPPS;
4937 extern __at(0x0E25) __sfr CKPPS;
4938 extern __at(0x0E28) __sfr CLCIN0PPS;
4939 extern __at(0x0E29) __sfr CLCIN1PPS;
4940 extern __at(0x0E2A) __sfr CLCIN2PPS;
4941 extern __at(0x0E2B) __sfr CLCIN3PPS;
4942 extern __at(0x0E90) __sfr RA0PPS;
4943 extern __at(0x0E91) __sfr RA1PPS;
4944 extern __at(0x0E92) __sfr RA2PPS;
4945 extern __at(0x0E94) __sfr RA4PPS;
4946 extern __at(0x0E95) __sfr RA5PPS;
4947 extern __at(0x0E9C) __sfr RB4PPS;
4948 extern __at(0x0E9D) __sfr RB5PPS;
4949 extern __at(0x0E9E) __sfr RB6PPS;
4950 extern __at(0x0E9F) __sfr RB7PPS;
4951 extern __at(0x0EA0) __sfr RC0PPS;
4952 extern __at(0x0EA1) __sfr RC1PPS;
4953 extern __at(0x0EA2) __sfr RC2PPS;
4954 extern __at(0x0EA3) __sfr RC3PPS;
4955 extern __at(0x0EA4) __sfr RC4PPS;
4956 extern __at(0x0EA5) __sfr RC5PPS;
4957 extern __at(0x0EA6) __sfr RC6PPS;
4958 extern __at(0x0EA7) __sfr RC7PPS;
4959 
4960 //==============================================================================
4961 //        CLCDATA Bits
4962 
4963 extern __at(0x0F0F) __sfr CLCDATA;
4964 
4965 typedef struct
4966   {
4967   unsigned MCLC1OUT             : 1;
4968   unsigned MCLC2OUT             : 1;
4969   unsigned MCLC3OUT             : 1;
4970   unsigned                      : 1;
4971   unsigned                      : 1;
4972   unsigned                      : 1;
4973   unsigned                      : 1;
4974   unsigned                      : 1;
4975   } __CLCDATAbits_t;
4976 
4977 extern __at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits;
4978 
4979 #define _MCLC1OUT               0x01
4980 #define _MCLC2OUT               0x02
4981 #define _MCLC3OUT               0x04
4982 
4983 //==============================================================================
4984 
4985 
4986 //==============================================================================
4987 //        CLC1CON Bits
4988 
4989 extern __at(0x0F10) __sfr CLC1CON;
4990 
4991 typedef union
4992   {
4993   struct
4994     {
4995     unsigned LC1MODE0           : 1;
4996     unsigned LC1MODE1           : 1;
4997     unsigned LC1MODE2           : 1;
4998     unsigned LC1INTN            : 1;
4999     unsigned LC1INTP            : 1;
5000     unsigned LC1OUT             : 1;
5001     unsigned                    : 1;
5002     unsigned LC1EN              : 1;
5003     };
5004 
5005   struct
5006     {
5007     unsigned MODE0              : 1;
5008     unsigned MODE1              : 1;
5009     unsigned MODE2              : 1;
5010     unsigned INTN               : 1;
5011     unsigned INTP               : 1;
5012     unsigned OUT                : 1;
5013     unsigned                    : 1;
5014     unsigned EN                 : 1;
5015     };
5016 
5017   struct
5018     {
5019     unsigned MODE               : 3;
5020     unsigned                    : 5;
5021     };
5022 
5023   struct
5024     {
5025     unsigned LC1MODE            : 3;
5026     unsigned                    : 5;
5027     };
5028   } __CLC1CONbits_t;
5029 
5030 extern __at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits;
5031 
5032 #define _LC1MODE0               0x01
5033 #define _MODE0                  0x01
5034 #define _LC1MODE1               0x02
5035 #define _MODE1                  0x02
5036 #define _LC1MODE2               0x04
5037 #define _MODE2                  0x04
5038 #define _LC1INTN                0x08
5039 #define _INTN                   0x08
5040 #define _LC1INTP                0x10
5041 #define _INTP                   0x10
5042 #define _LC1OUT                 0x20
5043 #define _OUT                    0x20
5044 #define _LC1EN                  0x80
5045 #define _EN                     0x80
5046 
5047 //==============================================================================
5048 
5049 
5050 //==============================================================================
5051 //        CLC1POL Bits
5052 
5053 extern __at(0x0F11) __sfr CLC1POL;
5054 
5055 typedef union
5056   {
5057   struct
5058     {
5059     unsigned LC1G1POL           : 1;
5060     unsigned LC1G2POL           : 1;
5061     unsigned LC1G3POL           : 1;
5062     unsigned LC1G4POL           : 1;
5063     unsigned                    : 1;
5064     unsigned                    : 1;
5065     unsigned                    : 1;
5066     unsigned LC1POL             : 1;
5067     };
5068 
5069   struct
5070     {
5071     unsigned G1POL              : 1;
5072     unsigned G2POL              : 1;
5073     unsigned G3POL              : 1;
5074     unsigned G4POL              : 1;
5075     unsigned                    : 1;
5076     unsigned                    : 1;
5077     unsigned                    : 1;
5078     unsigned POL                : 1;
5079     };
5080   } __CLC1POLbits_t;
5081 
5082 extern __at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits;
5083 
5084 #define _LC1G1POL               0x01
5085 #define _G1POL                  0x01
5086 #define _LC1G2POL               0x02
5087 #define _G2POL                  0x02
5088 #define _LC1G3POL               0x04
5089 #define _G3POL                  0x04
5090 #define _LC1G4POL               0x08
5091 #define _G4POL                  0x08
5092 #define _LC1POL                 0x80
5093 #define _POL                    0x80
5094 
5095 //==============================================================================
5096 
5097 
5098 //==============================================================================
5099 //        CLC1SEL0 Bits
5100 
5101 extern __at(0x0F12) __sfr CLC1SEL0;
5102 
5103 typedef union
5104   {
5105   struct
5106     {
5107     unsigned LC1D1S0            : 1;
5108     unsigned LC1D1S1            : 1;
5109     unsigned LC1D1S2            : 1;
5110     unsigned LC1D1S3            : 1;
5111     unsigned LC1D1S4            : 1;
5112     unsigned                    : 1;
5113     unsigned                    : 1;
5114     unsigned                    : 1;
5115     };
5116 
5117   struct
5118     {
5119     unsigned D1S0               : 1;
5120     unsigned D1S1               : 1;
5121     unsigned D1S2               : 1;
5122     unsigned D1S3               : 1;
5123     unsigned D1S4               : 1;
5124     unsigned                    : 1;
5125     unsigned                    : 1;
5126     unsigned                    : 1;
5127     };
5128 
5129   struct
5130     {
5131     unsigned LC1D1S             : 5;
5132     unsigned                    : 3;
5133     };
5134 
5135   struct
5136     {
5137     unsigned D1S                : 5;
5138     unsigned                    : 3;
5139     };
5140   } __CLC1SEL0bits_t;
5141 
5142 extern __at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits;
5143 
5144 #define _LC1D1S0                0x01
5145 #define _D1S0                   0x01
5146 #define _LC1D1S1                0x02
5147 #define _D1S1                   0x02
5148 #define _LC1D1S2                0x04
5149 #define _D1S2                   0x04
5150 #define _LC1D1S3                0x08
5151 #define _D1S3                   0x08
5152 #define _LC1D1S4                0x10
5153 #define _D1S4                   0x10
5154 
5155 //==============================================================================
5156 
5157 
5158 //==============================================================================
5159 //        CLC1SEL1 Bits
5160 
5161 extern __at(0x0F13) __sfr CLC1SEL1;
5162 
5163 typedef union
5164   {
5165   struct
5166     {
5167     unsigned LC1D2S0            : 1;
5168     unsigned LC1D2S1            : 1;
5169     unsigned LC1D2S2            : 1;
5170     unsigned LC1D2S3            : 1;
5171     unsigned LC1D2S4            : 1;
5172     unsigned                    : 1;
5173     unsigned                    : 1;
5174     unsigned                    : 1;
5175     };
5176 
5177   struct
5178     {
5179     unsigned D2S0               : 1;
5180     unsigned D2S1               : 1;
5181     unsigned D2S2               : 1;
5182     unsigned D2S3               : 1;
5183     unsigned D2S4               : 1;
5184     unsigned                    : 1;
5185     unsigned                    : 1;
5186     unsigned                    : 1;
5187     };
5188 
5189   struct
5190     {
5191     unsigned D2S                : 5;
5192     unsigned                    : 3;
5193     };
5194 
5195   struct
5196     {
5197     unsigned LC1D2S             : 5;
5198     unsigned                    : 3;
5199     };
5200   } __CLC1SEL1bits_t;
5201 
5202 extern __at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits;
5203 
5204 #define _LC1D2S0                0x01
5205 #define _D2S0                   0x01
5206 #define _LC1D2S1                0x02
5207 #define _D2S1                   0x02
5208 #define _LC1D2S2                0x04
5209 #define _D2S2                   0x04
5210 #define _LC1D2S3                0x08
5211 #define _D2S3                   0x08
5212 #define _LC1D2S4                0x10
5213 #define _D2S4                   0x10
5214 
5215 //==============================================================================
5216 
5217 
5218 //==============================================================================
5219 //        CLC1SEL2 Bits
5220 
5221 extern __at(0x0F14) __sfr CLC1SEL2;
5222 
5223 typedef union
5224   {
5225   struct
5226     {
5227     unsigned LC1D3S0            : 1;
5228     unsigned LC1D3S1            : 1;
5229     unsigned LC1D3S2            : 1;
5230     unsigned LC1D3S3            : 1;
5231     unsigned LC1D3S4            : 1;
5232     unsigned                    : 1;
5233     unsigned                    : 1;
5234     unsigned                    : 1;
5235     };
5236 
5237   struct
5238     {
5239     unsigned D3S0               : 1;
5240     unsigned D3S1               : 1;
5241     unsigned D3S2               : 1;
5242     unsigned D3S3               : 1;
5243     unsigned D3S4               : 1;
5244     unsigned                    : 1;
5245     unsigned                    : 1;
5246     unsigned                    : 1;
5247     };
5248 
5249   struct
5250     {
5251     unsigned LC1D3S             : 5;
5252     unsigned                    : 3;
5253     };
5254 
5255   struct
5256     {
5257     unsigned D3S                : 5;
5258     unsigned                    : 3;
5259     };
5260   } __CLC1SEL2bits_t;
5261 
5262 extern __at(0x0F14) volatile __CLC1SEL2bits_t CLC1SEL2bits;
5263 
5264 #define _LC1D3S0                0x01
5265 #define _D3S0                   0x01
5266 #define _LC1D3S1                0x02
5267 #define _D3S1                   0x02
5268 #define _LC1D3S2                0x04
5269 #define _D3S2                   0x04
5270 #define _LC1D3S3                0x08
5271 #define _D3S3                   0x08
5272 #define _LC1D3S4                0x10
5273 #define _D3S4                   0x10
5274 
5275 //==============================================================================
5276 
5277 
5278 //==============================================================================
5279 //        CLC1SEL3 Bits
5280 
5281 extern __at(0x0F15) __sfr CLC1SEL3;
5282 
5283 typedef union
5284   {
5285   struct
5286     {
5287     unsigned LC1D4S0            : 1;
5288     unsigned LC1D4S1            : 1;
5289     unsigned LC1D4S2            : 1;
5290     unsigned LC1D4S3            : 1;
5291     unsigned LC1D4S4            : 1;
5292     unsigned                    : 1;
5293     unsigned                    : 1;
5294     unsigned                    : 1;
5295     };
5296 
5297   struct
5298     {
5299     unsigned D4S0               : 1;
5300     unsigned D4S1               : 1;
5301     unsigned D4S2               : 1;
5302     unsigned D4S3               : 1;
5303     unsigned D4S4               : 1;
5304     unsigned                    : 1;
5305     unsigned                    : 1;
5306     unsigned                    : 1;
5307     };
5308 
5309   struct
5310     {
5311     unsigned D4S                : 5;
5312     unsigned                    : 3;
5313     };
5314 
5315   struct
5316     {
5317     unsigned LC1D4S             : 5;
5318     unsigned                    : 3;
5319     };
5320   } __CLC1SEL3bits_t;
5321 
5322 extern __at(0x0F15) volatile __CLC1SEL3bits_t CLC1SEL3bits;
5323 
5324 #define _LC1D4S0                0x01
5325 #define _D4S0                   0x01
5326 #define _LC1D4S1                0x02
5327 #define _D4S1                   0x02
5328 #define _LC1D4S2                0x04
5329 #define _D4S2                   0x04
5330 #define _LC1D4S3                0x08
5331 #define _D4S3                   0x08
5332 #define _LC1D4S4                0x10
5333 #define _D4S4                   0x10
5334 
5335 //==============================================================================
5336 
5337 
5338 //==============================================================================
5339 //        CLC1GLS0 Bits
5340 
5341 extern __at(0x0F16) __sfr CLC1GLS0;
5342 
5343 typedef union
5344   {
5345   struct
5346     {
5347     unsigned LC1G1D1N           : 1;
5348     unsigned LC1G1D1T           : 1;
5349     unsigned LC1G1D2N           : 1;
5350     unsigned LC1G1D2T           : 1;
5351     unsigned LC1G1D3N           : 1;
5352     unsigned LC1G1D3T           : 1;
5353     unsigned LC1G1D4N           : 1;
5354     unsigned LC1G1D4T           : 1;
5355     };
5356 
5357   struct
5358     {
5359     unsigned D1N                : 1;
5360     unsigned D1T                : 1;
5361     unsigned D2N                : 1;
5362     unsigned D2T                : 1;
5363     unsigned D3N                : 1;
5364     unsigned D3T                : 1;
5365     unsigned D4N                : 1;
5366     unsigned D4T                : 1;
5367     };
5368   } __CLC1GLS0bits_t;
5369 
5370 extern __at(0x0F16) volatile __CLC1GLS0bits_t CLC1GLS0bits;
5371 
5372 #define _LC1G1D1N               0x01
5373 #define _D1N                    0x01
5374 #define _LC1G1D1T               0x02
5375 #define _D1T                    0x02
5376 #define _LC1G1D2N               0x04
5377 #define _D2N                    0x04
5378 #define _LC1G1D2T               0x08
5379 #define _D2T                    0x08
5380 #define _LC1G1D3N               0x10
5381 #define _D3N                    0x10
5382 #define _LC1G1D3T               0x20
5383 #define _D3T                    0x20
5384 #define _LC1G1D4N               0x40
5385 #define _D4N                    0x40
5386 #define _LC1G1D4T               0x80
5387 #define _D4T                    0x80
5388 
5389 //==============================================================================
5390 
5391 
5392 //==============================================================================
5393 //        CLC1GLS1 Bits
5394 
5395 extern __at(0x0F17) __sfr CLC1GLS1;
5396 
5397 typedef union
5398   {
5399   struct
5400     {
5401     unsigned LC1G2D1N           : 1;
5402     unsigned LC1G2D1T           : 1;
5403     unsigned LC1G2D2N           : 1;
5404     unsigned LC1G2D2T           : 1;
5405     unsigned LC1G2D3N           : 1;
5406     unsigned LC1G2D3T           : 1;
5407     unsigned LC1G2D4N           : 1;
5408     unsigned LC1G2D4T           : 1;
5409     };
5410 
5411   struct
5412     {
5413     unsigned D1N                : 1;
5414     unsigned D1T                : 1;
5415     unsigned D2N                : 1;
5416     unsigned D2T                : 1;
5417     unsigned D3N                : 1;
5418     unsigned D3T                : 1;
5419     unsigned D4N                : 1;
5420     unsigned D4T                : 1;
5421     };
5422   } __CLC1GLS1bits_t;
5423 
5424 extern __at(0x0F17) volatile __CLC1GLS1bits_t CLC1GLS1bits;
5425 
5426 #define _CLC1GLS1_LC1G2D1N      0x01
5427 #define _CLC1GLS1_D1N           0x01
5428 #define _CLC1GLS1_LC1G2D1T      0x02
5429 #define _CLC1GLS1_D1T           0x02
5430 #define _CLC1GLS1_LC1G2D2N      0x04
5431 #define _CLC1GLS1_D2N           0x04
5432 #define _CLC1GLS1_LC1G2D2T      0x08
5433 #define _CLC1GLS1_D2T           0x08
5434 #define _CLC1GLS1_LC1G2D3N      0x10
5435 #define _CLC1GLS1_D3N           0x10
5436 #define _CLC1GLS1_LC1G2D3T      0x20
5437 #define _CLC1GLS1_D3T           0x20
5438 #define _CLC1GLS1_LC1G2D4N      0x40
5439 #define _CLC1GLS1_D4N           0x40
5440 #define _CLC1GLS1_LC1G2D4T      0x80
5441 #define _CLC1GLS1_D4T           0x80
5442 
5443 //==============================================================================
5444 
5445 
5446 //==============================================================================
5447 //        CLC1GLS2 Bits
5448 
5449 extern __at(0x0F18) __sfr CLC1GLS2;
5450 
5451 typedef union
5452   {
5453   struct
5454     {
5455     unsigned LC1G3D1N           : 1;
5456     unsigned LC1G3D1T           : 1;
5457     unsigned LC1G3D2N           : 1;
5458     unsigned LC1G3D2T           : 1;
5459     unsigned LC1G3D3N           : 1;
5460     unsigned LC1G3D3T           : 1;
5461     unsigned LC1G3D4N           : 1;
5462     unsigned LC1G3D4T           : 1;
5463     };
5464 
5465   struct
5466     {
5467     unsigned D1N                : 1;
5468     unsigned D1T                : 1;
5469     unsigned D2N                : 1;
5470     unsigned D2T                : 1;
5471     unsigned D3N                : 1;
5472     unsigned D3T                : 1;
5473     unsigned D4N                : 1;
5474     unsigned D4T                : 1;
5475     };
5476   } __CLC1GLS2bits_t;
5477 
5478 extern __at(0x0F18) volatile __CLC1GLS2bits_t CLC1GLS2bits;
5479 
5480 #define _CLC1GLS2_LC1G3D1N      0x01
5481 #define _CLC1GLS2_D1N           0x01
5482 #define _CLC1GLS2_LC1G3D1T      0x02
5483 #define _CLC1GLS2_D1T           0x02
5484 #define _CLC1GLS2_LC1G3D2N      0x04
5485 #define _CLC1GLS2_D2N           0x04
5486 #define _CLC1GLS2_LC1G3D2T      0x08
5487 #define _CLC1GLS2_D2T           0x08
5488 #define _CLC1GLS2_LC1G3D3N      0x10
5489 #define _CLC1GLS2_D3N           0x10
5490 #define _CLC1GLS2_LC1G3D3T      0x20
5491 #define _CLC1GLS2_D3T           0x20
5492 #define _CLC1GLS2_LC1G3D4N      0x40
5493 #define _CLC1GLS2_D4N           0x40
5494 #define _CLC1GLS2_LC1G3D4T      0x80
5495 #define _CLC1GLS2_D4T           0x80
5496 
5497 //==============================================================================
5498 
5499 
5500 //==============================================================================
5501 //        CLC1GLS3 Bits
5502 
5503 extern __at(0x0F19) __sfr CLC1GLS3;
5504 
5505 typedef union
5506   {
5507   struct
5508     {
5509     unsigned LC1G4D1N           : 1;
5510     unsigned LC1G4D1T           : 1;
5511     unsigned LC1G4D2N           : 1;
5512     unsigned LC1G4D2T           : 1;
5513     unsigned LC1G4D3N           : 1;
5514     unsigned LC1G4D3T           : 1;
5515     unsigned LC1G4D4N           : 1;
5516     unsigned LC1G4D4T           : 1;
5517     };
5518 
5519   struct
5520     {
5521     unsigned G4D1N              : 1;
5522     unsigned G4D1T              : 1;
5523     unsigned G4D2N              : 1;
5524     unsigned G4D2T              : 1;
5525     unsigned G4D3N              : 1;
5526     unsigned G4D3T              : 1;
5527     unsigned G4D4N              : 1;
5528     unsigned G4D4T              : 1;
5529     };
5530   } __CLC1GLS3bits_t;
5531 
5532 extern __at(0x0F19) volatile __CLC1GLS3bits_t CLC1GLS3bits;
5533 
5534 #define _LC1G4D1N               0x01
5535 #define _G4D1N                  0x01
5536 #define _LC1G4D1T               0x02
5537 #define _G4D1T                  0x02
5538 #define _LC1G4D2N               0x04
5539 #define _G4D2N                  0x04
5540 #define _LC1G4D2T               0x08
5541 #define _G4D2T                  0x08
5542 #define _LC1G4D3N               0x10
5543 #define _G4D3N                  0x10
5544 #define _LC1G4D3T               0x20
5545 #define _G4D3T                  0x20
5546 #define _LC1G4D4N               0x40
5547 #define _G4D4N                  0x40
5548 #define _LC1G4D4T               0x80
5549 #define _G4D4T                  0x80
5550 
5551 //==============================================================================
5552 
5553 
5554 //==============================================================================
5555 //        CLC2CON Bits
5556 
5557 extern __at(0x0F1A) __sfr CLC2CON;
5558 
5559 typedef union
5560   {
5561   struct
5562     {
5563     unsigned LC2MODE0           : 1;
5564     unsigned LC2MODE1           : 1;
5565     unsigned LC2MODE2           : 1;
5566     unsigned LC2INTN            : 1;
5567     unsigned LC2INTP            : 1;
5568     unsigned LC2OUT             : 1;
5569     unsigned                    : 1;
5570     unsigned LC2EN              : 1;
5571     };
5572 
5573   struct
5574     {
5575     unsigned MODE0              : 1;
5576     unsigned MODE1              : 1;
5577     unsigned MODE2              : 1;
5578     unsigned INTN               : 1;
5579     unsigned INTP               : 1;
5580     unsigned OUT                : 1;
5581     unsigned                    : 1;
5582     unsigned EN                 : 1;
5583     };
5584 
5585   struct
5586     {
5587     unsigned MODE               : 3;
5588     unsigned                    : 5;
5589     };
5590 
5591   struct
5592     {
5593     unsigned LC2MODE            : 3;
5594     unsigned                    : 5;
5595     };
5596   } __CLC2CONbits_t;
5597 
5598 extern __at(0x0F1A) volatile __CLC2CONbits_t CLC2CONbits;
5599 
5600 #define _CLC2CON_LC2MODE0       0x01
5601 #define _CLC2CON_MODE0          0x01
5602 #define _CLC2CON_LC2MODE1       0x02
5603 #define _CLC2CON_MODE1          0x02
5604 #define _CLC2CON_LC2MODE2       0x04
5605 #define _CLC2CON_MODE2          0x04
5606 #define _CLC2CON_LC2INTN        0x08
5607 #define _CLC2CON_INTN           0x08
5608 #define _CLC2CON_LC2INTP        0x10
5609 #define _CLC2CON_INTP           0x10
5610 #define _CLC2CON_LC2OUT         0x20
5611 #define _CLC2CON_OUT            0x20
5612 #define _CLC2CON_LC2EN          0x80
5613 #define _CLC2CON_EN             0x80
5614 
5615 //==============================================================================
5616 
5617 
5618 //==============================================================================
5619 //        CLC2POL Bits
5620 
5621 extern __at(0x0F1B) __sfr CLC2POL;
5622 
5623 typedef union
5624   {
5625   struct
5626     {
5627     unsigned LC2G1POL           : 1;
5628     unsigned LC2G2POL           : 1;
5629     unsigned LC2G3POL           : 1;
5630     unsigned LC2G4POL           : 1;
5631     unsigned                    : 1;
5632     unsigned                    : 1;
5633     unsigned                    : 1;
5634     unsigned LC2POL             : 1;
5635     };
5636 
5637   struct
5638     {
5639     unsigned G1POL              : 1;
5640     unsigned G2POL              : 1;
5641     unsigned G3POL              : 1;
5642     unsigned G4POL              : 1;
5643     unsigned                    : 1;
5644     unsigned                    : 1;
5645     unsigned                    : 1;
5646     unsigned POL                : 1;
5647     };
5648   } __CLC2POLbits_t;
5649 
5650 extern __at(0x0F1B) volatile __CLC2POLbits_t CLC2POLbits;
5651 
5652 #define _CLC2POL_LC2G1POL       0x01
5653 #define _CLC2POL_G1POL          0x01
5654 #define _CLC2POL_LC2G2POL       0x02
5655 #define _CLC2POL_G2POL          0x02
5656 #define _CLC2POL_LC2G3POL       0x04
5657 #define _CLC2POL_G3POL          0x04
5658 #define _CLC2POL_LC2G4POL       0x08
5659 #define _CLC2POL_G4POL          0x08
5660 #define _CLC2POL_LC2POL         0x80
5661 #define _CLC2POL_POL            0x80
5662 
5663 //==============================================================================
5664 
5665 
5666 //==============================================================================
5667 //        CLC2SEL0 Bits
5668 
5669 extern __at(0x0F1C) __sfr CLC2SEL0;
5670 
5671 typedef union
5672   {
5673   struct
5674     {
5675     unsigned LC2D1S0            : 1;
5676     unsigned LC2D1S1            : 1;
5677     unsigned LC2D1S2            : 1;
5678     unsigned LC2D1S3            : 1;
5679     unsigned LC2D1S4            : 1;
5680     unsigned                    : 1;
5681     unsigned                    : 1;
5682     unsigned                    : 1;
5683     };
5684 
5685   struct
5686     {
5687     unsigned D1S0               : 1;
5688     unsigned D1S1               : 1;
5689     unsigned D1S2               : 1;
5690     unsigned D1S3               : 1;
5691     unsigned D1S4               : 1;
5692     unsigned                    : 1;
5693     unsigned                    : 1;
5694     unsigned                    : 1;
5695     };
5696 
5697   struct
5698     {
5699     unsigned D1S                : 5;
5700     unsigned                    : 3;
5701     };
5702 
5703   struct
5704     {
5705     unsigned LC2D1S             : 5;
5706     unsigned                    : 3;
5707     };
5708   } __CLC2SEL0bits_t;
5709 
5710 extern __at(0x0F1C) volatile __CLC2SEL0bits_t CLC2SEL0bits;
5711 
5712 #define _CLC2SEL0_LC2D1S0       0x01
5713 #define _CLC2SEL0_D1S0          0x01
5714 #define _CLC2SEL0_LC2D1S1       0x02
5715 #define _CLC2SEL0_D1S1          0x02
5716 #define _CLC2SEL0_LC2D1S2       0x04
5717 #define _CLC2SEL0_D1S2          0x04
5718 #define _CLC2SEL0_LC2D1S3       0x08
5719 #define _CLC2SEL0_D1S3          0x08
5720 #define _CLC2SEL0_LC2D1S4       0x10
5721 #define _CLC2SEL0_D1S4          0x10
5722 
5723 //==============================================================================
5724 
5725 
5726 //==============================================================================
5727 //        CLC2SEL1 Bits
5728 
5729 extern __at(0x0F1D) __sfr CLC2SEL1;
5730 
5731 typedef union
5732   {
5733   struct
5734     {
5735     unsigned LC2D2S0            : 1;
5736     unsigned LC2D2S1            : 1;
5737     unsigned LC2D2S2            : 1;
5738     unsigned LC2D2S3            : 1;
5739     unsigned LC2D2S4            : 1;
5740     unsigned                    : 1;
5741     unsigned                    : 1;
5742     unsigned                    : 1;
5743     };
5744 
5745   struct
5746     {
5747     unsigned D2S0               : 1;
5748     unsigned D2S1               : 1;
5749     unsigned D2S2               : 1;
5750     unsigned D2S3               : 1;
5751     unsigned D2S4               : 1;
5752     unsigned                    : 1;
5753     unsigned                    : 1;
5754     unsigned                    : 1;
5755     };
5756 
5757   struct
5758     {
5759     unsigned LC2D2S             : 5;
5760     unsigned                    : 3;
5761     };
5762 
5763   struct
5764     {
5765     unsigned D2S                : 5;
5766     unsigned                    : 3;
5767     };
5768   } __CLC2SEL1bits_t;
5769 
5770 extern __at(0x0F1D) volatile __CLC2SEL1bits_t CLC2SEL1bits;
5771 
5772 #define _CLC2SEL1_LC2D2S0       0x01
5773 #define _CLC2SEL1_D2S0          0x01
5774 #define _CLC2SEL1_LC2D2S1       0x02
5775 #define _CLC2SEL1_D2S1          0x02
5776 #define _CLC2SEL1_LC2D2S2       0x04
5777 #define _CLC2SEL1_D2S2          0x04
5778 #define _CLC2SEL1_LC2D2S3       0x08
5779 #define _CLC2SEL1_D2S3          0x08
5780 #define _CLC2SEL1_LC2D2S4       0x10
5781 #define _CLC2SEL1_D2S4          0x10
5782 
5783 //==============================================================================
5784 
5785 
5786 //==============================================================================
5787 //        CLC2SEL2 Bits
5788 
5789 extern __at(0x0F1E) __sfr CLC2SEL2;
5790 
5791 typedef union
5792   {
5793   struct
5794     {
5795     unsigned LC2D3S0            : 1;
5796     unsigned LC2D3S1            : 1;
5797     unsigned LC2D3S2            : 1;
5798     unsigned LC2D3S3            : 1;
5799     unsigned LC2D3S4            : 1;
5800     unsigned                    : 1;
5801     unsigned                    : 1;
5802     unsigned                    : 1;
5803     };
5804 
5805   struct
5806     {
5807     unsigned D3S0               : 1;
5808     unsigned D3S1               : 1;
5809     unsigned D3S2               : 1;
5810     unsigned D3S3               : 1;
5811     unsigned D3S4               : 1;
5812     unsigned                    : 1;
5813     unsigned                    : 1;
5814     unsigned                    : 1;
5815     };
5816 
5817   struct
5818     {
5819     unsigned D3S                : 5;
5820     unsigned                    : 3;
5821     };
5822 
5823   struct
5824     {
5825     unsigned LC2D3S             : 5;
5826     unsigned                    : 3;
5827     };
5828   } __CLC2SEL2bits_t;
5829 
5830 extern __at(0x0F1E) volatile __CLC2SEL2bits_t CLC2SEL2bits;
5831 
5832 #define _CLC2SEL2_LC2D3S0       0x01
5833 #define _CLC2SEL2_D3S0          0x01
5834 #define _CLC2SEL2_LC2D3S1       0x02
5835 #define _CLC2SEL2_D3S1          0x02
5836 #define _CLC2SEL2_LC2D3S2       0x04
5837 #define _CLC2SEL2_D3S2          0x04
5838 #define _CLC2SEL2_LC2D3S3       0x08
5839 #define _CLC2SEL2_D3S3          0x08
5840 #define _CLC2SEL2_LC2D3S4       0x10
5841 #define _CLC2SEL2_D3S4          0x10
5842 
5843 //==============================================================================
5844 
5845 
5846 //==============================================================================
5847 //        CLC2SEL3 Bits
5848 
5849 extern __at(0x0F1F) __sfr CLC2SEL3;
5850 
5851 typedef union
5852   {
5853   struct
5854     {
5855     unsigned LC2D4S0            : 1;
5856     unsigned LC2D4S1            : 1;
5857     unsigned LC2D4S2            : 1;
5858     unsigned LC2D4S3            : 1;
5859     unsigned LC2D4S4            : 1;
5860     unsigned                    : 1;
5861     unsigned                    : 1;
5862     unsigned                    : 1;
5863     };
5864 
5865   struct
5866     {
5867     unsigned D4S0               : 1;
5868     unsigned D4S1               : 1;
5869     unsigned D4S2               : 1;
5870     unsigned D4S3               : 1;
5871     unsigned D4S4               : 1;
5872     unsigned                    : 1;
5873     unsigned                    : 1;
5874     unsigned                    : 1;
5875     };
5876 
5877   struct
5878     {
5879     unsigned D4S                : 5;
5880     unsigned                    : 3;
5881     };
5882 
5883   struct
5884     {
5885     unsigned LC2D4S             : 5;
5886     unsigned                    : 3;
5887     };
5888   } __CLC2SEL3bits_t;
5889 
5890 extern __at(0x0F1F) volatile __CLC2SEL3bits_t CLC2SEL3bits;
5891 
5892 #define _CLC2SEL3_LC2D4S0       0x01
5893 #define _CLC2SEL3_D4S0          0x01
5894 #define _CLC2SEL3_LC2D4S1       0x02
5895 #define _CLC2SEL3_D4S1          0x02
5896 #define _CLC2SEL3_LC2D4S2       0x04
5897 #define _CLC2SEL3_D4S2          0x04
5898 #define _CLC2SEL3_LC2D4S3       0x08
5899 #define _CLC2SEL3_D4S3          0x08
5900 #define _CLC2SEL3_LC2D4S4       0x10
5901 #define _CLC2SEL3_D4S4          0x10
5902 
5903 //==============================================================================
5904 
5905 
5906 //==============================================================================
5907 //        CLC2GLS0 Bits
5908 
5909 extern __at(0x0F20) __sfr CLC2GLS0;
5910 
5911 typedef union
5912   {
5913   struct
5914     {
5915     unsigned LC2G1D1N           : 1;
5916     unsigned LC2G1D1T           : 1;
5917     unsigned LC2G1D2N           : 1;
5918     unsigned LC2G1D2T           : 1;
5919     unsigned LC2G1D3N           : 1;
5920     unsigned LC2G1D3T           : 1;
5921     unsigned LC2G1D4N           : 1;
5922     unsigned LC2G1D4T           : 1;
5923     };
5924 
5925   struct
5926     {
5927     unsigned D1N                : 1;
5928     unsigned D1T                : 1;
5929     unsigned D2N                : 1;
5930     unsigned D2T                : 1;
5931     unsigned D3N                : 1;
5932     unsigned D3T                : 1;
5933     unsigned D4N                : 1;
5934     unsigned D4T                : 1;
5935     };
5936   } __CLC2GLS0bits_t;
5937 
5938 extern __at(0x0F20) volatile __CLC2GLS0bits_t CLC2GLS0bits;
5939 
5940 #define _CLC2GLS0_LC2G1D1N      0x01
5941 #define _CLC2GLS0_D1N           0x01
5942 #define _CLC2GLS0_LC2G1D1T      0x02
5943 #define _CLC2GLS0_D1T           0x02
5944 #define _CLC2GLS0_LC2G1D2N      0x04
5945 #define _CLC2GLS0_D2N           0x04
5946 #define _CLC2GLS0_LC2G1D2T      0x08
5947 #define _CLC2GLS0_D2T           0x08
5948 #define _CLC2GLS0_LC2G1D3N      0x10
5949 #define _CLC2GLS0_D3N           0x10
5950 #define _CLC2GLS0_LC2G1D3T      0x20
5951 #define _CLC2GLS0_D3T           0x20
5952 #define _CLC2GLS0_LC2G1D4N      0x40
5953 #define _CLC2GLS0_D4N           0x40
5954 #define _CLC2GLS0_LC2G1D4T      0x80
5955 #define _CLC2GLS0_D4T           0x80
5956 
5957 //==============================================================================
5958 
5959 
5960 //==============================================================================
5961 //        CLC2GLS1 Bits
5962 
5963 extern __at(0x0F21) __sfr CLC2GLS1;
5964 
5965 typedef union
5966   {
5967   struct
5968     {
5969     unsigned LC2G2D1N           : 1;
5970     unsigned LC2G2D1T           : 1;
5971     unsigned LC2G2D2N           : 1;
5972     unsigned LC2G2D2T           : 1;
5973     unsigned LC2G2D3N           : 1;
5974     unsigned LC2G2D3T           : 1;
5975     unsigned LC2G2D4N           : 1;
5976     unsigned LC2G2D4T           : 1;
5977     };
5978 
5979   struct
5980     {
5981     unsigned D1N                : 1;
5982     unsigned D1T                : 1;
5983     unsigned D2N                : 1;
5984     unsigned D2T                : 1;
5985     unsigned D3N                : 1;
5986     unsigned D3T                : 1;
5987     unsigned D4N                : 1;
5988     unsigned D4T                : 1;
5989     };
5990   } __CLC2GLS1bits_t;
5991 
5992 extern __at(0x0F21) volatile __CLC2GLS1bits_t CLC2GLS1bits;
5993 
5994 #define _CLC2GLS1_LC2G2D1N      0x01
5995 #define _CLC2GLS1_D1N           0x01
5996 #define _CLC2GLS1_LC2G2D1T      0x02
5997 #define _CLC2GLS1_D1T           0x02
5998 #define _CLC2GLS1_LC2G2D2N      0x04
5999 #define _CLC2GLS1_D2N           0x04
6000 #define _CLC2GLS1_LC2G2D2T      0x08
6001 #define _CLC2GLS1_D2T           0x08
6002 #define _CLC2GLS1_LC2G2D3N      0x10
6003 #define _CLC2GLS1_D3N           0x10
6004 #define _CLC2GLS1_LC2G2D3T      0x20
6005 #define _CLC2GLS1_D3T           0x20
6006 #define _CLC2GLS1_LC2G2D4N      0x40
6007 #define _CLC2GLS1_D4N           0x40
6008 #define _CLC2GLS1_LC2G2D4T      0x80
6009 #define _CLC2GLS1_D4T           0x80
6010 
6011 //==============================================================================
6012 
6013 
6014 //==============================================================================
6015 //        CLC2GLS2 Bits
6016 
6017 extern __at(0x0F22) __sfr CLC2GLS2;
6018 
6019 typedef union
6020   {
6021   struct
6022     {
6023     unsigned LC2G3D1N           : 1;
6024     unsigned LC2G3D1T           : 1;
6025     unsigned LC2G3D2N           : 1;
6026     unsigned LC2G3D2T           : 1;
6027     unsigned LC2G3D3N           : 1;
6028     unsigned LC2G3D3T           : 1;
6029     unsigned LC2G3D4N           : 1;
6030     unsigned LC2G3D4T           : 1;
6031     };
6032 
6033   struct
6034     {
6035     unsigned D1N                : 1;
6036     unsigned D1T                : 1;
6037     unsigned D2N                : 1;
6038     unsigned D2T                : 1;
6039     unsigned D3N                : 1;
6040     unsigned D3T                : 1;
6041     unsigned D4N                : 1;
6042     unsigned D4T                : 1;
6043     };
6044   } __CLC2GLS2bits_t;
6045 
6046 extern __at(0x0F22) volatile __CLC2GLS2bits_t CLC2GLS2bits;
6047 
6048 #define _CLC2GLS2_LC2G3D1N      0x01
6049 #define _CLC2GLS2_D1N           0x01
6050 #define _CLC2GLS2_LC2G3D1T      0x02
6051 #define _CLC2GLS2_D1T           0x02
6052 #define _CLC2GLS2_LC2G3D2N      0x04
6053 #define _CLC2GLS2_D2N           0x04
6054 #define _CLC2GLS2_LC2G3D2T      0x08
6055 #define _CLC2GLS2_D2T           0x08
6056 #define _CLC2GLS2_LC2G3D3N      0x10
6057 #define _CLC2GLS2_D3N           0x10
6058 #define _CLC2GLS2_LC2G3D3T      0x20
6059 #define _CLC2GLS2_D3T           0x20
6060 #define _CLC2GLS2_LC2G3D4N      0x40
6061 #define _CLC2GLS2_D4N           0x40
6062 #define _CLC2GLS2_LC2G3D4T      0x80
6063 #define _CLC2GLS2_D4T           0x80
6064 
6065 //==============================================================================
6066 
6067 
6068 //==============================================================================
6069 //        CLC2GLS3 Bits
6070 
6071 extern __at(0x0F23) __sfr CLC2GLS3;
6072 
6073 typedef union
6074   {
6075   struct
6076     {
6077     unsigned LC2G4D1N           : 1;
6078     unsigned LC2G4D1T           : 1;
6079     unsigned LC2G4D2N           : 1;
6080     unsigned LC2G4D2T           : 1;
6081     unsigned LC2G4D3N           : 1;
6082     unsigned LC2G4D3T           : 1;
6083     unsigned LC2G4D4N           : 1;
6084     unsigned LC2G4D4T           : 1;
6085     };
6086 
6087   struct
6088     {
6089     unsigned G4D1N              : 1;
6090     unsigned G4D1T              : 1;
6091     unsigned G4D2N              : 1;
6092     unsigned G4D2T              : 1;
6093     unsigned G4D3N              : 1;
6094     unsigned G4D3T              : 1;
6095     unsigned G4D4N              : 1;
6096     unsigned G4D4T              : 1;
6097     };
6098   } __CLC2GLS3bits_t;
6099 
6100 extern __at(0x0F23) volatile __CLC2GLS3bits_t CLC2GLS3bits;
6101 
6102 #define _CLC2GLS3_LC2G4D1N      0x01
6103 #define _CLC2GLS3_G4D1N         0x01
6104 #define _CLC2GLS3_LC2G4D1T      0x02
6105 #define _CLC2GLS3_G4D1T         0x02
6106 #define _CLC2GLS3_LC2G4D2N      0x04
6107 #define _CLC2GLS3_G4D2N         0x04
6108 #define _CLC2GLS3_LC2G4D2T      0x08
6109 #define _CLC2GLS3_G4D2T         0x08
6110 #define _CLC2GLS3_LC2G4D3N      0x10
6111 #define _CLC2GLS3_G4D3N         0x10
6112 #define _CLC2GLS3_LC2G4D3T      0x20
6113 #define _CLC2GLS3_G4D3T         0x20
6114 #define _CLC2GLS3_LC2G4D4N      0x40
6115 #define _CLC2GLS3_G4D4N         0x40
6116 #define _CLC2GLS3_LC2G4D4T      0x80
6117 #define _CLC2GLS3_G4D4T         0x80
6118 
6119 //==============================================================================
6120 
6121 
6122 //==============================================================================
6123 //        CLC3CON Bits
6124 
6125 extern __at(0x0F24) __sfr CLC3CON;
6126 
6127 typedef union
6128   {
6129   struct
6130     {
6131     unsigned LC3MODE0           : 1;
6132     unsigned LC3MODE1           : 1;
6133     unsigned LC3MODE2           : 1;
6134     unsigned LC3INTN            : 1;
6135     unsigned LC3INTP            : 1;
6136     unsigned LC3OUT             : 1;
6137     unsigned                    : 1;
6138     unsigned LC3EN              : 1;
6139     };
6140 
6141   struct
6142     {
6143     unsigned MODE0              : 1;
6144     unsigned MODE1              : 1;
6145     unsigned MODE2              : 1;
6146     unsigned INTN               : 1;
6147     unsigned INTP               : 1;
6148     unsigned OUT                : 1;
6149     unsigned                    : 1;
6150     unsigned EN                 : 1;
6151     };
6152 
6153   struct
6154     {
6155     unsigned LC3MODE            : 3;
6156     unsigned                    : 5;
6157     };
6158 
6159   struct
6160     {
6161     unsigned MODE               : 3;
6162     unsigned                    : 5;
6163     };
6164   } __CLC3CONbits_t;
6165 
6166 extern __at(0x0F24) volatile __CLC3CONbits_t CLC3CONbits;
6167 
6168 #define _CLC3CON_LC3MODE0       0x01
6169 #define _CLC3CON_MODE0          0x01
6170 #define _CLC3CON_LC3MODE1       0x02
6171 #define _CLC3CON_MODE1          0x02
6172 #define _CLC3CON_LC3MODE2       0x04
6173 #define _CLC3CON_MODE2          0x04
6174 #define _CLC3CON_LC3INTN        0x08
6175 #define _CLC3CON_INTN           0x08
6176 #define _CLC3CON_LC3INTP        0x10
6177 #define _CLC3CON_INTP           0x10
6178 #define _CLC3CON_LC3OUT         0x20
6179 #define _CLC3CON_OUT            0x20
6180 #define _CLC3CON_LC3EN          0x80
6181 #define _CLC3CON_EN             0x80
6182 
6183 //==============================================================================
6184 
6185 
6186 //==============================================================================
6187 //        CLC3POL Bits
6188 
6189 extern __at(0x0F25) __sfr CLC3POL;
6190 
6191 typedef union
6192   {
6193   struct
6194     {
6195     unsigned LC3G1POL           : 1;
6196     unsigned LC3G2POL           : 1;
6197     unsigned LC3G3POL           : 1;
6198     unsigned LC3G4POL           : 1;
6199     unsigned                    : 1;
6200     unsigned                    : 1;
6201     unsigned                    : 1;
6202     unsigned LC3POL             : 1;
6203     };
6204 
6205   struct
6206     {
6207     unsigned G1POL              : 1;
6208     unsigned G2POL              : 1;
6209     unsigned G3POL              : 1;
6210     unsigned G4POL              : 1;
6211     unsigned                    : 1;
6212     unsigned                    : 1;
6213     unsigned                    : 1;
6214     unsigned POL                : 1;
6215     };
6216   } __CLC3POLbits_t;
6217 
6218 extern __at(0x0F25) volatile __CLC3POLbits_t CLC3POLbits;
6219 
6220 #define _CLC3POL_LC3G1POL       0x01
6221 #define _CLC3POL_G1POL          0x01
6222 #define _CLC3POL_LC3G2POL       0x02
6223 #define _CLC3POL_G2POL          0x02
6224 #define _CLC3POL_LC3G3POL       0x04
6225 #define _CLC3POL_G3POL          0x04
6226 #define _CLC3POL_LC3G4POL       0x08
6227 #define _CLC3POL_G4POL          0x08
6228 #define _CLC3POL_LC3POL         0x80
6229 #define _CLC3POL_POL            0x80
6230 
6231 //==============================================================================
6232 
6233 
6234 //==============================================================================
6235 //        CLC3SEL0 Bits
6236 
6237 extern __at(0x0F26) __sfr CLC3SEL0;
6238 
6239 typedef union
6240   {
6241   struct
6242     {
6243     unsigned LC3D1S0            : 1;
6244     unsigned LC3D1S1            : 1;
6245     unsigned LC3D1S2            : 1;
6246     unsigned LC3D1S3            : 1;
6247     unsigned LC3D1S4            : 1;
6248     unsigned                    : 1;
6249     unsigned                    : 1;
6250     unsigned                    : 1;
6251     };
6252 
6253   struct
6254     {
6255     unsigned D1S0               : 1;
6256     unsigned D1S1               : 1;
6257     unsigned D1S2               : 1;
6258     unsigned D1S3               : 1;
6259     unsigned D1S4               : 1;
6260     unsigned                    : 1;
6261     unsigned                    : 1;
6262     unsigned                    : 1;
6263     };
6264 
6265   struct
6266     {
6267     unsigned D1S                : 5;
6268     unsigned                    : 3;
6269     };
6270 
6271   struct
6272     {
6273     unsigned LC3D1S             : 5;
6274     unsigned                    : 3;
6275     };
6276   } __CLC3SEL0bits_t;
6277 
6278 extern __at(0x0F26) volatile __CLC3SEL0bits_t CLC3SEL0bits;
6279 
6280 #define _CLC3SEL0_LC3D1S0       0x01
6281 #define _CLC3SEL0_D1S0          0x01
6282 #define _CLC3SEL0_LC3D1S1       0x02
6283 #define _CLC3SEL0_D1S1          0x02
6284 #define _CLC3SEL0_LC3D1S2       0x04
6285 #define _CLC3SEL0_D1S2          0x04
6286 #define _CLC3SEL0_LC3D1S3       0x08
6287 #define _CLC3SEL0_D1S3          0x08
6288 #define _CLC3SEL0_LC3D1S4       0x10
6289 #define _CLC3SEL0_D1S4          0x10
6290 
6291 //==============================================================================
6292 
6293 
6294 //==============================================================================
6295 //        CLC3SEL1 Bits
6296 
6297 extern __at(0x0F27) __sfr CLC3SEL1;
6298 
6299 typedef union
6300   {
6301   struct
6302     {
6303     unsigned LC3D2S0            : 1;
6304     unsigned LC3D2S1            : 1;
6305     unsigned LC3D2S2            : 1;
6306     unsigned LC3D2S3            : 1;
6307     unsigned LC3D2S4            : 1;
6308     unsigned                    : 1;
6309     unsigned                    : 1;
6310     unsigned                    : 1;
6311     };
6312 
6313   struct
6314     {
6315     unsigned D2S0               : 1;
6316     unsigned D2S1               : 1;
6317     unsigned D2S2               : 1;
6318     unsigned D2S3               : 1;
6319     unsigned D2S4               : 1;
6320     unsigned                    : 1;
6321     unsigned                    : 1;
6322     unsigned                    : 1;
6323     };
6324 
6325   struct
6326     {
6327     unsigned D2S                : 5;
6328     unsigned                    : 3;
6329     };
6330 
6331   struct
6332     {
6333     unsigned LC3D2S             : 5;
6334     unsigned                    : 3;
6335     };
6336   } __CLC3SEL1bits_t;
6337 
6338 extern __at(0x0F27) volatile __CLC3SEL1bits_t CLC3SEL1bits;
6339 
6340 #define _CLC3SEL1_LC3D2S0       0x01
6341 #define _CLC3SEL1_D2S0          0x01
6342 #define _CLC3SEL1_LC3D2S1       0x02
6343 #define _CLC3SEL1_D2S1          0x02
6344 #define _CLC3SEL1_LC3D2S2       0x04
6345 #define _CLC3SEL1_D2S2          0x04
6346 #define _CLC3SEL1_LC3D2S3       0x08
6347 #define _CLC3SEL1_D2S3          0x08
6348 #define _CLC3SEL1_LC3D2S4       0x10
6349 #define _CLC3SEL1_D2S4          0x10
6350 
6351 //==============================================================================
6352 
6353 
6354 //==============================================================================
6355 //        CLC3SEL2 Bits
6356 
6357 extern __at(0x0F28) __sfr CLC3SEL2;
6358 
6359 typedef union
6360   {
6361   struct
6362     {
6363     unsigned LC3D3S0            : 1;
6364     unsigned LC3D3S1            : 1;
6365     unsigned LC3D3S2            : 1;
6366     unsigned LC3D3S3            : 1;
6367     unsigned LC3D3S4            : 1;
6368     unsigned                    : 1;
6369     unsigned                    : 1;
6370     unsigned                    : 1;
6371     };
6372 
6373   struct
6374     {
6375     unsigned D3S0               : 1;
6376     unsigned D3S1               : 1;
6377     unsigned D3S2               : 1;
6378     unsigned D3S3               : 1;
6379     unsigned D3S4               : 1;
6380     unsigned                    : 1;
6381     unsigned                    : 1;
6382     unsigned                    : 1;
6383     };
6384 
6385   struct
6386     {
6387     unsigned D3S                : 5;
6388     unsigned                    : 3;
6389     };
6390 
6391   struct
6392     {
6393     unsigned LC3D3S             : 5;
6394     unsigned                    : 3;
6395     };
6396   } __CLC3SEL2bits_t;
6397 
6398 extern __at(0x0F28) volatile __CLC3SEL2bits_t CLC3SEL2bits;
6399 
6400 #define _CLC3SEL2_LC3D3S0       0x01
6401 #define _CLC3SEL2_D3S0          0x01
6402 #define _CLC3SEL2_LC3D3S1       0x02
6403 #define _CLC3SEL2_D3S1          0x02
6404 #define _CLC3SEL2_LC3D3S2       0x04
6405 #define _CLC3SEL2_D3S2          0x04
6406 #define _CLC3SEL2_LC3D3S3       0x08
6407 #define _CLC3SEL2_D3S3          0x08
6408 #define _CLC3SEL2_LC3D3S4       0x10
6409 #define _CLC3SEL2_D3S4          0x10
6410 
6411 //==============================================================================
6412 
6413 
6414 //==============================================================================
6415 //        CLC3SEL3 Bits
6416 
6417 extern __at(0x0F29) __sfr CLC3SEL3;
6418 
6419 typedef union
6420   {
6421   struct
6422     {
6423     unsigned LC3D4S0            : 1;
6424     unsigned LC3D4S1            : 1;
6425     unsigned LC3D4S2            : 1;
6426     unsigned LC3D4S3            : 1;
6427     unsigned LC3D4S4            : 1;
6428     unsigned                    : 1;
6429     unsigned                    : 1;
6430     unsigned                    : 1;
6431     };
6432 
6433   struct
6434     {
6435     unsigned D4S0               : 1;
6436     unsigned D4S1               : 1;
6437     unsigned D4S2               : 1;
6438     unsigned D4S3               : 1;
6439     unsigned D4S4               : 1;
6440     unsigned                    : 1;
6441     unsigned                    : 1;
6442     unsigned                    : 1;
6443     };
6444 
6445   struct
6446     {
6447     unsigned LC3D4S             : 5;
6448     unsigned                    : 3;
6449     };
6450 
6451   struct
6452     {
6453     unsigned D4S                : 5;
6454     unsigned                    : 3;
6455     };
6456   } __CLC3SEL3bits_t;
6457 
6458 extern __at(0x0F29) volatile __CLC3SEL3bits_t CLC3SEL3bits;
6459 
6460 #define _CLC3SEL3_LC3D4S0       0x01
6461 #define _CLC3SEL3_D4S0          0x01
6462 #define _CLC3SEL3_LC3D4S1       0x02
6463 #define _CLC3SEL3_D4S1          0x02
6464 #define _CLC3SEL3_LC3D4S2       0x04
6465 #define _CLC3SEL3_D4S2          0x04
6466 #define _CLC3SEL3_LC3D4S3       0x08
6467 #define _CLC3SEL3_D4S3          0x08
6468 #define _CLC3SEL3_LC3D4S4       0x10
6469 #define _CLC3SEL3_D4S4          0x10
6470 
6471 //==============================================================================
6472 
6473 
6474 //==============================================================================
6475 //        CLC3GLS0 Bits
6476 
6477 extern __at(0x0F2A) __sfr CLC3GLS0;
6478 
6479 typedef union
6480   {
6481   struct
6482     {
6483     unsigned LC3G1D1N           : 1;
6484     unsigned LC3G1D1T           : 1;
6485     unsigned LC3G1D2N           : 1;
6486     unsigned LC3G1D2T           : 1;
6487     unsigned LC3G1D3N           : 1;
6488     unsigned LC3G1D3T           : 1;
6489     unsigned LC3G1D4N           : 1;
6490     unsigned LC3G1D4T           : 1;
6491     };
6492 
6493   struct
6494     {
6495     unsigned D1N                : 1;
6496     unsigned D1T                : 1;
6497     unsigned D2N                : 1;
6498     unsigned D2T                : 1;
6499     unsigned D3N                : 1;
6500     unsigned D3T                : 1;
6501     unsigned D4N                : 1;
6502     unsigned D4T                : 1;
6503     };
6504   } __CLC3GLS0bits_t;
6505 
6506 extern __at(0x0F2A) volatile __CLC3GLS0bits_t CLC3GLS0bits;
6507 
6508 #define _CLC3GLS0_LC3G1D1N      0x01
6509 #define _CLC3GLS0_D1N           0x01
6510 #define _CLC3GLS0_LC3G1D1T      0x02
6511 #define _CLC3GLS0_D1T           0x02
6512 #define _CLC3GLS0_LC3G1D2N      0x04
6513 #define _CLC3GLS0_D2N           0x04
6514 #define _CLC3GLS0_LC3G1D2T      0x08
6515 #define _CLC3GLS0_D2T           0x08
6516 #define _CLC3GLS0_LC3G1D3N      0x10
6517 #define _CLC3GLS0_D3N           0x10
6518 #define _CLC3GLS0_LC3G1D3T      0x20
6519 #define _CLC3GLS0_D3T           0x20
6520 #define _CLC3GLS0_LC3G1D4N      0x40
6521 #define _CLC3GLS0_D4N           0x40
6522 #define _CLC3GLS0_LC3G1D4T      0x80
6523 #define _CLC3GLS0_D4T           0x80
6524 
6525 //==============================================================================
6526 
6527 
6528 //==============================================================================
6529 //        CLC3GLS1 Bits
6530 
6531 extern __at(0x0F2B) __sfr CLC3GLS1;
6532 
6533 typedef union
6534   {
6535   struct
6536     {
6537     unsigned LC3G2D1N           : 1;
6538     unsigned LC3G2D1T           : 1;
6539     unsigned LC3G2D2N           : 1;
6540     unsigned LC3G2D2T           : 1;
6541     unsigned LC3G2D3N           : 1;
6542     unsigned LC3G2D3T           : 1;
6543     unsigned LC3G2D4N           : 1;
6544     unsigned LC3G2D4T           : 1;
6545     };
6546 
6547   struct
6548     {
6549     unsigned D1N                : 1;
6550     unsigned D1T                : 1;
6551     unsigned D2N                : 1;
6552     unsigned D2T                : 1;
6553     unsigned D3N                : 1;
6554     unsigned D3T                : 1;
6555     unsigned D4N                : 1;
6556     unsigned D4T                : 1;
6557     };
6558   } __CLC3GLS1bits_t;
6559 
6560 extern __at(0x0F2B) volatile __CLC3GLS1bits_t CLC3GLS1bits;
6561 
6562 #define _CLC3GLS1_LC3G2D1N      0x01
6563 #define _CLC3GLS1_D1N           0x01
6564 #define _CLC3GLS1_LC3G2D1T      0x02
6565 #define _CLC3GLS1_D1T           0x02
6566 #define _CLC3GLS1_LC3G2D2N      0x04
6567 #define _CLC3GLS1_D2N           0x04
6568 #define _CLC3GLS1_LC3G2D2T      0x08
6569 #define _CLC3GLS1_D2T           0x08
6570 #define _CLC3GLS1_LC3G2D3N      0x10
6571 #define _CLC3GLS1_D3N           0x10
6572 #define _CLC3GLS1_LC3G2D3T      0x20
6573 #define _CLC3GLS1_D3T           0x20
6574 #define _CLC3GLS1_LC3G2D4N      0x40
6575 #define _CLC3GLS1_D4N           0x40
6576 #define _CLC3GLS1_LC3G2D4T      0x80
6577 #define _CLC3GLS1_D4T           0x80
6578 
6579 //==============================================================================
6580 
6581 
6582 //==============================================================================
6583 //        CLC3GLS2 Bits
6584 
6585 extern __at(0x0F2C) __sfr CLC3GLS2;
6586 
6587 typedef union
6588   {
6589   struct
6590     {
6591     unsigned LC3G3D1N           : 1;
6592     unsigned LC3G3D1T           : 1;
6593     unsigned LC3G3D2N           : 1;
6594     unsigned LC3G3D2T           : 1;
6595     unsigned LC3G3D3N           : 1;
6596     unsigned LC3G3D3T           : 1;
6597     unsigned LC3G3D4N           : 1;
6598     unsigned LC3G3D4T           : 1;
6599     };
6600 
6601   struct
6602     {
6603     unsigned D1N                : 1;
6604     unsigned D1T                : 1;
6605     unsigned D2N                : 1;
6606     unsigned D2T                : 1;
6607     unsigned D3N                : 1;
6608     unsigned D3T                : 1;
6609     unsigned D4N                : 1;
6610     unsigned D4T                : 1;
6611     };
6612   } __CLC3GLS2bits_t;
6613 
6614 extern __at(0x0F2C) volatile __CLC3GLS2bits_t CLC3GLS2bits;
6615 
6616 #define _CLC3GLS2_LC3G3D1N      0x01
6617 #define _CLC3GLS2_D1N           0x01
6618 #define _CLC3GLS2_LC3G3D1T      0x02
6619 #define _CLC3GLS2_D1T           0x02
6620 #define _CLC3GLS2_LC3G3D2N      0x04
6621 #define _CLC3GLS2_D2N           0x04
6622 #define _CLC3GLS2_LC3G3D2T      0x08
6623 #define _CLC3GLS2_D2T           0x08
6624 #define _CLC3GLS2_LC3G3D3N      0x10
6625 #define _CLC3GLS2_D3N           0x10
6626 #define _CLC3GLS2_LC3G3D3T      0x20
6627 #define _CLC3GLS2_D3T           0x20
6628 #define _CLC3GLS2_LC3G3D4N      0x40
6629 #define _CLC3GLS2_D4N           0x40
6630 #define _CLC3GLS2_LC3G3D4T      0x80
6631 #define _CLC3GLS2_D4T           0x80
6632 
6633 //==============================================================================
6634 
6635 
6636 //==============================================================================
6637 //        CLC3GLS3 Bits
6638 
6639 extern __at(0x0F2D) __sfr CLC3GLS3;
6640 
6641 typedef union
6642   {
6643   struct
6644     {
6645     unsigned LC3G4D1N           : 1;
6646     unsigned LC3G4D1T           : 1;
6647     unsigned LC3G4D2N           : 1;
6648     unsigned LC3G4D2T           : 1;
6649     unsigned LC3G4D3N           : 1;
6650     unsigned LC3G4D3T           : 1;
6651     unsigned LC3G4D4N           : 1;
6652     unsigned LC3G4D4T           : 1;
6653     };
6654 
6655   struct
6656     {
6657     unsigned G4D1N              : 1;
6658     unsigned G4D1T              : 1;
6659     unsigned G4D2N              : 1;
6660     unsigned G4D2T              : 1;
6661     unsigned G4D3N              : 1;
6662     unsigned G4D3T              : 1;
6663     unsigned G4D4N              : 1;
6664     unsigned G4D4T              : 1;
6665     };
6666   } __CLC3GLS3bits_t;
6667 
6668 extern __at(0x0F2D) volatile __CLC3GLS3bits_t CLC3GLS3bits;
6669 
6670 #define _CLC3GLS3_LC3G4D1N      0x01
6671 #define _CLC3GLS3_G4D1N         0x01
6672 #define _CLC3GLS3_LC3G4D1T      0x02
6673 #define _CLC3GLS3_G4D1T         0x02
6674 #define _CLC3GLS3_LC3G4D2N      0x04
6675 #define _CLC3GLS3_G4D2N         0x04
6676 #define _CLC3GLS3_LC3G4D2T      0x08
6677 #define _CLC3GLS3_G4D2T         0x08
6678 #define _CLC3GLS3_LC3G4D3N      0x10
6679 #define _CLC3GLS3_G4D3N         0x10
6680 #define _CLC3GLS3_LC3G4D3T      0x20
6681 #define _CLC3GLS3_G4D3T         0x20
6682 #define _CLC3GLS3_LC3G4D4N      0x40
6683 #define _CLC3GLS3_G4D4N         0x40
6684 #define _CLC3GLS3_LC3G4D4T      0x80
6685 #define _CLC3GLS3_G4D4T         0x80
6686 
6687 //==============================================================================
6688 
6689 
6690 //==============================================================================
6691 //        ICDBK0H Bits
6692 
6693 extern __at(0x0F9E) __sfr ICDBK0H;
6694 
6695 typedef struct
6696   {
6697   unsigned BKA8                 : 1;
6698   unsigned BKA9                 : 1;
6699   unsigned BKA10                : 1;
6700   unsigned BKA11                : 1;
6701   unsigned BKA12                : 1;
6702   unsigned BKA13                : 1;
6703   unsigned BKA14                : 1;
6704   unsigned                      : 1;
6705   } __ICDBK0Hbits_t;
6706 
6707 extern __at(0x0F9E) volatile __ICDBK0Hbits_t ICDBK0Hbits;
6708 
6709 #define _BKA8                   0x01
6710 #define _BKA9                   0x02
6711 #define _BKA10                  0x04
6712 #define _BKA11                  0x08
6713 #define _BKA12                  0x10
6714 #define _BKA13                  0x20
6715 #define _BKA14                  0x40
6716 
6717 //==============================================================================
6718 
6719 
6720 //==============================================================================
6721 //        STATUS_SHAD Bits
6722 
6723 extern __at(0x0FE4) __sfr STATUS_SHAD;
6724 
6725 typedef struct
6726   {
6727   unsigned C_SHAD               : 1;
6728   unsigned DC_SHAD              : 1;
6729   unsigned Z_SHAD               : 1;
6730   unsigned                      : 1;
6731   unsigned                      : 1;
6732   unsigned                      : 1;
6733   unsigned                      : 1;
6734   unsigned                      : 1;
6735   } __STATUS_SHADbits_t;
6736 
6737 extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits;
6738 
6739 #define _C_SHAD                 0x01
6740 #define _DC_SHAD                0x02
6741 #define _Z_SHAD                 0x04
6742 
6743 //==============================================================================
6744 
6745 extern __at(0x0FE5) __sfr WREG_SHAD;
6746 extern __at(0x0FE6) __sfr BSR_SHAD;
6747 extern __at(0x0FE7) __sfr PCLATH_SHAD;
6748 extern __at(0x0FE8) __sfr FSR0L_SHAD;
6749 extern __at(0x0FE9) __sfr FSR0H_SHAD;
6750 extern __at(0x0FEA) __sfr FSR1L_SHAD;
6751 extern __at(0x0FEB) __sfr FSR1H_SHAD;
6752 extern __at(0x0FED) __sfr STKPTR;
6753 extern __at(0x0FEE) __sfr TOSL;
6754 extern __at(0x0FEF) __sfr TOSH;
6755 
6756 //==============================================================================
6757 //
6758 //        Configuration Bits
6759 //
6760 //==============================================================================
6761 
6762 #define _CONFIG1                0x8007
6763 #define _CONFIG2                0x8008
6764 
6765 //----------------------------- CONFIG1 Options -------------------------------
6766 
6767 #define _FOSC_LP                0x3FF8  // LP Oscillator, Low-power crystal connected between OSC1 and OSC2 pins.
6768 #define _FOSC_XT                0x3FF9  // XT Oscillator, Crystal/resonator connected between OSC1 and OSC2 pins.
6769 #define _FOSC_HS                0x3FFA  // HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins.
6770 #define _FOSC_EXTRC             0x3FFB  // EXTRC oscillator: External RC circuit connected to CLKIN pin.
6771 #define _FOSC_INTOSC            0x3FFC  // INTOSC oscillator: I/O function on CLKIN pin.
6772 #define _FOSC_ECL               0x3FFD  // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pins.
6773 #define _FOSC_ECM               0x3FFE  // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pins.
6774 #define _FOSC_ECH               0x3FFF  // ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins.
6775 #define _WDTE_OFF               0x3FE7  // WDT disabled.
6776 #define _WDTE_SWDTEN            0x3FEF  // WDT controlled by the SWDTEN bit in the WDTCON register.
6777 #define _WDTE_NSLEEP            0x3FF7  // WDT enabled while running and disabled in Sleep.
6778 #define _WDTE_ON                0x3FFF  // WDT enabled.
6779 #define _PWRTE_ON               0x3FDF  // PWRT enabled.
6780 #define _PWRTE_OFF              0x3FFF  // PWRT disabled.
6781 #define _MCLRE_OFF              0x3FBF  // MCLR/VPP pin function is digital input.
6782 #define _MCLRE_ON               0x3FFF  // MCLR/VPP pin function is MCLR.
6783 #define _CP_ON                  0x3F7F  // Program memory code protection is enabled.
6784 #define _CP_OFF                 0x3FFF  // Program memory code protection is disabled.
6785 #define _BOREN_OFF              0x39FF  // Brown-out Reset disabled.
6786 #define _BOREN_SBODEN           0x3BFF  // Brown-out Reset controlled by the SBOREN bit in the BORCON register.
6787 #define _BOREN_NSLEEP           0x3DFF  // Brown-out Reset enabled while running and disabled in Sleep.
6788 #define _BOREN_ON               0x3FFF  // Brown-out Reset enabled.
6789 #define _CLKOUTEN_ON            0x37FF  // CLKOUT function is enabled on the CLKOUT pin.
6790 #define _CLKOUTEN_OFF           0x3FFF  // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin.
6791 #define _IESO_OFF               0x2FFF  // Internal/External Switchover Mode is disabled.
6792 #define _IESO_ON                0x3FFF  // Internal/External Switchover Mode is enabled.
6793 #define _FCMEN_OFF              0x1FFF  // Fail-Safe Clock Monitor is disabled.
6794 #define _FCMEN_ON               0x3FFF  // Fail-Safe Clock Monitor is enabled.
6795 
6796 //----------------------------- CONFIG2 Options -------------------------------
6797 
6798 #define _WRT_ALL                0x3FFC  // 000h to 1FFFh write protected, no addresses may be modified by EECON control.
6799 #define _WRT_HALF               0x3FFD  // 000h to FFFh write protected, 1000h to 1FFFh may be modified by EECON control.
6800 #define _WRT_BOOT               0x3FFE  // 000h to 1FFh write protected, 200h to 1FFFh may be modified by EECON control.
6801 #define _WRT_OFF                0x3FFF  // Write protection off.
6802 #define _PPS1WAY_OFF            0x3FFB  // The PPSLOCK bit can be set and cleared repeatedly by software.
6803 #define _PPS1WAY_ON             0x3FFF  // The PPSLOCK bit cannot be cleared once it is set by software.
6804 #define _ZCDDIS_OFF             0x3F7F  // Zero-cross detect circuit is enabled at POR.
6805 #define _ZCDDIS_ON              0x3FFF  // Zero-cross detect circuit is disabled at POR.
6806 #define _PLLEN_OFF              0x3EFF  // 4x PLL is enabled when software sets the SPLLEN bit.
6807 #define _PLLEN_ON               0x3FFF  // 4x PLL is always enabled.
6808 #define _STVREN_OFF             0x3DFF  // Stack Overflow or Underflow will not cause a Reset.
6809 #define _STVREN_ON              0x3FFF  // Stack Overflow or Underflow will cause a Reset.
6810 #define _BORV_HI                0x3BFF  // Brown-out Reset Voltage (Vbor), high trip point selected.
6811 #define _BORV_LO                0x3FFF  // Brown-out Reset Voltage (Vbor), low trip point selected.
6812 #define _LPBOR_ON               0x37FF  // Low-Power BOR is enabled.
6813 #define _LPBOR_OFF              0x3FFF  // Low-Power BOR is disabled.
6814 #define _DEBUG_ON               0x2FFF  // In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger.
6815 #define _DEBUG_OFF              0x3FFF  // In-Circuit Debugger disabled, ICSPCLK and ICSPDAT are general purpose I/O pins.
6816 #define _LVP_OFF                0x1FFF  // High-voltage on MCLR/VPP must be used for programming.
6817 #define _LVP_ON                 0x3FFF  // Low-voltage programming enabled.
6818 
6819 //==============================================================================
6820 
6821 #define _DEVID1                 0x8006
6822 
6823 #define _IDLOC0                 0x8000
6824 #define _IDLOC1                 0x8001
6825 #define _IDLOC2                 0x8002
6826 #define _IDLOC3                 0x8003
6827 
6828 //==============================================================================
6829 
6830 #ifndef NO_BIT_DEFINES
6831 
6832 #define ADON                    ADCON0bits.ADON                 // bit 0
6833 #define GO_NOT_DONE             ADCON0bits.GO_NOT_DONE          // bit 1, shadows bit in ADCON0bits
6834 #define ADGO                    ADCON0bits.ADGO                 // bit 1, shadows bit in ADCON0bits
6835 #define GO                      ADCON0bits.GO                   // bit 1, shadows bit in ADCON0bits
6836 #define CHS0                    ADCON0bits.CHS0                 // bit 2
6837 #define CHS1                    ADCON0bits.CHS1                 // bit 3
6838 #define CHS2                    ADCON0bits.CHS2                 // bit 4
6839 #define CHS3                    ADCON0bits.CHS3                 // bit 5
6840 #define CHS4                    ADCON0bits.CHS4                 // bit 6
6841 
6842 #define ADPREF0                 ADCON1bits.ADPREF0              // bit 0
6843 #define ADPREF1                 ADCON1bits.ADPREF1              // bit 1
6844 #define ADNREF                  ADCON1bits.ADNREF               // bit 2
6845 #define ADFM                    ADCON1bits.ADFM                 // bit 7
6846 
6847 #define TRIGSEL0                ADCON2bits.TRIGSEL0             // bit 4
6848 #define TRIGSEL1                ADCON2bits.TRIGSEL1             // bit 5
6849 #define TRIGSEL2                ADCON2bits.TRIGSEL2             // bit 6
6850 #define TRIGSEL3                ADCON2bits.TRIGSEL3             // bit 7
6851 
6852 #define ANSA0                   ANSELAbits.ANSA0                // bit 0
6853 #define ANSA1                   ANSELAbits.ANSA1                // bit 1
6854 #define ANSA2                   ANSELAbits.ANSA2                // bit 2
6855 #define ANSA4                   ANSELAbits.ANSA4                // bit 4
6856 #define ANS5                    ANSELAbits.ANS5                 // bit 5
6857 
6858 #define ANSB4                   ANSELBbits.ANSB4                // bit 4
6859 #define ANSB5                   ANSELBbits.ANSB5                // bit 5
6860 
6861 #define ANSC0                   ANSELCbits.ANSC0                // bit 0
6862 #define ANSC1                   ANSELCbits.ANSC1                // bit 1
6863 #define ANSC2                   ANSELCbits.ANSC2                // bit 2
6864 #define ANSC3                   ANSELCbits.ANSC3                // bit 3
6865 #define ANSC6                   ANSELCbits.ANSC6                // bit 6
6866 #define ANSC7                   ANSELCbits.ANSC7                // bit 7
6867 
6868 #define ABDEN                   BAUD1CONbits.ABDEN              // bit 0
6869 #define WUE                     BAUD1CONbits.WUE                // bit 1
6870 #define BRG16                   BAUD1CONbits.BRG16              // bit 3
6871 #define SCKP                    BAUD1CONbits.SCKP               // bit 4
6872 #define RCIDL                   BAUD1CONbits.RCIDL              // bit 6
6873 #define ABDOVF                  BAUD1CONbits.ABDOVF             // bit 7
6874 
6875 #define BORRDY                  BORCONbits.BORRDY               // bit 0
6876 #define BORFS                   BORCONbits.BORFS                // bit 6
6877 #define SBOREN                  BORCONbits.SBOREN               // bit 7
6878 
6879 #define BSR0                    BSRbits.BSR0                    // bit 0
6880 #define BSR1                    BSRbits.BSR1                    // bit 1
6881 #define BSR2                    BSRbits.BSR2                    // bit 2
6882 #define BSR3                    BSRbits.BSR3                    // bit 3
6883 #define BSR4                    BSRbits.BSR4                    // bit 4
6884 
6885 #define CCP1M0                  CCP1CONbits.CCP1M0              // bit 0
6886 #define CCP1M1                  CCP1CONbits.CCP1M1              // bit 1
6887 #define CCP1M2                  CCP1CONbits.CCP1M2              // bit 2
6888 #define CCP1M3                  CCP1CONbits.CCP1M3              // bit 3
6889 #define DC1B0                   CCP1CONbits.DC1B0               // bit 4, shadows bit in CCP1CONbits
6890 #define CCP1Y                   CCP1CONbits.CCP1Y               // bit 4, shadows bit in CCP1CONbits
6891 #define DC1B1                   CCP1CONbits.DC1B1               // bit 5, shadows bit in CCP1CONbits
6892 #define CCP1X                   CCP1CONbits.CCP1X               // bit 5, shadows bit in CCP1CONbits
6893 
6894 #define CCP2M0                  CCP2CONbits.CCP2M0              // bit 0
6895 #define CCP2M1                  CCP2CONbits.CCP2M1              // bit 1
6896 #define CCP2M2                  CCP2CONbits.CCP2M2              // bit 2
6897 #define CCP2M3                  CCP2CONbits.CCP2M3              // bit 3
6898 #define DC2B0                   CCP2CONbits.DC2B0               // bit 4, shadows bit in CCP2CONbits
6899 #define CCP2Y                   CCP2CONbits.CCP2Y               // bit 4, shadows bit in CCP2CONbits
6900 #define DC2B1                   CCP2CONbits.DC2B1               // bit 5, shadows bit in CCP2CONbits
6901 #define CCP2X                   CCP2CONbits.CCP2X               // bit 5, shadows bit in CCP2CONbits
6902 
6903 #define C1TSEL0                 CCPTMRSbits.C1TSEL0             // bit 0
6904 #define C1TSEL1                 CCPTMRSbits.C1TSEL1             // bit 1
6905 #define C2TSEL0                 CCPTMRSbits.C2TSEL0             // bit 2
6906 #define C2TSEL1                 CCPTMRSbits.C2TSEL1             // bit 3
6907 #define P3TSEL0                 CCPTMRSbits.P3TSEL0             // bit 4
6908 #define P3TSEL1                 CCPTMRSbits.P3TSEL1             // bit 5
6909 #define P4TSEL0                 CCPTMRSbits.P4TSEL0             // bit 6
6910 #define P4TSEL1                 CCPTMRSbits.P4TSEL1             // bit 7
6911 
6912 #define LC1MODE0                CLC1CONbits.LC1MODE0            // bit 0, shadows bit in CLC1CONbits
6913 #define MODE0                   CLC1CONbits.MODE0               // bit 0, shadows bit in CLC1CONbits
6914 #define LC1MODE1                CLC1CONbits.LC1MODE1            // bit 1, shadows bit in CLC1CONbits
6915 #define MODE1                   CLC1CONbits.MODE1               // bit 1, shadows bit in CLC1CONbits
6916 #define LC1MODE2                CLC1CONbits.LC1MODE2            // bit 2, shadows bit in CLC1CONbits
6917 #define MODE2                   CLC1CONbits.MODE2               // bit 2, shadows bit in CLC1CONbits
6918 #define LC1INTN                 CLC1CONbits.LC1INTN             // bit 3, shadows bit in CLC1CONbits
6919 #define INTN                    CLC1CONbits.INTN                // bit 3, shadows bit in CLC1CONbits
6920 #define LC1INTP                 CLC1CONbits.LC1INTP             // bit 4, shadows bit in CLC1CONbits
6921 #define INTP                    CLC1CONbits.INTP                // bit 4, shadows bit in CLC1CONbits
6922 #define LC1OUT                  CLC1CONbits.LC1OUT              // bit 5, shadows bit in CLC1CONbits
6923 #define OUT                     CLC1CONbits.OUT                 // bit 5, shadows bit in CLC1CONbits
6924 #define LC1EN                   CLC1CONbits.LC1EN               // bit 7, shadows bit in CLC1CONbits
6925 #define EN                      CLC1CONbits.EN                  // bit 7, shadows bit in CLC1CONbits
6926 
6927 #define LC1G1D1N                CLC1GLS0bits.LC1G1D1N           // bit 0, shadows bit in CLC1GLS0bits
6928 #define D1N                     CLC1GLS0bits.D1N                // bit 0, shadows bit in CLC1GLS0bits
6929 #define LC1G1D1T                CLC1GLS0bits.LC1G1D1T           // bit 1, shadows bit in CLC1GLS0bits
6930 #define D1T                     CLC1GLS0bits.D1T                // bit 1, shadows bit in CLC1GLS0bits
6931 #define LC1G1D2N                CLC1GLS0bits.LC1G1D2N           // bit 2, shadows bit in CLC1GLS0bits
6932 #define D2N                     CLC1GLS0bits.D2N                // bit 2, shadows bit in CLC1GLS0bits
6933 #define LC1G1D2T                CLC1GLS0bits.LC1G1D2T           // bit 3, shadows bit in CLC1GLS0bits
6934 #define D2T                     CLC1GLS0bits.D2T                // bit 3, shadows bit in CLC1GLS0bits
6935 #define LC1G1D3N                CLC1GLS0bits.LC1G1D3N           // bit 4, shadows bit in CLC1GLS0bits
6936 #define D3N                     CLC1GLS0bits.D3N                // bit 4, shadows bit in CLC1GLS0bits
6937 #define LC1G1D3T                CLC1GLS0bits.LC1G1D3T           // bit 5, shadows bit in CLC1GLS0bits
6938 #define D3T                     CLC1GLS0bits.D3T                // bit 5, shadows bit in CLC1GLS0bits
6939 #define LC1G1D4N                CLC1GLS0bits.LC1G1D4N           // bit 6, shadows bit in CLC1GLS0bits
6940 #define D4N                     CLC1GLS0bits.D4N                // bit 6, shadows bit in CLC1GLS0bits
6941 #define LC1G1D4T                CLC1GLS0bits.LC1G1D4T           // bit 7, shadows bit in CLC1GLS0bits
6942 #define D4T                     CLC1GLS0bits.D4T                // bit 7, shadows bit in CLC1GLS0bits
6943 
6944 #define LC1G4D1N                CLC1GLS3bits.LC1G4D1N           // bit 0, shadows bit in CLC1GLS3bits
6945 #define G4D1N                   CLC1GLS3bits.G4D1N              // bit 0, shadows bit in CLC1GLS3bits
6946 #define LC1G4D1T                CLC1GLS3bits.LC1G4D1T           // bit 1, shadows bit in CLC1GLS3bits
6947 #define G4D1T                   CLC1GLS3bits.G4D1T              // bit 1, shadows bit in CLC1GLS3bits
6948 #define LC1G4D2N                CLC1GLS3bits.LC1G4D2N           // bit 2, shadows bit in CLC1GLS3bits
6949 #define G4D2N                   CLC1GLS3bits.G4D2N              // bit 2, shadows bit in CLC1GLS3bits
6950 #define LC1G4D2T                CLC1GLS3bits.LC1G4D2T           // bit 3, shadows bit in CLC1GLS3bits
6951 #define G4D2T                   CLC1GLS3bits.G4D2T              // bit 3, shadows bit in CLC1GLS3bits
6952 #define LC1G4D3N                CLC1GLS3bits.LC1G4D3N           // bit 4, shadows bit in CLC1GLS3bits
6953 #define G4D3N                   CLC1GLS3bits.G4D3N              // bit 4, shadows bit in CLC1GLS3bits
6954 #define LC1G4D3T                CLC1GLS3bits.LC1G4D3T           // bit 5, shadows bit in CLC1GLS3bits
6955 #define G4D3T                   CLC1GLS3bits.G4D3T              // bit 5, shadows bit in CLC1GLS3bits
6956 #define LC1G4D4N                CLC1GLS3bits.LC1G4D4N           // bit 6, shadows bit in CLC1GLS3bits
6957 #define G4D4N                   CLC1GLS3bits.G4D4N              // bit 6, shadows bit in CLC1GLS3bits
6958 #define LC1G4D4T                CLC1GLS3bits.LC1G4D4T           // bit 7, shadows bit in CLC1GLS3bits
6959 #define G4D4T                   CLC1GLS3bits.G4D4T              // bit 7, shadows bit in CLC1GLS3bits
6960 
6961 #define LC1G1POL                CLC1POLbits.LC1G1POL            // bit 0, shadows bit in CLC1POLbits
6962 #define G1POL                   CLC1POLbits.G1POL               // bit 0, shadows bit in CLC1POLbits
6963 #define LC1G2POL                CLC1POLbits.LC1G2POL            // bit 1, shadows bit in CLC1POLbits
6964 #define G2POL                   CLC1POLbits.G2POL               // bit 1, shadows bit in CLC1POLbits
6965 #define LC1G3POL                CLC1POLbits.LC1G3POL            // bit 2, shadows bit in CLC1POLbits
6966 #define G3POL                   CLC1POLbits.G3POL               // bit 2, shadows bit in CLC1POLbits
6967 #define LC1G4POL                CLC1POLbits.LC1G4POL            // bit 3, shadows bit in CLC1POLbits
6968 #define G4POL                   CLC1POLbits.G4POL               // bit 3, shadows bit in CLC1POLbits
6969 #define LC1POL                  CLC1POLbits.LC1POL              // bit 7, shadows bit in CLC1POLbits
6970 #define POL                     CLC1POLbits.POL                 // bit 7, shadows bit in CLC1POLbits
6971 
6972 #define LC1D1S0                 CLC1SEL0bits.LC1D1S0            // bit 0, shadows bit in CLC1SEL0bits
6973 #define D1S0                    CLC1SEL0bits.D1S0               // bit 0, shadows bit in CLC1SEL0bits
6974 #define LC1D1S1                 CLC1SEL0bits.LC1D1S1            // bit 1, shadows bit in CLC1SEL0bits
6975 #define D1S1                    CLC1SEL0bits.D1S1               // bit 1, shadows bit in CLC1SEL0bits
6976 #define LC1D1S2                 CLC1SEL0bits.LC1D1S2            // bit 2, shadows bit in CLC1SEL0bits
6977 #define D1S2                    CLC1SEL0bits.D1S2               // bit 2, shadows bit in CLC1SEL0bits
6978 #define LC1D1S3                 CLC1SEL0bits.LC1D1S3            // bit 3, shadows bit in CLC1SEL0bits
6979 #define D1S3                    CLC1SEL0bits.D1S3               // bit 3, shadows bit in CLC1SEL0bits
6980 #define LC1D1S4                 CLC1SEL0bits.LC1D1S4            // bit 4, shadows bit in CLC1SEL0bits
6981 #define D1S4                    CLC1SEL0bits.D1S4               // bit 4, shadows bit in CLC1SEL0bits
6982 
6983 #define LC1D2S0                 CLC1SEL1bits.LC1D2S0            // bit 0, shadows bit in CLC1SEL1bits
6984 #define D2S0                    CLC1SEL1bits.D2S0               // bit 0, shadows bit in CLC1SEL1bits
6985 #define LC1D2S1                 CLC1SEL1bits.LC1D2S1            // bit 1, shadows bit in CLC1SEL1bits
6986 #define D2S1                    CLC1SEL1bits.D2S1               // bit 1, shadows bit in CLC1SEL1bits
6987 #define LC1D2S2                 CLC1SEL1bits.LC1D2S2            // bit 2, shadows bit in CLC1SEL1bits
6988 #define D2S2                    CLC1SEL1bits.D2S2               // bit 2, shadows bit in CLC1SEL1bits
6989 #define LC1D2S3                 CLC1SEL1bits.LC1D2S3            // bit 3, shadows bit in CLC1SEL1bits
6990 #define D2S3                    CLC1SEL1bits.D2S3               // bit 3, shadows bit in CLC1SEL1bits
6991 #define LC1D2S4                 CLC1SEL1bits.LC1D2S4            // bit 4, shadows bit in CLC1SEL1bits
6992 #define D2S4                    CLC1SEL1bits.D2S4               // bit 4, shadows bit in CLC1SEL1bits
6993 
6994 #define LC1D3S0                 CLC1SEL2bits.LC1D3S0            // bit 0, shadows bit in CLC1SEL2bits
6995 #define D3S0                    CLC1SEL2bits.D3S0               // bit 0, shadows bit in CLC1SEL2bits
6996 #define LC1D3S1                 CLC1SEL2bits.LC1D3S1            // bit 1, shadows bit in CLC1SEL2bits
6997 #define D3S1                    CLC1SEL2bits.D3S1               // bit 1, shadows bit in CLC1SEL2bits
6998 #define LC1D3S2                 CLC1SEL2bits.LC1D3S2            // bit 2, shadows bit in CLC1SEL2bits
6999 #define D3S2                    CLC1SEL2bits.D3S2               // bit 2, shadows bit in CLC1SEL2bits
7000 #define LC1D3S3                 CLC1SEL2bits.LC1D3S3            // bit 3, shadows bit in CLC1SEL2bits
7001 #define D3S3                    CLC1SEL2bits.D3S3               // bit 3, shadows bit in CLC1SEL2bits
7002 #define LC1D3S4                 CLC1SEL2bits.LC1D3S4            // bit 4, shadows bit in CLC1SEL2bits
7003 #define D3S4                    CLC1SEL2bits.D3S4               // bit 4, shadows bit in CLC1SEL2bits
7004 
7005 #define LC1D4S0                 CLC1SEL3bits.LC1D4S0            // bit 0, shadows bit in CLC1SEL3bits
7006 #define D4S0                    CLC1SEL3bits.D4S0               // bit 0, shadows bit in CLC1SEL3bits
7007 #define LC1D4S1                 CLC1SEL3bits.LC1D4S1            // bit 1, shadows bit in CLC1SEL3bits
7008 #define D4S1                    CLC1SEL3bits.D4S1               // bit 1, shadows bit in CLC1SEL3bits
7009 #define LC1D4S2                 CLC1SEL3bits.LC1D4S2            // bit 2, shadows bit in CLC1SEL3bits
7010 #define D4S2                    CLC1SEL3bits.D4S2               // bit 2, shadows bit in CLC1SEL3bits
7011 #define LC1D4S3                 CLC1SEL3bits.LC1D4S3            // bit 3, shadows bit in CLC1SEL3bits
7012 #define D4S3                    CLC1SEL3bits.D4S3               // bit 3, shadows bit in CLC1SEL3bits
7013 #define LC1D4S4                 CLC1SEL3bits.LC1D4S4            // bit 4, shadows bit in CLC1SEL3bits
7014 #define D4S4                    CLC1SEL3bits.D4S4               // bit 4, shadows bit in CLC1SEL3bits
7015 
7016 #define MCLC1OUT                CLCDATAbits.MCLC1OUT            // bit 0
7017 #define MCLC2OUT                CLCDATAbits.MCLC2OUT            // bit 1
7018 #define MCLC3OUT                CLCDATAbits.MCLC3OUT            // bit 2
7019 
7020 #define C1SYNC                  CM1CON0bits.C1SYNC              // bit 0
7021 #define C1HYS                   CM1CON0bits.C1HYS               // bit 1
7022 #define C1SP                    CM1CON0bits.C1SP                // bit 2
7023 #define C1ZLF                   CM1CON0bits.C1ZLF               // bit 3
7024 #define C1POL                   CM1CON0bits.C1POL               // bit 4
7025 #define C1OUT                   CM1CON0bits.C1OUT               // bit 6
7026 #define C1ON                    CM1CON0bits.C1ON                // bit 7
7027 
7028 #define C1NCH0                  CM1CON1bits.C1NCH0              // bit 0
7029 #define C1NCH1                  CM1CON1bits.C1NCH1              // bit 1
7030 #define C1NCH2                  CM1CON1bits.C1NCH2              // bit 2
7031 #define C1PCH0                  CM1CON1bits.C1PCH0              // bit 3
7032 #define C1PCH1                  CM1CON1bits.C1PCH1              // bit 4
7033 #define C1PCH2                  CM1CON1bits.C1PCH2              // bit 5
7034 #define C1INTN                  CM1CON1bits.C1INTN              // bit 6
7035 #define C1INTP                  CM1CON1bits.C1INTP              // bit 7
7036 
7037 #define C2SYNC                  CM2CON0bits.C2SYNC              // bit 0
7038 #define C2HYS                   CM2CON0bits.C2HYS               // bit 1
7039 #define C2SP                    CM2CON0bits.C2SP                // bit 2
7040 #define C2ZLF                   CM2CON0bits.C2ZLF               // bit 3
7041 #define C2POL                   CM2CON0bits.C2POL               // bit 4
7042 #define C2OUT                   CM2CON0bits.C2OUT               // bit 6
7043 #define C2ON                    CM2CON0bits.C2ON                // bit 7
7044 
7045 #define C2NCH0                  CM2CON1bits.C2NCH0              // bit 0
7046 #define C2NCH1                  CM2CON1bits.C2NCH1              // bit 1
7047 #define C2NCH2                  CM2CON1bits.C2NCH2              // bit 2
7048 #define C2PCH0                  CM2CON1bits.C2PCH0              // bit 3
7049 #define C2PCH1                  CM2CON1bits.C2PCH1              // bit 4
7050 #define C2PCH2                  CM2CON1bits.C2PCH2              // bit 5
7051 #define C2INTN                  CM2CON1bits.C2INTN              // bit 6
7052 #define C2INTP                  CM2CON1bits.C2INTP              // bit 7
7053 
7054 #define MC1OUT                  CMOUTbits.MC1OUT                // bit 0
7055 #define MC2OUT                  CMOUTbits.MC2OUT                // bit 1
7056 
7057 #define G1ASDAC0                COG1ASD0bits.G1ASDAC0           // bit 2
7058 #define G1ASDAC1                COG1ASD0bits.G1ASDAC1           // bit 3
7059 #define G1ASDBD0                COG1ASD0bits.G1ASDBD0           // bit 4
7060 #define G1ASDBD1                COG1ASD0bits.G1ASDBD1           // bit 5
7061 #define G1ARSEN                 COG1ASD0bits.G1ARSEN            // bit 6
7062 #define G1ASE                   COG1ASD0bits.G1ASE              // bit 7
7063 
7064 #define G1AS0E                  COG1ASD1bits.G1AS0E             // bit 0
7065 #define G1AS1E                  COG1ASD1bits.G1AS1E             // bit 1
7066 #define G1AS2E                  COG1ASD1bits.G1AS2E             // bit 2
7067 #define G1AS3E                  COG1ASD1bits.G1AS3E             // bit 3
7068 
7069 #define G1BLKF0                 COG1BLKFbits.G1BLKF0            // bit 0
7070 #define G1BLKF1                 COG1BLKFbits.G1BLKF1            // bit 1
7071 #define G1BLKF2                 COG1BLKFbits.G1BLKF2            // bit 2
7072 #define G1BLKF3                 COG1BLKFbits.G1BLKF3            // bit 3
7073 #define G1BLKF4                 COG1BLKFbits.G1BLKF4            // bit 4
7074 #define G1BLKF5                 COG1BLKFbits.G1BLKF5            // bit 5
7075 
7076 #define G1BLKR0                 COG1BLKRbits.G1BLKR0            // bit 0
7077 #define G1BLKR1                 COG1BLKRbits.G1BLKR1            // bit 1
7078 #define G1BLKR2                 COG1BLKRbits.G1BLKR2            // bit 2
7079 #define G1BLKR3                 COG1BLKRbits.G1BLKR3            // bit 3
7080 #define G1BLKR4                 COG1BLKRbits.G1BLKR4            // bit 4
7081 #define G1BLKR5                 COG1BLKRbits.G1BLKR5            // bit 5
7082 
7083 #define G1MD0                   COG1CON0bits.G1MD0              // bit 0
7084 #define G1MD1                   COG1CON0bits.G1MD1              // bit 1
7085 #define G1MD2                   COG1CON0bits.G1MD2              // bit 2
7086 #define G1CS0                   COG1CON0bits.G1CS0              // bit 3
7087 #define G1CS1                   COG1CON0bits.G1CS1              // bit 4
7088 #define G1LD                    COG1CON0bits.G1LD               // bit 6
7089 #define G1EN                    COG1CON0bits.G1EN               // bit 7
7090 
7091 #define G1POLA                  COG1CON1bits.G1POLA             // bit 0
7092 #define G1POLB                  COG1CON1bits.G1POLB             // bit 1
7093 #define G1POLC                  COG1CON1bits.G1POLC             // bit 2
7094 #define G1POLD                  COG1CON1bits.G1POLD             // bit 3
7095 #define G1FDBS                  COG1CON1bits.G1FDBS             // bit 6
7096 #define G1RDBS                  COG1CON1bits.G1RDBS             // bit 7
7097 
7098 #define G1DBF0                  COG1DBFbits.G1DBF0              // bit 0
7099 #define G1DBF1                  COG1DBFbits.G1DBF1              // bit 1
7100 #define G1DBF2                  COG1DBFbits.G1DBF2              // bit 2
7101 #define G1DBF3                  COG1DBFbits.G1DBF3              // bit 3
7102 #define G1DBF4                  COG1DBFbits.G1DBF4              // bit 4
7103 #define G1DBF5                  COG1DBFbits.G1DBF5              // bit 5
7104 
7105 #define G1DBR0                  COG1DBRbits.G1DBR0              // bit 0
7106 #define G1DBR1                  COG1DBRbits.G1DBR1              // bit 1
7107 #define G1DBR2                  COG1DBRbits.G1DBR2              // bit 2
7108 #define G1DBR3                  COG1DBRbits.G1DBR3              // bit 3
7109 #define G1DBR4                  COG1DBRbits.G1DBR4              // bit 4
7110 #define G1DBR5                  COG1DBRbits.G1DBR5              // bit 5
7111 
7112 #define G1FIS0                  COG1FISbits.G1FIS0              // bit 0
7113 #define G1FIS1                  COG1FISbits.G1FIS1              // bit 1
7114 #define G1FIS2                  COG1FISbits.G1FIS2              // bit 2
7115 #define G1FIS3                  COG1FISbits.G1FIS3              // bit 3
7116 #define G1FIS4                  COG1FISbits.G1FIS4              // bit 4
7117 #define G1FIS5                  COG1FISbits.G1FIS5              // bit 5
7118 #define G1FIS6                  COG1FISbits.G1FIS6              // bit 6
7119 
7120 #define G1FSIM0                 COG1FSIMbits.G1FSIM0            // bit 0
7121 #define G1FSIM1                 COG1FSIMbits.G1FSIM1            // bit 1
7122 #define G1FSIM2                 COG1FSIMbits.G1FSIM2            // bit 2
7123 #define G1FSIM3                 COG1FSIMbits.G1FSIM3            // bit 3
7124 #define G1FSIM4                 COG1FSIMbits.G1FSIM4            // bit 4
7125 #define G1FSIM5                 COG1FSIMbits.G1FSIM5            // bit 5
7126 #define G1FSIM6                 COG1FSIMbits.G1FSIM6            // bit 6
7127 
7128 #define G1PHF0                  COG1PHFbits.G1PHF0              // bit 0
7129 #define G1PHF1                  COG1PHFbits.G1PHF1              // bit 1
7130 #define G1PHF2                  COG1PHFbits.G1PHF2              // bit 2
7131 #define G1PHF3                  COG1PHFbits.G1PHF3              // bit 3
7132 #define G1PHF4                  COG1PHFbits.G1PHF4              // bit 4
7133 #define G1PHF5                  COG1PHFbits.G1PHF5              // bit 5
7134 
7135 #define G1PHR0                  COG1PHRbits.G1PHR0              // bit 0
7136 #define G1PHR1                  COG1PHRbits.G1PHR1              // bit 1
7137 #define G1PHR2                  COG1PHRbits.G1PHR2              // bit 2
7138 #define G1PHR3                  COG1PHRbits.G1PHR3              // bit 3
7139 #define G1PHR4                  COG1PHRbits.G1PHR4              // bit 4
7140 #define G1PHR5                  COG1PHRbits.G1PHR5              // bit 5
7141 
7142 #define G1RIS0                  COG1RISbits.G1RIS0              // bit 0
7143 #define G1RIS1                  COG1RISbits.G1RIS1              // bit 1
7144 #define G1RIS2                  COG1RISbits.G1RIS2              // bit 2
7145 #define G1RIS3                  COG1RISbits.G1RIS3              // bit 3
7146 #define G1RIS4                  COG1RISbits.G1RIS4              // bit 4
7147 #define G1RIS5                  COG1RISbits.G1RIS5              // bit 5
7148 #define G1RIS6                  COG1RISbits.G1RIS6              // bit 6
7149 
7150 #define G1RSIM0                 COG1RSIMbits.G1RSIM0            // bit 0
7151 #define G1RSIM1                 COG1RSIMbits.G1RSIM1            // bit 1
7152 #define G1RSIM2                 COG1RSIMbits.G1RSIM2            // bit 2
7153 #define G1RSIM3                 COG1RSIMbits.G1RSIM3            // bit 3
7154 #define G1RSIM4                 COG1RSIMbits.G1RSIM4            // bit 4
7155 #define G1RSIM5                 COG1RSIMbits.G1RSIM5            // bit 5
7156 #define G1RSIM6                 COG1RSIMbits.G1RSIM6            // bit 6
7157 
7158 #define G1STRA                  COG1STRbits.G1STRA              // bit 0
7159 #define G1STRB                  COG1STRbits.G1STRB              // bit 1
7160 #define G1STRC                  COG1STRbits.G1STRC              // bit 2
7161 #define G1STRD                  COG1STRbits.G1STRD              // bit 3
7162 #define G1SDATA                 COG1STRbits.G1SDATA             // bit 4
7163 #define G1SDATB                 COG1STRbits.G1SDATB             // bit 5
7164 #define G1SDATC                 COG1STRbits.G1SDATC             // bit 6
7165 #define G1SDATD                 COG1STRbits.G1SDATD             // bit 7
7166 
7167 #define DAC1NSS                 DAC1CON0bits.DAC1NSS            // bit 0, shadows bit in DAC1CON0bits
7168 #define DACNSS                  DAC1CON0bits.DACNSS             // bit 0, shadows bit in DAC1CON0bits
7169 #define DAC1PSS0                DAC1CON0bits.DAC1PSS0           // bit 2, shadows bit in DAC1CON0bits
7170 #define DACPSS0                 DAC1CON0bits.DACPSS0            // bit 2, shadows bit in DAC1CON0bits
7171 #define DAC1PSS1                DAC1CON0bits.DAC1PSS1           // bit 3, shadows bit in DAC1CON0bits
7172 #define DACPSS1                 DAC1CON0bits.DACPSS1            // bit 3, shadows bit in DAC1CON0bits
7173 #define DAC1OE2                 DAC1CON0bits.DAC1OE2            // bit 4, shadows bit in DAC1CON0bits
7174 #define DACOE0                  DAC1CON0bits.DACOE0             // bit 4, shadows bit in DAC1CON0bits
7175 #define DAC1OE1                 DAC1CON0bits.DAC1OE1            // bit 5, shadows bit in DAC1CON0bits
7176 #define DACOE1                  DAC1CON0bits.DACOE1             // bit 5, shadows bit in DAC1CON0bits
7177 #define DAC1EN                  DAC1CON0bits.DAC1EN             // bit 7, shadows bit in DAC1CON0bits
7178 #define DACEN                   DAC1CON0bits.DACEN              // bit 7, shadows bit in DAC1CON0bits
7179 
7180 #define DAC1R0                  DAC1CON1bits.DAC1R0             // bit 0, shadows bit in DAC1CON1bits
7181 #define DACR0                   DAC1CON1bits.DACR0              // bit 0, shadows bit in DAC1CON1bits
7182 #define DAC1R1                  DAC1CON1bits.DAC1R1             // bit 1, shadows bit in DAC1CON1bits
7183 #define DACR1                   DAC1CON1bits.DACR1              // bit 1, shadows bit in DAC1CON1bits
7184 #define DAC1R2                  DAC1CON1bits.DAC1R2             // bit 2, shadows bit in DAC1CON1bits
7185 #define DACR2                   DAC1CON1bits.DACR2              // bit 2, shadows bit in DAC1CON1bits
7186 #define DAC1R3                  DAC1CON1bits.DAC1R3             // bit 3, shadows bit in DAC1CON1bits
7187 #define DACR3                   DAC1CON1bits.DACR3              // bit 3, shadows bit in DAC1CON1bits
7188 #define DAC1R4                  DAC1CON1bits.DAC1R4             // bit 4, shadows bit in DAC1CON1bits
7189 #define DACR4                   DAC1CON1bits.DACR4              // bit 4, shadows bit in DAC1CON1bits
7190 #define DAC1R5                  DAC1CON1bits.DAC1R5             // bit 5, shadows bit in DAC1CON1bits
7191 #define DACR5                   DAC1CON1bits.DACR5              // bit 5, shadows bit in DAC1CON1bits
7192 #define DAC1R6                  DAC1CON1bits.DAC1R6             // bit 6, shadows bit in DAC1CON1bits
7193 #define DACR6                   DAC1CON1bits.DACR6              // bit 6, shadows bit in DAC1CON1bits
7194 #define DAC1R7                  DAC1CON1bits.DAC1R7             // bit 7, shadows bit in DAC1CON1bits
7195 #define DACR7                   DAC1CON1bits.DACR7              // bit 7, shadows bit in DAC1CON1bits
7196 
7197 #define ADFVR0                  FVRCONbits.ADFVR0               // bit 0
7198 #define ADFVR1                  FVRCONbits.ADFVR1               // bit 1
7199 #define CDAFVR0                 FVRCONbits.CDAFVR0              // bit 2
7200 #define CDAFVR1                 FVRCONbits.CDAFVR1              // bit 3
7201 #define TSRNG                   FVRCONbits.TSRNG                // bit 4
7202 #define TSEN                    FVRCONbits.TSEN                 // bit 5
7203 #define FVRRDY                  FVRCONbits.FVRRDY               // bit 6
7204 #define FVREN                   FVRCONbits.FVREN                // bit 7
7205 
7206 #define BKA8                    ICDBK0Hbits.BKA8                // bit 0
7207 #define BKA9                    ICDBK0Hbits.BKA9                // bit 1
7208 #define BKA10                   ICDBK0Hbits.BKA10               // bit 2
7209 #define BKA11                   ICDBK0Hbits.BKA11               // bit 3
7210 #define BKA12                   ICDBK0Hbits.BKA12               // bit 4
7211 #define BKA13                   ICDBK0Hbits.BKA13               // bit 5
7212 #define BKA14                   ICDBK0Hbits.BKA14               // bit 6
7213 
7214 #define INLVLA0                 INLVLAbits.INLVLA0              // bit 0
7215 #define INLVLA1                 INLVLAbits.INLVLA1              // bit 1
7216 #define INLVLA2                 INLVLAbits.INLVLA2              // bit 2
7217 #define INLVLA3                 INLVLAbits.INLVLA3              // bit 3
7218 #define INLVLA4                 INLVLAbits.INLVLA4              // bit 4
7219 #define INLVLA5                 INLVLAbits.INLVLA5              // bit 5
7220 
7221 #define INLVLB4                 INLVLBbits.INLVLB4              // bit 4
7222 #define INLVLB5                 INLVLBbits.INLVLB5              // bit 5
7223 #define INLVLB6                 INLVLBbits.INLVLB6              // bit 6
7224 #define INLVLB7                 INLVLBbits.INLVLB7              // bit 7
7225 
7226 #define INLVLC0                 INLVLCbits.INLVLC0              // bit 0
7227 #define INLVLC1                 INLVLCbits.INLVLC1              // bit 1
7228 #define INLVLC2                 INLVLCbits.INLVLC2              // bit 2
7229 #define INLVLC3                 INLVLCbits.INLVLC3              // bit 3
7230 #define INLVLC4                 INLVLCbits.INLVLC4              // bit 4
7231 #define INLVLC5                 INLVLCbits.INLVLC5              // bit 5
7232 #define INLVLC6                 INLVLCbits.INLVLC6              // bit 6
7233 #define INLVLC7                 INLVLCbits.INLVLC7              // bit 7
7234 
7235 #define IOCIF                   INTCONbits.IOCIF                // bit 0
7236 #define INTF                    INTCONbits.INTF                 // bit 1
7237 #define TMR0IF                  INTCONbits.TMR0IF               // bit 2, shadows bit in INTCONbits
7238 #define T0IF                    INTCONbits.T0IF                 // bit 2, shadows bit in INTCONbits
7239 #define IOCIE                   INTCONbits.IOCIE                // bit 3
7240 #define INTE                    INTCONbits.INTE                 // bit 4
7241 #define TMR0IE                  INTCONbits.TMR0IE               // bit 5, shadows bit in INTCONbits
7242 #define T0IE                    INTCONbits.T0IE                 // bit 5, shadows bit in INTCONbits
7243 #define PEIE                    INTCONbits.PEIE                 // bit 6
7244 #define GIE                     INTCONbits.GIE                  // bit 7
7245 
7246 #define IOCAF0                  IOCAFbits.IOCAF0                // bit 0
7247 #define IOCAF1                  IOCAFbits.IOCAF1                // bit 1
7248 #define IOCAF2                  IOCAFbits.IOCAF2                // bit 2
7249 #define IOCAF3                  IOCAFbits.IOCAF3                // bit 3
7250 #define IOCAF4                  IOCAFbits.IOCAF4                // bit 4
7251 #define IOCAF5                  IOCAFbits.IOCAF5                // bit 5
7252 
7253 #define IOCAN0                  IOCANbits.IOCAN0                // bit 0
7254 #define IOCAN1                  IOCANbits.IOCAN1                // bit 1
7255 #define IOCAN2                  IOCANbits.IOCAN2                // bit 2
7256 #define IOCAN3                  IOCANbits.IOCAN3                // bit 3
7257 #define IOCAN4                  IOCANbits.IOCAN4                // bit 4
7258 #define IOCAN5                  IOCANbits.IOCAN5                // bit 5
7259 
7260 #define IOCAP0                  IOCAPbits.IOCAP0                // bit 0
7261 #define IOCAP1                  IOCAPbits.IOCAP1                // bit 1
7262 #define IOCAP2                  IOCAPbits.IOCAP2                // bit 2
7263 #define IOCAP3                  IOCAPbits.IOCAP3                // bit 3
7264 #define IOCAP4                  IOCAPbits.IOCAP4                // bit 4
7265 #define IOCAP5                  IOCAPbits.IOCAP5                // bit 5
7266 
7267 #define IOCBF4                  IOCBFbits.IOCBF4                // bit 4
7268 #define IOCBF5                  IOCBFbits.IOCBF5                // bit 5
7269 #define IOCBF6                  IOCBFbits.IOCBF6                // bit 6
7270 #define IOCBF7                  IOCBFbits.IOCBF7                // bit 7
7271 
7272 #define IOCBN4                  IOCBNbits.IOCBN4                // bit 4
7273 #define IOCBN5                  IOCBNbits.IOCBN5                // bit 5
7274 #define IOCBN6                  IOCBNbits.IOCBN6                // bit 6
7275 #define IOCBN7                  IOCBNbits.IOCBN7                // bit 7
7276 
7277 #define IOCBP4                  IOCBPbits.IOCBP4                // bit 4
7278 #define IOCBP5                  IOCBPbits.IOCBP5                // bit 5
7279 #define IOCBP6                  IOCBPbits.IOCBP6                // bit 6
7280 #define IOCBP7                  IOCBPbits.IOCBP7                // bit 7
7281 
7282 #define IOCCF0                  IOCCFbits.IOCCF0                // bit 0
7283 #define IOCCF1                  IOCCFbits.IOCCF1                // bit 1
7284 #define IOCCF2                  IOCCFbits.IOCCF2                // bit 2
7285 #define IOCCF3                  IOCCFbits.IOCCF3                // bit 3
7286 #define IOCCF4                  IOCCFbits.IOCCF4                // bit 4
7287 #define IOCCF5                  IOCCFbits.IOCCF5                // bit 5
7288 #define IOCCF6                  IOCCFbits.IOCCF6                // bit 6
7289 #define IOCCF7                  IOCCFbits.IOCCF7                // bit 7
7290 
7291 #define IOCCN0                  IOCCNbits.IOCCN0                // bit 0
7292 #define IOCCN1                  IOCCNbits.IOCCN1                // bit 1
7293 #define IOCCN2                  IOCCNbits.IOCCN2                // bit 2
7294 #define IOCCN3                  IOCCNbits.IOCCN3                // bit 3
7295 #define IOCCN4                  IOCCNbits.IOCCN4                // bit 4
7296 #define IOCCN5                  IOCCNbits.IOCCN5                // bit 5
7297 #define IOCCN6                  IOCCNbits.IOCCN6                // bit 6
7298 #define IOCCN7                  IOCCNbits.IOCCN7                // bit 7
7299 
7300 #define IOCCP0                  IOCCPbits.IOCCP0                // bit 0
7301 #define IOCCP1                  IOCCPbits.IOCCP1                // bit 1
7302 #define IOCCP2                  IOCCPbits.IOCCP2                // bit 2
7303 #define IOCCP3                  IOCCPbits.IOCCP3                // bit 3
7304 #define IOCCP4                  IOCCPbits.IOCCP4                // bit 4
7305 #define IOCCP5                  IOCCPbits.IOCCP5                // bit 5
7306 #define IOCCP6                  IOCCPbits.IOCCP6                // bit 6
7307 #define IOCCP7                  IOCCPbits.IOCCP7                // bit 7
7308 
7309 #define LATA0                   LATAbits.LATA0                  // bit 0
7310 #define LATA1                   LATAbits.LATA1                  // bit 1
7311 #define LATA2                   LATAbits.LATA2                  // bit 2
7312 #define LATA4                   LATAbits.LATA4                  // bit 4
7313 #define LATA5                   LATAbits.LATA5                  // bit 5
7314 
7315 #define LATB4                   LATBbits.LATB4                  // bit 4
7316 #define LATB5                   LATBbits.LATB5                  // bit 5
7317 #define LATB6                   LATBbits.LATB6                  // bit 6
7318 #define LATB7                   LATBbits.LATB7                  // bit 7
7319 
7320 #define LATC0                   LATCbits.LATC0                  // bit 0
7321 #define LATC1                   LATCbits.LATC1                  // bit 1
7322 #define LATC2                   LATCbits.LATC2                  // bit 2
7323 #define LATC3                   LATCbits.LATC3                  // bit 3
7324 #define LATC4                   LATCbits.LATC4                  // bit 4
7325 #define LATC5                   LATCbits.LATC5                  // bit 5
7326 #define LATC6                   LATCbits.LATC6                  // bit 6
7327 #define LATC7                   LATCbits.LATC7                  // bit 7
7328 
7329 #define ODA0                    ODCONAbits.ODA0                 // bit 0
7330 #define ODA1                    ODCONAbits.ODA1                 // bit 1
7331 #define ODA2                    ODCONAbits.ODA2                 // bit 2
7332 #define ODA4                    ODCONAbits.ODA4                 // bit 4
7333 #define ODA5                    ODCONAbits.ODA5                 // bit 5
7334 
7335 #define ODB4                    ODCONBbits.ODB4                 // bit 4
7336 #define ODB5                    ODCONBbits.ODB5                 // bit 5
7337 #define ODB6                    ODCONBbits.ODB6                 // bit 6
7338 #define ODB7                    ODCONBbits.ODB7                 // bit 7
7339 
7340 #define ODC0                    ODCONCbits.ODC0                 // bit 0
7341 #define ODC1                    ODCONCbits.ODC1                 // bit 1
7342 #define ODC2                    ODCONCbits.ODC2                 // bit 2
7343 #define ODC3                    ODCONCbits.ODC3                 // bit 3
7344 #define ODC4                    ODCONCbits.ODC4                 // bit 4
7345 #define ODC5                    ODCONCbits.ODC5                 // bit 5
7346 #define ODC6                    ODCONCbits.ODC6                 // bit 6
7347 #define ODC7                    ODCONCbits.ODC7                 // bit 7
7348 
7349 #define OPA1PCH0                OPA1CONbits.OPA1PCH0            // bit 0
7350 #define OPA1PCH1                OPA1CONbits.OPA1PCH1            // bit 1
7351 #define OPA1UG                  OPA1CONbits.OPA1UG              // bit 4
7352 #define OPA1SP                  OPA1CONbits.OPA1SP              // bit 6
7353 #define OPA1EN                  OPA1CONbits.OPA1EN              // bit 7
7354 
7355 #define OPA2PCH0                OPA2CONbits.OPA2PCH0            // bit 0
7356 #define OPA2PCH1                OPA2CONbits.OPA2PCH1            // bit 1
7357 #define OPA2UG                  OPA2CONbits.OPA2UG              // bit 4
7358 #define OPA2SP                  OPA2CONbits.OPA2SP              // bit 6
7359 #define OPA2EN                  OPA2CONbits.OPA2EN              // bit 7
7360 
7361 #define PS0                     OPTION_REGbits.PS0              // bit 0
7362 #define PS1                     OPTION_REGbits.PS1              // bit 1
7363 #define PS2                     OPTION_REGbits.PS2              // bit 2
7364 #define PSA                     OPTION_REGbits.PSA              // bit 3
7365 #define TMR0SE                  OPTION_REGbits.TMR0SE           // bit 4, shadows bit in OPTION_REGbits
7366 #define T0SE                    OPTION_REGbits.T0SE             // bit 4, shadows bit in OPTION_REGbits
7367 #define TMR0CS                  OPTION_REGbits.TMR0CS           // bit 5, shadows bit in OPTION_REGbits
7368 #define T0CS                    OPTION_REGbits.T0CS             // bit 5, shadows bit in OPTION_REGbits
7369 #define INTEDG                  OPTION_REGbits.INTEDG           // bit 6
7370 #define NOT_WPUEN               OPTION_REGbits.NOT_WPUEN        // bit 7
7371 
7372 #define SCS0                    OSCCONbits.SCS0                 // bit 0
7373 #define SCS1                    OSCCONbits.SCS1                 // bit 1
7374 #define IRCF0                   OSCCONbits.IRCF0                // bit 3
7375 #define IRCF1                   OSCCONbits.IRCF1                // bit 4
7376 #define IRCF2                   OSCCONbits.IRCF2                // bit 5
7377 #define IRCF3                   OSCCONbits.IRCF3                // bit 6
7378 #define SPLLEN                  OSCCONbits.SPLLEN               // bit 7
7379 
7380 #define HFIOFS                  OSCSTATbits.HFIOFS              // bit 0
7381 #define LFIOFR                  OSCSTATbits.LFIOFR              // bit 1
7382 #define MFIOFR                  OSCSTATbits.MFIOFR              // bit 2
7383 #define HFIOFL                  OSCSTATbits.HFIOFL              // bit 3
7384 #define HFIOFR                  OSCSTATbits.HFIOFR              // bit 4
7385 #define OSTS                    OSCSTATbits.OSTS                // bit 5
7386 #define PLLR                    OSCSTATbits.PLLR                // bit 6
7387 #define SOSCR                   OSCSTATbits.SOSCR               // bit 7
7388 
7389 #define TUN0                    OSCTUNEbits.TUN0                // bit 0
7390 #define TUN1                    OSCTUNEbits.TUN1                // bit 1
7391 #define TUN2                    OSCTUNEbits.TUN2                // bit 2
7392 #define TUN3                    OSCTUNEbits.TUN3                // bit 3
7393 #define TUN4                    OSCTUNEbits.TUN4                // bit 4
7394 #define TUN5                    OSCTUNEbits.TUN5                // bit 5
7395 
7396 #define NOT_BOR                 PCONbits.NOT_BOR                // bit 0
7397 #define NOT_POR                 PCONbits.NOT_POR                // bit 1
7398 #define NOT_RI                  PCONbits.NOT_RI                 // bit 2
7399 #define NOT_RMCLR               PCONbits.NOT_RMCLR              // bit 3
7400 #define NOT_RWDT                PCONbits.NOT_RWDT               // bit 4
7401 #define STKUNF                  PCONbits.STKUNF                 // bit 6
7402 #define STKOVF                  PCONbits.STKOVF                 // bit 7
7403 
7404 #define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
7405 #define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
7406 #define CCP1IE                  PIE1bits.CCP1IE                 // bit 2, shadows bit in PIE1bits
7407 #define CCPIE                   PIE1bits.CCPIE                  // bit 2, shadows bit in PIE1bits
7408 #define SSP1IE                  PIE1bits.SSP1IE                 // bit 3
7409 #define TXIE                    PIE1bits.TXIE                   // bit 4
7410 #define RCIE                    PIE1bits.RCIE                   // bit 5
7411 #define ADIE                    PIE1bits.ADIE                   // bit 6
7412 #define TMR1GIE                 PIE1bits.TMR1GIE                // bit 7
7413 
7414 #define CCP2IE                  PIE2bits.CCP2IE                 // bit 0
7415 #define TMR4IE                  PIE2bits.TMR4IE                 // bit 1
7416 #define TMR6IE                  PIE2bits.TMR6IE                 // bit 2
7417 #define BCL1IE                  PIE2bits.BCL1IE                 // bit 3
7418 #define C1IE                    PIE2bits.C1IE                   // bit 5
7419 #define C2IE                    PIE2bits.C2IE                   // bit 6
7420 #define OSFIE                   PIE2bits.OSFIE                  // bit 7
7421 
7422 #define CLC1IE                  PIE3bits.CLC1IE                 // bit 0
7423 #define CLC2IE                  PIE3bits.CLC2IE                 // bit 1
7424 #define CLC3IE                  PIE3bits.CLC3IE                 // bit 2
7425 #define ZCDIE                   PIE3bits.ZCDIE                  // bit 4
7426 #define COGIE                   PIE3bits.COGIE                  // bit 5
7427 
7428 #define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
7429 #define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
7430 #define CCP1IF                  PIR1bits.CCP1IF                 // bit 2, shadows bit in PIR1bits
7431 #define CCPIF                   PIR1bits.CCPIF                  // bit 2, shadows bit in PIR1bits
7432 #define SSP1IF                  PIR1bits.SSP1IF                 // bit 3
7433 #define TXIF                    PIR1bits.TXIF                   // bit 4
7434 #define RCIF                    PIR1bits.RCIF                   // bit 5
7435 #define ADIF                    PIR1bits.ADIF                   // bit 6
7436 #define TMR1GIF                 PIR1bits.TMR1GIF                // bit 7
7437 
7438 #define CCP2IF                  PIR2bits.CCP2IF                 // bit 0
7439 #define TMR4IF                  PIR2bits.TMR4IF                 // bit 1
7440 #define TMR6IF                  PIR2bits.TMR6IF                 // bit 2
7441 #define BCL1IF                  PIR2bits.BCL1IF                 // bit 3
7442 #define C1IF                    PIR2bits.C1IF                   // bit 5
7443 #define C2IF                    PIR2bits.C2IF                   // bit 6
7444 #define OSFIF                   PIR2bits.OSFIF                  // bit 7
7445 
7446 #define CLC1IF                  PIR3bits.CLC1IF                 // bit 0
7447 #define CLC2IF                  PIR3bits.CLC2IF                 // bit 1
7448 #define CLC3IF                  PIR3bits.CLC3IF                 // bit 2
7449 #define ZCDIF                   PIR3bits.ZCDIF                  // bit 4
7450 #define COGIF                   PIR3bits.COGIF                  // bit 5
7451 
7452 #define RD                      PMCON1bits.RD                   // bit 0
7453 #define WR                      PMCON1bits.WR                   // bit 1
7454 #define WREN                    PMCON1bits.WREN                 // bit 2
7455 #define WRERR                   PMCON1bits.WRERR                // bit 3
7456 #define FREE                    PMCON1bits.FREE                 // bit 4
7457 #define LWLO                    PMCON1bits.LWLO                 // bit 5
7458 #define CFGS                    PMCON1bits.CFGS                 // bit 6
7459 
7460 #define RA0                     PORTAbits.RA0                   // bit 0
7461 #define RA1                     PORTAbits.RA1                   // bit 1
7462 #define RA2                     PORTAbits.RA2                   // bit 2
7463 #define RA3                     PORTAbits.RA3                   // bit 3
7464 #define RA4                     PORTAbits.RA4                   // bit 4
7465 #define RA5                     PORTAbits.RA5                   // bit 5
7466 
7467 #define RB4                     PORTBbits.RB4                   // bit 4
7468 #define RB5                     PORTBbits.RB5                   // bit 5
7469 #define RB6                     PORTBbits.RB6                   // bit 6
7470 #define RB7                     PORTBbits.RB7                   // bit 7
7471 
7472 #define RC0                     PORTCbits.RC0                   // bit 0
7473 #define RC1                     PORTCbits.RC1                   // bit 1
7474 #define RC2                     PORTCbits.RC2                   // bit 2
7475 #define RC3                     PORTCbits.RC3                   // bit 3
7476 #define RC4                     PORTCbits.RC4                   // bit 4
7477 #define RC5                     PORTCbits.RC5                   // bit 5
7478 #define RC6                     PORTCbits.RC6                   // bit 6
7479 #define RC7                     PORTCbits.RC7                   // bit 7
7480 
7481 #define PPSLOCKED               PPSLOCKbits.PPSLOCKED           // bit 0
7482 
7483 #define PWM3POL                 PWM3CONbits.PWM3POL             // bit 4
7484 #define PWM3OUT                 PWM3CONbits.PWM3OUT             // bit 5
7485 #define PWM3EN                  PWM3CONbits.PWM3EN              // bit 7
7486 
7487 #define PWM3DCH0                PWM3DCHbits.PWM3DCH0            // bit 0
7488 #define PWM3DCH1                PWM3DCHbits.PWM3DCH1            // bit 1
7489 #define PWM3DCH2                PWM3DCHbits.PWM3DCH2            // bit 2
7490 #define PWM3DCH3                PWM3DCHbits.PWM3DCH3            // bit 3
7491 #define PWM3DCH4                PWM3DCHbits.PWM3DCH4            // bit 4
7492 #define PWM3DCH5                PWM3DCHbits.PWM3DCH5            // bit 5
7493 #define PWM3DCH6                PWM3DCHbits.PWM3DCH6            // bit 6
7494 #define PWM3DCH7                PWM3DCHbits.PWM3DCH7            // bit 7
7495 
7496 #define PWM3DCL0                PWM3DCLbits.PWM3DCL0            // bit 6
7497 #define PWM3DCL1                PWM3DCLbits.PWM3DCL1            // bit 7
7498 
7499 #define PWM4POL                 PWM4CONbits.PWM4POL             // bit 4
7500 #define PWM4OUT                 PWM4CONbits.PWM4OUT             // bit 5
7501 #define PWM4EN                  PWM4CONbits.PWM4EN              // bit 7
7502 
7503 #define PWM4DCH0                PWM4DCHbits.PWM4DCH0            // bit 0
7504 #define PWM4DCH1                PWM4DCHbits.PWM4DCH1            // bit 1
7505 #define PWM4DCH2                PWM4DCHbits.PWM4DCH2            // bit 2
7506 #define PWM4DCH3                PWM4DCHbits.PWM4DCH3            // bit 3
7507 #define PWM4DCH4                PWM4DCHbits.PWM4DCH4            // bit 4
7508 #define PWM4DCH5                PWM4DCHbits.PWM4DCH5            // bit 5
7509 #define PWM4DCH6                PWM4DCHbits.PWM4DCH6            // bit 6
7510 #define PWM4DCH7                PWM4DCHbits.PWM4DCH7            // bit 7
7511 
7512 #define PWM4DCL0                PWM4DCLbits.PWM4DCL0            // bit 6
7513 #define PWM4DCL1                PWM4DCLbits.PWM4DCL1            // bit 7
7514 
7515 #define RX9D                    RC1STAbits.RX9D                 // bit 0
7516 #define OERR                    RC1STAbits.OERR                 // bit 1
7517 #define FERR                    RC1STAbits.FERR                 // bit 2
7518 #define ADDEN                   RC1STAbits.ADDEN                // bit 3
7519 #define CREN                    RC1STAbits.CREN                 // bit 4
7520 #define SREN                    RC1STAbits.SREN                 // bit 5
7521 #define RX9                     RC1STAbits.RX9                  // bit 6
7522 #define SPEN                    RC1STAbits.SPEN                 // bit 7
7523 
7524 #define SLRA0                   SLRCONAbits.SLRA0               // bit 0
7525 #define SLRA1                   SLRCONAbits.SLRA1               // bit 1
7526 #define SLRA2                   SLRCONAbits.SLRA2               // bit 2
7527 #define SLRA4                   SLRCONAbits.SLRA4               // bit 4
7528 #define SLRA5                   SLRCONAbits.SLRA5               // bit 5
7529 
7530 #define SLRB4                   SLRCONBbits.SLRB4               // bit 4
7531 #define SLRB5                   SLRCONBbits.SLRB5               // bit 5
7532 #define SLRB6                   SLRCONBbits.SLRB6               // bit 6
7533 #define SLRB7                   SLRCONBbits.SLRB7               // bit 7
7534 
7535 #define SLRC0                   SLRCONCbits.SLRC0               // bit 0
7536 #define SLRC1                   SLRCONCbits.SLRC1               // bit 1
7537 #define SLRC2                   SLRCONCbits.SLRC2               // bit 2
7538 #define SLRC3                   SLRCONCbits.SLRC3               // bit 3
7539 #define SLRC4                   SLRCONCbits.SLRC4               // bit 4
7540 #define SLRC5                   SLRCONCbits.SLRC5               // bit 5
7541 #define SLRC6                   SLRCONCbits.SLRC6               // bit 6
7542 #define SLRC7                   SLRCONCbits.SLRC7               // bit 7
7543 
7544 #define SSP1ADD0                SSP1ADDbits.SSP1ADD0            // bit 0, shadows bit in SSP1ADDbits
7545 #define ADD0                    SSP1ADDbits.ADD0                // bit 0, shadows bit in SSP1ADDbits
7546 #define SSP1ADD1                SSP1ADDbits.SSP1ADD1            // bit 1, shadows bit in SSP1ADDbits
7547 #define ADD1                    SSP1ADDbits.ADD1                // bit 1, shadows bit in SSP1ADDbits
7548 #define SSP1ADD2                SSP1ADDbits.SSP1ADD2            // bit 2, shadows bit in SSP1ADDbits
7549 #define ADD2                    SSP1ADDbits.ADD2                // bit 2, shadows bit in SSP1ADDbits
7550 #define SSP1ADD3                SSP1ADDbits.SSP1ADD3            // bit 3, shadows bit in SSP1ADDbits
7551 #define ADD3                    SSP1ADDbits.ADD3                // bit 3, shadows bit in SSP1ADDbits
7552 #define SSP1ADD4                SSP1ADDbits.SSP1ADD4            // bit 4, shadows bit in SSP1ADDbits
7553 #define ADD4                    SSP1ADDbits.ADD4                // bit 4, shadows bit in SSP1ADDbits
7554 #define SSP1ADD5                SSP1ADDbits.SSP1ADD5            // bit 5, shadows bit in SSP1ADDbits
7555 #define ADD5                    SSP1ADDbits.ADD5                // bit 5, shadows bit in SSP1ADDbits
7556 #define SSP1ADD6                SSP1ADDbits.SSP1ADD6            // bit 6, shadows bit in SSP1ADDbits
7557 #define ADD6                    SSP1ADDbits.ADD6                // bit 6, shadows bit in SSP1ADDbits
7558 #define SSP1ADD7                SSP1ADDbits.SSP1ADD7            // bit 7, shadows bit in SSP1ADDbits
7559 #define ADD7                    SSP1ADDbits.ADD7                // bit 7, shadows bit in SSP1ADDbits
7560 
7561 #define SSP1BUF0                SSP1BUFbits.SSP1BUF0            // bit 0, shadows bit in SSP1BUFbits
7562 #define BUF0                    SSP1BUFbits.BUF0                // bit 0, shadows bit in SSP1BUFbits
7563 #define SSP1BUF1                SSP1BUFbits.SSP1BUF1            // bit 1, shadows bit in SSP1BUFbits
7564 #define BUF1                    SSP1BUFbits.BUF1                // bit 1, shadows bit in SSP1BUFbits
7565 #define SSP1BUF2                SSP1BUFbits.SSP1BUF2            // bit 2, shadows bit in SSP1BUFbits
7566 #define BUF2                    SSP1BUFbits.BUF2                // bit 2, shadows bit in SSP1BUFbits
7567 #define SSP1BUF3                SSP1BUFbits.SSP1BUF3            // bit 3, shadows bit in SSP1BUFbits
7568 #define BUF3                    SSP1BUFbits.BUF3                // bit 3, shadows bit in SSP1BUFbits
7569 #define SSP1BUF4                SSP1BUFbits.SSP1BUF4            // bit 4, shadows bit in SSP1BUFbits
7570 #define BUF4                    SSP1BUFbits.BUF4                // bit 4, shadows bit in SSP1BUFbits
7571 #define SSP1BUF5                SSP1BUFbits.SSP1BUF5            // bit 5, shadows bit in SSP1BUFbits
7572 #define BUF5                    SSP1BUFbits.BUF5                // bit 5, shadows bit in SSP1BUFbits
7573 #define SSP1BUF6                SSP1BUFbits.SSP1BUF6            // bit 6, shadows bit in SSP1BUFbits
7574 #define BUF6                    SSP1BUFbits.BUF6                // bit 6, shadows bit in SSP1BUFbits
7575 #define SSP1BUF7                SSP1BUFbits.SSP1BUF7            // bit 7, shadows bit in SSP1BUFbits
7576 #define BUF7                    SSP1BUFbits.BUF7                // bit 7, shadows bit in SSP1BUFbits
7577 
7578 #define SSPM0                   SSP1CONbits.SSPM0               // bit 0
7579 #define SSPM1                   SSP1CONbits.SSPM1               // bit 1
7580 #define SSPM2                   SSP1CONbits.SSPM2               // bit 2
7581 #define SSPM3                   SSP1CONbits.SSPM3               // bit 3
7582 #define CKP                     SSP1CONbits.CKP                 // bit 4
7583 #define SSPEN                   SSP1CONbits.SSPEN               // bit 5
7584 #define SSPOV                   SSP1CONbits.SSPOV               // bit 6
7585 #define WCOL                    SSP1CONbits.WCOL                // bit 7
7586 
7587 #define SEN                     SSP1CON2bits.SEN                // bit 0
7588 #define RSEN                    SSP1CON2bits.RSEN               // bit 1
7589 #define PEN                     SSP1CON2bits.PEN                // bit 2
7590 #define RCEN                    SSP1CON2bits.RCEN               // bit 3
7591 #define ACKEN                   SSP1CON2bits.ACKEN              // bit 4
7592 #define ACKDT                   SSP1CON2bits.ACKDT              // bit 5
7593 #define ACKSTAT                 SSP1CON2bits.ACKSTAT            // bit 6
7594 #define GCEN                    SSP1CON2bits.GCEN               // bit 7
7595 
7596 #define DHEN                    SSP1CON3bits.DHEN               // bit 0
7597 #define AHEN                    SSP1CON3bits.AHEN               // bit 1
7598 #define SBCDE                   SSP1CON3bits.SBCDE              // bit 2
7599 #define SDAHT                   SSP1CON3bits.SDAHT              // bit 3
7600 #define BOEN                    SSP1CON3bits.BOEN               // bit 4
7601 #define SCIE                    SSP1CON3bits.SCIE               // bit 5
7602 #define PCIE                    SSP1CON3bits.PCIE               // bit 6
7603 #define ACKTIM                  SSP1CON3bits.ACKTIM             // bit 7
7604 
7605 #define SSP1MSK0                SSP1MSKbits.SSP1MSK0            // bit 0, shadows bit in SSP1MSKbits
7606 #define MSK0                    SSP1MSKbits.MSK0                // bit 0, shadows bit in SSP1MSKbits
7607 #define SSP1MSK1                SSP1MSKbits.SSP1MSK1            // bit 1, shadows bit in SSP1MSKbits
7608 #define MSK1                    SSP1MSKbits.MSK1                // bit 1, shadows bit in SSP1MSKbits
7609 #define SSP1MSK2                SSP1MSKbits.SSP1MSK2            // bit 2, shadows bit in SSP1MSKbits
7610 #define MSK2                    SSP1MSKbits.MSK2                // bit 2, shadows bit in SSP1MSKbits
7611 #define SSP1MSK3                SSP1MSKbits.SSP1MSK3            // bit 3, shadows bit in SSP1MSKbits
7612 #define MSK3                    SSP1MSKbits.MSK3                // bit 3, shadows bit in SSP1MSKbits
7613 #define SSP1MSK4                SSP1MSKbits.SSP1MSK4            // bit 4, shadows bit in SSP1MSKbits
7614 #define MSK4                    SSP1MSKbits.MSK4                // bit 4, shadows bit in SSP1MSKbits
7615 #define SSP1MSK5                SSP1MSKbits.SSP1MSK5            // bit 5, shadows bit in SSP1MSKbits
7616 #define MSK5                    SSP1MSKbits.MSK5                // bit 5, shadows bit in SSP1MSKbits
7617 #define SSP1MSK6                SSP1MSKbits.SSP1MSK6            // bit 6, shadows bit in SSP1MSKbits
7618 #define MSK6                    SSP1MSKbits.MSK6                // bit 6, shadows bit in SSP1MSKbits
7619 #define SSP1MSK7                SSP1MSKbits.SSP1MSK7            // bit 7, shadows bit in SSP1MSKbits
7620 #define MSK7                    SSP1MSKbits.MSK7                // bit 7, shadows bit in SSP1MSKbits
7621 
7622 #define BF                      SSP1STATbits.BF                 // bit 0
7623 #define UA                      SSP1STATbits.UA                 // bit 1
7624 #define R_NOT_W                 SSP1STATbits.R_NOT_W            // bit 2
7625 #define S                       SSP1STATbits.S                  // bit 3
7626 #define P                       SSP1STATbits.P                  // bit 4
7627 #define D_NOT_A                 SSP1STATbits.D_NOT_A            // bit 5
7628 #define CKE                     SSP1STATbits.CKE                // bit 6
7629 #define SMP                     SSP1STATbits.SMP                // bit 7
7630 
7631 #define C                       STATUSbits.C                    // bit 0
7632 #define DC                      STATUSbits.DC                   // bit 1
7633 #define Z                       STATUSbits.Z                    // bit 2
7634 #define NOT_PD                  STATUSbits.NOT_PD               // bit 3
7635 #define NOT_TO                  STATUSbits.NOT_TO               // bit 4
7636 
7637 #define C_SHAD                  STATUS_SHADbits.C_SHAD          // bit 0
7638 #define DC_SHAD                 STATUS_SHADbits.DC_SHAD         // bit 1
7639 #define Z_SHAD                  STATUS_SHADbits.Z_SHAD          // bit 2
7640 
7641 #define TMR1ON                  T1CONbits.TMR1ON                // bit 0
7642 #define NOT_T1SYNC              T1CONbits.NOT_T1SYNC            // bit 2
7643 #define T1OSCEN                 T1CONbits.T1OSCEN               // bit 3
7644 #define T1CKPS0                 T1CONbits.T1CKPS0               // bit 4
7645 #define T1CKPS1                 T1CONbits.T1CKPS1               // bit 5
7646 #define TMR1CS0                 T1CONbits.TMR1CS0               // bit 6
7647 #define TMR1CS1                 T1CONbits.TMR1CS1               // bit 7
7648 
7649 #define T1GSS0                  T1GCONbits.T1GSS0               // bit 0
7650 #define T1GSS1                  T1GCONbits.T1GSS1               // bit 1
7651 #define T1GVAL                  T1GCONbits.T1GVAL               // bit 2
7652 #define T1GGO_NOT_DONE          T1GCONbits.T1GGO_NOT_DONE       // bit 3
7653 #define T1GSPM                  T1GCONbits.T1GSPM               // bit 4
7654 #define T1GTM                   T1GCONbits.T1GTM                // bit 5
7655 #define T1GPOL                  T1GCONbits.T1GPOL               // bit 6
7656 #define TMR1GE                  T1GCONbits.TMR1GE               // bit 7
7657 
7658 #define T2CKPS0                 T2CONbits.T2CKPS0               // bit 0
7659 #define T2CKPS1                 T2CONbits.T2CKPS1               // bit 1
7660 #define TMR2ON                  T2CONbits.TMR2ON                // bit 2
7661 #define T2OUTPS0                T2CONbits.T2OUTPS0              // bit 3
7662 #define T2OUTPS1                T2CONbits.T2OUTPS1              // bit 4
7663 #define T2OUTPS2                T2CONbits.T2OUTPS2              // bit 5
7664 #define T2OUTPS3                T2CONbits.T2OUTPS3              // bit 6
7665 
7666 #define T4CKPS0                 T4CONbits.T4CKPS0               // bit 0
7667 #define T4CKPS1                 T4CONbits.T4CKPS1               // bit 1
7668 #define TMR4ON                  T4CONbits.TMR4ON                // bit 2
7669 #define T4OUTPS0                T4CONbits.T4OUTPS0              // bit 3
7670 #define T4OUTPS1                T4CONbits.T4OUTPS1              // bit 4
7671 #define T4OUTPS2                T4CONbits.T4OUTPS2              // bit 5
7672 #define T4OUTPS3                T4CONbits.T4OUTPS3              // bit 6
7673 
7674 #define T6CKPS0                 T6CONbits.T6CKPS0               // bit 0
7675 #define T6CKPS1                 T6CONbits.T6CKPS1               // bit 1
7676 #define TMR6ON                  T6CONbits.TMR6ON                // bit 2
7677 #define T6OUTPS0                T6CONbits.T6OUTPS0              // bit 3
7678 #define T6OUTPS1                T6CONbits.T6OUTPS1              // bit 4
7679 #define T6OUTPS2                T6CONbits.T6OUTPS2              // bit 5
7680 #define T6OUTPS3                T6CONbits.T6OUTPS3              // bit 6
7681 
7682 #define TRISA0                  TRISAbits.TRISA0                // bit 0
7683 #define TRISA1                  TRISAbits.TRISA1                // bit 1
7684 #define TRISA2                  TRISAbits.TRISA2                // bit 2
7685 #define TRISA4                  TRISAbits.TRISA4                // bit 4
7686 #define TRISA5                  TRISAbits.TRISA5                // bit 5
7687 
7688 #define TRISB4                  TRISBbits.TRISB4                // bit 4
7689 #define TRISB5                  TRISBbits.TRISB5                // bit 5
7690 #define TRISB6                  TRISBbits.TRISB6                // bit 6
7691 #define TRISB7                  TRISBbits.TRISB7                // bit 7
7692 
7693 #define TRISC0                  TRISCbits.TRISC0                // bit 0
7694 #define TRISC1                  TRISCbits.TRISC1                // bit 1
7695 #define TRISC2                  TRISCbits.TRISC2                // bit 2
7696 #define TRISC3                  TRISCbits.TRISC3                // bit 3
7697 #define TRISC4                  TRISCbits.TRISC4                // bit 4
7698 #define TRISC5                  TRISCbits.TRISC5                // bit 5
7699 #define TRISC6                  TRISCbits.TRISC6                // bit 6
7700 #define TRISC7                  TRISCbits.TRISC7                // bit 7
7701 
7702 #define TX9D                    TX1STAbits.TX9D                 // bit 0
7703 #define TRMT                    TX1STAbits.TRMT                 // bit 1
7704 #define BRGH                    TX1STAbits.BRGH                 // bit 2
7705 #define SENDB                   TX1STAbits.SENDB                // bit 3
7706 #define SYNC                    TX1STAbits.SYNC                 // bit 4
7707 #define TXEN                    TX1STAbits.TXEN                 // bit 5
7708 #define TX9                     TX1STAbits.TX9                  // bit 6
7709 #define CSRC                    TX1STAbits.CSRC                 // bit 7
7710 
7711 #define Reserved                VREGCONbits.Reserved            // bit 0
7712 #define VREGPM                  VREGCONbits.VREGPM              // bit 1
7713 
7714 #define SWDTEN                  WDTCONbits.SWDTEN               // bit 0
7715 #define WDTPS0                  WDTCONbits.WDTPS0               // bit 1
7716 #define WDTPS1                  WDTCONbits.WDTPS1               // bit 2
7717 #define WDTPS2                  WDTCONbits.WDTPS2               // bit 3
7718 #define WDTPS3                  WDTCONbits.WDTPS3               // bit 4
7719 #define WDTPS4                  WDTCONbits.WDTPS4               // bit 5
7720 
7721 #define WPUA0                   WPUAbits.WPUA0                  // bit 0
7722 #define WPUA1                   WPUAbits.WPUA1                  // bit 1
7723 #define WPUA2                   WPUAbits.WPUA2                  // bit 2
7724 #define WPUA3                   WPUAbits.WPUA3                  // bit 3
7725 #define WPUA4                   WPUAbits.WPUA4                  // bit 4
7726 #define WPUA5                   WPUAbits.WPUA5                  // bit 5
7727 
7728 #define WPUB4                   WPUBbits.WPUB4                  // bit 4
7729 #define WPUB5                   WPUBbits.WPUB5                  // bit 5
7730 #define WPUB6                   WPUBbits.WPUB6                  // bit 6
7731 #define WPUB7                   WPUBbits.WPUB7                  // bit 7
7732 
7733 #define WPUC0                   WPUCbits.WPUC0                  // bit 0
7734 #define WPUC1                   WPUCbits.WPUC1                  // bit 1
7735 #define WPUC2                   WPUCbits.WPUC2                  // bit 2
7736 #define WPUC3                   WPUCbits.WPUC3                  // bit 3
7737 #define WPUC4                   WPUCbits.WPUC4                  // bit 4
7738 #define WPUC5                   WPUCbits.WPUC5                  // bit 5
7739 #define WPUC6                   WPUCbits.WPUC6                  // bit 6
7740 #define WPUC7                   WPUCbits.WPUC7                  // bit 7
7741 
7742 #define ZCD1INTN                ZCD1CONbits.ZCD1INTN            // bit 0
7743 #define ZCD1INTP                ZCD1CONbits.ZCD1INTP            // bit 1
7744 #define ZCD1POL                 ZCD1CONbits.ZCD1POL             // bit 4
7745 #define ZCD1OUT                 ZCD1CONbits.ZCD1OUT             // bit 5
7746 #define ZCD1EN                  ZCD1CONbits.ZCD1EN              // bit 7
7747 
7748 #endif // #ifndef NO_BIT_DEFINES
7749 
7750 #endif // #ifndef __PIC16F1709_H__
7751