2 * pic18f87j50.h - device specific declarations
4 * This file is part of the GNU PIC library for SDCC,
5 * originally devised by Vangelis Rokas <vrokas AT otenet.gr>
7 * It has been automatically generated by inc2h-pic16.pl,
8 * (c) 2007 by Raphael Neider <rneider AT web.de>
11 #ifndef __PIC18F87J50_H__
12 #define __PIC18F87J50_H__ 1
17 #define __CONFIG1L 0x1FFF8
18 #define __CONFIG1H 0x1FFF9
19 #define __CONFIG2L 0x1FFFA
20 #define __CONFIG2H 0x1FFFB
21 #define __CONFIG3L 0x1FFFC
22 #define __CONFIG3H 0x1FFFD
23 #define _DEVID1 0x3FFFFE
24 #define _DEVID2 0x3FFFFF
26 extern __sfr __at (0xF40) PMSTAT;
28 extern __sfr __at (0xF40) PMSTATL;
41 extern volatile __PMSTATLbits_t __at (0xF40) PMSTATLbits;
43 extern __sfr __at (0xF41) PMSTATH;
56 extern volatile __PMSTATHbits_t __at (0xF41) PMSTATHbits;
58 extern __sfr __at (0xF42) PMEL;
71 extern volatile __PMELbits_t __at (0xF42) PMELbits;
73 extern __sfr __at (0xF42) PMEN;
75 extern __sfr __at (0xF43) PMEH;
88 extern volatile __PMEHbits_t __at (0xF43) PMEHbits;
90 extern __sfr __at (0xF44) PMDIN2;
92 extern __sfr __at (0xF44) PMDIN2L;
94 extern __sfr __at (0xF45) PMDIN2H;
96 extern __sfr __at (0xF46) PMDOUT2;
98 extern __sfr __at (0xF46) PMDOUT2L;
100 extern __sfr __at (0xF47) PMDOUT2H;
102 extern __sfr __at (0xF48) PMMODE;
104 extern __sfr __at (0xF48) PMMODEL;
117 extern volatile __PMMODELbits_t __at (0xF48) PMMODELbits;
119 extern __sfr __at (0xF49) PMMODEH;
132 extern volatile __PMMODEHbits_t __at (0xF49) PMMODEHbits;
134 extern __sfr __at (0xF4A) PMCON;
136 extern __sfr __at (0xF4A) PMCONL;
149 extern volatile __PMCONLbits_t __at (0xF4A) PMCONLbits;
151 extern __sfr __at (0xF4B) PMCONH;
157 unsigned ADRMUX0 : 1;
158 unsigned ADRMUX1 : 1;
164 extern volatile __PMCONHbits_t __at (0xF4B) PMCONHbits;
166 extern __sfr __at (0xF4C) UEP0;
169 unsigned EPSTALL : 1;
171 unsigned EPOUTEN : 1;
172 unsigned EPCONDIS : 1;
179 extern volatile __UEP0bits_t __at (0xF4C) UEP0bits;
181 extern __sfr __at (0xF4D) UEP1;
184 unsigned EPSTALL : 1;
186 unsigned EPOUTEN : 1;
187 unsigned EPCONDIS : 1;
194 extern volatile __UEP1bits_t __at (0xF4D) UEP1bits;
196 extern __sfr __at (0xF4E) UEP2;
199 unsigned EPSTALL : 1;
201 unsigned EPOUTEN : 1;
202 unsigned EPCONDIS : 1;
209 extern volatile __UEP2bits_t __at (0xF4E) UEP2bits;
211 extern __sfr __at (0xF4F) UEP3;
214 unsigned EPSTALL : 1;
216 unsigned EPOUTEN : 1;
217 unsigned EPCONDIS : 1;
224 extern volatile __UEP3bits_t __at (0xF4F) UEP3bits;
226 extern __sfr __at (0xF50) UEP4;
229 unsigned EPSTALL : 1;
231 unsigned EPOUTEN : 1;
232 unsigned EPCONDIS : 1;
239 extern volatile __UEP4bits_t __at (0xF50) UEP4bits;
241 extern __sfr __at (0xF51) UEP5;
244 unsigned EPSTALL : 1;
246 unsigned EPOUTEN : 1;
247 unsigned EPCONDIS : 1;
254 extern volatile __UEP5bits_t __at (0xF51) UEP5bits;
256 extern __sfr __at (0xF52) UEP6;
259 unsigned EPSTALL : 1;
261 unsigned EPOUTEN : 1;
262 unsigned EPCONDIS : 1;
269 extern volatile __UEP6bits_t __at (0xF52) UEP6bits;
271 extern __sfr __at (0xF53) UEP7;
274 unsigned EPSTALL : 1;
276 unsigned EPOUTEN : 1;
277 unsigned EPCONDIS : 1;
284 extern volatile __UEP7bits_t __at (0xF53) UEP7bits;
286 extern __sfr __at (0xF54) UEP8;
289 unsigned EPSTALL : 1;
291 unsigned EPOUTEN : 1;
292 unsigned EPCONDIS : 1;
299 extern volatile __UEP8bits_t __at (0xF54) UEP8bits;
301 extern __sfr __at (0xF55) UEP9;
304 unsigned EPSTALL : 1;
306 unsigned EPOUTEN : 1;
307 unsigned EPCONDIS : 1;
314 extern volatile __UEP9bits_t __at (0xF55) UEP9bits;
316 extern __sfr __at (0xF56) UEP10;
319 unsigned EPSTALL : 1;
321 unsigned EPOUTEN : 1;
322 unsigned EPCONDIS : 1;
329 extern volatile __UEP10bits_t __at (0xF56) UEP10bits;
331 extern __sfr __at (0xF57) UEP11;
334 unsigned EPSTALL : 1;
336 unsigned EPOUTEN : 1;
337 unsigned EPCONDIS : 1;
344 extern volatile __UEP11bits_t __at (0xF57) UEP11bits;
346 extern __sfr __at (0xF58) UEP12;
349 unsigned EPSTALL : 1;
351 unsigned EPOUTEN : 1;
352 unsigned EPCONDIS : 1;
359 extern volatile __UEP12bits_t __at (0xF58) UEP12bits;
361 extern __sfr __at (0xF59) UEP13;
364 unsigned EPSTALL : 1;
366 unsigned EPOUTEN : 1;
367 unsigned EPCONDIS : 1;
374 extern volatile __UEP13bits_t __at (0xF59) UEP13bits;
376 extern __sfr __at (0xF5A) UEP14;
379 unsigned EPSTALL : 1;
381 unsigned EPOUTEN : 1;
382 unsigned EPCONDIS : 1;
389 extern volatile __UEP14bits_t __at (0xF5A) UEP14bits;
391 extern __sfr __at (0xF5B) UEP15;
394 unsigned EPSTALL : 1;
396 unsigned EPOUTEN : 1;
397 unsigned EPCONDIS : 1;
404 extern volatile __UEP15bits_t __at (0xF5B) UEP15bits;
406 extern __sfr __at (0xF5C) UIE;
414 unsigned STALLIE : 1;
419 extern volatile __UIEbits_t __at (0xF5C) UIEbits;
421 extern __sfr __at (0xF5D) UEIE;
426 unsigned CRC16EE : 1;
434 extern volatile __UEIEbits_t __at (0xF5D) UEIEbits;
436 extern __sfr __at (0xF5E) UADDR;
449 extern volatile __UADDRbits_t __at (0xF5E) UADDRbits;
451 extern __sfr __at (0xF5F) UCFG;
464 extern volatile __UCFGbits_t __at (0xF5F) UCFGbits;
466 extern __sfr __at (0xF60) UFRM;
468 extern __sfr __at (0xF60) UFRML;
481 extern volatile __UFRMLbits_t __at (0xF60) UFRMLbits;
483 extern __sfr __at (0xF61) UFRMH;
496 extern volatile __UFRMHbits_t __at (0xF61) UFRMHbits;
498 extern __sfr __at (0xF62) UIR;
506 unsigned STALLIF : 1;
511 extern volatile __UIRbits_t __at (0xF62) UIRbits;
513 extern __sfr __at (0xF63) UEIR;
518 unsigned CRC16EF : 1;
526 extern volatile __UEIRbits_t __at (0xF63) UEIRbits;
528 extern __sfr __at (0xF64) USTAT;
541 extern volatile __USTATbits_t __at (0xF64) USTATbits;
543 extern __sfr __at (0xF65) UCON;
556 extern volatile __UCONbits_t __at (0xF65) UCONbits;
558 extern __sfr __at (0xF66) PMDIN1;
560 extern __sfr __at (0xF66) PMDIN1L;
562 extern __sfr __at (0xF67) PMDIN1H;
564 extern __sfr __at (0xF68) PMADDR;
566 extern __sfr __at (0xF68) PMADDRL;
568 extern __sfr __at (0xF68) PMDOUT1;
570 extern __sfr __at (0xF68) PMDOUT1L;
572 extern __sfr __at (0xF69) PMADDRH;
585 extern volatile __PMADDRHbits_t __at (0xF69) PMADDRHbits;
587 extern __sfr __at (0xF69) PMDOUT1H;
589 extern __sfr __at (0xF6A) CMSTAT;
602 extern volatile __CMSTATbits_t __at (0xF6A) CMSTATbits;
604 extern __sfr __at (0xF6A) CMSTATUS;
617 extern volatile __CMSTATUSbits_t __at (0xF6A) CMSTATUSbits;
619 extern __sfr __at (0xF6B) SSP2CON2;
628 unsigned ACKSTAT : 1;
642 extern volatile __SSP2CON2bits_t __at (0xF6B) SSP2CON2bits;
644 extern __sfr __at (0xF6C) SSP2CON1;
657 extern volatile __SSP2CON1bits_t __at (0xF6C) SSP2CON1bits;
659 extern __sfr __at (0xF6D) SSP2STAT;
674 unsigned I2C_READ : 1;
675 unsigned I2C_START : 1;
676 unsigned I2C_STOP : 1;
677 unsigned I2C_DAT : 1;
694 unsigned NOT_WRITE : 1;
697 unsigned NOT_ADDRESS : 1;
704 unsigned READ_WRITE : 1;
707 unsigned DATA_ADDRESS : 1;
722 extern volatile __SSP2STATbits_t __at (0xF6D) SSP2STATbits;
724 extern __sfr __at (0xF6E) SSP2ADD;
726 extern __sfr __at (0xF6E) SSP2MSK;
739 extern volatile __SSP2MSKbits_t __at (0xF6E) SSP2MSKbits;
741 extern __sfr __at (0xF6F) SSP2BUF;
743 extern __sfr __at (0xF70) CCP5CON;
766 extern volatile __CCP5CONbits_t __at (0xF70) CCP5CONbits;
768 extern __sfr __at (0xF71) CCPR5;
770 extern __sfr __at (0xF71) CCPR5L;
772 extern __sfr __at (0xF72) CCPR5H;
774 extern __sfr __at (0xF73) CCP4CON;
797 extern volatile __CCP4CONbits_t __at (0xF73) CCP4CONbits;
799 extern __sfr __at (0xF74) CCPR4;
801 extern __sfr __at (0xF74) CCPR4L;
803 extern __sfr __at (0xF75) CCPR4H;
805 extern __sfr __at (0xF76) T4CON;
808 unsigned T4CKPS0 : 1;
809 unsigned T4CKPS1 : 1;
811 unsigned T4OUTPS0 : 1;
812 unsigned T4OUTPS1 : 1;
813 unsigned T4OUTPS2 : 1;
814 unsigned T4OUTPS3 : 1;
818 extern volatile __T4CONbits_t __at (0xF76) T4CONbits;
820 extern __sfr __at (0xF77) CVRCON;
833 extern volatile __CVRCONbits_t __at (0xF77) CVRCONbits;
835 extern __sfr __at (0xF77) PR4;
837 extern __sfr __at (0xF78) TMR4;
839 extern __sfr __at (0xF79) T3CON;
846 unsigned T3CKPS0 : 1;
847 unsigned T3CKPS1 : 1;
854 unsigned T3INSYNC : 1;
864 unsigned NOT_T3SYNC : 1;
872 extern volatile __T3CONbits_t __at (0xF79) T3CONbits;
874 extern __sfr __at (0xF7A) TMR3L;
876 extern __sfr __at (0xF7B) TMR3H;
878 extern __sfr __at (0xF7C) BAUDCON2;
901 extern volatile __BAUDCON2bits_t __at (0xF7C) BAUDCON2bits;
903 extern __sfr __at (0xF7D) SPBRGH2;
905 extern __sfr __at (0xF7E) BAUDCON;
928 extern volatile __BAUDCONbits_t __at (0xF7E) BAUDCONbits;
930 extern __sfr __at (0xF7E) BAUDCON1;
953 extern volatile __BAUDCON1bits_t __at (0xF7E) BAUDCON1bits;
955 extern __sfr __at (0xF7F) SPBRGH;
957 extern __sfr __at (0xF7F) SPBRGH1;
959 extern __sfr __at (0xF80) PORTA;
986 unsigned PMD5_PORTA : 1;
997 unsigned PMD4_PORTA : 1;
1002 extern volatile __PORTAbits_t __at (0xF80) PORTAbits;
1004 extern __sfr __at (0xF81) PORTB;
1040 unsigned CCP2_PORTB : 1;
1047 extern volatile __PORTBbits_t __at (0xF81) PORTBbits;
1049 extern __sfr __at (0xF82) PORTC;
1072 unsigned T13CKI : 1;
1073 unsigned CCP2_PORTC : 1;
1082 extern volatile __PORTCbits_t __at (0xF82) PORTCbits;
1084 extern __sfr __at (0xF83) PORTD;
1097 unsigned PMD0_PORTD : 1;
1098 unsigned PMD1_PORTD : 1;
1099 unsigned PMD2_PORTD : 1;
1100 unsigned PMD3_PORTD : 1;
1101 unsigned PMD4_PORTD : 1;
1102 unsigned PMD5_PORTD : 1;
1103 unsigned PMD6_PORTD : 1;
1104 unsigned PMD7_PORTD : 1;
1137 extern volatile __PORTDbits_t __at (0xF83) PORTDbits;
1139 extern __sfr __at (0xF84) PORTE;
1162 unsigned PMRD_PORTE : 1;
1163 unsigned PMWR_PORTE : 1;
1164 unsigned PMBE_PORTE : 1;
1179 unsigned CCP2_PORTE : 1;
1182 extern volatile __PORTEbits_t __at (0xF84) PORTEbits;
1184 extern __sfr __at (0xF85) PORTF;
1223 unsigned PMD1_PORTF : 1;
1224 unsigned PMD0_PORTF : 1;
1232 unsigned PMD2_PORTF : 1;
1237 extern volatile __PORTFbits_t __at (0xF85) PORTFbits;
1239 extern __sfr __at (0xF86) PORTG;
1282 extern volatile __PORTGbits_t __at (0xF86) PORTGbits;
1284 extern __sfr __at (0xF87) PORTH;
1309 unsigned PMD7_PORTH : 1;
1310 unsigned PMD6_PORTH : 1;
1311 unsigned PMD3_PORTH : 1;
1312 unsigned PMBE_PORTH : 1;
1313 unsigned PMRD_PORTH : 1;
1314 unsigned PMWR_PORTH : 1;
1327 extern volatile __PORTHbits_t __at (0xF87) PORTHbits;
1329 extern __sfr __at (0xF88) PORTJ;
1352 extern volatile __PORTJbits_t __at (0xF88) PORTJbits;
1354 extern __sfr __at (0xF89) LATA;
1367 extern volatile __LATAbits_t __at (0xF89) LATAbits;
1369 extern __sfr __at (0xF8A) LATB;
1382 extern volatile __LATBbits_t __at (0xF8A) LATBbits;
1384 extern __sfr __at (0xF8B) LATC;
1397 extern volatile __LATCbits_t __at (0xF8B) LATCbits;
1399 extern __sfr __at (0xF8C) LATD;
1412 extern volatile __LATDbits_t __at (0xF8C) LATDbits;
1414 extern __sfr __at (0xF8D) LATE;
1427 extern volatile __LATEbits_t __at (0xF8D) LATEbits;
1429 extern __sfr __at (0xF8E) LATF;
1442 extern volatile __LATFbits_t __at (0xF8E) LATFbits;
1444 extern __sfr __at (0xF8F) LATG;
1457 extern volatile __LATGbits_t __at (0xF8F) LATGbits;
1459 extern __sfr __at (0xF90) LATH;
1472 extern volatile __LATHbits_t __at (0xF90) LATHbits;
1474 extern __sfr __at (0xF91) LATJ;
1487 extern volatile __LATJbits_t __at (0xF91) LATJbits;
1489 extern __sfr __at (0xF92) DDRA;
1502 extern volatile __DDRAbits_t __at (0xF92) DDRAbits;
1504 extern __sfr __at (0xF92) TRISA;
1507 unsigned TRISA0 : 1;
1508 unsigned TRISA1 : 1;
1509 unsigned TRISA2 : 1;
1510 unsigned TRISA3 : 1;
1511 unsigned TRISA4 : 1;
1512 unsigned TRISA5 : 1;
1517 extern volatile __TRISAbits_t __at (0xF92) TRISAbits;
1519 extern __sfr __at (0xF93) DDRB;
1532 extern volatile __DDRBbits_t __at (0xF93) DDRBbits;
1534 extern __sfr __at (0xF93) TRISB;
1537 unsigned TRISB0 : 1;
1538 unsigned TRISB1 : 1;
1539 unsigned TRISB2 : 1;
1540 unsigned TRISB3 : 1;
1541 unsigned TRISB4 : 1;
1542 unsigned TRISB5 : 1;
1543 unsigned TRISB6 : 1;
1544 unsigned TRISB7 : 1;
1547 extern volatile __TRISBbits_t __at (0xF93) TRISBbits;
1549 extern __sfr __at (0xF94) DDRC;
1562 extern volatile __DDRCbits_t __at (0xF94) DDRCbits;
1564 extern __sfr __at (0xF94) TRISC;
1567 unsigned TRISC0 : 1;
1568 unsigned TRISC1 : 1;
1569 unsigned TRISC2 : 1;
1570 unsigned TRISC3 : 1;
1571 unsigned TRISC4 : 1;
1572 unsigned TRISC5 : 1;
1573 unsigned TRISC6 : 1;
1574 unsigned TRISC7 : 1;
1577 extern volatile __TRISCbits_t __at (0xF94) TRISCbits;
1579 extern __sfr __at (0xF95) DDRD;
1592 extern volatile __DDRDbits_t __at (0xF95) DDRDbits;
1594 extern __sfr __at (0xF95) TRISD;
1597 unsigned TRISD0 : 1;
1598 unsigned TRISD1 : 1;
1599 unsigned TRISD2 : 1;
1600 unsigned TRISD3 : 1;
1601 unsigned TRISD4 : 1;
1602 unsigned TRISD5 : 1;
1603 unsigned TRISD6 : 1;
1604 unsigned TRISD7 : 1;
1607 extern volatile __TRISDbits_t __at (0xF95) TRISDbits;
1609 extern __sfr __at (0xF96) DDRE;
1622 extern volatile __DDREbits_t __at (0xF96) DDREbits;
1624 extern __sfr __at (0xF96) TRISE;
1627 unsigned TRISE0 : 1;
1628 unsigned TRISE1 : 1;
1629 unsigned TRISE2 : 1;
1630 unsigned TRISE3 : 1;
1631 unsigned TRISE4 : 1;
1632 unsigned TRISE5 : 1;
1633 unsigned TRISE6 : 1;
1634 unsigned TRISE7 : 1;
1637 extern volatile __TRISEbits_t __at (0xF96) TRISEbits;
1639 extern __sfr __at (0xF97) DDRF;
1652 extern volatile __DDRFbits_t __at (0xF97) DDRFbits;
1654 extern __sfr __at (0xF97) TRISF;
1659 unsigned TRISF2 : 1;
1660 unsigned TRISF3 : 1;
1661 unsigned TRISF4 : 1;
1662 unsigned TRISF5 : 1;
1663 unsigned TRISF6 : 1;
1664 unsigned TRISF7 : 1;
1667 extern volatile __TRISFbits_t __at (0xF97) TRISFbits;
1669 extern __sfr __at (0xF98) DDRG;
1682 extern volatile __DDRGbits_t __at (0xF98) DDRGbits;
1684 extern __sfr __at (0xF98) TRISG;
1687 unsigned TRISG0 : 1;
1688 unsigned TRISG1 : 1;
1689 unsigned TRISG2 : 1;
1690 unsigned TRISG3 : 1;
1691 unsigned TRISG4 : 1;
1697 extern volatile __TRISGbits_t __at (0xF98) TRISGbits;
1699 extern __sfr __at (0xF99) DDRH;
1712 extern volatile __DDRHbits_t __at (0xF99) DDRHbits;
1714 extern __sfr __at (0xF99) TRISH;
1717 unsigned TRISH0 : 1;
1718 unsigned TRISH1 : 1;
1719 unsigned TRISH2 : 1;
1720 unsigned TRISH3 : 1;
1721 unsigned TRISH4 : 1;
1722 unsigned TRISH5 : 1;
1723 unsigned TRISH6 : 1;
1724 unsigned TRISH7 : 1;
1727 extern volatile __TRISHbits_t __at (0xF99) TRISHbits;
1729 extern __sfr __at (0xF9A) DDRJ;
1742 extern volatile __DDRJbits_t __at (0xF9A) DDRJbits;
1744 extern __sfr __at (0xF9A) TRISJ;
1747 unsigned TRISJ0 : 1;
1748 unsigned TRISJ1 : 1;
1749 unsigned TRISJ2 : 1;
1750 unsigned TRISJ3 : 1;
1751 unsigned TRISJ4 : 1;
1752 unsigned TRISJ5 : 1;
1753 unsigned TRISJ6 : 1;
1754 unsigned TRISJ7 : 1;
1757 extern volatile __TRISJbits_t __at (0xF9A) TRISJbits;
1759 extern __sfr __at (0xF9B) OSCTUNE;
1769 unsigned INTSRC : 1;
1772 extern volatile __OSCTUNEbits_t __at (0xF9B) OSCTUNEbits;
1774 extern __sfr __at (0xF9C) RCSTA2;
1793 unsigned NOT_RC8 : 1;
1817 extern volatile __RCSTA2bits_t __at (0xF9C) RCSTA2bits;
1819 extern __sfr __at (0xF9D) PIE1;
1822 unsigned TMR1IE : 1;
1823 unsigned TMR2IE : 1;
1824 unsigned CCP1IE : 1;
1835 unsigned SSP1IE : 1;
1842 extern volatile __PIE1bits_t __at (0xF9D) PIE1bits;
1844 extern __sfr __at (0xF9E) PIR1;
1847 unsigned TMR1IF : 1;
1848 unsigned TMR2IF : 1;
1849 unsigned CCP1IF : 1;
1860 unsigned SSP1IF : 1;
1867 extern volatile __PIR1bits_t __at (0xF9E) PIR1bits;
1869 extern __sfr __at (0xF9F) IPR1;
1872 unsigned TMR1IP : 1;
1873 unsigned TMR2IP : 1;
1874 unsigned CCP1IP : 1;
1885 unsigned SSP1IP : 1;
1892 extern volatile __IPR1bits_t __at (0xF9F) IPR1bits;
1894 extern __sfr __at (0xFA0) PIE2;
1897 unsigned CCP2IE : 1;
1898 unsigned TMR3IE : 1;
1904 unsigned OSCFIE : 1;
1910 unsigned BCL1IE : 1;
1917 extern volatile __PIE2bits_t __at (0xFA0) PIE2bits;
1919 extern __sfr __at (0xFA1) PIR2;
1922 unsigned CCP2IF : 1;
1923 unsigned TMR3IF : 1;
1929 unsigned OSCFIF : 1;
1935 unsigned BCL1IF : 1;
1942 extern volatile __PIR2bits_t __at (0xFA1) PIR2bits;
1944 extern __sfr __at (0xFA2) IPR2;
1947 unsigned CCP2IP : 1;
1948 unsigned TMR3IP : 1;
1954 unsigned OSCFIP : 1;
1960 unsigned BCL1IP : 1;
1967 extern volatile __IPR2bits_t __at (0xFA2) IPR2bits;
1969 extern __sfr __at (0xFA3) PIE3;
1972 unsigned CCP3IE : 1;
1973 unsigned CCP4IE : 1;
1974 unsigned CCP5IE : 1;
1975 unsigned TMR4IE : 1;
1978 unsigned BCL2IE : 1;
1979 unsigned SSP2IE : 1;
1982 extern volatile __PIE3bits_t __at (0xFA3) PIE3bits;
1984 extern __sfr __at (0xFA4) PIR3;
1987 unsigned CCP3IF : 1;
1988 unsigned CCP4IF : 1;
1989 unsigned CCP5IF : 1;
1990 unsigned TMR4IF : 1;
1993 unsigned BCL2IF : 1;
1994 unsigned SSP2IF : 1;
1997 extern volatile __PIR3bits_t __at (0xFA4) PIR3bits;
1999 extern __sfr __at (0xFA5) IPR3;
2002 unsigned CCP3IP : 1;
2003 unsigned CCP4IP : 1;
2004 unsigned CCP5IP : 1;
2005 unsigned TMR4IP : 1;
2008 unsigned BCL2IP : 1;
2009 unsigned SSP2IP : 1;
2012 extern volatile __IPR3bits_t __at (0xFA5) IPR3bits;
2014 extern __sfr __at (0xFA6) EECON1;
2027 extern volatile __EECON1bits_t __at (0xFA6) EECON1bits;
2029 extern __sfr __at (0xFA7) EECON2;
2031 extern __sfr __at (0xFA8) TXSTA2;
2060 unsigned NOT_TX8 : 1;
2064 extern volatile __TXSTA2bits_t __at (0xFA8) TXSTA2bits;
2066 extern __sfr __at (0xFA9) TXREG2;
2068 extern __sfr __at (0xFAA) RCREG2;
2070 extern __sfr __at (0xFAB) SPBRG2;
2072 extern __sfr __at (0xFAC) RCSTA;
2101 unsigned NOT_RC8 : 1;
2115 extern volatile __RCSTAbits_t __at (0xFAC) RCSTAbits;
2117 extern __sfr __at (0xFAC) RCSTA1;
2146 unsigned NOT_RC8 : 1;
2160 extern volatile __RCSTA1bits_t __at (0xFAC) RCSTA1bits;
2162 extern __sfr __at (0xFAD) TXSTA;
2191 unsigned NOT_TX8 : 1;
2195 extern volatile __TXSTAbits_t __at (0xFAD) TXSTAbits;
2197 extern __sfr __at (0xFAD) TXSTA1;
2226 unsigned NOT_TX8 : 1;
2230 extern volatile __TXSTA1bits_t __at (0xFAD) TXSTA1bits;
2232 extern __sfr __at (0xFAE) TXREG;
2234 extern __sfr __at (0xFAE) TXREG1;
2236 extern __sfr __at (0xFAF) RCREG;
2238 extern __sfr __at (0xFAF) RCREG1;
2240 extern __sfr __at (0xFB0) SPBRG;
2242 extern __sfr __at (0xFB0) SPBRG1;
2244 extern __sfr __at (0xFB1) CCP3CON;
2247 unsigned CCP3M0 : 1;
2248 unsigned CCP3M1 : 1;
2249 unsigned CCP3M2 : 1;
2250 unsigned CCP3M3 : 1;
2267 extern volatile __CCP3CONbits_t __at (0xFB1) CCP3CONbits;
2269 extern __sfr __at (0xFB1) ECCP3CON;
2272 unsigned CCP3M0 : 1;
2273 unsigned CCP3M1 : 1;
2274 unsigned CCP3M2 : 1;
2275 unsigned CCP3M3 : 1;
2292 extern volatile __ECCP3CONbits_t __at (0xFB1) ECCP3CONbits;
2294 extern __sfr __at (0xFB2) CCPR3;
2296 extern __sfr __at (0xFB2) CCPR3L;
2298 extern __sfr __at (0xFB3) CCPR3H;
2300 extern __sfr __at (0xFB4) ECCP3DEL;
2320 unsigned P3RSEN : 1;
2323 extern volatile __ECCP3DELbits_t __at (0xFB4) ECCP3DELbits;
2325 extern __sfr __at (0xFB5) ECCP3AS;
2328 unsigned PSSBD0 : 1;
2329 unsigned PSSBD1 : 1;
2330 unsigned PSSAC0 : 1;
2331 unsigned PSSAC1 : 1;
2332 unsigned ECCPAS0 : 1;
2333 unsigned ECCPAS1 : 1;
2334 unsigned ECCPAS2 : 1;
2335 unsigned ECCPASE : 1;
2338 unsigned PSS3BD0 : 1;
2339 unsigned PSS3BD1 : 1;
2340 unsigned PSS3AC0 : 1;
2341 unsigned PSS3AC1 : 1;
2342 unsigned ECCP3AS0 : 1;
2343 unsigned ECCP3AS1 : 1;
2344 unsigned ECCP3AS2 : 1;
2345 unsigned ECCP3ASE : 1;
2348 extern volatile __ECCP3ASbits_t __at (0xFB5) ECCP3ASbits;
2350 extern __sfr __at (0xFB6) CCP2CON;
2353 unsigned CCP2M0 : 1;
2354 unsigned CCP2M1 : 1;
2355 unsigned CCP2M2 : 1;
2356 unsigned CCP2M3 : 1;
2373 extern volatile __CCP2CONbits_t __at (0xFB6) CCP2CONbits;
2375 extern __sfr __at (0xFB6) ECCP2CON;
2378 unsigned CCP2M0 : 1;
2379 unsigned CCP2M1 : 1;
2380 unsigned CCP2M2 : 1;
2381 unsigned CCP2M3 : 1;
2398 extern volatile __ECCP2CONbits_t __at (0xFB6) ECCP2CONbits;
2400 extern __sfr __at (0xFB7) CCPR2;
2402 extern __sfr __at (0xFB7) CCPR2L;
2404 extern __sfr __at (0xFB8) CCPR2H;
2406 extern __sfr __at (0xFB9) ECCP2DEL;
2426 unsigned P2RSEN : 1;
2429 extern volatile __ECCP2DELbits_t __at (0xFB9) ECCP2DELbits;
2431 extern __sfr __at (0xFBA) ECCP2AS;
2434 unsigned PSSBD0 : 1;
2435 unsigned PSSBD1 : 1;
2436 unsigned PSSAC0 : 1;
2437 unsigned PSSAC1 : 1;
2438 unsigned ECCPAS0 : 1;
2439 unsigned ECCPAS1 : 1;
2440 unsigned ECCPAS2 : 1;
2441 unsigned ECCPASE : 1;
2444 unsigned PSS2BD0 : 1;
2445 unsigned PSS2BD1 : 1;
2446 unsigned PSS2AC0 : 1;
2447 unsigned PSS2AC1 : 1;
2448 unsigned ECCP2AS0 : 1;
2449 unsigned ECCP2AS1 : 1;
2450 unsigned ECCP2AS2 : 1;
2451 unsigned ECCP2ASE : 1;
2454 extern volatile __ECCP2ASbits_t __at (0xFBA) ECCP2ASbits;
2456 extern __sfr __at (0xFBB) CCP1CON;
2459 unsigned CCP1M0 : 1;
2460 unsigned CCP1M1 : 1;
2461 unsigned CCP1M2 : 1;
2462 unsigned CCP1M3 : 1;
2479 extern volatile __CCP1CONbits_t __at (0xFBB) CCP1CONbits;
2481 extern __sfr __at (0xFBB) ECCP1CON;
2484 unsigned CCP1M0 : 1;
2485 unsigned CCP1M1 : 1;
2486 unsigned CCP1M2 : 1;
2487 unsigned CCP1M3 : 1;
2504 extern volatile __ECCP1CONbits_t __at (0xFBB) ECCP1CONbits;
2506 extern __sfr __at (0xFBC) CCPR1;
2508 extern __sfr __at (0xFBC) CCPR1L;
2510 extern __sfr __at (0xFBD) CCPR1H;
2512 extern __sfr __at (0xFBE) ECCP1DEL;
2532 unsigned P1RSEN : 1;
2535 extern volatile __ECCP1DELbits_t __at (0xFBE) ECCP1DELbits;
2537 extern __sfr __at (0xFBF) ECCP1AS;
2540 unsigned PSSBD0 : 1;
2541 unsigned PSSBD1 : 1;
2542 unsigned PSSAC0 : 1;
2543 unsigned PSSAC1 : 1;
2544 unsigned ECCPAS0 : 1;
2545 unsigned ECCPAS1 : 1;
2546 unsigned ECCPAS2 : 1;
2547 unsigned ECCPASE : 1;
2550 unsigned PSS1BD0 : 1;
2551 unsigned PSS1BD1 : 1;
2552 unsigned PSS1AC0 : 1;
2553 unsigned PSS1AC1 : 1;
2554 unsigned ECCP1AS0 : 1;
2555 unsigned ECCP1AS1 : 1;
2556 unsigned ECCP1AS2 : 1;
2557 unsigned ECCP1ASE : 1;
2560 extern volatile __ECCP1ASbits_t __at (0xFBF) ECCP1ASbits;
2562 extern __sfr __at (0xFC0) WDTCON;
2569 unsigned DEVCFG : 1;
2571 unsigned LVDSTAT : 1;
2572 unsigned REGSLP : 1;
2575 unsigned SWDTEN : 1;
2585 extern volatile __WDTCONbits_t __at (0xFC0) WDTCONbits;
2587 extern __sfr __at (0xFC1) ADCON1;
2600 extern volatile __ADCON1bits_t __at (0xFC1) ADCON1bits;
2602 extern __sfr __at (0xFC1) ANCON0;
2615 extern volatile __ANCON0bits_t __at (0xFC1) ANCON0bits;
2617 extern __sfr __at (0xFC2) ADCON0;
2631 unsigned GO_DONE : 1;
2651 unsigned NOT_DONE : 1;
2660 extern volatile __ADCON0bits_t __at (0xFC2) ADCON0bits;
2662 extern __sfr __at (0xFC2) ANCON1;
2667 unsigned PCFG10 : 1;
2668 unsigned PCFG11 : 1;
2669 unsigned PCFG12 : 1;
2670 unsigned PCFG13 : 1;
2671 unsigned PCFG14 : 1;
2672 unsigned PCFG15 : 1;
2675 extern volatile __ANCON1bits_t __at (0xFC2) ANCON1bits;
2677 extern __sfr __at (0xFC3) ADRES;
2679 extern __sfr __at (0xFC3) ADRESL;
2681 extern __sfr __at (0xFC4) ADRESH;
2683 extern __sfr __at (0xFC5) SSP1CON2;
2692 unsigned ACKSTAT : 1;
2697 unsigned ADMSK1 : 1;
2698 unsigned ADMSK2 : 1;
2699 unsigned ADMSK3 : 1;
2700 unsigned ADMSK4 : 1;
2701 unsigned ADMSK5 : 1;
2706 extern volatile __SSP1CON2bits_t __at (0xFC5) SSP1CON2bits;
2708 extern __sfr __at (0xFC5) SSPCON2;
2717 unsigned ACKSTAT : 1;
2722 unsigned ADMSK1 : 1;
2723 unsigned ADMSK2 : 1;
2724 unsigned ADMSK3 : 1;
2725 unsigned ADMSK4 : 1;
2726 unsigned ADMSK5 : 1;
2731 extern volatile __SSPCON2bits_t __at (0xFC5) SSPCON2bits;
2733 extern __sfr __at (0xFC6) SSP1CON1;
2746 extern volatile __SSP1CON1bits_t __at (0xFC6) SSP1CON1bits;
2748 extern __sfr __at (0xFC6) SSPCON1;
2761 extern volatile __SSPCON1bits_t __at (0xFC6) SSPCON1bits;
2763 extern __sfr __at (0xFC7) SSP1STAT;
2778 unsigned I2C_READ : 1;
2779 unsigned I2C_START : 1;
2780 unsigned I2C_STOP : 1;
2781 unsigned I2C_DAT : 1;
2798 unsigned NOT_WRITE : 1;
2801 unsigned NOT_ADDRESS : 1;
2808 unsigned READ_WRITE : 1;
2811 unsigned DATA_ADDRESS : 1;
2826 extern volatile __SSP1STATbits_t __at (0xFC7) SSP1STATbits;
2828 extern __sfr __at (0xFC7) SSPSTAT;
2843 unsigned I2C_READ : 1;
2844 unsigned I2C_START : 1;
2845 unsigned I2C_STOP : 1;
2846 unsigned I2C_DAT : 1;
2863 unsigned NOT_WRITE : 1;
2866 unsigned NOT_ADDRESS : 1;
2873 unsigned READ_WRITE : 1;
2876 unsigned DATA_ADDRESS : 1;
2891 extern volatile __SSPSTATbits_t __at (0xFC7) SSPSTATbits;
2893 extern __sfr __at (0xFC8) SSP1ADD;
2895 extern __sfr __at (0xFC8) SSP1MSK;
2897 extern __sfr __at (0xFC8) SSPADD;
2899 extern __sfr __at (0xFC9) SSP1BUF;
2901 extern __sfr __at (0xFC9) SSPBUF;
2903 extern __sfr __at (0xFCA) T2CON;
2906 unsigned T2CKPS0 : 1;
2907 unsigned T2CKPS1 : 1;
2908 unsigned TMR2ON : 1;
2909 unsigned T2OUTPS0 : 1;
2910 unsigned T2OUTPS1 : 1;
2911 unsigned T2OUTPS2 : 1;
2912 unsigned T2OUTPS3 : 1;
2916 extern volatile __T2CONbits_t __at (0xFCA) T2CONbits;
2918 extern __sfr __at (0xFCB) MEMCON;
2931 extern volatile __MEMCONbits_t __at (0xFCB) MEMCONbits;
2933 extern __sfr __at (0xFCB) PR2;
2935 extern __sfr __at (0xFCC) PADCFG1;
2938 unsigned PMPTTL : 1;
2948 extern volatile __PADCFG1bits_t __at (0xFCC) PADCFG1bits;
2950 extern __sfr __at (0xFCC) TMR2;
2952 extern __sfr __at (0xFCD) ODCON3;
2955 unsigned SPI1OD : 1;
2956 unsigned SPI2OD : 1;
2965 extern volatile __ODCON3bits_t __at (0xFCD) ODCON3bits;
2967 extern __sfr __at (0xFCD) T1CON;
2970 unsigned TMR1ON : 1;
2971 unsigned TMR1CS : 1;
2972 unsigned T1SYNC : 1;
2973 unsigned T1OSCEN : 1;
2974 unsigned T1CKPS0 : 1;
2975 unsigned T1CKPS1 : 1;
2982 unsigned T1INSYNC : 1;
2992 unsigned NOT_T1SYNC : 1;
3000 extern volatile __T1CONbits_t __at (0xFCD) T1CONbits;
3002 extern __sfr __at (0xFCE) ODCON2;
3005 unsigned USART1OD : 1;
3006 unsigned USART2OD : 1;
3025 extern volatile __ODCON2bits_t __at (0xFCE) ODCON2bits;
3027 extern __sfr __at (0xFCE) TMR1L;
3029 extern __sfr __at (0xFCF) ODCON1;
3032 unsigned ECCP1OD : 1;
3033 unsigned ECCP2OD : 1;
3034 unsigned ECCP3OD : 1;
3035 unsigned CCP4OD : 1;
3036 unsigned CCP5OD : 1;
3042 extern volatile __ODCON1bits_t __at (0xFCF) ODCON1bits;
3044 extern __sfr __at (0xFCF) TMR1H;
3046 extern __sfr __at (0xFD0) RCON;
3049 unsigned NOT_BOR : 1;
3050 unsigned NOT_POR : 1;
3051 unsigned NOT_PD : 1;
3052 unsigned NOT_TO : 1;
3053 unsigned NOT_RI : 1;
3054 unsigned NOT_CM : 1;
3069 extern volatile __RCONbits_t __at (0xFD0) RCONbits;
3071 extern __sfr __at (0xFD1) CM2CON;
3077 unsigned EVPOL0 : 1;
3078 unsigned EVPOL1 : 1;
3094 extern volatile __CM2CONbits_t __at (0xFD1) CM2CONbits;
3096 extern __sfr __at (0xFD1) CM2CON1;
3102 unsigned EVPOL0 : 1;
3103 unsigned EVPOL1 : 1;
3119 extern volatile __CM2CON1bits_t __at (0xFD1) CM2CON1bits;
3121 extern __sfr __at (0xFD2) CM1CON;
3127 unsigned EVPOL0 : 1;
3128 unsigned EVPOL1 : 1;
3144 extern volatile __CM1CONbits_t __at (0xFD2) CM1CONbits;
3146 extern __sfr __at (0xFD2) CM1CON1;
3152 unsigned EVPOL0 : 1;
3153 unsigned EVPOL1 : 1;
3169 extern volatile __CM1CON1bits_t __at (0xFD2) CM1CON1bits;
3171 extern __sfr __at (0xFD3) OSCCON;
3194 extern volatile __OSCCONbits_t __at (0xFD3) OSCCONbits;
3196 extern __sfr __at (0xFD3) REFOCON;
3199 unsigned RODIV0 : 1;
3200 unsigned RODIV1 : 1;
3201 unsigned RODIV2 : 1;
3202 unsigned RODIV3 : 1;
3204 unsigned ROSSLP : 1;
3209 extern volatile __REFOCONbits_t __at (0xFD3) REFOCONbits;
3211 extern __sfr __at (0xFD5) T0CON;
3220 unsigned T08BIT : 1;
3221 unsigned TMR0ON : 1;
3234 extern volatile __T0CONbits_t __at (0xFD5) T0CONbits;
3236 extern __sfr __at (0xFD6) TMR0L;
3238 extern __sfr __at (0xFD7) TMR0H;
3240 extern __sfr __at (0xFD8) STATUS;
3253 extern volatile __STATUSbits_t __at (0xFD8) STATUSbits;
3255 extern __sfr __at (0xFD9) FSR2L;
3257 extern __sfr __at (0xFDA) FSR2H;
3259 extern __sfr __at (0xFDB) PLUSW2;
3261 extern __sfr __at (0xFDC) PREINC2;
3263 extern __sfr __at (0xFDD) POSTDEC2;
3265 extern __sfr __at (0xFDE) POSTINC2;
3267 extern __sfr __at (0xFDF) INDF2;
3269 extern __sfr __at (0xFE0) BSR;
3271 extern __sfr __at (0xFE1) FSR1L;
3273 extern __sfr __at (0xFE2) FSR1H;
3275 extern __sfr __at (0xFE3) PLUSW1;
3277 extern __sfr __at (0xFE4) PREINC1;
3279 extern __sfr __at (0xFE5) POSTDEC1;
3281 extern __sfr __at (0xFE6) POSTINC1;
3283 extern __sfr __at (0xFE7) INDF1;
3285 extern __sfr __at (0xFE8) WREG;
3287 extern __sfr __at (0xFE9) FSR0L;
3289 extern __sfr __at (0xFEA) FSR0H;
3291 extern __sfr __at (0xFEB) PLUSW0;
3293 extern __sfr __at (0xFEC) PREINC0;
3295 extern __sfr __at (0xFED) POSTDEC0;
3297 extern __sfr __at (0xFEE) POSTINC0;
3299 extern __sfr __at (0xFEF) INDF0;
3301 extern __sfr __at (0xFF0) INTCON3;
3314 unsigned INT1IF : 1;
3315 unsigned INT2IF : 1;
3316 unsigned INT3IF : 1;
3317 unsigned INT1IE : 1;
3318 unsigned INT2IE : 1;
3319 unsigned INT3IE : 1;
3320 unsigned INT1IP : 1;
3321 unsigned INT2IP : 1;
3324 extern volatile __INTCON3bits_t __at (0xFF0) INTCON3bits;
3326 extern __sfr __at (0xFF1) INTCON2;
3332 unsigned INTEDG3 : 1;
3333 unsigned INTEDG2 : 1;
3334 unsigned INTEDG1 : 1;
3335 unsigned INTEDG0 : 1;
3336 unsigned NOT_RBPU : 1;
3340 unsigned INT3IP : 1;
3341 unsigned TMR0IP : 1;
3349 extern volatile __INTCON2bits_t __at (0xFF1) INTCON2bits;
3351 extern __sfr __at (0xFF2) INTCON;
3365 unsigned INT0IF : 1;
3366 unsigned TMR0IF : 1;
3368 unsigned INT0IE : 1;
3369 unsigned TMR0IE : 1;
3374 extern volatile __INTCONbits_t __at (0xFF2) INTCONbits;
3376 extern __sfr __at (0xFF3) PROD;
3378 extern __sfr __at (0xFF3) PRODL;
3380 extern __sfr __at (0xFF4) PRODH;
3382 extern __sfr __at (0xFF5) TABLAT;
3384 extern __sfr __at (0xFF6) TBLPTR;
3386 extern __sfr __at (0xFF6) TBLPTRL;
3388 extern __sfr __at (0xFF7) TBLPTRH;
3390 extern __sfr __at (0xFF8) TBLPTRU;
3392 extern __sfr __at (0xFF9) PC;
3394 extern __sfr __at (0xFF9) PCL;
3396 extern __sfr __at (0xFFA) PCLATH;
3398 extern __sfr __at (0xFFB) PCLATU;
3400 extern __sfr __at (0xFFC) STKPTR;
3403 unsigned STKPTR0 : 1;
3404 unsigned STKPTR1 : 1;
3405 unsigned STKPTR2 : 1;
3406 unsigned STKPTR3 : 1;
3407 unsigned STKPTR4 : 1;
3409 unsigned STKUNF : 1;
3410 unsigned STKOVF : 1;
3420 unsigned STKFUL : 1;
3423 extern volatile __STKPTRbits_t __at (0xFFC) STKPTRbits;
3425 extern __sfr __at (0xFFD) TOS;
3427 extern __sfr __at (0xFFD) TOSL;
3429 extern __sfr __at (0xFFE) TOSH;
3431 extern __sfr __at (0xFFF) TOSU;