2 * This declarations of the PIC18F86J93 MCU.
4 * This file is part of the GNU PIC library for SDCC, originally
5 * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
7 * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:38 UTC.
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.
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.
22 * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
25 #ifndef __PIC18F86J93_H__
26 #define __PIC18F86J93_H__
28 //==============================================================================
30 //==============================================================================
32 // Register Definitions
34 //==============================================================================
37 //==============================================================================
40 extern __at(0x0F54) __sfr PADCFG1
;
47 unsigned RTSECSEL0
: 1;
48 unsigned RTSECSEL1
: 1;
59 unsigned RTSECSEL
: 2;
64 extern __at(0x0F54) volatile __PADCFG1bits_t PADCFG1bits
;
66 #define _RTSECSEL0 0x02
67 #define _RTSECSEL1 0x04
69 //==============================================================================
72 //==============================================================================
75 extern __at(0x0F55) __sfr CTMUICON
;
104 extern __at(0x0F55) volatile __CTMUICONbits_t CTMUICONbits
;
115 //==============================================================================
118 //==============================================================================
121 extern __at(0x0F56) __sfr CTMUCONL
;
127 unsigned EDG1STAT
: 1;
128 unsigned EDG2STAT
: 1;
129 unsigned EDG1SEL0
: 1;
130 unsigned EDG1SEL1
: 1;
131 unsigned EDG1POL
: 1;
132 unsigned EDG2SEL0
: 1;
133 unsigned EDG2SEL1
: 1;
134 unsigned EDG2POL
: 1;
140 unsigned EDG1SEL
: 2;
147 unsigned EDG2SEL
: 2;
152 extern __at(0x0F56) volatile __CTMUCONLbits_t CTMUCONLbits
;
154 #define _EDG1STAT 0x01
155 #define _EDG2STAT 0x02
156 #define _EDG1SEL0 0x04
157 #define _EDG1SEL1 0x08
158 #define _EDG1POL 0x10
159 #define _EDG2SEL0 0x20
160 #define _EDG2SEL1 0x40
161 #define _EDG2POL 0x80
163 //==============================================================================
166 //==============================================================================
169 extern __at(0x0F57) __sfr CTMUCONH
;
174 unsigned IDISSEN
: 1;
175 unsigned EDGSEQEN
: 1;
178 unsigned CTMUSIDL
: 1;
183 extern __at(0x0F57) volatile __CTMUCONHbits_t CTMUCONHbits
;
186 #define _IDISSEN 0x02
187 #define _EDGSEQEN 0x04
190 #define _CTMUSIDL 0x20
193 //==============================================================================
195 extern __at(0x0F58) __sfr ALRMVALL
;
196 extern __at(0x0F59) __sfr ALRMVALH
;
198 //==============================================================================
201 extern __at(0x0F5A) __sfr ALRMRPT
;
215 extern __at(0x0F5A) volatile __ALRMRPTbits_t ALRMRPTbits
;
226 //==============================================================================
229 //==============================================================================
232 extern __at(0x0F5B) __sfr ALRMCFG
;
238 unsigned ALRMPTR0
: 1;
239 unsigned ALRMPTR1
: 1;
250 unsigned ALRMPTR
: 2;
262 extern __at(0x0F5B) volatile __ALRMCFGbits_t ALRMCFGbits
;
264 #define _ALRMPTR0 0x01
265 #define _ALRMPTR1 0x02
273 //==============================================================================
275 extern __at(0x0F5C) __sfr RTCVALL
;
276 extern __at(0x0F5D) __sfr RTCVALH
;
278 //==============================================================================
281 extern __at(0x0F5E) __sfr RTCCAL
;
295 extern __at(0x0F5E) volatile __RTCCALbits_t RTCCALbits
;
306 //==============================================================================
309 //==============================================================================
312 extern __at(0x0F5F) __sfr RTCCFG
;
318 unsigned RTCPTR0
: 1;
319 unsigned RTCPTR1
: 1;
321 unsigned HALFSEC
: 1;
322 unsigned RTCSYNC
: 1;
323 unsigned RTCWREN
: 1;
335 extern __at(0x0F5F) volatile __RTCCFGbits_t RTCCFGbits
;
337 #define _RTCPTR0 0x01
338 #define _RTCPTR1 0x02
340 #define _HALFSEC 0x08
341 #define _RTCSYNC 0x10
342 #define _RTCWREN 0x20
345 //==============================================================================
348 //==============================================================================
351 extern __at(0x0F60) __sfr RCSTA2
;
387 unsigned NOT_RC8
: 1;
440 extern __at(0x0F60) volatile __RCSTA2bits_t RCSTA2bits
;
442 #define _RCSTA2_RX9D 0x01
443 #define _RCSTA2_RCD8 0x01
444 #define _RCSTA2_RX9D2 0x01
445 #define _RCSTA2_RCD82 0x01
446 #define _RCSTA2_OERR 0x02
447 #define _RCSTA2_OERR2 0x02
448 #define _RCSTA2_FERR 0x04
449 #define _RCSTA2_FERR2 0x04
450 #define _RCSTA2_ADDEN 0x08
451 #define _RCSTA2_ADDEN2 0x08
452 #define _RCSTA2_CREN 0x10
453 #define _RCSTA2_CREN2 0x10
454 #define _RCSTA2_SREN 0x20
455 #define _RCSTA2_SREN2 0x20
456 #define _RCSTA2_RX9 0x40
457 #define _RCSTA2_RC9 0x40
458 #define _RCSTA2_NOT_RC8 0x40
459 #define _RCSTA2_RC8_9 0x40
460 #define _RCSTA2_RX92 0x40
461 #define _RCSTA2_RC92 0x40
462 #define _RCSTA2_RC8_92 0x40
463 #define _RCSTA2_SPEN 0x80
464 #define _RCSTA2_SPEN2 0x80
466 //==============================================================================
469 //==============================================================================
472 extern __at(0x0F61) __sfr TXSTA2
;
508 unsigned NOT_TX8
: 1;
537 extern __at(0x0F61) volatile __TXSTA2bits_t TXSTA2bits
;
539 #define _TXSTA2_TX9D 0x01
540 #define _TXSTA2_TXD8 0x01
541 #define _TXSTA2_TX9D2 0x01
542 #define _TXSTA2_TXD82 0x01
543 #define _TXSTA2_TRMT 0x02
544 #define _TXSTA2_TRMT2 0x02
545 #define _TXSTA2_BRGH 0x04
546 #define _TXSTA2_BRGH2 0x04
547 #define _TXSTA2_SENDB2 0x08
548 #define _TXSTA2_SYNC 0x10
549 #define _TXSTA2_SYNC2 0x10
550 #define _TXSTA2_TXEN 0x20
551 #define _TXSTA2_TXEN2 0x20
552 #define _TXSTA2_TX9 0x40
553 #define _TXSTA2_TX8_9 0x40
554 #define _TXSTA2_NOT_TX8 0x40
555 #define _TXSTA2_TX92 0x40
556 #define _TXSTA2_TX8_92 0x40
557 #define _TXSTA2_CSRC 0x80
558 #define _TXSTA2_CSRC2 0x80
560 //==============================================================================
562 extern __at(0x0F62) __sfr TXREG2
;
563 extern __at(0x0F63) __sfr RCREG2
;
564 extern __at(0x0F64) __sfr SPBRG2
;
566 //==============================================================================
569 extern __at(0x0F65) __sfr CCP2CON
;
611 extern __at(0x0F65) volatile __CCP2CONbits_t CCP2CONbits
;
622 //==============================================================================
625 //==============================================================================
628 extern __at(0x0F65) __sfr ECCP2CON
;
670 extern __at(0x0F65) volatile __ECCP2CONbits_t ECCP2CONbits
;
672 #define _ECCP2CON_CCP2M0 0x01
673 #define _ECCP2CON_CCP2M1 0x02
674 #define _ECCP2CON_CCP2M2 0x04
675 #define _ECCP2CON_CCP2M3 0x08
676 #define _ECCP2CON_DC2B0 0x10
677 #define _ECCP2CON_DCCP2Y 0x10
678 #define _ECCP2CON_DC2B1 0x20
679 #define _ECCP2CON_DCCP2X 0x20
681 //==============================================================================
683 extern __at(0x0F66) __sfr CCPR2
;
684 extern __at(0x0F66) __sfr CCPR2L
;
685 extern __at(0x0F67) __sfr CCPR2H
;
687 //==============================================================================
690 extern __at(0x0F68) __sfr CCP1CON
;
732 extern __at(0x0F68) volatile __CCP1CONbits_t CCP1CONbits
;
743 //==============================================================================
746 //==============================================================================
749 extern __at(0x0F68) __sfr ECCP1CON
;
791 extern __at(0x0F68) volatile __ECCP1CONbits_t ECCP1CONbits
;
793 #define _ECCP1CON_CCP1M0 0x01
794 #define _ECCP1CON_CCP1M1 0x02
795 #define _ECCP1CON_CCP1M2 0x04
796 #define _ECCP1CON_CCP1M3 0x08
797 #define _ECCP1CON_DC1B0 0x10
798 #define _ECCP1CON_DCCP1Y 0x10
799 #define _ECCP1CON_DC1B1 0x20
800 #define _ECCP1CON_DCCP1X 0x20
802 //==============================================================================
804 extern __at(0x0F69) __sfr CCPR1
;
805 extern __at(0x0F69) __sfr CCPR1L
;
806 extern __at(0x0F6A) __sfr CCPR1H
;
808 //==============================================================================
811 extern __at(0x0F6B) __sfr LCDDATA5
;
829 unsigned SEG40COM0
: 1;
830 unsigned SEG41COM0
: 1;
831 unsigned SEG42COM0
: 1;
832 unsigned SEG43COM0
: 1;
833 unsigned SEG44COM0
: 1;
834 unsigned SEG45COM0
: 1;
835 unsigned SEG46COM0
: 1;
836 unsigned SEG47COM0
: 1;
840 extern __at(0x0F6B) volatile __LCDDATA5bits_t LCDDATA5bits
;
843 #define _SEG40COM0 0x01
845 #define _SEG41COM0 0x02
847 #define _SEG42COM0 0x04
849 #define _SEG43COM0 0x08
851 #define _SEG44COM0 0x10
853 #define _SEG45COM0 0x20
855 #define _SEG46COM0 0x40
857 #define _SEG47COM0 0x80
859 //==============================================================================
862 //==============================================================================
865 extern __at(0x0F6C) __sfr LCDDATA6
;
883 unsigned SEG0COM1
: 1;
884 unsigned SEG1COM1
: 1;
885 unsigned SEG2COM1
: 1;
886 unsigned SEG3COM1
: 1;
887 unsigned SEG4COM1
: 1;
888 unsigned SEG5COM1
: 1;
889 unsigned SEG6COM1
: 1;
890 unsigned SEG7COM1
: 1;
906 extern __at(0x0F6C) volatile __LCDDATA6bits_t LCDDATA6bits
;
909 #define _SEG0COM1 0x01
912 #define _SEG1COM1 0x02
915 #define _SEG2COM1 0x04
918 #define _SEG3COM1 0x08
921 #define _SEG4COM1 0x10
924 #define _SEG5COM1 0x20
927 #define _SEG6COM1 0x40
930 #define _SEG7COM1 0x80
933 //==============================================================================
936 //==============================================================================
939 extern __at(0x0F6D) __sfr LCDDATA7
;
957 unsigned SEG8COM1
: 1;
958 unsigned SEG9COM1
: 1;
959 unsigned SEG10COM1
: 1;
960 unsigned SEG11COM1
: 1;
961 unsigned SEG12COM1
: 1;
962 unsigned SEG13COM1
: 1;
963 unsigned SEG14COM1
: 1;
964 unsigned SEG15COM1
: 1;
980 extern __at(0x0F6D) volatile __LCDDATA7bits_t LCDDATA7bits
;
983 #define _SEG8COM1 0x01
986 #define _SEG9COM1 0x02
989 #define _SEG10COM1 0x04
991 #define _SEG11COM1 0x08
993 #define _SEG12COM1 0x10
995 #define _SEG13COM1 0x20
997 #define _SEG14COM1 0x40
999 #define _SEG15COM1 0x80
1001 //==============================================================================
1004 //==============================================================================
1007 extern __at(0x0F6E) __sfr LCDDATA8
;
1025 unsigned SEG16COM1
: 1;
1026 unsigned SEG17COM1
: 1;
1027 unsigned SEG18COM1
: 1;
1028 unsigned SEG19COM1
: 1;
1029 unsigned SEG20COM1
: 1;
1030 unsigned SEG21COM1
: 1;
1031 unsigned SEG22COM1
: 1;
1032 unsigned SEG23COM1
: 1;
1036 extern __at(0x0F6E) volatile __LCDDATA8bits_t LCDDATA8bits
;
1039 #define _SEG16COM1 0x01
1041 #define _SEG17COM1 0x02
1043 #define _SEG18COM1 0x04
1045 #define _SEG19COM1 0x08
1047 #define _SEG20COM1 0x10
1049 #define _SEG21COM1 0x20
1051 #define _SEG22COM1 0x40
1053 #define _SEG23COM1 0x80
1055 //==============================================================================
1058 //==============================================================================
1061 extern __at(0x0F6F) __sfr LCDDATA9
;
1079 unsigned SEG24COM1
: 1;
1080 unsigned SEG25COM1
: 1;
1081 unsigned SEG26COM1
: 1;
1082 unsigned SEG27COM1
: 1;
1083 unsigned SEG28COM1
: 1;
1084 unsigned SEG29COM1
: 1;
1085 unsigned SEG30COM1
: 1;
1086 unsigned SEG31COM1
: 1;
1090 extern __at(0x0F6F) volatile __LCDDATA9bits_t LCDDATA9bits
;
1093 #define _SEG24COM1 0x01
1095 #define _SEG25COM1 0x02
1097 #define _SEG26COM1 0x04
1099 #define _SEG27COM1 0x08
1101 #define _SEG28COM1 0x10
1103 #define _SEG29COM1 0x20
1105 #define _SEG30COM1 0x40
1107 #define _SEG31COM1 0x80
1109 //==============================================================================
1112 //==============================================================================
1115 extern __at(0x0F70) __sfr LCDDATA10
;
1133 unsigned SEG32COM1
: 1;
1134 unsigned SEG33COM1
: 1;
1135 unsigned SEG34COM1
: 1;
1136 unsigned SEG35COM1
: 1;
1137 unsigned SEG36COM1
: 1;
1138 unsigned SEG37COM1
: 1;
1139 unsigned SEG38COM1
: 1;
1140 unsigned SEG39COM1
: 1;
1142 } __LCDDATA10bits_t
;
1144 extern __at(0x0F70) volatile __LCDDATA10bits_t LCDDATA10bits
;
1147 #define _SEG32COM1 0x01
1149 #define _SEG33COM1 0x02
1151 #define _SEG34COM1 0x04
1153 #define _SEG35COM1 0x08
1155 #define _SEG36COM1 0x10
1157 #define _SEG37COM1 0x20
1159 #define _SEG38COM1 0x40
1161 #define _SEG39COM1 0x80
1163 //==============================================================================
1166 //==============================================================================
1169 extern __at(0x0F71) __sfr LCDDATA11
;
1187 unsigned SEG40COM1
: 1;
1188 unsigned SEG41COM1
: 1;
1189 unsigned SEG42COM1
: 1;
1190 unsigned SEG43COM1
: 1;
1191 unsigned SEG44COM1
: 1;
1192 unsigned SEG45COM1
: 1;
1193 unsigned SEG46COM1
: 1;
1194 unsigned SEG47COM1
: 1;
1196 } __LCDDATA11bits_t
;
1198 extern __at(0x0F71) volatile __LCDDATA11bits_t LCDDATA11bits
;
1201 #define _SEG40COM1 0x01
1203 #define _SEG41COM1 0x02
1205 #define _SEG42COM1 0x04
1207 #define _SEG43COM1 0x08
1209 #define _SEG44COM1 0x10
1211 #define _SEG45COM1 0x20
1213 #define _SEG46COM1 0x40
1215 #define _SEG47COM1 0x80
1217 //==============================================================================
1220 //==============================================================================
1223 extern __at(0x0F72) __sfr LCDDATA12
;
1241 unsigned SEG0COM2
: 1;
1242 unsigned SEG1COM2
: 1;
1243 unsigned SEG2COM2
: 1;
1244 unsigned SEG3COM2
: 1;
1245 unsigned SEG4COM2
: 1;
1246 unsigned SEG5COM2
: 1;
1247 unsigned SEG6COM2
: 1;
1248 unsigned SEG7COM2
: 1;
1262 } __LCDDATA12bits_t
;
1264 extern __at(0x0F72) volatile __LCDDATA12bits_t LCDDATA12bits
;
1267 #define _SEG0COM2 0x01
1270 #define _SEG1COM2 0x02
1273 #define _SEG2COM2 0x04
1276 #define _SEG3COM2 0x08
1279 #define _SEG4COM2 0x10
1282 #define _SEG5COM2 0x20
1285 #define _SEG6COM2 0x40
1288 #define _SEG7COM2 0x80
1291 //==============================================================================
1294 //==============================================================================
1297 extern __at(0x0F73) __sfr LCDDATA13
;
1315 unsigned SEG8COM2
: 1;
1316 unsigned SEG9COM2
: 1;
1317 unsigned SEG10COM2
: 1;
1318 unsigned SEG11COM2
: 1;
1319 unsigned SEG12COM2
: 1;
1320 unsigned SEG13COM2
: 1;
1321 unsigned SEG14COM2
: 1;
1322 unsigned SEG15COM2
: 1;
1336 } __LCDDATA13bits_t
;
1338 extern __at(0x0F73) volatile __LCDDATA13bits_t LCDDATA13bits
;
1341 #define _SEG8COM2 0x01
1344 #define _SEG9COM2 0x02
1347 #define _SEG10COM2 0x04
1349 #define _SEG11COM2 0x08
1351 #define _SEG12COM2 0x10
1353 #define _SEG13COM2 0x20
1355 #define _SEG14COM2 0x40
1357 #define _SEG15COM2 0x80
1359 //==============================================================================
1362 //==============================================================================
1365 extern __at(0x0F74) __sfr LCDDATA14
;
1383 unsigned SEG16COM2
: 1;
1384 unsigned SEG17COM2
: 1;
1385 unsigned SEG18COM2
: 1;
1386 unsigned SEG19COM2
: 1;
1387 unsigned SEG20COM2
: 1;
1388 unsigned SEG21COM2
: 1;
1389 unsigned SEG22COM2
: 1;
1390 unsigned SEG23COM2
: 1;
1392 } __LCDDATA14bits_t
;
1394 extern __at(0x0F74) volatile __LCDDATA14bits_t LCDDATA14bits
;
1397 #define _SEG16COM2 0x01
1399 #define _SEG17COM2 0x02
1401 #define _SEG18COM2 0x04
1403 #define _SEG19COM2 0x08
1405 #define _SEG20COM2 0x10
1407 #define _SEG21COM2 0x20
1409 #define _SEG22COM2 0x40
1411 #define _SEG23COM2 0x80
1413 //==============================================================================
1416 //==============================================================================
1419 extern __at(0x0F75) __sfr LCDDATA15
;
1437 unsigned SEG24COM2
: 1;
1438 unsigned SEG25COM2
: 1;
1439 unsigned SEG26COM2
: 1;
1440 unsigned SEG27COM2
: 1;
1441 unsigned SEG28COM2
: 1;
1442 unsigned SEG29COM2
: 1;
1443 unsigned SEG30COM2
: 1;
1444 unsigned SEG31COM2
: 1;
1446 } __LCDDATA15bits_t
;
1448 extern __at(0x0F75) volatile __LCDDATA15bits_t LCDDATA15bits
;
1451 #define _SEG24COM2 0x01
1453 #define _SEG25COM2 0x02
1455 #define _SEG26COM2 0x04
1457 #define _SEG27COM2 0x08
1459 #define _SEG28COM2 0x10
1461 #define _SEG29COM2 0x20
1463 #define _SEG30COM2 0x40
1465 #define _SEG31COM2 0x80
1467 //==============================================================================
1470 //==============================================================================
1473 extern __at(0x0F76) __sfr LCDDATA16
;
1491 unsigned SEG32COM2
: 1;
1492 unsigned SEG33COM2
: 1;
1493 unsigned SEG34COM2
: 1;
1494 unsigned SEG35COM2
: 1;
1495 unsigned SEG36COM2
: 1;
1496 unsigned SEG37COM2
: 1;
1497 unsigned SEG38COM2
: 1;
1498 unsigned SEG39COM2
: 1;
1500 } __LCDDATA16bits_t
;
1502 extern __at(0x0F76) volatile __LCDDATA16bits_t LCDDATA16bits
;
1505 #define _SEG32COM2 0x01
1507 #define _SEG33COM2 0x02
1509 #define _SEG34COM2 0x04
1511 #define _SEG35COM2 0x08
1513 #define _SEG36COM2 0x10
1515 #define _SEG37COM2 0x20
1517 #define _SEG38COM2 0x40
1519 #define _SEG39COM2 0x80
1521 //==============================================================================
1524 //==============================================================================
1527 extern __at(0x0F77) __sfr LCDDATA17
;
1545 unsigned SEG40COM2
: 1;
1546 unsigned SEG41COM2
: 1;
1547 unsigned SEG42COM2
: 1;
1548 unsigned SEG43COM2
: 1;
1549 unsigned SEG44COM2
: 1;
1550 unsigned SEG45COM2
: 1;
1551 unsigned SEG46COM2
: 1;
1552 unsigned SEG47COM2
: 1;
1554 } __LCDDATA17bits_t
;
1556 extern __at(0x0F77) volatile __LCDDATA17bits_t LCDDATA17bits
;
1559 #define _SEG40COM2 0x01
1561 #define _SEG41COM2 0x02
1563 #define _SEG42COM2 0x04
1565 #define _SEG43COM2 0x08
1567 #define _SEG44COM2 0x10
1569 #define _SEG45COM2 0x20
1571 #define _SEG46COM2 0x40
1573 #define _SEG47COM2 0x80
1575 //==============================================================================
1578 //==============================================================================
1581 extern __at(0x0F78) __sfr LCDDATA18
;
1599 unsigned SEG00COM3
: 1;
1600 unsigned SEG01COM3
: 1;
1601 unsigned SEG02COM3
: 1;
1602 unsigned SEG03COM3
: 1;
1603 unsigned SEG04COM3
: 1;
1604 unsigned SEG05COM3
: 1;
1605 unsigned SEG06COM3
: 1;
1606 unsigned SEG07COM3
: 1;
1620 } __LCDDATA18bits_t
;
1622 extern __at(0x0F78) volatile __LCDDATA18bits_t LCDDATA18bits
;
1625 #define _SEG00COM3 0x01
1628 #define _SEG01COM3 0x02
1631 #define _SEG02COM3 0x04
1634 #define _SEG03COM3 0x08
1637 #define _SEG04COM3 0x10
1640 #define _SEG05COM3 0x20
1643 #define _SEG06COM3 0x40
1646 #define _SEG07COM3 0x80
1649 //==============================================================================
1652 //==============================================================================
1655 extern __at(0x0F79) __sfr LCDDATA19
;
1673 unsigned SEG8COM3
: 1;
1674 unsigned SEG9COM3
: 1;
1675 unsigned SEG10COM3
: 1;
1676 unsigned SEG11COM3
: 1;
1677 unsigned SEG12COM3
: 1;
1678 unsigned SEG13COM3
: 1;
1679 unsigned SEG14COM3
: 1;
1680 unsigned SEG15COM3
: 1;
1694 } __LCDDATA19bits_t
;
1696 extern __at(0x0F79) volatile __LCDDATA19bits_t LCDDATA19bits
;
1699 #define _SEG8COM3 0x01
1702 #define _SEG9COM3 0x02
1705 #define _SEG10COM3 0x04
1707 #define _SEG11COM3 0x08
1709 #define _SEG12COM3 0x10
1711 #define _SEG13COM3 0x20
1713 #define _SEG14COM3 0x40
1715 #define _SEG15COM3 0x80
1717 //==============================================================================
1720 //==============================================================================
1723 extern __at(0x0F7A) __sfr LCDDATA20
;
1741 unsigned SEG16COM3
: 1;
1742 unsigned SEG17COM3
: 1;
1743 unsigned SEG18COM3
: 1;
1744 unsigned SEG19COM3
: 1;
1745 unsigned SEG20COM3
: 1;
1746 unsigned SEG21COM3
: 1;
1747 unsigned SEG22COM3
: 1;
1748 unsigned SEG23COM3
: 1;
1750 } __LCDDATA20bits_t
;
1752 extern __at(0x0F7A) volatile __LCDDATA20bits_t LCDDATA20bits
;
1755 #define _SEG16COM3 0x01
1757 #define _SEG17COM3 0x02
1759 #define _SEG18COM3 0x04
1761 #define _SEG19COM3 0x08
1763 #define _SEG20COM3 0x10
1765 #define _SEG21COM3 0x20
1767 #define _SEG22COM3 0x40
1769 #define _SEG23COM3 0x80
1771 //==============================================================================
1774 //==============================================================================
1777 extern __at(0x0F7B) __sfr LCDDATA21
;
1795 unsigned SEG24COM3
: 1;
1796 unsigned SEG25COM3
: 1;
1797 unsigned SEG26COM3
: 1;
1798 unsigned SEG27COM3
: 1;
1799 unsigned SEG28COM3
: 1;
1800 unsigned SEG29COM3
: 1;
1801 unsigned SEG30COM3
: 1;
1802 unsigned SEG31COM3
: 1;
1804 } __LCDDATA21bits_t
;
1806 extern __at(0x0F7B) volatile __LCDDATA21bits_t LCDDATA21bits
;
1809 #define _SEG24COM3 0x01
1811 #define _SEG25COM3 0x02
1813 #define _SEG26COM3 0x04
1815 #define _SEG27COM3 0x08
1817 #define _SEG28COM3 0x10
1819 #define _SEG29COM3 0x20
1821 #define _SEG30COM3 0x40
1823 #define _SEG31COM3 0x80
1825 //==============================================================================
1828 //==============================================================================
1831 extern __at(0x0F7C) __sfr LCDDATA22
;
1849 unsigned SEG32COM3
: 1;
1850 unsigned SEG33COM3
: 1;
1851 unsigned SEG34COM3
: 1;
1852 unsigned SEG35COM3
: 1;
1853 unsigned SEG36COM3
: 1;
1854 unsigned SEG37COM3
: 1;
1855 unsigned SEG38COM3
: 1;
1856 unsigned SEG39COM3
: 1;
1858 } __LCDDATA22bits_t
;
1860 extern __at(0x0F7C) volatile __LCDDATA22bits_t LCDDATA22bits
;
1863 #define _SEG32COM3 0x01
1865 #define _SEG33COM3 0x02
1867 #define _SEG34COM3 0x04
1869 #define _SEG35COM3 0x08
1871 #define _SEG36COM3 0x10
1873 #define _SEG37COM3 0x20
1875 #define _SEG38COM3 0x40
1877 #define _SEG39COM3 0x80
1879 //==============================================================================
1882 //==============================================================================
1885 extern __at(0x0F7D) __sfr LCDDATA23
;
1903 unsigned SEG40COM3
: 1;
1904 unsigned SEG41COM3
: 1;
1905 unsigned SEG42COM3
: 1;
1906 unsigned SEG43COM3
: 1;
1907 unsigned SEG44COM3
: 1;
1908 unsigned SEG45COM3
: 1;
1909 unsigned SEG46COM3
: 1;
1910 unsigned SEG47COM3
: 1;
1912 } __LCDDATA23bits_t
;
1914 extern __at(0x0F7D) volatile __LCDDATA23bits_t LCDDATA23bits
;
1917 #define _SEG40COM3 0x01
1919 #define _SEG41COM3 0x02
1921 #define _SEG42COM3 0x04
1923 #define _SEG43COM3 0x08
1925 #define _SEG44COM3 0x10
1927 #define _SEG45COM3 0x20
1929 #define _SEG46COM3 0x40
1931 #define _SEG47COM3 0x80
1933 //==============================================================================
1936 //==============================================================================
1939 extern __at(0x0F7E) __sfr BAUDCON
;
1952 unsigned ABDOVF
: 1;
1968 extern __at(0x0F7E) volatile __BAUDCONbits_t BAUDCONbits
;
1977 #define _ABDOVF 0x80
1979 //==============================================================================
1982 //==============================================================================
1985 extern __at(0x0F7E) __sfr BAUDCON1
;
1998 unsigned ABDOVF
: 1;
2014 extern __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits
;
2016 #define _BAUDCON1_ABDEN 0x01
2017 #define _BAUDCON1_WUE 0x02
2018 #define _BAUDCON1_BRG16 0x08
2019 #define _BAUDCON1_TXCKP 0x10
2020 #define _BAUDCON1_RXDTP 0x20
2021 #define _BAUDCON1_RCMT 0x40
2022 #define _BAUDCON1_RCIDL 0x40
2023 #define _BAUDCON1_ABDOVF 0x80
2025 //==============================================================================
2027 extern __at(0x0F7F) __sfr SPBRGH
;
2028 extern __at(0x0F7F) __sfr SPBRGH1
;
2030 //==============================================================================
2033 extern __at(0x0F80) __sfr PORTA
;
2074 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits
;
2100 //==============================================================================
2103 //==============================================================================
2106 extern __at(0x0F81) __sfr PORTB
;
2171 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits
;
2200 //==============================================================================
2203 //==============================================================================
2206 extern __at(0x0F82) __sfr PORTC
;
2236 unsigned T13CKI
: 1;
2259 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits
;
2263 #define _T13CKI 0x01
2291 //==============================================================================
2294 //==============================================================================
2297 extern __at(0x0F83) __sfr PORTD
;
2338 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits
;
2358 //==============================================================================
2361 //==============================================================================
2364 extern __at(0x0F84) __sfr PORTE
;
2382 unsigned LCDBIAS1
: 1;
2383 unsigned LCDBIAS2
: 1;
2412 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits
;
2414 #define _PORTE_RE0 0x01
2415 #define _PORTE_LCDBIAS1 0x01
2416 #define _PORTE_RE1 0x02
2417 #define _PORTE_LCDBIAS2 0x02
2418 #define _PORTE_RE3 0x08
2419 #define _PORTE_COM0 0x08
2420 #define _PORTE_RE4 0x10
2421 #define _PORTE_COM1 0x10
2422 #define _PORTE_RE5 0x20
2423 #define _PORTE_COM2 0x20
2424 #define _PORTE_RE6 0x40
2425 #define _PORTE_COM3 0x40
2426 #define _PORTE_RE7 0x80
2427 #define _PORTE_CCP2 0x80
2428 #define _PORTE_SEG31 0x80
2430 //==============================================================================
2433 //==============================================================================
2436 extern __at(0x0F85) __sfr PORTF
;
2491 unsigned C1OUTF
: 1;
2492 unsigned C2OUTF
: 1;
2501 extern __at(0x0F85) volatile __PORTFbits_t PORTFbits
;
2503 #define _PORTF_RF1 0x02
2504 #define _PORTF_AN6 0x02
2505 #define _PORTF_C2OUT 0x02
2506 #define _PORTF_SEG19 0x02
2507 #define _PORTF_C1OUTF 0x02
2508 #define _PORTF_RF2 0x04
2509 #define _PORTF_AN7 0x04
2510 #define _PORTF_C1OUT 0x04
2511 #define _PORTF_SEG20 0x04
2512 #define _PORTF_C2OUTF 0x04
2513 #define _PORTF_RF3 0x08
2514 #define _PORTF_AN8 0x08
2515 #define _PORTF_C2INB 0x08
2516 #define _PORTF_SEG21 0x08
2517 #define _PORTF_RF4 0x10
2518 #define _PORTF_AN9 0x10
2519 #define _PORTF_C2INA 0x10
2520 #define _PORTF_SEG22 0x10
2521 #define _PORTF_RF5 0x20
2522 #define _PORTF_AN10 0x20
2523 #define _PORTF_C1INB 0x20
2524 #define _PORTF_SEG23 0x20
2525 #define _PORTF_CVREF 0x20
2526 #define _PORTF_RF6 0x40
2527 #define _PORTF_AN11 0x40
2528 #define _PORTF_C1INA 0x40
2529 #define _PORTF_SEG24 0x40
2530 #define _PORTF_RF7 0x80
2531 #define _PORTF_AN5 0x80
2532 #define _PORTF_SS1 0x80
2533 #define _PORTF_SEG25 0x80
2535 //==============================================================================
2538 //==============================================================================
2541 extern __at(0x0F86) __sfr PORTG
;
2559 unsigned LCDBIAS0
: 1;
2562 unsigned VLCAP2
: 1;
2585 unsigned VLCAP1
: 1;
2600 extern __at(0x0F86) volatile __PORTGbits_t PORTGbits
;
2603 #define _LCDBIAS0 0x01
2610 #define _VLCAP1 0x04
2612 #define _VLCAP2 0x08
2620 //==============================================================================
2623 //==============================================================================
2626 extern __at(0x0F87) __sfr PORTH
;
2655 extern __at(0x0F87) volatile __PORTHbits_t PORTHbits
;
2674 //==============================================================================
2677 //==============================================================================
2680 extern __at(0x0F88) __sfr PORTJ
;
2709 extern __at(0x0F88) volatile __PORTJbits_t PORTJbits
;
2727 //==============================================================================
2730 //==============================================================================
2733 extern __at(0x0F89) __sfr LATA
;
2747 extern __at(0x0F89) volatile __LATAbits_t LATAbits
;
2758 //==============================================================================
2761 //==============================================================================
2764 extern __at(0x0F8A) __sfr LATB
;
2778 extern __at(0x0F8A) volatile __LATBbits_t LATBbits
;
2789 //==============================================================================
2792 //==============================================================================
2795 extern __at(0x0F8B) __sfr LATC
;
2809 extern __at(0x0F8B) volatile __LATCbits_t LATCbits
;
2820 //==============================================================================
2823 //==============================================================================
2826 extern __at(0x0F8C) __sfr LATD
;
2840 extern __at(0x0F8C) volatile __LATDbits_t LATDbits
;
2851 //==============================================================================
2854 //==============================================================================
2857 extern __at(0x0F8D) __sfr LATE
;
2871 extern __at(0x0F8D) volatile __LATEbits_t LATEbits
;
2881 //==============================================================================
2884 //==============================================================================
2887 extern __at(0x0F8E) __sfr LATF
;
2901 extern __at(0x0F8E) volatile __LATFbits_t LATFbits
;
2911 //==============================================================================
2914 //==============================================================================
2917 extern __at(0x0F8F) __sfr LATG
;
2940 extern __at(0x0F8F) volatile __LATGbits_t LATGbits
;
2950 //==============================================================================
2953 //==============================================================================
2956 extern __at(0x0F90) __sfr LATH
;
2970 extern __at(0x0F90) volatile __LATHbits_t LATHbits
;
2981 //==============================================================================
2984 //==============================================================================
2987 extern __at(0x0F91) __sfr LATJ
;
3001 extern __at(0x0F91) volatile __LATJbits_t LATJbits
;
3012 //==============================================================================
3015 //==============================================================================
3018 extern __at(0x0F92) __sfr TRISA
;
3022 unsigned TRISA0
: 1;
3023 unsigned TRISA1
: 1;
3024 unsigned TRISA2
: 1;
3025 unsigned TRISA3
: 1;
3026 unsigned TRISA4
: 1;
3027 unsigned TRISA5
: 1;
3028 unsigned TRISA6
: 1;
3029 unsigned TRISA7
: 1;
3032 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits
;
3034 #define _TRISA0 0x01
3035 #define _TRISA1 0x02
3036 #define _TRISA2 0x04
3037 #define _TRISA3 0x08
3038 #define _TRISA4 0x10
3039 #define _TRISA5 0x20
3040 #define _TRISA6 0x40
3041 #define _TRISA7 0x80
3043 //==============================================================================
3046 //==============================================================================
3049 extern __at(0x0F93) __sfr TRISB
;
3053 unsigned TRISB0
: 1;
3054 unsigned TRISB1
: 1;
3055 unsigned TRISB2
: 1;
3056 unsigned TRISB3
: 1;
3057 unsigned TRISB4
: 1;
3058 unsigned TRISB5
: 1;
3059 unsigned TRISB6
: 1;
3060 unsigned TRISB7
: 1;
3063 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits
;
3065 #define _TRISB0 0x01
3066 #define _TRISB1 0x02
3067 #define _TRISB2 0x04
3068 #define _TRISB3 0x08
3069 #define _TRISB4 0x10
3070 #define _TRISB5 0x20
3071 #define _TRISB6 0x40
3072 #define _TRISB7 0x80
3074 //==============================================================================
3077 //==============================================================================
3080 extern __at(0x0F94) __sfr TRISC
;
3084 unsigned TRISC0
: 1;
3085 unsigned TRISC1
: 1;
3086 unsigned TRISC2
: 1;
3087 unsigned TRISC3
: 1;
3088 unsigned TRISC4
: 1;
3089 unsigned TRISC5
: 1;
3090 unsigned TRISC6
: 1;
3091 unsigned TRISC7
: 1;
3094 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits
;
3096 #define _TRISC0 0x01
3097 #define _TRISC1 0x02
3098 #define _TRISC2 0x04
3099 #define _TRISC3 0x08
3100 #define _TRISC4 0x10
3101 #define _TRISC5 0x20
3102 #define _TRISC6 0x40
3103 #define _TRISC7 0x80
3105 //==============================================================================
3108 //==============================================================================
3111 extern __at(0x0F95) __sfr TRISD
;
3115 unsigned TRISD0
: 1;
3116 unsigned TRISD1
: 1;
3117 unsigned TRISD2
: 1;
3118 unsigned TRISD3
: 1;
3119 unsigned TRISD4
: 1;
3120 unsigned TRISD5
: 1;
3121 unsigned TRISD6
: 1;
3122 unsigned TRISD7
: 1;
3125 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits
;
3127 #define _TRISD0 0x01
3128 #define _TRISD1 0x02
3129 #define _TRISD2 0x04
3130 #define _TRISD3 0x08
3131 #define _TRISD4 0x10
3132 #define _TRISD5 0x20
3133 #define _TRISD6 0x40
3134 #define _TRISD7 0x80
3136 //==============================================================================
3139 //==============================================================================
3142 extern __at(0x0F96) __sfr TRISE
;
3146 unsigned TRISE0
: 1;
3147 unsigned TRISE1
: 1;
3149 unsigned TRISE3
: 1;
3150 unsigned TRISE4
: 1;
3151 unsigned TRISE5
: 1;
3152 unsigned TRISE6
: 1;
3153 unsigned TRISE7
: 1;
3156 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits
;
3158 #define _TRISE0 0x01
3159 #define _TRISE1 0x02
3160 #define _TRISE3 0x08
3161 #define _TRISE4 0x10
3162 #define _TRISE5 0x20
3163 #define _TRISE6 0x40
3164 #define _TRISE7 0x80
3166 //==============================================================================
3169 //==============================================================================
3172 extern __at(0x0F97) __sfr TRISF
;
3177 unsigned TRISF1
: 1;
3178 unsigned TRISF2
: 1;
3179 unsigned TRISF3
: 1;
3180 unsigned TRISF4
: 1;
3181 unsigned TRISF5
: 1;
3182 unsigned TRISF6
: 1;
3183 unsigned TRISF7
: 1;
3186 extern __at(0x0F97) volatile __TRISFbits_t TRISFbits
;
3188 #define _TRISF1 0x02
3189 #define _TRISF2 0x04
3190 #define _TRISF3 0x08
3191 #define _TRISF4 0x10
3192 #define _TRISF5 0x20
3193 #define _TRISF6 0x40
3194 #define _TRISF7 0x80
3196 //==============================================================================
3199 //==============================================================================
3202 extern __at(0x0F98) __sfr TRISG
;
3208 unsigned TRISG0
: 1;
3209 unsigned TRISG1
: 1;
3210 unsigned TRISG2
: 1;
3211 unsigned TRISG3
: 1;
3212 unsigned TRISG4
: 1;
3213 unsigned CCP1OD
: 1;
3214 unsigned CCP2OD
: 1;
3225 extern __at(0x0F98) volatile __TRISGbits_t TRISGbits
;
3227 #define _TRISG0 0x01
3228 #define _TRISG1 0x02
3229 #define _TRISG2 0x04
3230 #define _TRISG3 0x08
3231 #define _TRISG4 0x10
3232 #define _CCP1OD 0x20
3233 #define _CCP2OD 0x40
3236 //==============================================================================
3239 //==============================================================================
3242 extern __at(0x0F99) __sfr TRISH
;
3246 unsigned TRISH0
: 1;
3247 unsigned TRISH1
: 1;
3248 unsigned TRISH2
: 1;
3249 unsigned TRISH3
: 1;
3250 unsigned TRISH4
: 1;
3251 unsigned TRISH5
: 1;
3252 unsigned TRISH6
: 1;
3253 unsigned TRISH7
: 1;
3256 extern __at(0x0F99) volatile __TRISHbits_t TRISHbits
;
3258 #define _TRISH0 0x01
3259 #define _TRISH1 0x02
3260 #define _TRISH2 0x04
3261 #define _TRISH3 0x08
3262 #define _TRISH4 0x10
3263 #define _TRISH5 0x20
3264 #define _TRISH6 0x40
3265 #define _TRISH7 0x80
3267 //==============================================================================
3270 //==============================================================================
3273 extern __at(0x0F9A) __sfr TRISJ
;
3277 unsigned TRISJ0
: 1;
3278 unsigned TRISJ1
: 1;
3279 unsigned TRISJ2
: 1;
3280 unsigned TRISJ3
: 1;
3281 unsigned TRISJ4
: 1;
3282 unsigned TRISJ5
: 1;
3283 unsigned TRISJ6
: 1;
3284 unsigned TRISJ7
: 1;
3287 extern __at(0x0F9A) volatile __TRISJbits_t TRISJbits
;
3289 #define _TRISJ0 0x01
3290 #define _TRISJ1 0x02
3291 #define _TRISJ2 0x04
3292 #define _TRISJ3 0x08
3293 #define _TRISJ4 0x10
3294 #define _TRISJ5 0x20
3295 #define _TRISJ6 0x40
3296 #define _TRISJ7 0x80
3298 //==============================================================================
3301 //==============================================================================
3304 extern __at(0x0F9B) __sfr OSCTUNE
;
3317 unsigned INTSRC
: 1;
3327 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits
;
3336 #define _INTSRC 0x80
3338 //==============================================================================
3341 //==============================================================================
3344 extern __at(0x0F9D) __sfr PIE1
;
3350 unsigned TMR1IE
: 1;
3351 unsigned TMR2IE
: 1;
3365 unsigned SSP1IE
: 1;
3373 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits
;
3375 #define _TMR1IE 0x01
3376 #define _TMR2IE 0x02
3378 #define _SSP1IE 0x08
3385 //==============================================================================
3388 //==============================================================================
3391 extern __at(0x0F9E) __sfr PIR1
;
3397 unsigned TMR1IF
: 1;
3398 unsigned TMR2IF
: 1;
3412 unsigned SSP1IF
: 1;
3420 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits
;
3422 #define _TMR1IF 0x01
3423 #define _TMR2IF 0x02
3425 #define _SSP1IF 0x08
3432 //==============================================================================
3435 //==============================================================================
3438 extern __at(0x0F9F) __sfr IPR1
;
3444 unsigned TMR1IP
: 1;
3445 unsigned TMR2IP
: 1;
3459 unsigned SSP1IP
: 1;
3467 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits
;
3469 #define _TMR1IP 0x01
3470 #define _TMR2IP 0x02
3472 #define _SSP1IP 0x08
3479 //==============================================================================
3482 //==============================================================================
3485 extern __at(0x0FA0) __sfr PIE2
;
3492 unsigned TMR3IE
: 1;
3498 unsigned OSCFIE
: 1;
3506 unsigned BCL1IE
: 1;
3514 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits
;
3516 #define _TMR3IE 0x02
3519 #define _BCL1IE 0x08
3521 #define _OSCFIE 0x80
3523 //==============================================================================
3526 //==============================================================================
3529 extern __at(0x0FA1) __sfr PIR2
;
3536 unsigned TMR3IF
: 1;
3542 unsigned OSCFIF
: 1;
3550 unsigned BCL1IF
: 1;
3558 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits
;
3560 #define _TMR3IF 0x02
3563 #define _BCL1IF 0x08
3565 #define _OSCFIF 0x80
3567 //==============================================================================
3570 //==============================================================================
3573 extern __at(0x0FA2) __sfr IPR2
;
3580 unsigned TMR3IP
: 1;
3586 unsigned OSCFIP
: 1;
3594 unsigned BCL1IP
: 1;
3602 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits
;
3604 #define _TMR3IP 0x02
3607 #define _BCL1IP 0x08
3609 #define _OSCFIP 0x80
3611 //==============================================================================
3614 //==============================================================================
3617 extern __at(0x0FA3) __sfr PIE3
;
3621 unsigned RTCCIE
: 1;
3622 unsigned CCP1IE
: 1;
3623 unsigned CCP2IE
: 1;
3624 unsigned CTMUIE
: 1;
3631 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits
;
3633 #define _RTCCIE 0x01
3634 #define _CCP1IE 0x02
3635 #define _CCP2IE 0x04
3636 #define _CTMUIE 0x08
3641 //==============================================================================
3644 //==============================================================================
3647 extern __at(0x0FA4) __sfr PIR3
;
3651 unsigned RTCCIF
: 1;
3652 unsigned CCP1IF
: 1;
3653 unsigned CCP2IF
: 1;
3654 unsigned CTMUIF
: 1;
3661 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits
;
3663 #define _RTCCIF 0x01
3664 #define _CCP1IF 0x02
3665 #define _CCP2IF 0x04
3666 #define _CTMUIF 0x08
3671 //==============================================================================
3674 //==============================================================================
3677 extern __at(0x0FA5) __sfr IPR3
;
3681 unsigned RTCCIP
: 1;
3682 unsigned CCP1IP
: 1;
3683 unsigned CCP2IP
: 1;
3684 unsigned CTMUIP
: 1;
3691 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits
;
3693 #define _RTCCIP 0x01
3694 #define _CCP1IP 0x02
3695 #define _CCP2IP 0x04
3696 #define _CTMUIP 0x08
3701 //==============================================================================
3704 //==============================================================================
3707 extern __at(0x0FA6) __sfr EECON1
;
3721 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits
;
3729 //==============================================================================
3731 extern __at(0x0FA7) __sfr EECON2
;
3733 //==============================================================================
3736 extern __at(0x0FA8) __sfr LCDCON
;
3756 unsigned LCDCS0
: 1;
3757 unsigned LCDCS1
: 1;
3759 unsigned LCDWERR
: 1;
3760 unsigned LCDSLPEN
: 1;
3785 extern __at(0x0FA8) volatile __LCDCONbits_t LCDCONbits
;
3790 #define _LCDCS0 0x04
3792 #define _LCDCS1 0x08
3794 #define _LCDWERR 0x20
3796 #define _LCDSLPEN 0x40
3799 //==============================================================================
3802 //==============================================================================
3805 extern __at(0x0FA9) __sfr LCDSE0
;
3823 unsigned SEGEN0
: 1;
3824 unsigned SEGEN1
: 1;
3825 unsigned SEGEN2
: 1;
3826 unsigned SEGEN3
: 1;
3827 unsigned SEGEN4
: 1;
3828 unsigned SEGEN5
: 1;
3829 unsigned SEGEN6
: 1;
3830 unsigned SEGEN7
: 1;
3846 extern __at(0x0FA9) volatile __LCDSE0bits_t LCDSE0bits
;
3849 #define _SEGEN0 0x01
3852 #define _SEGEN1 0x02
3855 #define _SEGEN2 0x04
3858 #define _SEGEN3 0x08
3861 #define _SEGEN4 0x10
3864 #define _SEGEN5 0x20
3867 #define _SEGEN6 0x40
3870 #define _SEGEN7 0x80
3873 //==============================================================================
3876 //==============================================================================
3879 extern __at(0x0FAA) __sfr LCDPS
;
3891 unsigned BIASMD
: 1;
3897 unsigned LCDPS0
: 1;
3898 unsigned LCDPS1
: 1;
3899 unsigned LCDPS2
: 1;
3900 unsigned LCDPS3
: 1;
3920 extern __at(0x0FAA) volatile __LCDPSbits_t LCDPSbits
;
3923 #define _LCDPS0 0x01
3925 #define _LCDPS1 0x02
3927 #define _LCDPS2 0x04
3929 #define _LCDPS3 0x08
3932 #define _BIASMD 0x40
3935 //==============================================================================
3938 //==============================================================================
3941 extern __at(0x0FAB) __sfr RCSTA
;
3974 unsigned ADDEN1
: 1;
3977 unsigned NOT_RC8
: 1;
4006 extern __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits
;
4017 #define _ADDEN1 0x08
4024 #define _NOT_RC8 0x40
4030 //==============================================================================
4033 //==============================================================================
4036 extern __at(0x0FAB) __sfr RCSTA1
;
4069 unsigned ADDEN1
: 1;
4072 unsigned NOT_RC8
: 1;
4101 extern __at(0x0FAB) volatile __RCSTA1bits_t RCSTA1bits
;
4103 #define _RCSTA1_RX9D 0x01
4104 #define _RCSTA1_RCD8 0x01
4105 #define _RCSTA1_RX9D1 0x01
4106 #define _RCSTA1_OERR 0x02
4107 #define _RCSTA1_OERR1 0x02
4108 #define _RCSTA1_FERR 0x04
4109 #define _RCSTA1_FERR1 0x04
4110 #define _RCSTA1_ADDEN 0x08
4111 #define _RCSTA1_ADEN 0x08
4112 #define _RCSTA1_ADDEN1 0x08
4113 #define _RCSTA1_CREN 0x10
4114 #define _RCSTA1_CREN1 0x10
4115 #define _RCSTA1_SREN 0x20
4116 #define _RCSTA1_SREN1 0x20
4117 #define _RCSTA1_RX9 0x40
4118 #define _RCSTA1_RC9 0x40
4119 #define _RCSTA1_NOT_RC8 0x40
4120 #define _RCSTA1_RC8_9 0x40
4121 #define _RCSTA1_RX91 0x40
4122 #define _RCSTA1_SPEN 0x80
4123 #define _RCSTA1_SPEN1 0x80
4125 //==============================================================================
4128 //==============================================================================
4131 extern __at(0x0FAC) __sfr TXSTA
;
4152 unsigned SENDB1
: 1;
4167 unsigned NOT_TX8
: 1;
4184 extern __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits
;
4194 #define _SENDB1 0x08
4201 #define _NOT_TX8 0x40
4206 //==============================================================================
4209 //==============================================================================
4212 extern __at(0x0FAC) __sfr TXSTA1
;
4233 unsigned SENDB1
: 1;
4248 unsigned NOT_TX8
: 1;
4265 extern __at(0x0FAC) volatile __TXSTA1bits_t TXSTA1bits
;
4267 #define _TXSTA1_TX9D 0x01
4268 #define _TXSTA1_TXD8 0x01
4269 #define _TXSTA1_TX9D1 0x01
4270 #define _TXSTA1_TRMT 0x02
4271 #define _TXSTA1_TRMT1 0x02
4272 #define _TXSTA1_BRGH 0x04
4273 #define _TXSTA1_BRGH1 0x04
4274 #define _TXSTA1_SENDB 0x08
4275 #define _TXSTA1_SENDB1 0x08
4276 #define _TXSTA1_SYNC 0x10
4277 #define _TXSTA1_SYNC1 0x10
4278 #define _TXSTA1_TXEN 0x20
4279 #define _TXSTA1_TXEN1 0x20
4280 #define _TXSTA1_TX9 0x40
4281 #define _TXSTA1_TX8_9 0x40
4282 #define _TXSTA1_NOT_TX8 0x40
4283 #define _TXSTA1_TX91 0x40
4284 #define _TXSTA1_CSRC 0x80
4285 #define _TXSTA1_CSRC1 0x80
4287 //==============================================================================
4289 extern __at(0x0FAD) __sfr TXREG
;
4290 extern __at(0x0FAD) __sfr TXREG1
;
4291 extern __at(0x0FAE) __sfr RCREG
;
4292 extern __at(0x0FAE) __sfr RCREG1
;
4293 extern __at(0x0FAF) __sfr SPBRG
;
4294 extern __at(0x0FAF) __sfr SPBRG1
;
4296 //==============================================================================
4299 extern __at(0x0FB1) __sfr T3CON
;
4305 unsigned TMR3ON
: 1;
4306 unsigned TMR3CS
: 1;
4307 unsigned NOT_T3SYNC
: 1;
4308 unsigned T3CCP1
: 1;
4309 unsigned T3CKPS0
: 1;
4310 unsigned T3CKPS1
: 1;
4311 unsigned T3CCP2
: 1;
4319 unsigned T3SYNC
: 1;
4331 unsigned T3INSYNC
: 1;
4342 unsigned T3CKPS
: 2;
4347 extern __at(0x0FB1) volatile __T3CONbits_t T3CONbits
;
4349 #define _T3CON_TMR3ON 0x01
4350 #define _T3CON_TMR3CS 0x02
4351 #define _T3CON_NOT_T3SYNC 0x04
4352 #define _T3CON_T3SYNC 0x04
4353 #define _T3CON_T3INSYNC 0x04
4354 #define _T3CON_T3CCP1 0x08
4355 #define _T3CON_T3CKPS0 0x10
4356 #define _T3CON_T3CKPS1 0x20
4357 #define _T3CON_T3CCP2 0x40
4358 #define _T3CON_RD16 0x80
4359 #define _T3CON_RD163 0x80
4361 //==============================================================================
4363 extern __at(0x0FB2) __sfr TMR3
;
4364 extern __at(0x0FB2) __sfr TMR3L
;
4365 extern __at(0x0FB3) __sfr TMR3H
;
4367 //==============================================================================
4370 extern __at(0x0FB4) __sfr CMCON
;
4393 extern __at(0x0FB4) volatile __CMCONbits_t CMCONbits
;
4404 //==============================================================================
4407 //==============================================================================
4410 extern __at(0x0FB5) __sfr CVRCON
;
4433 extern __at(0x0FB5) volatile __CVRCONbits_t CVRCONbits
;
4444 //==============================================================================
4447 //==============================================================================
4450 extern __at(0x0FB6) __sfr LCDSE1
;
4468 unsigned SEGEN8
: 1;
4469 unsigned SEGEN9
: 1;
4470 unsigned SEGEN10
: 1;
4471 unsigned SEGEN11
: 1;
4472 unsigned SEGEN12
: 1;
4473 unsigned SEGEN13
: 1;
4474 unsigned SEGEN14
: 1;
4475 unsigned SEGEN15
: 1;
4491 extern __at(0x0FB6) volatile __LCDSE1bits_t LCDSE1bits
;
4494 #define _SEGEN8 0x01
4497 #define _SEGEN9 0x02
4500 #define _SEGEN10 0x04
4502 #define _SEGEN11 0x08
4504 #define _SEGEN12 0x10
4506 #define _SEGEN13 0x20
4508 #define _SEGEN14 0x40
4510 #define _SEGEN15 0x80
4512 //==============================================================================
4515 //==============================================================================
4518 extern __at(0x0FB7) __sfr LCDSE2
;
4536 unsigned SEGEN16
: 1;
4537 unsigned SEGEN17
: 1;
4538 unsigned SEGEN18
: 1;
4539 unsigned SEGEN19
: 1;
4540 unsigned SEGEN20
: 1;
4541 unsigned SEGEN21
: 1;
4542 unsigned SEGEN22
: 1;
4543 unsigned SEGEN23
: 1;
4547 extern __at(0x0FB7) volatile __LCDSE2bits_t LCDSE2bits
;
4550 #define _SEGEN16 0x01
4552 #define _SEGEN17 0x02
4554 #define _SEGEN18 0x04
4556 #define _SEGEN19 0x08
4558 #define _SEGEN20 0x10
4560 #define _SEGEN21 0x20
4562 #define _SEGEN22 0x40
4564 #define _SEGEN23 0x80
4566 //==============================================================================
4569 //==============================================================================
4572 extern __at(0x0FB8) __sfr LCDSE3
;
4590 unsigned SEGEN24
: 1;
4591 unsigned SEGEN25
: 1;
4592 unsigned SEGEN26
: 1;
4593 unsigned SEGEN27
: 1;
4594 unsigned SEGEN28
: 1;
4595 unsigned SEGEN29
: 1;
4596 unsigned SEGEN30
: 1;
4597 unsigned SEGEN31
: 1;
4601 extern __at(0x0FB8) volatile __LCDSE3bits_t LCDSE3bits
;
4604 #define _SEGEN24 0x01
4606 #define _SEGEN25 0x02
4608 #define _SEGEN26 0x04
4610 #define _SEGEN27 0x08
4612 #define _SEGEN28 0x10
4614 #define _SEGEN29 0x20
4616 #define _SEGEN30 0x40
4618 #define _SEGEN31 0x80
4620 //==============================================================================
4623 //==============================================================================
4626 extern __at(0x0FB9) __sfr LCDSE4
;
4644 unsigned SEGEN32
: 1;
4645 unsigned SEGEN33
: 1;
4646 unsigned SEGEN34
: 1;
4647 unsigned SEGEN35
: 1;
4648 unsigned SEGEN36
: 1;
4649 unsigned SEGEN37
: 1;
4650 unsigned SEGEN38
: 1;
4651 unsigned SEGEN39
: 1;
4655 extern __at(0x0FB9) volatile __LCDSE4bits_t LCDSE4bits
;
4658 #define _SEGEN32 0x01
4660 #define _SEGEN33 0x02
4662 #define _SEGEN34 0x04
4664 #define _SEGEN35 0x08
4666 #define _SEGEN36 0x10
4668 #define _SEGEN37 0x20
4670 #define _SEGEN38 0x40
4672 #define _SEGEN39 0x80
4674 //==============================================================================
4677 //==============================================================================
4680 extern __at(0x0FBA) __sfr LCDSE5
;
4698 unsigned SEGEN40
: 1;
4699 unsigned SEGEN41
: 1;
4700 unsigned SEGEN42
: 1;
4701 unsigned SEGEN43
: 1;
4702 unsigned SEGEN44
: 1;
4703 unsigned SEGEN45
: 1;
4704 unsigned SEGEN46
: 1;
4705 unsigned SEGEN47
: 1;
4709 extern __at(0x0FBA) volatile __LCDSE5bits_t LCDSE5bits
;
4712 #define _SEGEN40 0x01
4714 #define _SEGEN41 0x02
4716 #define _SEGEN42 0x04
4718 #define _SEGEN43 0x08
4720 #define _SEGEN44 0x10
4722 #define _SEGEN45 0x20
4724 #define _SEGEN46 0x40
4726 #define _SEGEN47 0x80
4728 //==============================================================================
4731 //==============================================================================
4734 extern __at(0x0FBB) __sfr LCDDATA0
;
4752 unsigned SEG0COM0
: 1;
4753 unsigned SEG1COM0
: 1;
4754 unsigned SEG2COM0
: 1;
4755 unsigned SEG3COM0
: 1;
4756 unsigned SEG4COM0
: 1;
4757 unsigned SEG5COM0
: 1;
4758 unsigned SEG6COM0
: 1;
4759 unsigned SEG7COM0
: 1;
4775 extern __at(0x0FBB) volatile __LCDDATA0bits_t LCDDATA0bits
;
4778 #define _SEG0COM0 0x01
4781 #define _SEG1COM0 0x02
4784 #define _SEG2COM0 0x04
4787 #define _SEG3COM0 0x08
4790 #define _SEG4COM0 0x10
4793 #define _SEG5COM0 0x20
4796 #define _SEG6COM0 0x40
4799 #define _SEG7COM0 0x80
4802 //==============================================================================
4805 //==============================================================================
4808 extern __at(0x0FBC) __sfr LCDDATA1
;
4826 unsigned SEG8COM0
: 1;
4827 unsigned SEG9COM0
: 1;
4828 unsigned SEG10COM0
: 1;
4829 unsigned SEG11COM0
: 1;
4830 unsigned SEG12COM0
: 1;
4831 unsigned SEG13COM0
: 1;
4832 unsigned SEG14COM0
: 1;
4833 unsigned SEG15COM0
: 1;
4849 extern __at(0x0FBC) volatile __LCDDATA1bits_t LCDDATA1bits
;
4852 #define _SEG8COM0 0x01
4855 #define _SEG9COM0 0x02
4858 #define _SEG10COM0 0x04
4860 #define _SEG11COM0 0x08
4862 #define _SEG12COM0 0x10
4864 #define _SEG13COM0 0x20
4866 #define _SEG14COM0 0x40
4868 #define _SEG15COM0 0x80
4870 //==============================================================================
4873 //==============================================================================
4876 extern __at(0x0FBD) __sfr LCDDATA2
;
4894 unsigned SEG16COM0
: 1;
4895 unsigned SEG17COM0
: 1;
4896 unsigned SEG18COM0
: 1;
4897 unsigned SEG19COM0
: 1;
4898 unsigned SEG20COM0
: 1;
4899 unsigned SEG21COM0
: 1;
4900 unsigned SEG22COM0
: 1;
4901 unsigned SEG23COM0
: 1;
4905 extern __at(0x0FBD) volatile __LCDDATA2bits_t LCDDATA2bits
;
4908 #define _SEG16COM0 0x01
4910 #define _SEG17COM0 0x02
4912 #define _SEG18COM0 0x04
4914 #define _SEG19COM0 0x08
4916 #define _SEG20COM0 0x10
4918 #define _SEG21COM0 0x20
4920 #define _SEG22COM0 0x40
4922 #define _SEG23COM0 0x80
4924 //==============================================================================
4927 //==============================================================================
4930 extern __at(0x0FBE) __sfr LCDDATA3
;
4948 unsigned SEG24COM0
: 1;
4949 unsigned SEG25COM0
: 1;
4950 unsigned SEG26COM0
: 1;
4951 unsigned SEG27COM0
: 1;
4952 unsigned SEG28COM0
: 1;
4953 unsigned SEG29COM0
: 1;
4954 unsigned SEG30COM0
: 1;
4955 unsigned SEG31COM0
: 1;
4959 extern __at(0x0FBE) volatile __LCDDATA3bits_t LCDDATA3bits
;
4962 #define _SEG24COM0 0x01
4964 #define _SEG25COM0 0x02
4966 #define _SEG26COM0 0x04
4968 #define _SEG27COM0 0x08
4970 #define _SEG28COM0 0x10
4972 #define _SEG29COM0 0x20
4974 #define _SEG30COM0 0x40
4976 #define _SEG31COM0 0x80
4978 //==============================================================================
4981 //==============================================================================
4984 extern __at(0x0FBF) __sfr LCDDATA4
;
5002 unsigned SEG32COM0
: 1;
5003 unsigned SEG33COM0
: 1;
5004 unsigned SEG34COM0
: 1;
5005 unsigned SEG35COM0
: 1;
5006 unsigned SEG36COM0
: 1;
5007 unsigned SEG37COM0
: 1;
5008 unsigned SEG38COM0
: 1;
5009 unsigned SEG39COM0
: 1;
5013 extern __at(0x0FBF) volatile __LCDDATA4bits_t LCDDATA4bits
;
5016 #define _SEG32COM0 0x01
5018 #define _SEG33COM0 0x02
5020 #define _SEG34COM0 0x04
5022 #define _SEG35COM0 0x08
5024 #define _SEG36COM0 0x10
5026 #define _SEG37COM0 0x20
5028 #define _SEG38COM0 0x40
5030 #define _SEG39COM0 0x80
5032 //==============================================================================
5035 //==============================================================================
5038 extern __at(0x0FC0) __sfr ADCON2
;
5068 extern __at(0x0FC0) volatile __ADCON2bits_t ADCON2bits
;
5078 //==============================================================================
5081 //==============================================================================
5084 extern __at(0x0FC1) __sfr ADCON1
;
5097 unsigned TRIGSEL
: 1;
5114 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits
;
5122 #define _TRIGSEL 0x80
5124 //==============================================================================
5127 //==============================================================================
5130 extern __at(0x0FC2) __sfr ADCON0
;
5137 unsigned GO_NOT_DONE
: 1;
5149 unsigned GO_DONE
: 1;
5185 unsigned NOT_DONE
: 1;
5202 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits
;
5205 #define _GO_NOT_DONE 0x02
5206 #define _GO_DONE 0x02
5209 #define _NOT_DONE 0x02
5216 //==============================================================================
5218 extern __at(0x0FC3) __sfr ADRES
;
5219 extern __at(0x0FC3) __sfr ADRESL
;
5220 extern __at(0x0FC4) __sfr ADRESH
;
5222 //==============================================================================
5225 extern __at(0x0FC5) __sfr SSP1CON2
;
5237 unsigned ACKSTAT
: 1;
5244 unsigned ADMSK1
: 1;
5245 unsigned ADMSK2
: 1;
5246 unsigned ADMSK3
: 1;
5247 unsigned ADMSK4
: 1;
5248 unsigned ADMSK5
: 1;
5254 extern __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits
;
5258 #define _ADMSK1 0x02
5260 #define _ADMSK2 0x04
5262 #define _ADMSK3 0x08
5264 #define _ADMSK4 0x10
5266 #define _ADMSK5 0x20
5267 #define _ACKSTAT 0x40
5270 //==============================================================================
5273 //==============================================================================
5276 extern __at(0x0FC5) __sfr SSPCON2
;
5288 unsigned ACKSTAT
: 1;
5295 unsigned ADMSK1
: 1;
5296 unsigned ADMSK2
: 1;
5297 unsigned ADMSK3
: 1;
5298 unsigned ADMSK4
: 1;
5299 unsigned ADMSK5
: 1;
5305 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits
;
5307 #define _SSPCON2_SEN 0x01
5308 #define _SSPCON2_RSEN 0x02
5309 #define _SSPCON2_ADMSK1 0x02
5310 #define _SSPCON2_PEN 0x04
5311 #define _SSPCON2_ADMSK2 0x04
5312 #define _SSPCON2_RCEN 0x08
5313 #define _SSPCON2_ADMSK3 0x08
5314 #define _SSPCON2_ACKEN 0x10
5315 #define _SSPCON2_ADMSK4 0x10
5316 #define _SSPCON2_ACKDT 0x20
5317 #define _SSPCON2_ADMSK5 0x20
5318 #define _SSPCON2_ACKSTAT 0x40
5319 #define _SSPCON2_GCEN 0x80
5321 //==============================================================================
5324 //==============================================================================
5327 extern __at(0x0FC6) __sfr SSP1CON1
;
5350 extern __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits
;
5361 //==============================================================================
5364 //==============================================================================
5367 extern __at(0x0FC6) __sfr SSPCON1
;
5390 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits
;
5392 #define _SSPCON1_SSPM0 0x01
5393 #define _SSPCON1_SSPM1 0x02
5394 #define _SSPCON1_SSPM2 0x04
5395 #define _SSPCON1_SSPM3 0x08
5396 #define _SSPCON1_CKP 0x10
5397 #define _SSPCON1_SSPEN 0x20
5398 #define _SSPCON1_SSPOV 0x40
5399 #define _SSPCON1_WCOL 0x80
5401 //==============================================================================
5404 //==============================================================================
5407 extern __at(0x0FC7) __sfr SSP1STAT
;
5415 unsigned R_NOT_W
: 1;
5418 unsigned D_NOT_A
: 1;
5428 unsigned I2C_START
: 1;
5429 unsigned I2C_STOP
: 1;
5463 unsigned NOT_WRITE
: 1;
5466 unsigned NOT_ADDRESS
: 1;
5475 unsigned READ_WRITE
: 1;
5478 unsigned DATA_ADDRESS
: 1;
5487 unsigned I2C_READ
: 1;
5490 unsigned I2C_DAT
: 1;
5496 extern __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits
;
5500 #define _R_NOT_W 0x04
5504 #define _NOT_WRITE 0x04
5505 #define _READ_WRITE 0x04
5506 #define _I2C_READ 0x04
5508 #define _I2C_START 0x08
5510 #define _I2C_STOP 0x10
5511 #define _D_NOT_A 0x20
5515 #define _NOT_ADDRESS 0x20
5516 #define _DATA_ADDRESS 0x20
5517 #define _I2C_DAT 0x20
5521 //==============================================================================
5524 //==============================================================================
5527 extern __at(0x0FC7) __sfr SSPSTAT
;
5535 unsigned R_NOT_W
: 1;
5538 unsigned D_NOT_A
: 1;
5548 unsigned I2C_START
: 1;
5549 unsigned I2C_STOP
: 1;
5583 unsigned NOT_WRITE
: 1;
5586 unsigned NOT_ADDRESS
: 1;
5595 unsigned READ_WRITE
: 1;
5598 unsigned DATA_ADDRESS
: 1;
5607 unsigned I2C_READ
: 1;
5610 unsigned I2C_DAT
: 1;
5616 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits
;
5618 #define _SSPSTAT_BF 0x01
5619 #define _SSPSTAT_UA 0x02
5620 #define _SSPSTAT_R_NOT_W 0x04
5621 #define _SSPSTAT_R 0x04
5622 #define _SSPSTAT_R_W 0x04
5623 #define _SSPSTAT_NOT_W 0x04
5624 #define _SSPSTAT_NOT_WRITE 0x04
5625 #define _SSPSTAT_READ_WRITE 0x04
5626 #define _SSPSTAT_I2C_READ 0x04
5627 #define _SSPSTAT_S 0x08
5628 #define _SSPSTAT_I2C_START 0x08
5629 #define _SSPSTAT_P 0x10
5630 #define _SSPSTAT_I2C_STOP 0x10
5631 #define _SSPSTAT_D_NOT_A 0x20
5632 #define _SSPSTAT_D 0x20
5633 #define _SSPSTAT_D_A 0x20
5634 #define _SSPSTAT_NOT_A 0x20
5635 #define _SSPSTAT_NOT_ADDRESS 0x20
5636 #define _SSPSTAT_DATA_ADDRESS 0x20
5637 #define _SSPSTAT_I2C_DAT 0x20
5638 #define _SSPSTAT_CKE 0x40
5639 #define _SSPSTAT_SMP 0x80
5641 //==============================================================================
5644 //==============================================================================
5647 extern __at(0x0FC8) __sfr SSP1ADD
;
5661 extern __at(0x0FC8) volatile __SSP1ADDbits_t SSP1ADDbits
;
5672 //==============================================================================
5675 //==============================================================================
5678 extern __at(0x0FC8) __sfr SSPADD
;
5692 extern __at(0x0FC8) volatile __SSPADDbits_t SSPADDbits
;
5694 #define _SSPADD_MSK0 0x01
5695 #define _SSPADD_MSK1 0x02
5696 #define _SSPADD_MSK2 0x04
5697 #define _SSPADD_MSK3 0x08
5698 #define _SSPADD_MSK4 0x10
5699 #define _SSPADD_MSK5 0x20
5700 #define _SSPADD_MSK6 0x40
5701 #define _SSPADD_MSK7 0x80
5703 //==============================================================================
5705 extern __at(0x0FC9) __sfr SSP1BUF
;
5706 extern __at(0x0FC9) __sfr SSPBUF
;
5708 //==============================================================================
5711 extern __at(0x0FCA) __sfr T2CON
;
5717 unsigned T2CKPS0
: 1;
5718 unsigned T2CKPS1
: 1;
5719 unsigned TMR2ON
: 1;
5720 unsigned T2OUTPS0
: 1;
5721 unsigned T2OUTPS1
: 1;
5722 unsigned T2OUTPS2
: 1;
5723 unsigned T2OUTPS3
: 1;
5729 unsigned T2CKPS
: 2;
5736 unsigned T2OUTPS
: 4;
5741 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits
;
5743 #define _T2CKPS0 0x01
5744 #define _T2CKPS1 0x02
5745 #define _TMR2ON 0x04
5746 #define _T2OUTPS0 0x08
5747 #define _T2OUTPS1 0x10
5748 #define _T2OUTPS2 0x20
5749 #define _T2OUTPS3 0x40
5751 //==============================================================================
5753 extern __at(0x0FCB) __sfr PR2
;
5754 extern __at(0x0FCC) __sfr TMR2
;
5756 //==============================================================================
5759 extern __at(0x0FCD) __sfr T1CON
;
5765 unsigned TMR1ON
: 1;
5766 unsigned TMR1CS
: 1;
5767 unsigned NOT_T1SYNC
: 1;
5768 unsigned T1OSCEN
: 1;
5769 unsigned T1CKPS0
: 1;
5770 unsigned T1CKPS1
: 1;
5779 unsigned T1INSYNC
: 1;
5791 unsigned T1SYNC
: 1;
5802 unsigned T1CKPS
: 2;
5807 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits
;
5809 #define _TMR1ON 0x01
5810 #define _TMR1CS 0x02
5811 #define _NOT_T1SYNC 0x04
5812 #define _T1INSYNC 0x04
5813 #define _T1SYNC 0x04
5814 #define _T1OSCEN 0x08
5815 #define _T1CKPS0 0x10
5816 #define _T1CKPS1 0x20
5820 //==============================================================================
5822 extern __at(0x0FCE) __sfr TMR1
;
5823 extern __at(0x0FCE) __sfr TMR1L
;
5824 extern __at(0x0FCF) __sfr TMR1H
;
5826 //==============================================================================
5829 extern __at(0x0FD0) __sfr RCON
;
5835 unsigned NOT_BOR
: 1;
5836 unsigned NOT_POR
: 1;
5837 unsigned NOT_PD
: 1;
5838 unsigned NOT_TO
: 1;
5839 unsigned NOT_RI
: 1;
5840 unsigned NOT_CM
: 1;
5858 extern __at(0x0FD0) volatile __RCONbits_t RCONbits
;
5860 #define _NOT_BOR 0x01
5862 #define _NOT_POR 0x02
5864 #define _NOT_PD 0x04
5866 #define _NOT_TO 0x08
5868 #define _NOT_RI 0x10
5870 #define _NOT_CM 0x20
5874 //==============================================================================
5877 //==============================================================================
5880 extern __at(0x0FD1) __sfr WDTCON
;
5886 unsigned SWDTEN
: 1;
5893 unsigned REGSLP
: 1;
5909 extern __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits
;
5911 #define _SWDTEN 0x01
5913 #define _REGSLP 0x80
5915 //==============================================================================
5918 //==============================================================================
5921 extern __at(0x0FD2) __sfr LCDREG
;
5927 unsigned CKSEL0
: 1;
5928 unsigned CKSEL1
: 1;
5929 unsigned MODE13
: 1;
5951 extern __at(0x0FD2) volatile __LCDREGbits_t LCDREGbits
;
5953 #define _CKSEL0 0x01
5954 #define _CKSEL1 0x02
5955 #define _MODE13 0x04
5961 //==============================================================================
5964 //==============================================================================
5967 extern __at(0x0FD3) __sfr OSCCON
;
5997 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits
;
6008 //==============================================================================
6011 //==============================================================================
6014 extern __at(0x0FD5) __sfr T0CON
;
6026 unsigned T08BIT
: 1;
6027 unsigned TMR0ON
: 1;
6037 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits
;
6045 #define _T08BIT 0x40
6046 #define _TMR0ON 0x80
6048 //==============================================================================
6050 extern __at(0x0FD6) __sfr TMR0
;
6051 extern __at(0x0FD6) __sfr TMR0L
;
6052 extern __at(0x0FD7) __sfr TMR0H
;
6054 //==============================================================================
6057 extern __at(0x0FD8) __sfr STATUS
;
6071 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits
;
6079 //==============================================================================
6081 extern __at(0x0FD9) __sfr FSR2L
;
6082 extern __at(0x0FDA) __sfr FSR2H
;
6083 extern __at(0x0FDB) __sfr PLUSW2
;
6084 extern __at(0x0FDC) __sfr PREINC2
;
6085 extern __at(0x0FDD) __sfr POSTDEC2
;
6086 extern __at(0x0FDE) __sfr POSTINC2
;
6087 extern __at(0x0FDF) __sfr INDF2
;
6088 extern __at(0x0FE0) __sfr BSR
;
6089 extern __at(0x0FE1) __sfr FSR1L
;
6090 extern __at(0x0FE2) __sfr FSR1H
;
6091 extern __at(0x0FE3) __sfr PLUSW1
;
6092 extern __at(0x0FE4) __sfr PREINC1
;
6093 extern __at(0x0FE5) __sfr POSTDEC1
;
6094 extern __at(0x0FE6) __sfr POSTINC1
;
6095 extern __at(0x0FE7) __sfr INDF1
;
6096 extern __at(0x0FE8) __sfr WREG
;
6097 extern __at(0x0FE9) __sfr FSR0L
;
6098 extern __at(0x0FEA) __sfr FSR0H
;
6099 extern __at(0x0FEB) __sfr PLUSW0
;
6100 extern __at(0x0FEC) __sfr PREINC0
;
6101 extern __at(0x0FED) __sfr POSTDEC0
;
6102 extern __at(0x0FEE) __sfr POSTINC0
;
6103 extern __at(0x0FEF) __sfr INDF0
;
6105 //==============================================================================
6108 extern __at(0x0FF0) __sfr INTCON3
;
6114 unsigned INT1IF
: 1;
6115 unsigned INT2IF
: 1;
6116 unsigned INT3IF
: 1;
6117 unsigned INT1IE
: 1;
6118 unsigned INT2IE
: 1;
6119 unsigned INT3IE
: 1;
6120 unsigned INT1IP
: 1;
6121 unsigned INT2IP
: 1;
6137 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits
;
6139 #define _INT1IF 0x01
6141 #define _INT2IF 0x02
6143 #define _INT3IF 0x04
6145 #define _INT1IE 0x08
6147 #define _INT2IE 0x10
6149 #define _INT3IE 0x20
6151 #define _INT1IP 0x40
6153 #define _INT2IP 0x80
6156 //==============================================================================
6159 //==============================================================================
6162 extern __at(0x0FF1) __sfr INTCON2
;
6169 unsigned INT3IP
: 1;
6170 unsigned TMR0IP
: 1;
6171 unsigned INTEDG3
: 1;
6172 unsigned INTEDG2
: 1;
6173 unsigned INTEDG1
: 1;
6174 unsigned INTEDG0
: 1;
6175 unsigned NOT_RBPU
: 1;
6191 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits
;
6194 #define _INT3IP 0x02
6196 #define _TMR0IP 0x04
6198 #define _INTEDG3 0x08
6199 #define _INTEDG2 0x10
6200 #define _INTEDG1 0x20
6201 #define _INTEDG0 0x40
6202 #define _NOT_RBPU 0x80
6205 //==============================================================================
6208 //==============================================================================
6211 extern __at(0x0FF2) __sfr INTCON
;
6218 unsigned INT0IF
: 1;
6219 unsigned TMR0IF
: 1;
6221 unsigned INT0IE
: 1;
6222 unsigned TMR0IE
: 1;
6223 unsigned PEIE_GIEL
: 1;
6224 unsigned GIE_GIEH
: 1;
6252 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits
;
6255 #define _INT0IF 0x02
6257 #define _TMR0IF 0x04
6260 #define _INT0IE 0x10
6262 #define _TMR0IE 0x20
6264 #define _PEIE_GIEL 0x40
6267 #define _GIE_GIEH 0x80
6271 //==============================================================================
6273 extern __at(0x0FF3) __sfr PROD
;
6274 extern __at(0x0FF3) __sfr PRODL
;
6275 extern __at(0x0FF4) __sfr PRODH
;
6276 extern __at(0x0FF5) __sfr TABLAT
;
6277 extern __at(0x0FF6) __sfr TBLPTR
;
6278 extern __at(0x0FF6) __sfr TBLPTRL
;
6279 extern __at(0x0FF7) __sfr TBLPTRH
;
6280 extern __at(0x0FF8) __sfr TBLPTRU
;
6281 extern __at(0x0FF9) __sfr PC
;
6282 extern __at(0x0FF9) __sfr PCL
;
6283 extern __at(0x0FFA) __sfr PCLATH
;
6284 extern __at(0x0FFB) __sfr PCLATU
;
6286 //==============================================================================
6289 extern __at(0x0FFC) __sfr STKPTR
;
6301 unsigned STKUNF
: 1;
6302 unsigned STKFUL
: 1;
6307 unsigned STKPTR0
: 1;
6308 unsigned STKPTR1
: 1;
6309 unsigned STKPTR2
: 1;
6310 unsigned STKPTR3
: 1;
6311 unsigned STKPTR4
: 1;
6314 unsigned STKOVF
: 1;
6319 unsigned STKPTR
: 5;
6330 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits
;
6333 #define _STKPTR0 0x01
6335 #define _STKPTR1 0x02
6337 #define _STKPTR2 0x04
6339 #define _STKPTR3 0x08
6341 #define _STKPTR4 0x10
6342 #define _STKUNF 0x40
6343 #define _STKFUL 0x80
6344 #define _STKOVF 0x80
6346 //==============================================================================
6348 extern __at(0x0FFD) __sfr TOS
;
6349 extern __at(0x0FFD) __sfr TOSL
;
6350 extern __at(0x0FFE) __sfr TOSH
;
6351 extern __at(0x0FFF) __sfr TOSU
;
6353 //==============================================================================
6355 // Configuration Addresses
6357 //==============================================================================
6359 #define __CONFIG1L 0x00FFF8
6360 #define __CONFIG1H 0x00FFF9
6361 #define __CONFIG2L 0x00FFFA
6362 #define __CONFIG2H 0x00FFFB
6363 #define __CONFIG3L 0x00FFFC
6364 #define __CONFIG3H 0x00FFFD
6365 #define __CONFIG4L 0x00FFFE
6366 #define __CONFIG4H 0x00FFFF
6368 //==============================================================================
6370 #endif // #ifndef __PIC18F86J93_H__