1 /*
2  * This declarations of the PIC16C74B 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:02 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 __PIC16C74B_H__
26 #define __PIC16C74B_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 PORTB_ADDR              0x0006
43 #define PORTC_ADDR              0x0007
44 #define PORTD_ADDR              0x0008
45 #define PORTE_ADDR              0x0009
46 #define PCLATH_ADDR             0x000A
47 #define INTCON_ADDR             0x000B
48 #define PIR1_ADDR               0x000C
49 #define PIR2_ADDR               0x000D
50 #define TMR1_ADDR               0x000E
51 #define TMR1L_ADDR              0x000E
52 #define TMR1H_ADDR              0x000F
53 #define T1CON_ADDR              0x0010
54 #define TMR2_ADDR               0x0011
55 #define T2CON_ADDR              0x0012
56 #define SSPBUF_ADDR             0x0013
57 #define SSPCON_ADDR             0x0014
58 #define CCPR1_ADDR              0x0015
59 #define CCPR1L_ADDR             0x0015
60 #define CCPR1H_ADDR             0x0016
61 #define CCP1CON_ADDR            0x0017
62 #define RCSTA_ADDR              0x0018
63 #define TXREG_ADDR              0x0019
64 #define RCREG_ADDR              0x001A
65 #define CCPR2_ADDR              0x001B
66 #define CCPR2L_ADDR             0x001B
67 #define CCPR2H_ADDR             0x001C
68 #define CCP2CON_ADDR            0x001D
69 #define ADRES_ADDR              0x001E
70 #define ADCON0_ADDR             0x001F
71 #define OPTION_REG_ADDR         0x0081
72 #define TRISA_ADDR              0x0085
73 #define TRISB_ADDR              0x0086
74 #define TRISC_ADDR              0x0087
75 #define TRISD_ADDR              0x0088
76 #define TRISE_ADDR              0x0089
77 #define PIE1_ADDR               0x008C
78 #define PIE2_ADDR               0x008D
79 #define PCON_ADDR               0x008E
80 #define PR2_ADDR                0x0092
81 #define SSPADD_ADDR             0x0093
82 #define SSPSTAT_ADDR            0x0094
83 #define TXSTA_ADDR              0x0098
84 #define SPBRG_ADDR              0x0099
85 #define ADCON1_ADDR             0x009F
86 
87 #endif // #ifndef NO_ADDR_DEFINES
88 
89 //==============================================================================
90 //
91 //	Register Definitions
92 //
93 //==============================================================================
94 
95 extern __at(0x0000) __sfr INDF;
96 extern __at(0x0001) __sfr TMR0;
97 extern __at(0x0002) __sfr PCL;
98 
99 //==============================================================================
100 //        STATUS Bits
101 
102 extern __at(0x0003) __sfr STATUS;
103 
104 typedef union
105   {
106   struct
107     {
108     unsigned C                  : 1;
109     unsigned DC                 : 1;
110     unsigned Z                  : 1;
111     unsigned NOT_PD             : 1;
112     unsigned NOT_TO             : 1;
113     unsigned RP0                : 1;
114     unsigned RP1                : 1;
115     unsigned IRP                : 1;
116     };
117 
118   struct
119     {
120     unsigned                    : 5;
121     unsigned RP                 : 2;
122     unsigned                    : 1;
123     };
124   } __STATUSbits_t;
125 
126 extern __at(0x0003) volatile __STATUSbits_t STATUSbits;
127 
128 #define _C                      0x01
129 #define _DC                     0x02
130 #define _Z                      0x04
131 #define _NOT_PD                 0x08
132 #define _NOT_TO                 0x10
133 #define _RP0                    0x20
134 #define _RP1                    0x40
135 #define _IRP                    0x80
136 
137 //==============================================================================
138 
139 extern __at(0x0004) __sfr FSR;
140 
141 //==============================================================================
142 //        PORTA Bits
143 
144 extern __at(0x0005) __sfr PORTA;
145 
146 typedef union
147   {
148   struct
149     {
150     unsigned RA0                : 1;
151     unsigned RA1                : 1;
152     unsigned RA2                : 1;
153     unsigned RA3                : 1;
154     unsigned RA4                : 1;
155     unsigned RA5                : 1;
156     unsigned                    : 1;
157     unsigned                    : 1;
158     };
159 
160   struct
161     {
162     unsigned RA                 : 6;
163     unsigned                    : 2;
164     };
165   } __PORTAbits_t;
166 
167 extern __at(0x0005) volatile __PORTAbits_t PORTAbits;
168 
169 #define _RA0                    0x01
170 #define _RA1                    0x02
171 #define _RA2                    0x04
172 #define _RA3                    0x08
173 #define _RA4                    0x10
174 #define _RA5                    0x20
175 
176 //==============================================================================
177 
178 
179 //==============================================================================
180 //        PORTB Bits
181 
182 extern __at(0x0006) __sfr PORTB;
183 
184 typedef struct
185   {
186   unsigned RB0                  : 1;
187   unsigned RB1                  : 1;
188   unsigned RB2                  : 1;
189   unsigned RB3                  : 1;
190   unsigned RB4                  : 1;
191   unsigned RB5                  : 1;
192   unsigned RB6                  : 1;
193   unsigned RB7                  : 1;
194   } __PORTBbits_t;
195 
196 extern __at(0x0006) volatile __PORTBbits_t PORTBbits;
197 
198 #define _RB0                    0x01
199 #define _RB1                    0x02
200 #define _RB2                    0x04
201 #define _RB3                    0x08
202 #define _RB4                    0x10
203 #define _RB5                    0x20
204 #define _RB6                    0x40
205 #define _RB7                    0x80
206 
207 //==============================================================================
208 
209 
210 //==============================================================================
211 //        PORTC Bits
212 
213 extern __at(0x0007) __sfr PORTC;
214 
215 typedef struct
216   {
217   unsigned RC0                  : 1;
218   unsigned RC1                  : 1;
219   unsigned RC2                  : 1;
220   unsigned RC3                  : 1;
221   unsigned RC4                  : 1;
222   unsigned RC5                  : 1;
223   unsigned RC6                  : 1;
224   unsigned RC7                  : 1;
225   } __PORTCbits_t;
226 
227 extern __at(0x0007) volatile __PORTCbits_t PORTCbits;
228 
229 #define _RC0                    0x01
230 #define _RC1                    0x02
231 #define _RC2                    0x04
232 #define _RC3                    0x08
233 #define _RC4                    0x10
234 #define _RC5                    0x20
235 #define _RC6                    0x40
236 #define _RC7                    0x80
237 
238 //==============================================================================
239 
240 
241 //==============================================================================
242 //        PORTD Bits
243 
244 extern __at(0x0008) __sfr PORTD;
245 
246 typedef struct
247   {
248   unsigned RD0                  : 1;
249   unsigned RD1                  : 1;
250   unsigned RD2                  : 1;
251   unsigned RD3                  : 1;
252   unsigned RD4                  : 1;
253   unsigned RD5                  : 1;
254   unsigned RD6                  : 1;
255   unsigned RD7                  : 1;
256   } __PORTDbits_t;
257 
258 extern __at(0x0008) volatile __PORTDbits_t PORTDbits;
259 
260 #define _RD0                    0x01
261 #define _RD1                    0x02
262 #define _RD2                    0x04
263 #define _RD3                    0x08
264 #define _RD4                    0x10
265 #define _RD5                    0x20
266 #define _RD6                    0x40
267 #define _RD7                    0x80
268 
269 //==============================================================================
270 
271 
272 //==============================================================================
273 //        PORTE Bits
274 
275 extern __at(0x0009) __sfr PORTE;
276 
277 typedef union
278   {
279   struct
280     {
281     unsigned RE0                : 1;
282     unsigned RE1                : 1;
283     unsigned RE2                : 1;
284     unsigned                    : 1;
285     unsigned                    : 1;
286     unsigned                    : 1;
287     unsigned                    : 1;
288     unsigned                    : 1;
289     };
290 
291   struct
292     {
293     unsigned RE                 : 3;
294     unsigned                    : 5;
295     };
296   } __PORTEbits_t;
297 
298 extern __at(0x0009) volatile __PORTEbits_t PORTEbits;
299 
300 #define _RE0                    0x01
301 #define _RE1                    0x02
302 #define _RE2                    0x04
303 
304 //==============================================================================
305 
306 extern __at(0x000A) __sfr PCLATH;
307 
308 //==============================================================================
309 //        INTCON Bits
310 
311 extern __at(0x000B) __sfr INTCON;
312 
313 typedef union
314   {
315   struct
316     {
317     unsigned RBIF               : 1;
318     unsigned INTF               : 1;
319     unsigned T0IF               : 1;
320     unsigned RBIE               : 1;
321     unsigned INTE               : 1;
322     unsigned T0IE               : 1;
323     unsigned PEIE               : 1;
324     unsigned GIE                : 1;
325     };
326 
327   struct
328     {
329     unsigned                    : 1;
330     unsigned                    : 1;
331     unsigned TMR0IF             : 1;
332     unsigned                    : 1;
333     unsigned                    : 1;
334     unsigned TMR0IE             : 1;
335     unsigned                    : 1;
336     unsigned                    : 1;
337     };
338   } __INTCONbits_t;
339 
340 extern __at(0x000B) volatile __INTCONbits_t INTCONbits;
341 
342 #define _RBIF                   0x01
343 #define _INTF                   0x02
344 #define _T0IF                   0x04
345 #define _TMR0IF                 0x04
346 #define _RBIE                   0x08
347 #define _INTE                   0x10
348 #define _T0IE                   0x20
349 #define _TMR0IE                 0x20
350 #define _PEIE                   0x40
351 #define _GIE                    0x80
352 
353 //==============================================================================
354 
355 
356 //==============================================================================
357 //        PIR1 Bits
358 
359 extern __at(0x000C) __sfr PIR1;
360 
361 typedef struct
362   {
363   unsigned TMR1IF               : 1;
364   unsigned TMR2IF               : 1;
365   unsigned CCP1IF               : 1;
366   unsigned SSPIF                : 1;
367   unsigned TXIF                 : 1;
368   unsigned RCIF                 : 1;
369   unsigned ADIF                 : 1;
370   unsigned PSPIF                : 1;
371   } __PIR1bits_t;
372 
373 extern __at(0x000C) volatile __PIR1bits_t PIR1bits;
374 
375 #define _TMR1IF                 0x01
376 #define _TMR2IF                 0x02
377 #define _CCP1IF                 0x04
378 #define _SSPIF                  0x08
379 #define _TXIF                   0x10
380 #define _RCIF                   0x20
381 #define _ADIF                   0x40
382 #define _PSPIF                  0x80
383 
384 //==============================================================================
385 
386 
387 //==============================================================================
388 //        PIR2 Bits
389 
390 extern __at(0x000D) __sfr PIR2;
391 
392 typedef struct
393   {
394   unsigned CCP2IF               : 1;
395   unsigned                      : 1;
396   unsigned                      : 1;
397   unsigned                      : 1;
398   unsigned                      : 1;
399   unsigned                      : 1;
400   unsigned                      : 1;
401   unsigned                      : 1;
402   } __PIR2bits_t;
403 
404 extern __at(0x000D) volatile __PIR2bits_t PIR2bits;
405 
406 #define _CCP2IF                 0x01
407 
408 //==============================================================================
409 
410 extern __at(0x000E) __sfr TMR1;
411 extern __at(0x000E) __sfr TMR1L;
412 extern __at(0x000F) __sfr TMR1H;
413 
414 //==============================================================================
415 //        T1CON Bits
416 
417 extern __at(0x0010) __sfr T1CON;
418 
419 typedef union
420   {
421   struct
422     {
423     unsigned TMR1ON             : 1;
424     unsigned TMR1CS             : 1;
425     unsigned NOT_T1SYNC         : 1;
426     unsigned T1OSCEN            : 1;
427     unsigned T1CKPS0            : 1;
428     unsigned T1CKPS1            : 1;
429     unsigned                    : 1;
430     unsigned                    : 1;
431     };
432 
433   struct
434     {
435     unsigned                    : 1;
436     unsigned                    : 1;
437     unsigned T1INSYNC           : 1;
438     unsigned                    : 1;
439     unsigned                    : 1;
440     unsigned                    : 1;
441     unsigned                    : 1;
442     unsigned                    : 1;
443     };
444 
445   struct
446     {
447     unsigned                    : 4;
448     unsigned T1CKPS             : 2;
449     unsigned                    : 2;
450     };
451   } __T1CONbits_t;
452 
453 extern __at(0x0010) volatile __T1CONbits_t T1CONbits;
454 
455 #define _TMR1ON                 0x01
456 #define _TMR1CS                 0x02
457 #define _NOT_T1SYNC             0x04
458 #define _T1INSYNC               0x04
459 #define _T1OSCEN                0x08
460 #define _T1CKPS0                0x10
461 #define _T1CKPS1                0x20
462 
463 //==============================================================================
464 
465 extern __at(0x0011) __sfr TMR2;
466 
467 //==============================================================================
468 //        T2CON Bits
469 
470 extern __at(0x0012) __sfr T2CON;
471 
472 typedef union
473   {
474   struct
475     {
476     unsigned T2CKPS0            : 1;
477     unsigned T2CKPS1            : 1;
478     unsigned TMR2ON             : 1;
479     unsigned TOUTPS0            : 1;
480     unsigned TOUTPS1            : 1;
481     unsigned TOUTPS2            : 1;
482     unsigned TOUTPS3            : 1;
483     unsigned                    : 1;
484     };
485 
486   struct
487     {
488     unsigned T2CKPS             : 2;
489     unsigned                    : 6;
490     };
491 
492   struct
493     {
494     unsigned                    : 3;
495     unsigned TOUTPS             : 4;
496     unsigned                    : 1;
497     };
498   } __T2CONbits_t;
499 
500 extern __at(0x0012) volatile __T2CONbits_t T2CONbits;
501 
502 #define _T2CKPS0                0x01
503 #define _T2CKPS1                0x02
504 #define _TMR2ON                 0x04
505 #define _TOUTPS0                0x08
506 #define _TOUTPS1                0x10
507 #define _TOUTPS2                0x20
508 #define _TOUTPS3                0x40
509 
510 //==============================================================================
511 
512 extern __at(0x0013) __sfr SSPBUF;
513 
514 //==============================================================================
515 //        SSPCON Bits
516 
517 extern __at(0x0014) __sfr SSPCON;
518 
519 typedef union
520   {
521   struct
522     {
523     unsigned SSPM0              : 1;
524     unsigned SSPM1              : 1;
525     unsigned SSPM2              : 1;
526     unsigned SSPM3              : 1;
527     unsigned CKP                : 1;
528     unsigned SSPEN              : 1;
529     unsigned SSPOV              : 1;
530     unsigned WCOL               : 1;
531     };
532 
533   struct
534     {
535     unsigned SSPM               : 4;
536     unsigned                    : 4;
537     };
538   } __SSPCONbits_t;
539 
540 extern __at(0x0014) volatile __SSPCONbits_t SSPCONbits;
541 
542 #define _SSPM0                  0x01
543 #define _SSPM1                  0x02
544 #define _SSPM2                  0x04
545 #define _SSPM3                  0x08
546 #define _CKP                    0x10
547 #define _SSPEN                  0x20
548 #define _SSPOV                  0x40
549 #define _WCOL                   0x80
550 
551 //==============================================================================
552 
553 extern __at(0x0015) __sfr CCPR1;
554 extern __at(0x0015) __sfr CCPR1L;
555 extern __at(0x0016) __sfr CCPR1H;
556 
557 //==============================================================================
558 //        CCP1CON Bits
559 
560 extern __at(0x0017) __sfr CCP1CON;
561 
562 typedef union
563   {
564   struct
565     {
566     unsigned CCP1M0             : 1;
567     unsigned CCP1M1             : 1;
568     unsigned CCP1M2             : 1;
569     unsigned CCP1M3             : 1;
570     unsigned CCP1Y              : 1;
571     unsigned CCP1X              : 1;
572     unsigned                    : 1;
573     unsigned                    : 1;
574     };
575 
576   struct
577     {
578     unsigned CCP1M              : 4;
579     unsigned                    : 4;
580     };
581   } __CCP1CONbits_t;
582 
583 extern __at(0x0017) volatile __CCP1CONbits_t CCP1CONbits;
584 
585 #define _CCP1M0                 0x01
586 #define _CCP1M1                 0x02
587 #define _CCP1M2                 0x04
588 #define _CCP1M3                 0x08
589 #define _CCP1Y                  0x10
590 #define _CCP1X                  0x20
591 
592 //==============================================================================
593 
594 
595 //==============================================================================
596 //        RCSTA Bits
597 
598 extern __at(0x0018) __sfr RCSTA;
599 
600 typedef union
601   {
602   struct
603     {
604     unsigned RX9D               : 1;
605     unsigned OERR               : 1;
606     unsigned FERR               : 1;
607     unsigned                    : 1;
608     unsigned CREN               : 1;
609     unsigned SREN               : 1;
610     unsigned RX9                : 1;
611     unsigned SPEN               : 1;
612     };
613 
614   struct
615     {
616     unsigned RCD8               : 1;
617     unsigned                    : 1;
618     unsigned                    : 1;
619     unsigned                    : 1;
620     unsigned                    : 1;
621     unsigned                    : 1;
622     unsigned RC9                : 1;
623     unsigned                    : 1;
624     };
625 
626   struct
627     {
628     unsigned                    : 1;
629     unsigned                    : 1;
630     unsigned                    : 1;
631     unsigned                    : 1;
632     unsigned                    : 1;
633     unsigned                    : 1;
634     unsigned NOT_RC8            : 1;
635     unsigned                    : 1;
636     };
637 
638   struct
639     {
640     unsigned                    : 1;
641     unsigned                    : 1;
642     unsigned                    : 1;
643     unsigned                    : 1;
644     unsigned                    : 1;
645     unsigned                    : 1;
646     unsigned RC8_9              : 1;
647     unsigned                    : 1;
648     };
649   } __RCSTAbits_t;
650 
651 extern __at(0x0018) volatile __RCSTAbits_t RCSTAbits;
652 
653 #define _RX9D                   0x01
654 #define _RCD8                   0x01
655 #define _OERR                   0x02
656 #define _FERR                   0x04
657 #define _CREN                   0x10
658 #define _SREN                   0x20
659 #define _RX9                    0x40
660 #define _RC9                    0x40
661 #define _NOT_RC8                0x40
662 #define _RC8_9                  0x40
663 #define _SPEN                   0x80
664 
665 //==============================================================================
666 
667 extern __at(0x0019) __sfr TXREG;
668 extern __at(0x001A) __sfr RCREG;
669 extern __at(0x001B) __sfr CCPR2;
670 extern __at(0x001B) __sfr CCPR2L;
671 extern __at(0x001C) __sfr CCPR2H;
672 
673 //==============================================================================
674 //        CCP2CON Bits
675 
676 extern __at(0x001D) __sfr CCP2CON;
677 
678 typedef union
679   {
680   struct
681     {
682     unsigned CCP2M0             : 1;
683     unsigned CCP2M1             : 1;
684     unsigned CCP2M2             : 1;
685     unsigned CCP2M3             : 1;
686     unsigned CCP2Y              : 1;
687     unsigned CCP2X              : 1;
688     unsigned                    : 1;
689     unsigned                    : 1;
690     };
691 
692   struct
693     {
694     unsigned CCP2M              : 4;
695     unsigned                    : 4;
696     };
697   } __CCP2CONbits_t;
698 
699 extern __at(0x001D) volatile __CCP2CONbits_t CCP2CONbits;
700 
701 #define _CCP2M0                 0x01
702 #define _CCP2M1                 0x02
703 #define _CCP2M2                 0x04
704 #define _CCP2M3                 0x08
705 #define _CCP2Y                  0x10
706 #define _CCP2X                  0x20
707 
708 //==============================================================================
709 
710 extern __at(0x001E) __sfr ADRES;
711 
712 //==============================================================================
713 //        ADCON0 Bits
714 
715 extern __at(0x001F) __sfr ADCON0;
716 
717 typedef union
718   {
719   struct
720     {
721     unsigned ADON               : 1;
722     unsigned                    : 1;
723     unsigned GO_NOT_DONE        : 1;
724     unsigned CHS0               : 1;
725     unsigned CHS1               : 1;
726     unsigned CHS2               : 1;
727     unsigned ADCS0              : 1;
728     unsigned ADCS1              : 1;
729     };
730 
731   struct
732     {
733     unsigned                    : 1;
734     unsigned                    : 1;
735     unsigned GO                 : 1;
736     unsigned                    : 1;
737     unsigned                    : 1;
738     unsigned                    : 1;
739     unsigned                    : 1;
740     unsigned                    : 1;
741     };
742 
743   struct
744     {
745     unsigned                    : 1;
746     unsigned                    : 1;
747     unsigned NOT_DONE           : 1;
748     unsigned                    : 1;
749     unsigned                    : 1;
750     unsigned                    : 1;
751     unsigned                    : 1;
752     unsigned                    : 1;
753     };
754 
755   struct
756     {
757     unsigned                    : 1;
758     unsigned                    : 1;
759     unsigned GO_DONE            : 1;
760     unsigned                    : 1;
761     unsigned                    : 1;
762     unsigned                    : 1;
763     unsigned                    : 1;
764     unsigned                    : 1;
765     };
766 
767   struct
768     {
769     unsigned                    : 3;
770     unsigned CHS                : 3;
771     unsigned                    : 2;
772     };
773 
774   struct
775     {
776     unsigned                    : 6;
777     unsigned ADCS               : 2;
778     };
779   } __ADCON0bits_t;
780 
781 extern __at(0x001F) volatile __ADCON0bits_t ADCON0bits;
782 
783 #define _ADON                   0x01
784 #define _GO_NOT_DONE            0x04
785 #define _GO                     0x04
786 #define _NOT_DONE               0x04
787 #define _GO_DONE                0x04
788 #define _CHS0                   0x08
789 #define _CHS1                   0x10
790 #define _CHS2                   0x20
791 #define _ADCS0                  0x40
792 #define _ADCS1                  0x80
793 
794 //==============================================================================
795 
796 
797 //==============================================================================
798 //        OPTION_REG Bits
799 
800 extern __at(0x0081) __sfr OPTION_REG;
801 
802 typedef union
803   {
804   struct
805     {
806     unsigned PS0                : 1;
807     unsigned PS1                : 1;
808     unsigned PS2                : 1;
809     unsigned PSA                : 1;
810     unsigned T0SE               : 1;
811     unsigned T0CS               : 1;
812     unsigned INTEDG             : 1;
813     unsigned NOT_RBPU           : 1;
814     };
815 
816   struct
817     {
818     unsigned PS                 : 3;
819     unsigned                    : 5;
820     };
821   } __OPTION_REGbits_t;
822 
823 extern __at(0x0081) volatile __OPTION_REGbits_t OPTION_REGbits;
824 
825 #define _PS0                    0x01
826 #define _PS1                    0x02
827 #define _PS2                    0x04
828 #define _PSA                    0x08
829 #define _T0SE                   0x10
830 #define _T0CS                   0x20
831 #define _INTEDG                 0x40
832 #define _NOT_RBPU               0x80
833 
834 //==============================================================================
835 
836 
837 //==============================================================================
838 //        TRISA Bits
839 
840 extern __at(0x0085) __sfr TRISA;
841 
842 typedef union
843   {
844   struct
845     {
846     unsigned TRISA0             : 1;
847     unsigned TRISA1             : 1;
848     unsigned TRISA2             : 1;
849     unsigned TRISA3             : 1;
850     unsigned TRISA4             : 1;
851     unsigned TRISA5             : 1;
852     unsigned                    : 1;
853     unsigned                    : 1;
854     };
855 
856   struct
857     {
858     unsigned TRISA              : 6;
859     unsigned                    : 2;
860     };
861   } __TRISAbits_t;
862 
863 extern __at(0x0085) volatile __TRISAbits_t TRISAbits;
864 
865 #define _TRISA0                 0x01
866 #define _TRISA1                 0x02
867 #define _TRISA2                 0x04
868 #define _TRISA3                 0x08
869 #define _TRISA4                 0x10
870 #define _TRISA5                 0x20
871 
872 //==============================================================================
873 
874 
875 //==============================================================================
876 //        TRISB Bits
877 
878 extern __at(0x0086) __sfr TRISB;
879 
880 typedef struct
881   {
882   unsigned TRISB0               : 1;
883   unsigned TRISB1               : 1;
884   unsigned TRISB2               : 1;
885   unsigned TRISB3               : 1;
886   unsigned TRISB4               : 1;
887   unsigned TRISB5               : 1;
888   unsigned TRISB6               : 1;
889   unsigned TRISB7               : 1;
890   } __TRISBbits_t;
891 
892 extern __at(0x0086) volatile __TRISBbits_t TRISBbits;
893 
894 #define _TRISB0                 0x01
895 #define _TRISB1                 0x02
896 #define _TRISB2                 0x04
897 #define _TRISB3                 0x08
898 #define _TRISB4                 0x10
899 #define _TRISB5                 0x20
900 #define _TRISB6                 0x40
901 #define _TRISB7                 0x80
902 
903 //==============================================================================
904 
905 
906 //==============================================================================
907 //        TRISC Bits
908 
909 extern __at(0x0087) __sfr TRISC;
910 
911 typedef struct
912   {
913   unsigned TRISC0               : 1;
914   unsigned TRISC1               : 1;
915   unsigned TRISC2               : 1;
916   unsigned TRISC3               : 1;
917   unsigned TRISC4               : 1;
918   unsigned TRISC5               : 1;
919   unsigned TRISC6               : 1;
920   unsigned TRISC7               : 1;
921   } __TRISCbits_t;
922 
923 extern __at(0x0087) volatile __TRISCbits_t TRISCbits;
924 
925 #define _TRISC0                 0x01
926 #define _TRISC1                 0x02
927 #define _TRISC2                 0x04
928 #define _TRISC3                 0x08
929 #define _TRISC4                 0x10
930 #define _TRISC5                 0x20
931 #define _TRISC6                 0x40
932 #define _TRISC7                 0x80
933 
934 //==============================================================================
935 
936 
937 //==============================================================================
938 //        TRISD Bits
939 
940 extern __at(0x0088) __sfr TRISD;
941 
942 typedef struct
943   {
944   unsigned TRISD0               : 1;
945   unsigned TRISD1               : 1;
946   unsigned TRISD2               : 1;
947   unsigned TRISD3               : 1;
948   unsigned TRISD4               : 1;
949   unsigned TRISD5               : 1;
950   unsigned TRISD6               : 1;
951   unsigned TRISD7               : 1;
952   } __TRISDbits_t;
953 
954 extern __at(0x0088) volatile __TRISDbits_t TRISDbits;
955 
956 #define _TRISD0                 0x01
957 #define _TRISD1                 0x02
958 #define _TRISD2                 0x04
959 #define _TRISD3                 0x08
960 #define _TRISD4                 0x10
961 #define _TRISD5                 0x20
962 #define _TRISD6                 0x40
963 #define _TRISD7                 0x80
964 
965 //==============================================================================
966 
967 
968 //==============================================================================
969 //        TRISE Bits
970 
971 extern __at(0x0089) __sfr TRISE;
972 
973 typedef union
974   {
975   struct
976     {
977     unsigned TRISE0             : 1;
978     unsigned TRISE1             : 1;
979     unsigned TRISE2             : 1;
980     unsigned                    : 1;
981     unsigned PSPMODE            : 1;
982     unsigned IBOV               : 1;
983     unsigned OBF                : 1;
984     unsigned IBF                : 1;
985     };
986 
987   struct
988     {
989     unsigned TRISE              : 3;
990     unsigned                    : 5;
991     };
992   } __TRISEbits_t;
993 
994 extern __at(0x0089) volatile __TRISEbits_t TRISEbits;
995 
996 #define _TRISE0                 0x01
997 #define _TRISE1                 0x02
998 #define _TRISE2                 0x04
999 #define _PSPMODE                0x10
1000 #define _IBOV                   0x20
1001 #define _OBF                    0x40
1002 #define _IBF                    0x80
1003 
1004 //==============================================================================
1005 
1006 
1007 //==============================================================================
1008 //        PIE1 Bits
1009 
1010 extern __at(0x008C) __sfr PIE1;
1011 
1012 typedef struct
1013   {
1014   unsigned TMR1IE               : 1;
1015   unsigned TMR2IE               : 1;
1016   unsigned CCP1IE               : 1;
1017   unsigned SSPIE                : 1;
1018   unsigned TXIE                 : 1;
1019   unsigned RCIE                 : 1;
1020   unsigned ADIE                 : 1;
1021   unsigned PSPIE                : 1;
1022   } __PIE1bits_t;
1023 
1024 extern __at(0x008C) volatile __PIE1bits_t PIE1bits;
1025 
1026 #define _TMR1IE                 0x01
1027 #define _TMR2IE                 0x02
1028 #define _CCP1IE                 0x04
1029 #define _SSPIE                  0x08
1030 #define _TXIE                   0x10
1031 #define _RCIE                   0x20
1032 #define _ADIE                   0x40
1033 #define _PSPIE                  0x80
1034 
1035 //==============================================================================
1036 
1037 
1038 //==============================================================================
1039 //        PIE2 Bits
1040 
1041 extern __at(0x008D) __sfr PIE2;
1042 
1043 typedef struct
1044   {
1045   unsigned CCP2IE               : 1;
1046   unsigned                      : 1;
1047   unsigned                      : 1;
1048   unsigned                      : 1;
1049   unsigned                      : 1;
1050   unsigned                      : 1;
1051   unsigned                      : 1;
1052   unsigned                      : 1;
1053   } __PIE2bits_t;
1054 
1055 extern __at(0x008D) volatile __PIE2bits_t PIE2bits;
1056 
1057 #define _CCP2IE                 0x01
1058 
1059 //==============================================================================
1060 
1061 
1062 //==============================================================================
1063 //        PCON Bits
1064 
1065 extern __at(0x008E) __sfr PCON;
1066 
1067 typedef union
1068   {
1069   struct
1070     {
1071     unsigned NOT_BOR            : 1;
1072     unsigned NOT_POR            : 1;
1073     unsigned                    : 1;
1074     unsigned                    : 1;
1075     unsigned                    : 1;
1076     unsigned                    : 1;
1077     unsigned                    : 1;
1078     unsigned                    : 1;
1079     };
1080 
1081   struct
1082     {
1083     unsigned NOT_BO             : 1;
1084     unsigned                    : 1;
1085     unsigned                    : 1;
1086     unsigned                    : 1;
1087     unsigned                    : 1;
1088     unsigned                    : 1;
1089     unsigned                    : 1;
1090     unsigned                    : 1;
1091     };
1092   } __PCONbits_t;
1093 
1094 extern __at(0x008E) volatile __PCONbits_t PCONbits;
1095 
1096 #define _NOT_BOR                0x01
1097 #define _NOT_BO                 0x01
1098 #define _NOT_POR                0x02
1099 
1100 //==============================================================================
1101 
1102 extern __at(0x0092) __sfr PR2;
1103 extern __at(0x0093) __sfr SSPADD;
1104 
1105 //==============================================================================
1106 //        SSPSTAT Bits
1107 
1108 extern __at(0x0094) __sfr SSPSTAT;
1109 
1110 typedef union
1111   {
1112   struct
1113     {
1114     unsigned BF                 : 1;
1115     unsigned UA                 : 1;
1116     unsigned R_NOT_W            : 1;
1117     unsigned S                  : 1;
1118     unsigned P                  : 1;
1119     unsigned D_NOT_A            : 1;
1120     unsigned CKE                : 1;
1121     unsigned SMP                : 1;
1122     };
1123 
1124   struct
1125     {
1126     unsigned                    : 1;
1127     unsigned                    : 1;
1128     unsigned R                  : 1;
1129     unsigned I2C_START          : 1;
1130     unsigned I2C_STOP           : 1;
1131     unsigned D                  : 1;
1132     unsigned                    : 1;
1133     unsigned                    : 1;
1134     };
1135 
1136   struct
1137     {
1138     unsigned                    : 1;
1139     unsigned                    : 1;
1140     unsigned I2C_READ           : 1;
1141     unsigned                    : 1;
1142     unsigned                    : 1;
1143     unsigned I2C_DATA           : 1;
1144     unsigned                    : 1;
1145     unsigned                    : 1;
1146     };
1147 
1148   struct
1149     {
1150     unsigned                    : 1;
1151     unsigned                    : 1;
1152     unsigned R_W                : 1;
1153     unsigned                    : 1;
1154     unsigned                    : 1;
1155     unsigned D_A                : 1;
1156     unsigned                    : 1;
1157     unsigned                    : 1;
1158     };
1159 
1160   struct
1161     {
1162     unsigned                    : 1;
1163     unsigned                    : 1;
1164     unsigned READ_WRITE         : 1;
1165     unsigned                    : 1;
1166     unsigned                    : 1;
1167     unsigned DATA_ADDRESS       : 1;
1168     unsigned                    : 1;
1169     unsigned                    : 1;
1170     };
1171 
1172   struct
1173     {
1174     unsigned                    : 1;
1175     unsigned                    : 1;
1176     unsigned NOT_W              : 1;
1177     unsigned                    : 1;
1178     unsigned                    : 1;
1179     unsigned NOT_A              : 1;
1180     unsigned                    : 1;
1181     unsigned                    : 1;
1182     };
1183 
1184   struct
1185     {
1186     unsigned                    : 1;
1187     unsigned                    : 1;
1188     unsigned NOT_WRITE          : 1;
1189     unsigned                    : 1;
1190     unsigned                    : 1;
1191     unsigned NOT_ADDRESS        : 1;
1192     unsigned                    : 1;
1193     unsigned                    : 1;
1194     };
1195   } __SSPSTATbits_t;
1196 
1197 extern __at(0x0094) volatile __SSPSTATbits_t SSPSTATbits;
1198 
1199 #define _BF                     0x01
1200 #define _UA                     0x02
1201 #define _R_NOT_W                0x04
1202 #define _R                      0x04
1203 #define _I2C_READ               0x04
1204 #define _R_W                    0x04
1205 #define _READ_WRITE             0x04
1206 #define _NOT_W                  0x04
1207 #define _NOT_WRITE              0x04
1208 #define _S                      0x08
1209 #define _I2C_START              0x08
1210 #define _P                      0x10
1211 #define _I2C_STOP               0x10
1212 #define _D_NOT_A                0x20
1213 #define _D                      0x20
1214 #define _I2C_DATA               0x20
1215 #define _D_A                    0x20
1216 #define _DATA_ADDRESS           0x20
1217 #define _NOT_A                  0x20
1218 #define _NOT_ADDRESS            0x20
1219 #define _CKE                    0x40
1220 #define _SMP                    0x80
1221 
1222 //==============================================================================
1223 
1224 
1225 //==============================================================================
1226 //        TXSTA Bits
1227 
1228 extern __at(0x0098) __sfr TXSTA;
1229 
1230 typedef union
1231   {
1232   struct
1233     {
1234     unsigned TX9D               : 1;
1235     unsigned TRMT               : 1;
1236     unsigned BRGH               : 1;
1237     unsigned                    : 1;
1238     unsigned SYNC               : 1;
1239     unsigned TXEN               : 1;
1240     unsigned TX9                : 1;
1241     unsigned CSRC               : 1;
1242     };
1243 
1244   struct
1245     {
1246     unsigned TXD8               : 1;
1247     unsigned                    : 1;
1248     unsigned                    : 1;
1249     unsigned                    : 1;
1250     unsigned                    : 1;
1251     unsigned                    : 1;
1252     unsigned NOT_TX8            : 1;
1253     unsigned                    : 1;
1254     };
1255 
1256   struct
1257     {
1258     unsigned                    : 1;
1259     unsigned                    : 1;
1260     unsigned                    : 1;
1261     unsigned                    : 1;
1262     unsigned                    : 1;
1263     unsigned                    : 1;
1264     unsigned TX8_9              : 1;
1265     unsigned                    : 1;
1266     };
1267   } __TXSTAbits_t;
1268 
1269 extern __at(0x0098) volatile __TXSTAbits_t TXSTAbits;
1270 
1271 #define _TX9D                   0x01
1272 #define _TXD8                   0x01
1273 #define _TRMT                   0x02
1274 #define _BRGH                   0x04
1275 #define _SYNC                   0x10
1276 #define _TXEN                   0x20
1277 #define _TX9                    0x40
1278 #define _NOT_TX8                0x40
1279 #define _TX8_9                  0x40
1280 #define _CSRC                   0x80
1281 
1282 //==============================================================================
1283 
1284 extern __at(0x0099) __sfr SPBRG;
1285 
1286 //==============================================================================
1287 //        ADCON1 Bits
1288 
1289 extern __at(0x009F) __sfr ADCON1;
1290 
1291 typedef union
1292   {
1293   struct
1294     {
1295     unsigned PCFG0              : 1;
1296     unsigned PCFG1              : 1;
1297     unsigned PCFG2              : 1;
1298     unsigned                    : 1;
1299     unsigned                    : 1;
1300     unsigned                    : 1;
1301     unsigned                    : 1;
1302     unsigned                    : 1;
1303     };
1304 
1305   struct
1306     {
1307     unsigned PCFG               : 3;
1308     unsigned                    : 5;
1309     };
1310   } __ADCON1bits_t;
1311 
1312 extern __at(0x009F) volatile __ADCON1bits_t ADCON1bits;
1313 
1314 #define _PCFG0                  0x01
1315 #define _PCFG1                  0x02
1316 #define _PCFG2                  0x04
1317 
1318 //==============================================================================
1319 
1320 
1321 //==============================================================================
1322 //
1323 //        Configuration Bits
1324 //
1325 //==============================================================================
1326 
1327 #define _CONFIG1                0x2007
1328 
1329 //----------------------------- CONFIG1 Options -------------------------------
1330 
1331 #define _FOSC_LP                0x3FFC  // LP oscillator.
1332 #define _LP_OSC                 0x3FFC  // LP oscillator.
1333 #define _FOSC_XT                0x3FFD  // XT oscillator.
1334 #define _XT_OSC                 0x3FFD  // XT oscillator.
1335 #define _FOSC_HS                0x3FFE  // HS oscillator.
1336 #define _HS_OSC                 0x3FFE  // HS oscillator.
1337 #define _FOSC_RC                0x3FFF  // RC oscillator.
1338 #define _RC_OSC                 0x3FFF  // RC oscillator.
1339 #define _WDTE_OFF               0x3FFB  // WDT disabled.
1340 #define _WDT_OFF                0x3FFB  // WDT disabled.
1341 #define _WDTE_ON                0x3FFF  // WDT enabled.
1342 #define _WDT_ON                 0x3FFF  // WDT enabled.
1343 #define _PWRTE_ON               0x3FF7  // PWRT enabled.
1344 #define _PWRTE_OFF              0x3FFF  // PWRT disabled.
1345 #define _CP_ALL                 0x00CF  // All memory is code protected.
1346 #define _CP_75                  0x15DF  // 0400h-0FFFh code protected.
1347 #define _CP_50                  0x2AEF  // 0800h-0FFFh code protected.
1348 #define _CP_OFF                 0x3FFF  // Code protection off.
1349 #define _BOREN_OFF              0x3FBF  // BOR disabled.
1350 #define _BODEN_OFF              0x3FBF  // BOR disabled.
1351 #define _BOREN_ON               0x3FFF  // BOR enabled.
1352 #define _BODEN_ON               0x3FFF  // BOR enabled.
1353 
1354 //==============================================================================
1355 
1356 #define _IDLOC0                 0x2000
1357 #define _IDLOC1                 0x2001
1358 #define _IDLOC2                 0x2002
1359 #define _IDLOC3                 0x2003
1360 
1361 //==============================================================================
1362 
1363 #ifndef NO_BIT_DEFINES
1364 
1365 #define ADON                    ADCON0bits.ADON                 // bit 0
1366 #define GO_NOT_DONE             ADCON0bits.GO_NOT_DONE          // bit 2, shadows bit in ADCON0bits
1367 #define GO                      ADCON0bits.GO                   // bit 2, shadows bit in ADCON0bits
1368 #define NOT_DONE                ADCON0bits.NOT_DONE             // bit 2, shadows bit in ADCON0bits
1369 #define GO_DONE                 ADCON0bits.GO_DONE              // bit 2, shadows bit in ADCON0bits
1370 #define CHS0                    ADCON0bits.CHS0                 // bit 3
1371 #define CHS1                    ADCON0bits.CHS1                 // bit 4
1372 #define CHS2                    ADCON0bits.CHS2                 // bit 5
1373 #define ADCS0                   ADCON0bits.ADCS0                // bit 6
1374 #define ADCS1                   ADCON0bits.ADCS1                // bit 7
1375 
1376 #define PCFG0                   ADCON1bits.PCFG0                // bit 0
1377 #define PCFG1                   ADCON1bits.PCFG1                // bit 1
1378 #define PCFG2                   ADCON1bits.PCFG2                // bit 2
1379 
1380 #define CCP1M0                  CCP1CONbits.CCP1M0              // bit 0
1381 #define CCP1M1                  CCP1CONbits.CCP1M1              // bit 1
1382 #define CCP1M2                  CCP1CONbits.CCP1M2              // bit 2
1383 #define CCP1M3                  CCP1CONbits.CCP1M3              // bit 3
1384 #define CCP1Y                   CCP1CONbits.CCP1Y               // bit 4
1385 #define CCP1X                   CCP1CONbits.CCP1X               // bit 5
1386 
1387 #define CCP2M0                  CCP2CONbits.CCP2M0              // bit 0
1388 #define CCP2M1                  CCP2CONbits.CCP2M1              // bit 1
1389 #define CCP2M2                  CCP2CONbits.CCP2M2              // bit 2
1390 #define CCP2M3                  CCP2CONbits.CCP2M3              // bit 3
1391 #define CCP2Y                   CCP2CONbits.CCP2Y               // bit 4
1392 #define CCP2X                   CCP2CONbits.CCP2X               // bit 5
1393 
1394 #define RBIF                    INTCONbits.RBIF                 // bit 0
1395 #define INTF                    INTCONbits.INTF                 // bit 1
1396 #define T0IF                    INTCONbits.T0IF                 // bit 2, shadows bit in INTCONbits
1397 #define TMR0IF                  INTCONbits.TMR0IF               // bit 2, shadows bit in INTCONbits
1398 #define RBIE                    INTCONbits.RBIE                 // bit 3
1399 #define INTE                    INTCONbits.INTE                 // bit 4
1400 #define T0IE                    INTCONbits.T0IE                 // bit 5, shadows bit in INTCONbits
1401 #define TMR0IE                  INTCONbits.TMR0IE               // bit 5, shadows bit in INTCONbits
1402 #define PEIE                    INTCONbits.PEIE                 // bit 6
1403 #define GIE                     INTCONbits.GIE                  // bit 7
1404 
1405 #define PS0                     OPTION_REGbits.PS0              // bit 0
1406 #define PS1                     OPTION_REGbits.PS1              // bit 1
1407 #define PS2                     OPTION_REGbits.PS2              // bit 2
1408 #define PSA                     OPTION_REGbits.PSA              // bit 3
1409 #define T0SE                    OPTION_REGbits.T0SE             // bit 4
1410 #define T0CS                    OPTION_REGbits.T0CS             // bit 5
1411 #define INTEDG                  OPTION_REGbits.INTEDG           // bit 6
1412 #define NOT_RBPU                OPTION_REGbits.NOT_RBPU         // bit 7
1413 
1414 #define NOT_BOR                 PCONbits.NOT_BOR                // bit 0, shadows bit in PCONbits
1415 #define NOT_BO                  PCONbits.NOT_BO                 // bit 0, shadows bit in PCONbits
1416 #define NOT_POR                 PCONbits.NOT_POR                // bit 1
1417 
1418 #define TMR1IE                  PIE1bits.TMR1IE                 // bit 0
1419 #define TMR2IE                  PIE1bits.TMR2IE                 // bit 1
1420 #define CCP1IE                  PIE1bits.CCP1IE                 // bit 2
1421 #define SSPIE                   PIE1bits.SSPIE                  // bit 3
1422 #define TXIE                    PIE1bits.TXIE                   // bit 4
1423 #define RCIE                    PIE1bits.RCIE                   // bit 5
1424 #define ADIE                    PIE1bits.ADIE                   // bit 6
1425 #define PSPIE                   PIE1bits.PSPIE                  // bit 7
1426 
1427 #define CCP2IE                  PIE2bits.CCP2IE                 // bit 0
1428 
1429 #define TMR1IF                  PIR1bits.TMR1IF                 // bit 0
1430 #define TMR2IF                  PIR1bits.TMR2IF                 // bit 1
1431 #define CCP1IF                  PIR1bits.CCP1IF                 // bit 2
1432 #define SSPIF                   PIR1bits.SSPIF                  // bit 3
1433 #define TXIF                    PIR1bits.TXIF                   // bit 4
1434 #define RCIF                    PIR1bits.RCIF                   // bit 5
1435 #define ADIF                    PIR1bits.ADIF                   // bit 6
1436 #define PSPIF                   PIR1bits.PSPIF                  // bit 7
1437 
1438 #define CCP2IF                  PIR2bits.CCP2IF                 // bit 0
1439 
1440 #define RA0                     PORTAbits.RA0                   // bit 0
1441 #define RA1                     PORTAbits.RA1                   // bit 1
1442 #define RA2                     PORTAbits.RA2                   // bit 2
1443 #define RA3                     PORTAbits.RA3                   // bit 3
1444 #define RA4                     PORTAbits.RA4                   // bit 4
1445 #define RA5                     PORTAbits.RA5                   // bit 5
1446 
1447 #define RB0                     PORTBbits.RB0                   // bit 0
1448 #define RB1                     PORTBbits.RB1                   // bit 1
1449 #define RB2                     PORTBbits.RB2                   // bit 2
1450 #define RB3                     PORTBbits.RB3                   // bit 3
1451 #define RB4                     PORTBbits.RB4                   // bit 4
1452 #define RB5                     PORTBbits.RB5                   // bit 5
1453 #define RB6                     PORTBbits.RB6                   // bit 6
1454 #define RB7                     PORTBbits.RB7                   // bit 7
1455 
1456 #define RC0                     PORTCbits.RC0                   // bit 0
1457 #define RC1                     PORTCbits.RC1                   // bit 1
1458 #define RC2                     PORTCbits.RC2                   // bit 2
1459 #define RC3                     PORTCbits.RC3                   // bit 3
1460 #define RC4                     PORTCbits.RC4                   // bit 4
1461 #define RC5                     PORTCbits.RC5                   // bit 5
1462 #define RC6                     PORTCbits.RC6                   // bit 6
1463 #define RC7                     PORTCbits.RC7                   // bit 7
1464 
1465 #define RD0                     PORTDbits.RD0                   // bit 0
1466 #define RD1                     PORTDbits.RD1                   // bit 1
1467 #define RD2                     PORTDbits.RD2                   // bit 2
1468 #define RD3                     PORTDbits.RD3                   // bit 3
1469 #define RD4                     PORTDbits.RD4                   // bit 4
1470 #define RD5                     PORTDbits.RD5                   // bit 5
1471 #define RD6                     PORTDbits.RD6                   // bit 6
1472 #define RD7                     PORTDbits.RD7                   // bit 7
1473 
1474 #define RE0                     PORTEbits.RE0                   // bit 0
1475 #define RE1                     PORTEbits.RE1                   // bit 1
1476 #define RE2                     PORTEbits.RE2                   // bit 2
1477 
1478 #define RX9D                    RCSTAbits.RX9D                  // bit 0, shadows bit in RCSTAbits
1479 #define RCD8                    RCSTAbits.RCD8                  // bit 0, shadows bit in RCSTAbits
1480 #define OERR                    RCSTAbits.OERR                  // bit 1
1481 #define FERR                    RCSTAbits.FERR                  // bit 2
1482 #define CREN                    RCSTAbits.CREN                  // bit 4
1483 #define SREN                    RCSTAbits.SREN                  // bit 5
1484 #define RX9                     RCSTAbits.RX9                   // bit 6, shadows bit in RCSTAbits
1485 #define RC9                     RCSTAbits.RC9                   // bit 6, shadows bit in RCSTAbits
1486 #define NOT_RC8                 RCSTAbits.NOT_RC8               // bit 6, shadows bit in RCSTAbits
1487 #define RC8_9                   RCSTAbits.RC8_9                 // bit 6, shadows bit in RCSTAbits
1488 #define SPEN                    RCSTAbits.SPEN                  // bit 7
1489 
1490 #define SSPM0                   SSPCONbits.SSPM0                // bit 0
1491 #define SSPM1                   SSPCONbits.SSPM1                // bit 1
1492 #define SSPM2                   SSPCONbits.SSPM2                // bit 2
1493 #define SSPM3                   SSPCONbits.SSPM3                // bit 3
1494 #define CKP                     SSPCONbits.CKP                  // bit 4
1495 #define SSPEN                   SSPCONbits.SSPEN                // bit 5
1496 #define SSPOV                   SSPCONbits.SSPOV                // bit 6
1497 #define WCOL                    SSPCONbits.WCOL                 // bit 7
1498 
1499 #define BF                      SSPSTATbits.BF                  // bit 0
1500 #define UA                      SSPSTATbits.UA                  // bit 1
1501 #define R_NOT_W                 SSPSTATbits.R_NOT_W             // bit 2, shadows bit in SSPSTATbits
1502 #define R                       SSPSTATbits.R                   // bit 2, shadows bit in SSPSTATbits
1503 #define I2C_READ                SSPSTATbits.I2C_READ            // bit 2, shadows bit in SSPSTATbits
1504 #define R_W                     SSPSTATbits.R_W                 // bit 2, shadows bit in SSPSTATbits
1505 #define READ_WRITE              SSPSTATbits.READ_WRITE          // bit 2, shadows bit in SSPSTATbits
1506 #define NOT_W                   SSPSTATbits.NOT_W               // bit 2, shadows bit in SSPSTATbits
1507 #define NOT_WRITE               SSPSTATbits.NOT_WRITE           // bit 2, shadows bit in SSPSTATbits
1508 #define S                       SSPSTATbits.S                   // bit 3, shadows bit in SSPSTATbits
1509 #define I2C_START               SSPSTATbits.I2C_START           // bit 3, shadows bit in SSPSTATbits
1510 #define P                       SSPSTATbits.P                   // bit 4, shadows bit in SSPSTATbits
1511 #define I2C_STOP                SSPSTATbits.I2C_STOP            // bit 4, shadows bit in SSPSTATbits
1512 #define D_NOT_A                 SSPSTATbits.D_NOT_A             // bit 5, shadows bit in SSPSTATbits
1513 #define D                       SSPSTATbits.D                   // bit 5, shadows bit in SSPSTATbits
1514 #define I2C_DATA                SSPSTATbits.I2C_DATA            // bit 5, shadows bit in SSPSTATbits
1515 #define D_A                     SSPSTATbits.D_A                 // bit 5, shadows bit in SSPSTATbits
1516 #define DATA_ADDRESS            SSPSTATbits.DATA_ADDRESS        // bit 5, shadows bit in SSPSTATbits
1517 #define NOT_A                   SSPSTATbits.NOT_A               // bit 5, shadows bit in SSPSTATbits
1518 #define NOT_ADDRESS             SSPSTATbits.NOT_ADDRESS         // bit 5, shadows bit in SSPSTATbits
1519 #define CKE                     SSPSTATbits.CKE                 // bit 6
1520 #define SMP                     SSPSTATbits.SMP                 // bit 7
1521 
1522 #define C                       STATUSbits.C                    // bit 0
1523 #define DC                      STATUSbits.DC                   // bit 1
1524 #define Z                       STATUSbits.Z                    // bit 2
1525 #define NOT_PD                  STATUSbits.NOT_PD               // bit 3
1526 #define NOT_TO                  STATUSbits.NOT_TO               // bit 4
1527 #define RP0                     STATUSbits.RP0                  // bit 5
1528 #define RP1                     STATUSbits.RP1                  // bit 6
1529 #define IRP                     STATUSbits.IRP                  // bit 7
1530 
1531 #define TMR1ON                  T1CONbits.TMR1ON                // bit 0
1532 #define TMR1CS                  T1CONbits.TMR1CS                // bit 1
1533 #define NOT_T1SYNC              T1CONbits.NOT_T1SYNC            // bit 2, shadows bit in T1CONbits
1534 #define T1INSYNC                T1CONbits.T1INSYNC              // bit 2, shadows bit in T1CONbits
1535 #define T1OSCEN                 T1CONbits.T1OSCEN               // bit 3
1536 #define T1CKPS0                 T1CONbits.T1CKPS0               // bit 4
1537 #define T1CKPS1                 T1CONbits.T1CKPS1               // bit 5
1538 
1539 #define T2CKPS0                 T2CONbits.T2CKPS0               // bit 0
1540 #define T2CKPS1                 T2CONbits.T2CKPS1               // bit 1
1541 #define TMR2ON                  T2CONbits.TMR2ON                // bit 2
1542 #define TOUTPS0                 T2CONbits.TOUTPS0               // bit 3
1543 #define TOUTPS1                 T2CONbits.TOUTPS1               // bit 4
1544 #define TOUTPS2                 T2CONbits.TOUTPS2               // bit 5
1545 #define TOUTPS3                 T2CONbits.TOUTPS3               // bit 6
1546 
1547 #define TRISA0                  TRISAbits.TRISA0                // bit 0
1548 #define TRISA1                  TRISAbits.TRISA1                // bit 1
1549 #define TRISA2                  TRISAbits.TRISA2                // bit 2
1550 #define TRISA3                  TRISAbits.TRISA3                // bit 3
1551 #define TRISA4                  TRISAbits.TRISA4                // bit 4
1552 #define TRISA5                  TRISAbits.TRISA5                // bit 5
1553 
1554 #define TRISB0                  TRISBbits.TRISB0                // bit 0
1555 #define TRISB1                  TRISBbits.TRISB1                // bit 1
1556 #define TRISB2                  TRISBbits.TRISB2                // bit 2
1557 #define TRISB3                  TRISBbits.TRISB3                // bit 3
1558 #define TRISB4                  TRISBbits.TRISB4                // bit 4
1559 #define TRISB5                  TRISBbits.TRISB5                // bit 5
1560 #define TRISB6                  TRISBbits.TRISB6                // bit 6
1561 #define TRISB7                  TRISBbits.TRISB7                // bit 7
1562 
1563 #define TRISC0                  TRISCbits.TRISC0                // bit 0
1564 #define TRISC1                  TRISCbits.TRISC1                // bit 1
1565 #define TRISC2                  TRISCbits.TRISC2                // bit 2
1566 #define TRISC3                  TRISCbits.TRISC3                // bit 3
1567 #define TRISC4                  TRISCbits.TRISC4                // bit 4
1568 #define TRISC5                  TRISCbits.TRISC5                // bit 5
1569 #define TRISC6                  TRISCbits.TRISC6                // bit 6
1570 #define TRISC7                  TRISCbits.TRISC7                // bit 7
1571 
1572 #define TRISD0                  TRISDbits.TRISD0                // bit 0
1573 #define TRISD1                  TRISDbits.TRISD1                // bit 1
1574 #define TRISD2                  TRISDbits.TRISD2                // bit 2
1575 #define TRISD3                  TRISDbits.TRISD3                // bit 3
1576 #define TRISD4                  TRISDbits.TRISD4                // bit 4
1577 #define TRISD5                  TRISDbits.TRISD5                // bit 5
1578 #define TRISD6                  TRISDbits.TRISD6                // bit 6
1579 #define TRISD7                  TRISDbits.TRISD7                // bit 7
1580 
1581 #define TRISE0                  TRISEbits.TRISE0                // bit 0
1582 #define TRISE1                  TRISEbits.TRISE1                // bit 1
1583 #define TRISE2                  TRISEbits.TRISE2                // bit 2
1584 #define PSPMODE                 TRISEbits.PSPMODE               // bit 4
1585 #define IBOV                    TRISEbits.IBOV                  // bit 5
1586 #define OBF                     TRISEbits.OBF                   // bit 6
1587 #define IBF                     TRISEbits.IBF                   // bit 7
1588 
1589 #define TX9D                    TXSTAbits.TX9D                  // bit 0, shadows bit in TXSTAbits
1590 #define TXD8                    TXSTAbits.TXD8                  // bit 0, shadows bit in TXSTAbits
1591 #define TRMT                    TXSTAbits.TRMT                  // bit 1
1592 #define BRGH                    TXSTAbits.BRGH                  // bit 2
1593 #define SYNC                    TXSTAbits.SYNC                  // bit 4
1594 #define TXEN                    TXSTAbits.TXEN                  // bit 5
1595 #define TX9                     TXSTAbits.TX9                   // bit 6, shadows bit in TXSTAbits
1596 #define NOT_TX8                 TXSTAbits.NOT_TX8               // bit 6, shadows bit in TXSTAbits
1597 #define TX8_9                   TXSTAbits.TX8_9                 // bit 6, shadows bit in TXSTAbits
1598 #define CSRC                    TXSTAbits.CSRC                  // bit 7
1599 
1600 #endif // #ifndef NO_BIT_DEFINES
1601 
1602 #endif // #ifndef __PIC16C74B_H__
1603