2 * This declarations of the PIC18F44J11 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:29 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 __PIC18F44J11_H__
26 #define __PIC18F44J11_H__
28 //==============================================================================
30 //==============================================================================
32 // Register Definitions
34 //==============================================================================
36 extern __at(0x0EC6) __sfr RPOR0
;
37 extern __at(0x0EC7) __sfr RPOR1
;
38 extern __at(0x0EC8) __sfr RPOR2
;
39 extern __at(0x0EC9) __sfr RPOR3
;
40 extern __at(0x0ECA) __sfr RPOR4
;
41 extern __at(0x0ECB) __sfr RPOR5
;
42 extern __at(0x0ECC) __sfr RPOR6
;
43 extern __at(0x0ECD) __sfr RPOR7
;
44 extern __at(0x0ECE) __sfr RPOR8
;
45 extern __at(0x0ECF) __sfr RPOR9
;
46 extern __at(0x0ED0) __sfr RPOR10
;
47 extern __at(0x0ED1) __sfr RPOR11
;
48 extern __at(0x0ED2) __sfr RPOR12
;
49 extern __at(0x0ED3) __sfr RPOR13
;
50 extern __at(0x0ED4) __sfr RPOR14
;
51 extern __at(0x0ED5) __sfr RPOR15
;
52 extern __at(0x0ED6) __sfr RPOR16
;
53 extern __at(0x0ED7) __sfr RPOR17
;
54 extern __at(0x0ED8) __sfr RPOR18
;
55 extern __at(0x0ED9) __sfr RPOR19
;
56 extern __at(0x0EDA) __sfr RPOR20
;
57 extern __at(0x0EDB) __sfr RPOR21
;
58 extern __at(0x0EDC) __sfr RPOR22
;
59 extern __at(0x0EDD) __sfr RPOR23
;
60 extern __at(0x0EDE) __sfr RPOR24
;
61 extern __at(0x0EE7) __sfr RPINR1
;
62 extern __at(0x0EE8) __sfr RPINR2
;
63 extern __at(0x0EE9) __sfr RPINR3
;
64 extern __at(0x0EEA) __sfr RPINR4
;
65 extern __at(0x0EEC) __sfr RPINR6
;
66 extern __at(0x0EED) __sfr RPINR7
;
67 extern __at(0x0EEE) __sfr RPINR8
;
68 extern __at(0x0EF2) __sfr RPINR12
;
69 extern __at(0x0EF3) __sfr RPINR13
;
70 extern __at(0x0EF6) __sfr RPINR16
;
71 extern __at(0x0EF7) __sfr RPINR17
;
72 extern __at(0x0EFB) __sfr RPINR21
;
73 extern __at(0x0EFC) __sfr RPINR22
;
74 extern __at(0x0EFD) __sfr RPINR23
;
75 extern __at(0x0EFE) __sfr RPINR24
;
77 //==============================================================================
80 extern __at(0x0EFF) __sfr PPSCON
;
94 extern __at(0x0EFF) volatile __PPSCONbits_t PPSCONbits
;
98 //==============================================================================
101 //==============================================================================
104 extern __at(0x0F3C) __sfr PADCFG1
;
111 unsigned RTSECSEL0
: 1;
112 unsigned RTSECSEL1
: 1;
123 unsigned RTSECSEL
: 2;
128 extern __at(0x0F3C) volatile __PADCFG1bits_t PADCFG1bits
;
131 #define _RTSECSEL0 0x02
132 #define _RTSECSEL1 0x04
134 //==============================================================================
137 //==============================================================================
140 extern __at(0x0F3D) __sfr REFOCON
;
163 extern __at(0x0F3D) volatile __REFOCONbits_t REFOCONbits
;
173 //==============================================================================
176 //==============================================================================
179 extern __at(0x0F3E) __sfr RTCCAL
;
193 extern __at(0x0F3E) volatile __RTCCALbits_t RTCCALbits
;
204 //==============================================================================
207 //==============================================================================
210 extern __at(0x0F3F) __sfr RTCCFG
;
216 unsigned RTCPTR0
: 1;
217 unsigned RTCPTR1
: 1;
219 unsigned HALFSEC
: 1;
220 unsigned RTCSYNC
: 1;
221 unsigned RTCWREN
: 1;
233 extern __at(0x0F3F) volatile __RTCCFGbits_t RTCCFGbits
;
235 #define _RTCPTR0 0x01
236 #define _RTCPTR1 0x02
238 #define _HALFSEC 0x08
239 #define _RTCSYNC 0x10
240 #define _RTCWREN 0x20
243 //==============================================================================
246 //==============================================================================
249 extern __at(0x0F40) __sfr ODCON3
;
263 extern __at(0x0F40) volatile __ODCON3bits_t ODCON3bits
;
268 //==============================================================================
271 //==============================================================================
274 extern __at(0x0F41) __sfr ODCON2
;
288 extern __at(0x0F41) volatile __ODCON2bits_t ODCON2bits
;
293 //==============================================================================
296 //==============================================================================
299 extern __at(0x0F42) __sfr ODCON1
;
303 unsigned ECCP1OD
: 1;
304 unsigned ECCP2OD
: 1;
313 extern __at(0x0F42) volatile __ODCON1bits_t ODCON1bits
;
315 #define _ECCP1OD 0x01
316 #define _ECCP2OD 0x02
318 //==============================================================================
321 //==============================================================================
324 extern __at(0x0F48) __sfr ANCON0
;
338 extern __at(0x0F48) volatile __ANCON0bits_t ANCON0bits
;
349 //==============================================================================
352 //==============================================================================
355 extern __at(0x0F49) __sfr ANCON1
;
369 extern __at(0x0F49) volatile __ANCON1bits_t ANCON1bits
;
378 //==============================================================================
381 //==============================================================================
384 extern __at(0x0F4A) __sfr DSWAKEL
;
398 extern __at(0x0F4A) volatile __DSWAKELbits_t DSWAKELbits
;
407 //==============================================================================
410 //==============================================================================
413 extern __at(0x0F4B) __sfr DSWAKEH
;
427 extern __at(0x0F4B) volatile __DSWAKEHbits_t DSWAKEHbits
;
431 //==============================================================================
434 //==============================================================================
437 extern __at(0x0F4C) __sfr DSCONL
;
441 unsigned RELEASE
: 1;
443 unsigned ULPWDIS
: 1;
451 extern __at(0x0F4C) volatile __DSCONLbits_t DSCONLbits
;
453 #define _RELEASE 0x01
455 #define _ULPWDIS 0x04
457 //==============================================================================
460 //==============================================================================
463 extern __at(0x0F4D) __sfr DSCONH
;
467 unsigned RTCWDIS
: 1;
468 unsigned DSULPEN
: 1;
477 extern __at(0x0F4D) volatile __DSCONHbits_t DSCONHbits
;
479 #define _RTCWDIS 0x01
480 #define _DSULPEN 0x02
483 //==============================================================================
485 extern __at(0x0F4E) __sfr DSGPR0
;
486 extern __at(0x0F4F) __sfr DSGPR1
;
488 //==============================================================================
491 extern __at(0x0F52) __sfr TCLKCON
;
505 extern __at(0x0F52) volatile __TCLKCONbits_t TCLKCONbits
;
511 //==============================================================================
514 //==============================================================================
517 extern __at(0x0F53) __sfr CVRCON
;
540 extern __at(0x0F53) volatile __CVRCONbits_t CVRCONbits
;
551 //==============================================================================
554 //==============================================================================
557 extern __at(0x0F54) __sfr PMSTATL
;
571 extern __at(0x0F54) volatile __PMSTATLbits_t PMSTATLbits
;
580 //==============================================================================
583 //==============================================================================
586 extern __at(0x0F55) __sfr PMSTATH
;
600 extern __at(0x0F55) volatile __PMSTATHbits_t PMSTATHbits
;
609 //==============================================================================
612 //==============================================================================
615 extern __at(0x0F56) __sfr PMEL
;
629 extern __at(0x0F56) volatile __PMELbits_t PMELbits
;
640 //==============================================================================
643 //==============================================================================
646 extern __at(0x0F57) __sfr PMEH
;
660 extern __at(0x0F57) volatile __PMEHbits_t PMEHbits
;
671 //==============================================================================
673 extern __at(0x0F58) __sfr PMDIN2L
;
674 extern __at(0x0F59) __sfr PMDIN2H
;
675 extern __at(0x0F5A) __sfr PMDOUT2L
;
676 extern __at(0x0F5B) __sfr PMDOUT2H
;
678 //==============================================================================
681 extern __at(0x0F5C) __sfr PMMODEL
;
717 extern __at(0x0F5C) volatile __PMMODELbits_t PMMODELbits
;
728 //==============================================================================
731 //==============================================================================
734 extern __at(0x0F5D) __sfr PMMODEH
;
765 extern __at(0x0F5D) volatile __PMMODEHbits_t PMMODEHbits
;
776 //==============================================================================
779 //==============================================================================
782 extern __at(0x0F5E) __sfr PMCONL
;
805 extern __at(0x0F5E) volatile __PMCONLbits_t PMCONLbits
;
816 //==============================================================================
819 //==============================================================================
822 extern __at(0x0F5F) __sfr PMCONH
;
831 unsigned ADRMUX0
: 1;
832 unsigned ADRMUX1
: 1;
846 extern __at(0x0F5F) volatile __PMCONHbits_t PMCONHbits
;
851 #define _ADRMUX0 0x08
852 #define _ADRMUX1 0x10
856 //==============================================================================
858 extern __at(0x0F66) __sfr DMABCH
;
859 extern __at(0x0F67) __sfr DMABCL
;
860 extern __at(0x0F68) __sfr RXADDRH
;
861 extern __at(0x0F69) __sfr RXADDRL
;
862 extern __at(0x0F6A) __sfr TXADDRH
;
863 extern __at(0x0F6B) __sfr TXADDRL
;
864 extern __at(0x0F6C) __sfr PMDIN1L
;
865 extern __at(0x0F6D) __sfr PMDIN1H
;
866 extern __at(0x0F6E) __sfr PMADDRL
;
867 extern __at(0x0F6E) __sfr PMDOUT1L
;
869 //==============================================================================
872 extern __at(0x0F6F) __sfr PMADDRH
;
886 extern __at(0x0F6F) volatile __PMADDRHbits_t PMADDRHbits
;
890 //==============================================================================
892 extern __at(0x0F6F) __sfr PMDOUT1H
;
894 //==============================================================================
897 extern __at(0x0F70) __sfr CMSTAT
;
911 extern __at(0x0F70) volatile __CMSTATbits_t CMSTATbits
;
916 //==============================================================================
919 //==============================================================================
922 extern __at(0x0F70) __sfr CMSTATUS
;
936 extern __at(0x0F70) volatile __CMSTATUSbits_t CMSTATUSbits
;
938 #define _CMSTATUS_COUT1 0x01
939 #define _CMSTATUS_COUT2 0x02
941 //==============================================================================
944 //==============================================================================
947 extern __at(0x0F71) __sfr SSP2CON2
;
959 unsigned ACKSTAT
: 1;
976 extern __at(0x0F71) volatile __SSP2CON2bits_t SSP2CON2bits
;
978 #define _SSP2CON2_SEN 0x01
979 #define _SSP2CON2_RSEN 0x02
980 #define _SSP2CON2_ADMSK1 0x02
981 #define _SSP2CON2_PEN 0x04
982 #define _SSP2CON2_ADMSK2 0x04
983 #define _SSP2CON2_RCEN 0x08
984 #define _SSP2CON2_ADMSK3 0x08
985 #define _SSP2CON2_ACKEN 0x10
986 #define _SSP2CON2_ADMSK4 0x10
987 #define _SSP2CON2_ACKDT 0x20
988 #define _SSP2CON2_ADMSK5 0x20
989 #define _SSP2CON2_ACKSTAT 0x40
990 #define _SSP2CON2_GCEN 0x80
992 //==============================================================================
995 //==============================================================================
998 extern __at(0x0F72) __sfr SSP2CON1
;
1021 extern __at(0x0F72) volatile __SSP2CON1bits_t SSP2CON1bits
;
1023 #define _SSP2CON1_SSPM0 0x01
1024 #define _SSP2CON1_SSPM1 0x02
1025 #define _SSP2CON1_SSPM2 0x04
1026 #define _SSP2CON1_SSPM3 0x08
1027 #define _SSP2CON1_CKP 0x10
1028 #define _SSP2CON1_SSPEN 0x20
1029 #define _SSP2CON1_SSPOV 0x40
1030 #define _SSP2CON1_WCOL 0x80
1032 //==============================================================================
1035 //==============================================================================
1038 extern __at(0x0F73) __sfr SSP2STAT
;
1044 unsigned R_NOT_W
: 1;
1047 unsigned D_NOT_A
: 1;
1052 extern __at(0x0F73) volatile __SSP2STATbits_t SSP2STATbits
;
1054 #define _SSP2STAT_BF 0x01
1055 #define _SSP2STAT_UA 0x02
1056 #define _SSP2STAT_R_NOT_W 0x04
1057 #define _SSP2STAT_S 0x08
1058 #define _SSP2STAT_P 0x10
1059 #define _SSP2STAT_D_NOT_A 0x20
1060 #define _SSP2STAT_CKE 0x40
1061 #define _SSP2STAT_SMP 0x80
1063 //==============================================================================
1066 //==============================================================================
1069 extern __at(0x0F74) __sfr SSP2ADD
;
1083 extern __at(0x0F74) volatile __SSP2ADDbits_t SSP2ADDbits
;
1085 #define _SSP2ADD_MSK0 0x01
1086 #define _SSP2ADD_MSK1 0x02
1087 #define _SSP2ADD_MSK2 0x04
1088 #define _SSP2ADD_MSK3 0x08
1089 #define _SSP2ADD_MSK4 0x10
1090 #define _SSP2ADD_MSK5 0x20
1091 #define _SSP2ADD_MSK6 0x40
1092 #define _SSP2ADD_MSK7 0x80
1094 //==============================================================================
1097 //==============================================================================
1100 extern __at(0x0F74) __sfr SSP2MSK
;
1114 extern __at(0x0F74) volatile __SSP2MSKbits_t SSP2MSKbits
;
1116 #define _SSP2MSK_MSK0 0x01
1117 #define _SSP2MSK_MSK1 0x02
1118 #define _SSP2MSK_MSK2 0x04
1119 #define _SSP2MSK_MSK3 0x08
1120 #define _SSP2MSK_MSK4 0x10
1121 #define _SSP2MSK_MSK5 0x20
1122 #define _SSP2MSK_MSK6 0x40
1123 #define _SSP2MSK_MSK7 0x80
1125 //==============================================================================
1127 extern __at(0x0F75) __sfr SSP2BUF
;
1129 //==============================================================================
1132 extern __at(0x0F76) __sfr T4CON
;
1138 unsigned T4CKPS0
: 1;
1139 unsigned T4CKPS1
: 1;
1140 unsigned TMR4ON
: 1;
1141 unsigned T4OUTPS0
: 1;
1142 unsigned T4OUTPS1
: 1;
1143 unsigned T4OUTPS2
: 1;
1144 unsigned T4OUTPS3
: 1;
1150 unsigned T4CKPS
: 2;
1157 unsigned T4OUTPS
: 4;
1162 extern __at(0x0F76) volatile __T4CONbits_t T4CONbits
;
1164 #define _T4CKPS0 0x01
1165 #define _T4CKPS1 0x02
1166 #define _TMR4ON 0x04
1167 #define _T4OUTPS0 0x08
1168 #define _T4OUTPS1 0x10
1169 #define _T4OUTPS2 0x20
1170 #define _T4OUTPS3 0x40
1172 //==============================================================================
1174 extern __at(0x0F77) __sfr PR4
;
1175 extern __at(0x0F78) __sfr TMR4
;
1177 //==============================================================================
1180 extern __at(0x0F79) __sfr T3CON
;
1186 unsigned TMR3ON
: 1;
1188 unsigned T3SYNC
: 1;
1190 unsigned T3CKPS0
: 1;
1191 unsigned T3CKPS1
: 1;
1192 unsigned TMR3CS0
: 1;
1193 unsigned TMR3CS1
: 1;
1199 unsigned T3CKPS
: 2;
1206 unsigned TMR3CS
: 2;
1210 extern __at(0x0F79) volatile __T3CONbits_t T3CONbits
;
1212 #define _T3CON_TMR3ON 0x01
1213 #define _T3CON_RD16 0x02
1214 #define _T3CON_T3SYNC 0x04
1215 #define _T3CON_T3CKPS0 0x10
1216 #define _T3CON_T3CKPS1 0x20
1217 #define _T3CON_TMR3CS0 0x40
1218 #define _T3CON_TMR3CS1 0x80
1220 //==============================================================================
1222 extern __at(0x0F7A) __sfr TMR3
;
1223 extern __at(0x0F7A) __sfr TMR3L
;
1224 extern __at(0x0F7B) __sfr TMR3H
;
1226 //==============================================================================
1229 extern __at(0x0F7C) __sfr BAUDCON2
;
1240 unsigned ABDOVF
: 1;
1243 extern __at(0x0F7C) volatile __BAUDCON2bits_t BAUDCON2bits
;
1245 #define _BAUDCON2_ABDEN 0x01
1246 #define _BAUDCON2_WUE 0x02
1247 #define _BAUDCON2_BRG16 0x08
1248 #define _BAUDCON2_TXCKP 0x10
1249 #define _BAUDCON2_RXDTP 0x20
1250 #define _BAUDCON2_RCIDL 0x40
1251 #define _BAUDCON2_ABDOVF 0x80
1253 //==============================================================================
1255 extern __at(0x0F7D) __sfr SPBRGH2
;
1257 //==============================================================================
1260 extern __at(0x0F7E) __sfr BAUDCON
;
1271 unsigned ABDOVF
: 1;
1274 extern __at(0x0F7E) volatile __BAUDCONbits_t BAUDCONbits
;
1282 #define _ABDOVF 0x80
1284 //==============================================================================
1287 //==============================================================================
1290 extern __at(0x0F7E) __sfr BAUDCON1
;
1301 unsigned ABDOVF
: 1;
1304 extern __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits
;
1306 #define _BAUDCON1_ABDEN 0x01
1307 #define _BAUDCON1_WUE 0x02
1308 #define _BAUDCON1_BRG16 0x08
1309 #define _BAUDCON1_TXCKP 0x10
1310 #define _BAUDCON1_RXDTP 0x20
1311 #define _BAUDCON1_RCIDL 0x40
1312 #define _BAUDCON1_ABDOVF 0x80
1314 //==============================================================================
1317 //==============================================================================
1320 extern __at(0x0F7E) __sfr BAUDCTL
;
1331 unsigned ABDOVF
: 1;
1334 extern __at(0x0F7E) volatile __BAUDCTLbits_t BAUDCTLbits
;
1336 #define _BAUDCTL_ABDEN 0x01
1337 #define _BAUDCTL_WUE 0x02
1338 #define _BAUDCTL_BRG16 0x08
1339 #define _BAUDCTL_TXCKP 0x10
1340 #define _BAUDCTL_RXDTP 0x20
1341 #define _BAUDCTL_RCIDL 0x40
1342 #define _BAUDCTL_ABDOVF 0x80
1344 //==============================================================================
1346 extern __at(0x0F7F) __sfr SPBRGH
;
1347 extern __at(0x0F7F) __sfr SPBRGH1
;
1349 //==============================================================================
1352 extern __at(0x0F80) __sfr PORTA
;
1384 unsigned VREF_MINUS
: 1;
1385 unsigned VREF_PLUS
: 1;
1387 unsigned NOT_SS1
: 1;
1396 unsigned CVREF_MINUS
: 1;
1399 unsigned HLVDIN
: 1;
1429 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits
;
1444 #define _VREF_MINUS 0x04
1445 #define _CVREF_MINUS 0x04
1449 #define _VREF_PLUS 0x08
1453 #define _NOT_SS1 0x20
1454 #define _HLVDIN 0x20
1464 //==============================================================================
1467 //==============================================================================
1470 extern __at(0x0F81) __sfr PORTB
;
1502 unsigned CTEDG1
: 1;
1503 unsigned CTEDG2
: 1;
1553 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits
;
1566 #define _CTEDG1 0x04
1572 #define _CTEDG2 0x08
1592 //==============================================================================
1595 //==============================================================================
1598 extern __at(0x0F82) __sfr PORTC
;
1663 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits
;
1697 //==============================================================================
1700 //==============================================================================
1703 extern __at(0x0F83) __sfr PORTD
;
1744 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits
;
1771 //==============================================================================
1774 //==============================================================================
1777 extern __at(0x0F84) __sfr PORTE
;
1824 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits
;
1838 //==============================================================================
1841 //==============================================================================
1844 extern __at(0x0F85) __sfr HLVDCON
;
1850 unsigned HLVDL0
: 1;
1851 unsigned HLVDL1
: 1;
1852 unsigned HLVDL2
: 1;
1853 unsigned HLVDL3
: 1;
1854 unsigned HLVDEN
: 1;
1857 unsigned VDIRMAG
: 1;
1867 extern __at(0x0F85) volatile __HLVDCONbits_t HLVDCONbits
;
1869 #define _HLVDL0 0x01
1870 #define _HLVDL1 0x02
1871 #define _HLVDL2 0x04
1872 #define _HLVDL3 0x08
1873 #define _HLVDEN 0x10
1876 #define _VDIRMAG 0x80
1878 //==============================================================================
1881 //==============================================================================
1884 extern __at(0x0F86) __sfr DMACON2
;
1890 unsigned INTLVL0
: 1;
1891 unsigned INTLVL1
: 1;
1892 unsigned INTLVL2
: 1;
1893 unsigned INTLVL3
: 1;
1894 unsigned DLYCYC0
: 1;
1895 unsigned DLYCYC1
: 1;
1896 unsigned DLYCYC2
: 1;
1897 unsigned DLYCYC3
: 1;
1902 unsigned INTLVL
: 4;
1909 unsigned DLYCYC
: 4;
1913 extern __at(0x0F86) volatile __DMACON2bits_t DMACON2bits
;
1915 #define _INTLVL0 0x01
1916 #define _INTLVL1 0x02
1917 #define _INTLVL2 0x04
1918 #define _INTLVL3 0x08
1919 #define _DLYCYC0 0x10
1920 #define _DLYCYC1 0x20
1921 #define _DLYCYC2 0x40
1922 #define _DLYCYC3 0x80
1924 //==============================================================================
1927 //==============================================================================
1930 extern __at(0x0F88) __sfr DMACON1
;
1937 unsigned DLYINTEN
: 1;
1938 unsigned DUPLEX0
: 1;
1939 unsigned DUPLEX1
: 1;
1942 unsigned SSCON0
: 1;
1943 unsigned SSCON1
: 1;
1949 unsigned DUPLEX
: 2;
1960 extern __at(0x0F88) volatile __DMACON1bits_t DMACON1bits
;
1963 #define _DLYINTEN 0x02
1964 #define _DUPLEX0 0x04
1965 #define _DUPLEX1 0x08
1968 #define _SSCON0 0x40
1969 #define _SSCON1 0x80
1971 //==============================================================================
1974 //==============================================================================
1977 extern __at(0x0F89) __sfr LATA
;
1991 extern __at(0x0F89) volatile __LATAbits_t LATAbits
;
2001 //==============================================================================
2004 //==============================================================================
2007 extern __at(0x0F8A) __sfr LATB
;
2021 extern __at(0x0F8A) volatile __LATBbits_t LATBbits
;
2032 //==============================================================================
2035 //==============================================================================
2038 extern __at(0x0F8B) __sfr LATC
;
2052 extern __at(0x0F8B) volatile __LATCbits_t LATCbits
;
2063 //==============================================================================
2066 //==============================================================================
2069 extern __at(0x0F8C) __sfr LATD
;
2083 extern __at(0x0F8C) volatile __LATDbits_t LATDbits
;
2094 //==============================================================================
2097 //==============================================================================
2100 extern __at(0x0F8D) __sfr LATE
;
2123 extern __at(0x0F8D) volatile __LATEbits_t LATEbits
;
2129 //==============================================================================
2131 extern __at(0x0F8E) __sfr ALRMVALL
;
2132 extern __at(0x0F8F) __sfr ALRMVALH
;
2134 //==============================================================================
2137 extern __at(0x0F90) __sfr ALRMRPT
;
2151 extern __at(0x0F90) volatile __ALRMRPTbits_t ALRMRPTbits
;
2162 //==============================================================================
2165 //==============================================================================
2168 extern __at(0x0F91) __sfr ALRMCFG
;
2174 unsigned ALRMPTR0
: 1;
2175 unsigned ALRMPTR1
: 1;
2176 unsigned AMASK0
: 1;
2177 unsigned AMASK1
: 1;
2178 unsigned AMASK2
: 1;
2179 unsigned AMASK3
: 1;
2181 unsigned ALRMEN
: 1;
2186 unsigned ALRMPTR
: 2;
2198 extern __at(0x0F91) volatile __ALRMCFGbits_t ALRMCFGbits
;
2200 #define _ALRMPTR0 0x01
2201 #define _ALRMPTR1 0x02
2202 #define _AMASK0 0x04
2203 #define _AMASK1 0x08
2204 #define _AMASK2 0x10
2205 #define _AMASK3 0x20
2207 #define _ALRMEN 0x80
2209 //==============================================================================
2212 //==============================================================================
2215 extern __at(0x0F92) __sfr TRISA
;
2219 unsigned TRISA0
: 1;
2220 unsigned TRISA1
: 1;
2221 unsigned TRISA2
: 1;
2222 unsigned TRISA3
: 1;
2224 unsigned TRISA5
: 1;
2225 unsigned TRISA6
: 1;
2226 unsigned TRISA7
: 1;
2229 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits
;
2231 #define _TRISA0 0x01
2232 #define _TRISA1 0x02
2233 #define _TRISA2 0x04
2234 #define _TRISA3 0x08
2235 #define _TRISA5 0x20
2236 #define _TRISA6 0x40
2237 #define _TRISA7 0x80
2239 //==============================================================================
2242 //==============================================================================
2245 extern __at(0x0F93) __sfr TRISB
;
2249 unsigned TRISB0
: 1;
2250 unsigned TRISB1
: 1;
2251 unsigned TRISB2
: 1;
2252 unsigned TRISB3
: 1;
2253 unsigned TRISB4
: 1;
2254 unsigned TRISB5
: 1;
2255 unsigned TRISB6
: 1;
2256 unsigned TRISB7
: 1;
2259 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits
;
2261 #define _TRISB0 0x01
2262 #define _TRISB1 0x02
2263 #define _TRISB2 0x04
2264 #define _TRISB3 0x08
2265 #define _TRISB4 0x10
2266 #define _TRISB5 0x20
2267 #define _TRISB6 0x40
2268 #define _TRISB7 0x80
2270 //==============================================================================
2273 //==============================================================================
2276 extern __at(0x0F94) __sfr TRISC
;
2280 unsigned TRISC0
: 1;
2281 unsigned TRISC1
: 1;
2282 unsigned TRISC2
: 1;
2283 unsigned TRISC3
: 1;
2284 unsigned TRISC4
: 1;
2285 unsigned TRISC5
: 1;
2286 unsigned TRISC6
: 1;
2287 unsigned TRISC7
: 1;
2290 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits
;
2292 #define _TRISC0 0x01
2293 #define _TRISC1 0x02
2294 #define _TRISC2 0x04
2295 #define _TRISC3 0x08
2296 #define _TRISC4 0x10
2297 #define _TRISC5 0x20
2298 #define _TRISC6 0x40
2299 #define _TRISC7 0x80
2301 //==============================================================================
2304 //==============================================================================
2307 extern __at(0x0F95) __sfr TRISD
;
2311 unsigned TRISD0
: 1;
2312 unsigned TRISD1
: 1;
2313 unsigned TRISD2
: 1;
2314 unsigned TRISD3
: 1;
2315 unsigned TRISD4
: 1;
2316 unsigned TRISD5
: 1;
2317 unsigned TRISD6
: 1;
2318 unsigned TRISD7
: 1;
2321 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits
;
2323 #define _TRISD0 0x01
2324 #define _TRISD1 0x02
2325 #define _TRISD2 0x04
2326 #define _TRISD3 0x08
2327 #define _TRISD4 0x10
2328 #define _TRISD5 0x20
2329 #define _TRISD6 0x40
2330 #define _TRISD7 0x80
2332 //==============================================================================
2335 //==============================================================================
2338 extern __at(0x0F96) __sfr TRISE
;
2344 unsigned TRISE0
: 1;
2345 unsigned TRISE1
: 1;
2346 unsigned TRISE2
: 1;
2361 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits
;
2363 #define _TRISE0 0x01
2364 #define _TRISE1 0x02
2365 #define _TRISE2 0x04
2367 //==============================================================================
2370 //==============================================================================
2373 extern __at(0x0F97) __sfr T3GCON
;
2379 unsigned T3GSS0
: 1;
2380 unsigned T3GSS1
: 1;
2381 unsigned T3GVAL
: 1;
2382 unsigned T3GGO_T3DONE
: 1;
2383 unsigned T3GSPM
: 1;
2385 unsigned T3GPOL
: 1;
2386 unsigned TMR3GE
: 1;
2406 unsigned T3DONE
: 1;
2420 extern __at(0x0F97) volatile __T3GCONbits_t T3GCONbits
;
2422 #define _T3GSS0 0x01
2423 #define _T3GSS1 0x02
2424 #define _T3GVAL 0x04
2425 #define _T3GGO_T3DONE 0x08
2427 #define _T3DONE 0x08
2428 #define _T3GSPM 0x10
2430 #define _T3GPOL 0x40
2431 #define _TMR3GE 0x80
2433 //==============================================================================
2435 extern __at(0x0F98) __sfr RTCVALL
;
2436 extern __at(0x0F99) __sfr RTCVALH
;
2438 //==============================================================================
2441 extern __at(0x0F9A) __sfr T1GCON
;
2447 unsigned T1GSS0
: 1;
2448 unsigned T1GSS1
: 1;
2449 unsigned T1GVAL
: 1;
2450 unsigned T1GGO_T1DONE
: 1;
2451 unsigned T1GSPM
: 1;
2453 unsigned T1GPOL
: 1;
2454 unsigned TMR1GE
: 1;
2474 unsigned T1DONE
: 1;
2488 extern __at(0x0F9A) volatile __T1GCONbits_t T1GCONbits
;
2490 #define _T1GSS0 0x01
2491 #define _T1GSS1 0x02
2492 #define _T1GVAL 0x04
2493 #define _T1GGO_T1DONE 0x08
2495 #define _T1DONE 0x08
2496 #define _T1GSPM 0x10
2498 #define _T1GPOL 0x40
2499 #define _TMR1GE 0x80
2501 //==============================================================================
2504 //==============================================================================
2507 extern __at(0x0F9B) __sfr OSCTUNE
;
2520 unsigned INTSRC
: 1;
2530 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits
;
2539 #define _INTSRC 0x80
2541 //==============================================================================
2544 //==============================================================================
2547 extern __at(0x0F9C) __sfr RCSTA2
;
2568 unsigned ADDEN2
: 1;
2576 extern __at(0x0F9C) volatile __RCSTA2bits_t RCSTA2bits
;
2578 #define _RCSTA2_RX9D 0x01
2579 #define _RCSTA2_RX9D2 0x01
2580 #define _RCSTA2_OERR 0x02
2581 #define _RCSTA2_OERR2 0x02
2582 #define _RCSTA2_FERR 0x04
2583 #define _RCSTA2_FERR2 0x04
2584 #define _RCSTA2_ADDEN 0x08
2585 #define _RCSTA2_ADDEN2 0x08
2586 #define _RCSTA2_CREN 0x10
2587 #define _RCSTA2_CREN2 0x10
2588 #define _RCSTA2_SREN 0x20
2589 #define _RCSTA2_SREN2 0x20
2590 #define _RCSTA2_RX9 0x40
2591 #define _RCSTA2_RX92 0x40
2592 #define _RCSTA2_SPEN 0x80
2593 #define _RCSTA2_SPEN2 0x80
2595 //==============================================================================
2598 //==============================================================================
2601 extern __at(0x0F9D) __sfr PIE1
;
2607 unsigned TMR1IE
: 1;
2608 unsigned TMR2IE
: 1;
2609 unsigned CCP1IE
: 1;
2610 unsigned SSP1IE
: 1;
2630 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits
;
2632 #define _TMR1IE 0x01
2633 #define _TMR2IE 0x02
2634 #define _CCP1IE 0x04
2635 #define _SSP1IE 0x08
2644 //==============================================================================
2647 //==============================================================================
2650 extern __at(0x0F9E) __sfr PIR1
;
2656 unsigned TMR1IF
: 1;
2657 unsigned TMR2IF
: 1;
2658 unsigned CCP1IF
: 1;
2659 unsigned SSP1IF
: 1;
2679 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits
;
2681 #define _TMR1IF 0x01
2682 #define _TMR2IF 0x02
2683 #define _CCP1IF 0x04
2684 #define _SSP1IF 0x08
2693 //==============================================================================
2696 //==============================================================================
2699 extern __at(0x0F9F) __sfr IPR1
;
2705 unsigned TMR1IP
: 1;
2706 unsigned TMR2IP
: 1;
2707 unsigned CCP1IP
: 1;
2708 unsigned SSP1IP
: 1;
2728 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits
;
2730 #define _TMR1IP 0x01
2731 #define _TMR2IP 0x02
2732 #define _CCP1IP 0x04
2733 #define _SSP1IP 0x08
2742 //==============================================================================
2745 //==============================================================================
2748 extern __at(0x0FA0) __sfr PIE2
;
2754 unsigned CCP2IE
: 1;
2755 unsigned TMR3IE
: 1;
2757 unsigned BCL1IE
: 1;
2761 unsigned OSCFIE
: 1;
2777 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits
;
2779 #define _CCP2IE 0x01
2780 #define _TMR3IE 0x02
2782 #define _BCL1IE 0x08
2786 #define _OSCFIE 0x80
2788 //==============================================================================
2791 //==============================================================================
2794 extern __at(0x0FA1) __sfr PIR2
;
2800 unsigned CCP2IF
: 1;
2801 unsigned TMR3IF
: 1;
2803 unsigned BCL1IF
: 1;
2807 unsigned OSCFIF
: 1;
2823 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits
;
2825 #define _CCP2IF 0x01
2826 #define _TMR3IF 0x02
2828 #define _BCL1IF 0x08
2832 #define _OSCFIF 0x80
2834 //==============================================================================
2837 //==============================================================================
2840 extern __at(0x0FA2) __sfr IPR2
;
2846 unsigned CCP2IP
: 1;
2847 unsigned TMR3IP
: 1;
2849 unsigned BCL1IP
: 1;
2853 unsigned OSCFIP
: 1;
2869 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits
;
2871 #define _CCP2IP 0x01
2872 #define _TMR3IP 0x02
2874 #define _BCL1IP 0x08
2878 #define _OSCFIP 0x80
2880 //==============================================================================
2883 //==============================================================================
2886 extern __at(0x0FA3) __sfr PIE3
;
2890 unsigned RTCCIE
: 1;
2891 unsigned TMR3GIE
: 1;
2892 unsigned CTMUIE
: 1;
2893 unsigned TMR4IE
: 1;
2896 unsigned BCL2IE
: 1;
2897 unsigned SSP2IE
: 1;
2900 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits
;
2902 #define _RTCCIE 0x01
2903 #define _TMR3GIE 0x02
2904 #define _CTMUIE 0x04
2905 #define _TMR4IE 0x08
2908 #define _BCL2IE 0x40
2909 #define _SSP2IE 0x80
2911 //==============================================================================
2914 //==============================================================================
2917 extern __at(0x0FA4) __sfr PIR3
;
2921 unsigned RTCCIF
: 1;
2922 unsigned TMR3GIF
: 1;
2923 unsigned CTMUIF
: 1;
2924 unsigned TMR4IF
: 1;
2927 unsigned BCL2IF
: 1;
2928 unsigned SSP2IF
: 1;
2931 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits
;
2933 #define _RTCCIF 0x01
2934 #define _TMR3GIF 0x02
2935 #define _CTMUIF 0x04
2936 #define _TMR4IF 0x08
2939 #define _BCL2IF 0x40
2940 #define _SSP2IF 0x80
2942 //==============================================================================
2945 //==============================================================================
2948 extern __at(0x0FA5) __sfr IPR3
;
2952 unsigned RTCCIP
: 1;
2953 unsigned TMR3GIP
: 1;
2954 unsigned CTMUIP
: 1;
2955 unsigned TMR4IP
: 1;
2958 unsigned BCL2IP
: 1;
2959 unsigned SSP2IP
: 1;
2962 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits
;
2964 #define _RTCCIP 0x01
2965 #define _TMR3GIP 0x02
2966 #define _CTMUIP 0x04
2967 #define _TMR4IP 0x08
2970 #define _BCL2IP 0x40
2971 #define _SSP2IP 0x80
2973 //==============================================================================
2976 //==============================================================================
2979 extern __at(0x0FA6) __sfr EECON1
;
2993 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits
;
3001 //==============================================================================
3003 extern __at(0x0FA7) __sfr EECON2
;
3005 //==============================================================================
3008 extern __at(0x0FA8) __sfr TXSTA2
;
3029 unsigned SENDB2
: 1;
3037 extern __at(0x0FA8) volatile __TXSTA2bits_t TXSTA2bits
;
3039 #define _TXSTA2_TX9D 0x01
3040 #define _TXSTA2_TX9D2 0x01
3041 #define _TXSTA2_TRMT 0x02
3042 #define _TXSTA2_TRMT2 0x02
3043 #define _TXSTA2_BRGH 0x04
3044 #define _TXSTA2_BRGH2 0x04
3045 #define _TXSTA2_SENDB 0x08
3046 #define _TXSTA2_SENDB2 0x08
3047 #define _TXSTA2_SYNC 0x10
3048 #define _TXSTA2_SYNC2 0x10
3049 #define _TXSTA2_TXEN 0x20
3050 #define _TXSTA2_TXEN2 0x20
3051 #define _TXSTA2_TX9 0x40
3052 #define _TXSTA2_TX92 0x40
3053 #define _TXSTA2_CSRC 0x80
3054 #define _TXSTA2_CSRC2 0x80
3056 //==============================================================================
3058 extern __at(0x0FA9) __sfr TXREG2
;
3059 extern __at(0x0FAA) __sfr RCREG2
;
3060 extern __at(0x0FAB) __sfr SPBRG2
;
3062 //==============================================================================
3065 extern __at(0x0FAC) __sfr RCSTA
;
3098 unsigned ADDEN1
: 1;
3101 unsigned NOT_RC8
: 1;
3130 extern __at(0x0FAC) volatile __RCSTAbits_t RCSTAbits
;
3141 #define _ADDEN1 0x08
3148 #define _NOT_RC8 0x40
3154 //==============================================================================
3157 //==============================================================================
3160 extern __at(0x0FAC) __sfr RCSTA1
;
3193 unsigned ADDEN1
: 1;
3196 unsigned NOT_RC8
: 1;
3225 extern __at(0x0FAC) volatile __RCSTA1bits_t RCSTA1bits
;
3227 #define _RCSTA1_RX9D 0x01
3228 #define _RCSTA1_RCD8 0x01
3229 #define _RCSTA1_RX9D1 0x01
3230 #define _RCSTA1_OERR 0x02
3231 #define _RCSTA1_OERR1 0x02
3232 #define _RCSTA1_FERR 0x04
3233 #define _RCSTA1_FERR1 0x04
3234 #define _RCSTA1_ADDEN 0x08
3235 #define _RCSTA1_ADEN 0x08
3236 #define _RCSTA1_ADDEN1 0x08
3237 #define _RCSTA1_CREN 0x10
3238 #define _RCSTA1_CREN1 0x10
3239 #define _RCSTA1_SREN 0x20
3240 #define _RCSTA1_SREN1 0x20
3241 #define _RCSTA1_RX9 0x40
3242 #define _RCSTA1_RC9 0x40
3243 #define _RCSTA1_NOT_RC8 0x40
3244 #define _RCSTA1_RC8_9 0x40
3245 #define _RCSTA1_RX91 0x40
3246 #define _RCSTA1_SPEN 0x80
3247 #define _RCSTA1_SPEN1 0x80
3249 //==============================================================================
3252 //==============================================================================
3255 extern __at(0x0FAD) __sfr TXSTA
;
3276 unsigned SENDB1
: 1;
3291 unsigned NOT_TX8
: 1;
3308 extern __at(0x0FAD) volatile __TXSTAbits_t TXSTAbits
;
3318 #define _SENDB1 0x08
3325 #define _NOT_TX8 0x40
3330 //==============================================================================
3333 //==============================================================================
3336 extern __at(0x0FAD) __sfr TXSTA1
;
3357 unsigned SENDB1
: 1;
3372 unsigned NOT_TX8
: 1;
3389 extern __at(0x0FAD) volatile __TXSTA1bits_t TXSTA1bits
;
3391 #define _TXSTA1_TX9D 0x01
3392 #define _TXSTA1_TXD8 0x01
3393 #define _TXSTA1_TX9D1 0x01
3394 #define _TXSTA1_TRMT 0x02
3395 #define _TXSTA1_TRMT1 0x02
3396 #define _TXSTA1_BRGH 0x04
3397 #define _TXSTA1_BRGH1 0x04
3398 #define _TXSTA1_SENDB 0x08
3399 #define _TXSTA1_SENDB1 0x08
3400 #define _TXSTA1_SYNC 0x10
3401 #define _TXSTA1_SYNC1 0x10
3402 #define _TXSTA1_TXEN 0x20
3403 #define _TXSTA1_TXEN1 0x20
3404 #define _TXSTA1_TX9 0x40
3405 #define _TXSTA1_TX8_9 0x40
3406 #define _TXSTA1_NOT_TX8 0x40
3407 #define _TXSTA1_TX91 0x40
3408 #define _TXSTA1_CSRC 0x80
3409 #define _TXSTA1_CSRC1 0x80
3411 //==============================================================================
3413 extern __at(0x0FAE) __sfr TXREG
;
3414 extern __at(0x0FAE) __sfr TXREG1
;
3415 extern __at(0x0FAF) __sfr RCREG
;
3416 extern __at(0x0FAF) __sfr RCREG1
;
3417 extern __at(0x0FB0) __sfr SPBRG
;
3418 extern __at(0x0FB0) __sfr SPBRG1
;
3420 //==============================================================================
3423 extern __at(0x0FB1) __sfr CTMUICON
;
3431 unsigned ITRIM0
: 1;
3432 unsigned ITRIM1
: 1;
3433 unsigned ITRIM2
: 1;
3434 unsigned ITRIM3
: 1;
3435 unsigned ITRIM4
: 1;
3436 unsigned ITRIM5
: 1;
3452 extern __at(0x0FB1) volatile __CTMUICONbits_t CTMUICONbits
;
3456 #define _ITRIM0 0x04
3457 #define _ITRIM1 0x08
3458 #define _ITRIM2 0x10
3459 #define _ITRIM3 0x20
3460 #define _ITRIM4 0x40
3461 #define _ITRIM5 0x80
3463 //==============================================================================
3466 //==============================================================================
3469 extern __at(0x0FB2) __sfr CTMUCONL
;
3475 unsigned EDG1STAT
: 1;
3476 unsigned EDG2STAT
: 1;
3477 unsigned EDG1SEL0
: 1;
3478 unsigned EDG1SEL1
: 1;
3479 unsigned EDG1POL
: 1;
3480 unsigned EDG2SEL0
: 1;
3481 unsigned EDG2SEL1
: 1;
3482 unsigned EDG2POL
: 1;
3488 unsigned EDG1SEL
: 2;
3495 unsigned EDG2SEL
: 2;
3500 extern __at(0x0FB2) volatile __CTMUCONLbits_t CTMUCONLbits
;
3502 #define _EDG1STAT 0x01
3503 #define _EDG2STAT 0x02
3504 #define _EDG1SEL0 0x04
3505 #define _EDG1SEL1 0x08
3506 #define _EDG1POL 0x10
3507 #define _EDG2SEL0 0x20
3508 #define _EDG2SEL1 0x40
3509 #define _EDG2POL 0x80
3511 //==============================================================================
3514 //==============================================================================
3517 extern __at(0x0FB3) __sfr CTMUCONH
;
3521 unsigned CTTRIG
: 1;
3522 unsigned IDISSEN
: 1;
3523 unsigned EDGSEQEN
: 1;
3526 unsigned CTMUSIDL
: 1;
3528 unsigned CTMUEN
: 1;
3531 extern __at(0x0FB3) volatile __CTMUCONHbits_t CTMUCONHbits
;
3533 #define _CTTRIG 0x01
3534 #define _IDISSEN 0x02
3535 #define _EDGSEQEN 0x04
3538 #define _CTMUSIDL 0x20
3539 #define _CTMUEN 0x80
3541 //==============================================================================
3544 //==============================================================================
3547 extern __at(0x0FB4) __sfr CCP2CON
;
3553 unsigned CCP2M0
: 1;
3554 unsigned CCP2M1
: 1;
3555 unsigned CCP2M2
: 1;
3556 unsigned CCP2M3
: 1;
3595 extern __at(0x0FB4) volatile __CCP2CONbits_t CCP2CONbits
;
3597 #define _CCP2M0 0x01
3598 #define _CCP2M1 0x02
3599 #define _CCP2M2 0x04
3600 #define _CCP2M3 0x08
3608 //==============================================================================
3611 //==============================================================================
3614 extern __at(0x0FB4) __sfr ECCP2CON
;
3620 unsigned CCP2M0
: 1;
3621 unsigned CCP2M1
: 1;
3622 unsigned CCP2M2
: 1;
3623 unsigned CCP2M3
: 1;
3662 extern __at(0x0FB4) volatile __ECCP2CONbits_t ECCP2CONbits
;
3664 #define _ECCP2CON_CCP2M0 0x01
3665 #define _ECCP2CON_CCP2M1 0x02
3666 #define _ECCP2CON_CCP2M2 0x04
3667 #define _ECCP2CON_CCP2M3 0x08
3668 #define _ECCP2CON_DC2B0 0x10
3669 #define _ECCP2CON_CCP2Y 0x10
3670 #define _ECCP2CON_DC2B1 0x20
3671 #define _ECCP2CON_CCP2X 0x20
3672 #define _ECCP2CON_P2M0 0x40
3673 #define _ECCP2CON_P2M1 0x80
3675 //==============================================================================
3677 extern __at(0x0FB5) __sfr CCPR2
;
3678 extern __at(0x0FB5) __sfr CCPR2L
;
3679 extern __at(0x0FB6) __sfr CCPR2H
;
3681 //==============================================================================
3684 extern __at(0x0FB7) __sfr ECCP2DEL
;
3697 unsigned P2RSEN
: 1;
3707 extern __at(0x0FB7) volatile __ECCP2DELbits_t ECCP2DELbits
;
3716 #define _P2RSEN 0x80
3718 //==============================================================================
3721 //==============================================================================
3724 extern __at(0x0FB7) __sfr PWM2CON
;
3737 unsigned P2RSEN
: 1;
3747 extern __at(0x0FB7) volatile __PWM2CONbits_t PWM2CONbits
;
3749 #define _PWM2CON_P2DC0 0x01
3750 #define _PWM2CON_P2DC1 0x02
3751 #define _PWM2CON_P2DC2 0x04
3752 #define _PWM2CON_P2DC3 0x08
3753 #define _PWM2CON_P2DC4 0x10
3754 #define _PWM2CON_P2DC5 0x20
3755 #define _PWM2CON_P2DC6 0x40
3756 #define _PWM2CON_P2RSEN 0x80
3758 //==============================================================================
3761 //==============================================================================
3764 extern __at(0x0FB8) __sfr ECCP2AS
;
3770 unsigned PSS2BD0
: 1;
3771 unsigned PSS2BD1
: 1;
3772 unsigned PSS2AC0
: 1;
3773 unsigned PSS2AC1
: 1;
3774 unsigned ECCP2AS0
: 1;
3775 unsigned ECCP2AS1
: 1;
3776 unsigned ECCP2AS2
: 1;
3777 unsigned ECCP2ASE
: 1;
3782 unsigned PSS2BD
: 2;
3789 unsigned PSS2AC
: 2;
3796 unsigned ECCP2AS
: 3;
3801 extern __at(0x0FB8) volatile __ECCP2ASbits_t ECCP2ASbits
;
3803 #define _PSS2BD0 0x01
3804 #define _PSS2BD1 0x02
3805 #define _PSS2AC0 0x04
3806 #define _PSS2AC1 0x08
3807 #define _ECCP2AS0 0x10
3808 #define _ECCP2AS1 0x20
3809 #define _ECCP2AS2 0x40
3810 #define _ECCP2ASE 0x80
3812 //==============================================================================
3815 //==============================================================================
3818 extern __at(0x0FB9) __sfr PSTR2CON
;
3828 unsigned STRSYNC
: 1;
3841 unsigned P2DC52
: 1;
3848 unsigned P2DC02
: 1;
3849 unsigned P2DC12
: 1;
3850 unsigned P2DC22
: 1;
3851 unsigned P2DC32
: 1;
3852 unsigned P2DC42
: 1;
3854 unsigned P2DC62
: 1;
3865 extern __at(0x0FB9) volatile __PSTR2CONbits_t PSTR2CONbits
;
3867 #define _PSTR2CON_STRA 0x01
3868 #define _PSTR2CON_P2DC0 0x01
3869 #define _PSTR2CON_P2DC02 0x01
3870 #define _PSTR2CON_STRB 0x02
3871 #define _PSTR2CON_P2DC1 0x02
3872 #define _PSTR2CON_P2DC12 0x02
3873 #define _PSTR2CON_STRC 0x04
3874 #define _PSTR2CON_P2DC2 0x04
3875 #define _PSTR2CON_P2DC22 0x04
3876 #define _PSTR2CON_STRD 0x08
3877 #define _PSTR2CON_P2DC3 0x08
3878 #define _PSTR2CON_P2DC32 0x08
3879 #define _PSTR2CON_STRSYNC 0x10
3880 #define _PSTR2CON_P2DC4 0x10
3881 #define _PSTR2CON_P2DC42 0x10
3882 #define _PSTR2CON_P2DC5 0x20
3883 #define _PSTR2CON_P2DC52 0x20
3884 #define _PSTR2CON_CMPL0 0x40
3885 #define _PSTR2CON_P2DC6 0x40
3886 #define _PSTR2CON_P2DC62 0x40
3887 #define _PSTR2CON_CMPL1 0x80
3889 //==============================================================================
3892 //==============================================================================
3895 extern __at(0x0FBA) __sfr CCP1CON
;
3901 unsigned CCP1M0
: 1;
3902 unsigned CCP1M1
: 1;
3903 unsigned CCP1M2
: 1;
3904 unsigned CCP1M3
: 1;
3943 extern __at(0x0FBA) volatile __CCP1CONbits_t CCP1CONbits
;
3945 #define _CCP1M0 0x01
3946 #define _CCP1M1 0x02
3947 #define _CCP1M2 0x04
3948 #define _CCP1M3 0x08
3956 //==============================================================================
3959 //==============================================================================
3962 extern __at(0x0FBA) __sfr ECCP1CON
;
3968 unsigned CCP1M0
: 1;
3969 unsigned CCP1M1
: 1;
3970 unsigned CCP1M2
: 1;
3971 unsigned CCP1M3
: 1;
4010 extern __at(0x0FBA) volatile __ECCP1CONbits_t ECCP1CONbits
;
4012 #define _ECCP1CON_CCP1M0 0x01
4013 #define _ECCP1CON_CCP1M1 0x02
4014 #define _ECCP1CON_CCP1M2 0x04
4015 #define _ECCP1CON_CCP1M3 0x08
4016 #define _ECCP1CON_DC1B0 0x10
4017 #define _ECCP1CON_CCP1Y 0x10
4018 #define _ECCP1CON_DC1B1 0x20
4019 #define _ECCP1CON_CCP1X 0x20
4020 #define _ECCP1CON_P1M0 0x40
4021 #define _ECCP1CON_P1M1 0x80
4023 //==============================================================================
4025 extern __at(0x0FBB) __sfr CCPR1
;
4026 extern __at(0x0FBB) __sfr CCPR1L
;
4027 extern __at(0x0FBC) __sfr CCPR1H
;
4029 //==============================================================================
4032 extern __at(0x0FBD) __sfr ECCP1DEL
;
4045 unsigned P1RSEN
: 1;
4055 extern __at(0x0FBD) volatile __ECCP1DELbits_t ECCP1DELbits
;
4064 #define _P1RSEN 0x80
4066 //==============================================================================
4069 //==============================================================================
4072 extern __at(0x0FBD) __sfr PWM1CON
;
4085 unsigned P1RSEN
: 1;
4095 extern __at(0x0FBD) volatile __PWM1CONbits_t PWM1CONbits
;
4097 #define _PWM1CON_P1DC0 0x01
4098 #define _PWM1CON_P1DC1 0x02
4099 #define _PWM1CON_P1DC2 0x04
4100 #define _PWM1CON_P1DC3 0x08
4101 #define _PWM1CON_P1DC4 0x10
4102 #define _PWM1CON_P1DC5 0x20
4103 #define _PWM1CON_P1DC6 0x40
4104 #define _PWM1CON_P1RSEN 0x80
4106 //==============================================================================
4109 //==============================================================================
4112 extern __at(0x0FBE) __sfr ECCP1AS
;
4118 unsigned PSS1BD0
: 1;
4119 unsigned PSS1BD1
: 1;
4120 unsigned PSS1AC0
: 1;
4121 unsigned PSS1AC1
: 1;
4122 unsigned ECCP1AS0
: 1;
4123 unsigned ECCP1AS1
: 1;
4124 unsigned ECCP1AS2
: 1;
4125 unsigned ECCP1ASE
: 1;
4130 unsigned PSS1BD
: 2;
4137 unsigned PSS1AC
: 2;
4144 unsigned ECCP1AS
: 3;
4149 extern __at(0x0FBE) volatile __ECCP1ASbits_t ECCP1ASbits
;
4151 #define _PSS1BD0 0x01
4152 #define _PSS1BD1 0x02
4153 #define _PSS1AC0 0x04
4154 #define _PSS1AC1 0x08
4155 #define _ECCP1AS0 0x10
4156 #define _ECCP1AS1 0x20
4157 #define _ECCP1AS2 0x40
4158 #define _ECCP1ASE 0x80
4160 //==============================================================================
4163 //==============================================================================
4166 extern __at(0x0FBF) __sfr PSTR1CON
;
4176 unsigned STRSYNC
: 1;
4189 extern __at(0x0FBF) volatile __PSTR1CONbits_t PSTR1CONbits
;
4195 #define _STRSYNC 0x10
4199 //==============================================================================
4202 //==============================================================================
4205 extern __at(0x0FC0) __sfr WDTCON
;
4211 unsigned SWDTEN
: 1;
4212 unsigned ULPSINK
: 1;
4216 unsigned ULPLVL
: 1;
4217 unsigned LVDSTAT
: 1;
4218 unsigned REGSLP
: 1;
4234 extern __at(0x0FC0) volatile __WDTCONbits_t WDTCONbits
;
4236 #define _SWDTEN 0x01
4238 #define _ULPSINK 0x02
4241 #define _ULPLVL 0x20
4242 #define _LVDSTAT 0x40
4243 #define _REGSLP 0x80
4245 //==============================================================================
4248 //==============================================================================
4251 extern __at(0x0FC1) __sfr ADCON1
;
4281 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits
;
4292 //==============================================================================
4295 //==============================================================================
4298 extern __at(0x0FC2) __sfr ADCON0
;
4305 unsigned GO_NOT_DONE
: 1;
4317 unsigned GO_DONE
: 1;
4353 unsigned NOT_DONE
: 1;
4376 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits
;
4379 #define _GO_NOT_DONE 0x02
4380 #define _GO_DONE 0x02
4383 #define _NOT_DONE 0x02
4391 //==============================================================================
4393 extern __at(0x0FC3) __sfr ADRES
;
4394 extern __at(0x0FC3) __sfr ADRESL
;
4395 extern __at(0x0FC4) __sfr ADRESH
;
4397 //==============================================================================
4400 extern __at(0x0FC5) __sfr SSP1CON2
;
4412 unsigned ACKSTAT
: 1;
4419 unsigned ADMSK1
: 1;
4420 unsigned ADMSK2
: 1;
4421 unsigned ADMSK3
: 1;
4422 unsigned ADMSK4
: 1;
4423 unsigned ADMSK5
: 1;
4429 extern __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits
;
4433 #define _ADMSK1 0x02
4435 #define _ADMSK2 0x04
4437 #define _ADMSK3 0x08
4439 #define _ADMSK4 0x10
4441 #define _ADMSK5 0x20
4442 #define _ACKSTAT 0x40
4445 //==============================================================================
4448 //==============================================================================
4451 extern __at(0x0FC5) __sfr SSPCON2
;
4463 unsigned ACKSTAT
: 1;
4470 unsigned ADMSK1
: 1;
4471 unsigned ADMSK2
: 1;
4472 unsigned ADMSK3
: 1;
4473 unsigned ADMSK4
: 1;
4474 unsigned ADMSK5
: 1;
4480 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits
;
4482 #define _SSPCON2_SEN 0x01
4483 #define _SSPCON2_RSEN 0x02
4484 #define _SSPCON2_ADMSK1 0x02
4485 #define _SSPCON2_PEN 0x04
4486 #define _SSPCON2_ADMSK2 0x04
4487 #define _SSPCON2_RCEN 0x08
4488 #define _SSPCON2_ADMSK3 0x08
4489 #define _SSPCON2_ACKEN 0x10
4490 #define _SSPCON2_ADMSK4 0x10
4491 #define _SSPCON2_ACKDT 0x20
4492 #define _SSPCON2_ADMSK5 0x20
4493 #define _SSPCON2_ACKSTAT 0x40
4494 #define _SSPCON2_GCEN 0x80
4496 //==============================================================================
4499 //==============================================================================
4502 extern __at(0x0FC6) __sfr SSP1CON1
;
4525 extern __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits
;
4536 //==============================================================================
4539 //==============================================================================
4542 extern __at(0x0FC6) __sfr SSPCON1
;
4565 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits
;
4567 #define _SSPCON1_SSPM0 0x01
4568 #define _SSPCON1_SSPM1 0x02
4569 #define _SSPCON1_SSPM2 0x04
4570 #define _SSPCON1_SSPM3 0x08
4571 #define _SSPCON1_CKP 0x10
4572 #define _SSPCON1_SSPEN 0x20
4573 #define _SSPCON1_SSPOV 0x40
4574 #define _SSPCON1_WCOL 0x80
4576 //==============================================================================
4579 //==============================================================================
4582 extern __at(0x0FC7) __sfr SSP1STAT
;
4590 unsigned R_NOT_W
: 1;
4593 unsigned D_NOT_A
: 1;
4603 unsigned I2C_START
: 1;
4604 unsigned I2C_STOP
: 1;
4638 unsigned NOT_WRITE
: 1;
4641 unsigned NOT_ADDRESS
: 1;
4650 unsigned READ_WRITE
: 1;
4653 unsigned DATA_ADDRESS
: 1;
4662 unsigned I2C_READ
: 1;
4665 unsigned I2C_DAT
: 1;
4671 extern __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits
;
4675 #define _R_NOT_W 0x04
4679 #define _NOT_WRITE 0x04
4680 #define _READ_WRITE 0x04
4681 #define _I2C_READ 0x04
4683 #define _I2C_START 0x08
4685 #define _I2C_STOP 0x10
4686 #define _D_NOT_A 0x20
4690 #define _NOT_ADDRESS 0x20
4691 #define _DATA_ADDRESS 0x20
4692 #define _I2C_DAT 0x20
4696 //==============================================================================
4699 //==============================================================================
4702 extern __at(0x0FC7) __sfr SSPSTAT
;
4710 unsigned R_NOT_W
: 1;
4713 unsigned D_NOT_A
: 1;
4723 unsigned I2C_START
: 1;
4724 unsigned I2C_STOP
: 1;
4758 unsigned NOT_WRITE
: 1;
4761 unsigned NOT_ADDRESS
: 1;
4770 unsigned READ_WRITE
: 1;
4773 unsigned DATA_ADDRESS
: 1;
4782 unsigned I2C_READ
: 1;
4785 unsigned I2C_DAT
: 1;
4791 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits
;
4793 #define _SSPSTAT_BF 0x01
4794 #define _SSPSTAT_UA 0x02
4795 #define _SSPSTAT_R_NOT_W 0x04
4796 #define _SSPSTAT_R 0x04
4797 #define _SSPSTAT_R_W 0x04
4798 #define _SSPSTAT_NOT_W 0x04
4799 #define _SSPSTAT_NOT_WRITE 0x04
4800 #define _SSPSTAT_READ_WRITE 0x04
4801 #define _SSPSTAT_I2C_READ 0x04
4802 #define _SSPSTAT_S 0x08
4803 #define _SSPSTAT_I2C_START 0x08
4804 #define _SSPSTAT_P 0x10
4805 #define _SSPSTAT_I2C_STOP 0x10
4806 #define _SSPSTAT_D_NOT_A 0x20
4807 #define _SSPSTAT_D 0x20
4808 #define _SSPSTAT_D_A 0x20
4809 #define _SSPSTAT_NOT_A 0x20
4810 #define _SSPSTAT_NOT_ADDRESS 0x20
4811 #define _SSPSTAT_DATA_ADDRESS 0x20
4812 #define _SSPSTAT_I2C_DAT 0x20
4813 #define _SSPSTAT_CKE 0x40
4814 #define _SSPSTAT_SMP 0x80
4816 //==============================================================================
4819 //==============================================================================
4822 extern __at(0x0FC8) __sfr SSP1ADD
;
4836 extern __at(0x0FC8) volatile __SSP1ADDbits_t SSP1ADDbits
;
4847 //==============================================================================
4850 //==============================================================================
4853 extern __at(0x0FC8) __sfr SSP1MSK
;
4867 extern __at(0x0FC8) volatile __SSP1MSKbits_t SSP1MSKbits
;
4869 #define _SSP1MSK_MSK0 0x01
4870 #define _SSP1MSK_MSK1 0x02
4871 #define _SSP1MSK_MSK2 0x04
4872 #define _SSP1MSK_MSK3 0x08
4873 #define _SSP1MSK_MSK4 0x10
4874 #define _SSP1MSK_MSK5 0x20
4875 #define _SSP1MSK_MSK6 0x40
4876 #define _SSP1MSK_MSK7 0x80
4878 //==============================================================================
4881 //==============================================================================
4884 extern __at(0x0FC8) __sfr SSPADD
;
4898 extern __at(0x0FC8) volatile __SSPADDbits_t SSPADDbits
;
4900 #define _SSPADD_MSK0 0x01
4901 #define _SSPADD_MSK1 0x02
4902 #define _SSPADD_MSK2 0x04
4903 #define _SSPADD_MSK3 0x08
4904 #define _SSPADD_MSK4 0x10
4905 #define _SSPADD_MSK5 0x20
4906 #define _SSPADD_MSK6 0x40
4907 #define _SSPADD_MSK7 0x80
4909 //==============================================================================
4911 extern __at(0x0FC9) __sfr SSP1BUF
;
4912 extern __at(0x0FC9) __sfr SSPBUF
;
4914 //==============================================================================
4917 extern __at(0x0FCA) __sfr T2CON
;
4923 unsigned T2CKPS0
: 1;
4924 unsigned T2CKPS1
: 1;
4925 unsigned TMR2ON
: 1;
4926 unsigned T2OUTPS0
: 1;
4927 unsigned T2OUTPS1
: 1;
4928 unsigned T2OUTPS2
: 1;
4929 unsigned T2OUTPS3
: 1;
4935 unsigned T2CKPS
: 2;
4942 unsigned T2OUTPS
: 4;
4947 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits
;
4949 #define _T2CKPS0 0x01
4950 #define _T2CKPS1 0x02
4951 #define _TMR2ON 0x04
4952 #define _T2OUTPS0 0x08
4953 #define _T2OUTPS1 0x10
4954 #define _T2OUTPS2 0x20
4955 #define _T2OUTPS3 0x40
4957 //==============================================================================
4959 extern __at(0x0FCB) __sfr PR2
;
4960 extern __at(0x0FCC) __sfr TMR2
;
4962 //==============================================================================
4965 extern __at(0x0FCD) __sfr T1CON
;
4971 unsigned TMR1ON
: 1;
4973 unsigned T1SYNC
: 1;
4974 unsigned T1OSCEN
: 1;
4975 unsigned T1CKPS0
: 1;
4976 unsigned T1CKPS1
: 1;
4977 unsigned TMR1CS0
: 1;
4978 unsigned TMR1CS1
: 1;
4984 unsigned T1CKPS
: 2;
4991 unsigned TMR1CS
: 2;
4995 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits
;
4997 #define _TMR1ON 0x01
4999 #define _T1SYNC 0x04
5000 #define _T1OSCEN 0x08
5001 #define _T1CKPS0 0x10
5002 #define _T1CKPS1 0x20
5003 #define _TMR1CS0 0x40
5004 #define _TMR1CS1 0x80
5006 //==============================================================================
5008 extern __at(0x0FCE) __sfr TMR1
;
5009 extern __at(0x0FCE) __sfr TMR1L
;
5010 extern __at(0x0FCF) __sfr TMR1H
;
5012 //==============================================================================
5015 extern __at(0x0FD0) __sfr RCON
;
5021 unsigned NOT_BOR
: 1;
5022 unsigned NOT_POR
: 1;
5023 unsigned NOT_PD
: 1;
5024 unsigned NOT_TO
: 1;
5025 unsigned NOT_RI
: 1;
5026 unsigned NOT_CM
: 1;
5044 extern __at(0x0FD0) volatile __RCONbits_t RCONbits
;
5046 #define _NOT_BOR 0x01
5048 #define _NOT_POR 0x02
5050 #define _NOT_PD 0x04
5052 #define _NOT_TO 0x08
5054 #define _NOT_RI 0x10
5056 #define _NOT_CM 0x20
5060 //==============================================================================
5063 //==============================================================================
5066 extern __at(0x0FD1) __sfr CM2CON
;
5075 unsigned EVPOL0
: 1;
5076 unsigned EVPOL1
: 1;
5096 extern __at(0x0FD1) volatile __CM2CONbits_t CM2CONbits
;
5098 #define _CM2CON_CCH0 0x01
5099 #define _CM2CON_CCH1 0x02
5100 #define _CM2CON_CREF 0x04
5101 #define _CM2CON_EVPOL0 0x08
5102 #define _CM2CON_EVPOL1 0x10
5103 #define _CM2CON_CPOL 0x20
5104 #define _CM2CON_COE 0x40
5105 #define _CM2CON_CON 0x80
5107 //==============================================================================
5110 //==============================================================================
5113 extern __at(0x0FD1) __sfr CM2CON1
;
5122 unsigned EVPOL0
: 1;
5123 unsigned EVPOL1
: 1;
5143 extern __at(0x0FD1) volatile __CM2CON1bits_t CM2CON1bits
;
5145 #define _CM2CON1_CCH0 0x01
5146 #define _CM2CON1_CCH1 0x02
5147 #define _CM2CON1_CREF 0x04
5148 #define _CM2CON1_EVPOL0 0x08
5149 #define _CM2CON1_EVPOL1 0x10
5150 #define _CM2CON1_CPOL 0x20
5151 #define _CM2CON1_COE 0x40
5152 #define _CM2CON1_CON 0x80
5154 //==============================================================================
5157 //==============================================================================
5160 extern __at(0x0FD2) __sfr CM1CON
;
5169 unsigned EVPOL0
: 1;
5170 unsigned EVPOL1
: 1;
5190 extern __at(0x0FD2) volatile __CM1CONbits_t CM1CONbits
;
5195 #define _EVPOL0 0x08
5196 #define _EVPOL1 0x10
5201 //==============================================================================
5204 //==============================================================================
5207 extern __at(0x0FD2) __sfr CM1CON1
;
5216 unsigned EVPOL0
: 1;
5217 unsigned EVPOL1
: 1;
5237 extern __at(0x0FD2) volatile __CM1CON1bits_t CM1CON1bits
;
5239 #define _CM1CON1_CCH0 0x01
5240 #define _CM1CON1_CCH1 0x02
5241 #define _CM1CON1_CREF 0x04
5242 #define _CM1CON1_EVPOL0 0x08
5243 #define _CM1CON1_EVPOL1 0x10
5244 #define _CM1CON1_CPOL 0x20
5245 #define _CM1CON1_COE 0x40
5246 #define _CM1CON1_CON 0x80
5248 //==============================================================================
5251 //==============================================================================
5254 extern __at(0x0FD3) __sfr OSCCON
;
5284 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits
;
5294 //==============================================================================
5297 //==============================================================================
5300 extern __at(0x0FD5) __sfr T0CON
;
5312 unsigned T08BIT
: 1;
5313 unsigned TMR0ON
: 1;
5323 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits
;
5331 #define _T08BIT 0x40
5332 #define _TMR0ON 0x80
5334 //==============================================================================
5336 extern __at(0x0FD6) __sfr TMR0
;
5337 extern __at(0x0FD6) __sfr TMR0L
;
5338 extern __at(0x0FD7) __sfr TMR0H
;
5340 //==============================================================================
5343 extern __at(0x0FD8) __sfr STATUS
;
5357 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits
;
5365 //==============================================================================
5367 extern __at(0x0FD9) __sfr FSR2L
;
5368 extern __at(0x0FDA) __sfr FSR2H
;
5369 extern __at(0x0FDB) __sfr PLUSW2
;
5370 extern __at(0x0FDC) __sfr PREINC2
;
5371 extern __at(0x0FDD) __sfr POSTDEC2
;
5372 extern __at(0x0FDE) __sfr POSTINC2
;
5373 extern __at(0x0FDF) __sfr INDF2
;
5374 extern __at(0x0FE0) __sfr BSR
;
5375 extern __at(0x0FE1) __sfr FSR1L
;
5376 extern __at(0x0FE2) __sfr FSR1H
;
5377 extern __at(0x0FE3) __sfr PLUSW1
;
5378 extern __at(0x0FE4) __sfr PREINC1
;
5379 extern __at(0x0FE5) __sfr POSTDEC1
;
5380 extern __at(0x0FE6) __sfr POSTINC1
;
5381 extern __at(0x0FE7) __sfr INDF1
;
5382 extern __at(0x0FE8) __sfr WREG
;
5383 extern __at(0x0FE9) __sfr FSR0L
;
5384 extern __at(0x0FEA) __sfr FSR0H
;
5385 extern __at(0x0FEB) __sfr PLUSW0
;
5386 extern __at(0x0FEC) __sfr PREINC0
;
5387 extern __at(0x0FED) __sfr POSTDEC0
;
5388 extern __at(0x0FEE) __sfr POSTINC0
;
5389 extern __at(0x0FEF) __sfr INDF0
;
5391 //==============================================================================
5394 extern __at(0x0FF0) __sfr INTCON3
;
5400 unsigned INT1IF
: 1;
5401 unsigned INT2IF
: 1;
5402 unsigned INT3IF
: 1;
5403 unsigned INT1IE
: 1;
5404 unsigned INT2IE
: 1;
5405 unsigned INT3IE
: 1;
5406 unsigned INT1IP
: 1;
5407 unsigned INT2IP
: 1;
5423 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits
;
5425 #define _INT1IF 0x01
5427 #define _INT2IF 0x02
5429 #define _INT3IF 0x04
5431 #define _INT1IE 0x08
5433 #define _INT2IE 0x10
5435 #define _INT3IE 0x20
5437 #define _INT1IP 0x40
5439 #define _INT2IP 0x80
5442 //==============================================================================
5445 //==============================================================================
5448 extern __at(0x0FF1) __sfr INTCON2
;
5455 unsigned INT3IP
: 1;
5456 unsigned TMR0IP
: 1;
5457 unsigned INTEDG3
: 1;
5458 unsigned INTEDG2
: 1;
5459 unsigned INTEDG1
: 1;
5460 unsigned INTEDG0
: 1;
5461 unsigned NOT_RBPU
: 1;
5477 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits
;
5480 #define _INT3IP 0x02
5482 #define _TMR0IP 0x04
5484 #define _INTEDG3 0x08
5485 #define _INTEDG2 0x10
5486 #define _INTEDG1 0x20
5487 #define _INTEDG0 0x40
5488 #define _NOT_RBPU 0x80
5491 //==============================================================================
5494 //==============================================================================
5497 extern __at(0x0FF2) __sfr INTCON
;
5504 unsigned INT0IF
: 1;
5505 unsigned TMR0IF
: 1;
5507 unsigned INT0IE
: 1;
5508 unsigned TMR0IE
: 1;
5509 unsigned PEIE_GIEL
: 1;
5510 unsigned GIE_GIEH
: 1;
5538 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits
;
5541 #define _INT0IF 0x02
5543 #define _TMR0IF 0x04
5546 #define _INT0IE 0x10
5548 #define _TMR0IE 0x20
5550 #define _PEIE_GIEL 0x40
5553 #define _GIE_GIEH 0x80
5557 //==============================================================================
5559 extern __at(0x0FF3) __sfr PROD
;
5560 extern __at(0x0FF3) __sfr PRODL
;
5561 extern __at(0x0FF4) __sfr PRODH
;
5562 extern __at(0x0FF5) __sfr TABLAT
;
5563 extern __at(0x0FF6) __sfr TBLPTR
;
5564 extern __at(0x0FF6) __sfr TBLPTRL
;
5565 extern __at(0x0FF7) __sfr TBLPTRH
;
5566 extern __at(0x0FF8) __sfr TBLPTRU
;
5567 extern __at(0x0FF9) __sfr PC
;
5568 extern __at(0x0FF9) __sfr PCL
;
5569 extern __at(0x0FFA) __sfr PCLATH
;
5570 extern __at(0x0FFB) __sfr PCLATU
;
5572 //==============================================================================
5575 extern __at(0x0FFC) __sfr STKPTR
;
5587 unsigned STKUNF
: 1;
5588 unsigned STKFUL
: 1;
5600 unsigned STKOVF
: 1;
5610 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits
;
5617 #define _STKUNF 0x40
5618 #define _STKFUL 0x80
5619 #define _STKOVF 0x80
5621 //==============================================================================
5623 extern __at(0x0FFD) __sfr TOS
;
5624 extern __at(0x0FFD) __sfr TOSL
;
5625 extern __at(0x0FFE) __sfr TOSH
;
5626 extern __at(0x0FFF) __sfr TOSU
;
5628 //==============================================================================
5630 // Configuration Addresses
5632 //==============================================================================
5634 #define __CONFIG1L 0x003FF8
5635 #define __CONFIG1H 0x003FF9
5636 #define __CONFIG2L 0x003FFA
5637 #define __CONFIG2H 0x003FFB
5638 #define __CONFIG3L 0x003FFC
5639 #define __CONFIG3H 0x003FFD
5640 #define __CONFIG4L 0x003FFE
5641 #define __CONFIG4H 0x003FFF
5643 //==============================================================================
5645 #endif // #ifndef __PIC18F44J11_H__