1 /*
2  * This declarations of the PIC12HV752 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:04 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 __PIC12HV752_H__
26 #define __PIC12HV752_H__
27 
28 //==============================================================================
29 //
30 //	Register Addresses
31 //
32 //==============================================================================
33 
34 #ifndef NO_ADDR_DEFINES
35 
36 #define INDF_ADDR               0x0000
37 #define TMR0_ADDR               0x0001
38 #define PCL_ADDR                0x0002
39 #define STATUS_ADDR             0x0003
40 #define FSR_ADDR                0x0004
41 #define PORTA_ADDR              0x0005
42 #define IOCAF_ADDR              0x0008
43 #define PCLATH_ADDR             0x000A
44 #define INTCON_ADDR             0x000B
45 #define PIR1_ADDR               0x000C
46 #define PIR2_ADDR               0x000D
47 #define TMR1_ADDR               0x000F
48 #define TMR1L_ADDR              0x000F
49 #define TMR1H_ADDR              0x0010
50 #define T1CON_ADDR              0x0011
51 #define T1GCON_ADDR             0x0012
52 #define CCPR1_ADDR              0x0013
53 #define CCPR1L_ADDR             0x0013
54 #define CCPR1H_ADDR             0x0014
55 #define CCP1CON_ADDR            0x0015
56 #define ADRES_ADDR              0x001C
57 #define ADRESL_ADDR             0x001C
58 #define ADRESH_ADDR             0x001D
59 #define ADCON0_ADDR             0x001E
60 #define ADCON1_ADDR             0x001F
61 #define OPTION_REG_ADDR         0x0081
62 #define TRISA_ADDR              0x0085
63 #define IOCAP_ADDR              0x0088
64 #define PIE1_ADDR               0x008C
65 #define PIE2_ADDR               0x008D
66 #define OSCCON_ADDR             0x008F
67 #define FVRCON_ADDR             0x0090
68 #define DACCON0_ADDR            0x0091
69 #define DACCON1_ADDR            0x0092
70 #define C2CON0_ADDR             0x009B
71 #define CM2CON0_ADDR            0x009B
72 #define C2CON1_ADDR             0x009C
73 #define CM2CON1_ADDR            0x009C
74 #define C1CON0_ADDR             0x009D
75 #define CM1CON0_ADDR            0x009D
76 #define C1CON1_ADDR             0x009E
77 #define CM1CON1_ADDR            0x009E
78 #define CMOUT_ADDR              0x009F
79 #define MCOUT_ADDR              0x009F
80 #define LATA_ADDR               0x0105
81 #define IOCAN_ADDR              0x0108
82 #define WPUA_ADDR               0x010C
83 #define SLRCONA_ADDR            0x010D
84 #define PCON_ADDR               0x010F
85 #define TMR2_ADDR               0x0110
86 #define PR2_ADDR                0x0111
87 #define T2CON_ADDR              0x0112
88 #define HLTMR1_ADDR             0x0113
89 #define HLTPR1_ADDR             0x0114
90 #define HLT1CON0_ADDR           0x0115
91 #define HLT1CON1_ADDR           0x0116
92 #define ANSELA_ADDR             0x0185
93 #define APFCON_ADDR             0x0188
94 #define OSCTUNE_ADDR            0x0189
95 #define PMCON1_ADDR             0x018C
96 #define PMCON2_ADDR             0x018D
97 #define PMADR_ADDR              0x018E
98 #define PMADRL_ADDR             0x018E
99 #define PMADRH_ADDR             0x018F
100 #define PMDAT_ADDR              0x0190
101 #define PMDATL_ADDR             0x0190
102 #define PMDATH_ADDR             0x0191
103 #define COG1PH_ADDR             0x0192
104 #define COG1BLK_ADDR            0x0193
105 #define COG1DB_ADDR             0x0194
106 #define COG1CON0_ADDR           0x0195
107 #define COG1CON1_ADDR           0x0196
108 #define COG1ASD_ADDR            0x0197
109 
110 #endif // #ifndef NO_ADDR_DEFINES
111 
112 //==============================================================================
113 //
114 //	Register Definitions
115 //
116 //==============================================================================
117 
118 extern __at(0x0000) __sfr INDF;
119 extern __at(0x0001) __sfr TMR0;
120 extern __at(0x0002) __sfr PCL;
121 
122 //==============================================================================
123 //        STATUS Bits
124 
125 extern __at(0x0003) __sfr STATUS;
126 
127 typedef union
128   {
129   struct
130     {
131     unsigned C                  : 1;
132     unsigned DC                 : 1;
133     unsigned Z                  : 1;
134     unsigned NOT_PD             : 1;
135     unsigned NOT_TO             : 1;
136     unsigned RP0                : 1;
137     unsigned RP1                : 1;
138     unsigned IRP                : 1;
139     };
140 
141   struct
142     {
143     unsigned                    : 5;
144     unsigned RP                 : 2;
145     unsigned                    : 1;
146     };
147   } __STATUSbits_t;
148 
149 extern __at(0x0003) volatile __STATUSbits_t STATUSbits;
150 
151 #define _C                      0x01
152 #define _DC                     0x02
153 #define _Z                      0x04
154 #define _NOT_PD                 0x08
155 #define _NOT_TO                 0x10
156 #define _RP0                    0x20
157 #define _RP1                    0x40
158 #define _IRP                    0x80
159 
160 //==============================================================================
161 
162 extern __at(0x0004) __sfr FSR;
163 
164 //==============================================================================
165 //        PORTA Bits
166 
167 extern __at(0x0005) __sfr PORTA;
168 
169 typedef union
170   {
171   struct
172     {
173     unsigned RA0                : 1;
174     unsigned RA1                : 1;
175     unsigned RA2                : 1;
176     unsigned RA3                : 1;
177     unsigned RA4                : 1;
178     unsigned RA5                : 1;
179     unsigned                    : 1;
180     unsigned                    : 1;
181     };
182 
183   struct
184     {
185     unsigned RA                 : 6;
186     unsigned                    : 2;
187     };
188   } __PORTAbits_t;
189 
190 extern __at(0x0005) volatile __PORTAbits_t PORTAbits;
191 
192 #define _RA0                    0x01
193 #define _RA1                    0x02
194 #define _RA2                    0x04
195 #define _RA3                    0x08
196 #define _RA4                    0x10
197 #define _RA5                    0x20
198 
199 //==============================================================================
200 
201 
202 //==============================================================================
203 //        IOCAF Bits
204 
205 extern __at(0x0008) __sfr IOCAF;
206 
207 typedef union
208   {
209   struct
210     {
211     unsigned IOCAF0             : 1;
212     unsigned IOCAF1             : 1;
213     unsigned IOCAF2             : 1;
214     unsigned IOCAF3             : 1;
215     unsigned IOCAF4             : 1;
216     unsigned IOCAF5             : 1;
217     unsigned                    : 1;
218     unsigned                    : 1;
219     };
220 
221   struct
222     {
223     unsigned IOCAF              : 6;
224     unsigned                    : 2;
225     };
226   } __IOCAFbits_t;
227 
228 extern __at(0x0008) volatile __IOCAFbits_t IOCAFbits;
229 
230 #define _IOCAF0                 0x01
231 #define _IOCAF1                 0x02
232 #define _IOCAF2                 0x04
233 #define _IOCAF3                 0x08
234 #define _IOCAF4                 0x10
235 #define _IOCAF5                 0x20
236 
237 //==============================================================================
238 
239 extern __at(0x000A) __sfr PCLATH;
240 
241 //==============================================================================
242 //        INTCON Bits
243 
244 extern __at(0x000B) __sfr INTCON;
245 
246 typedef struct
247   {
248   unsigned IOCIF                : 1;
249   unsigned INTF                 : 1;
250   unsigned T0IF                 : 1;
251   unsigned IOCIE                : 1;
252   unsigned INTE                 : 1;
253   unsigned T0IE                 : 1;
254   unsigned PEIE                 : 1;
255   unsigned GIE                  : 1;
256   } __INTCONbits_t;
257 
258 extern __at(0x000B) volatile __INTCONbits_t INTCONbits;
259 
260 #define _IOCIF                  0x01
261 #define _INTF                   0x02
262 #define _T0IF                   0x04
263 #define _IOCIE                  0x08
264 #define _INTE                   0x10
265 #define _T0IE                   0x20
266 #define _PEIE                   0x40
267 #define _GIE                    0x80
268 
269 //==============================================================================
270 
271 
272 //==============================================================================
273 //        PIR1 Bits
274 
275 extern __at(0x000C) __sfr PIR1;
276 
277 typedef struct
278   {
279   unsigned TMR1IF               : 1;
280   unsigned TMR2IF               : 1;
281   unsigned HLTMR1IF             : 1;
282   unsigned                      : 1;
283   unsigned                      : 1;
284   unsigned                      : 1;
285   unsigned ADIF                 : 1;
286   unsigned TMR1GIF              : 1;
287   } __PIR1bits_t;
288 
289 extern __at(0x000C) volatile __PIR1bits_t PIR1bits;
290 
291 #define _TMR1IF                 0x01
292 #define _TMR2IF                 0x02
293 #define _HLTMR1IF               0x04
294 #define _ADIF                   0x40
295 #define _TMR1GIF                0x80
296 
297 //==============================================================================
298 
299 
300 //==============================================================================
301 //        PIR2 Bits
302 
303 extern __at(0x000D) __sfr PIR2;
304 
305 typedef struct
306   {
307   unsigned CCP1IF               : 1;
308   unsigned                      : 1;
309   unsigned COG1IF               : 1;
310   unsigned                      : 1;
311   unsigned C1IF                 : 1;
312   unsigned C2IF                 : 1;
313   unsigned                      : 1;
314   unsigned                      : 1;
315   } __PIR2bits_t;
316 
317 extern __at(0x000D) volatile __PIR2bits_t PIR2bits;
318 
319 #define _CCP1IF                 0x01
320 #define _COG1IF                 0x04
321 #define _C1IF                   0x10
322 #define _C2IF                   0x20
323 
324 //==============================================================================
325 
326 extern __at(0x000F) __sfr TMR1;
327 extern __at(0x000F) __sfr TMR1L;
328 extern __at(0x0010) __sfr TMR1H;
329 
330 //==============================================================================
331 //        T1CON Bits
332 
333 extern __at(0x0011) __sfr T1CON;
334 
335 typedef union
336   {
337   struct
338     {
339     unsigned TMR1ON             : 1;
340     unsigned                    : 1;
341     unsigned NOT_T1SYNC         : 1;
342     unsigned                    : 1;
343     unsigned T1CKPS0            : 1;
344     unsigned T1CKPS1            : 1;
345     unsigned TMR1CS0            : 1;
346     unsigned TMR1CS1            : 1;
347     };
348 
349   struct
350     {
351     unsigned                    : 4;
352     unsigned T1CKPS             : 2;
353     unsigned                    : 2;
354     };
355 
356   struct
357     {
358     unsigned                    : 6;
359     unsigned TMR1CS             : 2;
360     };
361   } __T1CONbits_t;
362 
363 extern __at(0x0011) volatile __T1CONbits_t T1CONbits;
364 
365 #define _TMR1ON                 0x01
366 #define _NOT_T1SYNC             0x04
367 #define _T1CKPS0                0x10
368 #define _T1CKPS1                0x20
369 #define _TMR1CS0                0x40
370 #define _TMR1CS1                0x80
371 
372 //==============================================================================
373 
374 
375 //==============================================================================
376 //        T1GCON Bits
377 
378 extern __at(0x0012) __sfr T1GCON;
379 
380 typedef union
381   {
382   struct
383     {
384     unsigned T1GSS0             : 1;
385     unsigned T1GSS1             : 1;
386     unsigned T1GVAL             : 1;
387     unsigned T1GGO_NOT_DONE     : 1;
388     unsigned T1GSPM             : 1;
389     unsigned T1GTM              : 1;
390     unsigned T1GPOL             : 1;
391     unsigned TMR1GE             : 1;
392     };
393 
394   struct
395     {
396     unsigned                    : 1;
397     unsigned                    : 1;
398     unsigned                    : 1;
399     unsigned T1GGO              : 1;
400     unsigned                    : 1;
401     unsigned                    : 1;
402     unsigned                    : 1;
403     unsigned                    : 1;
404     };
405 
406   struct
407     {
408     unsigned T1GSS              : 2;
409     unsigned                    : 6;
410     };
411   } __T1GCONbits_t;
412 
413 extern __at(0x0012) volatile __T1GCONbits_t T1GCONbits;
414 
415 #define _T1GSS0                 0x01
416 #define _T1GSS1                 0x02
417 #define _T1GVAL                 0x04
418 #define _T1GGO_NOT_DONE         0x08
419 #define _T1GGO                  0x08
420 #define _T1GSPM                 0x10
421 #define _T1GTM                  0x20
422 #define _T1GPOL                 0x40
423 #define _TMR1GE                 0x80
424 
425 //==============================================================================
426 
427 extern __at(0x0013) __sfr CCPR1;
428 extern __at(0x0013) __sfr CCPR1L;
429 extern __at(0x0014) __sfr CCPR1H;
430 
431 //==============================================================================
432 //        CCP1CON Bits
433 
434 extern __at(0x0015) __sfr CCP1CON;
435 
436 typedef union
437   {
438   struct
439     {
440     unsigned CCP1M0             : 1;
441     unsigned CCP1M1             : 1;
442     unsigned CCP1M2             : 1;
443     unsigned CCP1M3             : 1;
444     unsigned DC1B0              : 1;
445     unsigned DC1B1              : 1;
446     unsigned                    : 1;
447     unsigned                    : 1;
448     };
449 
450   struct
451     {
452     unsigned CCP1M              : 4;
453     unsigned                    : 4;
454     };
455 
456   struct
457     {
458     unsigned                    : 4;
459     unsigned DC1B               : 2;
460     unsigned                    : 2;
461     };
462   } __CCP1CONbits_t;
463 
464 extern __at(0x0015) volatile __CCP1CONbits_t CCP1CONbits;
465 
466 #define _CCP1M0                 0x01
467 #define _CCP1M1                 0x02
468 #define _CCP1M2                 0x04
469 #define _CCP1M3                 0x08
470 #define _DC1B0                  0x10
471 #define _DC1B1                  0x20
472 
473 //==============================================================================
474 
475 extern __at(0x001C) __sfr ADRES;
476 extern __at(0x001C) __sfr ADRESL;
477 extern __at(0x001D) __sfr ADRESH;
478 
479 //==============================================================================
480 //        ADCON0 Bits
481 
482 extern __at(0x001E) __sfr ADCON0;
483 
484 typedef union
485   {
486   struct
487     {
488     unsigned ADON               : 1;
489     unsigned GO_NOT_DONE        : 1;
490     unsigned CHS0               : 1;
491     unsigned CHS1               : 1;
492     unsigned CHS2               : 1;
493     unsigned CHS3               : 1;
494     unsigned VCFG               : 1;
495     unsigned ADFM               : 1;
496     };
497 
498   struct
499     {
500     unsigned                    : 2;
501     unsigned CHS                : 4;
502     unsigned                    : 2;
503     };
504   } __ADCON0bits_t;
505 
506 extern __at(0x001E) volatile __ADCON0bits_t ADCON0bits;
507 
508 #define _ADON                   0x01
509 #define _GO_NOT_DONE            0x02
510 #define _CHS0                   0x04
511 #define _CHS1                   0x08
512 #define _CHS2                   0x10
513 #define _CHS3                   0x20
514 #define _VCFG                   0x40
515 #define _ADFM                   0x80
516 
517 //==============================================================================
518 
519 
520 //==============================================================================
521 //        ADCON1 Bits
522 
523 extern __at(0x001F) __sfr ADCON1;
524 
525 typedef union
526   {
527   struct
528     {
529     unsigned                    : 1;
530     unsigned                    : 1;
531     unsigned                    : 1;
532     unsigned                    : 1;
533     unsigned ADCS0              : 1;
534     unsigned ADCS1              : 1;
535     unsigned ADCS2              : 1;
536     unsigned                    : 1;
537     };
538 
539   struct
540     {
541     unsigned                    : 4;
542     unsigned ADCS               : 3;
543     unsigned                    : 1;
544     };
545   } __ADCON1bits_t;
546 
547 extern __at(0x001F) volatile __ADCON1bits_t ADCON1bits;
548 
549 #define _ADCS0                  0x10
550 #define _ADCS1                  0x20
551 #define _ADCS2                  0x40
552 
553 //==============================================================================
554 
555 
556 //==============================================================================
557 //        OPTION_REG Bits
558 
559 extern __at(0x0081) __sfr OPTION_REG;
560 
561 typedef union
562   {
563   struct
564     {
565     unsigned PS0                : 1;
566     unsigned PS1                : 1;
567     unsigned PS2                : 1;
568     unsigned PSA                : 1;
569     unsigned T0SE               : 1;
570     unsigned T0CS               : 1;
571     unsigned INTEDG             : 1;
572     unsigned NOT_RAPU           : 1;
573     };
574 
575   struct
576     {
577     unsigned PS                 : 3;
578     unsigned                    : 5;
579     };
580   } __OPTION_REGbits_t;
581 
582 extern __at(0x0081) volatile __OPTION_REGbits_t OPTION_REGbits;
583 
584 #define _PS0                    0x01
585 #define _PS1                    0x02
586 #define _PS2                    0x04
587 #define _PSA                    0x08
588 #define _T0SE                   0x10
589 #define _T0CS                   0x20
590 #define _INTEDG                 0x40
591 #define _NOT_RAPU               0x80
592 
593 //==============================================================================
594 
595 
596 //==============================================================================
597 //        TRISA Bits
598 
599 extern __at(0x0085) __sfr TRISA;
600 
601 typedef union
602   {
603   struct
604     {
605     unsigned TRISA0             : 1;
606     unsigned TRISA1             : 1;
607     unsigned TRISA2             : 1;
608     unsigned TRISA3             : 1;
609     unsigned TRISA4             : 1;
610     unsigned TRISA5             : 1;
611     unsigned                    : 1;
612     unsigned                    : 1;
613     };
614 
615   struct
616     {
617     unsigned TRISA              : 6;
618     unsigned                    : 2;
619     };
620   } __TRISAbits_t;
621 
622 extern __at(0x0085) volatile __TRISAbits_t TRISAbits;
623 
624 #define _TRISA0                 0x01
625 #define _TRISA1                 0x02
626 #define _TRISA2                 0x04
627 #define _TRISA3                 0x08
628 #define _TRISA4                 0x10
629 #define _TRISA5                 0x20
630 
631 //==============================================================================
632 
633 
634 //==============================================================================
635 //        IOCAP Bits
636 
637 extern __at(0x0088) __sfr IOCAP;
638 
639 typedef union
640   {
641   struct
642     {
643     unsigned IOCAP0             : 1;
644     unsigned IOCAP1             : 1;
645     unsigned IOCAP2             : 1;
646     unsigned IOCAP3             : 1;
647     unsigned IOCAP4             : 1;
648     unsigned IOCAP5             : 1;
649     unsigned                    : 1;
650     unsigned                    : 1;
651     };
652 
653   struct
654     {
655     unsigned IOCAP              : 6;
656     unsigned                    : 2;
657     };
658   } __IOCAPbits_t;
659 
660 extern __at(0x0088) volatile __IOCAPbits_t IOCAPbits;
661 
662 #define _IOCAP0                 0x01
663 #define _IOCAP1                 0x02
664 #define _IOCAP2                 0x04
665 #define _IOCAP3                 0x08
666 #define _IOCAP4                 0x10
667 #define _IOCAP5                 0x20
668 
669 //==============================================================================
670 
671 
672 //==============================================================================
673 //        PIE1 Bits
674 
675 extern __at(0x008C) __sfr PIE1;
676 
677 typedef struct
678   {
679   unsigned TMR1IE               : 1;
680   unsigned TMR2IE               : 1;
681   unsigned HLTMR1IE             : 1;
682   unsigned                      : 1;
683   unsigned                      : 1;
684   unsigned                      : 1;
685   unsigned ADIE                 : 1;
686   unsigned TMR1GIE              : 1;
687   } __PIE1bits_t;
688 
689 extern __at(0x008C) volatile __PIE1bits_t PIE1bits;
690 
691 #define _TMR1IE                 0x01
692 #define _TMR2IE                 0x02
693 #define _HLTMR1IE               0x04
694 #define _ADIE                   0x40
695 #define _TMR1GIE                0x80
696 
697 //==============================================================================
698 
699 
700 //==============================================================================
701 //        PIE2 Bits
702 
703 extern __at(0x008D) __sfr PIE2;
704 
705 typedef struct
706   {
707   unsigned CCP1IE               : 1;
708   unsigned                      : 1;
709   unsigned COG1IE               : 1;
710   unsigned                      : 1;
711   unsigned C1IE                 : 1;
712   unsigned C2IE                 : 1;
713   unsigned                      : 1;
714   unsigned                      : 1;
715   } __PIE2bits_t;
716 
717 extern __at(0x008D) volatile __PIE2bits_t PIE2bits;
718 
719 #define _CCP1IE                 0x01
720 #define _COG1IE                 0x04
721 #define _C1IE                   0x10
722 #define _C2IE                   0x20
723 
724 //==============================================================================
725 
726 
727 //==============================================================================
728 //        OSCCON Bits
729 
730 extern __at(0x008F) __sfr OSCCON;
731 
732 typedef union
733   {
734   struct
735     {
736     unsigned                    : 1;
737     unsigned LTS                : 1;
738     unsigned HTS                : 1;
739     unsigned                    : 1;
740     unsigned IRCF0              : 1;
741     unsigned IRCF1              : 1;
742     unsigned                    : 1;
743     unsigned                    : 1;
744     };
745 
746   struct
747     {
748     unsigned                    : 4;
749     unsigned IRCF               : 2;
750     unsigned                    : 2;
751     };
752   } __OSCCONbits_t;
753 
754 extern __at(0x008F) volatile __OSCCONbits_t OSCCONbits;
755 
756 #define _LTS                    0x02
757 #define _HTS                    0x04
758 #define _IRCF0                  0x10
759 #define _IRCF1                  0x20
760 
761 //==============================================================================
762 
763 
764 //==============================================================================
765 //        FVRCON Bits
766 
767 extern __at(0x0090) __sfr FVRCON;
768 
769 typedef struct
770   {
771   unsigned                      : 1;
772   unsigned                      : 1;
773   unsigned                      : 1;
774   unsigned                      : 1;
775   unsigned FVRBUFSS             : 1;
776   unsigned FVRBUFEN             : 1;
777   unsigned FVRRDY               : 1;
778   unsigned FVREN                : 1;
779   } __FVRCONbits_t;
780 
781 extern __at(0x0090) volatile __FVRCONbits_t FVRCONbits;
782 
783 #define _FVRBUFSS               0x10
784 #define _FVRBUFEN               0x20
785 #define _FVRRDY                 0x40
786 #define _FVREN                  0x80
787 
788 //==============================================================================
789 
790 
791 //==============================================================================
792 //        DACCON0 Bits
793 
794 extern __at(0x0091) __sfr DACCON0;
795 
796 typedef struct
797   {
798   unsigned                      : 1;
799   unsigned                      : 1;
800   unsigned DACPSS0              : 1;
801   unsigned                      : 1;
802   unsigned                      : 1;
803   unsigned DACOE                : 1;
804   unsigned DACRNG               : 1;
805   unsigned DACEN                : 1;
806   } __DACCON0bits_t;
807 
808 extern __at(0x0091) volatile __DACCON0bits_t DACCON0bits;
809 
810 #define _DACPSS0                0x04
811 #define _DACOE                  0x20
812 #define _DACRNG                 0x40
813 #define _DACEN                  0x80
814 
815 //==============================================================================
816 
817 
818 //==============================================================================
819 //        DACCON1 Bits
820 
821 extern __at(0x0092) __sfr DACCON1;
822 
823 typedef union
824   {
825   struct
826     {
827     unsigned DACR0              : 1;
828     unsigned DACR1              : 1;
829     unsigned DACR2              : 1;
830     unsigned DACR3              : 1;
831     unsigned DACR4              : 1;
832     unsigned                    : 1;
833     unsigned                    : 1;
834     unsigned                    : 1;
835     };
836 
837   struct
838     {
839     unsigned DACR               : 5;
840     unsigned                    : 3;
841     };
842   } __DACCON1bits_t;
843 
844 extern __at(0x0092) volatile __DACCON1bits_t DACCON1bits;
845 
846 #define _DACR0                  0x01
847 #define _DACR1                  0x02
848 #define _DACR2                  0x04
849 #define _DACR3                  0x08
850 #define _DACR4                  0x10
851 
852 //==============================================================================
853 
854 
855 //==============================================================================
856 //        C2CON0 Bits
857 
858 extern __at(0x009B) __sfr C2CON0;
859 
860 typedef struct
861   {
862   unsigned C2SYNC               : 1;
863   unsigned C2HYS                : 1;
864   unsigned C2SP                 : 1;
865   unsigned C2ZLF                : 1;
866   unsigned C2POL                : 1;
867   unsigned C2OE                 : 1;
868   unsigned C2OUT                : 1;
869   unsigned C2ON                 : 1;
870   } __C2CON0bits_t;
871 
872 extern __at(0x009B) volatile __C2CON0bits_t C2CON0bits;
873 
874 #define _C2SYNC                 0x01
875 #define _C2HYS                  0x02
876 #define _C2SP                   0x04
877 #define _C2ZLF                  0x08
878 #define _C2POL                  0x10
879 #define _C2OE                   0x20
880 #define _C2OUT                  0x40
881 #define _C2ON                   0x80
882 
883 //==============================================================================
884 
885 
886 //==============================================================================
887 //        CM2CON0 Bits
888 
889 extern __at(0x009B) __sfr CM2CON0;
890 
891 typedef struct
892   {
893   unsigned C2SYNC               : 1;
894   unsigned C2HYS                : 1;
895   unsigned C2SP                 : 1;
896   unsigned C2ZLF                : 1;
897   unsigned C2POL                : 1;
898   unsigned C2OE                 : 1;
899   unsigned C2OUT                : 1;
900   unsigned C2ON                 : 1;
901   } __CM2CON0bits_t;
902 
903 extern __at(0x009B) volatile __CM2CON0bits_t CM2CON0bits;
904 
905 #define _CM2CON0_C2SYNC         0x01
906 #define _CM2CON0_C2HYS          0x02
907 #define _CM2CON0_C2SP           0x04
908 #define _CM2CON0_C2ZLF          0x08
909 #define _CM2CON0_C2POL          0x10
910 #define _CM2CON0_C2OE           0x20
911 #define _CM2CON0_C2OUT          0x40
912 #define _CM2CON0_C2ON           0x80
913 
914 //==============================================================================
915 
916 
917 //==============================================================================
918 //        C2CON1 Bits
919 
920 extern __at(0x009C) __sfr C2CON1;
921 
922 typedef union
923   {
924   struct
925     {
926     unsigned C2NCH0             : 1;
927     unsigned                    : 1;
928     unsigned                    : 1;
929     unsigned                    : 1;
930     unsigned C2PCH0             : 1;
931     unsigned C2PCH1             : 1;
932     unsigned C2INTN             : 1;
933     unsigned C2INTP             : 1;
934     };
935 
936   struct
937     {
938     unsigned                    : 4;
939     unsigned C2PCH              : 2;
940     unsigned                    : 2;
941     };
942   } __C2CON1bits_t;
943 
944 extern __at(0x009C) volatile __C2CON1bits_t C2CON1bits;
945 
946 #define _C2NCH0                 0x01
947 #define _C2PCH0                 0x10
948 #define _C2PCH1                 0x20
949 #define _C2INTN                 0x40
950 #define _C2INTP                 0x80
951 
952 //==============================================================================
953 
954 
955 //==============================================================================
956 //        CM2CON1 Bits
957 
958 extern __at(0x009C) __sfr CM2CON1;
959 
960 typedef union
961   {
962   struct
963     {
964     unsigned C2NCH0             : 1;
965     unsigned                    : 1;
966     unsigned                    : 1;
967     unsigned                    : 1;
968     unsigned C2PCH0             : 1;
969     unsigned C2PCH1             : 1;
970     unsigned C2INTN             : 1;
971     unsigned C2INTP             : 1;
972     };
973 
974   struct
975     {
976     unsigned                    : 4;
977     unsigned C2PCH              : 2;
978     unsigned                    : 2;
979     };
980   } __CM2CON1bits_t;
981 
982 extern __at(0x009C) volatile __CM2CON1bits_t CM2CON1bits;
983 
984 #define _CM2CON1_C2NCH0         0x01
985 #define _CM2CON1_C2PCH0         0x10
986 #define _CM2CON1_C2PCH1         0x20
987 #define _CM2CON1_C2INTN         0x40
988 #define _CM2CON1_C2INTP         0x80
989 
990 //==============================================================================
991 
992 
993 //==============================================================================
994 //        C1CON0 Bits
995 
996 extern __at(0x009D) __sfr C1CON0;
997 
998 typedef struct
999   {
1000   unsigned C1SYNC               : 1;
1001   unsigned C1HYS                : 1;
1002   unsigned C1SP                 : 1;
1003   unsigned C1ZLF                : 1;
1004   unsigned C1POL                : 1;
1005   unsigned C1OE                 : 1;
1006   unsigned C1OUT                : 1;
1007   unsigned C1ON                 : 1;
1008   } __C1CON0bits_t;
1009 
1010 extern __at(0x009D) volatile __C1CON0bits_t C1CON0bits;
1011 
1012 #define _C1SYNC                 0x01
1013 #define _C1HYS                  0x02
1014 #define _C1SP                   0x04
1015 #define _C1ZLF                  0x08
1016 #define _C1POL                  0x10
1017 #define _C1OE                   0x20
1018 #define _C1OUT                  0x40
1019 #define _C1ON                   0x80
1020 
1021 //==============================================================================
1022 
1023 
1024 //==============================================================================
1025 //        CM1CON0 Bits
1026 
1027 extern __at(0x009D) __sfr CM1CON0;
1028 
1029 typedef struct
1030   {
1031   unsigned C1SYNC               : 1;
1032   unsigned C1HYS                : 1;
1033   unsigned C1SP                 : 1;
1034   unsigned C1ZLF                : 1;
1035   unsigned C1POL                : 1;
1036   unsigned C1OE                 : 1;
1037   unsigned C1OUT                : 1;
1038   unsigned C1ON                 : 1;
1039   } __CM1CON0bits_t;
1040 
1041 extern __at(0x009D) volatile __CM1CON0bits_t CM1CON0bits;
1042 
1043 #define _CM1CON0_C1SYNC         0x01
1044 #define _CM1CON0_C1HYS          0x02
1045 #define _CM1CON0_C1SP           0x04
1046 #define _CM1CON0_C1ZLF          0x08
1047 #define _CM1CON0_C1POL          0x10
1048 #define _CM1CON0_C1OE           0x20
1049 #define _CM1CON0_C1OUT          0x40
1050 #define _CM1CON0_C1ON           0x80
1051 
1052 //==============================================================================
1053 
1054 
1055 //==============================================================================
1056 //        C1CON1 Bits
1057 
1058 extern __at(0x009E) __sfr C1CON1;
1059 
1060 typedef union
1061   {
1062   struct
1063     {
1064     unsigned C1NCH0             : 1;
1065     unsigned                    : 1;
1066     unsigned                    : 1;
1067     unsigned                    : 1;
1068     unsigned C1PCH0             : 1;
1069     unsigned C1PCH1             : 1;
1070     unsigned C1INTN             : 1;
1071     unsigned C1INTP             : 1;
1072     };
1073 
1074   struct
1075     {
1076     unsigned                    : 4;
1077     unsigned C1PCH              : 2;
1078     unsigned                    : 2;
1079     };
1080   } __C1CON1bits_t;
1081 
1082 extern __at(0x009E) volatile __C1CON1bits_t C1CON1bits;
1083 
1084 #define _C1NCH0                 0x01
1085 #define _C1PCH0                 0x10
1086 #define _C1PCH1                 0x20
1087 #define _C1INTN                 0x40
1088 #define _C1INTP                 0x80
1089 
1090 //==============================================================================
1091 
1092 
1093 //==============================================================================
1094 //        CM1CON1 Bits
1095 
1096 extern __at(0x009E) __sfr CM1CON1;
1097 
1098 typedef union
1099   {
1100   struct
1101     {
1102     unsigned C1NCH0             : 1;
1103     unsigned                    : 1;
1104     unsigned                    : 1;
1105     unsigned                    : 1;
1106     unsigned C1PCH0             : 1;
1107     unsigned C1PCH1             : 1;
1108     unsigned C1INTN             : 1;
1109     unsigned C1INTP             : 1;
1110     };
1111 
1112   struct
1113     {
1114     unsigned                    : 4;
1115     unsigned C1PCH              : 2;
1116     unsigned                    : 2;
1117     };
1118   } __CM1CON1bits_t;
1119 
1120 extern __at(0x009E) volatile __CM1CON1bits_t CM1CON1bits;
1121 
1122 #define _CM1CON1_C1NCH0         0x01
1123 #define _CM1CON1_C1PCH0         0x10
1124 #define _CM1CON1_C1PCH1         0x20
1125 #define _CM1CON1_C1INTN         0x40
1126 #define _CM1CON1_C1INTP         0x80
1127 
1128 //==============================================================================
1129 
1130 
1131 //==============================================================================
1132 //        CMOUT Bits
1133 
1134 extern __at(0x009F) __sfr CMOUT;
1135 
1136 typedef struct
1137   {
1138   unsigned MCOUT1               : 1;
1139   unsigned MCOUT2               : 1;
1140   unsigned                      : 1;
1141   unsigned                      : 1;
1142   unsigned                      : 1;
1143   unsigned                      : 1;
1144   unsigned                      : 1;
1145   unsigned                      : 1;
1146   } __CMOUTbits_t;
1147 
1148 extern __at(0x009F) volatile __CMOUTbits_t CMOUTbits;
1149 
1150 #define _MCOUT1                 0x01
1151 #define _MCOUT2                 0x02
1152 
1153 //==============================================================================
1154 
1155 
1156 //==============================================================================
1157 //        MCOUT Bits
1158 
1159 extern __at(0x009F) __sfr MCOUT;
1160 
1161 typedef struct
1162   {
1163   unsigned MCOUT1               : 1;
1164   unsigned MCOUT2               : 1;
1165   unsigned                      : 1;
1166   unsigned                      : 1;
1167   unsigned                      : 1;
1168   unsigned                      : 1;
1169   unsigned                      : 1;
1170   unsigned                      : 1;
1171   } __MCOUTbits_t;
1172 
1173 extern __at(0x009F) volatile __MCOUTbits_t MCOUTbits;
1174 
1175 #define _MCOUT_MCOUT1           0x01
1176 #define _MCOUT_MCOUT2           0x02
1177 
1178 //==============================================================================
1179 
1180 
1181 //==============================================================================
1182 //        LATA Bits
1183 
1184 extern __at(0x0105) __sfr LATA;
1185 
1186 typedef struct
1187   {
1188   unsigned LATA0                : 1;
1189   unsigned LATA1                : 1;
1190   unsigned LATA2                : 1;
1191   unsigned                      : 1;
1192   unsigned LATA4                : 1;
1193   unsigned LATA5                : 1;
1194   unsigned                      : 1;
1195   unsigned                      : 1;
1196   } __LATAbits_t;
1197 
1198 extern __at(0x0105) volatile __LATAbits_t LATAbits;
1199 
1200 #define _LATA0                  0x01
1201 #define _LATA1                  0x02
1202 #define _LATA2                  0x04
1203 #define _LATA4                  0x10
1204 #define _LATA5                  0x20
1205 
1206 //==============================================================================
1207 
1208 
1209 //==============================================================================
1210 //        IOCAN Bits
1211 
1212 extern __at(0x0108) __sfr IOCAN;
1213 
1214 typedef union
1215   {
1216   struct
1217     {
1218     unsigned IOCAN0             : 1;
1219     unsigned IOCAN1             : 1;
1220     unsigned IOCAN2             : 1;
1221     unsigned IOCAN3             : 1;
1222     unsigned IOCAN4             : 1;
1223     unsigned IOCAN5             : 1;
1224     unsigned                    : 1;
1225     unsigned                    : 1;
1226     };
1227 
1228   struct
1229     {
1230     unsigned IOCAN              : 6;
1231     unsigned                    : 2;
1232     };
1233   } __IOCANbits_t;
1234 
1235 extern __at(0x0108) volatile __IOCANbits_t IOCANbits;
1236 
1237 #define _IOCAN0                 0x01
1238 #define _IOCAN1                 0x02
1239 #define _IOCAN2                 0x04
1240 #define _IOCAN3                 0x08
1241 #define _IOCAN4                 0x10
1242 #define _IOCAN5                 0x20
1243 
1244 //==============================================================================
1245 
1246 
1247 //==============================================================================
1248 //        WPUA Bits
1249 
1250 extern __at(0x010C) __sfr WPUA;
1251 
1252 typedef union
1253   {
1254   struct
1255     {
1256     unsigned WPUA0              : 1;
1257     unsigned WPUA1              : 1;
1258     unsigned WPUA2              : 1;
1259     unsigned WPUA3              : 1;
1260     unsigned WPUA4              : 1;
1261     unsigned WPUA5              : 1;
1262     unsigned                    : 1;
1263     unsigned                    : 1;
1264     };
1265 
1266   struct
1267     {
1268     unsigned WPUA               : 6;
1269     unsigned                    : 2;
1270     };
1271   } __WPUAbits_t;
1272 
1273 extern __at(0x010C) volatile __WPUAbits_t WPUAbits;
1274 
1275 #define _WPUA0                  0x01
1276 #define _WPUA1                  0x02
1277 #define _WPUA2                  0x04
1278 #define _WPUA3                  0x08
1279 #define _WPUA4                  0x10
1280 #define _WPUA5                  0x20
1281 
1282 //==============================================================================
1283 
1284 
1285 //==============================================================================
1286 //        SLRCONA Bits
1287 
1288 extern __at(0x010D) __sfr SLRCONA;
1289 
1290 typedef struct
1291   {
1292   unsigned SLRA0                : 1;
1293   unsigned                      : 1;
1294   unsigned SLRA2                : 1;
1295   unsigned                      : 1;
1296   unsigned                      : 1;
1297   unsigned                      : 1;
1298   unsigned                      : 1;
1299   unsigned                      : 1;
1300   } __SLRCONAbits_t;
1301 
1302 extern __at(0x010D) volatile __SLRCONAbits_t SLRCONAbits;
1303 
1304 #define _SLRA0                  0x01
1305 #define _SLRA2                  0x04
1306 
1307 //==============================================================================
1308 
1309 
1310 //==============================================================================
1311 //        PCON Bits
1312 
1313 extern __at(0x010F) __sfr PCON;
1314 
1315 typedef struct
1316   {
1317   unsigned NOT_BOR              : 1;
1318   unsigned NOT_POR              : 1;
1319   unsigned                      : 1;
1320   unsigned                      : 1;
1321   unsigned                      : 1;
1322   unsigned                      : 1;
1323   unsigned                      : 1;
1324   unsigned                      : 1;
1325   } __PCONbits_t;
1326 
1327 extern __at(0x010F) volatile __PCONbits_t PCONbits;
1328 
1329 #define _NOT_BOR                0x01
1330 #define _NOT_POR                0x02
1331 
1332 //==============================================================================
1333 
1334 extern __at(0x0110) __sfr TMR2;
1335 extern __at(0x0111) __sfr PR2;
1336 
1337 //==============================================================================
1338 //        T2CON Bits
1339 
1340 extern __at(0x0112) __sfr T2CON;
1341 
1342 typedef union
1343   {
1344   struct
1345     {
1346     unsigned T2CKPS0            : 1;
1347     unsigned T2CKPS1            : 1;
1348     unsigned TMR2ON             : 1;
1349     unsigned T2OUTPS0           : 1;
1350     unsigned T2OUTPS1           : 1;
1351     unsigned T2OUTPS2           : 1;
1352     unsigned T2OUTPS3           : 1;
1353     unsigned                    : 1;
1354     };
1355 
1356   struct
1357     {
1358     unsigned T2CKPS             : 2;
1359     unsigned                    : 6;
1360     };
1361 
1362   struct
1363     {
1364     unsigned                    : 3;
1365     unsigned T2OUTPS            : 4;
1366     unsigned                    : 1;
1367     };
1368   } __T2CONbits_t;
1369 
1370 extern __at(0x0112) volatile __T2CONbits_t T2CONbits;
1371 
1372 #define _T2CKPS0                0x01
1373 #define _T2CKPS1                0x02
1374 #define _TMR2ON                 0x04
1375 #define _T2OUTPS0               0x08
1376 #define _T2OUTPS1               0x10
1377 #define _T2OUTPS2               0x20
1378 #define _T2OUTPS3               0x40
1379 
1380 //==============================================================================
1381 
1382 extern __at(0x0113) __sfr HLTMR1;
1383 extern __at(0x0114) __sfr HLTPR1;
1384 
1385 //==============================================================================
1386 //        HLT1CON0 Bits
1387 
1388 extern __at(0x0115) __sfr HLT1CON0;
1389 
1390 typedef union
1391   {
1392   struct
1393     {
1394     unsigned H1CKPS0            : 1;
1395     unsigned H1CKPS1            : 1;
1396     unsigned H1ON               : 1;
1397     unsigned H1OUTPS0           : 1;
1398     unsigned H1OUTPS1           : 1;
1399     unsigned H1OUTPS2           : 1;
1400     unsigned H1OUTPS3           : 1;
1401     unsigned                    : 1;
1402     };
1403 
1404   struct
1405     {
1406     unsigned H1CKPS             : 2;
1407     unsigned                    : 6;
1408     };
1409 
1410   struct
1411     {
1412     unsigned                    : 3;
1413     unsigned H1OUTPS            : 4;
1414     unsigned                    : 1;
1415     };
1416   } __HLT1CON0bits_t;
1417 
1418 extern __at(0x0115) volatile __HLT1CON0bits_t HLT1CON0bits;
1419 
1420 #define _H1CKPS0                0x01
1421 #define _H1CKPS1                0x02
1422 #define _H1ON                   0x04
1423 #define _H1OUTPS0               0x08
1424 #define _H1OUTPS1               0x10
1425 #define _H1OUTPS2               0x20
1426 #define _H1OUTPS3               0x40
1427 
1428 //==============================================================================
1429 
1430 
1431 //==============================================================================
1432 //        HLT1CON1 Bits
1433 
1434 extern __at(0x0116) __sfr HLT1CON1;
1435 
1436 typedef union
1437   {
1438   struct
1439     {
1440     unsigned H1REREN            : 1;
1441     unsigned H1FEREN            : 1;
1442     unsigned H1ERS0             : 1;
1443     unsigned H1ERS1             : 1;
1444     unsigned H1ERS2             : 1;
1445     unsigned                    : 1;
1446     unsigned                    : 1;
1447     unsigned                    : 1;
1448     };
1449 
1450   struct
1451     {
1452     unsigned                    : 2;
1453     unsigned H1ERS              : 3;
1454     unsigned                    : 3;
1455     };
1456   } __HLT1CON1bits_t;
1457 
1458 extern __at(0x0116) volatile __HLT1CON1bits_t HLT1CON1bits;
1459 
1460 #define _H1REREN                0x01
1461 #define _H1FEREN                0x02
1462 #define _H1ERS0                 0x04
1463 #define _H1ERS1                 0x08
1464 #define _H1ERS2                 0x10
1465 
1466 //==============================================================================
1467 
1468 
1469 //==============================================================================
1470 //        ANSELA Bits
1471 
1472 extern __at(0x0185) __sfr ANSELA;
1473 
1474 typedef struct
1475   {
1476   unsigned ANSA0                : 1;
1477   unsigned ANSA1                : 1;
1478   unsigned ANSA2                : 1;
1479   unsigned                      : 1;
1480   unsigned ANSA4                : 1;
1481   unsigned ANSA5                : 1;
1482   unsigned                      : 1;
1483   unsigned                      : 1;
1484   } __ANSELAbits_t;
1485 
1486 extern __at(0x0185) volatile __ANSELAbits_t ANSELAbits;
1487 
1488 #define _ANSA0                  0x01
1489 #define _ANSA1                  0x02
1490 #define _ANSA2                  0x04
1491 #define _ANSA4                  0x10
1492 #define _ANSA5                  0x20
1493 
1494 //==============================================================================
1495 
1496 
1497 //==============================================================================
1498 //        APFCON Bits
1499 
1500 extern __at(0x0188) __sfr APFCON;
1501 
1502 typedef struct
1503   {
1504   unsigned COG1O0SEL            : 1;
1505   unsigned COG1O1SEL            : 1;
1506   unsigned COG1FSEL             : 1;
1507   unsigned                      : 1;
1508   unsigned T1GSEL               : 1;
1509   unsigned                      : 1;
1510   unsigned                      : 1;
1511   unsigned                      : 1;
1512   } __APFCONbits_t;
1513 
1514 extern __at(0x0188) volatile __APFCONbits_t APFCONbits;
1515 
1516 #define _COG1O0SEL              0x01
1517 #define _COG1O1SEL              0x02
1518 #define _COG1FSEL               0x04
1519 #define _T1GSEL                 0x10
1520 
1521 //==============================================================================
1522 
1523 
1524 //==============================================================================
1525 //        OSCTUNE Bits
1526 
1527 extern __at(0x0189) __sfr OSCTUNE;
1528 
1529 typedef union
1530   {
1531   struct
1532     {
1533     unsigned TUN0               : 1;
1534     unsigned TUN1               : 1;
1535     unsigned TUN2               : 1;
1536     unsigned TUN3               : 1;
1537     unsigned TUN4               : 1;
1538     unsigned                    : 1;
1539     unsigned                    : 1;
1540     unsigned                    : 1;
1541     };
1542 
1543   struct
1544     {
1545     unsigned TUN                : 5;
1546     unsigned                    : 3;
1547     };
1548   } __OSCTUNEbits_t;
1549 
1550 extern __at(0x0189) volatile __OSCTUNEbits_t OSCTUNEbits;
1551 
1552 #define _TUN0                   0x01
1553 #define _TUN1                   0x02
1554 #define _TUN2                   0x04
1555 #define _TUN3                   0x08
1556 #define _TUN4                   0x10
1557 
1558 //==============================================================================
1559 
1560 
1561 //==============================================================================
1562 //        PMCON1 Bits
1563 
1564 extern __at(0x018C) __sfr PMCON1;
1565 
1566 typedef struct
1567   {
1568   unsigned RD                   : 1;
1569   unsigned WR                   : 1;
1570   unsigned WREN                 : 1;
1571   unsigned                      : 1;
1572   unsigned                      : 1;
1573   unsigned                      : 1;
1574   unsigned                      : 1;
1575   unsigned                      : 1;
1576   } __PMCON1bits_t;
1577 
1578 extern __at(0x018C) volatile __PMCON1bits_t PMCON1bits;
1579 
1580 #define _RD                     0x01
1581 #define _WR                     0x02
1582 #define _WREN                   0x04
1583 
1584 //==============================================================================
1585 
1586 extern __at(0x018D) __sfr PMCON2;
1587 extern __at(0x018E) __sfr PMADR;
1588 extern __at(0x018E) __sfr PMADRL;
1589 extern __at(0x018F) __sfr PMADRH;
1590 extern __at(0x0190) __sfr PMDAT;
1591 extern __at(0x0190) __sfr PMDATL;
1592 extern __at(0x0191) __sfr PMDATH;
1593 
1594 //==============================================================================
1595 //        COG1PH Bits
1596 
1597 extern __at(0x0192) __sfr COG1PH;
1598 
1599 typedef union
1600   {
1601   struct
1602     {
1603     unsigned G1PH0              : 1;
1604     unsigned G1PH1              : 1;
1605     unsigned G1PH2              : 1;
1606     unsigned G1PH3              : 1;
1607     unsigned                    : 1;
1608     unsigned                    : 1;
1609     unsigned                    : 1;
1610     unsigned                    : 1;
1611     };
1612 
1613   struct
1614     {
1615     unsigned G1PH               : 4;
1616     unsigned                    : 4;
1617     };
1618   } __COG1PHbits_t;
1619 
1620 extern __at(0x0192) volatile __COG1PHbits_t COG1PHbits;
1621 
1622 #define _G1PH0                  0x01
1623 #define _G1PH1                  0x02
1624 #define _G1PH2                  0x04
1625 #define _G1PH3                  0x08
1626 
1627 //==============================================================================
1628 
1629 
1630 //==============================================================================
1631 //        COG1BLK Bits
1632 
1633 extern __at(0x0193) __sfr COG1BLK;
1634 
1635 typedef union
1636   {
1637   struct
1638     {
1639     unsigned G1BLKF0            : 1;
1640     unsigned G1BLKF1            : 1;
1641     unsigned G1BLKF2            : 1;
1642     unsigned G1BLKF3            : 1;
1643     unsigned G1BLKR0            : 1;
1644     unsigned G1BLKR1            : 1;
1645     unsigned G1BLKR2            : 1;
1646     unsigned G1BLKR3            : 1;
1647     };
1648 
1649   struct
1650     {
1651     unsigned G1BLKF             : 4;
1652     unsigned                    : 4;
1653     };
1654 
1655   struct
1656     {
1657     unsigned                    : 4;
1658     unsigned G1BLKR             : 4;
1659     };
1660   } __COG1BLKbits_t;
1661 
1662 extern __at(0x0193) volatile __COG1BLKbits_t COG1BLKbits;
1663 
1664 #define _G1BLKF0                0x01
1665 #define _G1BLKF1                0x02
1666 #define _G1BLKF2                0x04
1667 #define _G1BLKF3                0x08
1668 #define _G1BLKR0                0x10
1669 #define _G1BLKR1                0x20
1670 #define _G1BLKR2                0x40
1671 #define _G1BLKR3                0x80
1672 
1673 //==============================================================================
1674 
1675 
1676 //==============================================================================
1677 //        COG1DB Bits
1678 
1679 extern __at(0x0194) __sfr COG1DB;
1680 
1681 typedef union
1682   {
1683   struct
1684     {
1685     unsigned G1DBF0             : 1;
1686     unsigned G1DBF1             : 1;
1687     unsigned G1DBF2             : 1;
1688     unsigned G1DBF3             : 1;
1689     unsigned G1BDR0             : 1;
1690     unsigned G1BDR1             : 1;
1691     unsigned G1BDR2             : 1;
1692     unsigned G1BDR3             : 1;
1693     };
1694 
1695   struct
1696     {
1697     unsigned G1DBF              : 4;
1698     unsigned                    : 4;
1699     };
1700 
1701   struct
1702     {
1703     unsigned                    : 4;
1704     unsigned G1BDR              : 4;
1705     };
1706   } __COG1DBbits_t;
1707 
1708 extern __at(0x0194) volatile __COG1DBbits_t COG1DBbits;
1709 
1710 #define _G1DBF0                 0x01
1711 #define _G1DBF1                 0x02
1712 #define _G1DBF2                 0x04
1713 #define _G1DBF3                 0x08
1714 #define _G1BDR0                 0x10
1715 #define _G1BDR1                 0x20
1716 #define _G1BDR2                 0x40
1717 #define _G1BDR3                 0x80
1718 
1719 //==============================================================================
1720 
1721 
1722 //==============================================================================
1723 //        COG1CON0 Bits
1724 
1725 extern __at(0x0195) __sfr COG1CON0;
1726 
1727 typedef union
1728   {
1729   struct
1730     {
1731     unsigned G1CS0              : 1;
1732     unsigned G1CS1              : 1;
1733     unsigned G1LD               : 1;
1734     unsigned G1POL0             : 1;
1735     unsigned G1POL1             : 1;
1736     unsigned G1OE0              : 1;
1737     unsigned G1OE1              : 1;
1738     unsigned G1EN               : 1;
1739     };
1740 
1741   struct
1742     {
1743     unsigned G1CS               : 2;
1744     unsigned                    : 6;
1745     };
1746 
1747   struct
1748     {
1749     unsigned                    : 3;
1750     unsigned G1POL              : 2;
1751     unsigned                    : 3;
1752     };
1753 
1754   struct
1755     {
1756     unsigned                    : 5;
1757     unsigned G1OE               : 2;
1758     unsigned                    : 1;
1759     };
1760   } __COG1CON0bits_t;
1761 
1762 extern __at(0x0195) volatile __COG1CON0bits_t COG1CON0bits;
1763 
1764 #define _G1CS0                  0x01
1765 #define _G1CS1                  0x02
1766 #define _G1LD                   0x04
1767 #define _G1POL0                 0x08
1768 #define _G1POL1                 0x10
1769 #define _G1OE0                  0x20
1770 #define _G1OE1                  0x40
1771 #define _G1EN                   0x80
1772 
1773 //==============================================================================
1774 
1775 
1776 //==============================================================================
1777 //        COG1CON1 Bits
1778 
1779 extern __at(0x0196) __sfr COG1CON1;
1780 
1781 typedef union
1782   {
1783   struct
1784     {
1785     unsigned G1RS0              : 1;
1786     unsigned G1RS1              : 1;
1787     unsigned G1RS2              : 1;
1788     unsigned G1FS0              : 1;
1789     unsigned G1FS1              : 1;
1790     unsigned G1FS2              : 1;
1791     unsigned G1RSIM             : 1;
1792     unsigned G1FSIM             : 1;
1793     };
1794 
1795   struct
1796     {
1797     unsigned G1RS               : 3;
1798     unsigned                    : 5;
1799     };
1800 
1801   struct
1802     {
1803     unsigned                    : 3;
1804     unsigned G1FS               : 3;
1805     unsigned                    : 2;
1806     };
1807   } __COG1CON1bits_t;
1808 
1809 extern __at(0x0196) volatile __COG1CON1bits_t COG1CON1bits;
1810 
1811 #define _G1RS0                  0x01
1812 #define _G1RS1                  0x02
1813 #define _G1RS2                  0x04
1814 #define _G1FS0                  0x08
1815 #define _G1FS1                  0x10
1816 #define _G1FS2                  0x20
1817 #define _G1RSIM                 0x40
1818 #define _G1FSIM                 0x80
1819 
1820 //==============================================================================
1821 
1822 
1823 //==============================================================================
1824 //        COG1ASD Bits
1825 
1826 extern __at(0x0197) __sfr COG1ASD;
1827 
1828 typedef union
1829   {
1830   struct
1831     {
1832     unsigned G1ASDSFLT          : 1;
1833     unsigned G1ASDSC1           : 1;
1834     unsigned G1ASDSC2           : 1;
1835     unsigned G1ASDSHLT          : 1;
1836     unsigned G1ASDL0            : 1;
1837     unsigned G1ASDL1            : 1;
1838     unsigned G1ARSEN            : 1;
1839     unsigned G1ASDE             : 1;
1840     };
1841 
1842   struct
1843     {
1844     unsigned                    : 4;
1845     unsigned G1ASDL             : 2;
1846     unsigned                    : 2;
1847     };
1848   } __COG1ASDbits_t;
1849 
1850 extern __at(0x0197) volatile __COG1ASDbits_t COG1ASDbits;
1851 
1852 #define _G1ASDSFLT              0x01
1853 #define _G1ASDSC1               0x02
1854 #define _G1ASDSC2               0x04
1855 #define _G1ASDSHLT              0x08
1856 #define _G1ASDL0                0x10
1857 #define _G1ASDL1                0x20
1858 #define _G1ARSEN                0x40
1859 #define _G1ASDE                 0x80
1860 
1861 //==============================================================================
1862 
1863 
1864 //==============================================================================
1865 //
1866 //        Configuration Bits
1867 //
1868 //==============================================================================
1869 
1870 #define _CONFIG                 0x2007
1871 
1872 //----------------------------- CONFIG Options -------------------------------
1873 
1874 #define _FOSC0_INT              0x3FFE  // Internal oscillator mode.  I/O function on RA5/CLKIN.
1875 #define _FOSC0_EC               0x3FFF  // EC oscillator mode.  CLKIN function on RA5/CLKIN.
1876 #define _WDTE_OFF               0x3FF7  // Watchdog Timer disabled.
1877 #define _WDTE_ON                0x3FFF  // Watchdog Timer enabled.
1878 #define _PWRTE_ON               0x3FEF  // Power-up Timer enabled.
1879 #define _PWRTE_OFF              0x3FFF  // Power-up Timer disabled.
1880 #define _MCLRE_OFF              0x3FDF  // MCLR pin is alternate function.
1881 #define _MCLRE_ON               0x3FFF  // MCLR pin is MCLR function with internal weak pullup.
1882 #define _CP_ON                  0x3FBF  // Program memory code protection is enabled.
1883 #define _CP_OFF                 0x3FFF  // Program memory code protection is disabled.
1884 #define _BOREN_DIS              0x3CFF  // BOR disabled.
1885 #define _BOREN_SLEEP_DIS        0x3EFF  // BOR enabled during operation and disabled in Sleep.
1886 #define _BOREN_EN               0x3FFF  // BOR enabled.
1887 #define _WRT_ALL                0x33FF  // 000h to 3FFh self-write protected.
1888 #define _WRT_HALF               0x37FF  // 000h to 1FFh self-write protected.
1889 #define _WRT_FOURTH             0x3BFF  // 000h to 0FFh self-write protected.
1890 #define _WRT_OFF                0x3FFF  // Flash self-write protection off.
1891 #define _CLKOUTEN_ON            0x2FFF  // CLKOUT function enabled.  CLKOUT pin is CLKOUT.
1892 #define _CLKOUTEN_OFF           0x3FFF  // CLKOUT function disabled.  CLKOUT pin acts as I/O.
1893 
1894 //==============================================================================
1895 
1896 #define _DEVID1                 0x2006
1897 
1898 #define _IDLOC0                 0x2000
1899 #define _IDLOC1                 0x2001
1900 #define _IDLOC2                 0x2002
1901 #define _IDLOC3                 0x2003
1902 
1903 //==============================================================================
1904 
1905 #ifndef NO_BIT_DEFINES
1906 
1907 #define ADON                    ADCON0bits.ADON                 // bit 0
1908 #define GO_NOT_DONE             ADCON0bits.GO_NOT_DONE          // bit 1
1909 #define CHS0                    ADCON0bits.CHS0                 // bit 2
1910 #define CHS1                    ADCON0bits.CHS1                 // bit 3
1911 #define CHS2                    ADCON0bits.CHS2                 // bit 4
1912 #define CHS3                    ADCON0bits.CHS3                 // bit 5
1913 #define VCFG                    ADCON0bits.VCFG                 // bit 6
1914 #define ADFM                    ADCON0bits.ADFM                 // bit 7
1915 
1916 #define ADCS0                   ADCON1bits.ADCS0                // bit 4
1917 #define ADCS1                   ADCON1bits.ADCS1                // bit 5
1918 #define ADCS2                   ADCON1bits.ADCS2                // bit 6
1919 
1920 #define ANSA0                   ANSELAbits.ANSA0                // bit 0
1921 #define ANSA1                   ANSELAbits.ANSA1                // bit 1
1922 #define ANSA2                   ANSELAbits.ANSA2                // bit 2
1923 #define ANSA4                   ANSELAbits.ANSA4                // bit 4
1924 #define ANSA5                   ANSELAbits.ANSA5                // bit 5
1925 
1926 #define COG1O0SEL               APFCONbits.COG1O0SEL            // bit 0
1927 #define COG1O1SEL               APFCONbits.COG1O1SEL            // bit 1
1928 #define COG1FSEL                APFCONbits.COG1FSEL             // bit 2
1929 #define T1GSEL                  APFCONbits.T1GSEL               // bit 4
1930 
1931 #define C1SYNC                  C1CON0bits.C1SYNC               // bit 0
1932 #define C1HYS                   C1CON0bits.C1HYS                // bit 1
1933 #define C1SP                    C1CON0bits.C1SP                 // bit 2
1934 #define C1ZLF                   C1CON0bits.C1ZLF                // bit 3
1935 #define C1POL                   C1CON0bits.C1POL                // bit 4
1936 #define C1OE                    C1CON0bits.C1OE                 // bit 5
1937 #define C1OUT                   C1CON0bits.C1OUT                // bit 6
1938 #define C1ON                    C1CON0bits.C1ON                 // bit 7
1939 
1940 #define C1NCH0                  C1CON1bits.C1NCH0               // bit 0
1941 #define C1PCH0                  C1CON1bits.C1PCH0               // bit 4
1942 #define C1PCH1                  C1CON1bits.C1PCH1               // bit 5
1943 #define C1INTN                  C1CON1bits.C1INTN               // bit 6
1944 #define C1INTP                  C1CON1bits.C1INTP               // bit 7
1945 
1946 #define C2SYNC                  C2CON0bits.C2SYNC               // bit 0
1947 #define C2HYS                   C2CON0bits.C2HYS                // bit 1
1948 #define C2SP                    C2CON0bits.C2SP                 // bit 2
1949 #define C2ZLF                   C2CON0bits.C2ZLF                // bit 3
1950 #define C2POL                   C2CON0bits.C2POL                // bit 4
1951 #define C2OE                    C2CON0bits.C2OE                 // bit 5
1952 #define C2OUT                   C2CON0bits.C2OUT                // bit 6
1953 #define C2ON                    C2CON0bits.C2ON                 // bit 7
1954 
1955 #define C2NCH0                  C2CON1bits.C2NCH0               // bit 0
1956 #define C2PCH0                  C2CON1bits.C2PCH0               // bit 4
1957 #define C2PCH1                  C2CON1bits.C2PCH1               // bit 5
1958 #define C2INTN                  C2CON1bits.C2INTN               // bit 6
1959 #define C2INTP                  C2CON1bits.C2INTP               // bit 7
1960 
1961 #define CCP1M0                  CCP1CONbits.CCP1M0              // bit 0
1962 #define CCP1M1                  CCP1CONbits.CCP1M1              // bit 1
1963 #define CCP1M2                  CCP1CONbits.CCP1M2              // bit 2
1964 #define CCP1M3                  CCP1CONbits.CCP1M3              // bit 3
1965 #define DC1B0                   CCP1CONbits.DC1B0               // bit 4
1966 #define DC1B1                   CCP1CONbits.DC1B1               // bit 5
1967 
1968 #define MCOUT1                  CMOUTbits.MCOUT1                // bit 0
1969 #define MCOUT2                  CMOUTbits.MCOUT2                // bit 1
1970 
1971 #define G1ASDSFLT               COG1ASDbits.G1ASDSFLT           // bit 0
1972 #define G1ASDSC1                COG1ASDbits.G1ASDSC1            // bit 1
1973 #define G1ASDSC2                COG1ASDbits.G1ASDSC2            // bit 2
1974 #define G1ASDSHLT               COG1ASDbits.G1ASDSHLT           // bit 3
1975 #define G1ASDL0                 COG1ASDbits.G1ASDL0             // bit 4
1976 #define G1ASDL1                 COG1ASDbits.G1ASDL1             // bit 5
1977 #define G1ARSEN                 COG1ASDbits.G1ARSEN             // bit 6
1978 #define G1ASDE                  COG1ASDbits.G1ASDE              // bit 7
1979 
1980 #define G1BLKF0                 COG1BLKbits.G1BLKF0             // bit 0
1981 #define G1BLKF1                 COG1BLKbits.G1BLKF1             // bit 1
1982 #define G1BLKF2                 COG1BLKbits.G1BLKF2             // bit 2
1983 #define G1BLKF3                 COG1BLKbits.G1BLKF3             // bit 3
1984 #define G1BLKR0                 COG1BLKbits.G1BLKR0             // bit 4
1985 #define G1BLKR1                 COG1BLKbits.G1BLKR1             // bit 5
1986 #define G1BLKR2                 COG1BLKbits.G1BLKR2             // bit 6
1987 #define G1BLKR3                 COG1BLKbits.G1BLKR3             // bit 7
1988 
1989 #define G1CS0                   COG1CON0bits.G1CS0              // bit 0
1990 #define G1CS1                   COG1CON0bits.G1CS1              // bit 1
1991 #define G1LD                    COG1CON0bits.G1LD               // bit 2
1992 #define G1POL0                  COG1CON0bits.G1POL0             // bit 3
1993 #define G1POL1                  COG1CON0bits.G1POL1             // bit 4
1994 #define G1OE0                   COG1CON0bits.G1OE0              // bit 5
1995 #define G1OE1                   COG1CON0bits.G1OE1              // bit 6
1996 #define G1EN                    COG1CON0bits.G1EN               // bit 7
1997 
1998 #define G1RS0                   COG1CON1bits.G1RS0              // bit 0
1999 #define G1RS1                   COG1CON1bits.G1RS1              // bit 1
2000 #define G1RS2                   COG1CON1bits.G1RS2              // bit 2
2001 #define G1FS0                   COG1CON1bits.G1FS0              // bit 3
2002 #define G1FS1                   COG1CON1bits.G1FS1              // bit 4
2003 #define G1FS2                   COG1CON1bits.G1FS2              // bit 5
2004 #define G1RSIM                  COG1CON1bits.G1RSIM             // bit 6
2005 #define G1FSIM                  COG1CON1bits.G1FSIM             // bit 7
2006 
2007 #define G1DBF0                  COG1DBbits.G1DBF0               // bit 0
2008 #define G1DBF1                  COG1DBbits.G1DBF1               // bit 1
2009 #define G1DBF2                  COG1DBbits.G1DBF2               // bit 2
2010 #define G1DBF3                  COG1DBbits.G1DBF3               // bit 3
2011 #define G1BDR0                  COG1DBbits.G1BDR0               // bit 4
2012 #define G1BDR1                  COG1DBbits.G1BDR1               // bit 5
2013 #define G1BDR2                  COG1DBbits.G1BDR2               // bit 6
2014 #define G1BDR3                  COG1DBbits.G1BDR3               // bit 7
2015 
2016 #define G1PH0                   COG1PHbits.G1PH0                // bit 0
2017 #define G1PH1                   COG1PHbits.G1PH1                // bit 1
2018 #define G1PH2                   COG1PHbits.G1PH2                // bit 2
2019 #define G1PH3                   COG1PHbits.G1PH3                // bit 3
2020 
2021 #define DACPSS0                 DACCON0bits.DACPSS0             // bit 2
2022 #define DACOE                   DACCON0bits.DACOE               // bit 5
2023 #define DACRNG                  DACCON0bits.DACRNG              // bit 6
2024 #define DACEN                   DACCON0bits.DACEN               // bit 7
2025 
2026 #define DACR0                   DACCON1bits.DACR0               // bit 0
2027 #define DACR1                   DACCON1bits.DACR1               // bit 1
2028 #define DACR2                   DACCON1bits.DACR2               // bit 2
2029 #define DACR3                   DACCON1bits.DACR3               // bit 3
2030 #define DACR4                   DACCON1bits.DACR4               // bit 4
2031 
2032 #define FVRBUFSS                FVRCONbits.FVRBUFSS             // bit 4
2033 #define FVRBUFEN                FVRCONbits.FVRBUFEN             // bit 5
2034 #define FVRRDY                  FVRCONbits.FVRRDY               // bit 6
2035 #define FVREN                   FVRCONbits.FVREN                // bit 7
2036 
2037 #define H1CKPS0                 HLT1CON0bits.H1CKPS0            // bit 0
2038 #define H1CKPS1                 HLT1CON0bits.H1CKPS1            // bit 1
2039 #define H1ON                    HLT1CON0bits.H1ON               // bit 2
2040 #define H1OUTPS0                HLT1CON0bits.H1OUTPS0           // bit 3
2041 #define H1OUTPS1                HLT1CON0bits.H1OUTPS1           // bit 4
2042 #define H1OUTPS2                HLT1CON0bits.H1OUTPS2           // bit 5
2043 #define H1OUTPS3                HLT1CON0bits.H1OUTPS3           // bit 6
2044 
2045 #define H1REREN                 HLT1CON1bits.H1REREN            // bit 0
2046 #define H1FEREN                 HLT1CON1bits.H1FEREN            // bit 1
2047 #define H1ERS0                  HLT1CON1bits.H1ERS0             // bit 2
2048 #define H1ERS1                  HLT1CON1bits.H1ERS1             // bit 3
2049 #define H1ERS2                  HLT1CON1bits.H1ERS2             // bit 4
2050 
2051 #define IOCIF                   INTCONbits.IOCIF                // bit 0
2052 #define INTF                    INTCONbits.INTF                 // bit 1
2053 #define T0IF                    INTCONbits.T0IF                 // bit 2
2054 #define IOCIE                   INTCONbits.IOCIE                // bit 3
2055 #define INTE                    INTCONbits.INTE                 // bit 4
2056 #define T0IE                    INTCONbits.T0IE                 // bit 5
2057 #define PEIE                    INTCONbits.PEIE                 // bit 6
2058 #define GIE                     INTCONbits.GIE                  // bit 7
2059 
2060 #define IOCAF0                  IOCAFbits.IOCAF0                // bit 0
2061 #define IOCAF1                  IOCAFbits.IOCAF1                // bit 1
2062 #define IOCAF2                  IOCAFbits.IOCAF2                // bit 2
2063 #define IOCAF3                  IOCAFbits.IOCAF3                // bit 3
2064 #define IOCAF4                  IOCAFbits.IOCAF4                // bit 4
2065 #define IOCAF5                  IOCAFbits.IOCAF5                // bit 5
2066 
2067 #define IOCAN0                  IOCANbits.IOCAN0                // bit 0
2068 #define IOCAN1                  IOCANbits.IOCAN1                // bit 1
2069 #define IOCAN2                  IOCANbits.IOCAN2                // bit 2
2070 #define IOCAN3                  IOCANbits.IOCAN3                // bit 3
2071 #define IOCAN4                  IOCANbits.IOCAN4                // bit 4
2072 #define IOCAN5                  IOCANbits.IOCAN5                // bit 5
2073 
2074 #define IOCAP0                  IOCAPbits.IOCAP0                // bit 0
2075 #define IOCAP1                  IOCAPbits.IOCAP1                // bit 1
2076 #define IOCAP2                  IOCAPbits.IOCAP2                // bit 2
2077 #define IOCAP3                  IOCAPbits.IOCAP3                // bit 3
2078 #define IOCAP4                  IOCAPbits.IOCAP4                // bit 4
2079 #define IOCAP5                  IOCAPbits.IOCAP5                // bit 5
2080 
2081 #define LATA0                   LATAbits.LATA0                  // bit 0
2082 #define LATA1                   LATAbits.LATA1                  // bit 1
2083 #define LATA2                   LATAbits.LATA2                  // bit 2
2084 #define LATA4                   LATAbits.LATA4                  // bit 4
2085 #define LATA5                   LATAbits.LATA5                  // bit 5
2086 
2087 #define PS0                     OPTION_REGbits.PS0              // bit 0
2088 #define PS1                     OPTION_REGbits.PS1              // bit 1
2089 #define PS2                     OPTION_REGbits.PS2              // bit 2
2090 #define PSA                     OPTION_REGbits.PSA              // bit 3
2091 #define T0SE                    OPTION_REGbits.T0SE             // bit 4
2092 #define T0CS                    OPTION_REGbits.T0CS             // bit 5
2093 #define INTEDG                  OPTION_REGbits.INTEDG           // bit 6
2094 #define NOT_RAPU                OPTION_REGbits.NOT_RAPU         // bit 7
2095 
2096 #define LTS                     OSCCONbits.LTS                  // bit 1
2097 #define HTS                     OSCCONbits.HTS                  // bit 2
2098 #define IRCF0                   OSCCONbits.IRCF0                // bit 4
2099 #define IRCF1                   OSCCONbits.IRCF1                // bit 5
2100 
2101 #define TUN0                    OSCTUNEbits.TUN0                // bit 0
2102 #define TUN1                    OSCTUNEbits.TUN1                // bit 1
2103 #define TUN2                    OSCTUNEbits.TUN2                // bit 2
2104 #define TUN3                    OSCTUNEbits.TUN3                // bit 3
2105 #define TUN4                    OSCTUNEbits.TUN4                // bit 4
2106 
2107 #define NOT_BOR                 PCONbits.NOT_BOR                // bit 0
2108 #define NOT_POR                 PCONbits.NOT_POR                // bit 1
2109 
2110 #define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
2111 #define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
2112 #define HLTMR1IE                PIE1bits.HLTMR1IE               // bit 2
2113 #define ADIE                    PIE1bits.ADIE                   // bit 6
2114 #define TMR1GIE                 PIE1bits.TMR1GIE                // bit 7
2115 
2116 #define CCP1IE                  PIE2bits.CCP1IE                 // bit 0
2117 #define COG1IE                  PIE2bits.COG1IE                 // bit 2
2118 #define C1IE                    PIE2bits.C1IE                   // bit 4
2119 #define C2IE                    PIE2bits.C2IE                   // bit 5
2120 
2121 #define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
2122 #define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
2123 #define HLTMR1IF                PIR1bits.HLTMR1IF               // bit 2
2124 #define ADIF                    PIR1bits.ADIF                   // bit 6
2125 #define TMR1GIF                 PIR1bits.TMR1GIF                // bit 7
2126 
2127 #define CCP1IF                  PIR2bits.CCP1IF                 // bit 0
2128 #define COG1IF                  PIR2bits.COG1IF                 // bit 2
2129 #define C1IF                    PIR2bits.C1IF                   // bit 4
2130 #define C2IF                    PIR2bits.C2IF                   // bit 5
2131 
2132 #define RD                      PMCON1bits.RD                   // bit 0
2133 #define WR                      PMCON1bits.WR                   // bit 1
2134 #define WREN                    PMCON1bits.WREN                 // bit 2
2135 
2136 #define RA0                     PORTAbits.RA0                   // bit 0
2137 #define RA1                     PORTAbits.RA1                   // bit 1
2138 #define RA2                     PORTAbits.RA2                   // bit 2
2139 #define RA3                     PORTAbits.RA3                   // bit 3
2140 #define RA4                     PORTAbits.RA4                   // bit 4
2141 #define RA5                     PORTAbits.RA5                   // bit 5
2142 
2143 #define SLRA0                   SLRCONAbits.SLRA0               // bit 0
2144 #define SLRA2                   SLRCONAbits.SLRA2               // bit 2
2145 
2146 #define C                       STATUSbits.C                    // bit 0
2147 #define DC                      STATUSbits.DC                   // bit 1
2148 #define Z                       STATUSbits.Z                    // bit 2
2149 #define NOT_PD                  STATUSbits.NOT_PD               // bit 3
2150 #define NOT_TO                  STATUSbits.NOT_TO               // bit 4
2151 #define RP0                     STATUSbits.RP0                  // bit 5
2152 #define RP1                     STATUSbits.RP1                  // bit 6
2153 #define IRP                     STATUSbits.IRP                  // bit 7
2154 
2155 #define TMR1ON                  T1CONbits.TMR1ON                // bit 0
2156 #define NOT_T1SYNC              T1CONbits.NOT_T1SYNC            // bit 2
2157 #define T1CKPS0                 T1CONbits.T1CKPS0               // bit 4
2158 #define T1CKPS1                 T1CONbits.T1CKPS1               // bit 5
2159 #define TMR1CS0                 T1CONbits.TMR1CS0               // bit 6
2160 #define TMR1CS1                 T1CONbits.TMR1CS1               // bit 7
2161 
2162 #define T1GSS0                  T1GCONbits.T1GSS0               // bit 0
2163 #define T1GSS1                  T1GCONbits.T1GSS1               // bit 1
2164 #define T1GVAL                  T1GCONbits.T1GVAL               // bit 2
2165 #define T1GGO_NOT_DONE          T1GCONbits.T1GGO_NOT_DONE       // bit 3, shadows bit in T1GCONbits
2166 #define T1GGO                   T1GCONbits.T1GGO                // bit 3, shadows bit in T1GCONbits
2167 #define T1GSPM                  T1GCONbits.T1GSPM               // bit 4
2168 #define T1GTM                   T1GCONbits.T1GTM                // bit 5
2169 #define T1GPOL                  T1GCONbits.T1GPOL               // bit 6
2170 #define TMR1GE                  T1GCONbits.TMR1GE               // bit 7
2171 
2172 #define T2CKPS0                 T2CONbits.T2CKPS0               // bit 0
2173 #define T2CKPS1                 T2CONbits.T2CKPS1               // bit 1
2174 #define TMR2ON                  T2CONbits.TMR2ON                // bit 2
2175 #define T2OUTPS0                T2CONbits.T2OUTPS0              // bit 3
2176 #define T2OUTPS1                T2CONbits.T2OUTPS1              // bit 4
2177 #define T2OUTPS2                T2CONbits.T2OUTPS2              // bit 5
2178 #define T2OUTPS3                T2CONbits.T2OUTPS3              // bit 6
2179 
2180 #define TRISA0                  TRISAbits.TRISA0                // bit 0
2181 #define TRISA1                  TRISAbits.TRISA1                // bit 1
2182 #define TRISA2                  TRISAbits.TRISA2                // bit 2
2183 #define TRISA3                  TRISAbits.TRISA3                // bit 3
2184 #define TRISA4                  TRISAbits.TRISA4                // bit 4
2185 #define TRISA5                  TRISAbits.TRISA5                // bit 5
2186 
2187 #define WPUA0                   WPUAbits.WPUA0                  // bit 0
2188 #define WPUA1                   WPUAbits.WPUA1                  // bit 1
2189 #define WPUA2                   WPUAbits.WPUA2                  // bit 2
2190 #define WPUA3                   WPUAbits.WPUA3                  // bit 3
2191 #define WPUA4                   WPUAbits.WPUA4                  // bit 4
2192 #define WPUA5                   WPUAbits.WPUA5                  // bit 5
2193 
2194 #endif // #ifndef NO_BIT_DEFINES
2195 
2196 #endif // #ifndef __PIC12HV752_H__
2197