2 * This declarations of the PIC18F96J65 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:40 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 __PIC18F96J65_H__
26 #define __PIC18F96J65_H__
28 //==============================================================================
30 //==============================================================================
32 // Register Definitions
34 //==============================================================================
36 extern __at(0x0E80) __sfr MAADR5
;
37 extern __at(0x0E81) __sfr MAADR6
;
38 extern __at(0x0E82) __sfr MAADR3
;
39 extern __at(0x0E83) __sfr MAADR4
;
40 extern __at(0x0E84) __sfr MAADR1
;
41 extern __at(0x0E85) __sfr MAADR2
;
43 //==============================================================================
46 extern __at(0x0E8A) __sfr MISTAT
;
60 extern __at(0x0E8A) volatile __MISTATbits_t MISTATbits
;
66 //==============================================================================
69 //==============================================================================
72 extern __at(0x0E97) __sfr EFLOCON
;
95 extern __at(0x0E97) volatile __EFLOCONbits_t EFLOCONbits
;
101 //==============================================================================
103 extern __at(0x0E98) __sfr EPAUS
;
104 extern __at(0x0E98) __sfr EPAUSL
;
105 extern __at(0x0E99) __sfr EPAUSH
;
107 //==============================================================================
110 extern __at(0x0EA0) __sfr MACON1
;
115 unsigned PASSALL
: 1;
124 extern __at(0x0EA0) volatile __MACON1bits_t MACON1bits
;
127 #define _PASSALL 0x02
131 //==============================================================================
134 //==============================================================================
137 extern __at(0x0EA2) __sfr MACON3
;
144 unsigned FRMLNEN
: 1;
147 unsigned TXCRCEN
: 1;
148 unsigned PADCFG0
: 1;
149 unsigned PADCFG1
: 1;
150 unsigned PADCFG2
: 1;
160 extern __at(0x0EA2) volatile __MACON3bits_t MACON3bits
;
163 #define _FRMLNEN 0x02
166 #define _TXCRCEN 0x10
167 #define _PADCFG0 0x20
168 #define _PADCFG1 0x40
169 #define _PADCFG2 0x80
171 //==============================================================================
174 //==============================================================================
177 extern __at(0x0EA3) __sfr MACON4
;
191 extern __at(0x0EA3) volatile __MACON4bits_t MACON4bits
;
195 //==============================================================================
198 //==============================================================================
201 extern __at(0x0EA4) __sfr MABBIPG
;
224 extern __at(0x0EA4) volatile __MABBIPGbits_t MABBIPGbits
;
234 //==============================================================================
236 extern __at(0x0EA6) __sfr MAIPG
;
237 extern __at(0x0EA6) __sfr MAIPGL
;
238 extern __at(0x0EA7) __sfr MAIPGH
;
239 extern __at(0x0EAA) __sfr MAMXFL
;
240 extern __at(0x0EAA) __sfr MAMXFLL
;
241 extern __at(0x0EAB) __sfr MAMXFLH
;
243 //==============================================================================
246 extern __at(0x0EB2) __sfr MICMD
;
251 unsigned MIISCAN
: 1;
260 extern __at(0x0EB2) volatile __MICMDbits_t MICMDbits
;
263 #define _MIISCAN 0x02
265 //==============================================================================
267 extern __at(0x0EB4) __sfr MIREGADR
;
268 extern __at(0x0EB6) __sfr MIWR
;
269 extern __at(0x0EB6) __sfr MIWRL
;
270 extern __at(0x0EB7) __sfr MIWRH
;
271 extern __at(0x0EB8) __sfr MIRD
;
272 extern __at(0x0EB8) __sfr MIRDL
;
273 extern __at(0x0EB9) __sfr MIRDH
;
274 extern __at(0x0EC0) __sfr EHT0
;
275 extern __at(0x0EC1) __sfr EHT1
;
276 extern __at(0x0EC2) __sfr EHT2
;
277 extern __at(0x0EC3) __sfr EHT3
;
278 extern __at(0x0EC4) __sfr EHT4
;
279 extern __at(0x0EC5) __sfr EHT5
;
280 extern __at(0x0EC6) __sfr EHT6
;
281 extern __at(0x0EC7) __sfr EHT7
;
282 extern __at(0x0EC8) __sfr EPMM0
;
283 extern __at(0x0EC9) __sfr EPMM1
;
284 extern __at(0x0ECA) __sfr EPMM2
;
285 extern __at(0x0ECB) __sfr EPMM3
;
286 extern __at(0x0ECC) __sfr EPMM4
;
287 extern __at(0x0ECD) __sfr EPMM5
;
288 extern __at(0x0ECE) __sfr EPMM6
;
289 extern __at(0x0ECF) __sfr EPMM7
;
290 extern __at(0x0ED0) __sfr EPMCS
;
291 extern __at(0x0ED0) __sfr EPMCSL
;
292 extern __at(0x0ED1) __sfr EPMCSH
;
293 extern __at(0x0ED4) __sfr EPMO
;
294 extern __at(0x0ED4) __sfr EPMOL
;
295 extern __at(0x0ED5) __sfr EPMOH
;
297 //==============================================================================
300 extern __at(0x0ED8) __sfr ERXFCON
;
314 extern __at(0x0ED8) volatile __ERXFCONbits_t ERXFCONbits
;
325 //==============================================================================
327 extern __at(0x0ED9) __sfr EPKTCNT
;
328 extern __at(0x0EE2) __sfr EWRPT
;
329 extern __at(0x0EE2) __sfr EWRPTL
;
330 extern __at(0x0EE3) __sfr EWRPTH
;
331 extern __at(0x0EE4) __sfr ETXST
;
332 extern __at(0x0EE4) __sfr ETXSTL
;
333 extern __at(0x0EE5) __sfr ETXSTH
;
334 extern __at(0x0EE6) __sfr ETXND
;
335 extern __at(0x0EE6) __sfr ETXNDL
;
336 extern __at(0x0EE7) __sfr ETXNDH
;
337 extern __at(0x0EE8) __sfr ERXST
;
338 extern __at(0x0EE8) __sfr ERXSTL
;
339 extern __at(0x0EE9) __sfr ERXSTH
;
340 extern __at(0x0EEA) __sfr ERXND
;
341 extern __at(0x0EEA) __sfr ERXNDL
;
342 extern __at(0x0EEB) __sfr ERXNDH
;
343 extern __at(0x0EEC) __sfr ERXRDPT
;
344 extern __at(0x0EEC) __sfr ERXRDPTL
;
345 extern __at(0x0EED) __sfr ERXRDPTH
;
346 extern __at(0x0EEE) __sfr ERXWRPT
;
347 extern __at(0x0EEE) __sfr ERXWRPTL
;
348 extern __at(0x0EEF) __sfr ERXWRPTH
;
349 extern __at(0x0EF0) __sfr EDMAST
;
350 extern __at(0x0EF0) __sfr EDMASTL
;
351 extern __at(0x0EF1) __sfr EDMASTH
;
352 extern __at(0x0EF2) __sfr EDMAND
;
353 extern __at(0x0EF2) __sfr EDMANDL
;
354 extern __at(0x0EF3) __sfr EDMANDH
;
355 extern __at(0x0EF4) __sfr EDMADST
;
356 extern __at(0x0EF4) __sfr EDMADSTL
;
357 extern __at(0x0EF5) __sfr EDMADSTH
;
358 extern __at(0x0EF6) __sfr EDMACS
;
359 extern __at(0x0EF6) __sfr EDMACSL
;
360 extern __at(0x0EF7) __sfr EDMACSH
;
362 //==============================================================================
365 extern __at(0x0EFB) __sfr EIE
;
394 extern __at(0x0EFB) volatile __EIEbits_t EIEbits
;
404 //==============================================================================
407 //==============================================================================
410 extern __at(0x0EFD) __sfr ESTAT
;
424 extern __at(0x0EFD) volatile __ESTATbits_t ESTATbits
;
431 //==============================================================================
434 //==============================================================================
437 extern __at(0x0EFE) __sfr ECON2
;
448 unsigned AUTOINC
: 1;
451 extern __at(0x0EFE) volatile __ECON2bits_t ECON2bits
;
455 #define _AUTOINC 0x80
457 //==============================================================================
460 //==============================================================================
463 extern __at(0x0F60) __sfr EIR
;
477 extern __at(0x0F60) volatile __EIRbits_t EIRbits
;
486 //==============================================================================
489 //==============================================================================
492 extern __at(0x0F61) __sfr EDATA
;
506 extern __at(0x0F61) volatile __EDATAbits_t EDATAbits
;
517 //==============================================================================
520 //==============================================================================
523 extern __at(0x0F62) __sfr SSP2CON2
;
535 unsigned ACKSTAT
: 1;
547 unsigned ACKSTAT2
: 1;
566 unsigned ADMSK12
: 1;
567 unsigned ADMSK22
: 1;
568 unsigned ADMSK32
: 1;
569 unsigned ADMSK42
: 1;
570 unsigned ADMSK52
: 1;
576 extern __at(0x0F62) volatile __SSP2CON2bits_t SSP2CON2bits
;
578 #define _SSP2CON2_SEN 0x01
579 #define _SSP2CON2_SEN2 0x01
580 #define _SSP2CON2_RSEN 0x02
581 #define _SSP2CON2_ADMSK1 0x02
582 #define _SSP2CON2_RSEN2 0x02
583 #define _SSP2CON2_ADMSK12 0x02
584 #define _SSP2CON2_PEN 0x04
585 #define _SSP2CON2_ADMSK2 0x04
586 #define _SSP2CON2_PEN2 0x04
587 #define _SSP2CON2_ADMSK22 0x04
588 #define _SSP2CON2_RCEN 0x08
589 #define _SSP2CON2_ADMSK3 0x08
590 #define _SSP2CON2_RCEN2 0x08
591 #define _SSP2CON2_ADMSK32 0x08
592 #define _SSP2CON2_ACKEN 0x10
593 #define _SSP2CON2_ADMSK4 0x10
594 #define _SSP2CON2_ACKEN2 0x10
595 #define _SSP2CON2_ADMSK42 0x10
596 #define _SSP2CON2_ACKDT 0x20
597 #define _SSP2CON2_ADMSK5 0x20
598 #define _SSP2CON2_ACKDT2 0x20
599 #define _SSP2CON2_ADMSK52 0x20
600 #define _SSP2CON2_ACKSTAT 0x40
601 #define _SSP2CON2_ACKSTAT2 0x40
602 #define _SSP2CON2_GCEN 0x80
603 #define _SSP2CON2_GCEN2 0x80
605 //==============================================================================
608 //==============================================================================
611 extern __at(0x0F63) __sfr SSP2CON1
;
640 extern __at(0x0F63) volatile __SSP2CON1bits_t SSP2CON1bits
;
642 #define _SSP2CON1_SSPM0 0x01
643 #define _SSP2CON1_SSPM02 0x01
644 #define _SSP2CON1_SSPM1 0x02
645 #define _SSP2CON1_SSPM12 0x02
646 #define _SSP2CON1_SSPM2 0x04
647 #define _SSP2CON1_SSPM22 0x04
648 #define _SSP2CON1_SSPM3 0x08
649 #define _SSP2CON1_SSPM32 0x08
650 #define _SSP2CON1_CKP 0x10
651 #define _SSP2CON1_CKP2 0x10
652 #define _SSP2CON1_SSPEN 0x20
653 #define _SSP2CON1_SSPEN2 0x20
654 #define _SSP2CON1_SSPOV 0x40
655 #define _SSP2CON1_SSPOV2 0x40
656 #define _SSP2CON1_WCOL 0x80
657 #define _SSP2CON1_WCOL2 0x80
659 //==============================================================================
662 //==============================================================================
665 extern __at(0x0F64) __sfr SSP2STAT
;
673 unsigned R_NOT_W
: 1;
676 unsigned D_NOT_A
: 1;
686 unsigned I2C_START
: 1;
687 unsigned I2C_STOP
: 1;
697 unsigned I2C_READ
: 1;
700 unsigned I2C_DAT
: 1;
721 unsigned NOT_WRITE
: 1;
724 unsigned NOT_ADDRESS
: 1;
733 unsigned READ_WRITE
: 1;
736 unsigned DATA_ADDRESS
: 1;
766 extern __at(0x0F64) volatile __SSP2STATbits_t SSP2STATbits
;
768 #define _SSP2STAT_BF 0x01
769 #define _SSP2STAT_BF2 0x01
770 #define _SSP2STAT_UA 0x02
771 #define _SSP2STAT_UA2 0x02
772 #define _SSP2STAT_R_NOT_W 0x04
773 #define _SSP2STAT_R_W 0x04
774 #define _SSP2STAT_I2C_READ 0x04
775 #define _SSP2STAT_NOT_W 0x04
776 #define _SSP2STAT_NOT_WRITE 0x04
777 #define _SSP2STAT_READ_WRITE 0x04
778 #define _SSP2STAT_R 0x04
779 #define _SSP2STAT_RW2 0x04
780 #define _SSP2STAT_S 0x08
781 #define _SSP2STAT_I2C_START 0x08
782 #define _SSP2STAT_START2 0x08
783 #define _SSP2STAT_P 0x10
784 #define _SSP2STAT_I2C_STOP 0x10
785 #define _SSP2STAT_STOP2 0x10
786 #define _SSP2STAT_D_NOT_A 0x20
787 #define _SSP2STAT_D_A 0x20
788 #define _SSP2STAT_I2C_DAT 0x20
789 #define _SSP2STAT_NOT_A 0x20
790 #define _SSP2STAT_NOT_ADDRESS 0x20
791 #define _SSP2STAT_DATA_ADDRESS 0x20
792 #define _SSP2STAT_D 0x20
793 #define _SSP2STAT_DA2 0x20
794 #define _SSP2STAT_CKE 0x40
795 #define _SSP2STAT_CKE2 0x40
796 #define _SSP2STAT_SMP 0x80
797 #define _SSP2STAT_SMP2 0x80
799 //==============================================================================
801 extern __at(0x0F65) __sfr SSP2ADD
;
802 extern __at(0x0F66) __sfr SSP2BUF
;
804 //==============================================================================
807 extern __at(0x0F67) __sfr ECCP2DEL
;
848 extern __at(0x0F67) volatile __ECCP2DELbits_t ECCP2DELbits
;
850 #define _ECCP2DEL_PDC0 0x01
851 #define _ECCP2DEL_P2DC0 0x01
852 #define _ECCP2DEL_PDC1 0x02
853 #define _ECCP2DEL_P2DC1 0x02
854 #define _ECCP2DEL_PDC2 0x04
855 #define _ECCP2DEL_P2DC2 0x04
856 #define _ECCP2DEL_PDC3 0x08
857 #define _ECCP2DEL_P2DC3 0x08
858 #define _ECCP2DEL_PDC4 0x10
859 #define _ECCP2DEL_P2DC4 0x10
860 #define _ECCP2DEL_PDC5 0x20
861 #define _ECCP2DEL_P2DC5 0x20
862 #define _ECCP2DEL_PDC6 0x40
863 #define _ECCP2DEL_P2DC6 0x40
864 #define _ECCP2DEL_PRSEN 0x80
865 #define _ECCP2DEL_P2RSEN 0x80
867 //==============================================================================
870 //==============================================================================
873 extern __at(0x0F68) __sfr ECCP2AS
;
883 unsigned ECCPAS0
: 1;
884 unsigned ECCPAS1
: 1;
885 unsigned ECCPAS2
: 1;
886 unsigned ECCPASE
: 1;
891 unsigned PSS2BD0
: 1;
892 unsigned PSS2BD1
: 1;
893 unsigned PSS2AC0
: 1;
894 unsigned PSS2AC1
: 1;
895 unsigned ECCP2AS0
: 1;
896 unsigned ECCP2AS1
: 1;
897 unsigned ECCP2AS2
: 1;
898 unsigned ECCP2ASE
: 1;
930 unsigned ECCP2AS
: 3;
942 extern __at(0x0F68) volatile __ECCP2ASbits_t ECCP2ASbits
;
944 #define _ECCP2AS_PSSBD0 0x01
945 #define _ECCP2AS_PSS2BD0 0x01
946 #define _ECCP2AS_PSSBD1 0x02
947 #define _ECCP2AS_PSS2BD1 0x02
948 #define _ECCP2AS_PSSAC0 0x04
949 #define _ECCP2AS_PSS2AC0 0x04
950 #define _ECCP2AS_PSSAC1 0x08
951 #define _ECCP2AS_PSS2AC1 0x08
952 #define _ECCP2AS_ECCPAS0 0x10
953 #define _ECCP2AS_ECCP2AS0 0x10
954 #define _ECCP2AS_ECCPAS1 0x20
955 #define _ECCP2AS_ECCP2AS1 0x20
956 #define _ECCP2AS_ECCPAS2 0x40
957 #define _ECCP2AS_ECCP2AS2 0x40
958 #define _ECCP2AS_ECCPASE 0x80
959 #define _ECCP2AS_ECCP2ASE 0x80
961 //==============================================================================
964 //==============================================================================
967 extern __at(0x0F69) __sfr ECCP3DEL
;
1008 extern __at(0x0F69) volatile __ECCP3DELbits_t ECCP3DELbits
;
1010 #define _ECCP3DEL_PDC0 0x01
1011 #define _ECCP3DEL_P3DC0 0x01
1012 #define _ECCP3DEL_PDC1 0x02
1013 #define _ECCP3DEL_P3DC1 0x02
1014 #define _ECCP3DEL_PDC2 0x04
1015 #define _ECCP3DEL_P3DC2 0x04
1016 #define _ECCP3DEL_PDC3 0x08
1017 #define _ECCP3DEL_P3DC3 0x08
1018 #define _ECCP3DEL_PDC4 0x10
1019 #define _ECCP3DEL_P3DC4 0x10
1020 #define _ECCP3DEL_PDC5 0x20
1021 #define _ECCP3DEL_P3DC5 0x20
1022 #define _ECCP3DEL_PDC6 0x40
1023 #define _ECCP3DEL_P3DC6 0x40
1024 #define _ECCP3DEL_PRSEN 0x80
1025 #define _ECCP3DEL_P3RSEN 0x80
1027 //==============================================================================
1030 //==============================================================================
1033 extern __at(0x0F6A) __sfr ECCP3AS
;
1039 unsigned PSSBD0
: 1;
1040 unsigned PSSBD1
: 1;
1041 unsigned PSSAC0
: 1;
1042 unsigned PSSAC1
: 1;
1043 unsigned ECCPAS0
: 1;
1044 unsigned ECCPAS1
: 1;
1045 unsigned ECCPAS2
: 1;
1046 unsigned ECCPASE
: 1;
1051 unsigned PSS3BD0
: 1;
1052 unsigned PSS3BD1
: 1;
1053 unsigned PSS3AC0
: 1;
1054 unsigned PSS3AC1
: 1;
1055 unsigned ECCP3AS0
: 1;
1056 unsigned ECCP3AS1
: 1;
1057 unsigned ECCP3AS2
: 1;
1058 unsigned ECCP3ASE
: 1;
1069 unsigned PSS3BD
: 2;
1076 unsigned PSS3AC
: 2;
1090 unsigned ECCPAS
: 3;
1097 unsigned ECCP3AS
: 3;
1102 extern __at(0x0F6A) volatile __ECCP3ASbits_t ECCP3ASbits
;
1104 #define _ECCP3AS_PSSBD0 0x01
1105 #define _ECCP3AS_PSS3BD0 0x01
1106 #define _ECCP3AS_PSSBD1 0x02
1107 #define _ECCP3AS_PSS3BD1 0x02
1108 #define _ECCP3AS_PSSAC0 0x04
1109 #define _ECCP3AS_PSS3AC0 0x04
1110 #define _ECCP3AS_PSSAC1 0x08
1111 #define _ECCP3AS_PSS3AC1 0x08
1112 #define _ECCP3AS_ECCPAS0 0x10
1113 #define _ECCP3AS_ECCP3AS0 0x10
1114 #define _ECCP3AS_ECCPAS1 0x20
1115 #define _ECCP3AS_ECCP3AS1 0x20
1116 #define _ECCP3AS_ECCPAS2 0x40
1117 #define _ECCP3AS_ECCP3AS2 0x40
1118 #define _ECCP3AS_ECCPASE 0x80
1119 #define _ECCP3AS_ECCP3ASE 0x80
1121 //==============================================================================
1124 //==============================================================================
1127 extern __at(0x0F6B) __sfr RCSTA2
;
1148 unsigned ADDEN2
: 1;
1163 unsigned NOT_RC8
: 1;
1192 extern __at(0x0F6B) volatile __RCSTA2bits_t RCSTA2bits
;
1194 #define _RCSTA2_RX9D 0x01
1195 #define _RCSTA2_RCD8 0x01
1196 #define _RCSTA2_RX9D2 0x01
1197 #define _RCSTA2_OERR 0x02
1198 #define _RCSTA2_OERR2 0x02
1199 #define _RCSTA2_FERR 0x04
1200 #define _RCSTA2_FERR2 0x04
1201 #define _RCSTA2_ADDEN 0x08
1202 #define _RCSTA2_ADDEN2 0x08
1203 #define _RCSTA2_CREN 0x10
1204 #define _RCSTA2_CREN2 0x10
1205 #define _RCSTA2_SREN 0x20
1206 #define _RCSTA2_SREN2 0x20
1207 #define _RCSTA2_RX9 0x40
1208 #define _RCSTA2_RC9 0x40
1209 #define _RCSTA2_NOT_RC8 0x40
1210 #define _RCSTA2_RC8_9 0x40
1211 #define _RCSTA2_RX92 0x40
1212 #define _RCSTA2_SPEN 0x80
1213 #define _RCSTA2_SPEN2 0x80
1215 //==============================================================================
1218 //==============================================================================
1221 extern __at(0x0F6C) __sfr TXSTA2
;
1242 unsigned SENDB2
: 1;
1257 unsigned NOT_TX8
: 1;
1274 extern __at(0x0F6C) volatile __TXSTA2bits_t TXSTA2bits
;
1276 #define _TXSTA2_TX9D 0x01
1277 #define _TXSTA2_TXD8 0x01
1278 #define _TXSTA2_TX9D2 0x01
1279 #define _TXSTA2_TRMT 0x02
1280 #define _TXSTA2_TRMT2 0x02
1281 #define _TXSTA2_BRGH 0x04
1282 #define _TXSTA2_BRGH2 0x04
1283 #define _TXSTA2_SENDB 0x08
1284 #define _TXSTA2_SENDB2 0x08
1285 #define _TXSTA2_SYNC 0x10
1286 #define _TXSTA2_SYNC2 0x10
1287 #define _TXSTA2_TXEN 0x20
1288 #define _TXSTA2_TXEN2 0x20
1289 #define _TXSTA2_TX9 0x40
1290 #define _TXSTA2_TX8_9 0x40
1291 #define _TXSTA2_NOT_TX8 0x40
1292 #define _TXSTA2_TX92 0x40
1293 #define _TXSTA2_CSRC 0x80
1294 #define _TXSTA2_CSRC2 0x80
1296 //==============================================================================
1298 extern __at(0x0F6D) __sfr TXREG2
;
1299 extern __at(0x0F6E) __sfr RCREG2
;
1300 extern __at(0x0F6F) __sfr SPBRG2
;
1302 //==============================================================================
1305 extern __at(0x0F70) __sfr CCP5CON
;
1311 unsigned CCP5M0
: 1;
1312 unsigned CCP5M1
: 1;
1313 unsigned CCP5M2
: 1;
1314 unsigned CCP5M3
: 1;
1347 extern __at(0x0F70) volatile __CCP5CONbits_t CCP5CONbits
;
1349 #define _CCP5M0 0x01
1350 #define _CCP5M1 0x02
1351 #define _CCP5M2 0x04
1352 #define _CCP5M3 0x08
1358 //==============================================================================
1360 extern __at(0x0F71) __sfr CCPR5
;
1361 extern __at(0x0F71) __sfr CCPR5L
;
1362 extern __at(0x0F72) __sfr CCPR5H
;
1364 //==============================================================================
1367 extern __at(0x0F73) __sfr CCP4CON
;
1373 unsigned CCP4M0
: 1;
1374 unsigned CCP4M1
: 1;
1375 unsigned CCP4M2
: 1;
1376 unsigned CCP4M3
: 1;
1409 extern __at(0x0F73) volatile __CCP4CONbits_t CCP4CONbits
;
1411 #define _CCP4M0 0x01
1412 #define _CCP4M1 0x02
1413 #define _CCP4M2 0x04
1414 #define _CCP4M3 0x08
1420 //==============================================================================
1422 extern __at(0x0F74) __sfr CCPR4
;
1423 extern __at(0x0F74) __sfr CCPR4L
;
1424 extern __at(0x0F75) __sfr CCPR4H
;
1426 //==============================================================================
1429 extern __at(0x0F76) __sfr T4CON
;
1435 unsigned T4CKPS0
: 1;
1436 unsigned T4CKPS1
: 1;
1437 unsigned TMR4ON
: 1;
1438 unsigned T4OUTPS0
: 1;
1439 unsigned T4OUTPS1
: 1;
1440 unsigned T4OUTPS2
: 1;
1441 unsigned T4OUTPS3
: 1;
1447 unsigned T4CKPS
: 2;
1454 unsigned T4OUTPS
: 4;
1459 extern __at(0x0F76) volatile __T4CONbits_t T4CONbits
;
1461 #define _T4CKPS0 0x01
1462 #define _T4CKPS1 0x02
1463 #define _TMR4ON 0x04
1464 #define _T4OUTPS0 0x08
1465 #define _T4OUTPS1 0x10
1466 #define _T4OUTPS2 0x20
1467 #define _T4OUTPS3 0x40
1469 //==============================================================================
1471 extern __at(0x0F77) __sfr PR4
;
1472 extern __at(0x0F78) __sfr TMR4
;
1474 //==============================================================================
1477 extern __at(0x0F79) __sfr ECCP1DEL
;
1502 unsigned P1RSEN
: 1;
1518 extern __at(0x0F79) volatile __ECCP1DELbits_t ECCP1DELbits
;
1535 #define _P1RSEN 0x80
1537 //==============================================================================
1539 extern __at(0x0F7A) __sfr ERDPT
;
1540 extern __at(0x0F7A) __sfr ERDPTL
;
1541 extern __at(0x0F7B) __sfr ERDPTH
;
1543 //==============================================================================
1546 extern __at(0x0F7C) __sfr BAUDCON2
;
1559 unsigned ABDOVF
: 1;
1564 unsigned ABDEN2
: 1;
1567 unsigned BRG162
: 1;
1569 unsigned RXDTP2
: 1;
1571 unsigned ABDOVF2
: 1;
1580 unsigned TXCKP2
: 1;
1582 unsigned RCIDL2
: 1;
1587 extern __at(0x0F7C) volatile __BAUDCON2bits_t BAUDCON2bits
;
1589 #define _BAUDCON2_ABDEN 0x01
1590 #define _BAUDCON2_ABDEN2 0x01
1591 #define _BAUDCON2_WUE 0x02
1592 #define _BAUDCON2_WUE2 0x02
1593 #define _BAUDCON2_BRG16 0x08
1594 #define _BAUDCON2_BRG162 0x08
1595 #define _BAUDCON2_TXCKP 0x10
1596 #define _BAUDCON2_SCKP 0x10
1597 #define _BAUDCON2_TXCKP2 0x10
1598 #define _BAUDCON2_RXDTP 0x20
1599 #define _BAUDCON2_RXDTP2 0x20
1600 #define _BAUDCON2_RCIDL 0x40
1601 #define _BAUDCON2_RCMT 0x40
1602 #define _BAUDCON2_RCIDL2 0x40
1603 #define _BAUDCON2_ABDOVF 0x80
1604 #define _BAUDCON2_ABDOVF2 0x80
1606 //==============================================================================
1609 //==============================================================================
1612 extern __at(0x0F7C) __sfr BAUDCTL2
;
1625 unsigned ABDOVF
: 1;
1630 unsigned ABDEN2
: 1;
1633 unsigned BRG162
: 1;
1635 unsigned RXDTP2
: 1;
1637 unsigned ABDOVF2
: 1;
1646 unsigned TXCKP2
: 1;
1648 unsigned RCIDL2
: 1;
1653 extern __at(0x0F7C) volatile __BAUDCTL2bits_t BAUDCTL2bits
;
1655 #define _BAUDCTL2_ABDEN 0x01
1656 #define _BAUDCTL2_ABDEN2 0x01
1657 #define _BAUDCTL2_WUE 0x02
1658 #define _BAUDCTL2_WUE2 0x02
1659 #define _BAUDCTL2_BRG16 0x08
1660 #define _BAUDCTL2_BRG162 0x08
1661 #define _BAUDCTL2_TXCKP 0x10
1662 #define _BAUDCTL2_SCKP 0x10
1663 #define _BAUDCTL2_TXCKP2 0x10
1664 #define _BAUDCTL2_RXDTP 0x20
1665 #define _BAUDCTL2_RXDTP2 0x20
1666 #define _BAUDCTL2_RCIDL 0x40
1667 #define _BAUDCTL2_RCMT 0x40
1668 #define _BAUDCTL2_RCIDL2 0x40
1669 #define _BAUDCTL2_ABDOVF 0x80
1670 #define _BAUDCTL2_ABDOVF2 0x80
1672 //==============================================================================
1674 extern __at(0x0F7D) __sfr SPBRGH2
;
1676 //==============================================================================
1679 extern __at(0x0F7E) __sfr BAUDCON
;
1692 unsigned ABDOVF
: 1;
1708 extern __at(0x0F7E) volatile __BAUDCONbits_t BAUDCONbits
;
1718 #define _ABDOVF 0x80
1720 //==============================================================================
1723 //==============================================================================
1726 extern __at(0x0F7E) __sfr BAUDCON1
;
1739 unsigned ABDOVF
: 1;
1755 extern __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits
;
1757 #define _BAUDCON1_ABDEN 0x01
1758 #define _BAUDCON1_WUE 0x02
1759 #define _BAUDCON1_BRG16 0x08
1760 #define _BAUDCON1_TXCKP 0x10
1761 #define _BAUDCON1_SCKP 0x10
1762 #define _BAUDCON1_RXDTP 0x20
1763 #define _BAUDCON1_RCIDL 0x40
1764 #define _BAUDCON1_RCMT 0x40
1765 #define _BAUDCON1_ABDOVF 0x80
1767 //==============================================================================
1770 //==============================================================================
1773 extern __at(0x0F7E) __sfr BAUDCTL
;
1786 unsigned ABDOVF
: 1;
1802 extern __at(0x0F7E) volatile __BAUDCTLbits_t BAUDCTLbits
;
1804 #define _BAUDCTL_ABDEN 0x01
1805 #define _BAUDCTL_WUE 0x02
1806 #define _BAUDCTL_BRG16 0x08
1807 #define _BAUDCTL_TXCKP 0x10
1808 #define _BAUDCTL_SCKP 0x10
1809 #define _BAUDCTL_RXDTP 0x20
1810 #define _BAUDCTL_RCIDL 0x40
1811 #define _BAUDCTL_RCMT 0x40
1812 #define _BAUDCTL_ABDOVF 0x80
1814 //==============================================================================
1817 //==============================================================================
1820 extern __at(0x0F7E) __sfr BAUDCTL1
;
1833 unsigned ABDOVF
: 1;
1849 extern __at(0x0F7E) volatile __BAUDCTL1bits_t BAUDCTL1bits
;
1851 #define _BAUDCTL1_ABDEN 0x01
1852 #define _BAUDCTL1_WUE 0x02
1853 #define _BAUDCTL1_BRG16 0x08
1854 #define _BAUDCTL1_TXCKP 0x10
1855 #define _BAUDCTL1_SCKP 0x10
1856 #define _BAUDCTL1_RXDTP 0x20
1857 #define _BAUDCTL1_RCIDL 0x40
1858 #define _BAUDCTL1_RCMT 0x40
1859 #define _BAUDCTL1_ABDOVF 0x80
1861 //==============================================================================
1863 extern __at(0x0F7F) __sfr SPBRGH
;
1864 extern __at(0x0F7F) __sfr SPBRGH1
;
1866 //==============================================================================
1869 extern __at(0x0F80) __sfr PORTA
;
1916 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits
;
1918 #define _PORTA_RA0 0x01
1919 #define _PORTA_AN0 0x01
1920 #define _PORTA_LEDA 0x01
1921 #define _PORTA_RA1 0x02
1922 #define _PORTA_AN1 0x02
1923 #define _PORTA_LEDB 0x02
1924 #define _PORTA_RA2 0x04
1925 #define _PORTA_AN2 0x04
1926 #define _PORTA_VREFM 0x04
1927 #define _PORTA_RA3 0x08
1928 #define _PORTA_AN3 0x08
1929 #define _PORTA_VREFP 0x08
1930 #define _PORTA_RA4 0x10
1931 #define _PORTA_T0CKI 0x10
1932 #define _PORTA_RA5 0x20
1933 #define _PORTA_AN4 0x20
1934 #define _PORTA_RJPU 0x80
1936 //==============================================================================
1939 //==============================================================================
1942 extern __at(0x0F81) __sfr PORTB
;
2007 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits
;
2009 #define _PORTB_RB0 0x01
2010 #define _PORTB_INT0 0x01
2011 #define _PORTB_FLT0 0x01
2012 #define _PORTB_RB1 0x02
2013 #define _PORTB_INT1 0x02
2014 #define _PORTB_RB2 0x04
2015 #define _PORTB_INT2 0x04
2016 #define _PORTB_RB3 0x08
2017 #define _PORTB_INT3 0x08
2018 #define _PORTB_CCP2 0x08
2019 #define _PORTB_ECCP2 0x08
2020 #define _PORTB_RB4 0x10
2021 #define _PORTB_KBI0 0x10
2022 #define _PORTB_RB5 0x20
2023 #define _PORTB_KBI1 0x20
2024 #define _PORTB_RB6 0x40
2025 #define _PORTB_KBI2 0x40
2026 #define _PORTB_PGC 0x40
2027 #define _PORTB_RB7 0x80
2028 #define _PORTB_KBI3 0x80
2029 #define _PORTB_PGD 0x80
2031 //==============================================================================
2034 //==============================================================================
2037 extern __at(0x0F82) __sfr PORTC
;
2067 unsigned T13CKI
: 1;
2102 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits
;
2104 #define _PORTC_RC0 0x01
2105 #define _PORTC_T1OSO 0x01
2106 #define _PORTC_T13CKI 0x01
2107 #define _PORTC_RC1 0x02
2108 #define _PORTC_T1OSI 0x02
2109 #define _PORTC_CCP2 0x02
2110 #define _PORTC_ECCP2 0x02
2111 #define _PORTC_RC2 0x04
2112 #define _PORTC_CCP1 0x04
2113 #define _PORTC_ECCP1 0x04
2114 #define _PORTC_RC3 0x08
2115 #define _PORTC_SCK 0x08
2116 #define _PORTC_SCL 0x08
2117 #define _PORTC_SCK1 0x08
2118 #define _PORTC_SCL1 0x08
2119 #define _PORTC_RC4 0x10
2120 #define _PORTC_SDI 0x10
2121 #define _PORTC_SDA 0x10
2122 #define _PORTC_SDI1 0x10
2123 #define _PORTC_SDA1 0x10
2124 #define _PORTC_RC5 0x20
2125 #define _PORTC_SDO 0x20
2126 #define _PORTC_SDO1 0x20
2127 #define _PORTC_RC6 0x40
2128 #define _PORTC_TX 0x40
2129 #define _PORTC_CK 0x40
2130 #define _PORTC_TX1 0x40
2131 #define _PORTC_CK1 0x40
2132 #define _PORTC_RC7 0x80
2133 #define _PORTC_RX 0x80
2134 #define _PORTC_RX1 0x80
2135 #define _PORTC_DT1 0x80
2137 //==============================================================================
2140 //==============================================================================
2143 extern __at(0x0F83) __sfr PORTD
;
2204 unsigned NOT_SS2
: 1;
2208 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits
;
2210 #define _PORTD_RD0 0x01
2211 #define _PORTD_PSP0 0x01
2212 #define _PORTD_AD0 0x01
2213 #define _PORTD_RD1 0x02
2214 #define _PORTD_PSP1 0x02
2215 #define _PORTD_AD1 0x02
2216 #define _PORTD_RD2 0x04
2217 #define _PORTD_PSP2 0x04
2218 #define _PORTD_AD2 0x04
2219 #define _PORTD_RD3 0x08
2220 #define _PORTD_PSP3 0x08
2221 #define _PORTD_AD3 0x08
2222 #define _PORTD_RD4 0x10
2223 #define _PORTD_PSP4 0x10
2224 #define _PORTD_AD4 0x10
2225 #define _PORTD_SDO2 0x10
2226 #define _PORTD_RD5 0x20
2227 #define _PORTD_PSP5 0x20
2228 #define _PORTD_AD5 0x20
2229 #define _PORTD_SDA2 0x20
2230 #define _PORTD_SDI2 0x20
2231 #define _PORTD_RD6 0x40
2232 #define _PORTD_PSP6 0x40
2233 #define _PORTD_AD6 0x40
2234 #define _PORTD_SCL2 0x40
2235 #define _PORTD_SCK2 0x40
2236 #define _PORTD_RD7 0x80
2237 #define _PORTD_PSP7 0x80
2238 #define _PORTD_AD7 0x80
2239 #define _PORTD_SS2 0x80
2240 #define _PORTD_NOT_SS2 0x80
2242 //==============================================================================
2245 //==============================================================================
2248 extern __at(0x0F84) __sfr PORTE
;
2290 unsigned NOT_RD
: 1;
2291 unsigned NOT_WR
: 1;
2292 unsigned NOT_CS
: 1;
2301 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits
;
2303 #define _PORTE_RE0 0x01
2304 #define _PORTE_RD 0x01
2305 #define _PORTE_AD8 0x01
2306 #define _PORTE_NOT_RD 0x01
2307 #define _PORTE_RE1 0x02
2308 #define _PORTE_WR 0x02
2309 #define _PORTE_AD9 0x02
2310 #define _PORTE_NOT_WR 0x02
2311 #define _PORTE_RE2 0x04
2312 #define _PORTE_CS 0x04
2313 #define _PORTE_AD10 0x04
2314 #define _PORTE_NOT_CS 0x04
2315 #define _PORTE_RE3 0x08
2316 #define _PORTE_AD11 0x08
2317 #define _PORTE_RE4 0x10
2318 #define _PORTE_AD12 0x10
2319 #define _PORTE_RE5 0x20
2320 #define _PORTE_AD13 0x20
2321 #define _PORTE_RE6 0x40
2322 #define _PORTE_AD14 0x40
2323 #define _PORTE_RE7 0x80
2324 #define _PORTE_CCP2 0x80
2325 #define _PORTE_AD15 0x80
2326 #define _PORTE_ECCP2 0x80
2328 //==============================================================================
2331 //==============================================================================
2334 extern __at(0x0F85) __sfr PORTF
;
2371 unsigned NOT_SS
: 1;
2395 unsigned NOT_SS1
: 1;
2399 extern __at(0x0F85) volatile __PORTFbits_t PORTFbits
;
2401 #define _PORTF_RF0 0x01
2402 #define _PORTF_AN5 0x01
2403 #define _PORTF_RF1 0x02
2404 #define _PORTF_AN6 0x02
2405 #define _PORTF_RF2 0x04
2406 #define _PORTF_AN7 0x04
2407 #define _PORTF_RF3 0x08
2408 #define _PORTF_AN8 0x08
2409 #define _PORTF_RF4 0x10
2410 #define _PORTF_AN9 0x10
2411 #define _PORTF_RF5 0x20
2412 #define _PORTF_AN10 0x20
2413 #define _PORTF_CVREF 0x20
2414 #define _PORTF_RF6 0x40
2415 #define _PORTF_AN11 0x40
2416 #define _PORTF_RF7 0x80
2417 #define _PORTF_SS 0x80
2418 #define _PORTF_NOT_SS 0x80
2419 #define _PORTF_SS1 0x80
2420 #define _PORTF_NOT_SS1 0x80
2422 //==============================================================================
2425 //==============================================================================
2428 extern __at(0x0F86) __sfr PORTG
;
2469 extern __at(0x0F86) volatile __PORTGbits_t PORTGbits
;
2471 #define _PORTG_RG0 0x01
2472 #define _PORTG_CCP3 0x01
2473 #define _PORTG_ECCP3 0x01
2474 #define _PORTG_RG1 0x02
2475 #define _PORTG_TX2 0x02
2476 #define _PORTG_CK2 0x02
2477 #define _PORTG_RG2 0x04
2478 #define _PORTG_RX2 0x04
2479 #define _PORTG_DT2 0x04
2480 #define _PORTG_RG3 0x08
2481 #define _PORTG_CCP4 0x08
2482 #define _PORTG_RG4 0x10
2483 #define _PORTG_CCP5 0x10
2484 #define _PORTG_RG5 0x20
2485 #define _PORTG_RG6 0x40
2486 #define _PORTG_RG7 0x80
2488 //==============================================================================
2491 //==============================================================================
2494 extern __at(0x0F87) __sfr PORTH
;
2523 extern __at(0x0F87) volatile __PORTHbits_t PORTHbits
;
2525 #define _PORTH_RH0 0x01
2526 #define _PORTH_AD16 0x01
2527 #define _PORTH_RH1 0x02
2528 #define _PORTH_AD17 0x02
2529 #define _PORTH_RH2 0x04
2530 #define _PORTH_AD18 0x04
2531 #define _PORTH_RH3 0x08
2532 #define _PORTH_AD19 0x08
2533 #define _PORTH_RH4 0x10
2534 #define _PORTH_AN12 0x10
2535 #define _PORTH_RH5 0x20
2536 #define _PORTH_AN13 0x20
2537 #define _PORTH_RH6 0x40
2538 #define _PORTH_AN14 0x40
2539 #define _PORTH_RH7 0x80
2540 #define _PORTH_AN15 0x80
2542 //==============================================================================
2545 //==============================================================================
2548 extern __at(0x0F88) __sfr PORTJ
;
2579 unsigned NOT_OE
: 1;
2580 unsigned NOT_WRL
: 1;
2581 unsigned NOT_WRH
: 1;
2583 unsigned NOT_CE
: 1;
2584 unsigned NOT_LB
: 1;
2585 unsigned NOT_UB
: 1;
2589 extern __at(0x0F88) volatile __PORTJbits_t PORTJbits
;
2591 #define _PORTJ_RJ0 0x01
2592 #define _PORTJ_ALE 0x01
2593 #define _PORTJ_RJ1 0x02
2594 #define _PORTJ_OE 0x02
2595 #define _PORTJ_NOT_OE 0x02
2596 #define _PORTJ_RJ2 0x04
2597 #define _PORTJ_WRL 0x04
2598 #define _PORTJ_NOT_WRL 0x04
2599 #define _PORTJ_RJ3 0x08
2600 #define _PORTJ_WRH 0x08
2601 #define _PORTJ_NOT_WRH 0x08
2602 #define _PORTJ_RJ4 0x10
2603 #define _PORTJ_BA0 0x10
2604 #define _PORTJ_RJ5 0x20
2605 #define _PORTJ_CE 0x20
2606 #define _PORTJ_NOT_CE 0x20
2607 #define _PORTJ_RJ6 0x40
2608 #define _PORTJ_LB 0x40
2609 #define _PORTJ_NOT_LB 0x40
2610 #define _PORTJ_RJ7 0x80
2611 #define _PORTJ_UB 0x80
2612 #define _PORTJ_NOT_UB 0x80
2614 //==============================================================================
2617 //==============================================================================
2620 extern __at(0x0F89) __sfr LATA
;
2643 extern __at(0x0F89) volatile __LATAbits_t LATAbits
;
2654 //==============================================================================
2657 //==============================================================================
2660 extern __at(0x0F8A) __sfr LATB
;
2674 extern __at(0x0F8A) volatile __LATBbits_t LATBbits
;
2685 //==============================================================================
2688 //==============================================================================
2691 extern __at(0x0F8B) __sfr LATC
;
2705 extern __at(0x0F8B) volatile __LATCbits_t LATCbits
;
2716 //==============================================================================
2719 //==============================================================================
2722 extern __at(0x0F8C) __sfr LATD
;
2736 extern __at(0x0F8C) volatile __LATDbits_t LATDbits
;
2747 //==============================================================================
2750 //==============================================================================
2753 extern __at(0x0F8D) __sfr LATE
;
2767 extern __at(0x0F8D) volatile __LATEbits_t LATEbits
;
2778 //==============================================================================
2781 //==============================================================================
2784 extern __at(0x0F8E) __sfr LATF
;
2798 extern __at(0x0F8E) volatile __LATFbits_t LATFbits
;
2809 //==============================================================================
2812 //==============================================================================
2815 extern __at(0x0F8F) __sfr LATG
;
2829 extern __at(0x0F8F) volatile __LATGbits_t LATGbits
;
2840 //==============================================================================
2843 //==============================================================================
2846 extern __at(0x0F90) __sfr LATH
;
2860 extern __at(0x0F90) volatile __LATHbits_t LATHbits
;
2871 //==============================================================================
2874 //==============================================================================
2877 extern __at(0x0F91) __sfr LATJ
;
2891 extern __at(0x0F91) volatile __LATJbits_t LATJbits
;
2902 //==============================================================================
2905 //==============================================================================
2908 extern __at(0x0F92) __sfr DDRA
;
2914 unsigned TRISA0
: 1;
2915 unsigned TRISA1
: 1;
2916 unsigned TRISA2
: 1;
2917 unsigned TRISA3
: 1;
2918 unsigned TRISA4
: 1;
2919 unsigned TRISA5
: 1;
2949 extern __at(0x0F92) volatile __DDRAbits_t DDRAbits
;
2951 #define _TRISA0 0x01
2953 #define _TRISA1 0x02
2955 #define _TRISA2 0x04
2957 #define _TRISA3 0x08
2959 #define _TRISA4 0x10
2961 #define _TRISA5 0x20
2964 //==============================================================================
2967 //==============================================================================
2970 extern __at(0x0F92) __sfr TRISA
;
2976 unsigned TRISA0
: 1;
2977 unsigned TRISA1
: 1;
2978 unsigned TRISA2
: 1;
2979 unsigned TRISA3
: 1;
2980 unsigned TRISA4
: 1;
2981 unsigned TRISA5
: 1;
3011 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits
;
3013 #define _TRISA_TRISA0 0x01
3014 #define _TRISA_RA0 0x01
3015 #define _TRISA_TRISA1 0x02
3016 #define _TRISA_RA1 0x02
3017 #define _TRISA_TRISA2 0x04
3018 #define _TRISA_RA2 0x04
3019 #define _TRISA_TRISA3 0x08
3020 #define _TRISA_RA3 0x08
3021 #define _TRISA_TRISA4 0x10
3022 #define _TRISA_RA4 0x10
3023 #define _TRISA_TRISA5 0x20
3024 #define _TRISA_RA5 0x20
3026 //==============================================================================
3029 //==============================================================================
3032 extern __at(0x0F93) __sfr DDRB
;
3038 unsigned TRISB0
: 1;
3039 unsigned TRISB1
: 1;
3040 unsigned TRISB2
: 1;
3041 unsigned TRISB3
: 1;
3042 unsigned TRISB4
: 1;
3043 unsigned TRISB5
: 1;
3044 unsigned TRISB6
: 1;
3045 unsigned TRISB7
: 1;
3061 extern __at(0x0F93) volatile __DDRBbits_t DDRBbits
;
3063 #define _TRISB0 0x01
3065 #define _TRISB1 0x02
3067 #define _TRISB2 0x04
3069 #define _TRISB3 0x08
3071 #define _TRISB4 0x10
3073 #define _TRISB5 0x20
3075 #define _TRISB6 0x40
3077 #define _TRISB7 0x80
3080 //==============================================================================
3083 //==============================================================================
3086 extern __at(0x0F93) __sfr TRISB
;
3092 unsigned TRISB0
: 1;
3093 unsigned TRISB1
: 1;
3094 unsigned TRISB2
: 1;
3095 unsigned TRISB3
: 1;
3096 unsigned TRISB4
: 1;
3097 unsigned TRISB5
: 1;
3098 unsigned TRISB6
: 1;
3099 unsigned TRISB7
: 1;
3115 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits
;
3117 #define _TRISB_TRISB0 0x01
3118 #define _TRISB_RB0 0x01
3119 #define _TRISB_TRISB1 0x02
3120 #define _TRISB_RB1 0x02
3121 #define _TRISB_TRISB2 0x04
3122 #define _TRISB_RB2 0x04
3123 #define _TRISB_TRISB3 0x08
3124 #define _TRISB_RB3 0x08
3125 #define _TRISB_TRISB4 0x10
3126 #define _TRISB_RB4 0x10
3127 #define _TRISB_TRISB5 0x20
3128 #define _TRISB_RB5 0x20
3129 #define _TRISB_TRISB6 0x40
3130 #define _TRISB_RB6 0x40
3131 #define _TRISB_TRISB7 0x80
3132 #define _TRISB_RB7 0x80
3134 //==============================================================================
3137 //==============================================================================
3140 extern __at(0x0F94) __sfr DDRC
;
3146 unsigned TRISC0
: 1;
3147 unsigned TRISC1
: 1;
3148 unsigned TRISC2
: 1;
3149 unsigned TRISC3
: 1;
3150 unsigned TRISC4
: 1;
3151 unsigned TRISC5
: 1;
3152 unsigned TRISC6
: 1;
3153 unsigned TRISC7
: 1;
3169 extern __at(0x0F94) volatile __DDRCbits_t DDRCbits
;
3171 #define _TRISC0 0x01
3173 #define _TRISC1 0x02
3175 #define _TRISC2 0x04
3177 #define _TRISC3 0x08
3179 #define _TRISC4 0x10
3181 #define _TRISC5 0x20
3183 #define _TRISC6 0x40
3185 #define _TRISC7 0x80
3188 //==============================================================================
3191 //==============================================================================
3194 extern __at(0x0F94) __sfr TRISC
;
3200 unsigned TRISC0
: 1;
3201 unsigned TRISC1
: 1;
3202 unsigned TRISC2
: 1;
3203 unsigned TRISC3
: 1;
3204 unsigned TRISC4
: 1;
3205 unsigned TRISC5
: 1;
3206 unsigned TRISC6
: 1;
3207 unsigned TRISC7
: 1;
3223 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits
;
3225 #define _TRISC_TRISC0 0x01
3226 #define _TRISC_RC0 0x01
3227 #define _TRISC_TRISC1 0x02
3228 #define _TRISC_RC1 0x02
3229 #define _TRISC_TRISC2 0x04
3230 #define _TRISC_RC2 0x04
3231 #define _TRISC_TRISC3 0x08
3232 #define _TRISC_RC3 0x08
3233 #define _TRISC_TRISC4 0x10
3234 #define _TRISC_RC4 0x10
3235 #define _TRISC_TRISC5 0x20
3236 #define _TRISC_RC5 0x20
3237 #define _TRISC_TRISC6 0x40
3238 #define _TRISC_RC6 0x40
3239 #define _TRISC_TRISC7 0x80
3240 #define _TRISC_RC7 0x80
3242 //==============================================================================
3245 //==============================================================================
3248 extern __at(0x0F95) __sfr DDRD
;
3254 unsigned TRISD0
: 1;
3255 unsigned TRISD1
: 1;
3256 unsigned TRISD2
: 1;
3257 unsigned TRISD3
: 1;
3258 unsigned TRISD4
: 1;
3259 unsigned TRISD5
: 1;
3260 unsigned TRISD6
: 1;
3261 unsigned TRISD7
: 1;
3277 extern __at(0x0F95) volatile __DDRDbits_t DDRDbits
;
3279 #define _TRISD0 0x01
3281 #define _TRISD1 0x02
3283 #define _TRISD2 0x04
3285 #define _TRISD3 0x08
3287 #define _TRISD4 0x10
3289 #define _TRISD5 0x20
3291 #define _TRISD6 0x40
3293 #define _TRISD7 0x80
3296 //==============================================================================
3299 //==============================================================================
3302 extern __at(0x0F95) __sfr TRISD
;
3308 unsigned TRISD0
: 1;
3309 unsigned TRISD1
: 1;
3310 unsigned TRISD2
: 1;
3311 unsigned TRISD3
: 1;
3312 unsigned TRISD4
: 1;
3313 unsigned TRISD5
: 1;
3314 unsigned TRISD6
: 1;
3315 unsigned TRISD7
: 1;
3331 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits
;
3333 #define _TRISD_TRISD0 0x01
3334 #define _TRISD_RD0 0x01
3335 #define _TRISD_TRISD1 0x02
3336 #define _TRISD_RD1 0x02
3337 #define _TRISD_TRISD2 0x04
3338 #define _TRISD_RD2 0x04
3339 #define _TRISD_TRISD3 0x08
3340 #define _TRISD_RD3 0x08
3341 #define _TRISD_TRISD4 0x10
3342 #define _TRISD_RD4 0x10
3343 #define _TRISD_TRISD5 0x20
3344 #define _TRISD_RD5 0x20
3345 #define _TRISD_TRISD6 0x40
3346 #define _TRISD_RD6 0x40
3347 #define _TRISD_TRISD7 0x80
3348 #define _TRISD_RD7 0x80
3350 //==============================================================================
3353 //==============================================================================
3356 extern __at(0x0F96) __sfr DDRE
;
3362 unsigned TRISE0
: 1;
3363 unsigned TRISE1
: 1;
3364 unsigned TRISE2
: 1;
3365 unsigned TRISE3
: 1;
3366 unsigned TRISE4
: 1;
3367 unsigned TRISE5
: 1;
3368 unsigned TRISE6
: 1;
3369 unsigned TRISE7
: 1;
3385 extern __at(0x0F96) volatile __DDREbits_t DDREbits
;
3387 #define _TRISE0 0x01
3389 #define _TRISE1 0x02
3391 #define _TRISE2 0x04
3393 #define _TRISE3 0x08
3395 #define _TRISE4 0x10
3397 #define _TRISE5 0x20
3399 #define _TRISE6 0x40
3401 #define _TRISE7 0x80
3404 //==============================================================================
3407 //==============================================================================
3410 extern __at(0x0F96) __sfr TRISE
;
3416 unsigned TRISE0
: 1;
3417 unsigned TRISE1
: 1;
3418 unsigned TRISE2
: 1;
3419 unsigned TRISE3
: 1;
3420 unsigned TRISE4
: 1;
3421 unsigned TRISE5
: 1;
3422 unsigned TRISE6
: 1;
3423 unsigned TRISE7
: 1;
3439 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits
;
3441 #define _TRISE_TRISE0 0x01
3442 #define _TRISE_RE0 0x01
3443 #define _TRISE_TRISE1 0x02
3444 #define _TRISE_RE1 0x02
3445 #define _TRISE_TRISE2 0x04
3446 #define _TRISE_RE2 0x04
3447 #define _TRISE_TRISE3 0x08
3448 #define _TRISE_RE3 0x08
3449 #define _TRISE_TRISE4 0x10
3450 #define _TRISE_RE4 0x10
3451 #define _TRISE_TRISE5 0x20
3452 #define _TRISE_RE5 0x20
3453 #define _TRISE_TRISE6 0x40
3454 #define _TRISE_RE6 0x40
3455 #define _TRISE_TRISE7 0x80
3456 #define _TRISE_RE7 0x80
3458 //==============================================================================
3461 //==============================================================================
3464 extern __at(0x0F97) __sfr DDRF
;
3470 unsigned TRISF0
: 1;
3471 unsigned TRISF1
: 1;
3472 unsigned TRISF2
: 1;
3473 unsigned TRISF3
: 1;
3474 unsigned TRISF4
: 1;
3475 unsigned TRISF5
: 1;
3476 unsigned TRISF6
: 1;
3477 unsigned TRISF7
: 1;
3493 extern __at(0x0F97) volatile __DDRFbits_t DDRFbits
;
3495 #define _TRISF0 0x01
3497 #define _TRISF1 0x02
3499 #define _TRISF2 0x04
3501 #define _TRISF3 0x08
3503 #define _TRISF4 0x10
3505 #define _TRISF5 0x20
3507 #define _TRISF6 0x40
3509 #define _TRISF7 0x80
3512 //==============================================================================
3515 //==============================================================================
3518 extern __at(0x0F97) __sfr TRISF
;
3524 unsigned TRISF0
: 1;
3525 unsigned TRISF1
: 1;
3526 unsigned TRISF2
: 1;
3527 unsigned TRISF3
: 1;
3528 unsigned TRISF4
: 1;
3529 unsigned TRISF5
: 1;
3530 unsigned TRISF6
: 1;
3531 unsigned TRISF7
: 1;
3547 extern __at(0x0F97) volatile __TRISFbits_t TRISFbits
;
3549 #define _TRISF_TRISF0 0x01
3550 #define _TRISF_RF0 0x01
3551 #define _TRISF_TRISF1 0x02
3552 #define _TRISF_RF1 0x02
3553 #define _TRISF_TRISF2 0x04
3554 #define _TRISF_RF2 0x04
3555 #define _TRISF_TRISF3 0x08
3556 #define _TRISF_RF3 0x08
3557 #define _TRISF_TRISF4 0x10
3558 #define _TRISF_RF4 0x10
3559 #define _TRISF_TRISF5 0x20
3560 #define _TRISF_RF5 0x20
3561 #define _TRISF_TRISF6 0x40
3562 #define _TRISF_RF6 0x40
3563 #define _TRISF_TRISF7 0x80
3564 #define _TRISF_RF7 0x80
3566 //==============================================================================
3569 //==============================================================================
3572 extern __at(0x0F98) __sfr DDRG
;
3578 unsigned TRISG0
: 1;
3579 unsigned TRISG1
: 1;
3580 unsigned TRISG2
: 1;
3581 unsigned TRISG3
: 1;
3582 unsigned TRISG4
: 1;
3583 unsigned TRISG5
: 1;
3584 unsigned TRISG6
: 1;
3585 unsigned TRISG7
: 1;
3601 extern __at(0x0F98) volatile __DDRGbits_t DDRGbits
;
3603 #define _TRISG0 0x01
3605 #define _TRISG1 0x02
3607 #define _TRISG2 0x04
3609 #define _TRISG3 0x08
3611 #define _TRISG4 0x10
3613 #define _TRISG5 0x20
3615 #define _TRISG6 0x40
3617 #define _TRISG7 0x80
3620 //==============================================================================
3623 //==============================================================================
3626 extern __at(0x0F98) __sfr TRISG
;
3632 unsigned TRISG0
: 1;
3633 unsigned TRISG1
: 1;
3634 unsigned TRISG2
: 1;
3635 unsigned TRISG3
: 1;
3636 unsigned TRISG4
: 1;
3637 unsigned TRISG5
: 1;
3638 unsigned TRISG6
: 1;
3639 unsigned TRISG7
: 1;
3655 extern __at(0x0F98) volatile __TRISGbits_t TRISGbits
;
3657 #define _TRISG_TRISG0 0x01
3658 #define _TRISG_RG0 0x01
3659 #define _TRISG_TRISG1 0x02
3660 #define _TRISG_RG1 0x02
3661 #define _TRISG_TRISG2 0x04
3662 #define _TRISG_RG2 0x04
3663 #define _TRISG_TRISG3 0x08
3664 #define _TRISG_RG3 0x08
3665 #define _TRISG_TRISG4 0x10
3666 #define _TRISG_RG4 0x10
3667 #define _TRISG_TRISG5 0x20
3668 #define _TRISG_RG5 0x20
3669 #define _TRISG_TRISG6 0x40
3670 #define _TRISG_RG6 0x40
3671 #define _TRISG_TRISG7 0x80
3672 #define _TRISG_RG7 0x80
3674 //==============================================================================
3677 //==============================================================================
3680 extern __at(0x0F99) __sfr DDRH
;
3686 unsigned TRISH0
: 1;
3687 unsigned TRISH1
: 1;
3688 unsigned TRISH2
: 1;
3689 unsigned TRISH3
: 1;
3690 unsigned TRISH4
: 1;
3691 unsigned TRISH5
: 1;
3692 unsigned TRISH6
: 1;
3693 unsigned TRISH7
: 1;
3709 extern __at(0x0F99) volatile __DDRHbits_t DDRHbits
;
3711 #define _TRISH0 0x01
3713 #define _TRISH1 0x02
3715 #define _TRISH2 0x04
3717 #define _TRISH3 0x08
3719 #define _TRISH4 0x10
3721 #define _TRISH5 0x20
3723 #define _TRISH6 0x40
3725 #define _TRISH7 0x80
3728 //==============================================================================
3731 //==============================================================================
3734 extern __at(0x0F99) __sfr TRISH
;
3740 unsigned TRISH0
: 1;
3741 unsigned TRISH1
: 1;
3742 unsigned TRISH2
: 1;
3743 unsigned TRISH3
: 1;
3744 unsigned TRISH4
: 1;
3745 unsigned TRISH5
: 1;
3746 unsigned TRISH6
: 1;
3747 unsigned TRISH7
: 1;
3763 extern __at(0x0F99) volatile __TRISHbits_t TRISHbits
;
3765 #define _TRISH_TRISH0 0x01
3766 #define _TRISH_RH0 0x01
3767 #define _TRISH_TRISH1 0x02
3768 #define _TRISH_RH1 0x02
3769 #define _TRISH_TRISH2 0x04
3770 #define _TRISH_RH2 0x04
3771 #define _TRISH_TRISH3 0x08
3772 #define _TRISH_RH3 0x08
3773 #define _TRISH_TRISH4 0x10
3774 #define _TRISH_RH4 0x10
3775 #define _TRISH_TRISH5 0x20
3776 #define _TRISH_RH5 0x20
3777 #define _TRISH_TRISH6 0x40
3778 #define _TRISH_RH6 0x40
3779 #define _TRISH_TRISH7 0x80
3780 #define _TRISH_RH7 0x80
3782 //==============================================================================
3785 //==============================================================================
3788 extern __at(0x0F9A) __sfr DDRJ
;
3794 unsigned TRISJ0
: 1;
3795 unsigned TRISJ1
: 1;
3796 unsigned TRISJ2
: 1;
3797 unsigned TRISJ3
: 1;
3798 unsigned TRISJ4
: 1;
3799 unsigned TRISJ5
: 1;
3800 unsigned TRISJ6
: 1;
3801 unsigned TRISJ7
: 1;
3817 extern __at(0x0F9A) volatile __DDRJbits_t DDRJbits
;
3819 #define _TRISJ0 0x01
3821 #define _TRISJ1 0x02
3823 #define _TRISJ2 0x04
3825 #define _TRISJ3 0x08
3827 #define _TRISJ4 0x10
3829 #define _TRISJ5 0x20
3831 #define _TRISJ6 0x40
3833 #define _TRISJ7 0x80
3836 //==============================================================================
3839 //==============================================================================
3842 extern __at(0x0F9A) __sfr TRISJ
;
3848 unsigned TRISJ0
: 1;
3849 unsigned TRISJ1
: 1;
3850 unsigned TRISJ2
: 1;
3851 unsigned TRISJ3
: 1;
3852 unsigned TRISJ4
: 1;
3853 unsigned TRISJ5
: 1;
3854 unsigned TRISJ6
: 1;
3855 unsigned TRISJ7
: 1;
3871 extern __at(0x0F9A) volatile __TRISJbits_t TRISJbits
;
3873 #define _TRISJ_TRISJ0 0x01
3874 #define _TRISJ_RJ0 0x01
3875 #define _TRISJ_TRISJ1 0x02
3876 #define _TRISJ_RJ1 0x02
3877 #define _TRISJ_TRISJ2 0x04
3878 #define _TRISJ_RJ2 0x04
3879 #define _TRISJ_TRISJ3 0x08
3880 #define _TRISJ_RJ3 0x08
3881 #define _TRISJ_TRISJ4 0x10
3882 #define _TRISJ_RJ4 0x10
3883 #define _TRISJ_TRISJ5 0x20
3884 #define _TRISJ_RJ5 0x20
3885 #define _TRISJ_TRISJ6 0x40
3886 #define _TRISJ_RJ6 0x40
3887 #define _TRISJ_TRISJ7 0x80
3888 #define _TRISJ_RJ7 0x80
3890 //==============================================================================
3893 //==============================================================================
3896 extern __at(0x0F9B) __sfr OSCTUNE
;
3910 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits
;
3917 //==============================================================================
3920 //==============================================================================
3923 extern __at(0x0F9C) __sfr MEMCON
;
3953 extern __at(0x0F9C) volatile __MEMCONbits_t MEMCONbits
;
3961 //==============================================================================
3964 //==============================================================================
3967 extern __at(0x0F9D) __sfr PIE1
;
3973 unsigned TMR1IE
: 1;
3974 unsigned TMR2IE
: 1;
3975 unsigned CCP1IE
: 1;
3976 unsigned SSP1IE
: 1;
3996 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits
;
3998 #define _PIE1_TMR1IE 0x01
3999 #define _PIE1_TMR2IE 0x02
4000 #define _PIE1_CCP1IE 0x04
4001 #define _PIE1_SSP1IE 0x08
4002 #define _PIE1_SSPIE 0x08
4003 #define _PIE1_TX1IE 0x10
4004 #define _PIE1_TXIE 0x10
4005 #define _PIE1_RC1IE 0x20
4006 #define _PIE1_RCIE 0x20
4007 #define _PIE1_ADIE 0x40
4008 #define _PIE1_PSPIE 0x80
4010 //==============================================================================
4013 //==============================================================================
4016 extern __at(0x0F9E) __sfr PIR1
;
4022 unsigned TMR1IF
: 1;
4023 unsigned TMR2IF
: 1;
4024 unsigned CCP1IF
: 1;
4025 unsigned SSP1IF
: 1;
4045 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits
;
4047 #define _PIR1_TMR1IF 0x01
4048 #define _PIR1_TMR2IF 0x02
4049 #define _PIR1_CCP1IF 0x04
4050 #define _PIR1_SSP1IF 0x08
4051 #define _PIR1_SSPIF 0x08
4052 #define _PIR1_TX1IF 0x10
4053 #define _PIR1_TXIF 0x10
4054 #define _PIR1_RC1IF 0x20
4055 #define _PIR1_RCIF 0x20
4056 #define _PIR1_ADIF 0x40
4057 #define _PIR1_PSPIF 0x80
4059 //==============================================================================
4062 //==============================================================================
4065 extern __at(0x0F9F) __sfr IPR1
;
4071 unsigned TMR1IP
: 1;
4072 unsigned TMR2IP
: 1;
4073 unsigned CCP1IP
: 1;
4074 unsigned SSP1IP
: 1;
4094 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits
;
4096 #define _TMR1IP 0x01
4097 #define _TMR2IP 0x02
4098 #define _CCP1IP 0x04
4099 #define _SSP1IP 0x08
4108 //==============================================================================
4111 //==============================================================================
4114 extern __at(0x0FA0) __sfr PIE2
;
4120 unsigned CCP2IE
: 1;
4121 unsigned TMR3IE
: 1;
4123 unsigned BCL1IE
: 1;
4127 unsigned OSCFIE
: 1;
4143 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits
;
4145 #define _CCP2IE 0x01
4146 #define _TMR3IE 0x02
4147 #define _BCL1IE 0x08
4151 #define _OSCFIE 0x80
4153 //==============================================================================
4156 //==============================================================================
4159 extern __at(0x0FA1) __sfr PIR2
;
4165 unsigned CCP2IF
: 1;
4166 unsigned TMR3IF
: 1;
4168 unsigned BCL1IF
: 1;
4172 unsigned OSCFIF
: 1;
4188 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits
;
4190 #define _CCP2IF 0x01
4191 #define _TMR3IF 0x02
4192 #define _BCL1IF 0x08
4196 #define _OSCFIF 0x80
4198 //==============================================================================
4201 //==============================================================================
4204 extern __at(0x0FA2) __sfr IPR2
;
4210 unsigned CCP2IP
: 1;
4211 unsigned TMR3IP
: 1;
4213 unsigned BCL1IP
: 1;
4217 unsigned OSCFIP
: 1;
4233 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits
;
4235 #define _CCP2IP 0x01
4236 #define _TMR3IP 0x02
4237 #define _BCL1IP 0x08
4241 #define _OSCFIP 0x80
4243 //==============================================================================
4246 //==============================================================================
4249 extern __at(0x0FA3) __sfr PIE3
;
4253 unsigned CCP3IE
: 1;
4254 unsigned CCP4IE
: 1;
4255 unsigned CCP5IE
: 1;
4256 unsigned TMR4IE
: 1;
4259 unsigned BCL2IE
: 1;
4260 unsigned SSP2IE
: 1;
4263 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits
;
4265 #define _CCP3IE 0x01
4266 #define _CCP4IE 0x02
4267 #define _CCP5IE 0x04
4268 #define _TMR4IE 0x08
4271 #define _BCL2IE 0x40
4272 #define _SSP2IE 0x80
4274 //==============================================================================
4277 //==============================================================================
4280 extern __at(0x0FA4) __sfr PIR3
;
4284 unsigned CCP3IF
: 1;
4285 unsigned CCP4IF
: 1;
4286 unsigned CCP5IF
: 1;
4287 unsigned TMR4IF
: 1;
4290 unsigned BCL2IF
: 1;
4291 unsigned SSP2IF
: 1;
4294 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits
;
4296 #define _CCP3IF 0x01
4297 #define _CCP4IF 0x02
4298 #define _CCP5IF 0x04
4299 #define _TMR4IF 0x08
4302 #define _BCL2IF 0x40
4303 #define _SSP2IF 0x80
4305 //==============================================================================
4308 //==============================================================================
4311 extern __at(0x0FA5) __sfr IPR3
;
4315 unsigned CCP3IP
: 1;
4316 unsigned CCP4IP
: 1;
4317 unsigned CCP5IP
: 1;
4318 unsigned TMR4IP
: 1;
4321 unsigned BCL2IP
: 1;
4322 unsigned SSP2IP
: 1;
4325 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits
;
4327 #define _CCP3IP 0x01
4328 #define _CCP4IP 0x02
4329 #define _CCP5IP 0x04
4330 #define _TMR4IP 0x08
4333 #define _BCL2IP 0x40
4334 #define _SSP2IP 0x80
4336 //==============================================================================
4339 //==============================================================================
4342 extern __at(0x0FA6) __sfr EECON1
;
4356 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits
;
4363 //==============================================================================
4365 extern __at(0x0FA7) __sfr EECON2
;
4367 //==============================================================================
4370 extern __at(0x0FAB) __sfr RCSTA
;
4391 unsigned ADDEN1
: 1;
4406 unsigned NOT_RC8
: 1;
4435 extern __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits
;
4445 #define _ADDEN1 0x08
4452 #define _NOT_RC8 0x40
4458 //==============================================================================
4461 //==============================================================================
4464 extern __at(0x0FAB) __sfr RCSTA1
;
4485 unsigned ADDEN1
: 1;
4500 unsigned NOT_RC8
: 1;
4529 extern __at(0x0FAB) volatile __RCSTA1bits_t RCSTA1bits
;
4531 #define _RCSTA1_RX9D 0x01
4532 #define _RCSTA1_RCD8 0x01
4533 #define _RCSTA1_RX9D1 0x01
4534 #define _RCSTA1_OERR 0x02
4535 #define _RCSTA1_OERR1 0x02
4536 #define _RCSTA1_FERR 0x04
4537 #define _RCSTA1_FERR1 0x04
4538 #define _RCSTA1_ADDEN 0x08
4539 #define _RCSTA1_ADDEN1 0x08
4540 #define _RCSTA1_CREN 0x10
4541 #define _RCSTA1_CREN1 0x10
4542 #define _RCSTA1_SREN 0x20
4543 #define _RCSTA1_SREN1 0x20
4544 #define _RCSTA1_RX9 0x40
4545 #define _RCSTA1_RC9 0x40
4546 #define _RCSTA1_NOT_RC8 0x40
4547 #define _RCSTA1_RC8_9 0x40
4548 #define _RCSTA1_RX91 0x40
4549 #define _RCSTA1_SPEN 0x80
4550 #define _RCSTA1_SPEN1 0x80
4552 //==============================================================================
4555 //==============================================================================
4558 extern __at(0x0FAC) __sfr TXSTA
;
4579 unsigned SENDB1
: 1;
4594 unsigned NOT_TX8
: 1;
4611 extern __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits
;
4621 #define _SENDB1 0x08
4628 #define _NOT_TX8 0x40
4633 //==============================================================================
4636 //==============================================================================
4639 extern __at(0x0FAC) __sfr TXSTA1
;
4660 unsigned SENDB1
: 1;
4675 unsigned NOT_TX8
: 1;
4692 extern __at(0x0FAC) volatile __TXSTA1bits_t TXSTA1bits
;
4694 #define _TXSTA1_TX9D 0x01
4695 #define _TXSTA1_TXD8 0x01
4696 #define _TXSTA1_TX9D1 0x01
4697 #define _TXSTA1_TRMT 0x02
4698 #define _TXSTA1_TRMT1 0x02
4699 #define _TXSTA1_BRGH 0x04
4700 #define _TXSTA1_BRGH1 0x04
4701 #define _TXSTA1_SENDB 0x08
4702 #define _TXSTA1_SENDB1 0x08
4703 #define _TXSTA1_SYNC 0x10
4704 #define _TXSTA1_SYNC1 0x10
4705 #define _TXSTA1_TXEN 0x20
4706 #define _TXSTA1_TXEN1 0x20
4707 #define _TXSTA1_TX9 0x40
4708 #define _TXSTA1_TX8_9 0x40
4709 #define _TXSTA1_NOT_TX8 0x40
4710 #define _TXSTA1_TX91 0x40
4711 #define _TXSTA1_CSRC 0x80
4712 #define _TXSTA1_CSRC1 0x80
4714 //==============================================================================
4716 extern __at(0x0FAD) __sfr TXREG
;
4717 extern __at(0x0FAD) __sfr TXREG1
;
4718 extern __at(0x0FAE) __sfr RCREG
;
4719 extern __at(0x0FAE) __sfr RCREG1
;
4720 extern __at(0x0FAF) __sfr SPBRG
;
4721 extern __at(0x0FAF) __sfr SPBRG1
;
4723 //==============================================================================
4726 extern __at(0x0FB0) __sfr PSPCON
;
4734 unsigned PSPMODE
: 1;
4740 extern __at(0x0FB0) volatile __PSPCONbits_t PSPCONbits
;
4742 #define _PSPMODE 0x10
4747 //==============================================================================
4750 //==============================================================================
4753 extern __at(0x0FB1) __sfr T3CON
;
4759 unsigned TMR3ON
: 1;
4760 unsigned TMR3CS
: 1;
4761 unsigned NOT_T3SYNC
: 1;
4762 unsigned T3CCP1
: 1;
4763 unsigned T3CKPS0
: 1;
4764 unsigned T3CKPS1
: 1;
4765 unsigned T3CCP2
: 1;
4773 unsigned T3SYNC
: 1;
4785 unsigned T3INSYNC
: 1;
4796 unsigned T3CKPS
: 2;
4801 extern __at(0x0FB1) volatile __T3CONbits_t T3CONbits
;
4803 #define _T3CON_TMR3ON 0x01
4804 #define _T3CON_TMR3CS 0x02
4805 #define _T3CON_NOT_T3SYNC 0x04
4806 #define _T3CON_T3SYNC 0x04
4807 #define _T3CON_T3INSYNC 0x04
4808 #define _T3CON_T3CCP1 0x08
4809 #define _T3CON_T3CKPS0 0x10
4810 #define _T3CON_T3CKPS1 0x20
4811 #define _T3CON_T3CCP2 0x40
4812 #define _T3CON_RD16 0x80
4814 //==============================================================================
4816 extern __at(0x0FB2) __sfr TMR3
;
4817 extern __at(0x0FB2) __sfr TMR3L
;
4818 extern __at(0x0FB3) __sfr TMR3H
;
4820 //==============================================================================
4823 extern __at(0x0FB4) __sfr CMCON
;
4846 extern __at(0x0FB4) volatile __CMCONbits_t CMCONbits
;
4857 //==============================================================================
4860 //==============================================================================
4863 extern __at(0x0FB5) __sfr CVRCON
;
4886 extern __at(0x0FB5) volatile __CVRCONbits_t CVRCONbits
;
4897 //==============================================================================
4900 //==============================================================================
4903 extern __at(0x0FB6) __sfr ECCP1AS
;
4909 unsigned PSSBD0
: 1;
4910 unsigned PSSBD1
: 1;
4911 unsigned PSSAC0
: 1;
4912 unsigned PSSAC1
: 1;
4913 unsigned ECCPAS0
: 1;
4914 unsigned ECCPAS1
: 1;
4915 unsigned ECCPAS2
: 1;
4916 unsigned ECCPASE
: 1;
4921 unsigned PSS1BD0
: 1;
4922 unsigned PSS1BD1
: 1;
4923 unsigned PSS1AC0
: 1;
4924 unsigned PSS1AC1
: 1;
4925 unsigned ECCP1AS0
: 1;
4926 unsigned ECCP1AS1
: 1;
4927 unsigned ECCP1AS2
: 1;
4928 unsigned ECCP1ASE
: 1;
4939 unsigned PSS1BD
: 2;
4953 unsigned PSS1AC
: 2;
4960 unsigned ECCPAS
: 3;
4967 unsigned ECCP1AS
: 3;
4972 extern __at(0x0FB6) volatile __ECCP1ASbits_t ECCP1ASbits
;
4974 #define _PSSBD0 0x01
4975 #define _PSS1BD0 0x01
4976 #define _PSSBD1 0x02
4977 #define _PSS1BD1 0x02
4978 #define _PSSAC0 0x04
4979 #define _PSS1AC0 0x04
4980 #define _PSSAC1 0x08
4981 #define _PSS1AC1 0x08
4982 #define _ECCPAS0 0x10
4983 #define _ECCP1AS0 0x10
4984 #define _ECCPAS1 0x20
4985 #define _ECCP1AS1 0x20
4986 #define _ECCPAS2 0x40
4987 #define _ECCP1AS2 0x40
4988 #define _ECCPASE 0x80
4989 #define _ECCP1ASE 0x80
4991 //==============================================================================
4994 //==============================================================================
4997 extern __at(0x0FB7) __sfr CCP3CON
;
5003 unsigned CCP3M0
: 1;
5004 unsigned CCP3M1
: 1;
5005 unsigned CCP3M2
: 1;
5006 unsigned CCP3M3
: 1;
5045 extern __at(0x0FB7) volatile __CCP3CONbits_t CCP3CONbits
;
5047 #define _CCP3M0 0x01
5048 #define _CCP3M1 0x02
5049 #define _CCP3M2 0x04
5050 #define _CCP3M3 0x08
5058 //==============================================================================
5061 //==============================================================================
5064 extern __at(0x0FB7) __sfr ECCP3CON
;
5070 unsigned CCP3M0
: 1;
5071 unsigned CCP3M1
: 1;
5072 unsigned CCP3M2
: 1;
5073 unsigned CCP3M3
: 1;
5112 extern __at(0x0FB7) volatile __ECCP3CONbits_t ECCP3CONbits
;
5114 #define _ECCP3CON_CCP3M0 0x01
5115 #define _ECCP3CON_CCP3M1 0x02
5116 #define _ECCP3CON_CCP3M2 0x04
5117 #define _ECCP3CON_CCP3M3 0x08
5118 #define _ECCP3CON_DC3B0 0x10
5119 #define _ECCP3CON_CCP3Y 0x10
5120 #define _ECCP3CON_DC3B1 0x20
5121 #define _ECCP3CON_CCP3X 0x20
5122 #define _ECCP3CON_P3M0 0x40
5123 #define _ECCP3CON_P3M1 0x80
5125 //==============================================================================
5127 extern __at(0x0FB8) __sfr CCPR3
;
5128 extern __at(0x0FB8) __sfr CCPR3L
;
5129 extern __at(0x0FB9) __sfr CCPR3H
;
5131 //==============================================================================
5134 extern __at(0x0FBA) __sfr CCP2CON
;
5140 unsigned CCP2M0
: 1;
5141 unsigned CCP2M1
: 1;
5142 unsigned CCP2M2
: 1;
5143 unsigned CCP2M3
: 1;
5182 extern __at(0x0FBA) volatile __CCP2CONbits_t CCP2CONbits
;
5184 #define _CCP2M0 0x01
5185 #define _CCP2M1 0x02
5186 #define _CCP2M2 0x04
5187 #define _CCP2M3 0x08
5195 //==============================================================================
5198 //==============================================================================
5201 extern __at(0x0FBA) __sfr ECCP2CON
;
5207 unsigned CCP2M0
: 1;
5208 unsigned CCP2M1
: 1;
5209 unsigned CCP2M2
: 1;
5210 unsigned CCP2M3
: 1;
5249 extern __at(0x0FBA) volatile __ECCP2CONbits_t ECCP2CONbits
;
5251 #define _ECCP2CON_CCP2M0 0x01
5252 #define _ECCP2CON_CCP2M1 0x02
5253 #define _ECCP2CON_CCP2M2 0x04
5254 #define _ECCP2CON_CCP2M3 0x08
5255 #define _ECCP2CON_DC2B0 0x10
5256 #define _ECCP2CON_CCP2Y 0x10
5257 #define _ECCP2CON_DC2B1 0x20
5258 #define _ECCP2CON_CCP2X 0x20
5259 #define _ECCP2CON_P2M0 0x40
5260 #define _ECCP2CON_P2M1 0x80
5262 //==============================================================================
5264 extern __at(0x0FBB) __sfr CCPR2
;
5265 extern __at(0x0FBB) __sfr CCPR2L
;
5266 extern __at(0x0FBC) __sfr CCPR2H
;
5268 //==============================================================================
5271 extern __at(0x0FBD) __sfr CCP1CON
;
5277 unsigned CCP1M0
: 1;
5278 unsigned CCP1M1
: 1;
5279 unsigned CCP1M2
: 1;
5280 unsigned CCP1M3
: 1;
5319 extern __at(0x0FBD) volatile __CCP1CONbits_t CCP1CONbits
;
5321 #define _CCP1M0 0x01
5322 #define _CCP1M1 0x02
5323 #define _CCP1M2 0x04
5324 #define _CCP1M3 0x08
5332 //==============================================================================
5335 //==============================================================================
5338 extern __at(0x0FBD) __sfr ECCP1CON
;
5344 unsigned CCP1M0
: 1;
5345 unsigned CCP1M1
: 1;
5346 unsigned CCP1M2
: 1;
5347 unsigned CCP1M3
: 1;
5386 extern __at(0x0FBD) volatile __ECCP1CONbits_t ECCP1CONbits
;
5388 #define _ECCP1CON_CCP1M0 0x01
5389 #define _ECCP1CON_CCP1M1 0x02
5390 #define _ECCP1CON_CCP1M2 0x04
5391 #define _ECCP1CON_CCP1M3 0x08
5392 #define _ECCP1CON_DC1B0 0x10
5393 #define _ECCP1CON_CCP1Y 0x10
5394 #define _ECCP1CON_DC1B1 0x20
5395 #define _ECCP1CON_CCP1X 0x20
5396 #define _ECCP1CON_P1M0 0x40
5397 #define _ECCP1CON_P1M1 0x80
5399 //==============================================================================
5401 extern __at(0x0FBE) __sfr CCPR1
;
5402 extern __at(0x0FBE) __sfr CCPR1L
;
5403 extern __at(0x0FBF) __sfr CCPR1H
;
5405 //==============================================================================
5408 extern __at(0x0FC0) __sfr ADCON2
;
5438 extern __at(0x0FC0) volatile __ADCON2bits_t ADCON2bits
;
5448 //==============================================================================
5451 //==============================================================================
5454 extern __at(0x0FC1) __sfr ADCON1
;
5484 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits
;
5493 //==============================================================================
5496 //==============================================================================
5499 extern __at(0x0FC2) __sfr ADCON0
;
5506 unsigned GO_NOT_DONE
: 1;
5530 unsigned GO_DONE
: 1;
5554 unsigned NOT_DONE
: 1;
5571 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits
;
5574 #define _GO_NOT_DONE 0x02
5576 #define _GO_DONE 0x02
5578 #define _NOT_DONE 0x02
5585 //==============================================================================
5587 extern __at(0x0FC3) __sfr ADRES
;
5588 extern __at(0x0FC3) __sfr ADRESL
;
5589 extern __at(0x0FC4) __sfr ADRESH
;
5591 //==============================================================================
5594 extern __at(0x0FC5) __sfr SSP1CON2
;
5606 unsigned ACKSTAT
: 1;
5613 unsigned ADMSK1
: 1;
5614 unsigned ADMSK2
: 1;
5615 unsigned ADMSK3
: 1;
5616 unsigned ADMSK4
: 1;
5617 unsigned ADMSK5
: 1;
5623 extern __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits
;
5627 #define _ADMSK1 0x02
5629 #define _ADMSK2 0x04
5631 #define _ADMSK3 0x08
5633 #define _ADMSK4 0x10
5635 #define _ADMSK5 0x20
5636 #define _ACKSTAT 0x40
5639 //==============================================================================
5642 //==============================================================================
5645 extern __at(0x0FC5) __sfr SSPCON2
;
5657 unsigned ACKSTAT
: 1;
5664 unsigned ADMSK1
: 1;
5665 unsigned ADMSK2
: 1;
5666 unsigned ADMSK3
: 1;
5667 unsigned ADMSK4
: 1;
5668 unsigned ADMSK5
: 1;
5674 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits
;
5676 #define _SSPCON2_SEN 0x01
5677 #define _SSPCON2_RSEN 0x02
5678 #define _SSPCON2_ADMSK1 0x02
5679 #define _SSPCON2_PEN 0x04
5680 #define _SSPCON2_ADMSK2 0x04
5681 #define _SSPCON2_RCEN 0x08
5682 #define _SSPCON2_ADMSK3 0x08
5683 #define _SSPCON2_ACKEN 0x10
5684 #define _SSPCON2_ADMSK4 0x10
5685 #define _SSPCON2_ACKDT 0x20
5686 #define _SSPCON2_ADMSK5 0x20
5687 #define _SSPCON2_ACKSTAT 0x40
5688 #define _SSPCON2_GCEN 0x80
5690 //==============================================================================
5693 //==============================================================================
5696 extern __at(0x0FC6) __sfr SSP1CON1
;
5719 extern __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits
;
5730 //==============================================================================
5733 //==============================================================================
5736 extern __at(0x0FC6) __sfr SSPCON1
;
5759 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits
;
5761 #define _SSPCON1_SSPM0 0x01
5762 #define _SSPCON1_SSPM1 0x02
5763 #define _SSPCON1_SSPM2 0x04
5764 #define _SSPCON1_SSPM3 0x08
5765 #define _SSPCON1_CKP 0x10
5766 #define _SSPCON1_SSPEN 0x20
5767 #define _SSPCON1_SSPOV 0x40
5768 #define _SSPCON1_WCOL 0x80
5770 //==============================================================================
5773 //==============================================================================
5776 extern __at(0x0FC7) __sfr SSP1STAT
;
5784 unsigned R_NOT_W
: 1;
5787 unsigned D_NOT_A
: 1;
5797 unsigned I2C_START
: 1;
5798 unsigned I2C_STOP
: 1;
5808 unsigned I2C_READ
: 1;
5811 unsigned I2C_DAT
: 1;
5832 unsigned NOT_WRITE
: 1;
5835 unsigned NOT_ADDRESS
: 1;
5844 unsigned READ_WRITE
: 1;
5847 unsigned DATA_ADDRESS
: 1;
5865 extern __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits
;
5869 #define _R_NOT_W 0x04
5871 #define _I2C_READ 0x04
5873 #define _NOT_WRITE 0x04
5874 #define _READ_WRITE 0x04
5877 #define _I2C_START 0x08
5879 #define _I2C_STOP 0x10
5880 #define _D_NOT_A 0x20
5882 #define _I2C_DAT 0x20
5884 #define _NOT_ADDRESS 0x20
5885 #define _DATA_ADDRESS 0x20
5890 //==============================================================================
5893 //==============================================================================
5896 extern __at(0x0FC7) __sfr SSPSTAT
;
5904 unsigned R_NOT_W
: 1;
5907 unsigned D_NOT_A
: 1;
5917 unsigned I2C_START
: 1;
5918 unsigned I2C_STOP
: 1;
5928 unsigned I2C_READ
: 1;
5931 unsigned I2C_DAT
: 1;
5952 unsigned NOT_WRITE
: 1;
5955 unsigned NOT_ADDRESS
: 1;
5964 unsigned READ_WRITE
: 1;
5967 unsigned DATA_ADDRESS
: 1;
5985 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits
;
5987 #define _SSPSTAT_BF 0x01
5988 #define _SSPSTAT_UA 0x02
5989 #define _SSPSTAT_R_NOT_W 0x04
5990 #define _SSPSTAT_R_W 0x04
5991 #define _SSPSTAT_I2C_READ 0x04
5992 #define _SSPSTAT_NOT_W 0x04
5993 #define _SSPSTAT_NOT_WRITE 0x04
5994 #define _SSPSTAT_READ_WRITE 0x04
5995 #define _SSPSTAT_R 0x04
5996 #define _SSPSTAT_S 0x08
5997 #define _SSPSTAT_I2C_START 0x08
5998 #define _SSPSTAT_P 0x10
5999 #define _SSPSTAT_I2C_STOP 0x10
6000 #define _SSPSTAT_D_NOT_A 0x20
6001 #define _SSPSTAT_D_A 0x20
6002 #define _SSPSTAT_I2C_DAT 0x20
6003 #define _SSPSTAT_NOT_A 0x20
6004 #define _SSPSTAT_NOT_ADDRESS 0x20
6005 #define _SSPSTAT_DATA_ADDRESS 0x20
6006 #define _SSPSTAT_D 0x20
6007 #define _SSPSTAT_CKE 0x40
6008 #define _SSPSTAT_SMP 0x80
6010 //==============================================================================
6012 extern __at(0x0FC8) __sfr SSP1ADD
;
6013 extern __at(0x0FC8) __sfr SSPADD
;
6014 extern __at(0x0FC9) __sfr SSP1BUF
;
6015 extern __at(0x0FC9) __sfr SSPBUF
;
6017 //==============================================================================
6020 extern __at(0x0FCA) __sfr T2CON
;
6026 unsigned T2CKPS0
: 1;
6027 unsigned T2CKPS1
: 1;
6028 unsigned TMR2ON
: 1;
6029 unsigned T2OUTPS0
: 1;
6030 unsigned T2OUTPS1
: 1;
6031 unsigned T2OUTPS2
: 1;
6032 unsigned T2OUTPS3
: 1;
6038 unsigned T2CKPS
: 2;
6045 unsigned T2OUTPS
: 4;
6050 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits
;
6052 #define _T2CKPS0 0x01
6053 #define _T2CKPS1 0x02
6054 #define _TMR2ON 0x04
6055 #define _T2OUTPS0 0x08
6056 #define _T2OUTPS1 0x10
6057 #define _T2OUTPS2 0x20
6058 #define _T2OUTPS3 0x40
6060 //==============================================================================
6062 extern __at(0x0FCB) __sfr PR2
;
6063 extern __at(0x0FCC) __sfr TMR2
;
6065 //==============================================================================
6068 extern __at(0x0FCD) __sfr T1CON
;
6074 unsigned TMR1ON
: 1;
6075 unsigned TMR1CS
: 1;
6076 unsigned NOT_T1SYNC
: 1;
6077 unsigned T1OSCEN
: 1;
6078 unsigned T1CKPS0
: 1;
6079 unsigned T1CKPS1
: 1;
6088 unsigned T1SYNC
: 1;
6100 unsigned T1INSYNC
: 1;
6111 unsigned T1CKPS
: 2;
6116 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits
;
6118 #define _TMR1ON 0x01
6119 #define _TMR1CS 0x02
6120 #define _NOT_T1SYNC 0x04
6121 #define _T1SYNC 0x04
6122 #define _T1INSYNC 0x04
6123 #define _T1OSCEN 0x08
6124 #define _T1CKPS0 0x10
6125 #define _T1CKPS1 0x20
6129 //==============================================================================
6131 extern __at(0x0FCE) __sfr TMR1
;
6132 extern __at(0x0FCE) __sfr TMR1L
;
6133 extern __at(0x0FCF) __sfr TMR1H
;
6135 //==============================================================================
6138 extern __at(0x0FD0) __sfr RCON
;
6144 unsigned NOT_BOR
: 1;
6145 unsigned NOT_POR
: 1;
6146 unsigned NOT_PD
: 1;
6147 unsigned NOT_TO
: 1;
6148 unsigned NOT_RI
: 1;
6149 unsigned NOT_CM
: 1;
6167 extern __at(0x0FD0) volatile __RCONbits_t RCONbits
;
6169 #define _NOT_BOR 0x01
6171 #define _NOT_POR 0x02
6173 #define _NOT_PD 0x04
6175 #define _NOT_TO 0x08
6177 #define _NOT_RI 0x10
6179 #define _NOT_CM 0x20
6183 //==============================================================================
6186 //==============================================================================
6189 extern __at(0x0FD1) __sfr WDTCON
;
6195 unsigned SWDTEN
: 1;
6218 extern __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits
;
6220 #define _SWDTEN 0x01
6223 //==============================================================================
6226 //==============================================================================
6229 extern __at(0x0FD2) __sfr ECON1
;
6237 unsigned CSUMEN
: 1;
6243 extern __at(0x0FD2) volatile __ECON1bits_t ECON1bits
;
6247 #define _CSUMEN 0x10
6252 //==============================================================================
6255 //==============================================================================
6258 extern __at(0x0FD3) __sfr OSCCON
;
6281 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits
;
6288 //==============================================================================
6291 //==============================================================================
6294 extern __at(0x0FD5) __sfr T0CON
;
6306 unsigned T08BIT
: 1;
6307 unsigned TMR0ON
: 1;
6317 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits
;
6325 #define _T08BIT 0x40
6326 #define _TMR0ON 0x80
6328 //==============================================================================
6330 extern __at(0x0FD6) __sfr TMR0
;
6331 extern __at(0x0FD6) __sfr TMR0L
;
6332 extern __at(0x0FD7) __sfr TMR0H
;
6334 //==============================================================================
6337 extern __at(0x0FD8) __sfr STATUS
;
6351 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits
;
6359 //==============================================================================
6361 extern __at(0x0FD9) __sfr FSR2L
;
6362 extern __at(0x0FDA) __sfr FSR2H
;
6363 extern __at(0x0FDB) __sfr PLUSW2
;
6364 extern __at(0x0FDC) __sfr PREINC2
;
6365 extern __at(0x0FDD) __sfr POSTDEC2
;
6366 extern __at(0x0FDE) __sfr POSTINC2
;
6367 extern __at(0x0FDF) __sfr INDF2
;
6368 extern __at(0x0FE0) __sfr BSR
;
6369 extern __at(0x0FE1) __sfr FSR1L
;
6370 extern __at(0x0FE2) __sfr FSR1H
;
6371 extern __at(0x0FE3) __sfr PLUSW1
;
6372 extern __at(0x0FE4) __sfr PREINC1
;
6373 extern __at(0x0FE5) __sfr POSTDEC1
;
6374 extern __at(0x0FE6) __sfr POSTINC1
;
6375 extern __at(0x0FE7) __sfr INDF1
;
6376 extern __at(0x0FE8) __sfr WREG
;
6377 extern __at(0x0FE9) __sfr FSR0L
;
6378 extern __at(0x0FEA) __sfr FSR0H
;
6379 extern __at(0x0FEB) __sfr PLUSW0
;
6380 extern __at(0x0FEC) __sfr PREINC0
;
6381 extern __at(0x0FED) __sfr POSTDEC0
;
6382 extern __at(0x0FEE) __sfr POSTINC0
;
6383 extern __at(0x0FEF) __sfr INDF0
;
6385 //==============================================================================
6388 extern __at(0x0FF0) __sfr INTCON3
;
6394 unsigned INT1IF
: 1;
6395 unsigned INT2IF
: 1;
6396 unsigned INT3IF
: 1;
6397 unsigned INT1IE
: 1;
6398 unsigned INT2IE
: 1;
6399 unsigned INT3IE
: 1;
6400 unsigned INT1IP
: 1;
6401 unsigned INT2IP
: 1;
6417 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits
;
6419 #define _INT1IF 0x01
6421 #define _INT2IF 0x02
6423 #define _INT3IF 0x04
6425 #define _INT1IE 0x08
6427 #define _INT2IE 0x10
6429 #define _INT3IE 0x20
6431 #define _INT1IP 0x40
6433 #define _INT2IP 0x80
6436 //==============================================================================
6439 //==============================================================================
6442 extern __at(0x0FF1) __sfr INTCON2
;
6449 unsigned INT3IP
: 1;
6450 unsigned TMR0IP
: 1;
6451 unsigned INTEDG3
: 1;
6452 unsigned INTEDG2
: 1;
6453 unsigned INTEDG1
: 1;
6454 unsigned INTEDG0
: 1;
6455 unsigned NOT_RBPU
: 1;
6471 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits
;
6474 #define _INT3IP 0x02
6475 #define _TMR0IP 0x04
6477 #define _INTEDG3 0x08
6478 #define _INTEDG2 0x10
6479 #define _INTEDG1 0x20
6480 #define _INTEDG0 0x40
6481 #define _NOT_RBPU 0x80
6484 //==============================================================================
6487 //==============================================================================
6490 extern __at(0x0FF2) __sfr INTCON
;
6497 unsigned INT0IF
: 1;
6498 unsigned TMR0IF
: 1;
6500 unsigned INT0IE
: 1;
6501 unsigned TMR0IE
: 1;
6502 unsigned PEIE_GIEL
: 1;
6503 unsigned GIE_GIEH
: 1;
6531 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits
;
6534 #define _INT0IF 0x02
6536 #define _TMR0IF 0x04
6539 #define _INT0IE 0x10
6541 #define _TMR0IE 0x20
6543 #define _PEIE_GIEL 0x40
6546 #define _GIE_GIEH 0x80
6550 //==============================================================================
6552 extern __at(0x0FF3) __sfr PROD
;
6553 extern __at(0x0FF3) __sfr PRODL
;
6554 extern __at(0x0FF4) __sfr PRODH
;
6555 extern __at(0x0FF5) __sfr TABLAT
;
6556 extern __at(0x0FF6) __sfr TBLPTR
;
6557 extern __at(0x0FF6) __sfr TBLPTRL
;
6558 extern __at(0x0FF7) __sfr TBLPTRH
;
6559 extern __at(0x0FF8) __sfr TBLPTRU
;
6560 extern __at(0x0FF9) __sfr PC
;
6561 extern __at(0x0FF9) __sfr PCL
;
6562 extern __at(0x0FFA) __sfr PCLATH
;
6563 extern __at(0x0FFB) __sfr PCLATU
;
6565 //==============================================================================
6568 extern __at(0x0FFC) __sfr STKPTR
;
6574 unsigned STKPTR0
: 1;
6575 unsigned STKPTR1
: 1;
6576 unsigned STKPTR2
: 1;
6577 unsigned STKPTR3
: 1;
6578 unsigned STKPTR4
: 1;
6580 unsigned STKUNF
: 1;
6581 unsigned STKFUL
: 1;
6593 unsigned STKOVF
: 1;
6604 unsigned STKPTR
: 5;
6609 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits
;
6611 #define _STKPTR0 0x01
6613 #define _STKPTR1 0x02
6615 #define _STKPTR2 0x04
6617 #define _STKPTR3 0x08
6619 #define _STKPTR4 0x10
6621 #define _STKUNF 0x40
6622 #define _STKFUL 0x80
6623 #define _STKOVF 0x80
6625 //==============================================================================
6627 extern __at(0x0FFD) __sfr TOS
;
6628 extern __at(0x0FFD) __sfr TOSL
;
6629 extern __at(0x0FFE) __sfr TOSH
;
6630 extern __at(0x0FFF) __sfr TOSU
;
6632 //==============================================================================
6634 // Configuration Addresses
6636 //==============================================================================
6638 #define __CONFIG1L 0x017FF8
6639 #define __CONFIG1H 0x017FF9
6640 #define __CONFIG2L 0x017FFA
6641 #define __CONFIG2H 0x017FFB
6642 #define __CONFIG3L 0x017FFC
6643 #define __CONFIG3H 0x017FFD
6645 //==============================================================================
6647 #endif // #ifndef __PIC18F96J65_H__