1 /* 2 * This declarations of the PIC16F1708 MCU. 3 * 4 * This file is part of the GNU PIC library for SDCC, originally 5 * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016. 6 * 7 * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:11 UTC. 8 * 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. 12 * 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. 21 * 22 * See http://sdcc.sourceforge.net/ for the latest information on sdcc. 23 */ 24 25 #ifndef __PIC16F1708_H__ 26 #define __PIC16F1708_H__ 27 28 //============================================================================== 29 // 30 // Register Addresses 31 // 32 //============================================================================== 33 34 #ifndef NO_ADDR_DEFINES 35 36 #define INDF0_ADDR 0x0000 37 #define INDF1_ADDR 0x0001 38 #define PCL_ADDR 0x0002 39 #define STATUS_ADDR 0x0003 40 #define FSR0_ADDR 0x0004 41 #define FSR0L_ADDR 0x0004 42 #define FSR0H_ADDR 0x0005 43 #define FSR1_ADDR 0x0006 44 #define FSR1L_ADDR 0x0006 45 #define FSR1H_ADDR 0x0007 46 #define BSR_ADDR 0x0008 47 #define WREG_ADDR 0x0009 48 #define PCLATH_ADDR 0x000A 49 #define INTCON_ADDR 0x000B 50 #define PORTA_ADDR 0x000C 51 #define PORTB_ADDR 0x000D 52 #define PORTC_ADDR 0x000E 53 #define PIR1_ADDR 0x0011 54 #define PIR2_ADDR 0x0012 55 #define PIR3_ADDR 0x0013 56 #define TMR0_ADDR 0x0015 57 #define TMR1_ADDR 0x0016 58 #define TMR1L_ADDR 0x0016 59 #define TMR1H_ADDR 0x0017 60 #define T1CON_ADDR 0x0018 61 #define T1GCON_ADDR 0x0019 62 #define TMR2_ADDR 0x001A 63 #define PR2_ADDR 0x001B 64 #define T2CON_ADDR 0x001C 65 #define TRISA_ADDR 0x008C 66 #define TRISB_ADDR 0x008D 67 #define TRISC_ADDR 0x008E 68 #define PIE1_ADDR 0x0091 69 #define PIE2_ADDR 0x0092 70 #define PIE3_ADDR 0x0093 71 #define OPTION_REG_ADDR 0x0095 72 #define PCON_ADDR 0x0096 73 #define WDTCON_ADDR 0x0097 74 #define OSCTUNE_ADDR 0x0098 75 #define OSCCON_ADDR 0x0099 76 #define OSCSTAT_ADDR 0x009A 77 #define ADRES_ADDR 0x009B 78 #define ADRESL_ADDR 0x009B 79 #define ADRESH_ADDR 0x009C 80 #define ADCON0_ADDR 0x009D 81 #define ADCON1_ADDR 0x009E 82 #define ADCON2_ADDR 0x009F 83 #define LATA_ADDR 0x010C 84 #define LATB_ADDR 0x010D 85 #define LATC_ADDR 0x010E 86 #define CM1CON0_ADDR 0x0111 87 #define CM1CON1_ADDR 0x0112 88 #define CM2CON0_ADDR 0x0113 89 #define CM2CON1_ADDR 0x0114 90 #define CMOUT_ADDR 0x0115 91 #define BORCON_ADDR 0x0116 92 #define FVRCON_ADDR 0x0117 93 #define DAC1CON0_ADDR 0x0118 94 #define DAC1CON1_ADDR 0x0119 95 #define ZCD1CON_ADDR 0x011C 96 #define ANSELA_ADDR 0x018C 97 #define ANSELB_ADDR 0x018D 98 #define ANSELC_ADDR 0x018E 99 #define PMADR_ADDR 0x0191 100 #define PMADRL_ADDR 0x0191 101 #define PMADRH_ADDR 0x0192 102 #define PMDAT_ADDR 0x0193 103 #define PMDATL_ADDR 0x0193 104 #define PMDATH_ADDR 0x0194 105 #define PMCON1_ADDR 0x0195 106 #define PMCON2_ADDR 0x0196 107 #define VREGCON_ADDR 0x0197 108 #define RC1REG_ADDR 0x0199 109 #define RCREG_ADDR 0x0199 110 #define RCREG1_ADDR 0x0199 111 #define TX1REG_ADDR 0x019A 112 #define TXREG_ADDR 0x019A 113 #define TXREG1_ADDR 0x019A 114 #define SP1BRG_ADDR 0x019B 115 #define SP1BRGL_ADDR 0x019B 116 #define SPBRG_ADDR 0x019B 117 #define SPBRG1_ADDR 0x019B 118 #define SPBRGL_ADDR 0x019B 119 #define SP1BRGH_ADDR 0x019C 120 #define SPBRGH_ADDR 0x019C 121 #define SPBRGH1_ADDR 0x019C 122 #define RC1STA_ADDR 0x019D 123 #define RCSTA_ADDR 0x019D 124 #define RCSTA1_ADDR 0x019D 125 #define TX1STA_ADDR 0x019E 126 #define TXSTA_ADDR 0x019E 127 #define TXSTA1_ADDR 0x019E 128 #define BAUD1CON_ADDR 0x019F 129 #define BAUDCON_ADDR 0x019F 130 #define BAUDCON1_ADDR 0x019F 131 #define BAUDCTL_ADDR 0x019F 132 #define BAUDCTL1_ADDR 0x019F 133 #define WPUA_ADDR 0x020C 134 #define WPUB_ADDR 0x020D 135 #define WPUC_ADDR 0x020E 136 #define SSP1BUF_ADDR 0x0211 137 #define SSPBUF_ADDR 0x0211 138 #define SSP1ADD_ADDR 0x0212 139 #define SSPADD_ADDR 0x0212 140 #define SSP1MSK_ADDR 0x0213 141 #define SSPMSK_ADDR 0x0213 142 #define SSP1STAT_ADDR 0x0214 143 #define SSPSTAT_ADDR 0x0214 144 #define SSP1CON_ADDR 0x0215 145 #define SSP1CON1_ADDR 0x0215 146 #define SSPCON_ADDR 0x0215 147 #define SSPCON1_ADDR 0x0215 148 #define SSP1CON2_ADDR 0x0216 149 #define SSPCON2_ADDR 0x0216 150 #define SSP1CON3_ADDR 0x0217 151 #define SSPCON3_ADDR 0x0217 152 #define ODCONA_ADDR 0x028C 153 #define ODCONB_ADDR 0x028D 154 #define ODCONC_ADDR 0x028E 155 #define CCPR1_ADDR 0x0291 156 #define CCPR1L_ADDR 0x0291 157 #define CCPR1H_ADDR 0x0292 158 #define CCP1CON_ADDR 0x0293 159 #define ECCP1CON_ADDR 0x0293 160 #define CCPR2_ADDR 0x0298 161 #define CCPR2L_ADDR 0x0298 162 #define CCPR2H_ADDR 0x0299 163 #define CCP2CON_ADDR 0x029A 164 #define ECCP2CON_ADDR 0x029A 165 #define CCPTMRS_ADDR 0x029E 166 #define SLRCONA_ADDR 0x030C 167 #define SLRCONB_ADDR 0x030D 168 #define SLRCONC_ADDR 0x030E 169 #define INLVLA_ADDR 0x038C 170 #define INLVLB_ADDR 0x038D 171 #define INLVLC_ADDR 0x038E 172 #define IOCAP_ADDR 0x0391 173 #define IOCAN_ADDR 0x0392 174 #define IOCAF_ADDR 0x0393 175 #define IOCBP_ADDR 0x0394 176 #define IOCBN_ADDR 0x0395 177 #define IOCBF_ADDR 0x0396 178 #define IOCCP_ADDR 0x0397 179 #define IOCCN_ADDR 0x0398 180 #define IOCCF_ADDR 0x0399 181 #define TMR4_ADDR 0x0415 182 #define PR4_ADDR 0x0416 183 #define T4CON_ADDR 0x0417 184 #define TMR6_ADDR 0x041C 185 #define PR6_ADDR 0x041D 186 #define T6CON_ADDR 0x041E 187 #define OPA1CON_ADDR 0x0511 188 #define OPA2CON_ADDR 0x0515 189 #define PWM3DCL_ADDR 0x0617 190 #define PWM3DCH_ADDR 0x0618 191 #define PWM3CON_ADDR 0x0619 192 #define PWM3CON0_ADDR 0x0619 193 #define PWM4DCL_ADDR 0x061A 194 #define PWM4DCH_ADDR 0x061B 195 #define PWM4CON_ADDR 0x061C 196 #define PWM4CON0_ADDR 0x061C 197 #define COG1PHR_ADDR 0x0691 198 #define COG1PHF_ADDR 0x0692 199 #define COG1BLKR_ADDR 0x0693 200 #define COG1BLKF_ADDR 0x0694 201 #define COG1DBR_ADDR 0x0695 202 #define COG1DBF_ADDR 0x0696 203 #define COG1CON0_ADDR 0x0697 204 #define COG1CON1_ADDR 0x0698 205 #define COG1RIS_ADDR 0x0699 206 #define COG1RSIM_ADDR 0x069A 207 #define COG1FIS_ADDR 0x069B 208 #define COG1FSIM_ADDR 0x069C 209 #define COG1ASD0_ADDR 0x069D 210 #define COG1ASD1_ADDR 0x069E 211 #define COG1STR_ADDR 0x069F 212 #define PPSLOCK_ADDR 0x0E0F 213 #define INTPPS_ADDR 0x0E10 214 #define T0CKIPPS_ADDR 0x0E11 215 #define T1CKIPPS_ADDR 0x0E12 216 #define T1GPPS_ADDR 0x0E13 217 #define CCP1PPS_ADDR 0x0E14 218 #define CCP2PPS_ADDR 0x0E15 219 #define COGINPPS_ADDR 0x0E17 220 #define SSPCLKPPS_ADDR 0x0E20 221 #define SSPDATPPS_ADDR 0x0E21 222 #define SSPSSPPS_ADDR 0x0E22 223 #define RXPPS_ADDR 0x0E24 224 #define CKPPS_ADDR 0x0E25 225 #define CLCIN0PPS_ADDR 0x0E28 226 #define CLCIN1PPS_ADDR 0x0E29 227 #define CLCIN2PPS_ADDR 0x0E2A 228 #define CLCIN3PPS_ADDR 0x0E2B 229 #define RA0PPS_ADDR 0x0E90 230 #define RA1PPS_ADDR 0x0E91 231 #define RA2PPS_ADDR 0x0E92 232 #define RA4PPS_ADDR 0x0E94 233 #define RA5PPS_ADDR 0x0E95 234 #define RB4PPS_ADDR 0x0E9C 235 #define RB5PPS_ADDR 0x0E9D 236 #define RB6PPS_ADDR 0x0E9E 237 #define RB7PPS_ADDR 0x0E9F 238 #define RC0PPS_ADDR 0x0EA0 239 #define RC1PPS_ADDR 0x0EA1 240 #define RC2PPS_ADDR 0x0EA2 241 #define RC3PPS_ADDR 0x0EA3 242 #define RC4PPS_ADDR 0x0EA4 243 #define RC5PPS_ADDR 0x0EA5 244 #define RC6PPS_ADDR 0x0EA6 245 #define RC7PPS_ADDR 0x0EA7 246 #define CLCDATA_ADDR 0x0F0F 247 #define CLC1CON_ADDR 0x0F10 248 #define CLC1POL_ADDR 0x0F11 249 #define CLC1SEL0_ADDR 0x0F12 250 #define CLC1SEL1_ADDR 0x0F13 251 #define CLC1SEL2_ADDR 0x0F14 252 #define CLC1SEL3_ADDR 0x0F15 253 #define CLC1GLS0_ADDR 0x0F16 254 #define CLC1GLS1_ADDR 0x0F17 255 #define CLC1GLS2_ADDR 0x0F18 256 #define CLC1GLS3_ADDR 0x0F19 257 #define CLC2CON_ADDR 0x0F1A 258 #define CLC2POL_ADDR 0x0F1B 259 #define CLC2SEL0_ADDR 0x0F1C 260 #define CLC2SEL1_ADDR 0x0F1D 261 #define CLC2SEL2_ADDR 0x0F1E 262 #define CLC2SEL3_ADDR 0x0F1F 263 #define CLC2GLS0_ADDR 0x0F20 264 #define CLC2GLS1_ADDR 0x0F21 265 #define CLC2GLS2_ADDR 0x0F22 266 #define CLC2GLS3_ADDR 0x0F23 267 #define CLC3CON_ADDR 0x0F24 268 #define CLC3POL_ADDR 0x0F25 269 #define CLC3SEL0_ADDR 0x0F26 270 #define CLC3SEL1_ADDR 0x0F27 271 #define CLC3SEL2_ADDR 0x0F28 272 #define CLC3SEL3_ADDR 0x0F29 273 #define CLC3GLS0_ADDR 0x0F2A 274 #define CLC3GLS1_ADDR 0x0F2B 275 #define CLC3GLS2_ADDR 0x0F2C 276 #define CLC3GLS3_ADDR 0x0F2D 277 #define STATUS_SHAD_ADDR 0x0FE4 278 #define WREG_SHAD_ADDR 0x0FE5 279 #define BSR_SHAD_ADDR 0x0FE6 280 #define PCLATH_SHAD_ADDR 0x0FE7 281 #define FSR0L_SHAD_ADDR 0x0FE8 282 #define FSR0H_SHAD_ADDR 0x0FE9 283 #define FSR1L_SHAD_ADDR 0x0FEA 284 #define FSR1H_SHAD_ADDR 0x0FEB 285 #define STKPTR_ADDR 0x0FED 286 #define TOSL_ADDR 0x0FEE 287 #define TOSH_ADDR 0x0FEF 288 289 #endif // #ifndef NO_ADDR_DEFINES 290 291 //============================================================================== 292 // 293 // Register Definitions 294 // 295 //============================================================================== 296 297 extern __at(0x0000) __sfr INDF0; 298 extern __at(0x0001) __sfr INDF1; 299 extern __at(0x0002) __sfr PCL; 300 301 //============================================================================== 302 // STATUS Bits 303 304 extern __at(0x0003) __sfr STATUS; 305 306 typedef struct 307 { 308 unsigned C : 1; 309 unsigned DC : 1; 310 unsigned Z : 1; 311 unsigned NOT_PD : 1; 312 unsigned NOT_TO : 1; 313 unsigned : 1; 314 unsigned : 1; 315 unsigned : 1; 316 } __STATUSbits_t; 317 318 extern __at(0x0003) volatile __STATUSbits_t STATUSbits; 319 320 #define _C 0x01 321 #define _DC 0x02 322 #define _Z 0x04 323 #define _NOT_PD 0x08 324 #define _NOT_TO 0x10 325 326 //============================================================================== 327 328 extern __at(0x0004) __sfr FSR0; 329 extern __at(0x0004) __sfr FSR0L; 330 extern __at(0x0005) __sfr FSR0H; 331 extern __at(0x0006) __sfr FSR1; 332 extern __at(0x0006) __sfr FSR1L; 333 extern __at(0x0007) __sfr FSR1H; 334 335 //============================================================================== 336 // BSR Bits 337 338 extern __at(0x0008) __sfr BSR; 339 340 typedef union 341 { 342 struct 343 { 344 unsigned BSR0 : 1; 345 unsigned BSR1 : 1; 346 unsigned BSR2 : 1; 347 unsigned BSR3 : 1; 348 unsigned BSR4 : 1; 349 unsigned : 1; 350 unsigned : 1; 351 unsigned : 1; 352 }; 353 354 struct 355 { 356 unsigned BSR : 5; 357 unsigned : 3; 358 }; 359 } __BSRbits_t; 360 361 extern __at(0x0008) volatile __BSRbits_t BSRbits; 362 363 #define _BSR0 0x01 364 #define _BSR1 0x02 365 #define _BSR2 0x04 366 #define _BSR3 0x08 367 #define _BSR4 0x10 368 369 //============================================================================== 370 371 extern __at(0x0009) __sfr WREG; 372 extern __at(0x000A) __sfr PCLATH; 373 374 //============================================================================== 375 // INTCON Bits 376 377 extern __at(0x000B) __sfr INTCON; 378 379 typedef union 380 { 381 struct 382 { 383 unsigned IOCIF : 1; 384 unsigned INTF : 1; 385 unsigned TMR0IF : 1; 386 unsigned IOCIE : 1; 387 unsigned INTE : 1; 388 unsigned TMR0IE : 1; 389 unsigned PEIE : 1; 390 unsigned GIE : 1; 391 }; 392 393 struct 394 { 395 unsigned : 1; 396 unsigned : 1; 397 unsigned T0IF : 1; 398 unsigned : 1; 399 unsigned : 1; 400 unsigned T0IE : 1; 401 unsigned : 1; 402 unsigned : 1; 403 }; 404 } __INTCONbits_t; 405 406 extern __at(0x000B) volatile __INTCONbits_t INTCONbits; 407 408 #define _IOCIF 0x01 409 #define _INTF 0x02 410 #define _TMR0IF 0x04 411 #define _T0IF 0x04 412 #define _IOCIE 0x08 413 #define _INTE 0x10 414 #define _TMR0IE 0x20 415 #define _T0IE 0x20 416 #define _PEIE 0x40 417 #define _GIE 0x80 418 419 //============================================================================== 420 421 422 //============================================================================== 423 // PORTA Bits 424 425 extern __at(0x000C) __sfr PORTA; 426 427 typedef union 428 { 429 struct 430 { 431 unsigned RA0 : 1; 432 unsigned RA1 : 1; 433 unsigned RA2 : 1; 434 unsigned RA3 : 1; 435 unsigned RA4 : 1; 436 unsigned RA5 : 1; 437 unsigned : 1; 438 unsigned : 1; 439 }; 440 441 struct 442 { 443 unsigned RA : 6; 444 unsigned : 2; 445 }; 446 } __PORTAbits_t; 447 448 extern __at(0x000C) volatile __PORTAbits_t PORTAbits; 449 450 #define _RA0 0x01 451 #define _RA1 0x02 452 #define _RA2 0x04 453 #define _RA3 0x08 454 #define _RA4 0x10 455 #define _RA5 0x20 456 457 //============================================================================== 458 459 460 //============================================================================== 461 // PORTB Bits 462 463 extern __at(0x000D) __sfr PORTB; 464 465 typedef struct 466 { 467 unsigned : 1; 468 unsigned : 1; 469 unsigned : 1; 470 unsigned : 1; 471 unsigned RB4 : 1; 472 unsigned RB5 : 1; 473 unsigned RB6 : 1; 474 unsigned RB7 : 1; 475 } __PORTBbits_t; 476 477 extern __at(0x000D) volatile __PORTBbits_t PORTBbits; 478 479 #define _RB4 0x10 480 #define _RB5 0x20 481 #define _RB6 0x40 482 #define _RB7 0x80 483 484 //============================================================================== 485 486 487 //============================================================================== 488 // PORTC Bits 489 490 extern __at(0x000E) __sfr PORTC; 491 492 typedef struct 493 { 494 unsigned RC0 : 1; 495 unsigned RC1 : 1; 496 unsigned RC2 : 1; 497 unsigned RC3 : 1; 498 unsigned RC4 : 1; 499 unsigned RC5 : 1; 500 unsigned RC6 : 1; 501 unsigned RC7 : 1; 502 } __PORTCbits_t; 503 504 extern __at(0x000E) volatile __PORTCbits_t PORTCbits; 505 506 #define _RC0 0x01 507 #define _RC1 0x02 508 #define _RC2 0x04 509 #define _RC3 0x08 510 #define _RC4 0x10 511 #define _RC5 0x20 512 #define _RC6 0x40 513 #define _RC7 0x80 514 515 //============================================================================== 516 517 518 //============================================================================== 519 // PIR1 Bits 520 521 extern __at(0x0011) __sfr PIR1; 522 523 typedef union 524 { 525 struct 526 { 527 unsigned TMR1IF : 1; 528 unsigned TMR2IF : 1; 529 unsigned CCP1IF : 1; 530 unsigned SSP1IF : 1; 531 unsigned TXIF : 1; 532 unsigned RCIF : 1; 533 unsigned ADIF : 1; 534 unsigned TMR1GIF : 1; 535 }; 536 537 struct 538 { 539 unsigned : 1; 540 unsigned : 1; 541 unsigned CCPIF : 1; 542 unsigned : 1; 543 unsigned : 1; 544 unsigned : 1; 545 unsigned : 1; 546 unsigned : 1; 547 }; 548 } __PIR1bits_t; 549 550 extern __at(0x0011) volatile __PIR1bits_t PIR1bits; 551 552 #define _TMR1IF 0x01 553 #define _TMR2IF 0x02 554 #define _CCP1IF 0x04 555 #define _CCPIF 0x04 556 #define _SSP1IF 0x08 557 #define _TXIF 0x10 558 #define _RCIF 0x20 559 #define _ADIF 0x40 560 #define _TMR1GIF 0x80 561 562 //============================================================================== 563 564 565 //============================================================================== 566 // PIR2 Bits 567 568 extern __at(0x0012) __sfr PIR2; 569 570 typedef struct 571 { 572 unsigned CCP2IF : 1; 573 unsigned TMR4IF : 1; 574 unsigned TMR6IF : 1; 575 unsigned BCL1IF : 1; 576 unsigned : 1; 577 unsigned C1IF : 1; 578 unsigned C2IF : 1; 579 unsigned OSFIF : 1; 580 } __PIR2bits_t; 581 582 extern __at(0x0012) volatile __PIR2bits_t PIR2bits; 583 584 #define _CCP2IF 0x01 585 #define _TMR4IF 0x02 586 #define _TMR6IF 0x04 587 #define _BCL1IF 0x08 588 #define _C1IF 0x20 589 #define _C2IF 0x40 590 #define _OSFIF 0x80 591 592 //============================================================================== 593 594 595 //============================================================================== 596 // PIR3 Bits 597 598 extern __at(0x0013) __sfr PIR3; 599 600 typedef struct 601 { 602 unsigned CLC1IF : 1; 603 unsigned CLC2IF : 1; 604 unsigned CLC3IF : 1; 605 unsigned : 1; 606 unsigned ZCDIF : 1; 607 unsigned COGIF : 1; 608 unsigned : 1; 609 unsigned : 1; 610 } __PIR3bits_t; 611 612 extern __at(0x0013) volatile __PIR3bits_t PIR3bits; 613 614 #define _CLC1IF 0x01 615 #define _CLC2IF 0x02 616 #define _CLC3IF 0x04 617 #define _ZCDIF 0x10 618 #define _COGIF 0x20 619 620 //============================================================================== 621 622 extern __at(0x0015) __sfr TMR0; 623 extern __at(0x0016) __sfr TMR1; 624 extern __at(0x0016) __sfr TMR1L; 625 extern __at(0x0017) __sfr TMR1H; 626 627 //============================================================================== 628 // T1CON Bits 629 630 extern __at(0x0018) __sfr T1CON; 631 632 typedef union 633 { 634 struct 635 { 636 unsigned TMR1ON : 1; 637 unsigned : 1; 638 unsigned NOT_T1SYNC : 1; 639 unsigned T1OSCEN : 1; 640 unsigned T1CKPS0 : 1; 641 unsigned T1CKPS1 : 1; 642 unsigned TMR1CS0 : 1; 643 unsigned TMR1CS1 : 1; 644 }; 645 646 struct 647 { 648 unsigned : 4; 649 unsigned T1CKPS : 2; 650 unsigned : 2; 651 }; 652 653 struct 654 { 655 unsigned : 6; 656 unsigned TMR1CS : 2; 657 }; 658 } __T1CONbits_t; 659 660 extern __at(0x0018) volatile __T1CONbits_t T1CONbits; 661 662 #define _TMR1ON 0x01 663 #define _NOT_T1SYNC 0x04 664 #define _T1OSCEN 0x08 665 #define _T1CKPS0 0x10 666 #define _T1CKPS1 0x20 667 #define _TMR1CS0 0x40 668 #define _TMR1CS1 0x80 669 670 //============================================================================== 671 672 673 //============================================================================== 674 // T1GCON Bits 675 676 extern __at(0x0019) __sfr T1GCON; 677 678 typedef union 679 { 680 struct 681 { 682 unsigned T1GSS0 : 1; 683 unsigned T1GSS1 : 1; 684 unsigned T1GVAL : 1; 685 unsigned T1GGO_NOT_DONE : 1; 686 unsigned T1GSPM : 1; 687 unsigned T1GTM : 1; 688 unsigned T1GPOL : 1; 689 unsigned TMR1GE : 1; 690 }; 691 692 struct 693 { 694 unsigned T1GSS : 2; 695 unsigned : 6; 696 }; 697 } __T1GCONbits_t; 698 699 extern __at(0x0019) volatile __T1GCONbits_t T1GCONbits; 700 701 #define _T1GSS0 0x01 702 #define _T1GSS1 0x02 703 #define _T1GVAL 0x04 704 #define _T1GGO_NOT_DONE 0x08 705 #define _T1GSPM 0x10 706 #define _T1GTM 0x20 707 #define _T1GPOL 0x40 708 #define _TMR1GE 0x80 709 710 //============================================================================== 711 712 extern __at(0x001A) __sfr TMR2; 713 extern __at(0x001B) __sfr PR2; 714 715 //============================================================================== 716 // T2CON Bits 717 718 extern __at(0x001C) __sfr T2CON; 719 720 typedef union 721 { 722 struct 723 { 724 unsigned T2CKPS0 : 1; 725 unsigned T2CKPS1 : 1; 726 unsigned TMR2ON : 1; 727 unsigned T2OUTPS0 : 1; 728 unsigned T2OUTPS1 : 1; 729 unsigned T2OUTPS2 : 1; 730 unsigned T2OUTPS3 : 1; 731 unsigned : 1; 732 }; 733 734 struct 735 { 736 unsigned T2CKPS : 2; 737 unsigned : 6; 738 }; 739 740 struct 741 { 742 unsigned : 3; 743 unsigned T2OUTPS : 4; 744 unsigned : 1; 745 }; 746 } __T2CONbits_t; 747 748 extern __at(0x001C) volatile __T2CONbits_t T2CONbits; 749 750 #define _T2CKPS0 0x01 751 #define _T2CKPS1 0x02 752 #define _TMR2ON 0x04 753 #define _T2OUTPS0 0x08 754 #define _T2OUTPS1 0x10 755 #define _T2OUTPS2 0x20 756 #define _T2OUTPS3 0x40 757 758 //============================================================================== 759 760 761 //============================================================================== 762 // TRISA Bits 763 764 extern __at(0x008C) __sfr TRISA; 765 766 typedef struct 767 { 768 unsigned TRISA0 : 1; 769 unsigned TRISA1 : 1; 770 unsigned TRISA2 : 1; 771 unsigned : 1; 772 unsigned TRISA4 : 1; 773 unsigned TRISA5 : 1; 774 unsigned : 1; 775 unsigned : 1; 776 } __TRISAbits_t; 777 778 extern __at(0x008C) volatile __TRISAbits_t TRISAbits; 779 780 #define _TRISA0 0x01 781 #define _TRISA1 0x02 782 #define _TRISA2 0x04 783 #define _TRISA4 0x10 784 #define _TRISA5 0x20 785 786 //============================================================================== 787 788 789 //============================================================================== 790 // TRISB Bits 791 792 extern __at(0x008D) __sfr TRISB; 793 794 typedef struct 795 { 796 unsigned : 1; 797 unsigned : 1; 798 unsigned : 1; 799 unsigned : 1; 800 unsigned TRISB4 : 1; 801 unsigned TRISB5 : 1; 802 unsigned TRISB6 : 1; 803 unsigned TRISB7 : 1; 804 } __TRISBbits_t; 805 806 extern __at(0x008D) volatile __TRISBbits_t TRISBbits; 807 808 #define _TRISB4 0x10 809 #define _TRISB5 0x20 810 #define _TRISB6 0x40 811 #define _TRISB7 0x80 812 813 //============================================================================== 814 815 816 //============================================================================== 817 // TRISC Bits 818 819 extern __at(0x008E) __sfr TRISC; 820 821 typedef struct 822 { 823 unsigned TRISC0 : 1; 824 unsigned TRISC1 : 1; 825 unsigned TRISC2 : 1; 826 unsigned TRISC3 : 1; 827 unsigned TRISC4 : 1; 828 unsigned TRISC5 : 1; 829 unsigned TRISC6 : 1; 830 unsigned TRISC7 : 1; 831 } __TRISCbits_t; 832 833 extern __at(0x008E) volatile __TRISCbits_t TRISCbits; 834 835 #define _TRISC0 0x01 836 #define _TRISC1 0x02 837 #define _TRISC2 0x04 838 #define _TRISC3 0x08 839 #define _TRISC4 0x10 840 #define _TRISC5 0x20 841 #define _TRISC6 0x40 842 #define _TRISC7 0x80 843 844 //============================================================================== 845 846 847 //============================================================================== 848 // PIE1 Bits 849 850 extern __at(0x0091) __sfr PIE1; 851 852 typedef union 853 { 854 struct 855 { 856 unsigned TMR1IE : 1; 857 unsigned TMR2IE : 1; 858 unsigned CCP1IE : 1; 859 unsigned SSP1IE : 1; 860 unsigned TXIE : 1; 861 unsigned RCIE : 1; 862 unsigned ADIE : 1; 863 unsigned TMR1GIE : 1; 864 }; 865 866 struct 867 { 868 unsigned : 1; 869 unsigned : 1; 870 unsigned CCPIE : 1; 871 unsigned : 1; 872 unsigned : 1; 873 unsigned : 1; 874 unsigned : 1; 875 unsigned : 1; 876 }; 877 } __PIE1bits_t; 878 879 extern __at(0x0091) volatile __PIE1bits_t PIE1bits; 880 881 #define _TMR1IE 0x01 882 #define _TMR2IE 0x02 883 #define _CCP1IE 0x04 884 #define _CCPIE 0x04 885 #define _SSP1IE 0x08 886 #define _TXIE 0x10 887 #define _RCIE 0x20 888 #define _ADIE 0x40 889 #define _TMR1GIE 0x80 890 891 //============================================================================== 892 893 894 //============================================================================== 895 // PIE2 Bits 896 897 extern __at(0x0092) __sfr PIE2; 898 899 typedef struct 900 { 901 unsigned CCP2IE : 1; 902 unsigned TMR4IE : 1; 903 unsigned TMR6IE : 1; 904 unsigned BCL1IE : 1; 905 unsigned : 1; 906 unsigned C1IE : 1; 907 unsigned C2IE : 1; 908 unsigned OSFIE : 1; 909 } __PIE2bits_t; 910 911 extern __at(0x0092) volatile __PIE2bits_t PIE2bits; 912 913 #define _CCP2IE 0x01 914 #define _TMR4IE 0x02 915 #define _TMR6IE 0x04 916 #define _BCL1IE 0x08 917 #define _C1IE 0x20 918 #define _C2IE 0x40 919 #define _OSFIE 0x80 920 921 //============================================================================== 922 923 924 //============================================================================== 925 // PIE3 Bits 926 927 extern __at(0x0093) __sfr PIE3; 928 929 typedef struct 930 { 931 unsigned CLC1IE : 1; 932 unsigned CLC2IE : 1; 933 unsigned CLC3IE : 1; 934 unsigned : 1; 935 unsigned ZCDIE : 1; 936 unsigned COGIE : 1; 937 unsigned : 1; 938 unsigned : 1; 939 } __PIE3bits_t; 940 941 extern __at(0x0093) volatile __PIE3bits_t PIE3bits; 942 943 #define _CLC1IE 0x01 944 #define _CLC2IE 0x02 945 #define _CLC3IE 0x04 946 #define _ZCDIE 0x10 947 #define _COGIE 0x20 948 949 //============================================================================== 950 951 952 //============================================================================== 953 // OPTION_REG Bits 954 955 extern __at(0x0095) __sfr OPTION_REG; 956 957 typedef union 958 { 959 struct 960 { 961 unsigned PS0 : 1; 962 unsigned PS1 : 1; 963 unsigned PS2 : 1; 964 unsigned PSA : 1; 965 unsigned TMR0SE : 1; 966 unsigned TMR0CS : 1; 967 unsigned INTEDG : 1; 968 unsigned NOT_WPUEN : 1; 969 }; 970 971 struct 972 { 973 unsigned : 1; 974 unsigned : 1; 975 unsigned : 1; 976 unsigned : 1; 977 unsigned T0SE : 1; 978 unsigned T0CS : 1; 979 unsigned : 1; 980 unsigned : 1; 981 }; 982 983 struct 984 { 985 unsigned PS : 3; 986 unsigned : 5; 987 }; 988 } __OPTION_REGbits_t; 989 990 extern __at(0x0095) volatile __OPTION_REGbits_t OPTION_REGbits; 991 992 #define _PS0 0x01 993 #define _PS1 0x02 994 #define _PS2 0x04 995 #define _PSA 0x08 996 #define _TMR0SE 0x10 997 #define _T0SE 0x10 998 #define _TMR0CS 0x20 999 #define _T0CS 0x20 1000 #define _INTEDG 0x40 1001 #define _NOT_WPUEN 0x80 1002 1003 //============================================================================== 1004 1005 1006 //============================================================================== 1007 // PCON Bits 1008 1009 extern __at(0x0096) __sfr PCON; 1010 1011 typedef struct 1012 { 1013 unsigned NOT_BOR : 1; 1014 unsigned NOT_POR : 1; 1015 unsigned NOT_RI : 1; 1016 unsigned NOT_RMCLR : 1; 1017 unsigned NOT_RWDT : 1; 1018 unsigned : 1; 1019 unsigned STKUNF : 1; 1020 unsigned STKOVF : 1; 1021 } __PCONbits_t; 1022 1023 extern __at(0x0096) volatile __PCONbits_t PCONbits; 1024 1025 #define _NOT_BOR 0x01 1026 #define _NOT_POR 0x02 1027 #define _NOT_RI 0x04 1028 #define _NOT_RMCLR 0x08 1029 #define _NOT_RWDT 0x10 1030 #define _STKUNF 0x40 1031 #define _STKOVF 0x80 1032 1033 //============================================================================== 1034 1035 1036 //============================================================================== 1037 // WDTCON Bits 1038 1039 extern __at(0x0097) __sfr WDTCON; 1040 1041 typedef union 1042 { 1043 struct 1044 { 1045 unsigned SWDTEN : 1; 1046 unsigned WDTPS0 : 1; 1047 unsigned WDTPS1 : 1; 1048 unsigned WDTPS2 : 1; 1049 unsigned WDTPS3 : 1; 1050 unsigned WDTPS4 : 1; 1051 unsigned : 1; 1052 unsigned : 1; 1053 }; 1054 1055 struct 1056 { 1057 unsigned : 1; 1058 unsigned WDTPS : 5; 1059 unsigned : 2; 1060 }; 1061 } __WDTCONbits_t; 1062 1063 extern __at(0x0097) volatile __WDTCONbits_t WDTCONbits; 1064 1065 #define _SWDTEN 0x01 1066 #define _WDTPS0 0x02 1067 #define _WDTPS1 0x04 1068 #define _WDTPS2 0x08 1069 #define _WDTPS3 0x10 1070 #define _WDTPS4 0x20 1071 1072 //============================================================================== 1073 1074 1075 //============================================================================== 1076 // OSCTUNE Bits 1077 1078 extern __at(0x0098) __sfr OSCTUNE; 1079 1080 typedef union 1081 { 1082 struct 1083 { 1084 unsigned TUN0 : 1; 1085 unsigned TUN1 : 1; 1086 unsigned TUN2 : 1; 1087 unsigned TUN3 : 1; 1088 unsigned TUN4 : 1; 1089 unsigned TUN5 : 1; 1090 unsigned : 1; 1091 unsigned : 1; 1092 }; 1093 1094 struct 1095 { 1096 unsigned TUN : 6; 1097 unsigned : 2; 1098 }; 1099 } __OSCTUNEbits_t; 1100 1101 extern __at(0x0098) volatile __OSCTUNEbits_t OSCTUNEbits; 1102 1103 #define _TUN0 0x01 1104 #define _TUN1 0x02 1105 #define _TUN2 0x04 1106 #define _TUN3 0x08 1107 #define _TUN4 0x10 1108 #define _TUN5 0x20 1109 1110 //============================================================================== 1111 1112 1113 //============================================================================== 1114 // OSCCON Bits 1115 1116 extern __at(0x0099) __sfr OSCCON; 1117 1118 typedef union 1119 { 1120 struct 1121 { 1122 unsigned SCS0 : 1; 1123 unsigned SCS1 : 1; 1124 unsigned : 1; 1125 unsigned IRCF0 : 1; 1126 unsigned IRCF1 : 1; 1127 unsigned IRCF2 : 1; 1128 unsigned IRCF3 : 1; 1129 unsigned SPLLEN : 1; 1130 }; 1131 1132 struct 1133 { 1134 unsigned SCS : 2; 1135 unsigned : 6; 1136 }; 1137 1138 struct 1139 { 1140 unsigned : 3; 1141 unsigned IRCF : 4; 1142 unsigned : 1; 1143 }; 1144 } __OSCCONbits_t; 1145 1146 extern __at(0x0099) volatile __OSCCONbits_t OSCCONbits; 1147 1148 #define _SCS0 0x01 1149 #define _SCS1 0x02 1150 #define _IRCF0 0x08 1151 #define _IRCF1 0x10 1152 #define _IRCF2 0x20 1153 #define _IRCF3 0x40 1154 #define _SPLLEN 0x80 1155 1156 //============================================================================== 1157 1158 1159 //============================================================================== 1160 // OSCSTAT Bits 1161 1162 extern __at(0x009A) __sfr OSCSTAT; 1163 1164 typedef struct 1165 { 1166 unsigned HFIOFS : 1; 1167 unsigned LFIOFR : 1; 1168 unsigned MFIOFR : 1; 1169 unsigned HFIOFL : 1; 1170 unsigned HFIOFR : 1; 1171 unsigned OSTS : 1; 1172 unsigned PLLR : 1; 1173 unsigned SOSCR : 1; 1174 } __OSCSTATbits_t; 1175 1176 extern __at(0x009A) volatile __OSCSTATbits_t OSCSTATbits; 1177 1178 #define _HFIOFS 0x01 1179 #define _LFIOFR 0x02 1180 #define _MFIOFR 0x04 1181 #define _HFIOFL 0x08 1182 #define _HFIOFR 0x10 1183 #define _OSTS 0x20 1184 #define _PLLR 0x40 1185 #define _SOSCR 0x80 1186 1187 //============================================================================== 1188 1189 extern __at(0x009B) __sfr ADRES; 1190 extern __at(0x009B) __sfr ADRESL; 1191 extern __at(0x009C) __sfr ADRESH; 1192 1193 //============================================================================== 1194 // ADCON0 Bits 1195 1196 extern __at(0x009D) __sfr ADCON0; 1197 1198 typedef union 1199 { 1200 struct 1201 { 1202 unsigned ADON : 1; 1203 unsigned GO_NOT_DONE : 1; 1204 unsigned CHS0 : 1; 1205 unsigned CHS1 : 1; 1206 unsigned CHS2 : 1; 1207 unsigned CHS3 : 1; 1208 unsigned CHS4 : 1; 1209 unsigned : 1; 1210 }; 1211 1212 struct 1213 { 1214 unsigned : 1; 1215 unsigned ADGO : 1; 1216 unsigned : 1; 1217 unsigned : 1; 1218 unsigned : 1; 1219 unsigned : 1; 1220 unsigned : 1; 1221 unsigned : 1; 1222 }; 1223 1224 struct 1225 { 1226 unsigned : 1; 1227 unsigned GO : 1; 1228 unsigned : 1; 1229 unsigned : 1; 1230 unsigned : 1; 1231 unsigned : 1; 1232 unsigned : 1; 1233 unsigned : 1; 1234 }; 1235 1236 struct 1237 { 1238 unsigned : 2; 1239 unsigned CHS : 5; 1240 unsigned : 1; 1241 }; 1242 } __ADCON0bits_t; 1243 1244 extern __at(0x009D) volatile __ADCON0bits_t ADCON0bits; 1245 1246 #define _ADON 0x01 1247 #define _GO_NOT_DONE 0x02 1248 #define _ADGO 0x02 1249 #define _GO 0x02 1250 #define _CHS0 0x04 1251 #define _CHS1 0x08 1252 #define _CHS2 0x10 1253 #define _CHS3 0x20 1254 #define _CHS4 0x40 1255 1256 //============================================================================== 1257 1258 1259 //============================================================================== 1260 // ADCON1 Bits 1261 1262 extern __at(0x009E) __sfr ADCON1; 1263 1264 typedef union 1265 { 1266 struct 1267 { 1268 unsigned ADPREF0 : 1; 1269 unsigned ADPREF1 : 1; 1270 unsigned ADNREF : 1; 1271 unsigned : 1; 1272 unsigned ADCS0 : 1; 1273 unsigned ADCS1 : 1; 1274 unsigned ADCS2 : 1; 1275 unsigned ADFM : 1; 1276 }; 1277 1278 struct 1279 { 1280 unsigned ADPREF : 2; 1281 unsigned : 6; 1282 }; 1283 1284 struct 1285 { 1286 unsigned : 4; 1287 unsigned ADCS : 3; 1288 unsigned : 1; 1289 }; 1290 } __ADCON1bits_t; 1291 1292 extern __at(0x009E) volatile __ADCON1bits_t ADCON1bits; 1293 1294 #define _ADPREF0 0x01 1295 #define _ADPREF1 0x02 1296 #define _ADNREF 0x04 1297 #define _ADCS0 0x10 1298 #define _ADCS1 0x20 1299 #define _ADCS2 0x40 1300 #define _ADFM 0x80 1301 1302 //============================================================================== 1303 1304 1305 //============================================================================== 1306 // ADCON2 Bits 1307 1308 extern __at(0x009F) __sfr ADCON2; 1309 1310 typedef union 1311 { 1312 struct 1313 { 1314 unsigned : 1; 1315 unsigned : 1; 1316 unsigned : 1; 1317 unsigned : 1; 1318 unsigned TRIGSEL0 : 1; 1319 unsigned TRIGSEL1 : 1; 1320 unsigned TRIGSEL2 : 1; 1321 unsigned TRIGSEL3 : 1; 1322 }; 1323 1324 struct 1325 { 1326 unsigned : 4; 1327 unsigned TRIGSEL : 4; 1328 }; 1329 } __ADCON2bits_t; 1330 1331 extern __at(0x009F) volatile __ADCON2bits_t ADCON2bits; 1332 1333 #define _TRIGSEL0 0x10 1334 #define _TRIGSEL1 0x20 1335 #define _TRIGSEL2 0x40 1336 #define _TRIGSEL3 0x80 1337 1338 //============================================================================== 1339 1340 1341 //============================================================================== 1342 // LATA Bits 1343 1344 extern __at(0x010C) __sfr LATA; 1345 1346 typedef struct 1347 { 1348 unsigned LATA0 : 1; 1349 unsigned LATA1 : 1; 1350 unsigned LATA2 : 1; 1351 unsigned : 1; 1352 unsigned LATA4 : 1; 1353 unsigned LATA5 : 1; 1354 unsigned : 1; 1355 unsigned : 1; 1356 } __LATAbits_t; 1357 1358 extern __at(0x010C) volatile __LATAbits_t LATAbits; 1359 1360 #define _LATA0 0x01 1361 #define _LATA1 0x02 1362 #define _LATA2 0x04 1363 #define _LATA4 0x10 1364 #define _LATA5 0x20 1365 1366 //============================================================================== 1367 1368 1369 //============================================================================== 1370 // LATB Bits 1371 1372 extern __at(0x010D) __sfr LATB; 1373 1374 typedef struct 1375 { 1376 unsigned : 1; 1377 unsigned : 1; 1378 unsigned : 1; 1379 unsigned : 1; 1380 unsigned LATB4 : 1; 1381 unsigned LATB5 : 1; 1382 unsigned LATB6 : 1; 1383 unsigned LATB7 : 1; 1384 } __LATBbits_t; 1385 1386 extern __at(0x010D) volatile __LATBbits_t LATBbits; 1387 1388 #define _LATB4 0x10 1389 #define _LATB5 0x20 1390 #define _LATB6 0x40 1391 #define _LATB7 0x80 1392 1393 //============================================================================== 1394 1395 1396 //============================================================================== 1397 // LATC Bits 1398 1399 extern __at(0x010E) __sfr LATC; 1400 1401 typedef struct 1402 { 1403 unsigned LATC0 : 1; 1404 unsigned LATC1 : 1; 1405 unsigned LATC2 : 1; 1406 unsigned LATC3 : 1; 1407 unsigned LATC4 : 1; 1408 unsigned LATC5 : 1; 1409 unsigned LATC6 : 1; 1410 unsigned LATC7 : 1; 1411 } __LATCbits_t; 1412 1413 extern __at(0x010E) volatile __LATCbits_t LATCbits; 1414 1415 #define _LATC0 0x01 1416 #define _LATC1 0x02 1417 #define _LATC2 0x04 1418 #define _LATC3 0x08 1419 #define _LATC4 0x10 1420 #define _LATC5 0x20 1421 #define _LATC6 0x40 1422 #define _LATC7 0x80 1423 1424 //============================================================================== 1425 1426 1427 //============================================================================== 1428 // CM1CON0 Bits 1429 1430 extern __at(0x0111) __sfr CM1CON0; 1431 1432 typedef struct 1433 { 1434 unsigned C1SYNC : 1; 1435 unsigned C1HYS : 1; 1436 unsigned C1SP : 1; 1437 unsigned C1ZLF : 1; 1438 unsigned C1POL : 1; 1439 unsigned : 1; 1440 unsigned C1OUT : 1; 1441 unsigned C1ON : 1; 1442 } __CM1CON0bits_t; 1443 1444 extern __at(0x0111) volatile __CM1CON0bits_t CM1CON0bits; 1445 1446 #define _C1SYNC 0x01 1447 #define _C1HYS 0x02 1448 #define _C1SP 0x04 1449 #define _C1ZLF 0x08 1450 #define _C1POL 0x10 1451 #define _C1OUT 0x40 1452 #define _C1ON 0x80 1453 1454 //============================================================================== 1455 1456 1457 //============================================================================== 1458 // CM1CON1 Bits 1459 1460 extern __at(0x0112) __sfr CM1CON1; 1461 1462 typedef union 1463 { 1464 struct 1465 { 1466 unsigned C1NCH0 : 1; 1467 unsigned C1NCH1 : 1; 1468 unsigned C1NCH2 : 1; 1469 unsigned C1PCH0 : 1; 1470 unsigned C1PCH1 : 1; 1471 unsigned C1PCH2 : 1; 1472 unsigned C1INTN : 1; 1473 unsigned C1INTP : 1; 1474 }; 1475 1476 struct 1477 { 1478 unsigned C1NCH : 3; 1479 unsigned : 5; 1480 }; 1481 1482 struct 1483 { 1484 unsigned : 3; 1485 unsigned C1PCH : 3; 1486 unsigned : 2; 1487 }; 1488 } __CM1CON1bits_t; 1489 1490 extern __at(0x0112) volatile __CM1CON1bits_t CM1CON1bits; 1491 1492 #define _C1NCH0 0x01 1493 #define _C1NCH1 0x02 1494 #define _C1NCH2 0x04 1495 #define _C1PCH0 0x08 1496 #define _C1PCH1 0x10 1497 #define _C1PCH2 0x20 1498 #define _C1INTN 0x40 1499 #define _C1INTP 0x80 1500 1501 //============================================================================== 1502 1503 1504 //============================================================================== 1505 // CM2CON0 Bits 1506 1507 extern __at(0x0113) __sfr CM2CON0; 1508 1509 typedef struct 1510 { 1511 unsigned C2SYNC : 1; 1512 unsigned C2HYS : 1; 1513 unsigned C2SP : 1; 1514 unsigned C2ZLF : 1; 1515 unsigned C2POL : 1; 1516 unsigned : 1; 1517 unsigned C2OUT : 1; 1518 unsigned C2ON : 1; 1519 } __CM2CON0bits_t; 1520 1521 extern __at(0x0113) volatile __CM2CON0bits_t CM2CON0bits; 1522 1523 #define _C2SYNC 0x01 1524 #define _C2HYS 0x02 1525 #define _C2SP 0x04 1526 #define _C2ZLF 0x08 1527 #define _C2POL 0x10 1528 #define _C2OUT 0x40 1529 #define _C2ON 0x80 1530 1531 //============================================================================== 1532 1533 1534 //============================================================================== 1535 // CM2CON1 Bits 1536 1537 extern __at(0x0114) __sfr CM2CON1; 1538 1539 typedef union 1540 { 1541 struct 1542 { 1543 unsigned C2NCH0 : 1; 1544 unsigned C2NCH1 : 1; 1545 unsigned C2NCH2 : 1; 1546 unsigned C2PCH0 : 1; 1547 unsigned C2PCH1 : 1; 1548 unsigned C2PCH2 : 1; 1549 unsigned C2INTN : 1; 1550 unsigned C2INTP : 1; 1551 }; 1552 1553 struct 1554 { 1555 unsigned C2NCH : 3; 1556 unsigned : 5; 1557 }; 1558 1559 struct 1560 { 1561 unsigned : 3; 1562 unsigned C2PCH : 3; 1563 unsigned : 2; 1564 }; 1565 } __CM2CON1bits_t; 1566 1567 extern __at(0x0114) volatile __CM2CON1bits_t CM2CON1bits; 1568 1569 #define _C2NCH0 0x01 1570 #define _C2NCH1 0x02 1571 #define _C2NCH2 0x04 1572 #define _C2PCH0 0x08 1573 #define _C2PCH1 0x10 1574 #define _C2PCH2 0x20 1575 #define _C2INTN 0x40 1576 #define _C2INTP 0x80 1577 1578 //============================================================================== 1579 1580 1581 //============================================================================== 1582 // CMOUT Bits 1583 1584 extern __at(0x0115) __sfr CMOUT; 1585 1586 typedef struct 1587 { 1588 unsigned MC1OUT : 1; 1589 unsigned MC2OUT : 1; 1590 unsigned : 1; 1591 unsigned : 1; 1592 unsigned : 1; 1593 unsigned : 1; 1594 unsigned : 1; 1595 unsigned : 1; 1596 } __CMOUTbits_t; 1597 1598 extern __at(0x0115) volatile __CMOUTbits_t CMOUTbits; 1599 1600 #define _MC1OUT 0x01 1601 #define _MC2OUT 0x02 1602 1603 //============================================================================== 1604 1605 1606 //============================================================================== 1607 // BORCON Bits 1608 1609 extern __at(0x0116) __sfr BORCON; 1610 1611 typedef struct 1612 { 1613 unsigned BORRDY : 1; 1614 unsigned : 1; 1615 unsigned : 1; 1616 unsigned : 1; 1617 unsigned : 1; 1618 unsigned : 1; 1619 unsigned BORFS : 1; 1620 unsigned SBOREN : 1; 1621 } __BORCONbits_t; 1622 1623 extern __at(0x0116) volatile __BORCONbits_t BORCONbits; 1624 1625 #define _BORRDY 0x01 1626 #define _BORFS 0x40 1627 #define _SBOREN 0x80 1628 1629 //============================================================================== 1630 1631 1632 //============================================================================== 1633 // FVRCON Bits 1634 1635 extern __at(0x0117) __sfr FVRCON; 1636 1637 typedef union 1638 { 1639 struct 1640 { 1641 unsigned ADFVR0 : 1; 1642 unsigned ADFVR1 : 1; 1643 unsigned CDAFVR0 : 1; 1644 unsigned CDAFVR1 : 1; 1645 unsigned TSRNG : 1; 1646 unsigned TSEN : 1; 1647 unsigned FVRRDY : 1; 1648 unsigned FVREN : 1; 1649 }; 1650 1651 struct 1652 { 1653 unsigned ADFVR : 2; 1654 unsigned : 6; 1655 }; 1656 1657 struct 1658 { 1659 unsigned : 2; 1660 unsigned CDAFVR : 2; 1661 unsigned : 4; 1662 }; 1663 } __FVRCONbits_t; 1664 1665 extern __at(0x0117) volatile __FVRCONbits_t FVRCONbits; 1666 1667 #define _ADFVR0 0x01 1668 #define _ADFVR1 0x02 1669 #define _CDAFVR0 0x04 1670 #define _CDAFVR1 0x08 1671 #define _TSRNG 0x10 1672 #define _TSEN 0x20 1673 #define _FVRRDY 0x40 1674 #define _FVREN 0x80 1675 1676 //============================================================================== 1677 1678 1679 //============================================================================== 1680 // DAC1CON0 Bits 1681 1682 extern __at(0x0118) __sfr DAC1CON0; 1683 1684 typedef union 1685 { 1686 struct 1687 { 1688 unsigned DAC1NSS : 1; 1689 unsigned : 1; 1690 unsigned DAC1PSS0 : 1; 1691 unsigned DAC1PSS1 : 1; 1692 unsigned DAC1OE2 : 1; 1693 unsigned DAC1OE1 : 1; 1694 unsigned : 1; 1695 unsigned DAC1EN : 1; 1696 }; 1697 1698 struct 1699 { 1700 unsigned DACNSS : 1; 1701 unsigned : 1; 1702 unsigned DACPSS0 : 1; 1703 unsigned DACPSS1 : 1; 1704 unsigned DACOE0 : 1; 1705 unsigned DACOE1 : 1; 1706 unsigned : 1; 1707 unsigned DACEN : 1; 1708 }; 1709 1710 struct 1711 { 1712 unsigned : 2; 1713 unsigned DACPSS : 2; 1714 unsigned : 4; 1715 }; 1716 1717 struct 1718 { 1719 unsigned : 2; 1720 unsigned DAC1PSS : 2; 1721 unsigned : 4; 1722 }; 1723 1724 struct 1725 { 1726 unsigned : 4; 1727 unsigned DACOE : 2; 1728 unsigned : 2; 1729 }; 1730 } __DAC1CON0bits_t; 1731 1732 extern __at(0x0118) volatile __DAC1CON0bits_t DAC1CON0bits; 1733 1734 #define _DAC1NSS 0x01 1735 #define _DACNSS 0x01 1736 #define _DAC1PSS0 0x04 1737 #define _DACPSS0 0x04 1738 #define _DAC1PSS1 0x08 1739 #define _DACPSS1 0x08 1740 #define _DAC1OE2 0x10 1741 #define _DACOE0 0x10 1742 #define _DAC1OE1 0x20 1743 #define _DACOE1 0x20 1744 #define _DAC1EN 0x80 1745 #define _DACEN 0x80 1746 1747 //============================================================================== 1748 1749 1750 //============================================================================== 1751 // DAC1CON1 Bits 1752 1753 extern __at(0x0119) __sfr DAC1CON1; 1754 1755 typedef union 1756 { 1757 struct 1758 { 1759 unsigned DAC1R0 : 1; 1760 unsigned DAC1R1 : 1; 1761 unsigned DAC1R2 : 1; 1762 unsigned DAC1R3 : 1; 1763 unsigned DAC1R4 : 1; 1764 unsigned DAC1R5 : 1; 1765 unsigned DAC1R6 : 1; 1766 unsigned DAC1R7 : 1; 1767 }; 1768 1769 struct 1770 { 1771 unsigned DACR0 : 1; 1772 unsigned DACR1 : 1; 1773 unsigned DACR2 : 1; 1774 unsigned DACR3 : 1; 1775 unsigned DACR4 : 1; 1776 unsigned DACR5 : 1; 1777 unsigned DACR6 : 1; 1778 unsigned DACR7 : 1; 1779 }; 1780 } __DAC1CON1bits_t; 1781 1782 extern __at(0x0119) volatile __DAC1CON1bits_t DAC1CON1bits; 1783 1784 #define _DAC1R0 0x01 1785 #define _DACR0 0x01 1786 #define _DAC1R1 0x02 1787 #define _DACR1 0x02 1788 #define _DAC1R2 0x04 1789 #define _DACR2 0x04 1790 #define _DAC1R3 0x08 1791 #define _DACR3 0x08 1792 #define _DAC1R4 0x10 1793 #define _DACR4 0x10 1794 #define _DAC1R5 0x20 1795 #define _DACR5 0x20 1796 #define _DAC1R6 0x40 1797 #define _DACR6 0x40 1798 #define _DAC1R7 0x80 1799 #define _DACR7 0x80 1800 1801 //============================================================================== 1802 1803 1804 //============================================================================== 1805 // ZCD1CON Bits 1806 1807 extern __at(0x011C) __sfr ZCD1CON; 1808 1809 typedef struct 1810 { 1811 unsigned ZCD1INTN : 1; 1812 unsigned ZCD1INTP : 1; 1813 unsigned : 1; 1814 unsigned : 1; 1815 unsigned ZCD1POL : 1; 1816 unsigned ZCD1OUT : 1; 1817 unsigned : 1; 1818 unsigned ZCD1EN : 1; 1819 } __ZCD1CONbits_t; 1820 1821 extern __at(0x011C) volatile __ZCD1CONbits_t ZCD1CONbits; 1822 1823 #define _ZCD1INTN 0x01 1824 #define _ZCD1INTP 0x02 1825 #define _ZCD1POL 0x10 1826 #define _ZCD1OUT 0x20 1827 #define _ZCD1EN 0x80 1828 1829 //============================================================================== 1830 1831 1832 //============================================================================== 1833 // ANSELA Bits 1834 1835 extern __at(0x018C) __sfr ANSELA; 1836 1837 typedef struct 1838 { 1839 unsigned ANSA0 : 1; 1840 unsigned ANSA1 : 1; 1841 unsigned ANSA2 : 1; 1842 unsigned : 1; 1843 unsigned ANSA4 : 1; 1844 unsigned ANS5 : 1; 1845 unsigned : 1; 1846 unsigned : 1; 1847 } __ANSELAbits_t; 1848 1849 extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits; 1850 1851 #define _ANSA0 0x01 1852 #define _ANSA1 0x02 1853 #define _ANSA2 0x04 1854 #define _ANSA4 0x10 1855 #define _ANS5 0x20 1856 1857 //============================================================================== 1858 1859 1860 //============================================================================== 1861 // ANSELB Bits 1862 1863 extern __at(0x018D) __sfr ANSELB; 1864 1865 typedef struct 1866 { 1867 unsigned : 1; 1868 unsigned : 1; 1869 unsigned : 1; 1870 unsigned : 1; 1871 unsigned ANSB4 : 1; 1872 unsigned ANSB5 : 1; 1873 unsigned ANSB6 : 1; 1874 unsigned ANSB7 : 1; 1875 } __ANSELBbits_t; 1876 1877 extern __at(0x018D) volatile __ANSELBbits_t ANSELBbits; 1878 1879 #define _ANSB4 0x10 1880 #define _ANSB5 0x20 1881 #define _ANSB6 0x40 1882 #define _ANSB7 0x80 1883 1884 //============================================================================== 1885 1886 1887 //============================================================================== 1888 // ANSELC Bits 1889 1890 extern __at(0x018E) __sfr ANSELC; 1891 1892 typedef struct 1893 { 1894 unsigned ANSC0 : 1; 1895 unsigned ANSC1 : 1; 1896 unsigned ANSC2 : 1; 1897 unsigned ANSC3 : 1; 1898 unsigned : 1; 1899 unsigned : 1; 1900 unsigned ANSC6 : 1; 1901 unsigned ANSC7 : 1; 1902 } __ANSELCbits_t; 1903 1904 extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits; 1905 1906 #define _ANSC0 0x01 1907 #define _ANSC1 0x02 1908 #define _ANSC2 0x04 1909 #define _ANSC3 0x08 1910 #define _ANSC6 0x40 1911 #define _ANSC7 0x80 1912 1913 //============================================================================== 1914 1915 extern __at(0x0191) __sfr PMADR; 1916 extern __at(0x0191) __sfr PMADRL; 1917 extern __at(0x0192) __sfr PMADRH; 1918 extern __at(0x0193) __sfr PMDAT; 1919 extern __at(0x0193) __sfr PMDATL; 1920 extern __at(0x0194) __sfr PMDATH; 1921 1922 //============================================================================== 1923 // PMCON1 Bits 1924 1925 extern __at(0x0195) __sfr PMCON1; 1926 1927 typedef struct 1928 { 1929 unsigned RD : 1; 1930 unsigned WR : 1; 1931 unsigned WREN : 1; 1932 unsigned WRERR : 1; 1933 unsigned FREE : 1; 1934 unsigned LWLO : 1; 1935 unsigned CFGS : 1; 1936 unsigned : 1; 1937 } __PMCON1bits_t; 1938 1939 extern __at(0x0195) volatile __PMCON1bits_t PMCON1bits; 1940 1941 #define _RD 0x01 1942 #define _WR 0x02 1943 #define _WREN 0x04 1944 #define _WRERR 0x08 1945 #define _FREE 0x10 1946 #define _LWLO 0x20 1947 #define _CFGS 0x40 1948 1949 //============================================================================== 1950 1951 extern __at(0x0196) __sfr PMCON2; 1952 1953 //============================================================================== 1954 // VREGCON Bits 1955 1956 extern __at(0x0197) __sfr VREGCON; 1957 1958 typedef struct 1959 { 1960 unsigned Reserved : 1; 1961 unsigned VREGPM : 1; 1962 unsigned : 1; 1963 unsigned : 1; 1964 unsigned : 1; 1965 unsigned : 1; 1966 unsigned : 1; 1967 unsigned : 1; 1968 } __VREGCONbits_t; 1969 1970 extern __at(0x0197) volatile __VREGCONbits_t VREGCONbits; 1971 1972 #define _Reserved 0x01 1973 #define _VREGPM 0x02 1974 1975 //============================================================================== 1976 1977 extern __at(0x0199) __sfr RC1REG; 1978 extern __at(0x0199) __sfr RCREG; 1979 extern __at(0x0199) __sfr RCREG1; 1980 extern __at(0x019A) __sfr TX1REG; 1981 extern __at(0x019A) __sfr TXREG; 1982 extern __at(0x019A) __sfr TXREG1; 1983 extern __at(0x019B) __sfr SP1BRG; 1984 extern __at(0x019B) __sfr SP1BRGL; 1985 extern __at(0x019B) __sfr SPBRG; 1986 extern __at(0x019B) __sfr SPBRG1; 1987 extern __at(0x019B) __sfr SPBRGL; 1988 extern __at(0x019C) __sfr SP1BRGH; 1989 extern __at(0x019C) __sfr SPBRGH; 1990 extern __at(0x019C) __sfr SPBRGH1; 1991 1992 //============================================================================== 1993 // RC1STA Bits 1994 1995 extern __at(0x019D) __sfr RC1STA; 1996 1997 typedef struct 1998 { 1999 unsigned RX9D : 1; 2000 unsigned OERR : 1; 2001 unsigned FERR : 1; 2002 unsigned ADDEN : 1; 2003 unsigned CREN : 1; 2004 unsigned SREN : 1; 2005 unsigned RX9 : 1; 2006 unsigned SPEN : 1; 2007 } __RC1STAbits_t; 2008 2009 extern __at(0x019D) volatile __RC1STAbits_t RC1STAbits; 2010 2011 #define _RX9D 0x01 2012 #define _OERR 0x02 2013 #define _FERR 0x04 2014 #define _ADDEN 0x08 2015 #define _CREN 0x10 2016 #define _SREN 0x20 2017 #define _RX9 0x40 2018 #define _SPEN 0x80 2019 2020 //============================================================================== 2021 2022 2023 //============================================================================== 2024 // RCSTA Bits 2025 2026 extern __at(0x019D) __sfr RCSTA; 2027 2028 typedef struct 2029 { 2030 unsigned RX9D : 1; 2031 unsigned OERR : 1; 2032 unsigned FERR : 1; 2033 unsigned ADDEN : 1; 2034 unsigned CREN : 1; 2035 unsigned SREN : 1; 2036 unsigned RX9 : 1; 2037 unsigned SPEN : 1; 2038 } __RCSTAbits_t; 2039 2040 extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits; 2041 2042 #define _RCSTA_RX9D 0x01 2043 #define _RCSTA_OERR 0x02 2044 #define _RCSTA_FERR 0x04 2045 #define _RCSTA_ADDEN 0x08 2046 #define _RCSTA_CREN 0x10 2047 #define _RCSTA_SREN 0x20 2048 #define _RCSTA_RX9 0x40 2049 #define _RCSTA_SPEN 0x80 2050 2051 //============================================================================== 2052 2053 2054 //============================================================================== 2055 // RCSTA1 Bits 2056 2057 extern __at(0x019D) __sfr RCSTA1; 2058 2059 typedef struct 2060 { 2061 unsigned RX9D : 1; 2062 unsigned OERR : 1; 2063 unsigned FERR : 1; 2064 unsigned ADDEN : 1; 2065 unsigned CREN : 1; 2066 unsigned SREN : 1; 2067 unsigned RX9 : 1; 2068 unsigned SPEN : 1; 2069 } __RCSTA1bits_t; 2070 2071 extern __at(0x019D) volatile __RCSTA1bits_t RCSTA1bits; 2072 2073 #define _RCSTA1_RX9D 0x01 2074 #define _RCSTA1_OERR 0x02 2075 #define _RCSTA1_FERR 0x04 2076 #define _RCSTA1_ADDEN 0x08 2077 #define _RCSTA1_CREN 0x10 2078 #define _RCSTA1_SREN 0x20 2079 #define _RCSTA1_RX9 0x40 2080 #define _RCSTA1_SPEN 0x80 2081 2082 //============================================================================== 2083 2084 2085 //============================================================================== 2086 // TX1STA Bits 2087 2088 extern __at(0x019E) __sfr TX1STA; 2089 2090 typedef struct 2091 { 2092 unsigned TX9D : 1; 2093 unsigned TRMT : 1; 2094 unsigned BRGH : 1; 2095 unsigned SENDB : 1; 2096 unsigned SYNC : 1; 2097 unsigned TXEN : 1; 2098 unsigned TX9 : 1; 2099 unsigned CSRC : 1; 2100 } __TX1STAbits_t; 2101 2102 extern __at(0x019E) volatile __TX1STAbits_t TX1STAbits; 2103 2104 #define _TX9D 0x01 2105 #define _TRMT 0x02 2106 #define _BRGH 0x04 2107 #define _SENDB 0x08 2108 #define _SYNC 0x10 2109 #define _TXEN 0x20 2110 #define _TX9 0x40 2111 #define _CSRC 0x80 2112 2113 //============================================================================== 2114 2115 2116 //============================================================================== 2117 // TXSTA Bits 2118 2119 extern __at(0x019E) __sfr TXSTA; 2120 2121 typedef struct 2122 { 2123 unsigned TX9D : 1; 2124 unsigned TRMT : 1; 2125 unsigned BRGH : 1; 2126 unsigned SENDB : 1; 2127 unsigned SYNC : 1; 2128 unsigned TXEN : 1; 2129 unsigned TX9 : 1; 2130 unsigned CSRC : 1; 2131 } __TXSTAbits_t; 2132 2133 extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits; 2134 2135 #define _TXSTA_TX9D 0x01 2136 #define _TXSTA_TRMT 0x02 2137 #define _TXSTA_BRGH 0x04 2138 #define _TXSTA_SENDB 0x08 2139 #define _TXSTA_SYNC 0x10 2140 #define _TXSTA_TXEN 0x20 2141 #define _TXSTA_TX9 0x40 2142 #define _TXSTA_CSRC 0x80 2143 2144 //============================================================================== 2145 2146 2147 //============================================================================== 2148 // TXSTA1 Bits 2149 2150 extern __at(0x019E) __sfr TXSTA1; 2151 2152 typedef struct 2153 { 2154 unsigned TX9D : 1; 2155 unsigned TRMT : 1; 2156 unsigned BRGH : 1; 2157 unsigned SENDB : 1; 2158 unsigned SYNC : 1; 2159 unsigned TXEN : 1; 2160 unsigned TX9 : 1; 2161 unsigned CSRC : 1; 2162 } __TXSTA1bits_t; 2163 2164 extern __at(0x019E) volatile __TXSTA1bits_t TXSTA1bits; 2165 2166 #define _TXSTA1_TX9D 0x01 2167 #define _TXSTA1_TRMT 0x02 2168 #define _TXSTA1_BRGH 0x04 2169 #define _TXSTA1_SENDB 0x08 2170 #define _TXSTA1_SYNC 0x10 2171 #define _TXSTA1_TXEN 0x20 2172 #define _TXSTA1_TX9 0x40 2173 #define _TXSTA1_CSRC 0x80 2174 2175 //============================================================================== 2176 2177 2178 //============================================================================== 2179 // BAUD1CON Bits 2180 2181 extern __at(0x019F) __sfr BAUD1CON; 2182 2183 typedef struct 2184 { 2185 unsigned ABDEN : 1; 2186 unsigned WUE : 1; 2187 unsigned : 1; 2188 unsigned BRG16 : 1; 2189 unsigned SCKP : 1; 2190 unsigned : 1; 2191 unsigned RCIDL : 1; 2192 unsigned ABDOVF : 1; 2193 } __BAUD1CONbits_t; 2194 2195 extern __at(0x019F) volatile __BAUD1CONbits_t BAUD1CONbits; 2196 2197 #define _ABDEN 0x01 2198 #define _WUE 0x02 2199 #define _BRG16 0x08 2200 #define _SCKP 0x10 2201 #define _RCIDL 0x40 2202 #define _ABDOVF 0x80 2203 2204 //============================================================================== 2205 2206 2207 //============================================================================== 2208 // BAUDCON Bits 2209 2210 extern __at(0x019F) __sfr BAUDCON; 2211 2212 typedef struct 2213 { 2214 unsigned ABDEN : 1; 2215 unsigned WUE : 1; 2216 unsigned : 1; 2217 unsigned BRG16 : 1; 2218 unsigned SCKP : 1; 2219 unsigned : 1; 2220 unsigned RCIDL : 1; 2221 unsigned ABDOVF : 1; 2222 } __BAUDCONbits_t; 2223 2224 extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits; 2225 2226 #define _BAUDCON_ABDEN 0x01 2227 #define _BAUDCON_WUE 0x02 2228 #define _BAUDCON_BRG16 0x08 2229 #define _BAUDCON_SCKP 0x10 2230 #define _BAUDCON_RCIDL 0x40 2231 #define _BAUDCON_ABDOVF 0x80 2232 2233 //============================================================================== 2234 2235 2236 //============================================================================== 2237 // BAUDCON1 Bits 2238 2239 extern __at(0x019F) __sfr BAUDCON1; 2240 2241 typedef struct 2242 { 2243 unsigned ABDEN : 1; 2244 unsigned WUE : 1; 2245 unsigned : 1; 2246 unsigned BRG16 : 1; 2247 unsigned SCKP : 1; 2248 unsigned : 1; 2249 unsigned RCIDL : 1; 2250 unsigned ABDOVF : 1; 2251 } __BAUDCON1bits_t; 2252 2253 extern __at(0x019F) volatile __BAUDCON1bits_t BAUDCON1bits; 2254 2255 #define _BAUDCON1_ABDEN 0x01 2256 #define _BAUDCON1_WUE 0x02 2257 #define _BAUDCON1_BRG16 0x08 2258 #define _BAUDCON1_SCKP 0x10 2259 #define _BAUDCON1_RCIDL 0x40 2260 #define _BAUDCON1_ABDOVF 0x80 2261 2262 //============================================================================== 2263 2264 2265 //============================================================================== 2266 // BAUDCTL Bits 2267 2268 extern __at(0x019F) __sfr BAUDCTL; 2269 2270 typedef struct 2271 { 2272 unsigned ABDEN : 1; 2273 unsigned WUE : 1; 2274 unsigned : 1; 2275 unsigned BRG16 : 1; 2276 unsigned SCKP : 1; 2277 unsigned : 1; 2278 unsigned RCIDL : 1; 2279 unsigned ABDOVF : 1; 2280 } __BAUDCTLbits_t; 2281 2282 extern __at(0x019F) volatile __BAUDCTLbits_t BAUDCTLbits; 2283 2284 #define _BAUDCTL_ABDEN 0x01 2285 #define _BAUDCTL_WUE 0x02 2286 #define _BAUDCTL_BRG16 0x08 2287 #define _BAUDCTL_SCKP 0x10 2288 #define _BAUDCTL_RCIDL 0x40 2289 #define _BAUDCTL_ABDOVF 0x80 2290 2291 //============================================================================== 2292 2293 2294 //============================================================================== 2295 // BAUDCTL1 Bits 2296 2297 extern __at(0x019F) __sfr BAUDCTL1; 2298 2299 typedef struct 2300 { 2301 unsigned ABDEN : 1; 2302 unsigned WUE : 1; 2303 unsigned : 1; 2304 unsigned BRG16 : 1; 2305 unsigned SCKP : 1; 2306 unsigned : 1; 2307 unsigned RCIDL : 1; 2308 unsigned ABDOVF : 1; 2309 } __BAUDCTL1bits_t; 2310 2311 extern __at(0x019F) volatile __BAUDCTL1bits_t BAUDCTL1bits; 2312 2313 #define _BAUDCTL1_ABDEN 0x01 2314 #define _BAUDCTL1_WUE 0x02 2315 #define _BAUDCTL1_BRG16 0x08 2316 #define _BAUDCTL1_SCKP 0x10 2317 #define _BAUDCTL1_RCIDL 0x40 2318 #define _BAUDCTL1_ABDOVF 0x80 2319 2320 //============================================================================== 2321 2322 2323 //============================================================================== 2324 // WPUA Bits 2325 2326 extern __at(0x020C) __sfr WPUA; 2327 2328 typedef union 2329 { 2330 struct 2331 { 2332 unsigned WPUA0 : 1; 2333 unsigned WPUA1 : 1; 2334 unsigned WPUA2 : 1; 2335 unsigned WPUA3 : 1; 2336 unsigned WPUA4 : 1; 2337 unsigned WPUA5 : 1; 2338 unsigned : 1; 2339 unsigned : 1; 2340 }; 2341 2342 struct 2343 { 2344 unsigned WPUA : 6; 2345 unsigned : 2; 2346 }; 2347 } __WPUAbits_t; 2348 2349 extern __at(0x020C) volatile __WPUAbits_t WPUAbits; 2350 2351 #define _WPUA0 0x01 2352 #define _WPUA1 0x02 2353 #define _WPUA2 0x04 2354 #define _WPUA3 0x08 2355 #define _WPUA4 0x10 2356 #define _WPUA5 0x20 2357 2358 //============================================================================== 2359 2360 2361 //============================================================================== 2362 // WPUB Bits 2363 2364 extern __at(0x020D) __sfr WPUB; 2365 2366 typedef struct 2367 { 2368 unsigned : 1; 2369 unsigned : 1; 2370 unsigned : 1; 2371 unsigned : 1; 2372 unsigned WPUB4 : 1; 2373 unsigned WPUB5 : 1; 2374 unsigned WPUB6 : 1; 2375 unsigned WPUB7 : 1; 2376 } __WPUBbits_t; 2377 2378 extern __at(0x020D) volatile __WPUBbits_t WPUBbits; 2379 2380 #define _WPUB4 0x10 2381 #define _WPUB5 0x20 2382 #define _WPUB6 0x40 2383 #define _WPUB7 0x80 2384 2385 //============================================================================== 2386 2387 2388 //============================================================================== 2389 // WPUC Bits 2390 2391 extern __at(0x020E) __sfr WPUC; 2392 2393 typedef struct 2394 { 2395 unsigned WPUC0 : 1; 2396 unsigned WPUC1 : 1; 2397 unsigned WPUC2 : 1; 2398 unsigned WPUC3 : 1; 2399 unsigned WPUC4 : 1; 2400 unsigned WPUC5 : 1; 2401 unsigned WPUC6 : 1; 2402 unsigned WPUC7 : 1; 2403 } __WPUCbits_t; 2404 2405 extern __at(0x020E) volatile __WPUCbits_t WPUCbits; 2406 2407 #define _WPUC0 0x01 2408 #define _WPUC1 0x02 2409 #define _WPUC2 0x04 2410 #define _WPUC3 0x08 2411 #define _WPUC4 0x10 2412 #define _WPUC5 0x20 2413 #define _WPUC6 0x40 2414 #define _WPUC7 0x80 2415 2416 //============================================================================== 2417 2418 2419 //============================================================================== 2420 // SSP1BUF Bits 2421 2422 extern __at(0x0211) __sfr SSP1BUF; 2423 2424 typedef union 2425 { 2426 struct 2427 { 2428 unsigned SSP1BUF0 : 1; 2429 unsigned SSP1BUF1 : 1; 2430 unsigned SSP1BUF2 : 1; 2431 unsigned SSP1BUF3 : 1; 2432 unsigned SSP1BUF4 : 1; 2433 unsigned SSP1BUF5 : 1; 2434 unsigned SSP1BUF6 : 1; 2435 unsigned SSP1BUF7 : 1; 2436 }; 2437 2438 struct 2439 { 2440 unsigned BUF0 : 1; 2441 unsigned BUF1 : 1; 2442 unsigned BUF2 : 1; 2443 unsigned BUF3 : 1; 2444 unsigned BUF4 : 1; 2445 unsigned BUF5 : 1; 2446 unsigned BUF6 : 1; 2447 unsigned BUF7 : 1; 2448 }; 2449 } __SSP1BUFbits_t; 2450 2451 extern __at(0x0211) volatile __SSP1BUFbits_t SSP1BUFbits; 2452 2453 #define _SSP1BUF0 0x01 2454 #define _BUF0 0x01 2455 #define _SSP1BUF1 0x02 2456 #define _BUF1 0x02 2457 #define _SSP1BUF2 0x04 2458 #define _BUF2 0x04 2459 #define _SSP1BUF3 0x08 2460 #define _BUF3 0x08 2461 #define _SSP1BUF4 0x10 2462 #define _BUF4 0x10 2463 #define _SSP1BUF5 0x20 2464 #define _BUF5 0x20 2465 #define _SSP1BUF6 0x40 2466 #define _BUF6 0x40 2467 #define _SSP1BUF7 0x80 2468 #define _BUF7 0x80 2469 2470 //============================================================================== 2471 2472 2473 //============================================================================== 2474 // SSPBUF Bits 2475 2476 extern __at(0x0211) __sfr SSPBUF; 2477 2478 typedef union 2479 { 2480 struct 2481 { 2482 unsigned SSP1BUF0 : 1; 2483 unsigned SSP1BUF1 : 1; 2484 unsigned SSP1BUF2 : 1; 2485 unsigned SSP1BUF3 : 1; 2486 unsigned SSP1BUF4 : 1; 2487 unsigned SSP1BUF5 : 1; 2488 unsigned SSP1BUF6 : 1; 2489 unsigned SSP1BUF7 : 1; 2490 }; 2491 2492 struct 2493 { 2494 unsigned BUF0 : 1; 2495 unsigned BUF1 : 1; 2496 unsigned BUF2 : 1; 2497 unsigned BUF3 : 1; 2498 unsigned BUF4 : 1; 2499 unsigned BUF5 : 1; 2500 unsigned BUF6 : 1; 2501 unsigned BUF7 : 1; 2502 }; 2503 } __SSPBUFbits_t; 2504 2505 extern __at(0x0211) volatile __SSPBUFbits_t SSPBUFbits; 2506 2507 #define _SSPBUF_SSP1BUF0 0x01 2508 #define _SSPBUF_BUF0 0x01 2509 #define _SSPBUF_SSP1BUF1 0x02 2510 #define _SSPBUF_BUF1 0x02 2511 #define _SSPBUF_SSP1BUF2 0x04 2512 #define _SSPBUF_BUF2 0x04 2513 #define _SSPBUF_SSP1BUF3 0x08 2514 #define _SSPBUF_BUF3 0x08 2515 #define _SSPBUF_SSP1BUF4 0x10 2516 #define _SSPBUF_BUF4 0x10 2517 #define _SSPBUF_SSP1BUF5 0x20 2518 #define _SSPBUF_BUF5 0x20 2519 #define _SSPBUF_SSP1BUF6 0x40 2520 #define _SSPBUF_BUF6 0x40 2521 #define _SSPBUF_SSP1BUF7 0x80 2522 #define _SSPBUF_BUF7 0x80 2523 2524 //============================================================================== 2525 2526 2527 //============================================================================== 2528 // SSP1ADD Bits 2529 2530 extern __at(0x0212) __sfr SSP1ADD; 2531 2532 typedef union 2533 { 2534 struct 2535 { 2536 unsigned SSP1ADD0 : 1; 2537 unsigned SSP1ADD1 : 1; 2538 unsigned SSP1ADD2 : 1; 2539 unsigned SSP1ADD3 : 1; 2540 unsigned SSP1ADD4 : 1; 2541 unsigned SSP1ADD5 : 1; 2542 unsigned SSP1ADD6 : 1; 2543 unsigned SSP1ADD7 : 1; 2544 }; 2545 2546 struct 2547 { 2548 unsigned ADD0 : 1; 2549 unsigned ADD1 : 1; 2550 unsigned ADD2 : 1; 2551 unsigned ADD3 : 1; 2552 unsigned ADD4 : 1; 2553 unsigned ADD5 : 1; 2554 unsigned ADD6 : 1; 2555 unsigned ADD7 : 1; 2556 }; 2557 } __SSP1ADDbits_t; 2558 2559 extern __at(0x0212) volatile __SSP1ADDbits_t SSP1ADDbits; 2560 2561 #define _SSP1ADD0 0x01 2562 #define _ADD0 0x01 2563 #define _SSP1ADD1 0x02 2564 #define _ADD1 0x02 2565 #define _SSP1ADD2 0x04 2566 #define _ADD2 0x04 2567 #define _SSP1ADD3 0x08 2568 #define _ADD3 0x08 2569 #define _SSP1ADD4 0x10 2570 #define _ADD4 0x10 2571 #define _SSP1ADD5 0x20 2572 #define _ADD5 0x20 2573 #define _SSP1ADD6 0x40 2574 #define _ADD6 0x40 2575 #define _SSP1ADD7 0x80 2576 #define _ADD7 0x80 2577 2578 //============================================================================== 2579 2580 2581 //============================================================================== 2582 // SSPADD Bits 2583 2584 extern __at(0x0212) __sfr SSPADD; 2585 2586 typedef union 2587 { 2588 struct 2589 { 2590 unsigned SSP1ADD0 : 1; 2591 unsigned SSP1ADD1 : 1; 2592 unsigned SSP1ADD2 : 1; 2593 unsigned SSP1ADD3 : 1; 2594 unsigned SSP1ADD4 : 1; 2595 unsigned SSP1ADD5 : 1; 2596 unsigned SSP1ADD6 : 1; 2597 unsigned SSP1ADD7 : 1; 2598 }; 2599 2600 struct 2601 { 2602 unsigned ADD0 : 1; 2603 unsigned ADD1 : 1; 2604 unsigned ADD2 : 1; 2605 unsigned ADD3 : 1; 2606 unsigned ADD4 : 1; 2607 unsigned ADD5 : 1; 2608 unsigned ADD6 : 1; 2609 unsigned ADD7 : 1; 2610 }; 2611 } __SSPADDbits_t; 2612 2613 extern __at(0x0212) volatile __SSPADDbits_t SSPADDbits; 2614 2615 #define _SSPADD_SSP1ADD0 0x01 2616 #define _SSPADD_ADD0 0x01 2617 #define _SSPADD_SSP1ADD1 0x02 2618 #define _SSPADD_ADD1 0x02 2619 #define _SSPADD_SSP1ADD2 0x04 2620 #define _SSPADD_ADD2 0x04 2621 #define _SSPADD_SSP1ADD3 0x08 2622 #define _SSPADD_ADD3 0x08 2623 #define _SSPADD_SSP1ADD4 0x10 2624 #define _SSPADD_ADD4 0x10 2625 #define _SSPADD_SSP1ADD5 0x20 2626 #define _SSPADD_ADD5 0x20 2627 #define _SSPADD_SSP1ADD6 0x40 2628 #define _SSPADD_ADD6 0x40 2629 #define _SSPADD_SSP1ADD7 0x80 2630 #define _SSPADD_ADD7 0x80 2631 2632 //============================================================================== 2633 2634 2635 //============================================================================== 2636 // SSP1MSK Bits 2637 2638 extern __at(0x0213) __sfr SSP1MSK; 2639 2640 typedef union 2641 { 2642 struct 2643 { 2644 unsigned SSP1MSK0 : 1; 2645 unsigned SSP1MSK1 : 1; 2646 unsigned SSP1MSK2 : 1; 2647 unsigned SSP1MSK3 : 1; 2648 unsigned SSP1MSK4 : 1; 2649 unsigned SSP1MSK5 : 1; 2650 unsigned SSP1MSK6 : 1; 2651 unsigned SSP1MSK7 : 1; 2652 }; 2653 2654 struct 2655 { 2656 unsigned MSK0 : 1; 2657 unsigned MSK1 : 1; 2658 unsigned MSK2 : 1; 2659 unsigned MSK3 : 1; 2660 unsigned MSK4 : 1; 2661 unsigned MSK5 : 1; 2662 unsigned MSK6 : 1; 2663 unsigned MSK7 : 1; 2664 }; 2665 } __SSP1MSKbits_t; 2666 2667 extern __at(0x0213) volatile __SSP1MSKbits_t SSP1MSKbits; 2668 2669 #define _SSP1MSK0 0x01 2670 #define _MSK0 0x01 2671 #define _SSP1MSK1 0x02 2672 #define _MSK1 0x02 2673 #define _SSP1MSK2 0x04 2674 #define _MSK2 0x04 2675 #define _SSP1MSK3 0x08 2676 #define _MSK3 0x08 2677 #define _SSP1MSK4 0x10 2678 #define _MSK4 0x10 2679 #define _SSP1MSK5 0x20 2680 #define _MSK5 0x20 2681 #define _SSP1MSK6 0x40 2682 #define _MSK6 0x40 2683 #define _SSP1MSK7 0x80 2684 #define _MSK7 0x80 2685 2686 //============================================================================== 2687 2688 2689 //============================================================================== 2690 // SSPMSK Bits 2691 2692 extern __at(0x0213) __sfr SSPMSK; 2693 2694 typedef union 2695 { 2696 struct 2697 { 2698 unsigned SSP1MSK0 : 1; 2699 unsigned SSP1MSK1 : 1; 2700 unsigned SSP1MSK2 : 1; 2701 unsigned SSP1MSK3 : 1; 2702 unsigned SSP1MSK4 : 1; 2703 unsigned SSP1MSK5 : 1; 2704 unsigned SSP1MSK6 : 1; 2705 unsigned SSP1MSK7 : 1; 2706 }; 2707 2708 struct 2709 { 2710 unsigned MSK0 : 1; 2711 unsigned MSK1 : 1; 2712 unsigned MSK2 : 1; 2713 unsigned MSK3 : 1; 2714 unsigned MSK4 : 1; 2715 unsigned MSK5 : 1; 2716 unsigned MSK6 : 1; 2717 unsigned MSK7 : 1; 2718 }; 2719 } __SSPMSKbits_t; 2720 2721 extern __at(0x0213) volatile __SSPMSKbits_t SSPMSKbits; 2722 2723 #define _SSPMSK_SSP1MSK0 0x01 2724 #define _SSPMSK_MSK0 0x01 2725 #define _SSPMSK_SSP1MSK1 0x02 2726 #define _SSPMSK_MSK1 0x02 2727 #define _SSPMSK_SSP1MSK2 0x04 2728 #define _SSPMSK_MSK2 0x04 2729 #define _SSPMSK_SSP1MSK3 0x08 2730 #define _SSPMSK_MSK3 0x08 2731 #define _SSPMSK_SSP1MSK4 0x10 2732 #define _SSPMSK_MSK4 0x10 2733 #define _SSPMSK_SSP1MSK5 0x20 2734 #define _SSPMSK_MSK5 0x20 2735 #define _SSPMSK_SSP1MSK6 0x40 2736 #define _SSPMSK_MSK6 0x40 2737 #define _SSPMSK_SSP1MSK7 0x80 2738 #define _SSPMSK_MSK7 0x80 2739 2740 //============================================================================== 2741 2742 2743 //============================================================================== 2744 // SSP1STAT Bits 2745 2746 extern __at(0x0214) __sfr SSP1STAT; 2747 2748 typedef struct 2749 { 2750 unsigned BF : 1; 2751 unsigned UA : 1; 2752 unsigned R_NOT_W : 1; 2753 unsigned S : 1; 2754 unsigned P : 1; 2755 unsigned D_NOT_A : 1; 2756 unsigned CKE : 1; 2757 unsigned SMP : 1; 2758 } __SSP1STATbits_t; 2759 2760 extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits; 2761 2762 #define _BF 0x01 2763 #define _UA 0x02 2764 #define _R_NOT_W 0x04 2765 #define _S 0x08 2766 #define _P 0x10 2767 #define _D_NOT_A 0x20 2768 #define _CKE 0x40 2769 #define _SMP 0x80 2770 2771 //============================================================================== 2772 2773 2774 //============================================================================== 2775 // SSPSTAT Bits 2776 2777 extern __at(0x0214) __sfr SSPSTAT; 2778 2779 typedef struct 2780 { 2781 unsigned BF : 1; 2782 unsigned UA : 1; 2783 unsigned R_NOT_W : 1; 2784 unsigned S : 1; 2785 unsigned P : 1; 2786 unsigned D_NOT_A : 1; 2787 unsigned CKE : 1; 2788 unsigned SMP : 1; 2789 } __SSPSTATbits_t; 2790 2791 extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits; 2792 2793 #define _SSPSTAT_BF 0x01 2794 #define _SSPSTAT_UA 0x02 2795 #define _SSPSTAT_R_NOT_W 0x04 2796 #define _SSPSTAT_S 0x08 2797 #define _SSPSTAT_P 0x10 2798 #define _SSPSTAT_D_NOT_A 0x20 2799 #define _SSPSTAT_CKE 0x40 2800 #define _SSPSTAT_SMP 0x80 2801 2802 //============================================================================== 2803 2804 2805 //============================================================================== 2806 // SSP1CON Bits 2807 2808 extern __at(0x0215) __sfr SSP1CON; 2809 2810 typedef union 2811 { 2812 struct 2813 { 2814 unsigned SSPM0 : 1; 2815 unsigned SSPM1 : 1; 2816 unsigned SSPM2 : 1; 2817 unsigned SSPM3 : 1; 2818 unsigned CKP : 1; 2819 unsigned SSPEN : 1; 2820 unsigned SSPOV : 1; 2821 unsigned WCOL : 1; 2822 }; 2823 2824 struct 2825 { 2826 unsigned SSPM : 4; 2827 unsigned : 4; 2828 }; 2829 } __SSP1CONbits_t; 2830 2831 extern __at(0x0215) volatile __SSP1CONbits_t SSP1CONbits; 2832 2833 #define _SSPM0 0x01 2834 #define _SSPM1 0x02 2835 #define _SSPM2 0x04 2836 #define _SSPM3 0x08 2837 #define _CKP 0x10 2838 #define _SSPEN 0x20 2839 #define _SSPOV 0x40 2840 #define _WCOL 0x80 2841 2842 //============================================================================== 2843 2844 2845 //============================================================================== 2846 // SSP1CON1 Bits 2847 2848 extern __at(0x0215) __sfr SSP1CON1; 2849 2850 typedef union 2851 { 2852 struct 2853 { 2854 unsigned SSPM0 : 1; 2855 unsigned SSPM1 : 1; 2856 unsigned SSPM2 : 1; 2857 unsigned SSPM3 : 1; 2858 unsigned CKP : 1; 2859 unsigned SSPEN : 1; 2860 unsigned SSPOV : 1; 2861 unsigned WCOL : 1; 2862 }; 2863 2864 struct 2865 { 2866 unsigned SSPM : 4; 2867 unsigned : 4; 2868 }; 2869 } __SSP1CON1bits_t; 2870 2871 extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits; 2872 2873 #define _SSP1CON1_SSPM0 0x01 2874 #define _SSP1CON1_SSPM1 0x02 2875 #define _SSP1CON1_SSPM2 0x04 2876 #define _SSP1CON1_SSPM3 0x08 2877 #define _SSP1CON1_CKP 0x10 2878 #define _SSP1CON1_SSPEN 0x20 2879 #define _SSP1CON1_SSPOV 0x40 2880 #define _SSP1CON1_WCOL 0x80 2881 2882 //============================================================================== 2883 2884 2885 //============================================================================== 2886 // SSPCON Bits 2887 2888 extern __at(0x0215) __sfr SSPCON; 2889 2890 typedef union 2891 { 2892 struct 2893 { 2894 unsigned SSPM0 : 1; 2895 unsigned SSPM1 : 1; 2896 unsigned SSPM2 : 1; 2897 unsigned SSPM3 : 1; 2898 unsigned CKP : 1; 2899 unsigned SSPEN : 1; 2900 unsigned SSPOV : 1; 2901 unsigned WCOL : 1; 2902 }; 2903 2904 struct 2905 { 2906 unsigned SSPM : 4; 2907 unsigned : 4; 2908 }; 2909 } __SSPCONbits_t; 2910 2911 extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits; 2912 2913 #define _SSPCON_SSPM0 0x01 2914 #define _SSPCON_SSPM1 0x02 2915 #define _SSPCON_SSPM2 0x04 2916 #define _SSPCON_SSPM3 0x08 2917 #define _SSPCON_CKP 0x10 2918 #define _SSPCON_SSPEN 0x20 2919 #define _SSPCON_SSPOV 0x40 2920 #define _SSPCON_WCOL 0x80 2921 2922 //============================================================================== 2923 2924 2925 //============================================================================== 2926 // SSPCON1 Bits 2927 2928 extern __at(0x0215) __sfr SSPCON1; 2929 2930 typedef union 2931 { 2932 struct 2933 { 2934 unsigned SSPM0 : 1; 2935 unsigned SSPM1 : 1; 2936 unsigned SSPM2 : 1; 2937 unsigned SSPM3 : 1; 2938 unsigned CKP : 1; 2939 unsigned SSPEN : 1; 2940 unsigned SSPOV : 1; 2941 unsigned WCOL : 1; 2942 }; 2943 2944 struct 2945 { 2946 unsigned SSPM : 4; 2947 unsigned : 4; 2948 }; 2949 } __SSPCON1bits_t; 2950 2951 extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits; 2952 2953 #define _SSPCON1_SSPM0 0x01 2954 #define _SSPCON1_SSPM1 0x02 2955 #define _SSPCON1_SSPM2 0x04 2956 #define _SSPCON1_SSPM3 0x08 2957 #define _SSPCON1_CKP 0x10 2958 #define _SSPCON1_SSPEN 0x20 2959 #define _SSPCON1_SSPOV 0x40 2960 #define _SSPCON1_WCOL 0x80 2961 2962 //============================================================================== 2963 2964 2965 //============================================================================== 2966 // SSP1CON2 Bits 2967 2968 extern __at(0x0216) __sfr SSP1CON2; 2969 2970 typedef struct 2971 { 2972 unsigned SEN : 1; 2973 unsigned RSEN : 1; 2974 unsigned PEN : 1; 2975 unsigned RCEN : 1; 2976 unsigned ACKEN : 1; 2977 unsigned ACKDT : 1; 2978 unsigned ACKSTAT : 1; 2979 unsigned GCEN : 1; 2980 } __SSP1CON2bits_t; 2981 2982 extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits; 2983 2984 #define _SEN 0x01 2985 #define _RSEN 0x02 2986 #define _PEN 0x04 2987 #define _RCEN 0x08 2988 #define _ACKEN 0x10 2989 #define _ACKDT 0x20 2990 #define _ACKSTAT 0x40 2991 #define _GCEN 0x80 2992 2993 //============================================================================== 2994 2995 2996 //============================================================================== 2997 // SSPCON2 Bits 2998 2999 extern __at(0x0216) __sfr SSPCON2; 3000 3001 typedef struct 3002 { 3003 unsigned SEN : 1; 3004 unsigned RSEN : 1; 3005 unsigned PEN : 1; 3006 unsigned RCEN : 1; 3007 unsigned ACKEN : 1; 3008 unsigned ACKDT : 1; 3009 unsigned ACKSTAT : 1; 3010 unsigned GCEN : 1; 3011 } __SSPCON2bits_t; 3012 3013 extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits; 3014 3015 #define _SSPCON2_SEN 0x01 3016 #define _SSPCON2_RSEN 0x02 3017 #define _SSPCON2_PEN 0x04 3018 #define _SSPCON2_RCEN 0x08 3019 #define _SSPCON2_ACKEN 0x10 3020 #define _SSPCON2_ACKDT 0x20 3021 #define _SSPCON2_ACKSTAT 0x40 3022 #define _SSPCON2_GCEN 0x80 3023 3024 //============================================================================== 3025 3026 3027 //============================================================================== 3028 // SSP1CON3 Bits 3029 3030 extern __at(0x0217) __sfr SSP1CON3; 3031 3032 typedef struct 3033 { 3034 unsigned DHEN : 1; 3035 unsigned AHEN : 1; 3036 unsigned SBCDE : 1; 3037 unsigned SDAHT : 1; 3038 unsigned BOEN : 1; 3039 unsigned SCIE : 1; 3040 unsigned PCIE : 1; 3041 unsigned ACKTIM : 1; 3042 } __SSP1CON3bits_t; 3043 3044 extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits; 3045 3046 #define _DHEN 0x01 3047 #define _AHEN 0x02 3048 #define _SBCDE 0x04 3049 #define _SDAHT 0x08 3050 #define _BOEN 0x10 3051 #define _SCIE 0x20 3052 #define _PCIE 0x40 3053 #define _ACKTIM 0x80 3054 3055 //============================================================================== 3056 3057 3058 //============================================================================== 3059 // SSPCON3 Bits 3060 3061 extern __at(0x0217) __sfr SSPCON3; 3062 3063 typedef struct 3064 { 3065 unsigned DHEN : 1; 3066 unsigned AHEN : 1; 3067 unsigned SBCDE : 1; 3068 unsigned SDAHT : 1; 3069 unsigned BOEN : 1; 3070 unsigned SCIE : 1; 3071 unsigned PCIE : 1; 3072 unsigned ACKTIM : 1; 3073 } __SSPCON3bits_t; 3074 3075 extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits; 3076 3077 #define _SSPCON3_DHEN 0x01 3078 #define _SSPCON3_AHEN 0x02 3079 #define _SSPCON3_SBCDE 0x04 3080 #define _SSPCON3_SDAHT 0x08 3081 #define _SSPCON3_BOEN 0x10 3082 #define _SSPCON3_SCIE 0x20 3083 #define _SSPCON3_PCIE 0x40 3084 #define _SSPCON3_ACKTIM 0x80 3085 3086 //============================================================================== 3087 3088 3089 //============================================================================== 3090 // ODCONA Bits 3091 3092 extern __at(0x028C) __sfr ODCONA; 3093 3094 typedef struct 3095 { 3096 unsigned ODA0 : 1; 3097 unsigned ODA1 : 1; 3098 unsigned ODA2 : 1; 3099 unsigned : 1; 3100 unsigned ODA4 : 1; 3101 unsigned ODA5 : 1; 3102 unsigned : 1; 3103 unsigned : 1; 3104 } __ODCONAbits_t; 3105 3106 extern __at(0x028C) volatile __ODCONAbits_t ODCONAbits; 3107 3108 #define _ODA0 0x01 3109 #define _ODA1 0x02 3110 #define _ODA2 0x04 3111 #define _ODA4 0x10 3112 #define _ODA5 0x20 3113 3114 //============================================================================== 3115 3116 3117 //============================================================================== 3118 // ODCONB Bits 3119 3120 extern __at(0x028D) __sfr ODCONB; 3121 3122 typedef struct 3123 { 3124 unsigned : 1; 3125 unsigned : 1; 3126 unsigned : 1; 3127 unsigned : 1; 3128 unsigned ODB4 : 1; 3129 unsigned ODB5 : 1; 3130 unsigned ODB6 : 1; 3131 unsigned ODB7 : 1; 3132 } __ODCONBbits_t; 3133 3134 extern __at(0x028D) volatile __ODCONBbits_t ODCONBbits; 3135 3136 #define _ODB4 0x10 3137 #define _ODB5 0x20 3138 #define _ODB6 0x40 3139 #define _ODB7 0x80 3140 3141 //============================================================================== 3142 3143 3144 //============================================================================== 3145 // ODCONC Bits 3146 3147 extern __at(0x028E) __sfr ODCONC; 3148 3149 typedef struct 3150 { 3151 unsigned ODC0 : 1; 3152 unsigned ODC1 : 1; 3153 unsigned ODC2 : 1; 3154 unsigned ODC3 : 1; 3155 unsigned ODC4 : 1; 3156 unsigned ODC5 : 1; 3157 unsigned ODC6 : 1; 3158 unsigned ODC7 : 1; 3159 } __ODCONCbits_t; 3160 3161 extern __at(0x028E) volatile __ODCONCbits_t ODCONCbits; 3162 3163 #define _ODC0 0x01 3164 #define _ODC1 0x02 3165 #define _ODC2 0x04 3166 #define _ODC3 0x08 3167 #define _ODC4 0x10 3168 #define _ODC5 0x20 3169 #define _ODC6 0x40 3170 #define _ODC7 0x80 3171 3172 //============================================================================== 3173 3174 extern __at(0x0291) __sfr CCPR1; 3175 extern __at(0x0291) __sfr CCPR1L; 3176 extern __at(0x0292) __sfr CCPR1H; 3177 3178 //============================================================================== 3179 // CCP1CON Bits 3180 3181 extern __at(0x0293) __sfr CCP1CON; 3182 3183 typedef union 3184 { 3185 struct 3186 { 3187 unsigned CCP1M0 : 1; 3188 unsigned CCP1M1 : 1; 3189 unsigned CCP1M2 : 1; 3190 unsigned CCP1M3 : 1; 3191 unsigned DC1B0 : 1; 3192 unsigned DC1B1 : 1; 3193 unsigned : 1; 3194 unsigned : 1; 3195 }; 3196 3197 struct 3198 { 3199 unsigned : 1; 3200 unsigned : 1; 3201 unsigned : 1; 3202 unsigned : 1; 3203 unsigned CCP1Y : 1; 3204 unsigned CCP1X : 1; 3205 unsigned : 1; 3206 unsigned : 1; 3207 }; 3208 3209 struct 3210 { 3211 unsigned CCP1M : 4; 3212 unsigned : 4; 3213 }; 3214 3215 struct 3216 { 3217 unsigned : 4; 3218 unsigned DC1B : 2; 3219 unsigned : 2; 3220 }; 3221 } __CCP1CONbits_t; 3222 3223 extern __at(0x0293) volatile __CCP1CONbits_t CCP1CONbits; 3224 3225 #define _CCP1M0 0x01 3226 #define _CCP1M1 0x02 3227 #define _CCP1M2 0x04 3228 #define _CCP1M3 0x08 3229 #define _DC1B0 0x10 3230 #define _CCP1Y 0x10 3231 #define _DC1B1 0x20 3232 #define _CCP1X 0x20 3233 3234 //============================================================================== 3235 3236 3237 //============================================================================== 3238 // ECCP1CON Bits 3239 3240 extern __at(0x0293) __sfr ECCP1CON; 3241 3242 typedef union 3243 { 3244 struct 3245 { 3246 unsigned CCP1M0 : 1; 3247 unsigned CCP1M1 : 1; 3248 unsigned CCP1M2 : 1; 3249 unsigned CCP1M3 : 1; 3250 unsigned DC1B0 : 1; 3251 unsigned DC1B1 : 1; 3252 unsigned : 1; 3253 unsigned : 1; 3254 }; 3255 3256 struct 3257 { 3258 unsigned : 1; 3259 unsigned : 1; 3260 unsigned : 1; 3261 unsigned : 1; 3262 unsigned CCP1Y : 1; 3263 unsigned CCP1X : 1; 3264 unsigned : 1; 3265 unsigned : 1; 3266 }; 3267 3268 struct 3269 { 3270 unsigned CCP1M : 4; 3271 unsigned : 4; 3272 }; 3273 3274 struct 3275 { 3276 unsigned : 4; 3277 unsigned DC1B : 2; 3278 unsigned : 2; 3279 }; 3280 } __ECCP1CONbits_t; 3281 3282 extern __at(0x0293) volatile __ECCP1CONbits_t ECCP1CONbits; 3283 3284 #define _ECCP1CON_CCP1M0 0x01 3285 #define _ECCP1CON_CCP1M1 0x02 3286 #define _ECCP1CON_CCP1M2 0x04 3287 #define _ECCP1CON_CCP1M3 0x08 3288 #define _ECCP1CON_DC1B0 0x10 3289 #define _ECCP1CON_CCP1Y 0x10 3290 #define _ECCP1CON_DC1B1 0x20 3291 #define _ECCP1CON_CCP1X 0x20 3292 3293 //============================================================================== 3294 3295 extern __at(0x0298) __sfr CCPR2; 3296 extern __at(0x0298) __sfr CCPR2L; 3297 extern __at(0x0299) __sfr CCPR2H; 3298 3299 //============================================================================== 3300 // CCP2CON Bits 3301 3302 extern __at(0x029A) __sfr CCP2CON; 3303 3304 typedef union 3305 { 3306 struct 3307 { 3308 unsigned CCP2M0 : 1; 3309 unsigned CCP2M1 : 1; 3310 unsigned CCP2M2 : 1; 3311 unsigned CCP2M3 : 1; 3312 unsigned DC2B0 : 1; 3313 unsigned DC2B1 : 1; 3314 unsigned : 1; 3315 unsigned : 1; 3316 }; 3317 3318 struct 3319 { 3320 unsigned : 1; 3321 unsigned : 1; 3322 unsigned : 1; 3323 unsigned : 1; 3324 unsigned CCP2Y : 1; 3325 unsigned CCP2X : 1; 3326 unsigned : 1; 3327 unsigned : 1; 3328 }; 3329 3330 struct 3331 { 3332 unsigned CCP2M : 4; 3333 unsigned : 4; 3334 }; 3335 3336 struct 3337 { 3338 unsigned : 4; 3339 unsigned DC2B : 2; 3340 unsigned : 2; 3341 }; 3342 } __CCP2CONbits_t; 3343 3344 extern __at(0x029A) volatile __CCP2CONbits_t CCP2CONbits; 3345 3346 #define _CCP2M0 0x01 3347 #define _CCP2M1 0x02 3348 #define _CCP2M2 0x04 3349 #define _CCP2M3 0x08 3350 #define _DC2B0 0x10 3351 #define _CCP2Y 0x10 3352 #define _DC2B1 0x20 3353 #define _CCP2X 0x20 3354 3355 //============================================================================== 3356 3357 3358 //============================================================================== 3359 // ECCP2CON Bits 3360 3361 extern __at(0x029A) __sfr ECCP2CON; 3362 3363 typedef union 3364 { 3365 struct 3366 { 3367 unsigned CCP2M0 : 1; 3368 unsigned CCP2M1 : 1; 3369 unsigned CCP2M2 : 1; 3370 unsigned CCP2M3 : 1; 3371 unsigned DC2B0 : 1; 3372 unsigned DC2B1 : 1; 3373 unsigned : 1; 3374 unsigned : 1; 3375 }; 3376 3377 struct 3378 { 3379 unsigned : 1; 3380 unsigned : 1; 3381 unsigned : 1; 3382 unsigned : 1; 3383 unsigned CCP2Y : 1; 3384 unsigned CCP2X : 1; 3385 unsigned : 1; 3386 unsigned : 1; 3387 }; 3388 3389 struct 3390 { 3391 unsigned CCP2M : 4; 3392 unsigned : 4; 3393 }; 3394 3395 struct 3396 { 3397 unsigned : 4; 3398 unsigned DC2B : 2; 3399 unsigned : 2; 3400 }; 3401 } __ECCP2CONbits_t; 3402 3403 extern __at(0x029A) volatile __ECCP2CONbits_t ECCP2CONbits; 3404 3405 #define _ECCP2CON_CCP2M0 0x01 3406 #define _ECCP2CON_CCP2M1 0x02 3407 #define _ECCP2CON_CCP2M2 0x04 3408 #define _ECCP2CON_CCP2M3 0x08 3409 #define _ECCP2CON_DC2B0 0x10 3410 #define _ECCP2CON_CCP2Y 0x10 3411 #define _ECCP2CON_DC2B1 0x20 3412 #define _ECCP2CON_CCP2X 0x20 3413 3414 //============================================================================== 3415 3416 3417 //============================================================================== 3418 // CCPTMRS Bits 3419 3420 extern __at(0x029E) __sfr CCPTMRS; 3421 3422 typedef union 3423 { 3424 struct 3425 { 3426 unsigned C1TSEL0 : 1; 3427 unsigned C1TSEL1 : 1; 3428 unsigned C2TSEL0 : 1; 3429 unsigned C2TSEL1 : 1; 3430 unsigned P3TSEL0 : 1; 3431 unsigned P3TSEL1 : 1; 3432 unsigned P4TSEL0 : 1; 3433 unsigned P4TSEL1 : 1; 3434 }; 3435 3436 struct 3437 { 3438 unsigned C1TSEL : 2; 3439 unsigned : 6; 3440 }; 3441 3442 struct 3443 { 3444 unsigned : 2; 3445 unsigned C2TSEL : 2; 3446 unsigned : 4; 3447 }; 3448 3449 struct 3450 { 3451 unsigned : 4; 3452 unsigned P3TSEL : 2; 3453 unsigned : 2; 3454 }; 3455 3456 struct 3457 { 3458 unsigned : 6; 3459 unsigned P4TSEL : 2; 3460 }; 3461 } __CCPTMRSbits_t; 3462 3463 extern __at(0x029E) volatile __CCPTMRSbits_t CCPTMRSbits; 3464 3465 #define _C1TSEL0 0x01 3466 #define _C1TSEL1 0x02 3467 #define _C2TSEL0 0x04 3468 #define _C2TSEL1 0x08 3469 #define _P3TSEL0 0x10 3470 #define _P3TSEL1 0x20 3471 #define _P4TSEL0 0x40 3472 #define _P4TSEL1 0x80 3473 3474 //============================================================================== 3475 3476 3477 //============================================================================== 3478 // SLRCONA Bits 3479 3480 extern __at(0x030C) __sfr SLRCONA; 3481 3482 typedef struct 3483 { 3484 unsigned SLRA0 : 1; 3485 unsigned SLRA1 : 1; 3486 unsigned SLRA2 : 1; 3487 unsigned : 1; 3488 unsigned SLRA4 : 1; 3489 unsigned SLRA5 : 1; 3490 unsigned : 1; 3491 unsigned : 1; 3492 } __SLRCONAbits_t; 3493 3494 extern __at(0x030C) volatile __SLRCONAbits_t SLRCONAbits; 3495 3496 #define _SLRA0 0x01 3497 #define _SLRA1 0x02 3498 #define _SLRA2 0x04 3499 #define _SLRA4 0x10 3500 #define _SLRA5 0x20 3501 3502 //============================================================================== 3503 3504 3505 //============================================================================== 3506 // SLRCONB Bits 3507 3508 extern __at(0x030D) __sfr SLRCONB; 3509 3510 typedef struct 3511 { 3512 unsigned : 1; 3513 unsigned : 1; 3514 unsigned : 1; 3515 unsigned : 1; 3516 unsigned SLRB4 : 1; 3517 unsigned SLRB5 : 1; 3518 unsigned SLRB6 : 1; 3519 unsigned SLRB7 : 1; 3520 } __SLRCONBbits_t; 3521 3522 extern __at(0x030D) volatile __SLRCONBbits_t SLRCONBbits; 3523 3524 #define _SLRB4 0x10 3525 #define _SLRB5 0x20 3526 #define _SLRB6 0x40 3527 #define _SLRB7 0x80 3528 3529 //============================================================================== 3530 3531 3532 //============================================================================== 3533 // SLRCONC Bits 3534 3535 extern __at(0x030E) __sfr SLRCONC; 3536 3537 typedef struct 3538 { 3539 unsigned SLRC0 : 1; 3540 unsigned SLRC1 : 1; 3541 unsigned SLRC2 : 1; 3542 unsigned SLRC3 : 1; 3543 unsigned SLRC4 : 1; 3544 unsigned SLRC5 : 1; 3545 unsigned SLRC6 : 1; 3546 unsigned SLRC7 : 1; 3547 } __SLRCONCbits_t; 3548 3549 extern __at(0x030E) volatile __SLRCONCbits_t SLRCONCbits; 3550 3551 #define _SLRC0 0x01 3552 #define _SLRC1 0x02 3553 #define _SLRC2 0x04 3554 #define _SLRC3 0x08 3555 #define _SLRC4 0x10 3556 #define _SLRC5 0x20 3557 #define _SLRC6 0x40 3558 #define _SLRC7 0x80 3559 3560 //============================================================================== 3561 3562 3563 //============================================================================== 3564 // INLVLA Bits 3565 3566 extern __at(0x038C) __sfr INLVLA; 3567 3568 typedef union 3569 { 3570 struct 3571 { 3572 unsigned INLVLA0 : 1; 3573 unsigned INLVLA1 : 1; 3574 unsigned INLVLA2 : 1; 3575 unsigned INLVLA3 : 1; 3576 unsigned INLVLA4 : 1; 3577 unsigned INLVLA5 : 1; 3578 unsigned : 1; 3579 unsigned : 1; 3580 }; 3581 3582 struct 3583 { 3584 unsigned INLVLA : 6; 3585 unsigned : 2; 3586 }; 3587 } __INLVLAbits_t; 3588 3589 extern __at(0x038C) volatile __INLVLAbits_t INLVLAbits; 3590 3591 #define _INLVLA0 0x01 3592 #define _INLVLA1 0x02 3593 #define _INLVLA2 0x04 3594 #define _INLVLA3 0x08 3595 #define _INLVLA4 0x10 3596 #define _INLVLA5 0x20 3597 3598 //============================================================================== 3599 3600 3601 //============================================================================== 3602 // INLVLB Bits 3603 3604 extern __at(0x038D) __sfr INLVLB; 3605 3606 typedef struct 3607 { 3608 unsigned : 1; 3609 unsigned : 1; 3610 unsigned : 1; 3611 unsigned : 1; 3612 unsigned INLVLB4 : 1; 3613 unsigned INLVLB5 : 1; 3614 unsigned INLVLB6 : 1; 3615 unsigned INLVLB7 : 1; 3616 } __INLVLBbits_t; 3617 3618 extern __at(0x038D) volatile __INLVLBbits_t INLVLBbits; 3619 3620 #define _INLVLB4 0x10 3621 #define _INLVLB5 0x20 3622 #define _INLVLB6 0x40 3623 #define _INLVLB7 0x80 3624 3625 //============================================================================== 3626 3627 3628 //============================================================================== 3629 // INLVLC Bits 3630 3631 extern __at(0x038E) __sfr INLVLC; 3632 3633 typedef struct 3634 { 3635 unsigned INLVLC0 : 1; 3636 unsigned INLVLC1 : 1; 3637 unsigned INLVLC2 : 1; 3638 unsigned INLVLC3 : 1; 3639 unsigned INLVLC4 : 1; 3640 unsigned INLVLC5 : 1; 3641 unsigned INLVLC6 : 1; 3642 unsigned INLVLC7 : 1; 3643 } __INLVLCbits_t; 3644 3645 extern __at(0x038E) volatile __INLVLCbits_t INLVLCbits; 3646 3647 #define _INLVLC0 0x01 3648 #define _INLVLC1 0x02 3649 #define _INLVLC2 0x04 3650 #define _INLVLC3 0x08 3651 #define _INLVLC4 0x10 3652 #define _INLVLC5 0x20 3653 #define _INLVLC6 0x40 3654 #define _INLVLC7 0x80 3655 3656 //============================================================================== 3657 3658 3659 //============================================================================== 3660 // IOCAP Bits 3661 3662 extern __at(0x0391) __sfr IOCAP; 3663 3664 typedef union 3665 { 3666 struct 3667 { 3668 unsigned IOCAP0 : 1; 3669 unsigned IOCAP1 : 1; 3670 unsigned IOCAP2 : 1; 3671 unsigned IOCAP3 : 1; 3672 unsigned IOCAP4 : 1; 3673 unsigned IOCAP5 : 1; 3674 unsigned : 1; 3675 unsigned : 1; 3676 }; 3677 3678 struct 3679 { 3680 unsigned IOCAP : 6; 3681 unsigned : 2; 3682 }; 3683 } __IOCAPbits_t; 3684 3685 extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits; 3686 3687 #define _IOCAP0 0x01 3688 #define _IOCAP1 0x02 3689 #define _IOCAP2 0x04 3690 #define _IOCAP3 0x08 3691 #define _IOCAP4 0x10 3692 #define _IOCAP5 0x20 3693 3694 //============================================================================== 3695 3696 3697 //============================================================================== 3698 // IOCAN Bits 3699 3700 extern __at(0x0392) __sfr IOCAN; 3701 3702 typedef union 3703 { 3704 struct 3705 { 3706 unsigned IOCAN0 : 1; 3707 unsigned IOCAN1 : 1; 3708 unsigned IOCAN2 : 1; 3709 unsigned IOCAN3 : 1; 3710 unsigned IOCAN4 : 1; 3711 unsigned IOCAN5 : 1; 3712 unsigned : 1; 3713 unsigned : 1; 3714 }; 3715 3716 struct 3717 { 3718 unsigned IOCAN : 6; 3719 unsigned : 2; 3720 }; 3721 } __IOCANbits_t; 3722 3723 extern __at(0x0392) volatile __IOCANbits_t IOCANbits; 3724 3725 #define _IOCAN0 0x01 3726 #define _IOCAN1 0x02 3727 #define _IOCAN2 0x04 3728 #define _IOCAN3 0x08 3729 #define _IOCAN4 0x10 3730 #define _IOCAN5 0x20 3731 3732 //============================================================================== 3733 3734 3735 //============================================================================== 3736 // IOCAF Bits 3737 3738 extern __at(0x0393) __sfr IOCAF; 3739 3740 typedef union 3741 { 3742 struct 3743 { 3744 unsigned IOCAF0 : 1; 3745 unsigned IOCAF1 : 1; 3746 unsigned IOCAF2 : 1; 3747 unsigned IOCAF3 : 1; 3748 unsigned IOCAF4 : 1; 3749 unsigned IOCAF5 : 1; 3750 unsigned : 1; 3751 unsigned : 1; 3752 }; 3753 3754 struct 3755 { 3756 unsigned IOCAF : 6; 3757 unsigned : 2; 3758 }; 3759 } __IOCAFbits_t; 3760 3761 extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits; 3762 3763 #define _IOCAF0 0x01 3764 #define _IOCAF1 0x02 3765 #define _IOCAF2 0x04 3766 #define _IOCAF3 0x08 3767 #define _IOCAF4 0x10 3768 #define _IOCAF5 0x20 3769 3770 //============================================================================== 3771 3772 3773 //============================================================================== 3774 // IOCBP Bits 3775 3776 extern __at(0x0394) __sfr IOCBP; 3777 3778 typedef struct 3779 { 3780 unsigned : 1; 3781 unsigned : 1; 3782 unsigned : 1; 3783 unsigned : 1; 3784 unsigned IOCBP4 : 1; 3785 unsigned IOCBP5 : 1; 3786 unsigned IOCBP6 : 1; 3787 unsigned IOCBP7 : 1; 3788 } __IOCBPbits_t; 3789 3790 extern __at(0x0394) volatile __IOCBPbits_t IOCBPbits; 3791 3792 #define _IOCBP4 0x10 3793 #define _IOCBP5 0x20 3794 #define _IOCBP6 0x40 3795 #define _IOCBP7 0x80 3796 3797 //============================================================================== 3798 3799 3800 //============================================================================== 3801 // IOCBN Bits 3802 3803 extern __at(0x0395) __sfr IOCBN; 3804 3805 typedef struct 3806 { 3807 unsigned : 1; 3808 unsigned : 1; 3809 unsigned : 1; 3810 unsigned : 1; 3811 unsigned IOCBN4 : 1; 3812 unsigned IOCBN5 : 1; 3813 unsigned IOCBN6 : 1; 3814 unsigned IOCBN7 : 1; 3815 } __IOCBNbits_t; 3816 3817 extern __at(0x0395) volatile __IOCBNbits_t IOCBNbits; 3818 3819 #define _IOCBN4 0x10 3820 #define _IOCBN5 0x20 3821 #define _IOCBN6 0x40 3822 #define _IOCBN7 0x80 3823 3824 //============================================================================== 3825 3826 3827 //============================================================================== 3828 // IOCBF Bits 3829 3830 extern __at(0x0396) __sfr IOCBF; 3831 3832 typedef struct 3833 { 3834 unsigned : 1; 3835 unsigned : 1; 3836 unsigned : 1; 3837 unsigned : 1; 3838 unsigned IOCBF4 : 1; 3839 unsigned IOCBF5 : 1; 3840 unsigned IOCBF6 : 1; 3841 unsigned IOCBF7 : 1; 3842 } __IOCBFbits_t; 3843 3844 extern __at(0x0396) volatile __IOCBFbits_t IOCBFbits; 3845 3846 #define _IOCBF4 0x10 3847 #define _IOCBF5 0x20 3848 #define _IOCBF6 0x40 3849 #define _IOCBF7 0x80 3850 3851 //============================================================================== 3852 3853 3854 //============================================================================== 3855 // IOCCP Bits 3856 3857 extern __at(0x0397) __sfr IOCCP; 3858 3859 typedef struct 3860 { 3861 unsigned IOCCP0 : 1; 3862 unsigned IOCCP1 : 1; 3863 unsigned IOCCP2 : 1; 3864 unsigned IOCCP3 : 1; 3865 unsigned IOCCP4 : 1; 3866 unsigned IOCCP5 : 1; 3867 unsigned IOCCP6 : 1; 3868 unsigned IOCCP7 : 1; 3869 } __IOCCPbits_t; 3870 3871 extern __at(0x0397) volatile __IOCCPbits_t IOCCPbits; 3872 3873 #define _IOCCP0 0x01 3874 #define _IOCCP1 0x02 3875 #define _IOCCP2 0x04 3876 #define _IOCCP3 0x08 3877 #define _IOCCP4 0x10 3878 #define _IOCCP5 0x20 3879 #define _IOCCP6 0x40 3880 #define _IOCCP7 0x80 3881 3882 //============================================================================== 3883 3884 3885 //============================================================================== 3886 // IOCCN Bits 3887 3888 extern __at(0x0398) __sfr IOCCN; 3889 3890 typedef struct 3891 { 3892 unsigned IOCCN0 : 1; 3893 unsigned IOCCN1 : 1; 3894 unsigned IOCCN2 : 1; 3895 unsigned IOCCN3 : 1; 3896 unsigned IOCCN4 : 1; 3897 unsigned IOCCN5 : 1; 3898 unsigned IOCCN6 : 1; 3899 unsigned IOCCN7 : 1; 3900 } __IOCCNbits_t; 3901 3902 extern __at(0x0398) volatile __IOCCNbits_t IOCCNbits; 3903 3904 #define _IOCCN0 0x01 3905 #define _IOCCN1 0x02 3906 #define _IOCCN2 0x04 3907 #define _IOCCN3 0x08 3908 #define _IOCCN4 0x10 3909 #define _IOCCN5 0x20 3910 #define _IOCCN6 0x40 3911 #define _IOCCN7 0x80 3912 3913 //============================================================================== 3914 3915 3916 //============================================================================== 3917 // IOCCF Bits 3918 3919 extern __at(0x0399) __sfr IOCCF; 3920 3921 typedef struct 3922 { 3923 unsigned IOCCF0 : 1; 3924 unsigned IOCCF1 : 1; 3925 unsigned IOCCF2 : 1; 3926 unsigned IOCCF3 : 1; 3927 unsigned IOCCF4 : 1; 3928 unsigned IOCCF5 : 1; 3929 unsigned IOCCF6 : 1; 3930 unsigned IOCCF7 : 1; 3931 } __IOCCFbits_t; 3932 3933 extern __at(0x0399) volatile __IOCCFbits_t IOCCFbits; 3934 3935 #define _IOCCF0 0x01 3936 #define _IOCCF1 0x02 3937 #define _IOCCF2 0x04 3938 #define _IOCCF3 0x08 3939 #define _IOCCF4 0x10 3940 #define _IOCCF5 0x20 3941 #define _IOCCF6 0x40 3942 #define _IOCCF7 0x80 3943 3944 //============================================================================== 3945 3946 extern __at(0x0415) __sfr TMR4; 3947 extern __at(0x0416) __sfr PR4; 3948 3949 //============================================================================== 3950 // T4CON Bits 3951 3952 extern __at(0x0417) __sfr T4CON; 3953 3954 typedef union 3955 { 3956 struct 3957 { 3958 unsigned T4CKPS0 : 1; 3959 unsigned T4CKPS1 : 1; 3960 unsigned TMR4ON : 1; 3961 unsigned T4OUTPS0 : 1; 3962 unsigned T4OUTPS1 : 1; 3963 unsigned T4OUTPS2 : 1; 3964 unsigned T4OUTPS3 : 1; 3965 unsigned : 1; 3966 }; 3967 3968 struct 3969 { 3970 unsigned T4CKPS : 2; 3971 unsigned : 6; 3972 }; 3973 3974 struct 3975 { 3976 unsigned : 3; 3977 unsigned T4OUTPS : 4; 3978 unsigned : 1; 3979 }; 3980 } __T4CONbits_t; 3981 3982 extern __at(0x0417) volatile __T4CONbits_t T4CONbits; 3983 3984 #define _T4CKPS0 0x01 3985 #define _T4CKPS1 0x02 3986 #define _TMR4ON 0x04 3987 #define _T4OUTPS0 0x08 3988 #define _T4OUTPS1 0x10 3989 #define _T4OUTPS2 0x20 3990 #define _T4OUTPS3 0x40 3991 3992 //============================================================================== 3993 3994 extern __at(0x041C) __sfr TMR6; 3995 extern __at(0x041D) __sfr PR6; 3996 3997 //============================================================================== 3998 // T6CON Bits 3999 4000 extern __at(0x041E) __sfr T6CON; 4001 4002 typedef union 4003 { 4004 struct 4005 { 4006 unsigned T6CKPS0 : 1; 4007 unsigned T6CKPS1 : 1; 4008 unsigned TMR6ON : 1; 4009 unsigned T6OUTPS0 : 1; 4010 unsigned T6OUTPS1 : 1; 4011 unsigned T6OUTPS2 : 1; 4012 unsigned T6OUTPS3 : 1; 4013 unsigned : 1; 4014 }; 4015 4016 struct 4017 { 4018 unsigned T6CKPS : 2; 4019 unsigned : 6; 4020 }; 4021 4022 struct 4023 { 4024 unsigned : 3; 4025 unsigned T6OUTPS : 4; 4026 unsigned : 1; 4027 }; 4028 } __T6CONbits_t; 4029 4030 extern __at(0x041E) volatile __T6CONbits_t T6CONbits; 4031 4032 #define _T6CKPS0 0x01 4033 #define _T6CKPS1 0x02 4034 #define _TMR6ON 0x04 4035 #define _T6OUTPS0 0x08 4036 #define _T6OUTPS1 0x10 4037 #define _T6OUTPS2 0x20 4038 #define _T6OUTPS3 0x40 4039 4040 //============================================================================== 4041 4042 4043 //============================================================================== 4044 // OPA1CON Bits 4045 4046 extern __at(0x0511) __sfr OPA1CON; 4047 4048 typedef union 4049 { 4050 struct 4051 { 4052 unsigned OPA1PCH0 : 1; 4053 unsigned OPA1PCH1 : 1; 4054 unsigned : 1; 4055 unsigned : 1; 4056 unsigned OPA1UG : 1; 4057 unsigned : 1; 4058 unsigned OPA1SP : 1; 4059 unsigned OPA1EN : 1; 4060 }; 4061 4062 struct 4063 { 4064 unsigned OPA1PCH : 2; 4065 unsigned : 6; 4066 }; 4067 } __OPA1CONbits_t; 4068 4069 extern __at(0x0511) volatile __OPA1CONbits_t OPA1CONbits; 4070 4071 #define _OPA1PCH0 0x01 4072 #define _OPA1PCH1 0x02 4073 #define _OPA1UG 0x10 4074 #define _OPA1SP 0x40 4075 #define _OPA1EN 0x80 4076 4077 //============================================================================== 4078 4079 4080 //============================================================================== 4081 // OPA2CON Bits 4082 4083 extern __at(0x0515) __sfr OPA2CON; 4084 4085 typedef union 4086 { 4087 struct 4088 { 4089 unsigned OPA2PCH0 : 1; 4090 unsigned OPA2PCH1 : 1; 4091 unsigned : 1; 4092 unsigned : 1; 4093 unsigned OPA2UG : 1; 4094 unsigned : 1; 4095 unsigned OPA2SP : 1; 4096 unsigned OPA2EN : 1; 4097 }; 4098 4099 struct 4100 { 4101 unsigned OPA2PCH : 2; 4102 unsigned : 6; 4103 }; 4104 } __OPA2CONbits_t; 4105 4106 extern __at(0x0515) volatile __OPA2CONbits_t OPA2CONbits; 4107 4108 #define _OPA2PCH0 0x01 4109 #define _OPA2PCH1 0x02 4110 #define _OPA2UG 0x10 4111 #define _OPA2SP 0x40 4112 #define _OPA2EN 0x80 4113 4114 //============================================================================== 4115 4116 4117 //============================================================================== 4118 // PWM3DCL Bits 4119 4120 extern __at(0x0617) __sfr PWM3DCL; 4121 4122 typedef union 4123 { 4124 struct 4125 { 4126 unsigned : 1; 4127 unsigned : 1; 4128 unsigned : 1; 4129 unsigned : 1; 4130 unsigned : 1; 4131 unsigned : 1; 4132 unsigned PWM3DCL0 : 1; 4133 unsigned PWM3DCL1 : 1; 4134 }; 4135 4136 struct 4137 { 4138 unsigned : 6; 4139 unsigned PWM3DCL : 2; 4140 }; 4141 } __PWM3DCLbits_t; 4142 4143 extern __at(0x0617) volatile __PWM3DCLbits_t PWM3DCLbits; 4144 4145 #define _PWM3DCL0 0x40 4146 #define _PWM3DCL1 0x80 4147 4148 //============================================================================== 4149 4150 4151 //============================================================================== 4152 // PWM3DCH Bits 4153 4154 extern __at(0x0618) __sfr PWM3DCH; 4155 4156 typedef struct 4157 { 4158 unsigned PWM3DCH0 : 1; 4159 unsigned PWM3DCH1 : 1; 4160 unsigned PWM3DCH2 : 1; 4161 unsigned PWM3DCH3 : 1; 4162 unsigned PWM3DCH4 : 1; 4163 unsigned PWM3DCH5 : 1; 4164 unsigned PWM3DCH6 : 1; 4165 unsigned PWM3DCH7 : 1; 4166 } __PWM3DCHbits_t; 4167 4168 extern __at(0x0618) volatile __PWM3DCHbits_t PWM3DCHbits; 4169 4170 #define _PWM3DCH0 0x01 4171 #define _PWM3DCH1 0x02 4172 #define _PWM3DCH2 0x04 4173 #define _PWM3DCH3 0x08 4174 #define _PWM3DCH4 0x10 4175 #define _PWM3DCH5 0x20 4176 #define _PWM3DCH6 0x40 4177 #define _PWM3DCH7 0x80 4178 4179 //============================================================================== 4180 4181 4182 //============================================================================== 4183 // PWM3CON Bits 4184 4185 extern __at(0x0619) __sfr PWM3CON; 4186 4187 typedef struct 4188 { 4189 unsigned : 1; 4190 unsigned : 1; 4191 unsigned : 1; 4192 unsigned : 1; 4193 unsigned PWM3POL : 1; 4194 unsigned PWM3OUT : 1; 4195 unsigned : 1; 4196 unsigned PWM3EN : 1; 4197 } __PWM3CONbits_t; 4198 4199 extern __at(0x0619) volatile __PWM3CONbits_t PWM3CONbits; 4200 4201 #define _PWM3POL 0x10 4202 #define _PWM3OUT 0x20 4203 #define _PWM3EN 0x80 4204 4205 //============================================================================== 4206 4207 4208 //============================================================================== 4209 // PWM3CON0 Bits 4210 4211 extern __at(0x0619) __sfr PWM3CON0; 4212 4213 typedef struct 4214 { 4215 unsigned : 1; 4216 unsigned : 1; 4217 unsigned : 1; 4218 unsigned : 1; 4219 unsigned PWM3POL : 1; 4220 unsigned PWM3OUT : 1; 4221 unsigned : 1; 4222 unsigned PWM3EN : 1; 4223 } __PWM3CON0bits_t; 4224 4225 extern __at(0x0619) volatile __PWM3CON0bits_t PWM3CON0bits; 4226 4227 #define _PWM3CON0_PWM3POL 0x10 4228 #define _PWM3CON0_PWM3OUT 0x20 4229 #define _PWM3CON0_PWM3EN 0x80 4230 4231 //============================================================================== 4232 4233 4234 //============================================================================== 4235 // PWM4DCL Bits 4236 4237 extern __at(0x061A) __sfr PWM4DCL; 4238 4239 typedef union 4240 { 4241 struct 4242 { 4243 unsigned : 1; 4244 unsigned : 1; 4245 unsigned : 1; 4246 unsigned : 1; 4247 unsigned : 1; 4248 unsigned : 1; 4249 unsigned PWM4DCL0 : 1; 4250 unsigned PWM4DCL1 : 1; 4251 }; 4252 4253 struct 4254 { 4255 unsigned : 6; 4256 unsigned PWM4DCL : 2; 4257 }; 4258 } __PWM4DCLbits_t; 4259 4260 extern __at(0x061A) volatile __PWM4DCLbits_t PWM4DCLbits; 4261 4262 #define _PWM4DCL0 0x40 4263 #define _PWM4DCL1 0x80 4264 4265 //============================================================================== 4266 4267 4268 //============================================================================== 4269 // PWM4DCH Bits 4270 4271 extern __at(0x061B) __sfr PWM4DCH; 4272 4273 typedef struct 4274 { 4275 unsigned PWM4DCH0 : 1; 4276 unsigned PWM4DCH1 : 1; 4277 unsigned PWM4DCH2 : 1; 4278 unsigned PWM4DCH3 : 1; 4279 unsigned PWM4DCH4 : 1; 4280 unsigned PWM4DCH5 : 1; 4281 unsigned PWM4DCH6 : 1; 4282 unsigned PWM4DCH7 : 1; 4283 } __PWM4DCHbits_t; 4284 4285 extern __at(0x061B) volatile __PWM4DCHbits_t PWM4DCHbits; 4286 4287 #define _PWM4DCH0 0x01 4288 #define _PWM4DCH1 0x02 4289 #define _PWM4DCH2 0x04 4290 #define _PWM4DCH3 0x08 4291 #define _PWM4DCH4 0x10 4292 #define _PWM4DCH5 0x20 4293 #define _PWM4DCH6 0x40 4294 #define _PWM4DCH7 0x80 4295 4296 //============================================================================== 4297 4298 4299 //============================================================================== 4300 // PWM4CON Bits 4301 4302 extern __at(0x061C) __sfr PWM4CON; 4303 4304 typedef struct 4305 { 4306 unsigned : 1; 4307 unsigned : 1; 4308 unsigned : 1; 4309 unsigned : 1; 4310 unsigned PWM4POL : 1; 4311 unsigned PWM4OUT : 1; 4312 unsigned : 1; 4313 unsigned PWM4EN : 1; 4314 } __PWM4CONbits_t; 4315 4316 extern __at(0x061C) volatile __PWM4CONbits_t PWM4CONbits; 4317 4318 #define _PWM4POL 0x10 4319 #define _PWM4OUT 0x20 4320 #define _PWM4EN 0x80 4321 4322 //============================================================================== 4323 4324 4325 //============================================================================== 4326 // PWM4CON0 Bits 4327 4328 extern __at(0x061C) __sfr PWM4CON0; 4329 4330 typedef struct 4331 { 4332 unsigned : 1; 4333 unsigned : 1; 4334 unsigned : 1; 4335 unsigned : 1; 4336 unsigned PWM4POL : 1; 4337 unsigned PWM4OUT : 1; 4338 unsigned : 1; 4339 unsigned PWM4EN : 1; 4340 } __PWM4CON0bits_t; 4341 4342 extern __at(0x061C) volatile __PWM4CON0bits_t PWM4CON0bits; 4343 4344 #define _PWM4CON0_PWM4POL 0x10 4345 #define _PWM4CON0_PWM4OUT 0x20 4346 #define _PWM4CON0_PWM4EN 0x80 4347 4348 //============================================================================== 4349 4350 4351 //============================================================================== 4352 // COG1PHR Bits 4353 4354 extern __at(0x0691) __sfr COG1PHR; 4355 4356 typedef union 4357 { 4358 struct 4359 { 4360 unsigned G1PHR0 : 1; 4361 unsigned G1PHR1 : 1; 4362 unsigned G1PHR2 : 1; 4363 unsigned G1PHR3 : 1; 4364 unsigned G1PHR4 : 1; 4365 unsigned G1PHR5 : 1; 4366 unsigned : 1; 4367 unsigned : 1; 4368 }; 4369 4370 struct 4371 { 4372 unsigned G1PHR : 6; 4373 unsigned : 2; 4374 }; 4375 } __COG1PHRbits_t; 4376 4377 extern __at(0x0691) volatile __COG1PHRbits_t COG1PHRbits; 4378 4379 #define _G1PHR0 0x01 4380 #define _G1PHR1 0x02 4381 #define _G1PHR2 0x04 4382 #define _G1PHR3 0x08 4383 #define _G1PHR4 0x10 4384 #define _G1PHR5 0x20 4385 4386 //============================================================================== 4387 4388 4389 //============================================================================== 4390 // COG1PHF Bits 4391 4392 extern __at(0x0692) __sfr COG1PHF; 4393 4394 typedef union 4395 { 4396 struct 4397 { 4398 unsigned G1PHF0 : 1; 4399 unsigned G1PHF1 : 1; 4400 unsigned G1PHF2 : 1; 4401 unsigned G1PHF3 : 1; 4402 unsigned G1PHF4 : 1; 4403 unsigned G1PHF5 : 1; 4404 unsigned : 1; 4405 unsigned : 1; 4406 }; 4407 4408 struct 4409 { 4410 unsigned G1PHF : 6; 4411 unsigned : 2; 4412 }; 4413 } __COG1PHFbits_t; 4414 4415 extern __at(0x0692) volatile __COG1PHFbits_t COG1PHFbits; 4416 4417 #define _G1PHF0 0x01 4418 #define _G1PHF1 0x02 4419 #define _G1PHF2 0x04 4420 #define _G1PHF3 0x08 4421 #define _G1PHF4 0x10 4422 #define _G1PHF5 0x20 4423 4424 //============================================================================== 4425 4426 4427 //============================================================================== 4428 // COG1BLKR Bits 4429 4430 extern __at(0x0693) __sfr COG1BLKR; 4431 4432 typedef union 4433 { 4434 struct 4435 { 4436 unsigned G1BLKR0 : 1; 4437 unsigned G1BLKR1 : 1; 4438 unsigned G1BLKR2 : 1; 4439 unsigned G1BLKR3 : 1; 4440 unsigned G1BLKR4 : 1; 4441 unsigned G1BLKR5 : 1; 4442 unsigned : 1; 4443 unsigned : 1; 4444 }; 4445 4446 struct 4447 { 4448 unsigned G1BLKR : 6; 4449 unsigned : 2; 4450 }; 4451 } __COG1BLKRbits_t; 4452 4453 extern __at(0x0693) volatile __COG1BLKRbits_t COG1BLKRbits; 4454 4455 #define _G1BLKR0 0x01 4456 #define _G1BLKR1 0x02 4457 #define _G1BLKR2 0x04 4458 #define _G1BLKR3 0x08 4459 #define _G1BLKR4 0x10 4460 #define _G1BLKR5 0x20 4461 4462 //============================================================================== 4463 4464 4465 //============================================================================== 4466 // COG1BLKF Bits 4467 4468 extern __at(0x0694) __sfr COG1BLKF; 4469 4470 typedef union 4471 { 4472 struct 4473 { 4474 unsigned G1BLKF0 : 1; 4475 unsigned G1BLKF1 : 1; 4476 unsigned G1BLKF2 : 1; 4477 unsigned G1BLKF3 : 1; 4478 unsigned G1BLKF4 : 1; 4479 unsigned G1BLKF5 : 1; 4480 unsigned : 1; 4481 unsigned : 1; 4482 }; 4483 4484 struct 4485 { 4486 unsigned G1BLKF : 6; 4487 unsigned : 2; 4488 }; 4489 } __COG1BLKFbits_t; 4490 4491 extern __at(0x0694) volatile __COG1BLKFbits_t COG1BLKFbits; 4492 4493 #define _G1BLKF0 0x01 4494 #define _G1BLKF1 0x02 4495 #define _G1BLKF2 0x04 4496 #define _G1BLKF3 0x08 4497 #define _G1BLKF4 0x10 4498 #define _G1BLKF5 0x20 4499 4500 //============================================================================== 4501 4502 4503 //============================================================================== 4504 // COG1DBR Bits 4505 4506 extern __at(0x0695) __sfr COG1DBR; 4507 4508 typedef union 4509 { 4510 struct 4511 { 4512 unsigned G1DBR0 : 1; 4513 unsigned G1DBR1 : 1; 4514 unsigned G1DBR2 : 1; 4515 unsigned G1DBR3 : 1; 4516 unsigned G1DBR4 : 1; 4517 unsigned G1DBR5 : 1; 4518 unsigned : 1; 4519 unsigned : 1; 4520 }; 4521 4522 struct 4523 { 4524 unsigned G1DBR : 6; 4525 unsigned : 2; 4526 }; 4527 } __COG1DBRbits_t; 4528 4529 extern __at(0x0695) volatile __COG1DBRbits_t COG1DBRbits; 4530 4531 #define _G1DBR0 0x01 4532 #define _G1DBR1 0x02 4533 #define _G1DBR2 0x04 4534 #define _G1DBR3 0x08 4535 #define _G1DBR4 0x10 4536 #define _G1DBR5 0x20 4537 4538 //============================================================================== 4539 4540 4541 //============================================================================== 4542 // COG1DBF Bits 4543 4544 extern __at(0x0696) __sfr COG1DBF; 4545 4546 typedef union 4547 { 4548 struct 4549 { 4550 unsigned G1DBF0 : 1; 4551 unsigned G1DBF1 : 1; 4552 unsigned G1DBF2 : 1; 4553 unsigned G1DBF3 : 1; 4554 unsigned G1DBF4 : 1; 4555 unsigned G1DBF5 : 1; 4556 unsigned : 1; 4557 unsigned : 1; 4558 }; 4559 4560 struct 4561 { 4562 unsigned G1DBF : 6; 4563 unsigned : 2; 4564 }; 4565 } __COG1DBFbits_t; 4566 4567 extern __at(0x0696) volatile __COG1DBFbits_t COG1DBFbits; 4568 4569 #define _G1DBF0 0x01 4570 #define _G1DBF1 0x02 4571 #define _G1DBF2 0x04 4572 #define _G1DBF3 0x08 4573 #define _G1DBF4 0x10 4574 #define _G1DBF5 0x20 4575 4576 //============================================================================== 4577 4578 4579 //============================================================================== 4580 // COG1CON0 Bits 4581 4582 extern __at(0x0697) __sfr COG1CON0; 4583 4584 typedef union 4585 { 4586 struct 4587 { 4588 unsigned G1MD0 : 1; 4589 unsigned G1MD1 : 1; 4590 unsigned G1MD2 : 1; 4591 unsigned G1CS0 : 1; 4592 unsigned G1CS1 : 1; 4593 unsigned : 1; 4594 unsigned G1LD : 1; 4595 unsigned G1EN : 1; 4596 }; 4597 4598 struct 4599 { 4600 unsigned G1MD : 3; 4601 unsigned : 5; 4602 }; 4603 4604 struct 4605 { 4606 unsigned : 3; 4607 unsigned G1CS : 2; 4608 unsigned : 3; 4609 }; 4610 } __COG1CON0bits_t; 4611 4612 extern __at(0x0697) volatile __COG1CON0bits_t COG1CON0bits; 4613 4614 #define _G1MD0 0x01 4615 #define _G1MD1 0x02 4616 #define _G1MD2 0x04 4617 #define _G1CS0 0x08 4618 #define _G1CS1 0x10 4619 #define _G1LD 0x40 4620 #define _G1EN 0x80 4621 4622 //============================================================================== 4623 4624 4625 //============================================================================== 4626 // COG1CON1 Bits 4627 4628 extern __at(0x0698) __sfr COG1CON1; 4629 4630 typedef struct 4631 { 4632 unsigned G1POLA : 1; 4633 unsigned G1POLB : 1; 4634 unsigned G1POLC : 1; 4635 unsigned G1POLD : 1; 4636 unsigned : 1; 4637 unsigned : 1; 4638 unsigned G1FDBS : 1; 4639 unsigned G1RDBS : 1; 4640 } __COG1CON1bits_t; 4641 4642 extern __at(0x0698) volatile __COG1CON1bits_t COG1CON1bits; 4643 4644 #define _G1POLA 0x01 4645 #define _G1POLB 0x02 4646 #define _G1POLC 0x04 4647 #define _G1POLD 0x08 4648 #define _G1FDBS 0x40 4649 #define _G1RDBS 0x80 4650 4651 //============================================================================== 4652 4653 4654 //============================================================================== 4655 // COG1RIS Bits 4656 4657 extern __at(0x0699) __sfr COG1RIS; 4658 4659 typedef union 4660 { 4661 struct 4662 { 4663 unsigned G1RIS0 : 1; 4664 unsigned G1RIS1 : 1; 4665 unsigned G1RIS2 : 1; 4666 unsigned G1RIS3 : 1; 4667 unsigned G1RIS4 : 1; 4668 unsigned G1RIS5 : 1; 4669 unsigned G1RIS6 : 1; 4670 unsigned : 1; 4671 }; 4672 4673 struct 4674 { 4675 unsigned G1RIS : 7; 4676 unsigned : 1; 4677 }; 4678 } __COG1RISbits_t; 4679 4680 extern __at(0x0699) volatile __COG1RISbits_t COG1RISbits; 4681 4682 #define _G1RIS0 0x01 4683 #define _G1RIS1 0x02 4684 #define _G1RIS2 0x04 4685 #define _G1RIS3 0x08 4686 #define _G1RIS4 0x10 4687 #define _G1RIS5 0x20 4688 #define _G1RIS6 0x40 4689 4690 //============================================================================== 4691 4692 4693 //============================================================================== 4694 // COG1RSIM Bits 4695 4696 extern __at(0x069A) __sfr COG1RSIM; 4697 4698 typedef union 4699 { 4700 struct 4701 { 4702 unsigned G1RSIM0 : 1; 4703 unsigned G1RSIM1 : 1; 4704 unsigned G1RSIM2 : 1; 4705 unsigned G1RSIM3 : 1; 4706 unsigned G1RSIM4 : 1; 4707 unsigned G1RSIM5 : 1; 4708 unsigned G1RSIM6 : 1; 4709 unsigned : 1; 4710 }; 4711 4712 struct 4713 { 4714 unsigned G1RSIM : 7; 4715 unsigned : 1; 4716 }; 4717 } __COG1RSIMbits_t; 4718 4719 extern __at(0x069A) volatile __COG1RSIMbits_t COG1RSIMbits; 4720 4721 #define _G1RSIM0 0x01 4722 #define _G1RSIM1 0x02 4723 #define _G1RSIM2 0x04 4724 #define _G1RSIM3 0x08 4725 #define _G1RSIM4 0x10 4726 #define _G1RSIM5 0x20 4727 #define _G1RSIM6 0x40 4728 4729 //============================================================================== 4730 4731 4732 //============================================================================== 4733 // COG1FIS Bits 4734 4735 extern __at(0x069B) __sfr COG1FIS; 4736 4737 typedef union 4738 { 4739 struct 4740 { 4741 unsigned G1FIS0 : 1; 4742 unsigned G1FIS1 : 1; 4743 unsigned G1FIS2 : 1; 4744 unsigned G1FIS3 : 1; 4745 unsigned G1FIS4 : 1; 4746 unsigned G1FIS5 : 1; 4747 unsigned G1FIS6 : 1; 4748 unsigned : 1; 4749 }; 4750 4751 struct 4752 { 4753 unsigned G1FIS : 7; 4754 unsigned : 1; 4755 }; 4756 } __COG1FISbits_t; 4757 4758 extern __at(0x069B) volatile __COG1FISbits_t COG1FISbits; 4759 4760 #define _G1FIS0 0x01 4761 #define _G1FIS1 0x02 4762 #define _G1FIS2 0x04 4763 #define _G1FIS3 0x08 4764 #define _G1FIS4 0x10 4765 #define _G1FIS5 0x20 4766 #define _G1FIS6 0x40 4767 4768 //============================================================================== 4769 4770 4771 //============================================================================== 4772 // COG1FSIM Bits 4773 4774 extern __at(0x069C) __sfr COG1FSIM; 4775 4776 typedef union 4777 { 4778 struct 4779 { 4780 unsigned G1FSIM0 : 1; 4781 unsigned G1FSIM1 : 1; 4782 unsigned G1FSIM2 : 1; 4783 unsigned G1FSIM3 : 1; 4784 unsigned G1FSIM4 : 1; 4785 unsigned G1FSIM5 : 1; 4786 unsigned G1FSIM6 : 1; 4787 unsigned : 1; 4788 }; 4789 4790 struct 4791 { 4792 unsigned G1FSIM : 7; 4793 unsigned : 1; 4794 }; 4795 } __COG1FSIMbits_t; 4796 4797 extern __at(0x069C) volatile __COG1FSIMbits_t COG1FSIMbits; 4798 4799 #define _G1FSIM0 0x01 4800 #define _G1FSIM1 0x02 4801 #define _G1FSIM2 0x04 4802 #define _G1FSIM3 0x08 4803 #define _G1FSIM4 0x10 4804 #define _G1FSIM5 0x20 4805 #define _G1FSIM6 0x40 4806 4807 //============================================================================== 4808 4809 4810 //============================================================================== 4811 // COG1ASD0 Bits 4812 4813 extern __at(0x069D) __sfr COG1ASD0; 4814 4815 typedef union 4816 { 4817 struct 4818 { 4819 unsigned : 1; 4820 unsigned : 1; 4821 unsigned G1ASDAC0 : 1; 4822 unsigned G1ASDAC1 : 1; 4823 unsigned G1ASDBD0 : 1; 4824 unsigned G1ASDBD1 : 1; 4825 unsigned G1ARSEN : 1; 4826 unsigned G1ASE : 1; 4827 }; 4828 4829 struct 4830 { 4831 unsigned : 2; 4832 unsigned G1ASDAC : 2; 4833 unsigned : 4; 4834 }; 4835 4836 struct 4837 { 4838 unsigned : 4; 4839 unsigned G1ASDBD : 2; 4840 unsigned : 2; 4841 }; 4842 } __COG1ASD0bits_t; 4843 4844 extern __at(0x069D) volatile __COG1ASD0bits_t COG1ASD0bits; 4845 4846 #define _G1ASDAC0 0x04 4847 #define _G1ASDAC1 0x08 4848 #define _G1ASDBD0 0x10 4849 #define _G1ASDBD1 0x20 4850 #define _G1ARSEN 0x40 4851 #define _G1ASE 0x80 4852 4853 //============================================================================== 4854 4855 4856 //============================================================================== 4857 // COG1ASD1 Bits 4858 4859 extern __at(0x069E) __sfr COG1ASD1; 4860 4861 typedef struct 4862 { 4863 unsigned G1AS0E : 1; 4864 unsigned G1AS1E : 1; 4865 unsigned G1AS2E : 1; 4866 unsigned G1AS3E : 1; 4867 unsigned : 1; 4868 unsigned : 1; 4869 unsigned : 1; 4870 unsigned : 1; 4871 } __COG1ASD1bits_t; 4872 4873 extern __at(0x069E) volatile __COG1ASD1bits_t COG1ASD1bits; 4874 4875 #define _G1AS0E 0x01 4876 #define _G1AS1E 0x02 4877 #define _G1AS2E 0x04 4878 #define _G1AS3E 0x08 4879 4880 //============================================================================== 4881 4882 4883 //============================================================================== 4884 // COG1STR Bits 4885 4886 extern __at(0x069F) __sfr COG1STR; 4887 4888 typedef struct 4889 { 4890 unsigned G1STRA : 1; 4891 unsigned G1STRB : 1; 4892 unsigned G1STRC : 1; 4893 unsigned G1STRD : 1; 4894 unsigned G1SDATA : 1; 4895 unsigned G1SDATB : 1; 4896 unsigned G1SDATC : 1; 4897 unsigned G1SDATD : 1; 4898 } __COG1STRbits_t; 4899 4900 extern __at(0x069F) volatile __COG1STRbits_t COG1STRbits; 4901 4902 #define _G1STRA 0x01 4903 #define _G1STRB 0x02 4904 #define _G1STRC 0x04 4905 #define _G1STRD 0x08 4906 #define _G1SDATA 0x10 4907 #define _G1SDATB 0x20 4908 #define _G1SDATC 0x40 4909 #define _G1SDATD 0x80 4910 4911 //============================================================================== 4912 4913 4914 //============================================================================== 4915 // PPSLOCK Bits 4916 4917 extern __at(0x0E0F) __sfr PPSLOCK; 4918 4919 typedef struct 4920 { 4921 unsigned PPSLOCKED : 1; 4922 unsigned : 1; 4923 unsigned : 1; 4924 unsigned : 1; 4925 unsigned : 1; 4926 unsigned : 1; 4927 unsigned : 1; 4928 unsigned : 1; 4929 } __PPSLOCKbits_t; 4930 4931 extern __at(0x0E0F) volatile __PPSLOCKbits_t PPSLOCKbits; 4932 4933 #define _PPSLOCKED 0x01 4934 4935 //============================================================================== 4936 4937 extern __at(0x0E10) __sfr INTPPS; 4938 extern __at(0x0E11) __sfr T0CKIPPS; 4939 extern __at(0x0E12) __sfr T1CKIPPS; 4940 extern __at(0x0E13) __sfr T1GPPS; 4941 extern __at(0x0E14) __sfr CCP1PPS; 4942 extern __at(0x0E15) __sfr CCP2PPS; 4943 extern __at(0x0E17) __sfr COGINPPS; 4944 extern __at(0x0E20) __sfr SSPCLKPPS; 4945 extern __at(0x0E21) __sfr SSPDATPPS; 4946 extern __at(0x0E22) __sfr SSPSSPPS; 4947 extern __at(0x0E24) __sfr RXPPS; 4948 extern __at(0x0E25) __sfr CKPPS; 4949 extern __at(0x0E28) __sfr CLCIN0PPS; 4950 extern __at(0x0E29) __sfr CLCIN1PPS; 4951 extern __at(0x0E2A) __sfr CLCIN2PPS; 4952 extern __at(0x0E2B) __sfr CLCIN3PPS; 4953 extern __at(0x0E90) __sfr RA0PPS; 4954 extern __at(0x0E91) __sfr RA1PPS; 4955 extern __at(0x0E92) __sfr RA2PPS; 4956 extern __at(0x0E94) __sfr RA4PPS; 4957 extern __at(0x0E95) __sfr RA5PPS; 4958 extern __at(0x0E9C) __sfr RB4PPS; 4959 extern __at(0x0E9D) __sfr RB5PPS; 4960 extern __at(0x0E9E) __sfr RB6PPS; 4961 extern __at(0x0E9F) __sfr RB7PPS; 4962 extern __at(0x0EA0) __sfr RC0PPS; 4963 extern __at(0x0EA1) __sfr RC1PPS; 4964 extern __at(0x0EA2) __sfr RC2PPS; 4965 extern __at(0x0EA3) __sfr RC3PPS; 4966 extern __at(0x0EA4) __sfr RC4PPS; 4967 extern __at(0x0EA5) __sfr RC5PPS; 4968 extern __at(0x0EA6) __sfr RC6PPS; 4969 extern __at(0x0EA7) __sfr RC7PPS; 4970 4971 //============================================================================== 4972 // CLCDATA Bits 4973 4974 extern __at(0x0F0F) __sfr CLCDATA; 4975 4976 typedef struct 4977 { 4978 unsigned MCLC1OUT : 1; 4979 unsigned MCLC2OUT : 1; 4980 unsigned MCLC3OUT : 1; 4981 unsigned : 1; 4982 unsigned : 1; 4983 unsigned : 1; 4984 unsigned : 1; 4985 unsigned : 1; 4986 } __CLCDATAbits_t; 4987 4988 extern __at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits; 4989 4990 #define _MCLC1OUT 0x01 4991 #define _MCLC2OUT 0x02 4992 #define _MCLC3OUT 0x04 4993 4994 //============================================================================== 4995 4996 4997 //============================================================================== 4998 // CLC1CON Bits 4999 5000 extern __at(0x0F10) __sfr CLC1CON; 5001 5002 typedef union 5003 { 5004 struct 5005 { 5006 unsigned LC1MODE0 : 1; 5007 unsigned LC1MODE1 : 1; 5008 unsigned LC1MODE2 : 1; 5009 unsigned LC1INTN : 1; 5010 unsigned LC1INTP : 1; 5011 unsigned LC1OUT : 1; 5012 unsigned : 1; 5013 unsigned LC1EN : 1; 5014 }; 5015 5016 struct 5017 { 5018 unsigned MODE0 : 1; 5019 unsigned MODE1 : 1; 5020 unsigned MODE2 : 1; 5021 unsigned INTN : 1; 5022 unsigned INTP : 1; 5023 unsigned OUT : 1; 5024 unsigned : 1; 5025 unsigned EN : 1; 5026 }; 5027 5028 struct 5029 { 5030 unsigned LC1MODE : 3; 5031 unsigned : 5; 5032 }; 5033 5034 struct 5035 { 5036 unsigned MODE : 3; 5037 unsigned : 5; 5038 }; 5039 } __CLC1CONbits_t; 5040 5041 extern __at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits; 5042 5043 #define _LC1MODE0 0x01 5044 #define _MODE0 0x01 5045 #define _LC1MODE1 0x02 5046 #define _MODE1 0x02 5047 #define _LC1MODE2 0x04 5048 #define _MODE2 0x04 5049 #define _LC1INTN 0x08 5050 #define _INTN 0x08 5051 #define _LC1INTP 0x10 5052 #define _INTP 0x10 5053 #define _LC1OUT 0x20 5054 #define _OUT 0x20 5055 #define _LC1EN 0x80 5056 #define _EN 0x80 5057 5058 //============================================================================== 5059 5060 5061 //============================================================================== 5062 // CLC1POL Bits 5063 5064 extern __at(0x0F11) __sfr CLC1POL; 5065 5066 typedef union 5067 { 5068 struct 5069 { 5070 unsigned LC1G1POL : 1; 5071 unsigned LC1G2POL : 1; 5072 unsigned LC1G3POL : 1; 5073 unsigned LC1G4POL : 1; 5074 unsigned : 1; 5075 unsigned : 1; 5076 unsigned : 1; 5077 unsigned LC1POL : 1; 5078 }; 5079 5080 struct 5081 { 5082 unsigned G1POL : 1; 5083 unsigned G2POL : 1; 5084 unsigned G3POL : 1; 5085 unsigned G4POL : 1; 5086 unsigned : 1; 5087 unsigned : 1; 5088 unsigned : 1; 5089 unsigned POL : 1; 5090 }; 5091 } __CLC1POLbits_t; 5092 5093 extern __at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits; 5094 5095 #define _LC1G1POL 0x01 5096 #define _G1POL 0x01 5097 #define _LC1G2POL 0x02 5098 #define _G2POL 0x02 5099 #define _LC1G3POL 0x04 5100 #define _G3POL 0x04 5101 #define _LC1G4POL 0x08 5102 #define _G4POL 0x08 5103 #define _LC1POL 0x80 5104 #define _POL 0x80 5105 5106 //============================================================================== 5107 5108 5109 //============================================================================== 5110 // CLC1SEL0 Bits 5111 5112 extern __at(0x0F12) __sfr CLC1SEL0; 5113 5114 typedef union 5115 { 5116 struct 5117 { 5118 unsigned LC1D1S0 : 1; 5119 unsigned LC1D1S1 : 1; 5120 unsigned LC1D1S2 : 1; 5121 unsigned LC1D1S3 : 1; 5122 unsigned LC1D1S4 : 1; 5123 unsigned : 1; 5124 unsigned : 1; 5125 unsigned : 1; 5126 }; 5127 5128 struct 5129 { 5130 unsigned D1S0 : 1; 5131 unsigned D1S1 : 1; 5132 unsigned D1S2 : 1; 5133 unsigned D1S3 : 1; 5134 unsigned D1S4 : 1; 5135 unsigned : 1; 5136 unsigned : 1; 5137 unsigned : 1; 5138 }; 5139 5140 struct 5141 { 5142 unsigned LC1D1S : 5; 5143 unsigned : 3; 5144 }; 5145 5146 struct 5147 { 5148 unsigned D1S : 5; 5149 unsigned : 3; 5150 }; 5151 } __CLC1SEL0bits_t; 5152 5153 extern __at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits; 5154 5155 #define _LC1D1S0 0x01 5156 #define _D1S0 0x01 5157 #define _LC1D1S1 0x02 5158 #define _D1S1 0x02 5159 #define _LC1D1S2 0x04 5160 #define _D1S2 0x04 5161 #define _LC1D1S3 0x08 5162 #define _D1S3 0x08 5163 #define _LC1D1S4 0x10 5164 #define _D1S4 0x10 5165 5166 //============================================================================== 5167 5168 5169 //============================================================================== 5170 // CLC1SEL1 Bits 5171 5172 extern __at(0x0F13) __sfr CLC1SEL1; 5173 5174 typedef union 5175 { 5176 struct 5177 { 5178 unsigned LC1D2S0 : 1; 5179 unsigned LC1D2S1 : 1; 5180 unsigned LC1D2S2 : 1; 5181 unsigned LC1D2S3 : 1; 5182 unsigned LC1D2S4 : 1; 5183 unsigned : 1; 5184 unsigned : 1; 5185 unsigned : 1; 5186 }; 5187 5188 struct 5189 { 5190 unsigned D2S0 : 1; 5191 unsigned D2S1 : 1; 5192 unsigned D2S2 : 1; 5193 unsigned D2S3 : 1; 5194 unsigned D2S4 : 1; 5195 unsigned : 1; 5196 unsigned : 1; 5197 unsigned : 1; 5198 }; 5199 5200 struct 5201 { 5202 unsigned D2S : 5; 5203 unsigned : 3; 5204 }; 5205 5206 struct 5207 { 5208 unsigned LC1D2S : 5; 5209 unsigned : 3; 5210 }; 5211 } __CLC1SEL1bits_t; 5212 5213 extern __at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits; 5214 5215 #define _LC1D2S0 0x01 5216 #define _D2S0 0x01 5217 #define _LC1D2S1 0x02 5218 #define _D2S1 0x02 5219 #define _LC1D2S2 0x04 5220 #define _D2S2 0x04 5221 #define _LC1D2S3 0x08 5222 #define _D2S3 0x08 5223 #define _LC1D2S4 0x10 5224 #define _D2S4 0x10 5225 5226 //============================================================================== 5227 5228 5229 //============================================================================== 5230 // CLC1SEL2 Bits 5231 5232 extern __at(0x0F14) __sfr CLC1SEL2; 5233 5234 typedef union 5235 { 5236 struct 5237 { 5238 unsigned LC1D3S0 : 1; 5239 unsigned LC1D3S1 : 1; 5240 unsigned LC1D3S2 : 1; 5241 unsigned LC1D3S3 : 1; 5242 unsigned LC1D3S4 : 1; 5243 unsigned : 1; 5244 unsigned : 1; 5245 unsigned : 1; 5246 }; 5247 5248 struct 5249 { 5250 unsigned D3S0 : 1; 5251 unsigned D3S1 : 1; 5252 unsigned D3S2 : 1; 5253 unsigned D3S3 : 1; 5254 unsigned D3S4 : 1; 5255 unsigned : 1; 5256 unsigned : 1; 5257 unsigned : 1; 5258 }; 5259 5260 struct 5261 { 5262 unsigned D3S : 5; 5263 unsigned : 3; 5264 }; 5265 5266 struct 5267 { 5268 unsigned LC1D3S : 5; 5269 unsigned : 3; 5270 }; 5271 } __CLC1SEL2bits_t; 5272 5273 extern __at(0x0F14) volatile __CLC1SEL2bits_t CLC1SEL2bits; 5274 5275 #define _LC1D3S0 0x01 5276 #define _D3S0 0x01 5277 #define _LC1D3S1 0x02 5278 #define _D3S1 0x02 5279 #define _LC1D3S2 0x04 5280 #define _D3S2 0x04 5281 #define _LC1D3S3 0x08 5282 #define _D3S3 0x08 5283 #define _LC1D3S4 0x10 5284 #define _D3S4 0x10 5285 5286 //============================================================================== 5287 5288 5289 //============================================================================== 5290 // CLC1SEL3 Bits 5291 5292 extern __at(0x0F15) __sfr CLC1SEL3; 5293 5294 typedef union 5295 { 5296 struct 5297 { 5298 unsigned LC1D4S0 : 1; 5299 unsigned LC1D4S1 : 1; 5300 unsigned LC1D4S2 : 1; 5301 unsigned LC1D4S3 : 1; 5302 unsigned LC1D4S4 : 1; 5303 unsigned : 1; 5304 unsigned : 1; 5305 unsigned : 1; 5306 }; 5307 5308 struct 5309 { 5310 unsigned D4S0 : 1; 5311 unsigned D4S1 : 1; 5312 unsigned D4S2 : 1; 5313 unsigned D4S3 : 1; 5314 unsigned D4S4 : 1; 5315 unsigned : 1; 5316 unsigned : 1; 5317 unsigned : 1; 5318 }; 5319 5320 struct 5321 { 5322 unsigned LC1D4S : 5; 5323 unsigned : 3; 5324 }; 5325 5326 struct 5327 { 5328 unsigned D4S : 5; 5329 unsigned : 3; 5330 }; 5331 } __CLC1SEL3bits_t; 5332 5333 extern __at(0x0F15) volatile __CLC1SEL3bits_t CLC1SEL3bits; 5334 5335 #define _LC1D4S0 0x01 5336 #define _D4S0 0x01 5337 #define _LC1D4S1 0x02 5338 #define _D4S1 0x02 5339 #define _LC1D4S2 0x04 5340 #define _D4S2 0x04 5341 #define _LC1D4S3 0x08 5342 #define _D4S3 0x08 5343 #define _LC1D4S4 0x10 5344 #define _D4S4 0x10 5345 5346 //============================================================================== 5347 5348 5349 //============================================================================== 5350 // CLC1GLS0 Bits 5351 5352 extern __at(0x0F16) __sfr CLC1GLS0; 5353 5354 typedef union 5355 { 5356 struct 5357 { 5358 unsigned LC1G1D1N : 1; 5359 unsigned LC1G1D1T : 1; 5360 unsigned LC1G1D2N : 1; 5361 unsigned LC1G1D2T : 1; 5362 unsigned LC1G1D3N : 1; 5363 unsigned LC1G1D3T : 1; 5364 unsigned LC1G1D4N : 1; 5365 unsigned LC1G1D4T : 1; 5366 }; 5367 5368 struct 5369 { 5370 unsigned D1N : 1; 5371 unsigned D1T : 1; 5372 unsigned D2N : 1; 5373 unsigned D2T : 1; 5374 unsigned D3N : 1; 5375 unsigned D3T : 1; 5376 unsigned D4N : 1; 5377 unsigned D4T : 1; 5378 }; 5379 } __CLC1GLS0bits_t; 5380 5381 extern __at(0x0F16) volatile __CLC1GLS0bits_t CLC1GLS0bits; 5382 5383 #define _LC1G1D1N 0x01 5384 #define _D1N 0x01 5385 #define _LC1G1D1T 0x02 5386 #define _D1T 0x02 5387 #define _LC1G1D2N 0x04 5388 #define _D2N 0x04 5389 #define _LC1G1D2T 0x08 5390 #define _D2T 0x08 5391 #define _LC1G1D3N 0x10 5392 #define _D3N 0x10 5393 #define _LC1G1D3T 0x20 5394 #define _D3T 0x20 5395 #define _LC1G1D4N 0x40 5396 #define _D4N 0x40 5397 #define _LC1G1D4T 0x80 5398 #define _D4T 0x80 5399 5400 //============================================================================== 5401 5402 5403 //============================================================================== 5404 // CLC1GLS1 Bits 5405 5406 extern __at(0x0F17) __sfr CLC1GLS1; 5407 5408 typedef union 5409 { 5410 struct 5411 { 5412 unsigned LC1G2D1N : 1; 5413 unsigned LC1G2D1T : 1; 5414 unsigned LC1G2D2N : 1; 5415 unsigned LC1G2D2T : 1; 5416 unsigned LC1G2D3N : 1; 5417 unsigned LC1G2D3T : 1; 5418 unsigned LC1G2D4N : 1; 5419 unsigned LC1G2D4T : 1; 5420 }; 5421 5422 struct 5423 { 5424 unsigned D1N : 1; 5425 unsigned D1T : 1; 5426 unsigned D2N : 1; 5427 unsigned D2T : 1; 5428 unsigned D3N : 1; 5429 unsigned D3T : 1; 5430 unsigned D4N : 1; 5431 unsigned D4T : 1; 5432 }; 5433 } __CLC1GLS1bits_t; 5434 5435 extern __at(0x0F17) volatile __CLC1GLS1bits_t CLC1GLS1bits; 5436 5437 #define _CLC1GLS1_LC1G2D1N 0x01 5438 #define _CLC1GLS1_D1N 0x01 5439 #define _CLC1GLS1_LC1G2D1T 0x02 5440 #define _CLC1GLS1_D1T 0x02 5441 #define _CLC1GLS1_LC1G2D2N 0x04 5442 #define _CLC1GLS1_D2N 0x04 5443 #define _CLC1GLS1_LC1G2D2T 0x08 5444 #define _CLC1GLS1_D2T 0x08 5445 #define _CLC1GLS1_LC1G2D3N 0x10 5446 #define _CLC1GLS1_D3N 0x10 5447 #define _CLC1GLS1_LC1G2D3T 0x20 5448 #define _CLC1GLS1_D3T 0x20 5449 #define _CLC1GLS1_LC1G2D4N 0x40 5450 #define _CLC1GLS1_D4N 0x40 5451 #define _CLC1GLS1_LC1G2D4T 0x80 5452 #define _CLC1GLS1_D4T 0x80 5453 5454 //============================================================================== 5455 5456 5457 //============================================================================== 5458 // CLC1GLS2 Bits 5459 5460 extern __at(0x0F18) __sfr CLC1GLS2; 5461 5462 typedef union 5463 { 5464 struct 5465 { 5466 unsigned LC1G3D1N : 1; 5467 unsigned LC1G3D1T : 1; 5468 unsigned LC1G3D2N : 1; 5469 unsigned LC1G3D2T : 1; 5470 unsigned LC1G3D3N : 1; 5471 unsigned LC1G3D3T : 1; 5472 unsigned LC1G3D4N : 1; 5473 unsigned LC1G3D4T : 1; 5474 }; 5475 5476 struct 5477 { 5478 unsigned D1N : 1; 5479 unsigned D1T : 1; 5480 unsigned D2N : 1; 5481 unsigned D2T : 1; 5482 unsigned D3N : 1; 5483 unsigned D3T : 1; 5484 unsigned D4N : 1; 5485 unsigned D4T : 1; 5486 }; 5487 } __CLC1GLS2bits_t; 5488 5489 extern __at(0x0F18) volatile __CLC1GLS2bits_t CLC1GLS2bits; 5490 5491 #define _CLC1GLS2_LC1G3D1N 0x01 5492 #define _CLC1GLS2_D1N 0x01 5493 #define _CLC1GLS2_LC1G3D1T 0x02 5494 #define _CLC1GLS2_D1T 0x02 5495 #define _CLC1GLS2_LC1G3D2N 0x04 5496 #define _CLC1GLS2_D2N 0x04 5497 #define _CLC1GLS2_LC1G3D2T 0x08 5498 #define _CLC1GLS2_D2T 0x08 5499 #define _CLC1GLS2_LC1G3D3N 0x10 5500 #define _CLC1GLS2_D3N 0x10 5501 #define _CLC1GLS2_LC1G3D3T 0x20 5502 #define _CLC1GLS2_D3T 0x20 5503 #define _CLC1GLS2_LC1G3D4N 0x40 5504 #define _CLC1GLS2_D4N 0x40 5505 #define _CLC1GLS2_LC1G3D4T 0x80 5506 #define _CLC1GLS2_D4T 0x80 5507 5508 //============================================================================== 5509 5510 5511 //============================================================================== 5512 // CLC1GLS3 Bits 5513 5514 extern __at(0x0F19) __sfr CLC1GLS3; 5515 5516 typedef union 5517 { 5518 struct 5519 { 5520 unsigned LC1G4D1N : 1; 5521 unsigned LC1G4D1T : 1; 5522 unsigned LC1G4D2N : 1; 5523 unsigned LC1G4D2T : 1; 5524 unsigned LC1G4D3N : 1; 5525 unsigned LC1G4D3T : 1; 5526 unsigned LC1G4D4N : 1; 5527 unsigned LC1G4D4T : 1; 5528 }; 5529 5530 struct 5531 { 5532 unsigned G4D1N : 1; 5533 unsigned G4D1T : 1; 5534 unsigned G4D2N : 1; 5535 unsigned G4D2T : 1; 5536 unsigned G4D3N : 1; 5537 unsigned G4D3T : 1; 5538 unsigned G4D4N : 1; 5539 unsigned G4D4T : 1; 5540 }; 5541 } __CLC1GLS3bits_t; 5542 5543 extern __at(0x0F19) volatile __CLC1GLS3bits_t CLC1GLS3bits; 5544 5545 #define _LC1G4D1N 0x01 5546 #define _G4D1N 0x01 5547 #define _LC1G4D1T 0x02 5548 #define _G4D1T 0x02 5549 #define _LC1G4D2N 0x04 5550 #define _G4D2N 0x04 5551 #define _LC1G4D2T 0x08 5552 #define _G4D2T 0x08 5553 #define _LC1G4D3N 0x10 5554 #define _G4D3N 0x10 5555 #define _LC1G4D3T 0x20 5556 #define _G4D3T 0x20 5557 #define _LC1G4D4N 0x40 5558 #define _G4D4N 0x40 5559 #define _LC1G4D4T 0x80 5560 #define _G4D4T 0x80 5561 5562 //============================================================================== 5563 5564 5565 //============================================================================== 5566 // CLC2CON Bits 5567 5568 extern __at(0x0F1A) __sfr CLC2CON; 5569 5570 typedef union 5571 { 5572 struct 5573 { 5574 unsigned LC2MODE0 : 1; 5575 unsigned LC2MODE1 : 1; 5576 unsigned LC2MODE2 : 1; 5577 unsigned LC2INTN : 1; 5578 unsigned LC2INTP : 1; 5579 unsigned LC2OUT : 1; 5580 unsigned : 1; 5581 unsigned LC2EN : 1; 5582 }; 5583 5584 struct 5585 { 5586 unsigned MODE0 : 1; 5587 unsigned MODE1 : 1; 5588 unsigned MODE2 : 1; 5589 unsigned INTN : 1; 5590 unsigned INTP : 1; 5591 unsigned OUT : 1; 5592 unsigned : 1; 5593 unsigned EN : 1; 5594 }; 5595 5596 struct 5597 { 5598 unsigned LC2MODE : 3; 5599 unsigned : 5; 5600 }; 5601 5602 struct 5603 { 5604 unsigned MODE : 3; 5605 unsigned : 5; 5606 }; 5607 } __CLC2CONbits_t; 5608 5609 extern __at(0x0F1A) volatile __CLC2CONbits_t CLC2CONbits; 5610 5611 #define _CLC2CON_LC2MODE0 0x01 5612 #define _CLC2CON_MODE0 0x01 5613 #define _CLC2CON_LC2MODE1 0x02 5614 #define _CLC2CON_MODE1 0x02 5615 #define _CLC2CON_LC2MODE2 0x04 5616 #define _CLC2CON_MODE2 0x04 5617 #define _CLC2CON_LC2INTN 0x08 5618 #define _CLC2CON_INTN 0x08 5619 #define _CLC2CON_LC2INTP 0x10 5620 #define _CLC2CON_INTP 0x10 5621 #define _CLC2CON_LC2OUT 0x20 5622 #define _CLC2CON_OUT 0x20 5623 #define _CLC2CON_LC2EN 0x80 5624 #define _CLC2CON_EN 0x80 5625 5626 //============================================================================== 5627 5628 5629 //============================================================================== 5630 // CLC2POL Bits 5631 5632 extern __at(0x0F1B) __sfr CLC2POL; 5633 5634 typedef union 5635 { 5636 struct 5637 { 5638 unsigned LC2G1POL : 1; 5639 unsigned LC2G2POL : 1; 5640 unsigned LC2G3POL : 1; 5641 unsigned LC2G4POL : 1; 5642 unsigned : 1; 5643 unsigned : 1; 5644 unsigned : 1; 5645 unsigned LC2POL : 1; 5646 }; 5647 5648 struct 5649 { 5650 unsigned G1POL : 1; 5651 unsigned G2POL : 1; 5652 unsigned G3POL : 1; 5653 unsigned G4POL : 1; 5654 unsigned : 1; 5655 unsigned : 1; 5656 unsigned : 1; 5657 unsigned POL : 1; 5658 }; 5659 } __CLC2POLbits_t; 5660 5661 extern __at(0x0F1B) volatile __CLC2POLbits_t CLC2POLbits; 5662 5663 #define _CLC2POL_LC2G1POL 0x01 5664 #define _CLC2POL_G1POL 0x01 5665 #define _CLC2POL_LC2G2POL 0x02 5666 #define _CLC2POL_G2POL 0x02 5667 #define _CLC2POL_LC2G3POL 0x04 5668 #define _CLC2POL_G3POL 0x04 5669 #define _CLC2POL_LC2G4POL 0x08 5670 #define _CLC2POL_G4POL 0x08 5671 #define _CLC2POL_LC2POL 0x80 5672 #define _CLC2POL_POL 0x80 5673 5674 //============================================================================== 5675 5676 5677 //============================================================================== 5678 // CLC2SEL0 Bits 5679 5680 extern __at(0x0F1C) __sfr CLC2SEL0; 5681 5682 typedef union 5683 { 5684 struct 5685 { 5686 unsigned LC2D1S0 : 1; 5687 unsigned LC2D1S1 : 1; 5688 unsigned LC2D1S2 : 1; 5689 unsigned LC2D1S3 : 1; 5690 unsigned LC2D1S4 : 1; 5691 unsigned : 1; 5692 unsigned : 1; 5693 unsigned : 1; 5694 }; 5695 5696 struct 5697 { 5698 unsigned D1S0 : 1; 5699 unsigned D1S1 : 1; 5700 unsigned D1S2 : 1; 5701 unsigned D1S3 : 1; 5702 unsigned D1S4 : 1; 5703 unsigned : 1; 5704 unsigned : 1; 5705 unsigned : 1; 5706 }; 5707 5708 struct 5709 { 5710 unsigned LC2D1S : 5; 5711 unsigned : 3; 5712 }; 5713 5714 struct 5715 { 5716 unsigned D1S : 5; 5717 unsigned : 3; 5718 }; 5719 } __CLC2SEL0bits_t; 5720 5721 extern __at(0x0F1C) volatile __CLC2SEL0bits_t CLC2SEL0bits; 5722 5723 #define _CLC2SEL0_LC2D1S0 0x01 5724 #define _CLC2SEL0_D1S0 0x01 5725 #define _CLC2SEL0_LC2D1S1 0x02 5726 #define _CLC2SEL0_D1S1 0x02 5727 #define _CLC2SEL0_LC2D1S2 0x04 5728 #define _CLC2SEL0_D1S2 0x04 5729 #define _CLC2SEL0_LC2D1S3 0x08 5730 #define _CLC2SEL0_D1S3 0x08 5731 #define _CLC2SEL0_LC2D1S4 0x10 5732 #define _CLC2SEL0_D1S4 0x10 5733 5734 //============================================================================== 5735 5736 5737 //============================================================================== 5738 // CLC2SEL1 Bits 5739 5740 extern __at(0x0F1D) __sfr CLC2SEL1; 5741 5742 typedef union 5743 { 5744 struct 5745 { 5746 unsigned LC2D2S0 : 1; 5747 unsigned LC2D2S1 : 1; 5748 unsigned LC2D2S2 : 1; 5749 unsigned LC2D2S3 : 1; 5750 unsigned LC2D2S4 : 1; 5751 unsigned : 1; 5752 unsigned : 1; 5753 unsigned : 1; 5754 }; 5755 5756 struct 5757 { 5758 unsigned D2S0 : 1; 5759 unsigned D2S1 : 1; 5760 unsigned D2S2 : 1; 5761 unsigned D2S3 : 1; 5762 unsigned D2S4 : 1; 5763 unsigned : 1; 5764 unsigned : 1; 5765 unsigned : 1; 5766 }; 5767 5768 struct 5769 { 5770 unsigned LC2D2S : 5; 5771 unsigned : 3; 5772 }; 5773 5774 struct 5775 { 5776 unsigned D2S : 5; 5777 unsigned : 3; 5778 }; 5779 } __CLC2SEL1bits_t; 5780 5781 extern __at(0x0F1D) volatile __CLC2SEL1bits_t CLC2SEL1bits; 5782 5783 #define _CLC2SEL1_LC2D2S0 0x01 5784 #define _CLC2SEL1_D2S0 0x01 5785 #define _CLC2SEL1_LC2D2S1 0x02 5786 #define _CLC2SEL1_D2S1 0x02 5787 #define _CLC2SEL1_LC2D2S2 0x04 5788 #define _CLC2SEL1_D2S2 0x04 5789 #define _CLC2SEL1_LC2D2S3 0x08 5790 #define _CLC2SEL1_D2S3 0x08 5791 #define _CLC2SEL1_LC2D2S4 0x10 5792 #define _CLC2SEL1_D2S4 0x10 5793 5794 //============================================================================== 5795 5796 5797 //============================================================================== 5798 // CLC2SEL2 Bits 5799 5800 extern __at(0x0F1E) __sfr CLC2SEL2; 5801 5802 typedef union 5803 { 5804 struct 5805 { 5806 unsigned LC2D3S0 : 1; 5807 unsigned LC2D3S1 : 1; 5808 unsigned LC2D3S2 : 1; 5809 unsigned LC2D3S3 : 1; 5810 unsigned LC2D3S4 : 1; 5811 unsigned : 1; 5812 unsigned : 1; 5813 unsigned : 1; 5814 }; 5815 5816 struct 5817 { 5818 unsigned D3S0 : 1; 5819 unsigned D3S1 : 1; 5820 unsigned D3S2 : 1; 5821 unsigned D3S3 : 1; 5822 unsigned D3S4 : 1; 5823 unsigned : 1; 5824 unsigned : 1; 5825 unsigned : 1; 5826 }; 5827 5828 struct 5829 { 5830 unsigned LC2D3S : 5; 5831 unsigned : 3; 5832 }; 5833 5834 struct 5835 { 5836 unsigned D3S : 5; 5837 unsigned : 3; 5838 }; 5839 } __CLC2SEL2bits_t; 5840 5841 extern __at(0x0F1E) volatile __CLC2SEL2bits_t CLC2SEL2bits; 5842 5843 #define _CLC2SEL2_LC2D3S0 0x01 5844 #define _CLC2SEL2_D3S0 0x01 5845 #define _CLC2SEL2_LC2D3S1 0x02 5846 #define _CLC2SEL2_D3S1 0x02 5847 #define _CLC2SEL2_LC2D3S2 0x04 5848 #define _CLC2SEL2_D3S2 0x04 5849 #define _CLC2SEL2_LC2D3S3 0x08 5850 #define _CLC2SEL2_D3S3 0x08 5851 #define _CLC2SEL2_LC2D3S4 0x10 5852 #define _CLC2SEL2_D3S4 0x10 5853 5854 //============================================================================== 5855 5856 5857 //============================================================================== 5858 // CLC2SEL3 Bits 5859 5860 extern __at(0x0F1F) __sfr CLC2SEL3; 5861 5862 typedef union 5863 { 5864 struct 5865 { 5866 unsigned LC2D4S0 : 1; 5867 unsigned LC2D4S1 : 1; 5868 unsigned LC2D4S2 : 1; 5869 unsigned LC2D4S3 : 1; 5870 unsigned LC2D4S4 : 1; 5871 unsigned : 1; 5872 unsigned : 1; 5873 unsigned : 1; 5874 }; 5875 5876 struct 5877 { 5878 unsigned D4S0 : 1; 5879 unsigned D4S1 : 1; 5880 unsigned D4S2 : 1; 5881 unsigned D4S3 : 1; 5882 unsigned D4S4 : 1; 5883 unsigned : 1; 5884 unsigned : 1; 5885 unsigned : 1; 5886 }; 5887 5888 struct 5889 { 5890 unsigned D4S : 5; 5891 unsigned : 3; 5892 }; 5893 5894 struct 5895 { 5896 unsigned LC2D4S : 5; 5897 unsigned : 3; 5898 }; 5899 } __CLC2SEL3bits_t; 5900 5901 extern __at(0x0F1F) volatile __CLC2SEL3bits_t CLC2SEL3bits; 5902 5903 #define _CLC2SEL3_LC2D4S0 0x01 5904 #define _CLC2SEL3_D4S0 0x01 5905 #define _CLC2SEL3_LC2D4S1 0x02 5906 #define _CLC2SEL3_D4S1 0x02 5907 #define _CLC2SEL3_LC2D4S2 0x04 5908 #define _CLC2SEL3_D4S2 0x04 5909 #define _CLC2SEL3_LC2D4S3 0x08 5910 #define _CLC2SEL3_D4S3 0x08 5911 #define _CLC2SEL3_LC2D4S4 0x10 5912 #define _CLC2SEL3_D4S4 0x10 5913 5914 //============================================================================== 5915 5916 5917 //============================================================================== 5918 // CLC2GLS0 Bits 5919 5920 extern __at(0x0F20) __sfr CLC2GLS0; 5921 5922 typedef union 5923 { 5924 struct 5925 { 5926 unsigned LC2G1D1N : 1; 5927 unsigned LC2G1D1T : 1; 5928 unsigned LC2G1D2N : 1; 5929 unsigned LC2G1D2T : 1; 5930 unsigned LC2G1D3N : 1; 5931 unsigned LC2G1D3T : 1; 5932 unsigned LC2G1D4N : 1; 5933 unsigned LC2G1D4T : 1; 5934 }; 5935 5936 struct 5937 { 5938 unsigned D1N : 1; 5939 unsigned D1T : 1; 5940 unsigned D2N : 1; 5941 unsigned D2T : 1; 5942 unsigned D3N : 1; 5943 unsigned D3T : 1; 5944 unsigned D4N : 1; 5945 unsigned D4T : 1; 5946 }; 5947 } __CLC2GLS0bits_t; 5948 5949 extern __at(0x0F20) volatile __CLC2GLS0bits_t CLC2GLS0bits; 5950 5951 #define _CLC2GLS0_LC2G1D1N 0x01 5952 #define _CLC2GLS0_D1N 0x01 5953 #define _CLC2GLS0_LC2G1D1T 0x02 5954 #define _CLC2GLS0_D1T 0x02 5955 #define _CLC2GLS0_LC2G1D2N 0x04 5956 #define _CLC2GLS0_D2N 0x04 5957 #define _CLC2GLS0_LC2G1D2T 0x08 5958 #define _CLC2GLS0_D2T 0x08 5959 #define _CLC2GLS0_LC2G1D3N 0x10 5960 #define _CLC2GLS0_D3N 0x10 5961 #define _CLC2GLS0_LC2G1D3T 0x20 5962 #define _CLC2GLS0_D3T 0x20 5963 #define _CLC2GLS0_LC2G1D4N 0x40 5964 #define _CLC2GLS0_D4N 0x40 5965 #define _CLC2GLS0_LC2G1D4T 0x80 5966 #define _CLC2GLS0_D4T 0x80 5967 5968 //============================================================================== 5969 5970 5971 //============================================================================== 5972 // CLC2GLS1 Bits 5973 5974 extern __at(0x0F21) __sfr CLC2GLS1; 5975 5976 typedef union 5977 { 5978 struct 5979 { 5980 unsigned LC2G2D1N : 1; 5981 unsigned LC2G2D1T : 1; 5982 unsigned LC2G2D2N : 1; 5983 unsigned LC2G2D2T : 1; 5984 unsigned LC2G2D3N : 1; 5985 unsigned LC2G2D3T : 1; 5986 unsigned LC2G2D4N : 1; 5987 unsigned LC2G2D4T : 1; 5988 }; 5989 5990 struct 5991 { 5992 unsigned D1N : 1; 5993 unsigned D1T : 1; 5994 unsigned D2N : 1; 5995 unsigned D2T : 1; 5996 unsigned D3N : 1; 5997 unsigned D3T : 1; 5998 unsigned D4N : 1; 5999 unsigned D4T : 1; 6000 }; 6001 } __CLC2GLS1bits_t; 6002 6003 extern __at(0x0F21) volatile __CLC2GLS1bits_t CLC2GLS1bits; 6004 6005 #define _CLC2GLS1_LC2G2D1N 0x01 6006 #define _CLC2GLS1_D1N 0x01 6007 #define _CLC2GLS1_LC2G2D1T 0x02 6008 #define _CLC2GLS1_D1T 0x02 6009 #define _CLC2GLS1_LC2G2D2N 0x04 6010 #define _CLC2GLS1_D2N 0x04 6011 #define _CLC2GLS1_LC2G2D2T 0x08 6012 #define _CLC2GLS1_D2T 0x08 6013 #define _CLC2GLS1_LC2G2D3N 0x10 6014 #define _CLC2GLS1_D3N 0x10 6015 #define _CLC2GLS1_LC2G2D3T 0x20 6016 #define _CLC2GLS1_D3T 0x20 6017 #define _CLC2GLS1_LC2G2D4N 0x40 6018 #define _CLC2GLS1_D4N 0x40 6019 #define _CLC2GLS1_LC2G2D4T 0x80 6020 #define _CLC2GLS1_D4T 0x80 6021 6022 //============================================================================== 6023 6024 6025 //============================================================================== 6026 // CLC2GLS2 Bits 6027 6028 extern __at(0x0F22) __sfr CLC2GLS2; 6029 6030 typedef union 6031 { 6032 struct 6033 { 6034 unsigned LC2G3D1N : 1; 6035 unsigned LC2G3D1T : 1; 6036 unsigned LC2G3D2N : 1; 6037 unsigned LC2G3D2T : 1; 6038 unsigned LC2G3D3N : 1; 6039 unsigned LC2G3D3T : 1; 6040 unsigned LC2G3D4N : 1; 6041 unsigned LC2G3D4T : 1; 6042 }; 6043 6044 struct 6045 { 6046 unsigned D1N : 1; 6047 unsigned D1T : 1; 6048 unsigned D2N : 1; 6049 unsigned D2T : 1; 6050 unsigned D3N : 1; 6051 unsigned D3T : 1; 6052 unsigned D4N : 1; 6053 unsigned D4T : 1; 6054 }; 6055 } __CLC2GLS2bits_t; 6056 6057 extern __at(0x0F22) volatile __CLC2GLS2bits_t CLC2GLS2bits; 6058 6059 #define _CLC2GLS2_LC2G3D1N 0x01 6060 #define _CLC2GLS2_D1N 0x01 6061 #define _CLC2GLS2_LC2G3D1T 0x02 6062 #define _CLC2GLS2_D1T 0x02 6063 #define _CLC2GLS2_LC2G3D2N 0x04 6064 #define _CLC2GLS2_D2N 0x04 6065 #define _CLC2GLS2_LC2G3D2T 0x08 6066 #define _CLC2GLS2_D2T 0x08 6067 #define _CLC2GLS2_LC2G3D3N 0x10 6068 #define _CLC2GLS2_D3N 0x10 6069 #define _CLC2GLS2_LC2G3D3T 0x20 6070 #define _CLC2GLS2_D3T 0x20 6071 #define _CLC2GLS2_LC2G3D4N 0x40 6072 #define _CLC2GLS2_D4N 0x40 6073 #define _CLC2GLS2_LC2G3D4T 0x80 6074 #define _CLC2GLS2_D4T 0x80 6075 6076 //============================================================================== 6077 6078 6079 //============================================================================== 6080 // CLC2GLS3 Bits 6081 6082 extern __at(0x0F23) __sfr CLC2GLS3; 6083 6084 typedef union 6085 { 6086 struct 6087 { 6088 unsigned LC2G4D1N : 1; 6089 unsigned LC2G4D1T : 1; 6090 unsigned LC2G4D2N : 1; 6091 unsigned LC2G4D2T : 1; 6092 unsigned LC2G4D3N : 1; 6093 unsigned LC2G4D3T : 1; 6094 unsigned LC2G4D4N : 1; 6095 unsigned LC2G4D4T : 1; 6096 }; 6097 6098 struct 6099 { 6100 unsigned G4D1N : 1; 6101 unsigned G4D1T : 1; 6102 unsigned G4D2N : 1; 6103 unsigned G4D2T : 1; 6104 unsigned G4D3N : 1; 6105 unsigned G4D3T : 1; 6106 unsigned G4D4N : 1; 6107 unsigned G4D4T : 1; 6108 }; 6109 } __CLC2GLS3bits_t; 6110 6111 extern __at(0x0F23) volatile __CLC2GLS3bits_t CLC2GLS3bits; 6112 6113 #define _CLC2GLS3_LC2G4D1N 0x01 6114 #define _CLC2GLS3_G4D1N 0x01 6115 #define _CLC2GLS3_LC2G4D1T 0x02 6116 #define _CLC2GLS3_G4D1T 0x02 6117 #define _CLC2GLS3_LC2G4D2N 0x04 6118 #define _CLC2GLS3_G4D2N 0x04 6119 #define _CLC2GLS3_LC2G4D2T 0x08 6120 #define _CLC2GLS3_G4D2T 0x08 6121 #define _CLC2GLS3_LC2G4D3N 0x10 6122 #define _CLC2GLS3_G4D3N 0x10 6123 #define _CLC2GLS3_LC2G4D3T 0x20 6124 #define _CLC2GLS3_G4D3T 0x20 6125 #define _CLC2GLS3_LC2G4D4N 0x40 6126 #define _CLC2GLS3_G4D4N 0x40 6127 #define _CLC2GLS3_LC2G4D4T 0x80 6128 #define _CLC2GLS3_G4D4T 0x80 6129 6130 //============================================================================== 6131 6132 6133 //============================================================================== 6134 // CLC3CON Bits 6135 6136 extern __at(0x0F24) __sfr CLC3CON; 6137 6138 typedef union 6139 { 6140 struct 6141 { 6142 unsigned LC3MODE0 : 1; 6143 unsigned LC3MODE1 : 1; 6144 unsigned LC3MODE2 : 1; 6145 unsigned LC3INTN : 1; 6146 unsigned LC3INTP : 1; 6147 unsigned LC3OUT : 1; 6148 unsigned : 1; 6149 unsigned LC3EN : 1; 6150 }; 6151 6152 struct 6153 { 6154 unsigned MODE0 : 1; 6155 unsigned MODE1 : 1; 6156 unsigned MODE2 : 1; 6157 unsigned INTN : 1; 6158 unsigned INTP : 1; 6159 unsigned OUT : 1; 6160 unsigned : 1; 6161 unsigned EN : 1; 6162 }; 6163 6164 struct 6165 { 6166 unsigned MODE : 3; 6167 unsigned : 5; 6168 }; 6169 6170 struct 6171 { 6172 unsigned LC3MODE : 3; 6173 unsigned : 5; 6174 }; 6175 } __CLC3CONbits_t; 6176 6177 extern __at(0x0F24) volatile __CLC3CONbits_t CLC3CONbits; 6178 6179 #define _CLC3CON_LC3MODE0 0x01 6180 #define _CLC3CON_MODE0 0x01 6181 #define _CLC3CON_LC3MODE1 0x02 6182 #define _CLC3CON_MODE1 0x02 6183 #define _CLC3CON_LC3MODE2 0x04 6184 #define _CLC3CON_MODE2 0x04 6185 #define _CLC3CON_LC3INTN 0x08 6186 #define _CLC3CON_INTN 0x08 6187 #define _CLC3CON_LC3INTP 0x10 6188 #define _CLC3CON_INTP 0x10 6189 #define _CLC3CON_LC3OUT 0x20 6190 #define _CLC3CON_OUT 0x20 6191 #define _CLC3CON_LC3EN 0x80 6192 #define _CLC3CON_EN 0x80 6193 6194 //============================================================================== 6195 6196 6197 //============================================================================== 6198 // CLC3POL Bits 6199 6200 extern __at(0x0F25) __sfr CLC3POL; 6201 6202 typedef union 6203 { 6204 struct 6205 { 6206 unsigned LC3G1POL : 1; 6207 unsigned LC3G2POL : 1; 6208 unsigned LC3G3POL : 1; 6209 unsigned LC3G4POL : 1; 6210 unsigned : 1; 6211 unsigned : 1; 6212 unsigned : 1; 6213 unsigned LC3POL : 1; 6214 }; 6215 6216 struct 6217 { 6218 unsigned G1POL : 1; 6219 unsigned G2POL : 1; 6220 unsigned G3POL : 1; 6221 unsigned G4POL : 1; 6222 unsigned : 1; 6223 unsigned : 1; 6224 unsigned : 1; 6225 unsigned POL : 1; 6226 }; 6227 } __CLC3POLbits_t; 6228 6229 extern __at(0x0F25) volatile __CLC3POLbits_t CLC3POLbits; 6230 6231 #define _CLC3POL_LC3G1POL 0x01 6232 #define _CLC3POL_G1POL 0x01 6233 #define _CLC3POL_LC3G2POL 0x02 6234 #define _CLC3POL_G2POL 0x02 6235 #define _CLC3POL_LC3G3POL 0x04 6236 #define _CLC3POL_G3POL 0x04 6237 #define _CLC3POL_LC3G4POL 0x08 6238 #define _CLC3POL_G4POL 0x08 6239 #define _CLC3POL_LC3POL 0x80 6240 #define _CLC3POL_POL 0x80 6241 6242 //============================================================================== 6243 6244 6245 //============================================================================== 6246 // CLC3SEL0 Bits 6247 6248 extern __at(0x0F26) __sfr CLC3SEL0; 6249 6250 typedef union 6251 { 6252 struct 6253 { 6254 unsigned LC3D1S0 : 1; 6255 unsigned LC3D1S1 : 1; 6256 unsigned LC3D1S2 : 1; 6257 unsigned LC3D1S3 : 1; 6258 unsigned LC3D1S4 : 1; 6259 unsigned : 1; 6260 unsigned : 1; 6261 unsigned : 1; 6262 }; 6263 6264 struct 6265 { 6266 unsigned D1S0 : 1; 6267 unsigned D1S1 : 1; 6268 unsigned D1S2 : 1; 6269 unsigned D1S3 : 1; 6270 unsigned D1S4 : 1; 6271 unsigned : 1; 6272 unsigned : 1; 6273 unsigned : 1; 6274 }; 6275 6276 struct 6277 { 6278 unsigned LC3D1S : 5; 6279 unsigned : 3; 6280 }; 6281 6282 struct 6283 { 6284 unsigned D1S : 5; 6285 unsigned : 3; 6286 }; 6287 } __CLC3SEL0bits_t; 6288 6289 extern __at(0x0F26) volatile __CLC3SEL0bits_t CLC3SEL0bits; 6290 6291 #define _CLC3SEL0_LC3D1S0 0x01 6292 #define _CLC3SEL0_D1S0 0x01 6293 #define _CLC3SEL0_LC3D1S1 0x02 6294 #define _CLC3SEL0_D1S1 0x02 6295 #define _CLC3SEL0_LC3D1S2 0x04 6296 #define _CLC3SEL0_D1S2 0x04 6297 #define _CLC3SEL0_LC3D1S3 0x08 6298 #define _CLC3SEL0_D1S3 0x08 6299 #define _CLC3SEL0_LC3D1S4 0x10 6300 #define _CLC3SEL0_D1S4 0x10 6301 6302 //============================================================================== 6303 6304 6305 //============================================================================== 6306 // CLC3SEL1 Bits 6307 6308 extern __at(0x0F27) __sfr CLC3SEL1; 6309 6310 typedef union 6311 { 6312 struct 6313 { 6314 unsigned LC3D2S0 : 1; 6315 unsigned LC3D2S1 : 1; 6316 unsigned LC3D2S2 : 1; 6317 unsigned LC3D2S3 : 1; 6318 unsigned LC3D2S4 : 1; 6319 unsigned : 1; 6320 unsigned : 1; 6321 unsigned : 1; 6322 }; 6323 6324 struct 6325 { 6326 unsigned D2S0 : 1; 6327 unsigned D2S1 : 1; 6328 unsigned D2S2 : 1; 6329 unsigned D2S3 : 1; 6330 unsigned D2S4 : 1; 6331 unsigned : 1; 6332 unsigned : 1; 6333 unsigned : 1; 6334 }; 6335 6336 struct 6337 { 6338 unsigned D2S : 5; 6339 unsigned : 3; 6340 }; 6341 6342 struct 6343 { 6344 unsigned LC3D2S : 5; 6345 unsigned : 3; 6346 }; 6347 } __CLC3SEL1bits_t; 6348 6349 extern __at(0x0F27) volatile __CLC3SEL1bits_t CLC3SEL1bits; 6350 6351 #define _CLC3SEL1_LC3D2S0 0x01 6352 #define _CLC3SEL1_D2S0 0x01 6353 #define _CLC3SEL1_LC3D2S1 0x02 6354 #define _CLC3SEL1_D2S1 0x02 6355 #define _CLC3SEL1_LC3D2S2 0x04 6356 #define _CLC3SEL1_D2S2 0x04 6357 #define _CLC3SEL1_LC3D2S3 0x08 6358 #define _CLC3SEL1_D2S3 0x08 6359 #define _CLC3SEL1_LC3D2S4 0x10 6360 #define _CLC3SEL1_D2S4 0x10 6361 6362 //============================================================================== 6363 6364 6365 //============================================================================== 6366 // CLC3SEL2 Bits 6367 6368 extern __at(0x0F28) __sfr CLC3SEL2; 6369 6370 typedef union 6371 { 6372 struct 6373 { 6374 unsigned LC3D3S0 : 1; 6375 unsigned LC3D3S1 : 1; 6376 unsigned LC3D3S2 : 1; 6377 unsigned LC3D3S3 : 1; 6378 unsigned LC3D3S4 : 1; 6379 unsigned : 1; 6380 unsigned : 1; 6381 unsigned : 1; 6382 }; 6383 6384 struct 6385 { 6386 unsigned D3S0 : 1; 6387 unsigned D3S1 : 1; 6388 unsigned D3S2 : 1; 6389 unsigned D3S3 : 1; 6390 unsigned D3S4 : 1; 6391 unsigned : 1; 6392 unsigned : 1; 6393 unsigned : 1; 6394 }; 6395 6396 struct 6397 { 6398 unsigned LC3D3S : 5; 6399 unsigned : 3; 6400 }; 6401 6402 struct 6403 { 6404 unsigned D3S : 5; 6405 unsigned : 3; 6406 }; 6407 } __CLC3SEL2bits_t; 6408 6409 extern __at(0x0F28) volatile __CLC3SEL2bits_t CLC3SEL2bits; 6410 6411 #define _CLC3SEL2_LC3D3S0 0x01 6412 #define _CLC3SEL2_D3S0 0x01 6413 #define _CLC3SEL2_LC3D3S1 0x02 6414 #define _CLC3SEL2_D3S1 0x02 6415 #define _CLC3SEL2_LC3D3S2 0x04 6416 #define _CLC3SEL2_D3S2 0x04 6417 #define _CLC3SEL2_LC3D3S3 0x08 6418 #define _CLC3SEL2_D3S3 0x08 6419 #define _CLC3SEL2_LC3D3S4 0x10 6420 #define _CLC3SEL2_D3S4 0x10 6421 6422 //============================================================================== 6423 6424 6425 //============================================================================== 6426 // CLC3SEL3 Bits 6427 6428 extern __at(0x0F29) __sfr CLC3SEL3; 6429 6430 typedef union 6431 { 6432 struct 6433 { 6434 unsigned LC3D4S0 : 1; 6435 unsigned LC3D4S1 : 1; 6436 unsigned LC3D4S2 : 1; 6437 unsigned LC3D4S3 : 1; 6438 unsigned LC3D4S4 : 1; 6439 unsigned : 1; 6440 unsigned : 1; 6441 unsigned : 1; 6442 }; 6443 6444 struct 6445 { 6446 unsigned D4S0 : 1; 6447 unsigned D4S1 : 1; 6448 unsigned D4S2 : 1; 6449 unsigned D4S3 : 1; 6450 unsigned D4S4 : 1; 6451 unsigned : 1; 6452 unsigned : 1; 6453 unsigned : 1; 6454 }; 6455 6456 struct 6457 { 6458 unsigned D4S : 5; 6459 unsigned : 3; 6460 }; 6461 6462 struct 6463 { 6464 unsigned LC3D4S : 5; 6465 unsigned : 3; 6466 }; 6467 } __CLC3SEL3bits_t; 6468 6469 extern __at(0x0F29) volatile __CLC3SEL3bits_t CLC3SEL3bits; 6470 6471 #define _CLC3SEL3_LC3D4S0 0x01 6472 #define _CLC3SEL3_D4S0 0x01 6473 #define _CLC3SEL3_LC3D4S1 0x02 6474 #define _CLC3SEL3_D4S1 0x02 6475 #define _CLC3SEL3_LC3D4S2 0x04 6476 #define _CLC3SEL3_D4S2 0x04 6477 #define _CLC3SEL3_LC3D4S3 0x08 6478 #define _CLC3SEL3_D4S3 0x08 6479 #define _CLC3SEL3_LC3D4S4 0x10 6480 #define _CLC3SEL3_D4S4 0x10 6481 6482 //============================================================================== 6483 6484 6485 //============================================================================== 6486 // CLC3GLS0 Bits 6487 6488 extern __at(0x0F2A) __sfr CLC3GLS0; 6489 6490 typedef union 6491 { 6492 struct 6493 { 6494 unsigned LC3G1D1N : 1; 6495 unsigned LC3G1D1T : 1; 6496 unsigned LC3G1D2N : 1; 6497 unsigned LC3G1D2T : 1; 6498 unsigned LC3G1D3N : 1; 6499 unsigned LC3G1D3T : 1; 6500 unsigned LC3G1D4N : 1; 6501 unsigned LC3G1D4T : 1; 6502 }; 6503 6504 struct 6505 { 6506 unsigned D1N : 1; 6507 unsigned D1T : 1; 6508 unsigned D2N : 1; 6509 unsigned D2T : 1; 6510 unsigned D3N : 1; 6511 unsigned D3T : 1; 6512 unsigned D4N : 1; 6513 unsigned D4T : 1; 6514 }; 6515 } __CLC3GLS0bits_t; 6516 6517 extern __at(0x0F2A) volatile __CLC3GLS0bits_t CLC3GLS0bits; 6518 6519 #define _CLC3GLS0_LC3G1D1N 0x01 6520 #define _CLC3GLS0_D1N 0x01 6521 #define _CLC3GLS0_LC3G1D1T 0x02 6522 #define _CLC3GLS0_D1T 0x02 6523 #define _CLC3GLS0_LC3G1D2N 0x04 6524 #define _CLC3GLS0_D2N 0x04 6525 #define _CLC3GLS0_LC3G1D2T 0x08 6526 #define _CLC3GLS0_D2T 0x08 6527 #define _CLC3GLS0_LC3G1D3N 0x10 6528 #define _CLC3GLS0_D3N 0x10 6529 #define _CLC3GLS0_LC3G1D3T 0x20 6530 #define _CLC3GLS0_D3T 0x20 6531 #define _CLC3GLS0_LC3G1D4N 0x40 6532 #define _CLC3GLS0_D4N 0x40 6533 #define _CLC3GLS0_LC3G1D4T 0x80 6534 #define _CLC3GLS0_D4T 0x80 6535 6536 //============================================================================== 6537 6538 6539 //============================================================================== 6540 // CLC3GLS1 Bits 6541 6542 extern __at(0x0F2B) __sfr CLC3GLS1; 6543 6544 typedef union 6545 { 6546 struct 6547 { 6548 unsigned LC3G2D1N : 1; 6549 unsigned LC3G2D1T : 1; 6550 unsigned LC3G2D2N : 1; 6551 unsigned LC3G2D2T : 1; 6552 unsigned LC3G2D3N : 1; 6553 unsigned LC3G2D3T : 1; 6554 unsigned LC3G2D4N : 1; 6555 unsigned LC3G2D4T : 1; 6556 }; 6557 6558 struct 6559 { 6560 unsigned D1N : 1; 6561 unsigned D1T : 1; 6562 unsigned D2N : 1; 6563 unsigned D2T : 1; 6564 unsigned D3N : 1; 6565 unsigned D3T : 1; 6566 unsigned D4N : 1; 6567 unsigned D4T : 1; 6568 }; 6569 } __CLC3GLS1bits_t; 6570 6571 extern __at(0x0F2B) volatile __CLC3GLS1bits_t CLC3GLS1bits; 6572 6573 #define _CLC3GLS1_LC3G2D1N 0x01 6574 #define _CLC3GLS1_D1N 0x01 6575 #define _CLC3GLS1_LC3G2D1T 0x02 6576 #define _CLC3GLS1_D1T 0x02 6577 #define _CLC3GLS1_LC3G2D2N 0x04 6578 #define _CLC3GLS1_D2N 0x04 6579 #define _CLC3GLS1_LC3G2D2T 0x08 6580 #define _CLC3GLS1_D2T 0x08 6581 #define _CLC3GLS1_LC3G2D3N 0x10 6582 #define _CLC3GLS1_D3N 0x10 6583 #define _CLC3GLS1_LC3G2D3T 0x20 6584 #define _CLC3GLS1_D3T 0x20 6585 #define _CLC3GLS1_LC3G2D4N 0x40 6586 #define _CLC3GLS1_D4N 0x40 6587 #define _CLC3GLS1_LC3G2D4T 0x80 6588 #define _CLC3GLS1_D4T 0x80 6589 6590 //============================================================================== 6591 6592 6593 //============================================================================== 6594 // CLC3GLS2 Bits 6595 6596 extern __at(0x0F2C) __sfr CLC3GLS2; 6597 6598 typedef union 6599 { 6600 struct 6601 { 6602 unsigned LC3G3D1N : 1; 6603 unsigned LC3G3D1T : 1; 6604 unsigned LC3G3D2N : 1; 6605 unsigned LC3G3D2T : 1; 6606 unsigned LC3G3D3N : 1; 6607 unsigned LC3G3D3T : 1; 6608 unsigned LC3G3D4N : 1; 6609 unsigned LC3G3D4T : 1; 6610 }; 6611 6612 struct 6613 { 6614 unsigned D1N : 1; 6615 unsigned D1T : 1; 6616 unsigned D2N : 1; 6617 unsigned D2T : 1; 6618 unsigned D3N : 1; 6619 unsigned D3T : 1; 6620 unsigned D4N : 1; 6621 unsigned D4T : 1; 6622 }; 6623 } __CLC3GLS2bits_t; 6624 6625 extern __at(0x0F2C) volatile __CLC3GLS2bits_t CLC3GLS2bits; 6626 6627 #define _CLC3GLS2_LC3G3D1N 0x01 6628 #define _CLC3GLS2_D1N 0x01 6629 #define _CLC3GLS2_LC3G3D1T 0x02 6630 #define _CLC3GLS2_D1T 0x02 6631 #define _CLC3GLS2_LC3G3D2N 0x04 6632 #define _CLC3GLS2_D2N 0x04 6633 #define _CLC3GLS2_LC3G3D2T 0x08 6634 #define _CLC3GLS2_D2T 0x08 6635 #define _CLC3GLS2_LC3G3D3N 0x10 6636 #define _CLC3GLS2_D3N 0x10 6637 #define _CLC3GLS2_LC3G3D3T 0x20 6638 #define _CLC3GLS2_D3T 0x20 6639 #define _CLC3GLS2_LC3G3D4N 0x40 6640 #define _CLC3GLS2_D4N 0x40 6641 #define _CLC3GLS2_LC3G3D4T 0x80 6642 #define _CLC3GLS2_D4T 0x80 6643 6644 //============================================================================== 6645 6646 6647 //============================================================================== 6648 // CLC3GLS3 Bits 6649 6650 extern __at(0x0F2D) __sfr CLC3GLS3; 6651 6652 typedef union 6653 { 6654 struct 6655 { 6656 unsigned LC3G4D1N : 1; 6657 unsigned LC3G4D1T : 1; 6658 unsigned LC3G4D2N : 1; 6659 unsigned LC3G4D2T : 1; 6660 unsigned LC3G4D3N : 1; 6661 unsigned LC3G4D3T : 1; 6662 unsigned LC3G4D4N : 1; 6663 unsigned LC3G4D4T : 1; 6664 }; 6665 6666 struct 6667 { 6668 unsigned G4D1N : 1; 6669 unsigned G4D1T : 1; 6670 unsigned G4D2N : 1; 6671 unsigned G4D2T : 1; 6672 unsigned G4D3N : 1; 6673 unsigned G4D3T : 1; 6674 unsigned G4D4N : 1; 6675 unsigned G4D4T : 1; 6676 }; 6677 } __CLC3GLS3bits_t; 6678 6679 extern __at(0x0F2D) volatile __CLC3GLS3bits_t CLC3GLS3bits; 6680 6681 #define _CLC3GLS3_LC3G4D1N 0x01 6682 #define _CLC3GLS3_G4D1N 0x01 6683 #define _CLC3GLS3_LC3G4D1T 0x02 6684 #define _CLC3GLS3_G4D1T 0x02 6685 #define _CLC3GLS3_LC3G4D2N 0x04 6686 #define _CLC3GLS3_G4D2N 0x04 6687 #define _CLC3GLS3_LC3G4D2T 0x08 6688 #define _CLC3GLS3_G4D2T 0x08 6689 #define _CLC3GLS3_LC3G4D3N 0x10 6690 #define _CLC3GLS3_G4D3N 0x10 6691 #define _CLC3GLS3_LC3G4D3T 0x20 6692 #define _CLC3GLS3_G4D3T 0x20 6693 #define _CLC3GLS3_LC3G4D4N 0x40 6694 #define _CLC3GLS3_G4D4N 0x40 6695 #define _CLC3GLS3_LC3G4D4T 0x80 6696 #define _CLC3GLS3_G4D4T 0x80 6697 6698 //============================================================================== 6699 6700 6701 //============================================================================== 6702 // STATUS_SHAD Bits 6703 6704 extern __at(0x0FE4) __sfr STATUS_SHAD; 6705 6706 typedef struct 6707 { 6708 unsigned C_SHAD : 1; 6709 unsigned DC_SHAD : 1; 6710 unsigned Z_SHAD : 1; 6711 unsigned : 1; 6712 unsigned : 1; 6713 unsigned : 1; 6714 unsigned : 1; 6715 unsigned : 1; 6716 } __STATUS_SHADbits_t; 6717 6718 extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits; 6719 6720 #define _C_SHAD 0x01 6721 #define _DC_SHAD 0x02 6722 #define _Z_SHAD 0x04 6723 6724 //============================================================================== 6725 6726 extern __at(0x0FE5) __sfr WREG_SHAD; 6727 extern __at(0x0FE6) __sfr BSR_SHAD; 6728 extern __at(0x0FE7) __sfr PCLATH_SHAD; 6729 extern __at(0x0FE8) __sfr FSR0L_SHAD; 6730 extern __at(0x0FE9) __sfr FSR0H_SHAD; 6731 extern __at(0x0FEA) __sfr FSR1L_SHAD; 6732 extern __at(0x0FEB) __sfr FSR1H_SHAD; 6733 extern __at(0x0FED) __sfr STKPTR; 6734 extern __at(0x0FEE) __sfr TOSL; 6735 extern __at(0x0FEF) __sfr TOSH; 6736 6737 //============================================================================== 6738 // 6739 // Configuration Bits 6740 // 6741 //============================================================================== 6742 6743 #define _CONFIG1 0x8007 6744 #define _CONFIG2 0x8008 6745 6746 //----------------------------- CONFIG1 Options ------------------------------- 6747 6748 #define _FOSC_LP 0x3FF8 // LP Oscillator, Low-power crystal connected between OSC1 and OSC2 pins. 6749 #define _FOSC_XT 0x3FF9 // XT Oscillator, Crystal/resonator connected between OSC1 and OSC2 pins. 6750 #define _FOSC_HS 0x3FFA // HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins. 6751 #define _FOSC_EXTRC 0x3FFB // EXTRC oscillator: External RC circuit connected to CLKIN pin. 6752 #define _FOSC_INTOSC 0x3FFC // INTOSC oscillator: I/O function on CLKIN pin. 6753 #define _FOSC_ECL 0x3FFD // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pins. 6754 #define _FOSC_ECM 0x3FFE // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pins. 6755 #define _FOSC_ECH 0x3FFF // ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins. 6756 #define _WDTE_OFF 0x3FE7 // WDT disabled. 6757 #define _WDTE_SWDTEN 0x3FEF // WDT controlled by the SWDTEN bit in the WDTCON register. 6758 #define _WDTE_NSLEEP 0x3FF7 // WDT enabled while running and disabled in Sleep. 6759 #define _WDTE_ON 0x3FFF // WDT enabled. 6760 #define _PWRTE_ON 0x3FDF // PWRT enabled. 6761 #define _PWRTE_OFF 0x3FFF // PWRT disabled. 6762 #define _MCLRE_OFF 0x3FBF // MCLR/VPP pin function is digital input. 6763 #define _MCLRE_ON 0x3FFF // MCLR/VPP pin function is MCLR. 6764 #define _CP_ON 0x3F7F // Program memory code protection is enabled. 6765 #define _CP_OFF 0x3FFF // Program memory code protection is disabled. 6766 #define _BOREN_OFF 0x39FF // Brown-out Reset disabled. 6767 #define _BOREN_SBODEN 0x3BFF // Brown-out Reset controlled by the SBOREN bit in the BORCON register. 6768 #define _BOREN_NSLEEP 0x3DFF // Brown-out Reset enabled while running and disabled in Sleep. 6769 #define _BOREN_ON 0x3FFF // Brown-out Reset enabled. 6770 #define _CLKOUTEN_ON 0x37FF // CLKOUT function is enabled on the CLKOUT pin. 6771 #define _CLKOUTEN_OFF 0x3FFF // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin. 6772 #define _IESO_OFF 0x2FFF // Internal/External Switchover Mode is disabled. 6773 #define _IESO_ON 0x3FFF // Internal/External Switchover Mode is enabled. 6774 #define _FCMEN_OFF 0x1FFF // Fail-Safe Clock Monitor is disabled. 6775 #define _FCMEN_ON 0x3FFF // Fail-Safe Clock Monitor is enabled. 6776 6777 //----------------------------- CONFIG2 Options ------------------------------- 6778 6779 #define _WRT_ALL 0x3FFC // 000h to 1FFFh write protected, no addresses may be modified by EECON control. 6780 #define _WRT_HALF 0x3FFD // 000h to FFFh write protected, 1000h to 1FFFh may be modified by EECON control. 6781 #define _WRT_BOOT 0x3FFE // 000h to 1FFh write protected, 200h to 1FFFh may be modified by EECON control. 6782 #define _WRT_OFF 0x3FFF // Write protection off. 6783 #define _PPS1WAY_OFF 0x3FFB // The PPSLOCK bit can be set and cleared repeatedly by software. 6784 #define _PPS1WAY_ON 0x3FFF // The PPSLOCK bit cannot be cleared once it is set by software. 6785 #define _ZCDDIS_OFF 0x3F7F // Zero-cross detect circuit is enabled at POR. 6786 #define _ZCDDIS_ON 0x3FFF // Zero-cross detect circuit is disabled at POR. 6787 #define _PLLEN_OFF 0x3EFF // 4x PLL is enabled when software sets the SPLLEN bit. 6788 #define _PLLEN_ON 0x3FFF // 4x PLL is always enabled. 6789 #define _STVREN_OFF 0x3DFF // Stack Overflow or Underflow will not cause a Reset. 6790 #define _STVREN_ON 0x3FFF // Stack Overflow or Underflow will cause a Reset. 6791 #define _BORV_HI 0x3BFF // Brown-out Reset Voltage (Vbor), high trip point selected. 6792 #define _BORV_LO 0x3FFF // Brown-out Reset Voltage (Vbor), low trip point selected. 6793 #define _LPBOR_ON 0x37FF // Low-Power BOR is enabled. 6794 #define _LPBOR_OFF 0x3FFF // Low-Power BOR is disabled. 6795 #define _DEBUG_ON 0x2FFF // In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger. 6796 #define _DEBUG_OFF 0x3FFF // In-Circuit Debugger disabled, ICSPCLK and ICSPDAT are general purpose I/O pins. 6797 #define _LVP_OFF 0x1FFF // High-voltage on MCLR/VPP must be used for programming. 6798 #define _LVP_ON 0x3FFF // Low-voltage programming enabled. 6799 6800 //============================================================================== 6801 6802 #define _DEVID1 0x8006 6803 6804 #define _IDLOC0 0x8000 6805 #define _IDLOC1 0x8001 6806 #define _IDLOC2 0x8002 6807 #define _IDLOC3 0x8003 6808 6809 //============================================================================== 6810 6811 #ifndef NO_BIT_DEFINES 6812 6813 #define ADON ADCON0bits.ADON // bit 0 6814 #define GO_NOT_DONE ADCON0bits.GO_NOT_DONE // bit 1, shadows bit in ADCON0bits 6815 #define ADGO ADCON0bits.ADGO // bit 1, shadows bit in ADCON0bits 6816 #define GO ADCON0bits.GO // bit 1, shadows bit in ADCON0bits 6817 #define CHS0 ADCON0bits.CHS0 // bit 2 6818 #define CHS1 ADCON0bits.CHS1 // bit 3 6819 #define CHS2 ADCON0bits.CHS2 // bit 4 6820 #define CHS3 ADCON0bits.CHS3 // bit 5 6821 #define CHS4 ADCON0bits.CHS4 // bit 6 6822 6823 #define ADPREF0 ADCON1bits.ADPREF0 // bit 0 6824 #define ADPREF1 ADCON1bits.ADPREF1 // bit 1 6825 #define ADNREF ADCON1bits.ADNREF // bit 2 6826 #define ADCS0 ADCON1bits.ADCS0 // bit 4 6827 #define ADCS1 ADCON1bits.ADCS1 // bit 5 6828 #define ADCS2 ADCON1bits.ADCS2 // bit 6 6829 #define ADFM ADCON1bits.ADFM // bit 7 6830 6831 #define TRIGSEL0 ADCON2bits.TRIGSEL0 // bit 4 6832 #define TRIGSEL1 ADCON2bits.TRIGSEL1 // bit 5 6833 #define TRIGSEL2 ADCON2bits.TRIGSEL2 // bit 6 6834 #define TRIGSEL3 ADCON2bits.TRIGSEL3 // bit 7 6835 6836 #define ANSA0 ANSELAbits.ANSA0 // bit 0 6837 #define ANSA1 ANSELAbits.ANSA1 // bit 1 6838 #define ANSA2 ANSELAbits.ANSA2 // bit 2 6839 #define ANSA4 ANSELAbits.ANSA4 // bit 4 6840 #define ANS5 ANSELAbits.ANS5 // bit 5 6841 6842 #define ANSB4 ANSELBbits.ANSB4 // bit 4 6843 #define ANSB5 ANSELBbits.ANSB5 // bit 5 6844 #define ANSB6 ANSELBbits.ANSB6 // bit 6 6845 #define ANSB7 ANSELBbits.ANSB7 // bit 7 6846 6847 #define ANSC0 ANSELCbits.ANSC0 // bit 0 6848 #define ANSC1 ANSELCbits.ANSC1 // bit 1 6849 #define ANSC2 ANSELCbits.ANSC2 // bit 2 6850 #define ANSC3 ANSELCbits.ANSC3 // bit 3 6851 #define ANSC6 ANSELCbits.ANSC6 // bit 6 6852 #define ANSC7 ANSELCbits.ANSC7 // bit 7 6853 6854 #define ABDEN BAUD1CONbits.ABDEN // bit 0 6855 #define WUE BAUD1CONbits.WUE // bit 1 6856 #define BRG16 BAUD1CONbits.BRG16 // bit 3 6857 #define SCKP BAUD1CONbits.SCKP // bit 4 6858 #define RCIDL BAUD1CONbits.RCIDL // bit 6 6859 #define ABDOVF BAUD1CONbits.ABDOVF // bit 7 6860 6861 #define BORRDY BORCONbits.BORRDY // bit 0 6862 #define BORFS BORCONbits.BORFS // bit 6 6863 #define SBOREN BORCONbits.SBOREN // bit 7 6864 6865 #define BSR0 BSRbits.BSR0 // bit 0 6866 #define BSR1 BSRbits.BSR1 // bit 1 6867 #define BSR2 BSRbits.BSR2 // bit 2 6868 #define BSR3 BSRbits.BSR3 // bit 3 6869 #define BSR4 BSRbits.BSR4 // bit 4 6870 6871 #define CCP1M0 CCP1CONbits.CCP1M0 // bit 0 6872 #define CCP1M1 CCP1CONbits.CCP1M1 // bit 1 6873 #define CCP1M2 CCP1CONbits.CCP1M2 // bit 2 6874 #define CCP1M3 CCP1CONbits.CCP1M3 // bit 3 6875 #define DC1B0 CCP1CONbits.DC1B0 // bit 4, shadows bit in CCP1CONbits 6876 #define CCP1Y CCP1CONbits.CCP1Y // bit 4, shadows bit in CCP1CONbits 6877 #define DC1B1 CCP1CONbits.DC1B1 // bit 5, shadows bit in CCP1CONbits 6878 #define CCP1X CCP1CONbits.CCP1X // bit 5, shadows bit in CCP1CONbits 6879 6880 #define CCP2M0 CCP2CONbits.CCP2M0 // bit 0 6881 #define CCP2M1 CCP2CONbits.CCP2M1 // bit 1 6882 #define CCP2M2 CCP2CONbits.CCP2M2 // bit 2 6883 #define CCP2M3 CCP2CONbits.CCP2M3 // bit 3 6884 #define DC2B0 CCP2CONbits.DC2B0 // bit 4, shadows bit in CCP2CONbits 6885 #define CCP2Y CCP2CONbits.CCP2Y // bit 4, shadows bit in CCP2CONbits 6886 #define DC2B1 CCP2CONbits.DC2B1 // bit 5, shadows bit in CCP2CONbits 6887 #define CCP2X CCP2CONbits.CCP2X // bit 5, shadows bit in CCP2CONbits 6888 6889 #define C1TSEL0 CCPTMRSbits.C1TSEL0 // bit 0 6890 #define C1TSEL1 CCPTMRSbits.C1TSEL1 // bit 1 6891 #define C2TSEL0 CCPTMRSbits.C2TSEL0 // bit 2 6892 #define C2TSEL1 CCPTMRSbits.C2TSEL1 // bit 3 6893 #define P3TSEL0 CCPTMRSbits.P3TSEL0 // bit 4 6894 #define P3TSEL1 CCPTMRSbits.P3TSEL1 // bit 5 6895 #define P4TSEL0 CCPTMRSbits.P4TSEL0 // bit 6 6896 #define P4TSEL1 CCPTMRSbits.P4TSEL1 // bit 7 6897 6898 #define LC1MODE0 CLC1CONbits.LC1MODE0 // bit 0, shadows bit in CLC1CONbits 6899 #define MODE0 CLC1CONbits.MODE0 // bit 0, shadows bit in CLC1CONbits 6900 #define LC1MODE1 CLC1CONbits.LC1MODE1 // bit 1, shadows bit in CLC1CONbits 6901 #define MODE1 CLC1CONbits.MODE1 // bit 1, shadows bit in CLC1CONbits 6902 #define LC1MODE2 CLC1CONbits.LC1MODE2 // bit 2, shadows bit in CLC1CONbits 6903 #define MODE2 CLC1CONbits.MODE2 // bit 2, shadows bit in CLC1CONbits 6904 #define LC1INTN CLC1CONbits.LC1INTN // bit 3, shadows bit in CLC1CONbits 6905 #define INTN CLC1CONbits.INTN // bit 3, shadows bit in CLC1CONbits 6906 #define LC1INTP CLC1CONbits.LC1INTP // bit 4, shadows bit in CLC1CONbits 6907 #define INTP CLC1CONbits.INTP // bit 4, shadows bit in CLC1CONbits 6908 #define LC1OUT CLC1CONbits.LC1OUT // bit 5, shadows bit in CLC1CONbits 6909 #define OUT CLC1CONbits.OUT // bit 5, shadows bit in CLC1CONbits 6910 #define LC1EN CLC1CONbits.LC1EN // bit 7, shadows bit in CLC1CONbits 6911 #define EN CLC1CONbits.EN // bit 7, shadows bit in CLC1CONbits 6912 6913 #define LC1G1D1N CLC1GLS0bits.LC1G1D1N // bit 0, shadows bit in CLC1GLS0bits 6914 #define D1N CLC1GLS0bits.D1N // bit 0, shadows bit in CLC1GLS0bits 6915 #define LC1G1D1T CLC1GLS0bits.LC1G1D1T // bit 1, shadows bit in CLC1GLS0bits 6916 #define D1T CLC1GLS0bits.D1T // bit 1, shadows bit in CLC1GLS0bits 6917 #define LC1G1D2N CLC1GLS0bits.LC1G1D2N // bit 2, shadows bit in CLC1GLS0bits 6918 #define D2N CLC1GLS0bits.D2N // bit 2, shadows bit in CLC1GLS0bits 6919 #define LC1G1D2T CLC1GLS0bits.LC1G1D2T // bit 3, shadows bit in CLC1GLS0bits 6920 #define D2T CLC1GLS0bits.D2T // bit 3, shadows bit in CLC1GLS0bits 6921 #define LC1G1D3N CLC1GLS0bits.LC1G1D3N // bit 4, shadows bit in CLC1GLS0bits 6922 #define D3N CLC1GLS0bits.D3N // bit 4, shadows bit in CLC1GLS0bits 6923 #define LC1G1D3T CLC1GLS0bits.LC1G1D3T // bit 5, shadows bit in CLC1GLS0bits 6924 #define D3T CLC1GLS0bits.D3T // bit 5, shadows bit in CLC1GLS0bits 6925 #define LC1G1D4N CLC1GLS0bits.LC1G1D4N // bit 6, shadows bit in CLC1GLS0bits 6926 #define D4N CLC1GLS0bits.D4N // bit 6, shadows bit in CLC1GLS0bits 6927 #define LC1G1D4T CLC1GLS0bits.LC1G1D4T // bit 7, shadows bit in CLC1GLS0bits 6928 #define D4T CLC1GLS0bits.D4T // bit 7, shadows bit in CLC1GLS0bits 6929 6930 #define LC1G4D1N CLC1GLS3bits.LC1G4D1N // bit 0, shadows bit in CLC1GLS3bits 6931 #define G4D1N CLC1GLS3bits.G4D1N // bit 0, shadows bit in CLC1GLS3bits 6932 #define LC1G4D1T CLC1GLS3bits.LC1G4D1T // bit 1, shadows bit in CLC1GLS3bits 6933 #define G4D1T CLC1GLS3bits.G4D1T // bit 1, shadows bit in CLC1GLS3bits 6934 #define LC1G4D2N CLC1GLS3bits.LC1G4D2N // bit 2, shadows bit in CLC1GLS3bits 6935 #define G4D2N CLC1GLS3bits.G4D2N // bit 2, shadows bit in CLC1GLS3bits 6936 #define LC1G4D2T CLC1GLS3bits.LC1G4D2T // bit 3, shadows bit in CLC1GLS3bits 6937 #define G4D2T CLC1GLS3bits.G4D2T // bit 3, shadows bit in CLC1GLS3bits 6938 #define LC1G4D3N CLC1GLS3bits.LC1G4D3N // bit 4, shadows bit in CLC1GLS3bits 6939 #define G4D3N CLC1GLS3bits.G4D3N // bit 4, shadows bit in CLC1GLS3bits 6940 #define LC1G4D3T CLC1GLS3bits.LC1G4D3T // bit 5, shadows bit in CLC1GLS3bits 6941 #define G4D3T CLC1GLS3bits.G4D3T // bit 5, shadows bit in CLC1GLS3bits 6942 #define LC1G4D4N CLC1GLS3bits.LC1G4D4N // bit 6, shadows bit in CLC1GLS3bits 6943 #define G4D4N CLC1GLS3bits.G4D4N // bit 6, shadows bit in CLC1GLS3bits 6944 #define LC1G4D4T CLC1GLS3bits.LC1G4D4T // bit 7, shadows bit in CLC1GLS3bits 6945 #define G4D4T CLC1GLS3bits.G4D4T // bit 7, shadows bit in CLC1GLS3bits 6946 6947 #define LC1G1POL CLC1POLbits.LC1G1POL // bit 0, shadows bit in CLC1POLbits 6948 #define G1POL CLC1POLbits.G1POL // bit 0, shadows bit in CLC1POLbits 6949 #define LC1G2POL CLC1POLbits.LC1G2POL // bit 1, shadows bit in CLC1POLbits 6950 #define G2POL CLC1POLbits.G2POL // bit 1, shadows bit in CLC1POLbits 6951 #define LC1G3POL CLC1POLbits.LC1G3POL // bit 2, shadows bit in CLC1POLbits 6952 #define G3POL CLC1POLbits.G3POL // bit 2, shadows bit in CLC1POLbits 6953 #define LC1G4POL CLC1POLbits.LC1G4POL // bit 3, shadows bit in CLC1POLbits 6954 #define G4POL CLC1POLbits.G4POL // bit 3, shadows bit in CLC1POLbits 6955 #define LC1POL CLC1POLbits.LC1POL // bit 7, shadows bit in CLC1POLbits 6956 #define POL CLC1POLbits.POL // bit 7, shadows bit in CLC1POLbits 6957 6958 #define LC1D1S0 CLC1SEL0bits.LC1D1S0 // bit 0, shadows bit in CLC1SEL0bits 6959 #define D1S0 CLC1SEL0bits.D1S0 // bit 0, shadows bit in CLC1SEL0bits 6960 #define LC1D1S1 CLC1SEL0bits.LC1D1S1 // bit 1, shadows bit in CLC1SEL0bits 6961 #define D1S1 CLC1SEL0bits.D1S1 // bit 1, shadows bit in CLC1SEL0bits 6962 #define LC1D1S2 CLC1SEL0bits.LC1D1S2 // bit 2, shadows bit in CLC1SEL0bits 6963 #define D1S2 CLC1SEL0bits.D1S2 // bit 2, shadows bit in CLC1SEL0bits 6964 #define LC1D1S3 CLC1SEL0bits.LC1D1S3 // bit 3, shadows bit in CLC1SEL0bits 6965 #define D1S3 CLC1SEL0bits.D1S3 // bit 3, shadows bit in CLC1SEL0bits 6966 #define LC1D1S4 CLC1SEL0bits.LC1D1S4 // bit 4, shadows bit in CLC1SEL0bits 6967 #define D1S4 CLC1SEL0bits.D1S4 // bit 4, shadows bit in CLC1SEL0bits 6968 6969 #define LC1D2S0 CLC1SEL1bits.LC1D2S0 // bit 0, shadows bit in CLC1SEL1bits 6970 #define D2S0 CLC1SEL1bits.D2S0 // bit 0, shadows bit in CLC1SEL1bits 6971 #define LC1D2S1 CLC1SEL1bits.LC1D2S1 // bit 1, shadows bit in CLC1SEL1bits 6972 #define D2S1 CLC1SEL1bits.D2S1 // bit 1, shadows bit in CLC1SEL1bits 6973 #define LC1D2S2 CLC1SEL1bits.LC1D2S2 // bit 2, shadows bit in CLC1SEL1bits 6974 #define D2S2 CLC1SEL1bits.D2S2 // bit 2, shadows bit in CLC1SEL1bits 6975 #define LC1D2S3 CLC1SEL1bits.LC1D2S3 // bit 3, shadows bit in CLC1SEL1bits 6976 #define D2S3 CLC1SEL1bits.D2S3 // bit 3, shadows bit in CLC1SEL1bits 6977 #define LC1D2S4 CLC1SEL1bits.LC1D2S4 // bit 4, shadows bit in CLC1SEL1bits 6978 #define D2S4 CLC1SEL1bits.D2S4 // bit 4, shadows bit in CLC1SEL1bits 6979 6980 #define LC1D3S0 CLC1SEL2bits.LC1D3S0 // bit 0, shadows bit in CLC1SEL2bits 6981 #define D3S0 CLC1SEL2bits.D3S0 // bit 0, shadows bit in CLC1SEL2bits 6982 #define LC1D3S1 CLC1SEL2bits.LC1D3S1 // bit 1, shadows bit in CLC1SEL2bits 6983 #define D3S1 CLC1SEL2bits.D3S1 // bit 1, shadows bit in CLC1SEL2bits 6984 #define LC1D3S2 CLC1SEL2bits.LC1D3S2 // bit 2, shadows bit in CLC1SEL2bits 6985 #define D3S2 CLC1SEL2bits.D3S2 // bit 2, shadows bit in CLC1SEL2bits 6986 #define LC1D3S3 CLC1SEL2bits.LC1D3S3 // bit 3, shadows bit in CLC1SEL2bits 6987 #define D3S3 CLC1SEL2bits.D3S3 // bit 3, shadows bit in CLC1SEL2bits 6988 #define LC1D3S4 CLC1SEL2bits.LC1D3S4 // bit 4, shadows bit in CLC1SEL2bits 6989 #define D3S4 CLC1SEL2bits.D3S4 // bit 4, shadows bit in CLC1SEL2bits 6990 6991 #define LC1D4S0 CLC1SEL3bits.LC1D4S0 // bit 0, shadows bit in CLC1SEL3bits 6992 #define D4S0 CLC1SEL3bits.D4S0 // bit 0, shadows bit in CLC1SEL3bits 6993 #define LC1D4S1 CLC1SEL3bits.LC1D4S1 // bit 1, shadows bit in CLC1SEL3bits 6994 #define D4S1 CLC1SEL3bits.D4S1 // bit 1, shadows bit in CLC1SEL3bits 6995 #define LC1D4S2 CLC1SEL3bits.LC1D4S2 // bit 2, shadows bit in CLC1SEL3bits 6996 #define D4S2 CLC1SEL3bits.D4S2 // bit 2, shadows bit in CLC1SEL3bits 6997 #define LC1D4S3 CLC1SEL3bits.LC1D4S3 // bit 3, shadows bit in CLC1SEL3bits 6998 #define D4S3 CLC1SEL3bits.D4S3 // bit 3, shadows bit in CLC1SEL3bits 6999 #define LC1D4S4 CLC1SEL3bits.LC1D4S4 // bit 4, shadows bit in CLC1SEL3bits 7000 #define D4S4 CLC1SEL3bits.D4S4 // bit 4, shadows bit in CLC1SEL3bits 7001 7002 #define MCLC1OUT CLCDATAbits.MCLC1OUT // bit 0 7003 #define MCLC2OUT CLCDATAbits.MCLC2OUT // bit 1 7004 #define MCLC3OUT CLCDATAbits.MCLC3OUT // bit 2 7005 7006 #define C1SYNC CM1CON0bits.C1SYNC // bit 0 7007 #define C1HYS CM1CON0bits.C1HYS // bit 1 7008 #define C1SP CM1CON0bits.C1SP // bit 2 7009 #define C1ZLF CM1CON0bits.C1ZLF // bit 3 7010 #define C1POL CM1CON0bits.C1POL // bit 4 7011 #define C1OUT CM1CON0bits.C1OUT // bit 6 7012 #define C1ON CM1CON0bits.C1ON // bit 7 7013 7014 #define C1NCH0 CM1CON1bits.C1NCH0 // bit 0 7015 #define C1NCH1 CM1CON1bits.C1NCH1 // bit 1 7016 #define C1NCH2 CM1CON1bits.C1NCH2 // bit 2 7017 #define C1PCH0 CM1CON1bits.C1PCH0 // bit 3 7018 #define C1PCH1 CM1CON1bits.C1PCH1 // bit 4 7019 #define C1PCH2 CM1CON1bits.C1PCH2 // bit 5 7020 #define C1INTN CM1CON1bits.C1INTN // bit 6 7021 #define C1INTP CM1CON1bits.C1INTP // bit 7 7022 7023 #define C2SYNC CM2CON0bits.C2SYNC // bit 0 7024 #define C2HYS CM2CON0bits.C2HYS // bit 1 7025 #define C2SP CM2CON0bits.C2SP // bit 2 7026 #define C2ZLF CM2CON0bits.C2ZLF // bit 3 7027 #define C2POL CM2CON0bits.C2POL // bit 4 7028 #define C2OUT CM2CON0bits.C2OUT // bit 6 7029 #define C2ON CM2CON0bits.C2ON // bit 7 7030 7031 #define C2NCH0 CM2CON1bits.C2NCH0 // bit 0 7032 #define C2NCH1 CM2CON1bits.C2NCH1 // bit 1 7033 #define C2NCH2 CM2CON1bits.C2NCH2 // bit 2 7034 #define C2PCH0 CM2CON1bits.C2PCH0 // bit 3 7035 #define C2PCH1 CM2CON1bits.C2PCH1 // bit 4 7036 #define C2PCH2 CM2CON1bits.C2PCH2 // bit 5 7037 #define C2INTN CM2CON1bits.C2INTN // bit 6 7038 #define C2INTP CM2CON1bits.C2INTP // bit 7 7039 7040 #define MC1OUT CMOUTbits.MC1OUT // bit 0 7041 #define MC2OUT CMOUTbits.MC2OUT // bit 1 7042 7043 #define G1ASDAC0 COG1ASD0bits.G1ASDAC0 // bit 2 7044 #define G1ASDAC1 COG1ASD0bits.G1ASDAC1 // bit 3 7045 #define G1ASDBD0 COG1ASD0bits.G1ASDBD0 // bit 4 7046 #define G1ASDBD1 COG1ASD0bits.G1ASDBD1 // bit 5 7047 #define G1ARSEN COG1ASD0bits.G1ARSEN // bit 6 7048 #define G1ASE COG1ASD0bits.G1ASE // bit 7 7049 7050 #define G1AS0E COG1ASD1bits.G1AS0E // bit 0 7051 #define G1AS1E COG1ASD1bits.G1AS1E // bit 1 7052 #define G1AS2E COG1ASD1bits.G1AS2E // bit 2 7053 #define G1AS3E COG1ASD1bits.G1AS3E // bit 3 7054 7055 #define G1BLKF0 COG1BLKFbits.G1BLKF0 // bit 0 7056 #define G1BLKF1 COG1BLKFbits.G1BLKF1 // bit 1 7057 #define G1BLKF2 COG1BLKFbits.G1BLKF2 // bit 2 7058 #define G1BLKF3 COG1BLKFbits.G1BLKF3 // bit 3 7059 #define G1BLKF4 COG1BLKFbits.G1BLKF4 // bit 4 7060 #define G1BLKF5 COG1BLKFbits.G1BLKF5 // bit 5 7061 7062 #define G1BLKR0 COG1BLKRbits.G1BLKR0 // bit 0 7063 #define G1BLKR1 COG1BLKRbits.G1BLKR1 // bit 1 7064 #define G1BLKR2 COG1BLKRbits.G1BLKR2 // bit 2 7065 #define G1BLKR3 COG1BLKRbits.G1BLKR3 // bit 3 7066 #define G1BLKR4 COG1BLKRbits.G1BLKR4 // bit 4 7067 #define G1BLKR5 COG1BLKRbits.G1BLKR5 // bit 5 7068 7069 #define G1MD0 COG1CON0bits.G1MD0 // bit 0 7070 #define G1MD1 COG1CON0bits.G1MD1 // bit 1 7071 #define G1MD2 COG1CON0bits.G1MD2 // bit 2 7072 #define G1CS0 COG1CON0bits.G1CS0 // bit 3 7073 #define G1CS1 COG1CON0bits.G1CS1 // bit 4 7074 #define G1LD COG1CON0bits.G1LD // bit 6 7075 #define G1EN COG1CON0bits.G1EN // bit 7 7076 7077 #define G1POLA COG1CON1bits.G1POLA // bit 0 7078 #define G1POLB COG1CON1bits.G1POLB // bit 1 7079 #define G1POLC COG1CON1bits.G1POLC // bit 2 7080 #define G1POLD COG1CON1bits.G1POLD // bit 3 7081 #define G1FDBS COG1CON1bits.G1FDBS // bit 6 7082 #define G1RDBS COG1CON1bits.G1RDBS // bit 7 7083 7084 #define G1DBF0 COG1DBFbits.G1DBF0 // bit 0 7085 #define G1DBF1 COG1DBFbits.G1DBF1 // bit 1 7086 #define G1DBF2 COG1DBFbits.G1DBF2 // bit 2 7087 #define G1DBF3 COG1DBFbits.G1DBF3 // bit 3 7088 #define G1DBF4 COG1DBFbits.G1DBF4 // bit 4 7089 #define G1DBF5 COG1DBFbits.G1DBF5 // bit 5 7090 7091 #define G1DBR0 COG1DBRbits.G1DBR0 // bit 0 7092 #define G1DBR1 COG1DBRbits.G1DBR1 // bit 1 7093 #define G1DBR2 COG1DBRbits.G1DBR2 // bit 2 7094 #define G1DBR3 COG1DBRbits.G1DBR3 // bit 3 7095 #define G1DBR4 COG1DBRbits.G1DBR4 // bit 4 7096 #define G1DBR5 COG1DBRbits.G1DBR5 // bit 5 7097 7098 #define G1FIS0 COG1FISbits.G1FIS0 // bit 0 7099 #define G1FIS1 COG1FISbits.G1FIS1 // bit 1 7100 #define G1FIS2 COG1FISbits.G1FIS2 // bit 2 7101 #define G1FIS3 COG1FISbits.G1FIS3 // bit 3 7102 #define G1FIS4 COG1FISbits.G1FIS4 // bit 4 7103 #define G1FIS5 COG1FISbits.G1FIS5 // bit 5 7104 #define G1FIS6 COG1FISbits.G1FIS6 // bit 6 7105 7106 #define G1FSIM0 COG1FSIMbits.G1FSIM0 // bit 0 7107 #define G1FSIM1 COG1FSIMbits.G1FSIM1 // bit 1 7108 #define G1FSIM2 COG1FSIMbits.G1FSIM2 // bit 2 7109 #define G1FSIM3 COG1FSIMbits.G1FSIM3 // bit 3 7110 #define G1FSIM4 COG1FSIMbits.G1FSIM4 // bit 4 7111 #define G1FSIM5 COG1FSIMbits.G1FSIM5 // bit 5 7112 #define G1FSIM6 COG1FSIMbits.G1FSIM6 // bit 6 7113 7114 #define G1PHF0 COG1PHFbits.G1PHF0 // bit 0 7115 #define G1PHF1 COG1PHFbits.G1PHF1 // bit 1 7116 #define G1PHF2 COG1PHFbits.G1PHF2 // bit 2 7117 #define G1PHF3 COG1PHFbits.G1PHF3 // bit 3 7118 #define G1PHF4 COG1PHFbits.G1PHF4 // bit 4 7119 #define G1PHF5 COG1PHFbits.G1PHF5 // bit 5 7120 7121 #define G1PHR0 COG1PHRbits.G1PHR0 // bit 0 7122 #define G1PHR1 COG1PHRbits.G1PHR1 // bit 1 7123 #define G1PHR2 COG1PHRbits.G1PHR2 // bit 2 7124 #define G1PHR3 COG1PHRbits.G1PHR3 // bit 3 7125 #define G1PHR4 COG1PHRbits.G1PHR4 // bit 4 7126 #define G1PHR5 COG1PHRbits.G1PHR5 // bit 5 7127 7128 #define G1RIS0 COG1RISbits.G1RIS0 // bit 0 7129 #define G1RIS1 COG1RISbits.G1RIS1 // bit 1 7130 #define G1RIS2 COG1RISbits.G1RIS2 // bit 2 7131 #define G1RIS3 COG1RISbits.G1RIS3 // bit 3 7132 #define G1RIS4 COG1RISbits.G1RIS4 // bit 4 7133 #define G1RIS5 COG1RISbits.G1RIS5 // bit 5 7134 #define G1RIS6 COG1RISbits.G1RIS6 // bit 6 7135 7136 #define G1RSIM0 COG1RSIMbits.G1RSIM0 // bit 0 7137 #define G1RSIM1 COG1RSIMbits.G1RSIM1 // bit 1 7138 #define G1RSIM2 COG1RSIMbits.G1RSIM2 // bit 2 7139 #define G1RSIM3 COG1RSIMbits.G1RSIM3 // bit 3 7140 #define G1RSIM4 COG1RSIMbits.G1RSIM4 // bit 4 7141 #define G1RSIM5 COG1RSIMbits.G1RSIM5 // bit 5 7142 #define G1RSIM6 COG1RSIMbits.G1RSIM6 // bit 6 7143 7144 #define G1STRA COG1STRbits.G1STRA // bit 0 7145 #define G1STRB COG1STRbits.G1STRB // bit 1 7146 #define G1STRC COG1STRbits.G1STRC // bit 2 7147 #define G1STRD COG1STRbits.G1STRD // bit 3 7148 #define G1SDATA COG1STRbits.G1SDATA // bit 4 7149 #define G1SDATB COG1STRbits.G1SDATB // bit 5 7150 #define G1SDATC COG1STRbits.G1SDATC // bit 6 7151 #define G1SDATD COG1STRbits.G1SDATD // bit 7 7152 7153 #define DAC1NSS DAC1CON0bits.DAC1NSS // bit 0, shadows bit in DAC1CON0bits 7154 #define DACNSS DAC1CON0bits.DACNSS // bit 0, shadows bit in DAC1CON0bits 7155 #define DAC1PSS0 DAC1CON0bits.DAC1PSS0 // bit 2, shadows bit in DAC1CON0bits 7156 #define DACPSS0 DAC1CON0bits.DACPSS0 // bit 2, shadows bit in DAC1CON0bits 7157 #define DAC1PSS1 DAC1CON0bits.DAC1PSS1 // bit 3, shadows bit in DAC1CON0bits 7158 #define DACPSS1 DAC1CON0bits.DACPSS1 // bit 3, shadows bit in DAC1CON0bits 7159 #define DAC1OE2 DAC1CON0bits.DAC1OE2 // bit 4, shadows bit in DAC1CON0bits 7160 #define DACOE0 DAC1CON0bits.DACOE0 // bit 4, shadows bit in DAC1CON0bits 7161 #define DAC1OE1 DAC1CON0bits.DAC1OE1 // bit 5, shadows bit in DAC1CON0bits 7162 #define DACOE1 DAC1CON0bits.DACOE1 // bit 5, shadows bit in DAC1CON0bits 7163 #define DAC1EN DAC1CON0bits.DAC1EN // bit 7, shadows bit in DAC1CON0bits 7164 #define DACEN DAC1CON0bits.DACEN // bit 7, shadows bit in DAC1CON0bits 7165 7166 #define DAC1R0 DAC1CON1bits.DAC1R0 // bit 0, shadows bit in DAC1CON1bits 7167 #define DACR0 DAC1CON1bits.DACR0 // bit 0, shadows bit in DAC1CON1bits 7168 #define DAC1R1 DAC1CON1bits.DAC1R1 // bit 1, shadows bit in DAC1CON1bits 7169 #define DACR1 DAC1CON1bits.DACR1 // bit 1, shadows bit in DAC1CON1bits 7170 #define DAC1R2 DAC1CON1bits.DAC1R2 // bit 2, shadows bit in DAC1CON1bits 7171 #define DACR2 DAC1CON1bits.DACR2 // bit 2, shadows bit in DAC1CON1bits 7172 #define DAC1R3 DAC1CON1bits.DAC1R3 // bit 3, shadows bit in DAC1CON1bits 7173 #define DACR3 DAC1CON1bits.DACR3 // bit 3, shadows bit in DAC1CON1bits 7174 #define DAC1R4 DAC1CON1bits.DAC1R4 // bit 4, shadows bit in DAC1CON1bits 7175 #define DACR4 DAC1CON1bits.DACR4 // bit 4, shadows bit in DAC1CON1bits 7176 #define DAC1R5 DAC1CON1bits.DAC1R5 // bit 5, shadows bit in DAC1CON1bits 7177 #define DACR5 DAC1CON1bits.DACR5 // bit 5, shadows bit in DAC1CON1bits 7178 #define DAC1R6 DAC1CON1bits.DAC1R6 // bit 6, shadows bit in DAC1CON1bits 7179 #define DACR6 DAC1CON1bits.DACR6 // bit 6, shadows bit in DAC1CON1bits 7180 #define DAC1R7 DAC1CON1bits.DAC1R7 // bit 7, shadows bit in DAC1CON1bits 7181 #define DACR7 DAC1CON1bits.DACR7 // bit 7, shadows bit in DAC1CON1bits 7182 7183 #define ADFVR0 FVRCONbits.ADFVR0 // bit 0 7184 #define ADFVR1 FVRCONbits.ADFVR1 // bit 1 7185 #define CDAFVR0 FVRCONbits.CDAFVR0 // bit 2 7186 #define CDAFVR1 FVRCONbits.CDAFVR1 // bit 3 7187 #define TSRNG FVRCONbits.TSRNG // bit 4 7188 #define TSEN FVRCONbits.TSEN // bit 5 7189 #define FVRRDY FVRCONbits.FVRRDY // bit 6 7190 #define FVREN FVRCONbits.FVREN // bit 7 7191 7192 #define INLVLA0 INLVLAbits.INLVLA0 // bit 0 7193 #define INLVLA1 INLVLAbits.INLVLA1 // bit 1 7194 #define INLVLA2 INLVLAbits.INLVLA2 // bit 2 7195 #define INLVLA3 INLVLAbits.INLVLA3 // bit 3 7196 #define INLVLA4 INLVLAbits.INLVLA4 // bit 4 7197 #define INLVLA5 INLVLAbits.INLVLA5 // bit 5 7198 7199 #define INLVLB4 INLVLBbits.INLVLB4 // bit 4 7200 #define INLVLB5 INLVLBbits.INLVLB5 // bit 5 7201 #define INLVLB6 INLVLBbits.INLVLB6 // bit 6 7202 #define INLVLB7 INLVLBbits.INLVLB7 // bit 7 7203 7204 #define INLVLC0 INLVLCbits.INLVLC0 // bit 0 7205 #define INLVLC1 INLVLCbits.INLVLC1 // bit 1 7206 #define INLVLC2 INLVLCbits.INLVLC2 // bit 2 7207 #define INLVLC3 INLVLCbits.INLVLC3 // bit 3 7208 #define INLVLC4 INLVLCbits.INLVLC4 // bit 4 7209 #define INLVLC5 INLVLCbits.INLVLC5 // bit 5 7210 #define INLVLC6 INLVLCbits.INLVLC6 // bit 6 7211 #define INLVLC7 INLVLCbits.INLVLC7 // bit 7 7212 7213 #define IOCIF INTCONbits.IOCIF // bit 0 7214 #define INTF INTCONbits.INTF // bit 1 7215 #define TMR0IF INTCONbits.TMR0IF // bit 2, shadows bit in INTCONbits 7216 #define T0IF INTCONbits.T0IF // bit 2, shadows bit in INTCONbits 7217 #define IOCIE INTCONbits.IOCIE // bit 3 7218 #define INTE INTCONbits.INTE // bit 4 7219 #define TMR0IE INTCONbits.TMR0IE // bit 5, shadows bit in INTCONbits 7220 #define T0IE INTCONbits.T0IE // bit 5, shadows bit in INTCONbits 7221 #define PEIE INTCONbits.PEIE // bit 6 7222 #define GIE INTCONbits.GIE // bit 7 7223 7224 #define IOCAF0 IOCAFbits.IOCAF0 // bit 0 7225 #define IOCAF1 IOCAFbits.IOCAF1 // bit 1 7226 #define IOCAF2 IOCAFbits.IOCAF2 // bit 2 7227 #define IOCAF3 IOCAFbits.IOCAF3 // bit 3 7228 #define IOCAF4 IOCAFbits.IOCAF4 // bit 4 7229 #define IOCAF5 IOCAFbits.IOCAF5 // bit 5 7230 7231 #define IOCAN0 IOCANbits.IOCAN0 // bit 0 7232 #define IOCAN1 IOCANbits.IOCAN1 // bit 1 7233 #define IOCAN2 IOCANbits.IOCAN2 // bit 2 7234 #define IOCAN3 IOCANbits.IOCAN3 // bit 3 7235 #define IOCAN4 IOCANbits.IOCAN4 // bit 4 7236 #define IOCAN5 IOCANbits.IOCAN5 // bit 5 7237 7238 #define IOCAP0 IOCAPbits.IOCAP0 // bit 0 7239 #define IOCAP1 IOCAPbits.IOCAP1 // bit 1 7240 #define IOCAP2 IOCAPbits.IOCAP2 // bit 2 7241 #define IOCAP3 IOCAPbits.IOCAP3 // bit 3 7242 #define IOCAP4 IOCAPbits.IOCAP4 // bit 4 7243 #define IOCAP5 IOCAPbits.IOCAP5 // bit 5 7244 7245 #define IOCBF4 IOCBFbits.IOCBF4 // bit 4 7246 #define IOCBF5 IOCBFbits.IOCBF5 // bit 5 7247 #define IOCBF6 IOCBFbits.IOCBF6 // bit 6 7248 #define IOCBF7 IOCBFbits.IOCBF7 // bit 7 7249 7250 #define IOCBN4 IOCBNbits.IOCBN4 // bit 4 7251 #define IOCBN5 IOCBNbits.IOCBN5 // bit 5 7252 #define IOCBN6 IOCBNbits.IOCBN6 // bit 6 7253 #define IOCBN7 IOCBNbits.IOCBN7 // bit 7 7254 7255 #define IOCBP4 IOCBPbits.IOCBP4 // bit 4 7256 #define IOCBP5 IOCBPbits.IOCBP5 // bit 5 7257 #define IOCBP6 IOCBPbits.IOCBP6 // bit 6 7258 #define IOCBP7 IOCBPbits.IOCBP7 // bit 7 7259 7260 #define IOCCF0 IOCCFbits.IOCCF0 // bit 0 7261 #define IOCCF1 IOCCFbits.IOCCF1 // bit 1 7262 #define IOCCF2 IOCCFbits.IOCCF2 // bit 2 7263 #define IOCCF3 IOCCFbits.IOCCF3 // bit 3 7264 #define IOCCF4 IOCCFbits.IOCCF4 // bit 4 7265 #define IOCCF5 IOCCFbits.IOCCF5 // bit 5 7266 #define IOCCF6 IOCCFbits.IOCCF6 // bit 6 7267 #define IOCCF7 IOCCFbits.IOCCF7 // bit 7 7268 7269 #define IOCCN0 IOCCNbits.IOCCN0 // bit 0 7270 #define IOCCN1 IOCCNbits.IOCCN1 // bit 1 7271 #define IOCCN2 IOCCNbits.IOCCN2 // bit 2 7272 #define IOCCN3 IOCCNbits.IOCCN3 // bit 3 7273 #define IOCCN4 IOCCNbits.IOCCN4 // bit 4 7274 #define IOCCN5 IOCCNbits.IOCCN5 // bit 5 7275 #define IOCCN6 IOCCNbits.IOCCN6 // bit 6 7276 #define IOCCN7 IOCCNbits.IOCCN7 // bit 7 7277 7278 #define IOCCP0 IOCCPbits.IOCCP0 // bit 0 7279 #define IOCCP1 IOCCPbits.IOCCP1 // bit 1 7280 #define IOCCP2 IOCCPbits.IOCCP2 // bit 2 7281 #define IOCCP3 IOCCPbits.IOCCP3 // bit 3 7282 #define IOCCP4 IOCCPbits.IOCCP4 // bit 4 7283 #define IOCCP5 IOCCPbits.IOCCP5 // bit 5 7284 #define IOCCP6 IOCCPbits.IOCCP6 // bit 6 7285 #define IOCCP7 IOCCPbits.IOCCP7 // bit 7 7286 7287 #define LATA0 LATAbits.LATA0 // bit 0 7288 #define LATA1 LATAbits.LATA1 // bit 1 7289 #define LATA2 LATAbits.LATA2 // bit 2 7290 #define LATA4 LATAbits.LATA4 // bit 4 7291 #define LATA5 LATAbits.LATA5 // bit 5 7292 7293 #define LATB4 LATBbits.LATB4 // bit 4 7294 #define LATB5 LATBbits.LATB5 // bit 5 7295 #define LATB6 LATBbits.LATB6 // bit 6 7296 #define LATB7 LATBbits.LATB7 // bit 7 7297 7298 #define LATC0 LATCbits.LATC0 // bit 0 7299 #define LATC1 LATCbits.LATC1 // bit 1 7300 #define LATC2 LATCbits.LATC2 // bit 2 7301 #define LATC3 LATCbits.LATC3 // bit 3 7302 #define LATC4 LATCbits.LATC4 // bit 4 7303 #define LATC5 LATCbits.LATC5 // bit 5 7304 #define LATC6 LATCbits.LATC6 // bit 6 7305 #define LATC7 LATCbits.LATC7 // bit 7 7306 7307 #define ODA0 ODCONAbits.ODA0 // bit 0 7308 #define ODA1 ODCONAbits.ODA1 // bit 1 7309 #define ODA2 ODCONAbits.ODA2 // bit 2 7310 #define ODA4 ODCONAbits.ODA4 // bit 4 7311 #define ODA5 ODCONAbits.ODA5 // bit 5 7312 7313 #define ODB4 ODCONBbits.ODB4 // bit 4 7314 #define ODB5 ODCONBbits.ODB5 // bit 5 7315 #define ODB6 ODCONBbits.ODB6 // bit 6 7316 #define ODB7 ODCONBbits.ODB7 // bit 7 7317 7318 #define ODC0 ODCONCbits.ODC0 // bit 0 7319 #define ODC1 ODCONCbits.ODC1 // bit 1 7320 #define ODC2 ODCONCbits.ODC2 // bit 2 7321 #define ODC3 ODCONCbits.ODC3 // bit 3 7322 #define ODC4 ODCONCbits.ODC4 // bit 4 7323 #define ODC5 ODCONCbits.ODC5 // bit 5 7324 #define ODC6 ODCONCbits.ODC6 // bit 6 7325 #define ODC7 ODCONCbits.ODC7 // bit 7 7326 7327 #define OPA1PCH0 OPA1CONbits.OPA1PCH0 // bit 0 7328 #define OPA1PCH1 OPA1CONbits.OPA1PCH1 // bit 1 7329 #define OPA1UG OPA1CONbits.OPA1UG // bit 4 7330 #define OPA1SP OPA1CONbits.OPA1SP // bit 6 7331 #define OPA1EN OPA1CONbits.OPA1EN // bit 7 7332 7333 #define OPA2PCH0 OPA2CONbits.OPA2PCH0 // bit 0 7334 #define OPA2PCH1 OPA2CONbits.OPA2PCH1 // bit 1 7335 #define OPA2UG OPA2CONbits.OPA2UG // bit 4 7336 #define OPA2SP OPA2CONbits.OPA2SP // bit 6 7337 #define OPA2EN OPA2CONbits.OPA2EN // bit 7 7338 7339 #define PS0 OPTION_REGbits.PS0 // bit 0 7340 #define PS1 OPTION_REGbits.PS1 // bit 1 7341 #define PS2 OPTION_REGbits.PS2 // bit 2 7342 #define PSA OPTION_REGbits.PSA // bit 3 7343 #define TMR0SE OPTION_REGbits.TMR0SE // bit 4, shadows bit in OPTION_REGbits 7344 #define T0SE OPTION_REGbits.T0SE // bit 4, shadows bit in OPTION_REGbits 7345 #define TMR0CS OPTION_REGbits.TMR0CS // bit 5, shadows bit in OPTION_REGbits 7346 #define T0CS OPTION_REGbits.T0CS // bit 5, shadows bit in OPTION_REGbits 7347 #define INTEDG OPTION_REGbits.INTEDG // bit 6 7348 #define NOT_WPUEN OPTION_REGbits.NOT_WPUEN // bit 7 7349 7350 #define SCS0 OSCCONbits.SCS0 // bit 0 7351 #define SCS1 OSCCONbits.SCS1 // bit 1 7352 #define IRCF0 OSCCONbits.IRCF0 // bit 3 7353 #define IRCF1 OSCCONbits.IRCF1 // bit 4 7354 #define IRCF2 OSCCONbits.IRCF2 // bit 5 7355 #define IRCF3 OSCCONbits.IRCF3 // bit 6 7356 #define SPLLEN OSCCONbits.SPLLEN // bit 7 7357 7358 #define HFIOFS OSCSTATbits.HFIOFS // bit 0 7359 #define LFIOFR OSCSTATbits.LFIOFR // bit 1 7360 #define MFIOFR OSCSTATbits.MFIOFR // bit 2 7361 #define HFIOFL OSCSTATbits.HFIOFL // bit 3 7362 #define HFIOFR OSCSTATbits.HFIOFR // bit 4 7363 #define OSTS OSCSTATbits.OSTS // bit 5 7364 #define PLLR OSCSTATbits.PLLR // bit 6 7365 #define SOSCR OSCSTATbits.SOSCR // bit 7 7366 7367 #define TUN0 OSCTUNEbits.TUN0 // bit 0 7368 #define TUN1 OSCTUNEbits.TUN1 // bit 1 7369 #define TUN2 OSCTUNEbits.TUN2 // bit 2 7370 #define TUN3 OSCTUNEbits.TUN3 // bit 3 7371 #define TUN4 OSCTUNEbits.TUN4 // bit 4 7372 #define TUN5 OSCTUNEbits.TUN5 // bit 5 7373 7374 #define NOT_BOR PCONbits.NOT_BOR // bit 0 7375 #define NOT_POR PCONbits.NOT_POR // bit 1 7376 #define NOT_RI PCONbits.NOT_RI // bit 2 7377 #define NOT_RMCLR PCONbits.NOT_RMCLR // bit 3 7378 #define NOT_RWDT PCONbits.NOT_RWDT // bit 4 7379 #define STKUNF PCONbits.STKUNF // bit 6 7380 #define STKOVF PCONbits.STKOVF // bit 7 7381 7382 #define TMR1IE PIE1bits.TMR1IE // bit 0 7383 #define TMR2IE PIE1bits.TMR2IE // bit 1 7384 #define CCP1IE PIE1bits.CCP1IE // bit 2, shadows bit in PIE1bits 7385 #define CCPIE PIE1bits.CCPIE // bit 2, shadows bit in PIE1bits 7386 #define SSP1IE PIE1bits.SSP1IE // bit 3 7387 #define TXIE PIE1bits.TXIE // bit 4 7388 #define RCIE PIE1bits.RCIE // bit 5 7389 #define ADIE PIE1bits.ADIE // bit 6 7390 #define TMR1GIE PIE1bits.TMR1GIE // bit 7 7391 7392 #define CCP2IE PIE2bits.CCP2IE // bit 0 7393 #define TMR4IE PIE2bits.TMR4IE // bit 1 7394 #define TMR6IE PIE2bits.TMR6IE // bit 2 7395 #define BCL1IE PIE2bits.BCL1IE // bit 3 7396 #define C1IE PIE2bits.C1IE // bit 5 7397 #define C2IE PIE2bits.C2IE // bit 6 7398 #define OSFIE PIE2bits.OSFIE // bit 7 7399 7400 #define CLC1IE PIE3bits.CLC1IE // bit 0 7401 #define CLC2IE PIE3bits.CLC2IE // bit 1 7402 #define CLC3IE PIE3bits.CLC3IE // bit 2 7403 #define ZCDIE PIE3bits.ZCDIE // bit 4 7404 #define COGIE PIE3bits.COGIE // bit 5 7405 7406 #define TMR1IF PIR1bits.TMR1IF // bit 0 7407 #define TMR2IF PIR1bits.TMR2IF // bit 1 7408 #define CCP1IF PIR1bits.CCP1IF // bit 2, shadows bit in PIR1bits 7409 #define CCPIF PIR1bits.CCPIF // bit 2, shadows bit in PIR1bits 7410 #define SSP1IF PIR1bits.SSP1IF // bit 3 7411 #define TXIF PIR1bits.TXIF // bit 4 7412 #define RCIF PIR1bits.RCIF // bit 5 7413 #define ADIF PIR1bits.ADIF // bit 6 7414 #define TMR1GIF PIR1bits.TMR1GIF // bit 7 7415 7416 #define CCP2IF PIR2bits.CCP2IF // bit 0 7417 #define TMR4IF PIR2bits.TMR4IF // bit 1 7418 #define TMR6IF PIR2bits.TMR6IF // bit 2 7419 #define BCL1IF PIR2bits.BCL1IF // bit 3 7420 #define C1IF PIR2bits.C1IF // bit 5 7421 #define C2IF PIR2bits.C2IF // bit 6 7422 #define OSFIF PIR2bits.OSFIF // bit 7 7423 7424 #define CLC1IF PIR3bits.CLC1IF // bit 0 7425 #define CLC2IF PIR3bits.CLC2IF // bit 1 7426 #define CLC3IF PIR3bits.CLC3IF // bit 2 7427 #define ZCDIF PIR3bits.ZCDIF // bit 4 7428 #define COGIF PIR3bits.COGIF // bit 5 7429 7430 #define RD PMCON1bits.RD // bit 0 7431 #define WR PMCON1bits.WR // bit 1 7432 #define WREN PMCON1bits.WREN // bit 2 7433 #define WRERR PMCON1bits.WRERR // bit 3 7434 #define FREE PMCON1bits.FREE // bit 4 7435 #define LWLO PMCON1bits.LWLO // bit 5 7436 #define CFGS PMCON1bits.CFGS // bit 6 7437 7438 #define RA0 PORTAbits.RA0 // bit 0 7439 #define RA1 PORTAbits.RA1 // bit 1 7440 #define RA2 PORTAbits.RA2 // bit 2 7441 #define RA3 PORTAbits.RA3 // bit 3 7442 #define RA4 PORTAbits.RA4 // bit 4 7443 #define RA5 PORTAbits.RA5 // bit 5 7444 7445 #define RB4 PORTBbits.RB4 // bit 4 7446 #define RB5 PORTBbits.RB5 // bit 5 7447 #define RB6 PORTBbits.RB6 // bit 6 7448 #define RB7 PORTBbits.RB7 // bit 7 7449 7450 #define RC0 PORTCbits.RC0 // bit 0 7451 #define RC1 PORTCbits.RC1 // bit 1 7452 #define RC2 PORTCbits.RC2 // bit 2 7453 #define RC3 PORTCbits.RC3 // bit 3 7454 #define RC4 PORTCbits.RC4 // bit 4 7455 #define RC5 PORTCbits.RC5 // bit 5 7456 #define RC6 PORTCbits.RC6 // bit 6 7457 #define RC7 PORTCbits.RC7 // bit 7 7458 7459 #define PPSLOCKED PPSLOCKbits.PPSLOCKED // bit 0 7460 7461 #define PWM3POL PWM3CONbits.PWM3POL // bit 4 7462 #define PWM3OUT PWM3CONbits.PWM3OUT // bit 5 7463 #define PWM3EN PWM3CONbits.PWM3EN // bit 7 7464 7465 #define PWM3DCH0 PWM3DCHbits.PWM3DCH0 // bit 0 7466 #define PWM3DCH1 PWM3DCHbits.PWM3DCH1 // bit 1 7467 #define PWM3DCH2 PWM3DCHbits.PWM3DCH2 // bit 2 7468 #define PWM3DCH3 PWM3DCHbits.PWM3DCH3 // bit 3 7469 #define PWM3DCH4 PWM3DCHbits.PWM3DCH4 // bit 4 7470 #define PWM3DCH5 PWM3DCHbits.PWM3DCH5 // bit 5 7471 #define PWM3DCH6 PWM3DCHbits.PWM3DCH6 // bit 6 7472 #define PWM3DCH7 PWM3DCHbits.PWM3DCH7 // bit 7 7473 7474 #define PWM3DCL0 PWM3DCLbits.PWM3DCL0 // bit 6 7475 #define PWM3DCL1 PWM3DCLbits.PWM3DCL1 // bit 7 7476 7477 #define PWM4POL PWM4CONbits.PWM4POL // bit 4 7478 #define PWM4OUT PWM4CONbits.PWM4OUT // bit 5 7479 #define PWM4EN PWM4CONbits.PWM4EN // bit 7 7480 7481 #define PWM4DCH0 PWM4DCHbits.PWM4DCH0 // bit 0 7482 #define PWM4DCH1 PWM4DCHbits.PWM4DCH1 // bit 1 7483 #define PWM4DCH2 PWM4DCHbits.PWM4DCH2 // bit 2 7484 #define PWM4DCH3 PWM4DCHbits.PWM4DCH3 // bit 3 7485 #define PWM4DCH4 PWM4DCHbits.PWM4DCH4 // bit 4 7486 #define PWM4DCH5 PWM4DCHbits.PWM4DCH5 // bit 5 7487 #define PWM4DCH6 PWM4DCHbits.PWM4DCH6 // bit 6 7488 #define PWM4DCH7 PWM4DCHbits.PWM4DCH7 // bit 7 7489 7490 #define PWM4DCL0 PWM4DCLbits.PWM4DCL0 // bit 6 7491 #define PWM4DCL1 PWM4DCLbits.PWM4DCL1 // bit 7 7492 7493 #define RX9D RC1STAbits.RX9D // bit 0 7494 #define OERR RC1STAbits.OERR // bit 1 7495 #define FERR RC1STAbits.FERR // bit 2 7496 #define ADDEN RC1STAbits.ADDEN // bit 3 7497 #define CREN RC1STAbits.CREN // bit 4 7498 #define SREN RC1STAbits.SREN // bit 5 7499 #define RX9 RC1STAbits.RX9 // bit 6 7500 #define SPEN RC1STAbits.SPEN // bit 7 7501 7502 #define SLRA0 SLRCONAbits.SLRA0 // bit 0 7503 #define SLRA1 SLRCONAbits.SLRA1 // bit 1 7504 #define SLRA2 SLRCONAbits.SLRA2 // bit 2 7505 #define SLRA4 SLRCONAbits.SLRA4 // bit 4 7506 #define SLRA5 SLRCONAbits.SLRA5 // bit 5 7507 7508 #define SLRB4 SLRCONBbits.SLRB4 // bit 4 7509 #define SLRB5 SLRCONBbits.SLRB5 // bit 5 7510 #define SLRB6 SLRCONBbits.SLRB6 // bit 6 7511 #define SLRB7 SLRCONBbits.SLRB7 // bit 7 7512 7513 #define SLRC0 SLRCONCbits.SLRC0 // bit 0 7514 #define SLRC1 SLRCONCbits.SLRC1 // bit 1 7515 #define SLRC2 SLRCONCbits.SLRC2 // bit 2 7516 #define SLRC3 SLRCONCbits.SLRC3 // bit 3 7517 #define SLRC4 SLRCONCbits.SLRC4 // bit 4 7518 #define SLRC5 SLRCONCbits.SLRC5 // bit 5 7519 #define SLRC6 SLRCONCbits.SLRC6 // bit 6 7520 #define SLRC7 SLRCONCbits.SLRC7 // bit 7 7521 7522 #define SSP1ADD0 SSP1ADDbits.SSP1ADD0 // bit 0, shadows bit in SSP1ADDbits 7523 #define ADD0 SSP1ADDbits.ADD0 // bit 0, shadows bit in SSP1ADDbits 7524 #define SSP1ADD1 SSP1ADDbits.SSP1ADD1 // bit 1, shadows bit in SSP1ADDbits 7525 #define ADD1 SSP1ADDbits.ADD1 // bit 1, shadows bit in SSP1ADDbits 7526 #define SSP1ADD2 SSP1ADDbits.SSP1ADD2 // bit 2, shadows bit in SSP1ADDbits 7527 #define ADD2 SSP1ADDbits.ADD2 // bit 2, shadows bit in SSP1ADDbits 7528 #define SSP1ADD3 SSP1ADDbits.SSP1ADD3 // bit 3, shadows bit in SSP1ADDbits 7529 #define ADD3 SSP1ADDbits.ADD3 // bit 3, shadows bit in SSP1ADDbits 7530 #define SSP1ADD4 SSP1ADDbits.SSP1ADD4 // bit 4, shadows bit in SSP1ADDbits 7531 #define ADD4 SSP1ADDbits.ADD4 // bit 4, shadows bit in SSP1ADDbits 7532 #define SSP1ADD5 SSP1ADDbits.SSP1ADD5 // bit 5, shadows bit in SSP1ADDbits 7533 #define ADD5 SSP1ADDbits.ADD5 // bit 5, shadows bit in SSP1ADDbits 7534 #define SSP1ADD6 SSP1ADDbits.SSP1ADD6 // bit 6, shadows bit in SSP1ADDbits 7535 #define ADD6 SSP1ADDbits.ADD6 // bit 6, shadows bit in SSP1ADDbits 7536 #define SSP1ADD7 SSP1ADDbits.SSP1ADD7 // bit 7, shadows bit in SSP1ADDbits 7537 #define ADD7 SSP1ADDbits.ADD7 // bit 7, shadows bit in SSP1ADDbits 7538 7539 #define SSP1BUF0 SSP1BUFbits.SSP1BUF0 // bit 0, shadows bit in SSP1BUFbits 7540 #define BUF0 SSP1BUFbits.BUF0 // bit 0, shadows bit in SSP1BUFbits 7541 #define SSP1BUF1 SSP1BUFbits.SSP1BUF1 // bit 1, shadows bit in SSP1BUFbits 7542 #define BUF1 SSP1BUFbits.BUF1 // bit 1, shadows bit in SSP1BUFbits 7543 #define SSP1BUF2 SSP1BUFbits.SSP1BUF2 // bit 2, shadows bit in SSP1BUFbits 7544 #define BUF2 SSP1BUFbits.BUF2 // bit 2, shadows bit in SSP1BUFbits 7545 #define SSP1BUF3 SSP1BUFbits.SSP1BUF3 // bit 3, shadows bit in SSP1BUFbits 7546 #define BUF3 SSP1BUFbits.BUF3 // bit 3, shadows bit in SSP1BUFbits 7547 #define SSP1BUF4 SSP1BUFbits.SSP1BUF4 // bit 4, shadows bit in SSP1BUFbits 7548 #define BUF4 SSP1BUFbits.BUF4 // bit 4, shadows bit in SSP1BUFbits 7549 #define SSP1BUF5 SSP1BUFbits.SSP1BUF5 // bit 5, shadows bit in SSP1BUFbits 7550 #define BUF5 SSP1BUFbits.BUF5 // bit 5, shadows bit in SSP1BUFbits 7551 #define SSP1BUF6 SSP1BUFbits.SSP1BUF6 // bit 6, shadows bit in SSP1BUFbits 7552 #define BUF6 SSP1BUFbits.BUF6 // bit 6, shadows bit in SSP1BUFbits 7553 #define SSP1BUF7 SSP1BUFbits.SSP1BUF7 // bit 7, shadows bit in SSP1BUFbits 7554 #define BUF7 SSP1BUFbits.BUF7 // bit 7, shadows bit in SSP1BUFbits 7555 7556 #define SSPM0 SSP1CONbits.SSPM0 // bit 0 7557 #define SSPM1 SSP1CONbits.SSPM1 // bit 1 7558 #define SSPM2 SSP1CONbits.SSPM2 // bit 2 7559 #define SSPM3 SSP1CONbits.SSPM3 // bit 3 7560 #define CKP SSP1CONbits.CKP // bit 4 7561 #define SSPEN SSP1CONbits.SSPEN // bit 5 7562 #define SSPOV SSP1CONbits.SSPOV // bit 6 7563 #define WCOL SSP1CONbits.WCOL // bit 7 7564 7565 #define SEN SSP1CON2bits.SEN // bit 0 7566 #define RSEN SSP1CON2bits.RSEN // bit 1 7567 #define PEN SSP1CON2bits.PEN // bit 2 7568 #define RCEN SSP1CON2bits.RCEN // bit 3 7569 #define ACKEN SSP1CON2bits.ACKEN // bit 4 7570 #define ACKDT SSP1CON2bits.ACKDT // bit 5 7571 #define ACKSTAT SSP1CON2bits.ACKSTAT // bit 6 7572 #define GCEN SSP1CON2bits.GCEN // bit 7 7573 7574 #define DHEN SSP1CON3bits.DHEN // bit 0 7575 #define AHEN SSP1CON3bits.AHEN // bit 1 7576 #define SBCDE SSP1CON3bits.SBCDE // bit 2 7577 #define SDAHT SSP1CON3bits.SDAHT // bit 3 7578 #define BOEN SSP1CON3bits.BOEN // bit 4 7579 #define SCIE SSP1CON3bits.SCIE // bit 5 7580 #define PCIE SSP1CON3bits.PCIE // bit 6 7581 #define ACKTIM SSP1CON3bits.ACKTIM // bit 7 7582 7583 #define SSP1MSK0 SSP1MSKbits.SSP1MSK0 // bit 0, shadows bit in SSP1MSKbits 7584 #define MSK0 SSP1MSKbits.MSK0 // bit 0, shadows bit in SSP1MSKbits 7585 #define SSP1MSK1 SSP1MSKbits.SSP1MSK1 // bit 1, shadows bit in SSP1MSKbits 7586 #define MSK1 SSP1MSKbits.MSK1 // bit 1, shadows bit in SSP1MSKbits 7587 #define SSP1MSK2 SSP1MSKbits.SSP1MSK2 // bit 2, shadows bit in SSP1MSKbits 7588 #define MSK2 SSP1MSKbits.MSK2 // bit 2, shadows bit in SSP1MSKbits 7589 #define SSP1MSK3 SSP1MSKbits.SSP1MSK3 // bit 3, shadows bit in SSP1MSKbits 7590 #define MSK3 SSP1MSKbits.MSK3 // bit 3, shadows bit in SSP1MSKbits 7591 #define SSP1MSK4 SSP1MSKbits.SSP1MSK4 // bit 4, shadows bit in SSP1MSKbits 7592 #define MSK4 SSP1MSKbits.MSK4 // bit 4, shadows bit in SSP1MSKbits 7593 #define SSP1MSK5 SSP1MSKbits.SSP1MSK5 // bit 5, shadows bit in SSP1MSKbits 7594 #define MSK5 SSP1MSKbits.MSK5 // bit 5, shadows bit in SSP1MSKbits 7595 #define SSP1MSK6 SSP1MSKbits.SSP1MSK6 // bit 6, shadows bit in SSP1MSKbits 7596 #define MSK6 SSP1MSKbits.MSK6 // bit 6, shadows bit in SSP1MSKbits 7597 #define SSP1MSK7 SSP1MSKbits.SSP1MSK7 // bit 7, shadows bit in SSP1MSKbits 7598 #define MSK7 SSP1MSKbits.MSK7 // bit 7, shadows bit in SSP1MSKbits 7599 7600 #define BF SSP1STATbits.BF // bit 0 7601 #define UA SSP1STATbits.UA // bit 1 7602 #define R_NOT_W SSP1STATbits.R_NOT_W // bit 2 7603 #define S SSP1STATbits.S // bit 3 7604 #define P SSP1STATbits.P // bit 4 7605 #define D_NOT_A SSP1STATbits.D_NOT_A // bit 5 7606 #define CKE SSP1STATbits.CKE // bit 6 7607 #define SMP SSP1STATbits.SMP // bit 7 7608 7609 #define C STATUSbits.C // bit 0 7610 #define DC STATUSbits.DC // bit 1 7611 #define Z STATUSbits.Z // bit 2 7612 #define NOT_PD STATUSbits.NOT_PD // bit 3 7613 #define NOT_TO STATUSbits.NOT_TO // bit 4 7614 7615 #define C_SHAD STATUS_SHADbits.C_SHAD // bit 0 7616 #define DC_SHAD STATUS_SHADbits.DC_SHAD // bit 1 7617 #define Z_SHAD STATUS_SHADbits.Z_SHAD // bit 2 7618 7619 #define TMR1ON T1CONbits.TMR1ON // bit 0 7620 #define NOT_T1SYNC T1CONbits.NOT_T1SYNC // bit 2 7621 #define T1OSCEN T1CONbits.T1OSCEN // bit 3 7622 #define T1CKPS0 T1CONbits.T1CKPS0 // bit 4 7623 #define T1CKPS1 T1CONbits.T1CKPS1 // bit 5 7624 #define TMR1CS0 T1CONbits.TMR1CS0 // bit 6 7625 #define TMR1CS1 T1CONbits.TMR1CS1 // bit 7 7626 7627 #define T1GSS0 T1GCONbits.T1GSS0 // bit 0 7628 #define T1GSS1 T1GCONbits.T1GSS1 // bit 1 7629 #define T1GVAL T1GCONbits.T1GVAL // bit 2 7630 #define T1GGO_NOT_DONE T1GCONbits.T1GGO_NOT_DONE // bit 3 7631 #define T1GSPM T1GCONbits.T1GSPM // bit 4 7632 #define T1GTM T1GCONbits.T1GTM // bit 5 7633 #define T1GPOL T1GCONbits.T1GPOL // bit 6 7634 #define TMR1GE T1GCONbits.TMR1GE // bit 7 7635 7636 #define T2CKPS0 T2CONbits.T2CKPS0 // bit 0 7637 #define T2CKPS1 T2CONbits.T2CKPS1 // bit 1 7638 #define TMR2ON T2CONbits.TMR2ON // bit 2 7639 #define T2OUTPS0 T2CONbits.T2OUTPS0 // bit 3 7640 #define T2OUTPS1 T2CONbits.T2OUTPS1 // bit 4 7641 #define T2OUTPS2 T2CONbits.T2OUTPS2 // bit 5 7642 #define T2OUTPS3 T2CONbits.T2OUTPS3 // bit 6 7643 7644 #define T4CKPS0 T4CONbits.T4CKPS0 // bit 0 7645 #define T4CKPS1 T4CONbits.T4CKPS1 // bit 1 7646 #define TMR4ON T4CONbits.TMR4ON // bit 2 7647 #define T4OUTPS0 T4CONbits.T4OUTPS0 // bit 3 7648 #define T4OUTPS1 T4CONbits.T4OUTPS1 // bit 4 7649 #define T4OUTPS2 T4CONbits.T4OUTPS2 // bit 5 7650 #define T4OUTPS3 T4CONbits.T4OUTPS3 // bit 6 7651 7652 #define T6CKPS0 T6CONbits.T6CKPS0 // bit 0 7653 #define T6CKPS1 T6CONbits.T6CKPS1 // bit 1 7654 #define TMR6ON T6CONbits.TMR6ON // bit 2 7655 #define T6OUTPS0 T6CONbits.T6OUTPS0 // bit 3 7656 #define T6OUTPS1 T6CONbits.T6OUTPS1 // bit 4 7657 #define T6OUTPS2 T6CONbits.T6OUTPS2 // bit 5 7658 #define T6OUTPS3 T6CONbits.T6OUTPS3 // bit 6 7659 7660 #define TRISA0 TRISAbits.TRISA0 // bit 0 7661 #define TRISA1 TRISAbits.TRISA1 // bit 1 7662 #define TRISA2 TRISAbits.TRISA2 // bit 2 7663 #define TRISA4 TRISAbits.TRISA4 // bit 4 7664 #define TRISA5 TRISAbits.TRISA5 // bit 5 7665 7666 #define TRISB4 TRISBbits.TRISB4 // bit 4 7667 #define TRISB5 TRISBbits.TRISB5 // bit 5 7668 #define TRISB6 TRISBbits.TRISB6 // bit 6 7669 #define TRISB7 TRISBbits.TRISB7 // bit 7 7670 7671 #define TRISC0 TRISCbits.TRISC0 // bit 0 7672 #define TRISC1 TRISCbits.TRISC1 // bit 1 7673 #define TRISC2 TRISCbits.TRISC2 // bit 2 7674 #define TRISC3 TRISCbits.TRISC3 // bit 3 7675 #define TRISC4 TRISCbits.TRISC4 // bit 4 7676 #define TRISC5 TRISCbits.TRISC5 // bit 5 7677 #define TRISC6 TRISCbits.TRISC6 // bit 6 7678 #define TRISC7 TRISCbits.TRISC7 // bit 7 7679 7680 #define TX9D TX1STAbits.TX9D // bit 0 7681 #define TRMT TX1STAbits.TRMT // bit 1 7682 #define BRGH TX1STAbits.BRGH // bit 2 7683 #define SENDB TX1STAbits.SENDB // bit 3 7684 #define SYNC TX1STAbits.SYNC // bit 4 7685 #define TXEN TX1STAbits.TXEN // bit 5 7686 #define TX9 TX1STAbits.TX9 // bit 6 7687 #define CSRC TX1STAbits.CSRC // bit 7 7688 7689 #define Reserved VREGCONbits.Reserved // bit 0 7690 #define VREGPM VREGCONbits.VREGPM // bit 1 7691 7692 #define SWDTEN WDTCONbits.SWDTEN // bit 0 7693 #define WDTPS0 WDTCONbits.WDTPS0 // bit 1 7694 #define WDTPS1 WDTCONbits.WDTPS1 // bit 2 7695 #define WDTPS2 WDTCONbits.WDTPS2 // bit 3 7696 #define WDTPS3 WDTCONbits.WDTPS3 // bit 4 7697 #define WDTPS4 WDTCONbits.WDTPS4 // bit 5 7698 7699 #define WPUA0 WPUAbits.WPUA0 // bit 0 7700 #define WPUA1 WPUAbits.WPUA1 // bit 1 7701 #define WPUA2 WPUAbits.WPUA2 // bit 2 7702 #define WPUA3 WPUAbits.WPUA3 // bit 3 7703 #define WPUA4 WPUAbits.WPUA4 // bit 4 7704 #define WPUA5 WPUAbits.WPUA5 // bit 5 7705 7706 #define WPUB4 WPUBbits.WPUB4 // bit 4 7707 #define WPUB5 WPUBbits.WPUB5 // bit 5 7708 #define WPUB6 WPUBbits.WPUB6 // bit 6 7709 #define WPUB7 WPUBbits.WPUB7 // bit 7 7710 7711 #define WPUC0 WPUCbits.WPUC0 // bit 0 7712 #define WPUC1 WPUCbits.WPUC1 // bit 1 7713 #define WPUC2 WPUCbits.WPUC2 // bit 2 7714 #define WPUC3 WPUCbits.WPUC3 // bit 3 7715 #define WPUC4 WPUCbits.WPUC4 // bit 4 7716 #define WPUC5 WPUCbits.WPUC5 // bit 5 7717 #define WPUC6 WPUCbits.WPUC6 // bit 6 7718 #define WPUC7 WPUCbits.WPUC7 // bit 7 7719 7720 #define ZCD1INTN ZCD1CONbits.ZCD1INTN // bit 0 7721 #define ZCD1INTP ZCD1CONbits.ZCD1INTP // bit 1 7722 #define ZCD1POL ZCD1CONbits.ZCD1POL // bit 4 7723 #define ZCD1OUT ZCD1CONbits.ZCD1OUT // bit 5 7724 #define ZCD1EN ZCD1CONbits.ZCD1EN // bit 7 7725 7726 #endif // #ifndef NO_BIT_DEFINES 7727 7728 #endif // #ifndef __PIC16F1708_H__ 7729