2 * This declarations of the PIC18F8493 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:51 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 __PIC18F8493_H__
26 #define __PIC18F8493_H__
28 //==============================================================================
30 //==============================================================================
32 // Register Definitions
34 //==============================================================================
37 //==============================================================================
40 extern __at(0x0F58) __sfr LCDPS
;
81 extern __at(0x0F58) volatile __LCDPSbits_t LCDPSbits
;
96 //==============================================================================
99 //==============================================================================
102 extern __at(0x0F59) __sfr LCDCON
;
125 unsigned LCDWERR
: 1;
126 unsigned LCDSLPEN
: 1;
151 extern __at(0x0F59) volatile __LCDCONbits_t LCDCONbits
;
160 #define _LCDWERR 0x20
162 #define _LCDSLPEN 0x40
165 //==============================================================================
168 //==============================================================================
171 extern __at(0x0F5A) __sfr LCDSE0
;
200 extern __at(0x0F5A) volatile __LCDSE0bits_t LCDSE0bits
;
219 //==============================================================================
222 //==============================================================================
225 extern __at(0x0F5B) __sfr LCDSE1
;
245 unsigned SEGEN10
: 1;
246 unsigned SEGEN11
: 1;
247 unsigned SEGEN12
: 1;
248 unsigned SEGEN13
: 1;
249 unsigned SEGEN14
: 1;
250 unsigned SEGEN15
: 1;
254 extern __at(0x0F5B) volatile __LCDSE1bits_t LCDSE1bits
;
261 #define _SEGEN10 0x04
263 #define _SEGEN11 0x08
265 #define _SEGEN12 0x10
267 #define _SEGEN13 0x20
269 #define _SEGEN14 0x40
271 #define _SEGEN15 0x80
273 //==============================================================================
276 //==============================================================================
279 extern __at(0x0F5C) __sfr LCDSE2
;
297 unsigned SEGEN16
: 1;
298 unsigned SEGEN17
: 1;
299 unsigned SEGEN18
: 1;
300 unsigned SEGEN19
: 1;
301 unsigned SEGEN20
: 1;
302 unsigned SEGEN21
: 1;
303 unsigned SEGEN22
: 1;
304 unsigned SEGEN23
: 1;
308 extern __at(0x0F5C) volatile __LCDSE2bits_t LCDSE2bits
;
311 #define _SEGEN16 0x01
313 #define _SEGEN17 0x02
315 #define _SEGEN18 0x04
317 #define _SEGEN19 0x08
319 #define _SEGEN20 0x10
321 #define _SEGEN21 0x20
323 #define _SEGEN22 0x40
325 #define _SEGEN23 0x80
327 //==============================================================================
330 //==============================================================================
333 extern __at(0x0F5D) __sfr LCDSE3
;
351 unsigned SEGEN24
: 1;
352 unsigned SEGEN25
: 1;
353 unsigned SEGEN26
: 1;
354 unsigned SEGEN27
: 1;
355 unsigned SEGEN28
: 1;
356 unsigned SEGEN29
: 1;
357 unsigned SEGEN30
: 1;
358 unsigned SEGEN31
: 1;
362 extern __at(0x0F5D) volatile __LCDSE3bits_t LCDSE3bits
;
365 #define _SEGEN24 0x01
367 #define _SEGEN25 0x02
369 #define _SEGEN26 0x04
371 #define _SEGEN27 0x08
373 #define _SEGEN28 0x10
375 #define _SEGEN29 0x20
377 #define _SEGEN30 0x40
379 #define _SEGEN31 0x80
381 //==============================================================================
384 //==============================================================================
387 extern __at(0x0F5E) __sfr LCDSE4
;
405 unsigned SEGEN32
: 1;
406 unsigned SEGEN33
: 1;
407 unsigned SEGEN34
: 1;
408 unsigned SEGEN35
: 1;
409 unsigned SEGEN36
: 1;
410 unsigned SEGEN37
: 1;
411 unsigned SEGEN38
: 1;
412 unsigned SEGEN39
: 1;
416 extern __at(0x0F5E) volatile __LCDSE4bits_t LCDSE4bits
;
419 #define _SEGEN32 0x01
421 #define _SEGEN33 0x02
423 #define _SEGEN34 0x04
425 #define _SEGEN35 0x08
427 #define _SEGEN36 0x10
429 #define _SEGEN37 0x20
431 #define _SEGEN38 0x40
433 #define _SEGEN39 0x80
435 //==============================================================================
438 //==============================================================================
441 extern __at(0x0F5F) __sfr LCDSE5
;
459 unsigned SEGEN40
: 1;
460 unsigned SEGEN41
: 1;
461 unsigned SEGEN42
: 1;
462 unsigned SEGEN43
: 1;
463 unsigned SEGEN44
: 1;
464 unsigned SEGEN45
: 1;
465 unsigned SEGEN46
: 1;
466 unsigned SEGEN47
: 1;
470 extern __at(0x0F5F) volatile __LCDSE5bits_t LCDSE5bits
;
473 #define _SEGEN40 0x01
475 #define _SEGEN41 0x02
477 #define _SEGEN42 0x04
479 #define _SEGEN43 0x08
481 #define _SEGEN44 0x10
483 #define _SEGEN45 0x20
485 #define _SEGEN46 0x40
487 #define _SEGEN47 0x80
489 //==============================================================================
492 //==============================================================================
495 extern __at(0x0F60) __sfr LCDDATA0
;
513 unsigned SEG0COM0
: 1;
514 unsigned SEG1COM0
: 1;
515 unsigned SEG2COM0
: 1;
516 unsigned SEG3COM0
: 1;
517 unsigned SEG4COM0
: 1;
518 unsigned SEG5COM0
: 1;
519 unsigned SEG6COM0
: 1;
520 unsigned SEG7COM0
: 1;
536 extern __at(0x0F60) volatile __LCDDATA0bits_t LCDDATA0bits
;
539 #define _SEG0COM0 0x01
542 #define _SEG1COM0 0x02
545 #define _SEG2COM0 0x04
548 #define _SEG3COM0 0x08
551 #define _SEG4COM0 0x10
554 #define _SEG5COM0 0x20
557 #define _SEG6COM0 0x40
560 #define _SEG7COM0 0x80
563 //==============================================================================
566 //==============================================================================
569 extern __at(0x0F61) __sfr LCDDATA1
;
587 unsigned SEG8COM0
: 1;
588 unsigned SEG9COM0
: 1;
589 unsigned SEG10COM0
: 1;
590 unsigned SEG11COM0
: 1;
591 unsigned SEG12COM0
: 1;
592 unsigned SEG13COM0
: 1;
593 unsigned SEG14COM0
: 1;
594 unsigned SEG15COM0
: 1;
610 extern __at(0x0F61) volatile __LCDDATA1bits_t LCDDATA1bits
;
613 #define _SEG8COM0 0x01
616 #define _SEG9COM0 0x02
619 #define _SEG10COM0 0x04
621 #define _SEG11COM0 0x08
623 #define _SEG12COM0 0x10
625 #define _SEG13COM0 0x20
627 #define _SEG14COM0 0x40
629 #define _SEG15COM0 0x80
631 //==============================================================================
634 //==============================================================================
637 extern __at(0x0F62) __sfr LCDDATA2
;
655 unsigned SEG16COM0
: 1;
656 unsigned SEG17COM0
: 1;
657 unsigned SEG18COM0
: 1;
658 unsigned SEG19COM0
: 1;
659 unsigned SEG20COM0
: 1;
660 unsigned SEG21COM0
: 1;
661 unsigned SEG22COM0
: 1;
662 unsigned SEG23COM0
: 1;
666 extern __at(0x0F62) volatile __LCDDATA2bits_t LCDDATA2bits
;
669 #define _SEG16COM0 0x01
671 #define _SEG17COM0 0x02
673 #define _SEG18COM0 0x04
675 #define _SEG19COM0 0x08
677 #define _SEG20COM0 0x10
679 #define _SEG21COM0 0x20
681 #define _SEG22COM0 0x40
683 #define _SEG23COM0 0x80
685 //==============================================================================
688 //==============================================================================
691 extern __at(0x0F63) __sfr LCDDATA3
;
709 unsigned SEG24COM0
: 1;
710 unsigned SEG25COM0
: 1;
711 unsigned SEG26COM0
: 1;
712 unsigned SEG27COM0
: 1;
713 unsigned SEG28COM0
: 1;
714 unsigned SEG29COM0
: 1;
715 unsigned SEG30COM0
: 1;
716 unsigned SEG31COM0
: 1;
720 extern __at(0x0F63) volatile __LCDDATA3bits_t LCDDATA3bits
;
723 #define _SEG24COM0 0x01
725 #define _SEG25COM0 0x02
727 #define _SEG26COM0 0x04
729 #define _SEG27COM0 0x08
731 #define _SEG28COM0 0x10
733 #define _SEG29COM0 0x20
735 #define _SEG30COM0 0x40
737 #define _SEG31COM0 0x80
739 //==============================================================================
742 //==============================================================================
745 extern __at(0x0F64) __sfr LCDDATA4
;
763 unsigned SEG32COM0
: 1;
764 unsigned SEG33COM0
: 1;
765 unsigned SEG34COM0
: 1;
766 unsigned SEG35COM0
: 1;
767 unsigned SEG36COM0
: 1;
768 unsigned SEG37COM0
: 1;
769 unsigned SEG38COM0
: 1;
770 unsigned SEG39COM0
: 1;
774 extern __at(0x0F64) volatile __LCDDATA4bits_t LCDDATA4bits
;
777 #define _SEG32COM0 0x01
779 #define _SEG33COM0 0x02
781 #define _SEG34COM0 0x04
783 #define _SEG35COM0 0x08
785 #define _SEG36COM0 0x10
787 #define _SEG37COM0 0x20
789 #define _SEG38COM0 0x40
791 #define _SEG39COM0 0x80
793 //==============================================================================
796 //==============================================================================
799 extern __at(0x0F65) __sfr LCDDATA5
;
817 unsigned SEG40COM0
: 1;
818 unsigned SEG41COM0
: 1;
819 unsigned SEG42COM0
: 1;
820 unsigned SEG43COM0
: 1;
821 unsigned SEG44COM0
: 1;
822 unsigned SEG45COM0
: 1;
823 unsigned SEG46COM0
: 1;
824 unsigned SEG47COM0
: 1;
828 extern __at(0x0F65) volatile __LCDDATA5bits_t LCDDATA5bits
;
831 #define _SEG40COM0 0x01
833 #define _SEG41COM0 0x02
835 #define _SEG42COM0 0x04
837 #define _SEG43COM0 0x08
839 #define _SEG44COM0 0x10
841 #define _SEG45COM0 0x20
843 #define _SEG46COM0 0x40
845 #define _SEG47COM0 0x80
847 //==============================================================================
850 //==============================================================================
853 extern __at(0x0F66) __sfr LCDDATA6
;
871 unsigned SEG0COM1
: 1;
872 unsigned SEG1COM1
: 1;
873 unsigned SEG2COM1
: 1;
874 unsigned SEG3COM1
: 1;
875 unsigned SEG4COM1
: 1;
876 unsigned SEG5COM1
: 1;
877 unsigned SEG6COM1
: 1;
878 unsigned SEG7COM1
: 1;
894 extern __at(0x0F66) volatile __LCDDATA6bits_t LCDDATA6bits
;
897 #define _SEG0COM1 0x01
900 #define _SEG1COM1 0x02
903 #define _SEG2COM1 0x04
906 #define _SEG3COM1 0x08
909 #define _SEG4COM1 0x10
912 #define _SEG5COM1 0x20
915 #define _SEG6COM1 0x40
918 #define _SEG7COM1 0x80
921 //==============================================================================
924 //==============================================================================
927 extern __at(0x0F67) __sfr LCDDATA7
;
945 unsigned SEG8COM1
: 1;
946 unsigned SEG9COM1
: 1;
947 unsigned SEG10COM1
: 1;
948 unsigned SEG11COM1
: 1;
949 unsigned SEG12COM1
: 1;
950 unsigned SEG13COM1
: 1;
951 unsigned SEG14COM1
: 1;
952 unsigned SEG15COM1
: 1;
968 extern __at(0x0F67) volatile __LCDDATA7bits_t LCDDATA7bits
;
971 #define _SEG8COM1 0x01
974 #define _SEG9COM1 0x02
977 #define _SEG10COM1 0x04
979 #define _SEG11COM1 0x08
981 #define _SEG12COM1 0x10
983 #define _SEG13COM1 0x20
985 #define _SEG14COM1 0x40
987 #define _SEG15COM1 0x80
989 //==============================================================================
992 //==============================================================================
995 extern __at(0x0F68) __sfr LCDDATA8
;
1013 unsigned SEG16COM1
: 1;
1014 unsigned SEG17COM1
: 1;
1015 unsigned SEG18COM1
: 1;
1016 unsigned SEG19COM1
: 1;
1017 unsigned SEG20COM1
: 1;
1018 unsigned SEG21COM1
: 1;
1019 unsigned SEG22COM1
: 1;
1020 unsigned SEG23COM1
: 1;
1024 extern __at(0x0F68) volatile __LCDDATA8bits_t LCDDATA8bits
;
1027 #define _SEG16COM1 0x01
1029 #define _SEG17COM1 0x02
1031 #define _SEG18COM1 0x04
1033 #define _SEG19COM1 0x08
1035 #define _SEG20COM1 0x10
1037 #define _SEG21COM1 0x20
1039 #define _SEG22COM1 0x40
1041 #define _SEG23COM1 0x80
1043 //==============================================================================
1046 //==============================================================================
1049 extern __at(0x0F69) __sfr LCDDATA9
;
1067 unsigned SEG24COM1
: 1;
1068 unsigned SEG25COM1
: 1;
1069 unsigned SEG26COM1
: 1;
1070 unsigned SEG27COM1
: 1;
1071 unsigned SEG28COM1
: 1;
1072 unsigned SEG29COM1
: 1;
1073 unsigned SEG30COM1
: 1;
1074 unsigned SEG31COM1
: 1;
1078 extern __at(0x0F69) volatile __LCDDATA9bits_t LCDDATA9bits
;
1081 #define _SEG24COM1 0x01
1083 #define _SEG25COM1 0x02
1085 #define _SEG26COM1 0x04
1087 #define _SEG27COM1 0x08
1089 #define _SEG28COM1 0x10
1091 #define _SEG29COM1 0x20
1093 #define _SEG30COM1 0x40
1095 #define _SEG31COM1 0x80
1097 //==============================================================================
1100 //==============================================================================
1103 extern __at(0x0F6A) __sfr LCDDATA10
;
1121 unsigned SEG32COM1
: 1;
1122 unsigned SEG33COM1
: 1;
1123 unsigned SEG34COM1
: 1;
1124 unsigned SEG35COM1
: 1;
1125 unsigned SEG36COM1
: 1;
1126 unsigned SEG37COM1
: 1;
1127 unsigned SEG38COM1
: 1;
1128 unsigned SEG39COM1
: 1;
1130 } __LCDDATA10bits_t
;
1132 extern __at(0x0F6A) volatile __LCDDATA10bits_t LCDDATA10bits
;
1135 #define _SEG32COM1 0x01
1137 #define _SEG33COM1 0x02
1139 #define _SEG34COM1 0x04
1141 #define _SEG35COM1 0x08
1143 #define _SEG36COM1 0x10
1145 #define _SEG37COM1 0x20
1147 #define _SEG38COM1 0x40
1149 #define _SEG39COM1 0x80
1151 //==============================================================================
1154 //==============================================================================
1157 extern __at(0x0F6B) __sfr RCSTA2
;
1190 unsigned ADDEN2
: 1;
1193 unsigned NOT_RC8
: 1;
1222 extern __at(0x0F6B) volatile __RCSTA2bits_t RCSTA2bits
;
1224 #define _RCSTA2_RX9D 0x01
1225 #define _RCSTA2_RCD8 0x01
1226 #define _RCSTA2_RX9D2 0x01
1227 #define _RCSTA2_OERR 0x02
1228 #define _RCSTA2_OERR2 0x02
1229 #define _RCSTA2_FERR 0x04
1230 #define _RCSTA2_FERR2 0x04
1231 #define _RCSTA2_ADDEN 0x08
1232 #define _RCSTA2_ADEN 0x08
1233 #define _RCSTA2_ADDEN2 0x08
1234 #define _RCSTA2_CREN 0x10
1235 #define _RCSTA2_CREN2 0x10
1236 #define _RCSTA2_SREN 0x20
1237 #define _RCSTA2_SREN2 0x20
1238 #define _RCSTA2_RX9 0x40
1239 #define _RCSTA2_RC9 0x40
1240 #define _RCSTA2_NOT_RC8 0x40
1241 #define _RCSTA2_RC8_9 0x40
1242 #define _RCSTA2_RX92 0x40
1243 #define _RCSTA2_SPEN 0x80
1244 #define _RCSTA2_SPEN2 0x80
1246 //==============================================================================
1249 //==============================================================================
1252 extern __at(0x0F6C) __sfr TXSTA2
;
1261 unsigned SENDB2
: 1;
1288 unsigned NOT_TX8
: 1;
1305 extern __at(0x0F6C) volatile __TXSTA2bits_t TXSTA2bits
;
1307 #define _TXSTA2_TX9D 0x01
1308 #define _TXSTA2_TXD8 0x01
1309 #define _TXSTA2_TX9D2 0x01
1310 #define _TXSTA2_TRMT 0x02
1311 #define _TXSTA2_TRMT2 0x02
1312 #define _TXSTA2_BRGH 0x04
1313 #define _TXSTA2_BRGH2 0x04
1314 #define _TXSTA2_SENDB2 0x08
1315 #define _TXSTA2_SYNC 0x10
1316 #define _TXSTA2_SYNC2 0x10
1317 #define _TXSTA2_TXEN 0x20
1318 #define _TXSTA2_TXEN2 0x20
1319 #define _TXSTA2_TX9 0x40
1320 #define _TXSTA2_TX8_9 0x40
1321 #define _TXSTA2_NOT_TX8 0x40
1322 #define _TXSTA2_TX92 0x40
1323 #define _TXSTA2_CSRC 0x80
1324 #define _TXSTA2_CSRC2 0x80
1326 //==============================================================================
1328 extern __at(0x0F6D) __sfr TXREG2
;
1329 extern __at(0x0F6E) __sfr RCREG2
;
1330 extern __at(0x0F6F) __sfr SPBRG2
;
1332 //==============================================================================
1335 extern __at(0x0F70) __sfr LCDDATA11
;
1353 unsigned SEG40COM1
: 1;
1354 unsigned SEG41COM1
: 1;
1355 unsigned SEG42COM1
: 1;
1356 unsigned SEG43COM1
: 1;
1357 unsigned SEG44COM1
: 1;
1358 unsigned SEG45COM1
: 1;
1359 unsigned SEG46COM1
: 1;
1360 unsigned SEG47COM1
: 1;
1362 } __LCDDATA11bits_t
;
1364 extern __at(0x0F70) volatile __LCDDATA11bits_t LCDDATA11bits
;
1367 #define _SEG40COM1 0x01
1369 #define _SEG41COM1 0x02
1371 #define _SEG42COM1 0x04
1373 #define _SEG43COM1 0x08
1375 #define _SEG44COM1 0x10
1377 #define _SEG45COM1 0x20
1379 #define _SEG46COM1 0x40
1381 #define _SEG47COM1 0x80
1383 //==============================================================================
1386 //==============================================================================
1389 extern __at(0x0F71) __sfr LCDDATA12
;
1407 unsigned SEG0COM2
: 1;
1408 unsigned SEG1COM2
: 1;
1409 unsigned SEG2COM2
: 1;
1410 unsigned SEG3COM2
: 1;
1411 unsigned SEG4COM2
: 1;
1412 unsigned SEG5COM2
: 1;
1413 unsigned SEG6COM2
: 1;
1414 unsigned SEG7COM2
: 1;
1428 } __LCDDATA12bits_t
;
1430 extern __at(0x0F71) volatile __LCDDATA12bits_t LCDDATA12bits
;
1433 #define _SEG0COM2 0x01
1436 #define _SEG1COM2 0x02
1439 #define _SEG2COM2 0x04
1442 #define _SEG3COM2 0x08
1445 #define _SEG4COM2 0x10
1448 #define _SEG5COM2 0x20
1451 #define _SEG6COM2 0x40
1454 #define _SEG7COM2 0x80
1457 //==============================================================================
1460 //==============================================================================
1463 extern __at(0x0F72) __sfr LCDDATA13
;
1481 unsigned SEG8COM2
: 1;
1482 unsigned SEG9COM2
: 1;
1483 unsigned SEG10COM2
: 1;
1484 unsigned SEG11COM2
: 1;
1485 unsigned SEG12COM2
: 1;
1486 unsigned SEG13COM2
: 1;
1487 unsigned SEG14COM2
: 1;
1488 unsigned SEG15COM2
: 1;
1502 } __LCDDATA13bits_t
;
1504 extern __at(0x0F72) volatile __LCDDATA13bits_t LCDDATA13bits
;
1507 #define _SEG8COM2 0x01
1510 #define _SEG9COM2 0x02
1513 #define _SEG10COM2 0x04
1515 #define _SEG11COM2 0x08
1517 #define _SEG12COM2 0x10
1519 #define _SEG13COM2 0x20
1521 #define _SEG14COM2 0x40
1523 #define _SEG15COM2 0x80
1525 //==============================================================================
1528 //==============================================================================
1531 extern __at(0x0F73) __sfr LCDDATA14
;
1549 unsigned SEG16COM2
: 1;
1550 unsigned SEG17COM2
: 1;
1551 unsigned SEG18COM2
: 1;
1552 unsigned SEG19COM2
: 1;
1553 unsigned SEG20COM2
: 1;
1554 unsigned SEG21COM2
: 1;
1555 unsigned SEG22COM2
: 1;
1556 unsigned SEG23COM2
: 1;
1558 } __LCDDATA14bits_t
;
1560 extern __at(0x0F73) volatile __LCDDATA14bits_t LCDDATA14bits
;
1563 #define _SEG16COM2 0x01
1565 #define _SEG17COM2 0x02
1567 #define _SEG18COM2 0x04
1569 #define _SEG19COM2 0x08
1571 #define _SEG20COM2 0x10
1573 #define _SEG21COM2 0x20
1575 #define _SEG22COM2 0x40
1577 #define _SEG23COM2 0x80
1579 //==============================================================================
1582 //==============================================================================
1585 extern __at(0x0F74) __sfr LCDDATA15
;
1603 unsigned SEG24COM2
: 1;
1604 unsigned SEG25COM2
: 1;
1605 unsigned SEG26COM2
: 1;
1606 unsigned SEG27COM2
: 1;
1607 unsigned SEG28COM2
: 1;
1608 unsigned SEG29COM2
: 1;
1609 unsigned SEG30COM2
: 1;
1610 unsigned SEG31COM2
: 1;
1612 } __LCDDATA15bits_t
;
1614 extern __at(0x0F74) volatile __LCDDATA15bits_t LCDDATA15bits
;
1617 #define _SEG24COM2 0x01
1619 #define _SEG25COM2 0x02
1621 #define _SEG26COM2 0x04
1623 #define _SEG27COM2 0x08
1625 #define _SEG28COM2 0x10
1627 #define _SEG29COM2 0x20
1629 #define _SEG30COM2 0x40
1631 #define _SEG31COM2 0x80
1633 //==============================================================================
1636 //==============================================================================
1639 extern __at(0x0F75) __sfr LCDDATA16
;
1657 unsigned SEG32COM2
: 1;
1658 unsigned SEG33COM2
: 1;
1659 unsigned SEG34COM2
: 1;
1660 unsigned SEG35COM2
: 1;
1661 unsigned SEG36COM2
: 1;
1662 unsigned SEG37COM2
: 1;
1663 unsigned SEG38COM2
: 1;
1664 unsigned SEG39COM2
: 1;
1666 } __LCDDATA16bits_t
;
1668 extern __at(0x0F75) volatile __LCDDATA16bits_t LCDDATA16bits
;
1671 #define _SEG32COM2 0x01
1673 #define _SEG33COM2 0x02
1675 #define _SEG34COM2 0x04
1677 #define _SEG35COM2 0x08
1679 #define _SEG36COM2 0x10
1681 #define _SEG37COM2 0x20
1683 #define _SEG38COM2 0x40
1685 #define _SEG39COM2 0x80
1687 //==============================================================================
1690 //==============================================================================
1693 extern __at(0x0F76) __sfr LCDDATA17
;
1711 unsigned SEG40COM2
: 1;
1712 unsigned SEG41COM2
: 1;
1713 unsigned SEG42COM2
: 1;
1714 unsigned SEG43COM2
: 1;
1715 unsigned SEG44COM2
: 1;
1716 unsigned SEG45COM2
: 1;
1717 unsigned SEG46COM2
: 1;
1718 unsigned SEG47COM2
: 1;
1720 } __LCDDATA17bits_t
;
1722 extern __at(0x0F76) volatile __LCDDATA17bits_t LCDDATA17bits
;
1725 #define _SEG40COM2 0x01
1727 #define _SEG41COM2 0x02
1729 #define _SEG42COM2 0x04
1731 #define _SEG43COM2 0x08
1733 #define _SEG44COM2 0x10
1735 #define _SEG45COM2 0x20
1737 #define _SEG46COM2 0x40
1739 #define _SEG47COM2 0x80
1741 //==============================================================================
1744 //==============================================================================
1747 extern __at(0x0F77) __sfr LCDDATA18
;
1765 unsigned SEG0COM3
: 1;
1766 unsigned SEG1COM3
: 1;
1767 unsigned SEG2COM3
: 1;
1768 unsigned SEG3COM3
: 1;
1769 unsigned SEG4COM3
: 1;
1770 unsigned SEG5COM3
: 1;
1771 unsigned SEG6COM3
: 1;
1772 unsigned SEG7COM3
: 1;
1786 } __LCDDATA18bits_t
;
1788 extern __at(0x0F77) volatile __LCDDATA18bits_t LCDDATA18bits
;
1791 #define _SEG0COM3 0x01
1794 #define _SEG1COM3 0x02
1797 #define _SEG2COM3 0x04
1800 #define _SEG3COM3 0x08
1803 #define _SEG4COM3 0x10
1806 #define _SEG5COM3 0x20
1809 #define _SEG6COM3 0x40
1812 #define _SEG7COM3 0x80
1815 //==============================================================================
1818 //==============================================================================
1821 extern __at(0x0F78) __sfr LCDDATA19
;
1839 unsigned SEG8COM3
: 1;
1840 unsigned SEG9COM3
: 1;
1841 unsigned SEG10COM3
: 1;
1842 unsigned SEG11COM3
: 1;
1843 unsigned SEG12COM3
: 1;
1844 unsigned SEG13COM3
: 1;
1845 unsigned SEG14COM3
: 1;
1846 unsigned SEG15COM3
: 1;
1860 } __LCDDATA19bits_t
;
1862 extern __at(0x0F78) volatile __LCDDATA19bits_t LCDDATA19bits
;
1865 #define _SEG8COM3 0x01
1868 #define _SEG9COM3 0x02
1871 #define _SEG10COM3 0x04
1873 #define _SEG11COM3 0x08
1875 #define _SEG12COM3 0x10
1877 #define _SEG13COM3 0x20
1879 #define _SEG14COM3 0x40
1881 #define _SEG15COM3 0x80
1883 //==============================================================================
1886 //==============================================================================
1889 extern __at(0x0F79) __sfr LCDDATA20
;
1907 unsigned SEG16COM3
: 1;
1908 unsigned SEG17COM3
: 1;
1909 unsigned SEG18COM3
: 1;
1910 unsigned SEG19COM3
: 1;
1911 unsigned SEG20COM3
: 1;
1912 unsigned SEG21COM3
: 1;
1913 unsigned SEG22COM3
: 1;
1914 unsigned SEG23COM3
: 1;
1916 } __LCDDATA20bits_t
;
1918 extern __at(0x0F79) volatile __LCDDATA20bits_t LCDDATA20bits
;
1921 #define _SEG16COM3 0x01
1923 #define _SEG17COM3 0x02
1925 #define _SEG18COM3 0x04
1927 #define _SEG19COM3 0x08
1929 #define _SEG20COM3 0x10
1931 #define _SEG21COM3 0x20
1933 #define _SEG22COM3 0x40
1935 #define _SEG23COM3 0x80
1937 //==============================================================================
1940 //==============================================================================
1943 extern __at(0x0F7A) __sfr LCDDATA21
;
1961 unsigned SEG24COM3
: 1;
1962 unsigned SEG25COM3
: 1;
1963 unsigned SEG26COM3
: 1;
1964 unsigned SEG27COM3
: 1;
1965 unsigned SEG28COM3
: 1;
1966 unsigned SEG29COM3
: 1;
1967 unsigned SEG30COM3
: 1;
1968 unsigned SEG31COM3
: 1;
1970 } __LCDDATA21bits_t
;
1972 extern __at(0x0F7A) volatile __LCDDATA21bits_t LCDDATA21bits
;
1975 #define _SEG24COM3 0x01
1977 #define _SEG25COM3 0x02
1979 #define _SEG26COM3 0x04
1981 #define _SEG27COM3 0x08
1983 #define _SEG28COM3 0x10
1985 #define _SEG29COM3 0x20
1987 #define _SEG30COM3 0x40
1989 #define _SEG31COM3 0x80
1991 //==============================================================================
1994 //==============================================================================
1997 extern __at(0x0F7B) __sfr LCDDATA22
;
2015 unsigned SEG32COM3
: 1;
2016 unsigned SEG33COM3
: 1;
2017 unsigned SEG34COM3
: 1;
2018 unsigned SEG35COM3
: 1;
2019 unsigned SEG36COM3
: 1;
2020 unsigned SEG37COM3
: 1;
2021 unsigned SEG38COM3
: 1;
2022 unsigned SEG39COM3
: 1;
2024 } __LCDDATA22bits_t
;
2026 extern __at(0x0F7B) volatile __LCDDATA22bits_t LCDDATA22bits
;
2029 #define _SEG32COM3 0x01
2031 #define _SEG33COM3 0x02
2033 #define _SEG34COM3 0x04
2035 #define _SEG35COM3 0x08
2037 #define _SEG36COM3 0x10
2039 #define _SEG37COM3 0x20
2041 #define _SEG38COM3 0x40
2043 #define _SEG39COM3 0x80
2045 //==============================================================================
2048 //==============================================================================
2051 extern __at(0x0F7C) __sfr LCDDATA23
;
2069 unsigned SEG40COM3
: 1;
2070 unsigned SEG41COM3
: 1;
2071 unsigned SEG42COM3
: 1;
2072 unsigned SEG43COM3
: 1;
2073 unsigned SEG44COM3
: 1;
2074 unsigned SEG45COM3
: 1;
2075 unsigned SEG46COM3
: 1;
2076 unsigned SEG47COM3
: 1;
2078 } __LCDDATA23bits_t
;
2080 extern __at(0x0F7C) volatile __LCDDATA23bits_t LCDDATA23bits
;
2083 #define _SEG40COM3 0x01
2085 #define _SEG41COM3 0x02
2087 #define _SEG42COM3 0x04
2089 #define _SEG43COM3 0x08
2091 #define _SEG44COM3 0x10
2093 #define _SEG45COM3 0x20
2095 #define _SEG46COM3 0x40
2097 #define _SEG47COM3 0x80
2099 //==============================================================================
2102 //==============================================================================
2105 extern __at(0x0F7E) __sfr BAUDCON1
;
2118 unsigned ABDOVF
: 1;
2134 extern __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits
;
2142 #define _ABDOVF 0x80
2144 //==============================================================================
2147 //==============================================================================
2150 extern __at(0x0F7E) __sfr BAUDCTL1
;
2163 unsigned ABDOVF
: 1;
2179 extern __at(0x0F7E) volatile __BAUDCTL1bits_t BAUDCTL1bits
;
2181 #define _BAUDCTL1_ABDEN 0x01
2182 #define _BAUDCTL1_WUE 0x02
2183 #define _BAUDCTL1_BRG16 0x08
2184 #define _BAUDCTL1_SCKP 0x10
2185 #define _BAUDCTL1_RCIDL 0x40
2186 #define _BAUDCTL1_RCMT 0x40
2187 #define _BAUDCTL1_ABDOVF 0x80
2189 //==============================================================================
2191 extern __at(0x0F7F) __sfr SPBRGH1
;
2193 //==============================================================================
2196 extern __at(0x0F80) __sfr PORTA
;
2249 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits
;
2251 #define _PORTA_RA0 0x01
2252 #define _PORTA_AN0 0x01
2253 #define _PORTA_RA1 0x02
2254 #define _PORTA_AN1 0x02
2255 #define _PORTA_RA2 0x04
2256 #define _PORTA_AN2 0x04
2257 #define _PORTA_VREFM 0x04
2258 #define _PORTA_SEG16 0x04
2259 #define _PORTA_RA3 0x08
2260 #define _PORTA_AN3 0x08
2261 #define _PORTA_VREFP 0x08
2262 #define _PORTA_SEG17 0x08
2263 #define _PORTA_RA4 0x10
2264 #define _PORTA_T0CKI 0x10
2265 #define _PORTA_SEG14 0x10
2266 #define _PORTA_RA5 0x20
2267 #define _PORTA_AN4 0x20
2268 #define _PORTA_LVDIN 0x20
2269 #define _PORTA_SEG15 0x20
2270 #define _PORTA_RA6 0x40
2271 #define _PORTA_OSC2 0x40
2272 #define _PORTA_CLKO 0x40
2273 #define _PORTA_RA7 0x80
2274 #define _PORTA_OSC1 0x80
2275 #define _PORTA_CLKI 0x80
2277 //==============================================================================
2280 //==============================================================================
2283 extern __at(0x0F81) __sfr PORTB
;
2348 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits
;
2350 #define _PORTB_RB0 0x01
2351 #define _PORTB_INT0 0x01
2352 #define _PORTB_RB1 0x02
2353 #define _PORTB_INT1 0x02
2354 #define _PORTB_SEG8 0x02
2355 #define _PORTB_RB2 0x04
2356 #define _PORTB_INT2 0x04
2357 #define _PORTB_SEG9 0x04
2358 #define _PORTB_RB3 0x08
2359 #define _PORTB_INT3 0x08
2360 #define _PORTB_SEG10 0x08
2361 #define _PORTB_CCP2B 0x08
2362 #define _PORTB_RB4 0x10
2363 #define _PORTB_KBI0 0x10
2364 #define _PORTB_SEG11 0x10
2365 #define _PORTB_RB5 0x20
2366 #define _PORTB_KBI1 0x20
2367 #define _PORTB_PGM 0x20
2368 #define _PORTB_RB6 0x40
2369 #define _PORTB_KBI2 0x40
2370 #define _PORTB_PGC 0x40
2371 #define _PORTB_RB7 0x80
2372 #define _PORTB_KBI3 0x80
2373 #define _PORTB_PGD 0x80
2375 //==============================================================================
2378 //==============================================================================
2381 extern __at(0x0F82) __sfr PORTC
;
2411 unsigned T13CKI
: 1;
2434 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits
;
2436 #define _PORTC_RC0 0x01
2437 #define _PORTC_T1OSO 0x01
2438 #define _PORTC_T13CKI 0x01
2439 #define _PORTC_RC1 0x02
2440 #define _PORTC_T1OSI 0x02
2441 #define _PORTC_CCP2C 0x02
2442 #define _PORTC_RC2 0x04
2443 #define _PORTC_CCP1 0x04
2444 #define _PORTC_SEG13 0x04
2445 #define _PORTC_RC3 0x08
2446 #define _PORTC_SCK 0x08
2447 #define _PORTC_SCL 0x08
2448 #define _PORTC_SEG12 0x08
2449 #define _PORTC_RC4 0x10
2450 #define _PORTC_SDI 0x10
2451 #define _PORTC_SDA 0x10
2452 #define _PORTC_RC5 0x20
2453 #define _PORTC_SDO 0x20
2454 #define _PORTC_RC6 0x40
2455 #define _PORTC_TX 0x40
2456 #define _PORTC_CK 0x40
2457 #define _PORTC_RC7 0x80
2458 #define _PORTC_RX 0x80
2460 //==============================================================================
2463 //==============================================================================
2466 extern __at(0x0F83) __sfr PORTD
;
2495 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits
;
2497 #define _PORTD_RD0 0x01
2498 #define _PORTD_SEG0 0x01
2499 #define _PORTD_RD1 0x02
2500 #define _PORTD_SEG1 0x02
2501 #define _PORTD_RD2 0x04
2502 #define _PORTD_SEG2 0x04
2503 #define _PORTD_RD3 0x08
2504 #define _PORTD_SEG3 0x08
2505 #define _PORTD_RD4 0x10
2506 #define _PORTD_SEG4 0x10
2507 #define _PORTD_RD5 0x20
2508 #define _PORTD_SEG5 0x20
2509 #define _PORTD_RD6 0x40
2510 #define _PORTD_SEG6 0x40
2511 #define _PORTD_RD7 0x80
2512 #define _PORTD_SEG7 0x80
2514 //==============================================================================
2517 //==============================================================================
2520 extern __at(0x0F84) __sfr PORTE
;
2526 unsigned LCDBIAS1
: 1;
2527 unsigned LCDBIAS2
: 1;
2528 unsigned LCDBIAS3
: 1;
2568 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits
;
2570 #define _PORTE_LCDBIAS1 0x01
2571 #define _PORTE_BIAS1 0x01
2572 #define _PORTE_LCDBIAS2 0x02
2573 #define _PORTE_BIAS2 0x02
2574 #define _PORTE_LCDBIAS3 0x04
2575 #define _PORTE_BIAS3 0x04
2576 #define _PORTE_COM0 0x08
2577 #define _PORTE_RE4 0x10
2578 #define _PORTE_COM1 0x10
2579 #define _PORTE_RE5 0x20
2580 #define _PORTE_COM2 0x20
2581 #define _PORTE_RE6 0x40
2582 #define _PORTE_COM3 0x40
2583 #define _PORTE_RE7 0x80
2584 #define _PORTE_SEG31 0x80
2585 #define _PORTE_CCP2E 0x80
2587 //==============================================================================
2590 //==============================================================================
2593 extern __at(0x0F85) __sfr PORTF
;
2636 unsigned C2OUTF
: 1;
2637 unsigned C1OUTF
: 1;
2640 unsigned CVREFF
: 1;
2646 extern __at(0x0F85) volatile __PORTFbits_t PORTFbits
;
2648 #define _PORTF_RF0 0x01
2649 #define _PORTF_AN5 0x01
2650 #define _PORTF_SEG18 0x01
2651 #define _PORTF_RF1 0x02
2652 #define _PORTF_AN6 0x02
2653 #define _PORTF_SEG19 0x02
2654 #define _PORTF_C2OUTF 0x02
2655 #define _PORTF_RF2 0x04
2656 #define _PORTF_AN7 0x04
2657 #define _PORTF_SEG20 0x04
2658 #define _PORTF_C1OUTF 0x04
2659 #define _PORTF_RF3 0x08
2660 #define _PORTF_AN8 0x08
2661 #define _PORTF_SEG21 0x08
2662 #define _PORTF_RF4 0x10
2663 #define _PORTF_AN9 0x10
2664 #define _PORTF_SEG22 0x10
2665 #define _PORTF_RF5 0x20
2666 #define _PORTF_AN10 0x20
2667 #define _PORTF_SEG23 0x20
2668 #define _PORTF_CVREFF 0x20
2669 #define _PORTF_RF6 0x40
2670 #define _PORTF_AN11 0x40
2671 #define _PORTF_SEG24 0x40
2672 #define _PORTF_RF7 0x80
2673 #define _PORTF_SS 0x80
2674 #define _PORTF_SEG25 0x80
2676 //==============================================================================
2679 //==============================================================================
2682 extern __at(0x0F86) __sfr PORTG
;
2741 extern __at(0x0F86) volatile __PORTGbits_t PORTGbits
;
2743 #define _PORTG_RG0 0x01
2744 #define _PORTG_SEG30 0x01
2745 #define _PORTG_RG1 0x02
2746 #define _PORTG_TX2 0x02
2747 #define _PORTG_CK2 0x02
2748 #define _PORTG_SEG29 0x02
2749 #define _PORTG_RG2 0x04
2750 #define _PORTG_RX2 0x04
2751 #define _PORTG_DT2 0x04
2752 #define _PORTG_SEG28 0x04
2753 #define _PORTG_RG3 0x08
2754 #define _PORTG_SEG27 0x08
2755 #define _PORTG_RG4 0x10
2756 #define _PORTG_SEG26 0x10
2757 #define _PORTG_RG5 0x20
2758 #define _PORTG_MCLR 0x20
2759 #define _PORTG_VPP 0x20
2761 //==============================================================================
2764 //==============================================================================
2767 extern __at(0x0F87) __sfr PORTH
;
2796 extern __at(0x0F87) volatile __PORTHbits_t PORTHbits
;
2798 #define _PORTH_RH0 0x01
2799 #define _PORTH_SEG47 0x01
2800 #define _PORTH_RH1 0x02
2801 #define _PORTH_SEG46 0x02
2802 #define _PORTH_RH2 0x04
2803 #define _PORTH_SEG45 0x04
2804 #define _PORTH_RH3 0x08
2805 #define _PORTH_SEG44 0x08
2806 #define _PORTH_RH4 0x10
2807 #define _PORTH_SEG40 0x10
2808 #define _PORTH_RH5 0x20
2809 #define _PORTH_SEG41 0x20
2810 #define _PORTH_RH6 0x40
2811 #define _PORTH_SEG42 0x40
2812 #define _PORTH_RH7 0x80
2813 #define _PORTH_SEG43 0x80
2815 //==============================================================================
2818 //==============================================================================
2821 extern __at(0x0F88) __sfr PORTJ
;
2850 extern __at(0x0F88) volatile __PORTJbits_t PORTJbits
;
2852 #define _PORTJ_RJ0 0x01
2853 #define _PORTJ_SEG32 0x01
2854 #define _PORTJ_RJ1 0x02
2855 #define _PORTJ_SEG33 0x02
2856 #define _PORTJ_RJ2 0x04
2857 #define _PORTJ_SEG34 0x04
2858 #define _PORTJ_RJ3 0x08
2859 #define _PORTJ_SEG35 0x08
2860 #define _PORTJ_RJ4 0x10
2861 #define _PORTJ_SEG39 0x10
2862 #define _PORTJ_RJ5 0x20
2863 #define _PORTJ_SEG38 0x20
2864 #define _PORTJ_RJ6 0x40
2865 #define _PORTJ_SEG37 0x40
2866 #define _PORTJ_RJ7 0x80
2867 #define _PORTJ_SEG36 0x80
2869 //==============================================================================
2872 //==============================================================================
2875 extern __at(0x0F89) __sfr LATA
;
2889 extern __at(0x0F89) volatile __LATAbits_t LATAbits
;
2900 //==============================================================================
2903 //==============================================================================
2906 extern __at(0x0F8A) __sfr LATB
;
2920 extern __at(0x0F8A) volatile __LATBbits_t LATBbits
;
2931 //==============================================================================
2934 //==============================================================================
2937 extern __at(0x0F8B) __sfr LATC
;
2951 extern __at(0x0F8B) volatile __LATCbits_t LATCbits
;
2962 //==============================================================================
2965 //==============================================================================
2968 extern __at(0x0F8C) __sfr LATD
;
2982 extern __at(0x0F8C) volatile __LATDbits_t LATDbits
;
2993 //==============================================================================
2996 //==============================================================================
2999 extern __at(0x0F8D) __sfr LATE
;
3013 extern __at(0x0F8D) volatile __LATEbits_t LATEbits
;
3020 //==============================================================================
3023 //==============================================================================
3026 extern __at(0x0F8E) __sfr LATF
;
3040 extern __at(0x0F8E) volatile __LATFbits_t LATFbits
;
3051 //==============================================================================
3054 //==============================================================================
3057 extern __at(0x0F8F) __sfr LATG
;
3080 extern __at(0x0F8F) volatile __LATGbits_t LATGbits
;
3088 //==============================================================================
3091 //==============================================================================
3094 extern __at(0x0F90) __sfr LATH
;
3108 extern __at(0x0F90) volatile __LATHbits_t LATHbits
;
3119 //==============================================================================
3122 //==============================================================================
3125 extern __at(0x0F91) __sfr LATJ
;
3139 extern __at(0x0F91) volatile __LATJbits_t LATJbits
;
3150 //==============================================================================
3153 //==============================================================================
3156 extern __at(0x0F92) __sfr DDRA
;
3162 unsigned TRISA0
: 1;
3163 unsigned TRISA1
: 1;
3164 unsigned TRISA2
: 1;
3165 unsigned TRISA3
: 1;
3166 unsigned TRISA4
: 1;
3167 unsigned TRISA5
: 1;
3168 unsigned TRISA6
: 1;
3169 unsigned TRISA7
: 1;
3185 extern __at(0x0F92) volatile __DDRAbits_t DDRAbits
;
3187 #define _TRISA0 0x01
3189 #define _TRISA1 0x02
3191 #define _TRISA2 0x04
3193 #define _TRISA3 0x08
3195 #define _TRISA4 0x10
3197 #define _TRISA5 0x20
3199 #define _TRISA6 0x40
3201 #define _TRISA7 0x80
3204 //==============================================================================
3207 //==============================================================================
3210 extern __at(0x0F92) __sfr TRISA
;
3216 unsigned TRISA0
: 1;
3217 unsigned TRISA1
: 1;
3218 unsigned TRISA2
: 1;
3219 unsigned TRISA3
: 1;
3220 unsigned TRISA4
: 1;
3221 unsigned TRISA5
: 1;
3222 unsigned TRISA6
: 1;
3223 unsigned TRISA7
: 1;
3239 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits
;
3241 #define _TRISA_TRISA0 0x01
3242 #define _TRISA_RA0 0x01
3243 #define _TRISA_TRISA1 0x02
3244 #define _TRISA_RA1 0x02
3245 #define _TRISA_TRISA2 0x04
3246 #define _TRISA_RA2 0x04
3247 #define _TRISA_TRISA3 0x08
3248 #define _TRISA_RA3 0x08
3249 #define _TRISA_TRISA4 0x10
3250 #define _TRISA_RA4 0x10
3251 #define _TRISA_TRISA5 0x20
3252 #define _TRISA_RA5 0x20
3253 #define _TRISA_TRISA6 0x40
3254 #define _TRISA_RA6 0x40
3255 #define _TRISA_TRISA7 0x80
3256 #define _TRISA_RA7 0x80
3258 //==============================================================================
3261 //==============================================================================
3264 extern __at(0x0F93) __sfr DDRB
;
3270 unsigned TRISB0
: 1;
3271 unsigned TRISB1
: 1;
3272 unsigned TRISB2
: 1;
3273 unsigned TRISB3
: 1;
3274 unsigned TRISB4
: 1;
3275 unsigned TRISB5
: 1;
3276 unsigned TRISB6
: 1;
3277 unsigned TRISB7
: 1;
3293 extern __at(0x0F93) volatile __DDRBbits_t DDRBbits
;
3295 #define _TRISB0 0x01
3297 #define _TRISB1 0x02
3299 #define _TRISB2 0x04
3301 #define _TRISB3 0x08
3303 #define _TRISB4 0x10
3305 #define _TRISB5 0x20
3307 #define _TRISB6 0x40
3309 #define _TRISB7 0x80
3312 //==============================================================================
3315 //==============================================================================
3318 extern __at(0x0F93) __sfr TRISB
;
3324 unsigned TRISB0
: 1;
3325 unsigned TRISB1
: 1;
3326 unsigned TRISB2
: 1;
3327 unsigned TRISB3
: 1;
3328 unsigned TRISB4
: 1;
3329 unsigned TRISB5
: 1;
3330 unsigned TRISB6
: 1;
3331 unsigned TRISB7
: 1;
3347 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits
;
3349 #define _TRISB_TRISB0 0x01
3350 #define _TRISB_RB0 0x01
3351 #define _TRISB_TRISB1 0x02
3352 #define _TRISB_RB1 0x02
3353 #define _TRISB_TRISB2 0x04
3354 #define _TRISB_RB2 0x04
3355 #define _TRISB_TRISB3 0x08
3356 #define _TRISB_RB3 0x08
3357 #define _TRISB_TRISB4 0x10
3358 #define _TRISB_RB4 0x10
3359 #define _TRISB_TRISB5 0x20
3360 #define _TRISB_RB5 0x20
3361 #define _TRISB_TRISB6 0x40
3362 #define _TRISB_RB6 0x40
3363 #define _TRISB_TRISB7 0x80
3364 #define _TRISB_RB7 0x80
3366 //==============================================================================
3369 //==============================================================================
3372 extern __at(0x0F94) __sfr DDRC
;
3378 unsigned TRISC0
: 1;
3379 unsigned TRISC1
: 1;
3380 unsigned TRISC2
: 1;
3381 unsigned TRISC3
: 1;
3382 unsigned TRISC4
: 1;
3383 unsigned TRISC5
: 1;
3384 unsigned TRISC6
: 1;
3385 unsigned TRISC7
: 1;
3401 extern __at(0x0F94) volatile __DDRCbits_t DDRCbits
;
3403 #define _TRISC0 0x01
3405 #define _TRISC1 0x02
3407 #define _TRISC2 0x04
3409 #define _TRISC3 0x08
3411 #define _TRISC4 0x10
3413 #define _TRISC5 0x20
3415 #define _TRISC6 0x40
3417 #define _TRISC7 0x80
3420 //==============================================================================
3423 //==============================================================================
3426 extern __at(0x0F94) __sfr TRISC
;
3432 unsigned TRISC0
: 1;
3433 unsigned TRISC1
: 1;
3434 unsigned TRISC2
: 1;
3435 unsigned TRISC3
: 1;
3436 unsigned TRISC4
: 1;
3437 unsigned TRISC5
: 1;
3438 unsigned TRISC6
: 1;
3439 unsigned TRISC7
: 1;
3455 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits
;
3457 #define _TRISC_TRISC0 0x01
3458 #define _TRISC_RC0 0x01
3459 #define _TRISC_TRISC1 0x02
3460 #define _TRISC_RC1 0x02
3461 #define _TRISC_TRISC2 0x04
3462 #define _TRISC_RC2 0x04
3463 #define _TRISC_TRISC3 0x08
3464 #define _TRISC_RC3 0x08
3465 #define _TRISC_TRISC4 0x10
3466 #define _TRISC_RC4 0x10
3467 #define _TRISC_TRISC5 0x20
3468 #define _TRISC_RC5 0x20
3469 #define _TRISC_TRISC6 0x40
3470 #define _TRISC_RC6 0x40
3471 #define _TRISC_TRISC7 0x80
3472 #define _TRISC_RC7 0x80
3474 //==============================================================================
3477 //==============================================================================
3480 extern __at(0x0F95) __sfr DDRD
;
3486 unsigned TRISD0
: 1;
3487 unsigned TRISD1
: 1;
3488 unsigned TRISD2
: 1;
3489 unsigned TRISD3
: 1;
3490 unsigned TRISD4
: 1;
3491 unsigned TRISD5
: 1;
3492 unsigned TRISD6
: 1;
3493 unsigned TRISD7
: 1;
3509 extern __at(0x0F95) volatile __DDRDbits_t DDRDbits
;
3511 #define _TRISD0 0x01
3513 #define _TRISD1 0x02
3515 #define _TRISD2 0x04
3517 #define _TRISD3 0x08
3519 #define _TRISD4 0x10
3521 #define _TRISD5 0x20
3523 #define _TRISD6 0x40
3525 #define _TRISD7 0x80
3528 //==============================================================================
3531 //==============================================================================
3534 extern __at(0x0F95) __sfr TRISD
;
3540 unsigned TRISD0
: 1;
3541 unsigned TRISD1
: 1;
3542 unsigned TRISD2
: 1;
3543 unsigned TRISD3
: 1;
3544 unsigned TRISD4
: 1;
3545 unsigned TRISD5
: 1;
3546 unsigned TRISD6
: 1;
3547 unsigned TRISD7
: 1;
3563 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits
;
3565 #define _TRISD_TRISD0 0x01
3566 #define _TRISD_RD0 0x01
3567 #define _TRISD_TRISD1 0x02
3568 #define _TRISD_RD1 0x02
3569 #define _TRISD_TRISD2 0x04
3570 #define _TRISD_RD2 0x04
3571 #define _TRISD_TRISD3 0x08
3572 #define _TRISD_RD3 0x08
3573 #define _TRISD_TRISD4 0x10
3574 #define _TRISD_RD4 0x10
3575 #define _TRISD_TRISD5 0x20
3576 #define _TRISD_RD5 0x20
3577 #define _TRISD_TRISD6 0x40
3578 #define _TRISD_RD6 0x40
3579 #define _TRISD_TRISD7 0x80
3580 #define _TRISD_RD7 0x80
3582 //==============================================================================
3585 //==============================================================================
3588 extern __at(0x0F96) __sfr DDRE
;
3598 unsigned TRISE4
: 1;
3599 unsigned TRISE5
: 1;
3600 unsigned TRISE6
: 1;
3601 unsigned TRISE7
: 1;
3617 extern __at(0x0F96) volatile __DDREbits_t DDREbits
;
3619 #define _TRISE4 0x10
3621 #define _TRISE5 0x20
3623 #define _TRISE6 0x40
3625 #define _TRISE7 0x80
3628 //==============================================================================
3631 //==============================================================================
3634 extern __at(0x0F96) __sfr TRISE
;
3644 unsigned TRISE4
: 1;
3645 unsigned TRISE5
: 1;
3646 unsigned TRISE6
: 1;
3647 unsigned TRISE7
: 1;
3663 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits
;
3665 #define _TRISE_TRISE4 0x10
3666 #define _TRISE_RE4 0x10
3667 #define _TRISE_TRISE5 0x20
3668 #define _TRISE_RE5 0x20
3669 #define _TRISE_TRISE6 0x40
3670 #define _TRISE_RE6 0x40
3671 #define _TRISE_TRISE7 0x80
3672 #define _TRISE_RE7 0x80
3674 //==============================================================================
3677 //==============================================================================
3680 extern __at(0x0F97) __sfr DDRF
;
3686 unsigned TRISF0
: 1;
3687 unsigned TRISF1
: 1;
3688 unsigned TRISF2
: 1;
3689 unsigned TRISF3
: 1;
3690 unsigned TRISF4
: 1;
3691 unsigned TRISF5
: 1;
3692 unsigned TRISF6
: 1;
3693 unsigned TRISF7
: 1;
3709 extern __at(0x0F97) volatile __DDRFbits_t DDRFbits
;
3711 #define _TRISF0 0x01
3713 #define _TRISF1 0x02
3715 #define _TRISF2 0x04
3717 #define _TRISF3 0x08
3719 #define _TRISF4 0x10
3721 #define _TRISF5 0x20
3723 #define _TRISF6 0x40
3725 #define _TRISF7 0x80
3728 //==============================================================================
3731 //==============================================================================
3734 extern __at(0x0F97) __sfr TRISF
;
3740 unsigned TRISF0
: 1;
3741 unsigned TRISF1
: 1;
3742 unsigned TRISF2
: 1;
3743 unsigned TRISF3
: 1;
3744 unsigned TRISF4
: 1;
3745 unsigned TRISF5
: 1;
3746 unsigned TRISF6
: 1;
3747 unsigned TRISF7
: 1;
3763 extern __at(0x0F97) volatile __TRISFbits_t TRISFbits
;
3765 #define _TRISF_TRISF0 0x01
3766 #define _TRISF_RF0 0x01
3767 #define _TRISF_TRISF1 0x02
3768 #define _TRISF_RF1 0x02
3769 #define _TRISF_TRISF2 0x04
3770 #define _TRISF_RF2 0x04
3771 #define _TRISF_TRISF3 0x08
3772 #define _TRISF_RF3 0x08
3773 #define _TRISF_TRISF4 0x10
3774 #define _TRISF_RF4 0x10
3775 #define _TRISF_TRISF5 0x20
3776 #define _TRISF_RF5 0x20
3777 #define _TRISF_TRISF6 0x40
3778 #define _TRISF_RF6 0x40
3779 #define _TRISF_TRISF7 0x80
3780 #define _TRISF_RF7 0x80
3782 //==============================================================================
3785 //==============================================================================
3788 extern __at(0x0F98) __sfr DDRG
;
3794 unsigned TRISG0
: 1;
3795 unsigned TRISG1
: 1;
3796 unsigned TRISG2
: 1;
3797 unsigned TRISG3
: 1;
3798 unsigned TRISG4
: 1;
3829 extern __at(0x0F98) volatile __DDRGbits_t DDRGbits
;
3831 #define _TRISG0 0x01
3833 #define _TRISG1 0x02
3835 #define _TRISG2 0x04
3837 #define _TRISG3 0x08
3839 #define _TRISG4 0x10
3842 //==============================================================================
3845 //==============================================================================
3848 extern __at(0x0F98) __sfr TRISG
;
3854 unsigned TRISG0
: 1;
3855 unsigned TRISG1
: 1;
3856 unsigned TRISG2
: 1;
3857 unsigned TRISG3
: 1;
3858 unsigned TRISG4
: 1;
3889 extern __at(0x0F98) volatile __TRISGbits_t TRISGbits
;
3891 #define _TRISG_TRISG0 0x01
3892 #define _TRISG_RG0 0x01
3893 #define _TRISG_TRISG1 0x02
3894 #define _TRISG_RG1 0x02
3895 #define _TRISG_TRISG2 0x04
3896 #define _TRISG_RG2 0x04
3897 #define _TRISG_TRISG3 0x08
3898 #define _TRISG_RG3 0x08
3899 #define _TRISG_TRISG4 0x10
3900 #define _TRISG_RG4 0x10
3902 //==============================================================================
3905 //==============================================================================
3908 extern __at(0x0F99) __sfr DDRH
;
3914 unsigned TRISH0
: 1;
3915 unsigned TRISH1
: 1;
3916 unsigned TRISH2
: 1;
3917 unsigned TRISH3
: 1;
3918 unsigned TRISH4
: 1;
3919 unsigned TRISH5
: 1;
3920 unsigned TRISH6
: 1;
3921 unsigned TRISH7
: 1;
3937 extern __at(0x0F99) volatile __DDRHbits_t DDRHbits
;
3939 #define _TRISH0 0x01
3941 #define _TRISH1 0x02
3943 #define _TRISH2 0x04
3945 #define _TRISH3 0x08
3947 #define _TRISH4 0x10
3949 #define _TRISH5 0x20
3951 #define _TRISH6 0x40
3953 #define _TRISH7 0x80
3956 //==============================================================================
3959 //==============================================================================
3962 extern __at(0x0F99) __sfr TRISH
;
3968 unsigned TRISH0
: 1;
3969 unsigned TRISH1
: 1;
3970 unsigned TRISH2
: 1;
3971 unsigned TRISH3
: 1;
3972 unsigned TRISH4
: 1;
3973 unsigned TRISH5
: 1;
3974 unsigned TRISH6
: 1;
3975 unsigned TRISH7
: 1;
3991 extern __at(0x0F99) volatile __TRISHbits_t TRISHbits
;
3993 #define _TRISH_TRISH0 0x01
3994 #define _TRISH_RH0 0x01
3995 #define _TRISH_TRISH1 0x02
3996 #define _TRISH_RH1 0x02
3997 #define _TRISH_TRISH2 0x04
3998 #define _TRISH_RH2 0x04
3999 #define _TRISH_TRISH3 0x08
4000 #define _TRISH_RH3 0x08
4001 #define _TRISH_TRISH4 0x10
4002 #define _TRISH_RH4 0x10
4003 #define _TRISH_TRISH5 0x20
4004 #define _TRISH_RH5 0x20
4005 #define _TRISH_TRISH6 0x40
4006 #define _TRISH_RH6 0x40
4007 #define _TRISH_TRISH7 0x80
4008 #define _TRISH_RH7 0x80
4010 //==============================================================================
4013 //==============================================================================
4016 extern __at(0x0F9A) __sfr DDRJ
;
4022 unsigned TRISJ0
: 1;
4023 unsigned TRISJ1
: 1;
4024 unsigned TRISJ2
: 1;
4025 unsigned TRISJ3
: 1;
4026 unsigned TRISJ4
: 1;
4027 unsigned TRISJ5
: 1;
4028 unsigned TRISJ6
: 1;
4029 unsigned TRISJ7
: 1;
4045 extern __at(0x0F9A) volatile __DDRJbits_t DDRJbits
;
4047 #define _TRISJ0 0x01
4049 #define _TRISJ1 0x02
4051 #define _TRISJ2 0x04
4053 #define _TRISJ3 0x08
4055 #define _TRISJ4 0x10
4057 #define _TRISJ5 0x20
4059 #define _TRISJ6 0x40
4061 #define _TRISJ7 0x80
4064 //==============================================================================
4067 //==============================================================================
4070 extern __at(0x0F9A) __sfr TRISJ
;
4076 unsigned TRISJ0
: 1;
4077 unsigned TRISJ1
: 1;
4078 unsigned TRISJ2
: 1;
4079 unsigned TRISJ3
: 1;
4080 unsigned TRISJ4
: 1;
4081 unsigned TRISJ5
: 1;
4082 unsigned TRISJ6
: 1;
4083 unsigned TRISJ7
: 1;
4099 extern __at(0x0F9A) volatile __TRISJbits_t TRISJbits
;
4101 #define _TRISJ_TRISJ0 0x01
4102 #define _TRISJ_RJ0 0x01
4103 #define _TRISJ_TRISJ1 0x02
4104 #define _TRISJ_RJ1 0x02
4105 #define _TRISJ_TRISJ2 0x04
4106 #define _TRISJ_RJ2 0x04
4107 #define _TRISJ_TRISJ3 0x08
4108 #define _TRISJ_RJ3 0x08
4109 #define _TRISJ_TRISJ4 0x10
4110 #define _TRISJ_RJ4 0x10
4111 #define _TRISJ_TRISJ5 0x20
4112 #define _TRISJ_RJ5 0x20
4113 #define _TRISJ_TRISJ6 0x40
4114 #define _TRISJ_RJ6 0x40
4115 #define _TRISJ_TRISJ7 0x80
4116 #define _TRISJ_RJ7 0x80
4118 //==============================================================================
4121 //==============================================================================
4124 extern __at(0x0F9B) __sfr OSCTUNE
;
4137 unsigned INTSRC
: 1;
4147 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits
;
4155 #define _INTSRC 0x80
4157 //==============================================================================
4160 //==============================================================================
4163 extern __at(0x0F9C) __sfr MEMCON
;
4177 extern __at(0x0F9C) volatile __MEMCONbits_t MEMCONbits
;
4181 //==============================================================================
4184 //==============================================================================
4187 extern __at(0x0F9D) __sfr PIE1
;
4193 unsigned TMR1IE
: 1;
4194 unsigned TMR2IE
: 1;
4195 unsigned CCP1IE
: 1;
4216 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits
;
4218 #define _TMR1IE 0x01
4219 #define _TMR2IE 0x02
4220 #define _CCP1IE 0x04
4228 //==============================================================================
4231 //==============================================================================
4234 extern __at(0x0F9E) __sfr PIR1
;
4240 unsigned TMR1IF
: 1;
4241 unsigned TMR2IF
: 1;
4242 unsigned CCP1IF
: 1;
4263 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits
;
4265 #define _TMR1IF 0x01
4266 #define _TMR2IF 0x02
4267 #define _CCP1IF 0x04
4275 //==============================================================================
4278 //==============================================================================
4281 extern __at(0x0F9F) __sfr IPR1
;
4287 unsigned TMR1IP
: 1;
4288 unsigned TMR2IP
: 1;
4289 unsigned CCP1IP
: 1;
4310 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits
;
4312 #define _TMR1IP 0x01
4313 #define _TMR2IP 0x02
4314 #define _CCP1IP 0x04
4322 //==============================================================================
4325 //==============================================================================
4328 extern __at(0x0FA0) __sfr PIE2
;
4334 unsigned CCP2IE
: 1;
4335 unsigned TMR3IE
: 1;
4336 unsigned HLVDIE
: 1;
4341 unsigned OSCFIE
: 1;
4357 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits
;
4359 #define _CCP2IE 0x01
4360 #define _TMR3IE 0x02
4361 #define _HLVDIE 0x04
4365 #define _OSCFIE 0x80
4367 //==============================================================================
4370 //==============================================================================
4373 extern __at(0x0FA1) __sfr PIR2
;
4379 unsigned CCP2IF
: 1;
4380 unsigned TMR3IF
: 1;
4381 unsigned HLVDIF
: 1;
4386 unsigned OSCFIF
: 1;
4402 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits
;
4404 #define _CCP2IF 0x01
4405 #define _TMR3IF 0x02
4406 #define _HLVDIF 0x04
4410 #define _OSCFIF 0x80
4412 //==============================================================================
4415 //==============================================================================
4418 extern __at(0x0FA2) __sfr IPR2
;
4424 unsigned CCP2IP
: 1;
4425 unsigned TMR3IP
: 1;
4426 unsigned HLVDIP
: 1;
4431 unsigned OSCFIP
: 1;
4447 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits
;
4449 #define _CCP2IP 0x01
4450 #define _TMR3IP 0x02
4451 #define _HLVDIP 0x04
4455 #define _OSCFIP 0x80
4457 //==============================================================================
4460 //==============================================================================
4463 extern __at(0x0FA3) __sfr PIE3
;
4477 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits
;
4483 //==============================================================================
4486 //==============================================================================
4489 extern __at(0x0FA4) __sfr PIR3
;
4503 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits
;
4509 //==============================================================================
4512 //==============================================================================
4515 extern __at(0x0FA5) __sfr IPR3
;
4529 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits
;
4535 //==============================================================================
4538 //==============================================================================
4541 extern __at(0x0FAB) __sfr RCSTA
;
4574 unsigned ADDEN1
: 1;
4582 extern __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits
;
4592 #define _ADDEN1 0x08
4602 //==============================================================================
4605 //==============================================================================
4608 extern __at(0x0FAB) __sfr RCSTA1
;
4641 unsigned ADDEN1
: 1;
4649 extern __at(0x0FAB) volatile __RCSTA1bits_t RCSTA1bits
;
4651 #define _RCSTA1_RX9D 0x01
4652 #define _RCSTA1_RX9D1 0x01
4653 #define _RCSTA1_OERR 0x02
4654 #define _RCSTA1_OERR1 0x02
4655 #define _RCSTA1_FERR 0x04
4656 #define _RCSTA1_FERR1 0x04
4657 #define _RCSTA1_ADDEN 0x08
4658 #define _RCSTA1_ADEN 0x08
4659 #define _RCSTA1_ADDEN1 0x08
4660 #define _RCSTA1_CREN 0x10
4661 #define _RCSTA1_CREN1 0x10
4662 #define _RCSTA1_SREN 0x20
4663 #define _RCSTA1_SREN1 0x20
4664 #define _RCSTA1_RX9 0x40
4665 #define _RCSTA1_RX91 0x40
4666 #define _RCSTA1_SPEN 0x80
4667 #define _RCSTA1_SPEN1 0x80
4669 //==============================================================================
4672 //==============================================================================
4675 extern __at(0x0FAC) __sfr TXSTA
;
4696 unsigned SENDB1
: 1;
4704 extern __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits
;
4713 #define _SENDB1 0x08
4723 //==============================================================================
4726 //==============================================================================
4729 extern __at(0x0FAC) __sfr TXSTA1
;
4750 unsigned SENDB1
: 1;
4758 extern __at(0x0FAC) volatile __TXSTA1bits_t TXSTA1bits
;
4760 #define _TXSTA1_TX9D 0x01
4761 #define _TXSTA1_TX9D1 0x01
4762 #define _TXSTA1_TRMT 0x02
4763 #define _TXSTA1_TRMT1 0x02
4764 #define _TXSTA1_BRGH 0x04
4765 #define _TXSTA1_BRGH1 0x04
4766 #define _TXSTA1_SENDB 0x08
4767 #define _TXSTA1_SENDB1 0x08
4768 #define _TXSTA1_SYNC 0x10
4769 #define _TXSTA1_SYNC1 0x10
4770 #define _TXSTA1_TXEN 0x20
4771 #define _TXSTA1_TXEN1 0x20
4772 #define _TXSTA1_TX9 0x40
4773 #define _TXSTA1_TX91 0x40
4774 #define _TXSTA1_CSRC 0x80
4775 #define _TXSTA1_CSRC1 0x80
4777 //==============================================================================
4779 extern __at(0x0FAD) __sfr TXREG
;
4780 extern __at(0x0FAD) __sfr TXREG1
;
4781 extern __at(0x0FAE) __sfr RCREG
;
4782 extern __at(0x0FAE) __sfr RCREG1
;
4783 extern __at(0x0FAF) __sfr SPBRG
;
4784 extern __at(0x0FAF) __sfr SPBRG1
;
4786 //==============================================================================
4789 extern __at(0x0FB1) __sfr T3CON
;
4795 unsigned TMR3ON
: 1;
4796 unsigned TMR3CS
: 1;
4797 unsigned NOT_T3SYNC
: 1;
4798 unsigned T3CCP1
: 1;
4799 unsigned T3CKPS0
: 1;
4800 unsigned T3CKPS1
: 1;
4801 unsigned T3CCP2
: 1;
4809 unsigned T3SYNC
: 1;
4821 unsigned T3INSYNC
: 1;
4832 unsigned T3CKPS
: 2;
4837 extern __at(0x0FB1) volatile __T3CONbits_t T3CONbits
;
4839 #define _T3CON_TMR3ON 0x01
4840 #define _T3CON_TMR3CS 0x02
4841 #define _T3CON_NOT_T3SYNC 0x04
4842 #define _T3CON_T3SYNC 0x04
4843 #define _T3CON_T3INSYNC 0x04
4844 #define _T3CON_T3CCP1 0x08
4845 #define _T3CON_T3CKPS0 0x10
4846 #define _T3CON_T3CKPS1 0x20
4847 #define _T3CON_T3CCP2 0x40
4848 #define _T3CON_RD16 0x80
4850 //==============================================================================
4852 extern __at(0x0FB2) __sfr TMR3
;
4853 extern __at(0x0FB2) __sfr TMR3L
;
4854 extern __at(0x0FB3) __sfr TMR3H
;
4856 //==============================================================================
4859 extern __at(0x0FB4) __sfr CMCON
;
4882 extern __at(0x0FB4) volatile __CMCONbits_t CMCONbits
;
4893 //==============================================================================
4896 //==============================================================================
4899 extern __at(0x0FB5) __sfr CVRCON
;
4934 extern __at(0x0FB5) volatile __CVRCONbits_t CVRCONbits
;
4946 //==============================================================================
4949 //==============================================================================
4952 extern __at(0x0FBA) __sfr CCP2CON
;
4958 unsigned CCP2M0
: 1;
4959 unsigned CCP2M1
: 1;
4960 unsigned CCP2M2
: 1;
4961 unsigned CCP2M3
: 1;
4962 unsigned DCCP2Y
: 1;
4963 unsigned DCCP2X
: 1;
5006 extern __at(0x0FBA) volatile __CCP2CONbits_t CCP2CONbits
;
5008 #define _CCP2M0 0x01
5009 #define _CCP2M1 0x02
5010 #define _CCP2M2 0x04
5011 #define _CCP2M3 0x08
5012 #define _DCCP2Y 0x10
5015 #define _DCCP2X 0x20
5019 //==============================================================================
5021 extern __at(0x0FBB) __sfr CCPR2
;
5022 extern __at(0x0FBB) __sfr CCPR2L
;
5023 extern __at(0x0FBC) __sfr CCPR2H
;
5025 //==============================================================================
5028 extern __at(0x0FBD) __sfr CCP1CON
;
5034 unsigned CCP1M0
: 1;
5035 unsigned CCP1M1
: 1;
5036 unsigned CCP1M2
: 1;
5037 unsigned CCP1M3
: 1;
5038 unsigned DCCP1Y
: 1;
5039 unsigned DCCP1X
: 1;
5082 extern __at(0x0FBD) volatile __CCP1CONbits_t CCP1CONbits
;
5084 #define _CCP1M0 0x01
5085 #define _CCP1M1 0x02
5086 #define _CCP1M2 0x04
5087 #define _CCP1M3 0x08
5088 #define _DCCP1Y 0x10
5091 #define _DCCP1X 0x20
5095 //==============================================================================
5097 extern __at(0x0FBE) __sfr CCPR1
;
5098 extern __at(0x0FBE) __sfr CCPR1L
;
5099 extern __at(0x0FBF) __sfr CCPR1H
;
5101 //==============================================================================
5104 extern __at(0x0FC0) __sfr ADCON2
;
5134 extern __at(0x0FC0) volatile __ADCON2bits_t ADCON2bits
;
5144 //==============================================================================
5147 //==============================================================================
5150 extern __at(0x0FC1) __sfr ADCON1
;
5180 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits
;
5189 //==============================================================================
5192 //==============================================================================
5195 extern __at(0x0FC2) __sfr ADCON0
;
5202 unsigned GO_NOT_DONE
: 1;
5214 unsigned GO_DONE
: 1;
5250 unsigned NOT_DONE
: 1;
5267 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits
;
5270 #define _GO_NOT_DONE 0x02
5271 #define _GO_DONE 0x02
5274 #define _NOT_DONE 0x02
5280 //==============================================================================
5282 extern __at(0x0FC3) __sfr ADRES
;
5283 extern __at(0x0FC3) __sfr ADRESL
;
5284 extern __at(0x0FC4) __sfr ADRESH
;
5286 //==============================================================================
5289 extern __at(0x0FC5) __sfr SSPCON2
;
5299 unsigned ACKSTAT
: 1;
5303 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits
;
5311 #define _ACKSTAT 0x40
5314 //==============================================================================
5317 //==============================================================================
5320 extern __at(0x0FC6) __sfr SSPCON1
;
5343 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits
;
5354 //==============================================================================
5357 //==============================================================================
5360 extern __at(0x0FC7) __sfr SSPSTAT
;
5368 unsigned R_NOT_W
: 1;
5371 unsigned D_NOT_A
: 1;
5381 unsigned I2C_START
: 1;
5382 unsigned I2C_STOP
: 1;
5392 unsigned I2C_READ
: 1;
5395 unsigned I2C_DAT
: 1;
5416 unsigned NOT_WRITE
: 1;
5419 unsigned NOT_ADDRESS
: 1;
5428 unsigned READ_WRITE
: 1;
5431 unsigned DATA_ADDRESS
: 1;
5449 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits
;
5453 #define _R_NOT_W 0x04
5455 #define _I2C_READ 0x04
5457 #define _NOT_WRITE 0x04
5458 #define _READ_WRITE 0x04
5461 #define _I2C_START 0x08
5463 #define _I2C_STOP 0x10
5464 #define _D_NOT_A 0x20
5466 #define _I2C_DAT 0x20
5468 #define _NOT_ADDRESS 0x20
5469 #define _DATA_ADDRESS 0x20
5474 //==============================================================================
5476 extern __at(0x0FC8) __sfr SSPADD
;
5477 extern __at(0x0FC9) __sfr SSPBUF
;
5479 //==============================================================================
5482 extern __at(0x0FCA) __sfr T2CON
;
5488 unsigned T2CKPS0
: 1;
5489 unsigned T2CKPS1
: 1;
5490 unsigned TMR2ON
: 1;
5491 unsigned T2OUTPS0
: 1;
5492 unsigned T2OUTPS1
: 1;
5493 unsigned T2OUTPS2
: 1;
5494 unsigned T2OUTPS3
: 1;
5500 unsigned T2CKPS
: 2;
5507 unsigned T2OUTPS
: 4;
5512 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits
;
5514 #define _T2CKPS0 0x01
5515 #define _T2CKPS1 0x02
5516 #define _TMR2ON 0x04
5517 #define _T2OUTPS0 0x08
5518 #define _T2OUTPS1 0x10
5519 #define _T2OUTPS2 0x20
5520 #define _T2OUTPS3 0x40
5522 //==============================================================================
5524 extern __at(0x0FCB) __sfr PR2
;
5525 extern __at(0x0FCC) __sfr TMR2
;
5527 //==============================================================================
5530 extern __at(0x0FCD) __sfr T1CON
;
5536 unsigned TMR1ON
: 1;
5537 unsigned TMR1CS
: 1;
5538 unsigned NOT_T1SYNC
: 1;
5539 unsigned T1OSCEN
: 1;
5540 unsigned T1CKPS0
: 1;
5541 unsigned T1CKPS1
: 1;
5550 unsigned T1INSYNC
: 1;
5562 unsigned T1SYNC
: 1;
5573 unsigned T1CKPS
: 2;
5578 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits
;
5580 #define _TMR1ON 0x01
5581 #define _TMR1CS 0x02
5582 #define _NOT_T1SYNC 0x04
5583 #define _T1INSYNC 0x04
5584 #define _T1SYNC 0x04
5585 #define _T1OSCEN 0x08
5586 #define _T1CKPS0 0x10
5587 #define _T1CKPS1 0x20
5591 //==============================================================================
5593 extern __at(0x0FCE) __sfr TMR1
;
5594 extern __at(0x0FCE) __sfr TMR1L
;
5595 extern __at(0x0FCF) __sfr TMR1H
;
5597 //==============================================================================
5600 extern __at(0x0FD0) __sfr RCON
;
5606 unsigned NOT_BOR
: 1;
5607 unsigned NOT_POR
: 1;
5608 unsigned NOT_PD
: 1;
5609 unsigned NOT_TO
: 1;
5610 unsigned NOT_RI
: 1;
5612 unsigned SBOREN
: 1;
5629 extern __at(0x0FD0) volatile __RCONbits_t RCONbits
;
5631 #define _NOT_BOR 0x01
5633 #define _NOT_POR 0x02
5635 #define _NOT_PD 0x04
5637 #define _NOT_TO 0x08
5639 #define _NOT_RI 0x10
5641 #define _SBOREN 0x40
5644 //==============================================================================
5647 //==============================================================================
5650 extern __at(0x0FD1) __sfr WDTCON
;
5656 unsigned SWDTEN
: 1;
5679 extern __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits
;
5681 #define _SWDTEN 0x01
5684 //==============================================================================
5687 //==============================================================================
5690 extern __at(0x0FD2) __sfr HLVDCON
;
5696 unsigned HLVDL0
: 1;
5697 unsigned HLVDL1
: 1;
5698 unsigned HLVDL2
: 1;
5699 unsigned HLVDL3
: 1;
5700 unsigned HLVDEN
: 1;
5703 unsigned VDIRMAG
: 1;
5749 extern __at(0x0FD2) volatile __HLVDCONbits_t HLVDCONbits
;
5751 #define _HLVDL0 0x01
5754 #define _HLVDL1 0x02
5757 #define _HLVDL2 0x04
5760 #define _HLVDL3 0x08
5763 #define _HLVDEN 0x10
5767 #define _VDIRMAG 0x80
5769 //==============================================================================
5772 //==============================================================================
5775 extern __at(0x0FD3) __sfr OSCCON
;
5817 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits
;
5829 //==============================================================================
5832 //==============================================================================
5835 extern __at(0x0FD5) __sfr T0CON
;
5847 unsigned T08BIT
: 1;
5848 unsigned TMR0ON
: 1;
5858 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits
;
5866 #define _T08BIT 0x40
5867 #define _TMR0ON 0x80
5869 //==============================================================================
5871 extern __at(0x0FD6) __sfr TMR0
;
5872 extern __at(0x0FD6) __sfr TMR0L
;
5873 extern __at(0x0FD7) __sfr TMR0H
;
5875 //==============================================================================
5878 extern __at(0x0FD8) __sfr STATUS
;
5892 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits
;
5900 //==============================================================================
5902 extern __at(0x0FD9) __sfr FSR2L
;
5903 extern __at(0x0FDA) __sfr FSR2H
;
5904 extern __at(0x0FDB) __sfr PLUSW2
;
5905 extern __at(0x0FDC) __sfr PREINC2
;
5906 extern __at(0x0FDD) __sfr POSTDEC2
;
5907 extern __at(0x0FDE) __sfr POSTINC2
;
5908 extern __at(0x0FDF) __sfr INDF2
;
5909 extern __at(0x0FE0) __sfr BSR
;
5910 extern __at(0x0FE1) __sfr FSR1L
;
5911 extern __at(0x0FE2) __sfr FSR1H
;
5912 extern __at(0x0FE3) __sfr PLUSW1
;
5913 extern __at(0x0FE4) __sfr PREINC1
;
5914 extern __at(0x0FE5) __sfr POSTDEC1
;
5915 extern __at(0x0FE6) __sfr POSTINC1
;
5916 extern __at(0x0FE7) __sfr INDF1
;
5917 extern __at(0x0FE8) __sfr WREG
;
5918 extern __at(0x0FE9) __sfr FSR0L
;
5919 extern __at(0x0FEA) __sfr FSR0H
;
5920 extern __at(0x0FEB) __sfr PLUSW0
;
5921 extern __at(0x0FEC) __sfr PREINC0
;
5922 extern __at(0x0FED) __sfr POSTDEC0
;
5923 extern __at(0x0FEE) __sfr POSTINC0
;
5924 extern __at(0x0FEF) __sfr INDF0
;
5926 //==============================================================================
5929 extern __at(0x0FF0) __sfr INTCON3
;
5935 unsigned INT1IF
: 1;
5936 unsigned INT2IF
: 1;
5937 unsigned INT3IF
: 1;
5938 unsigned INT1IE
: 1;
5939 unsigned INT2IE
: 1;
5940 unsigned INT3IE
: 1;
5941 unsigned INT1IP
: 1;
5942 unsigned INT2IP
: 1;
5958 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits
;
5960 #define _INT1IF 0x01
5962 #define _INT2IF 0x02
5964 #define _INT3IF 0x04
5966 #define _INT1IE 0x08
5968 #define _INT2IE 0x10
5970 #define _INT3IE 0x20
5972 #define _INT1IP 0x40
5974 #define _INT2IP 0x80
5977 //==============================================================================
5980 //==============================================================================
5983 extern __at(0x0FF1) __sfr INTCON2
;
5990 unsigned INT3IP
: 1;
5991 unsigned TMR0IP
: 1;
5992 unsigned INTEDG3
: 1;
5993 unsigned INTEDG2
: 1;
5994 unsigned INTEDG1
: 1;
5995 unsigned INTEDG0
: 1;
5996 unsigned NOT_RBPU
: 1;
6012 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits
;
6015 #define _INT3IP 0x02
6017 #define _TMR0IP 0x04
6019 #define _INTEDG3 0x08
6020 #define _INTEDG2 0x10
6021 #define _INTEDG1 0x20
6022 #define _INTEDG0 0x40
6023 #define _NOT_RBPU 0x80
6026 //==============================================================================
6029 //==============================================================================
6032 extern __at(0x0FF2) __sfr INTCON
;
6039 unsigned INT0IF
: 1;
6040 unsigned TMR0IF
: 1;
6042 unsigned INT0IE
: 1;
6043 unsigned TMR0IE
: 1;
6044 unsigned PEIE_GIEL
: 1;
6045 unsigned GIE_GIEH
: 1;
6073 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits
;
6076 #define _INT0IF 0x02
6078 #define _TMR0IF 0x04
6081 #define _INT0IE 0x10
6083 #define _TMR0IE 0x20
6085 #define _PEIE_GIEL 0x40
6088 #define _GIE_GIEH 0x80
6092 //==============================================================================
6094 extern __at(0x0FF3) __sfr PROD
;
6095 extern __at(0x0FF3) __sfr PRODL
;
6096 extern __at(0x0FF4) __sfr PRODH
;
6097 extern __at(0x0FF5) __sfr TABLAT
;
6098 extern __at(0x0FF6) __sfr TBLPTR
;
6099 extern __at(0x0FF6) __sfr TBLPTRL
;
6100 extern __at(0x0FF7) __sfr TBLPTRH
;
6101 extern __at(0x0FF8) __sfr TBLPTRU
;
6102 extern __at(0x0FF9) __sfr PC
;
6103 extern __at(0x0FF9) __sfr PCL
;
6104 extern __at(0x0FFA) __sfr PCLATH
;
6105 extern __at(0x0FFB) __sfr PCLATU
;
6107 //==============================================================================
6110 extern __at(0x0FFC) __sfr STKPTR
;
6116 unsigned STKPTR0
: 1;
6117 unsigned STKPTR1
: 1;
6118 unsigned STKPTR2
: 1;
6119 unsigned STKPTR3
: 1;
6120 unsigned STKPTR4
: 1;
6122 unsigned STKUNF
: 1;
6123 unsigned STKFUL
: 1;
6135 unsigned STKOVF
: 1;
6140 unsigned STKPTR
: 5;
6145 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits
;
6147 #define _STKPTR0 0x01
6148 #define _STKPTR1 0x02
6149 #define _STKPTR2 0x04
6150 #define _STKPTR3 0x08
6151 #define _STKPTR4 0x10
6152 #define _STKUNF 0x40
6153 #define _STKFUL 0x80
6154 #define _STKOVF 0x80
6156 //==============================================================================
6158 extern __at(0x0FFD) __sfr TOS
;
6159 extern __at(0x0FFD) __sfr TOSL
;
6160 extern __at(0x0FFE) __sfr TOSH
;
6161 extern __at(0x0FFF) __sfr TOSU
;
6163 //==============================================================================
6165 // Configuration Bits
6167 //==============================================================================
6169 #define __CONFIG1H 0x300001
6170 #define __CONFIG2L 0x300002
6171 #define __CONFIG2H 0x300003
6172 #define __CONFIG3H 0x300005
6173 #define __CONFIG4L 0x300006
6174 #define __CONFIG5L 0x300008
6176 //----------------------------- CONFIG1H Options -------------------------------
6178 #define _OSC_LP_1H 0xF0 // LP oscillator.
6179 #define _OSC_XT_1H 0xF1 // XT oscillator.
6180 #define _OSC_HS_1H 0xF2 // HS oscillator.
6181 #define _OSC_RC_1H 0xF3 // External RC oscillator, CLKO function on RA6.
6182 #define _OSC_EC_1H 0xF4 // EC oscillator, CLKO function on RA6.
6183 #define _OSC_ECIO_1H 0xF5 // EC oscillator, port function on RA6.
6184 #define _OSC_HSPLL_1H 0xF6 // HS oscillator, PLL enabled (clock frequency = 4 x FOSC1).
6185 #define _OSC_RCIO_1H 0xF7 // External RC oscillator, port function on RA6.
6186 #define _OSC_INTIO67_1H 0xF8 // Internal oscillator block, port function on RA6 and RA7.
6187 #define _OSC_INTIO7_1H 0xF9 // Internal oscillator block, CLKO function on RA6, port function on RA7.
6188 #define _FCMEN_OFF_1H 0xBF // Fail-Safe Clock Monitor disabled.
6189 #define _FCMEN_ON_1H 0xFF // Fail-Safe Clock Monitor enabled.
6190 #define _IESO_OFF_1H 0x7F // Oscillator Switchover mode disabled.
6191 #define _IESO_ON_1H 0xFF // Oscillator Switchover mode enabled.
6193 //----------------------------- CONFIG2L Options -------------------------------
6195 #define _PWRT_ON_2L 0xFE // PWRT enabled.
6196 #define _PWRT_OFF_2L 0xFF // PWRT disabled.
6197 #define _BOREN_OFF_2L 0xF9 // Brown-out Reset disabled in hardware and software.
6198 #define _BOREN_ON_2L 0xFB // Brown-out Reset enabled and controlled by software (SBOREN is enabled).
6199 #define _BOREN_NOSLP_2L 0xFD // Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled).
6200 #define _BOREN_SBORDIS_2L 0xFF // Brown-out Reset enabled in hardware only (SBOREN is disabled).
6201 #define _BORV_0_2L 0xE7 // VBOR set to 4.6V.
6202 #define _BORV_1_2L 0xEF // VBOR set to 4.3V.
6203 #define _BORV_2_2L 0xF7 // VBOR set to 2.8V.
6204 #define _BORV_3_2L 0xFF // VBOR set to 2.1V.
6206 //----------------------------- CONFIG2H Options -------------------------------
6208 #define _WDT_OFF_2H 0xFE // WDT disabled (control is placed on the SWDTEN bit).
6209 #define _WDT_ON_2H 0xFF // WDT enabled.
6210 #define _WDTPS_1_2H 0xE1 // 1:1.
6211 #define _WDTPS_2_2H 0xE3 // 1:2.
6212 #define _WDTPS_4_2H 0xE5 // 1:4.
6213 #define _WDTPS_8_2H 0xE7 // 1:8.
6214 #define _WDTPS_16_2H 0xE9 // 1:16.
6215 #define _WDTPS_32_2H 0xEB // 1:32.
6216 #define _WDTPS_64_2H 0xED // 1:64.
6217 #define _WDTPS_128_2H 0xEF // 1:128.
6218 #define _WDTPS_256_2H 0xF1 // 1:256.
6219 #define _WDTPS_512_2H 0xF3 // 1:512.
6220 #define _WDTPS_1024_2H 0xF5 // 1:1024.
6221 #define _WDTPS_2048_2H 0xF7 // 1:2048.
6222 #define _WDTPS_4096_2H 0xF9 // 1:4096.
6223 #define _WDTPS_8192_2H 0xFB // 1:8192.
6224 #define _WDTPS_16384_2H 0xFD // 1:16384.
6225 #define _WDTPS_32768_2H 0xFF // 1:32768.
6227 //----------------------------- CONFIG3H Options -------------------------------
6229 #define _CCP2MX_PORTBE_3H 0xFE // CCP2 input/output is multiplexed with RE7.
6230 #define _CCP2MX_PORTC_3H 0xFF // CCP2 input/output is multiplexed with RC1.
6231 #define _LPT1OSC_OFF_3H 0xFB // Timer1 configured for higher power operation.
6232 #define _LPT1OSC_ON_3H 0xFF // Timer1 configured for low-power operation.
6233 #define _MCLRE_OFF_3H 0x7F // RG5 input pin enabled; MCLR disabled.
6234 #define _MCLRE_ON_3H 0xFF // MCLR pin enabled; RG5 input pin disabled.
6236 //----------------------------- CONFIG4L Options -------------------------------
6238 #define _STVREN_OFF_4L 0xFE // Stack full/underflow will not cause Reset.
6239 #define _STVREN_ON_4L 0xFF // Stack full/underflow will cause Reset.
6240 #define _XINST_OFF_4L 0xBF // Instruction set extension and Indexed Addressing mode disabled (Legacy mode).
6241 #define _XINST_ON_4L 0xFF // Instruction set extension and Indexed Addressing mode enabled.
6242 #define _DEBUG_ON_4L 0x7F // Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug.
6243 #define _DEBUG_OFF_4L 0xFF // Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins.
6245 //----------------------------- CONFIG5L Options -------------------------------
6247 #define _CP_ON_5L 0xFE // Program memory block (000000-003FFFh) code-protected.
6248 #define _CP_OFF_5L 0xFF // Program memory block (000000-003FFFh) not code-protected.
6250 //==============================================================================
6252 #define __DEVID1 0x3FFFFE
6253 #define __DEVID2 0x3FFFFF
6255 #define __IDLOC0 0x200000
6256 #define __IDLOC1 0x200001
6257 #define __IDLOC2 0x200002
6258 #define __IDLOC3 0x200003
6259 #define __IDLOC4 0x200004
6260 #define __IDLOC5 0x200005
6261 #define __IDLOC6 0x200006
6262 #define __IDLOC7 0x200007
6264 #endif // #ifndef __PIC18F8493_H__