1 /* 2 * This declarations of the PIC16F1509 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:06 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 __PIC16F1509_H__ 26 #define __PIC16F1509_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 OSCCON_ADDR 0x0099 75 #define OSCSTAT_ADDR 0x009A 76 #define ADRES_ADDR 0x009B 77 #define ADRESL_ADDR 0x009B 78 #define ADRESH_ADDR 0x009C 79 #define ADCON0_ADDR 0x009D 80 #define ADCON1_ADDR 0x009E 81 #define ADCON2_ADDR 0x009F 82 #define LATA_ADDR 0x010C 83 #define LATB_ADDR 0x010D 84 #define LATC_ADDR 0x010E 85 #define CM1CON0_ADDR 0x0111 86 #define CM1CON1_ADDR 0x0112 87 #define CM2CON0_ADDR 0x0113 88 #define CM2CON1_ADDR 0x0114 89 #define CMOUT_ADDR 0x0115 90 #define BORCON_ADDR 0x0116 91 #define FVRCON_ADDR 0x0117 92 #define DACCON0_ADDR 0x0118 93 #define DACCON1_ADDR 0x0119 94 #define APFCON_ADDR 0x011D 95 #define ANSELA_ADDR 0x018C 96 #define ANSELB_ADDR 0x018D 97 #define ANSELC_ADDR 0x018E 98 #define PMADR_ADDR 0x0191 99 #define PMADRL_ADDR 0x0191 100 #define PMADRH_ADDR 0x0192 101 #define PMDAT_ADDR 0x0193 102 #define PMDATL_ADDR 0x0193 103 #define PMDATH_ADDR 0x0194 104 #define PMCON1_ADDR 0x0195 105 #define PMCON2_ADDR 0x0196 106 #define VREGCON_ADDR 0x0197 107 #define RCREG_ADDR 0x0199 108 #define TXREG_ADDR 0x019A 109 #define SPBRG_ADDR 0x019B 110 #define SPBRGL_ADDR 0x019B 111 #define SPBRGH_ADDR 0x019C 112 #define RCSTA_ADDR 0x019D 113 #define TXSTA_ADDR 0x019E 114 #define BAUDCON_ADDR 0x019F 115 #define WPUA_ADDR 0x020C 116 #define WPUB_ADDR 0x020D 117 #define SSP1BUF_ADDR 0x0211 118 #define SSPBUF_ADDR 0x0211 119 #define SSP1ADD_ADDR 0x0212 120 #define SSPADD_ADDR 0x0212 121 #define SSP1MSK_ADDR 0x0213 122 #define SSPMSK_ADDR 0x0213 123 #define SSP1STAT_ADDR 0x0214 124 #define SSPSTAT_ADDR 0x0214 125 #define SSP1CON1_ADDR 0x0215 126 #define SSPCON_ADDR 0x0215 127 #define SSPCON1_ADDR 0x0215 128 #define SSP1CON2_ADDR 0x0216 129 #define SSPCON2_ADDR 0x0216 130 #define SSP1CON3_ADDR 0x0217 131 #define SSPCON3_ADDR 0x0217 132 #define IOCAP_ADDR 0x0391 133 #define IOCAN_ADDR 0x0392 134 #define IOCAF_ADDR 0x0393 135 #define IOCBP_ADDR 0x0394 136 #define IOCBN_ADDR 0x0395 137 #define IOCBF_ADDR 0x0396 138 #define NCO1ACC_ADDR 0x0498 139 #define NCO1ACCL_ADDR 0x0498 140 #define NCO1ACCH_ADDR 0x0499 141 #define NCO1ACCU_ADDR 0x049A 142 #define NCO1INC_ADDR 0x049B 143 #define NCO1INCL_ADDR 0x049B 144 #define NCO1INCH_ADDR 0x049C 145 #define NCO1INCU_ADDR 0x049D 146 #define NCO1CON_ADDR 0x049E 147 #define NCO1CLK_ADDR 0x049F 148 #define PWM1DCL_ADDR 0x0611 149 #define PWM1DCH_ADDR 0x0612 150 #define PWM1CON_ADDR 0x0613 151 #define PWM1CON0_ADDR 0x0613 152 #define PWM2DCL_ADDR 0x0614 153 #define PWM2DCH_ADDR 0x0615 154 #define PWM2CON_ADDR 0x0616 155 #define PWM2CON0_ADDR 0x0616 156 #define PWM3DCL_ADDR 0x0617 157 #define PWM3DCH_ADDR 0x0618 158 #define PWM3CON_ADDR 0x0619 159 #define PWM3CON0_ADDR 0x0619 160 #define PWM4DCL_ADDR 0x061A 161 #define PWM4DCH_ADDR 0x061B 162 #define PWM4CON_ADDR 0x061C 163 #define PWM4CON0_ADDR 0x061C 164 #define CWG1DBR_ADDR 0x0691 165 #define CWG1DBF_ADDR 0x0692 166 #define CWG1CON0_ADDR 0x0693 167 #define CWG1CON1_ADDR 0x0694 168 #define CWG1CON2_ADDR 0x0695 169 #define CLCDATA_ADDR 0x0F0F 170 #define CLC1CON_ADDR 0x0F10 171 #define CLC1POL_ADDR 0x0F11 172 #define CLC1SEL0_ADDR 0x0F12 173 #define CLC1SEL1_ADDR 0x0F13 174 #define CLC1GLS0_ADDR 0x0F14 175 #define CLC1GLS1_ADDR 0x0F15 176 #define CLC1GLS2_ADDR 0x0F16 177 #define CLC1GLS3_ADDR 0x0F17 178 #define CLC2CON_ADDR 0x0F18 179 #define CLC2POL_ADDR 0x0F19 180 #define CLC2SEL0_ADDR 0x0F1A 181 #define CLC2SEL1_ADDR 0x0F1B 182 #define CLC2GLS0_ADDR 0x0F1C 183 #define CLC2GLS1_ADDR 0x0F1D 184 #define CLC2GLS2_ADDR 0x0F1E 185 #define CLC2GLS3_ADDR 0x0F1F 186 #define CLC3CON_ADDR 0x0F20 187 #define CLC3POL_ADDR 0x0F21 188 #define CLC3SEL0_ADDR 0x0F22 189 #define CLC3SEL1_ADDR 0x0F23 190 #define CLC3GLS0_ADDR 0x0F24 191 #define CLC3GLS1_ADDR 0x0F25 192 #define CLC3GLS2_ADDR 0x0F26 193 #define CLC3GLS3_ADDR 0x0F27 194 #define CLC4CON_ADDR 0x0F28 195 #define CLC4POL_ADDR 0x0F29 196 #define CLC4SEL0_ADDR 0x0F2A 197 #define CLC4SEL1_ADDR 0x0F2B 198 #define CLC4GLS0_ADDR 0x0F2C 199 #define CLC4GLS1_ADDR 0x0F2D 200 #define CLC4GLS2_ADDR 0x0F2E 201 #define CLC4GLS3_ADDR 0x0F2F 202 #define ICDIO_ADDR 0x0F8C 203 #define ICDCON0_ADDR 0x0F8D 204 #define ICDSTAT_ADDR 0x0F91 205 #define DEVSEL_ADDR 0x0F95 206 #define ICDINSTL_ADDR 0x0F96 207 #define ICDINSTH_ADDR 0x0F97 208 #define ICDBK0CON_ADDR 0x0F9C 209 #define ICDBK0L_ADDR 0x0F9D 210 #define ICDBK0H_ADDR 0x0F9E 211 #define BSRICDSHAD_ADDR 0x0FE3 212 #define STATUS_SHAD_ADDR 0x0FE4 213 #define WREG_SHAD_ADDR 0x0FE5 214 #define BSR_SHAD_ADDR 0x0FE6 215 #define PCLATH_SHAD_ADDR 0x0FE7 216 #define FSR0L_SHAD_ADDR 0x0FE8 217 #define FSR0H_SHAD_ADDR 0x0FE9 218 #define FSR1L_SHAD_ADDR 0x0FEA 219 #define FSR1H_SHAD_ADDR 0x0FEB 220 #define STKPTR_ADDR 0x0FED 221 #define TOSL_ADDR 0x0FEE 222 #define TOSH_ADDR 0x0FEF 223 224 #endif // #ifndef NO_ADDR_DEFINES 225 226 //============================================================================== 227 // 228 // Register Definitions 229 // 230 //============================================================================== 231 232 extern __at(0x0000) __sfr INDF0; 233 extern __at(0x0001) __sfr INDF1; 234 extern __at(0x0002) __sfr PCL; 235 236 //============================================================================== 237 // STATUS Bits 238 239 extern __at(0x0003) __sfr STATUS; 240 241 typedef struct 242 { 243 unsigned C : 1; 244 unsigned DC : 1; 245 unsigned Z : 1; 246 unsigned NOT_PD : 1; 247 unsigned NOT_TO : 1; 248 unsigned : 1; 249 unsigned : 1; 250 unsigned : 1; 251 } __STATUSbits_t; 252 253 extern __at(0x0003) volatile __STATUSbits_t STATUSbits; 254 255 #define _C 0x01 256 #define _DC 0x02 257 #define _Z 0x04 258 #define _NOT_PD 0x08 259 #define _NOT_TO 0x10 260 261 //============================================================================== 262 263 extern __at(0x0004) __sfr FSR0; 264 extern __at(0x0004) __sfr FSR0L; 265 extern __at(0x0005) __sfr FSR0H; 266 extern __at(0x0006) __sfr FSR1; 267 extern __at(0x0006) __sfr FSR1L; 268 extern __at(0x0007) __sfr FSR1H; 269 270 //============================================================================== 271 // BSR Bits 272 273 extern __at(0x0008) __sfr BSR; 274 275 typedef union 276 { 277 struct 278 { 279 unsigned BSR0 : 1; 280 unsigned BSR1 : 1; 281 unsigned BSR2 : 1; 282 unsigned BSR3 : 1; 283 unsigned BSR4 : 1; 284 unsigned : 1; 285 unsigned : 1; 286 unsigned : 1; 287 }; 288 289 struct 290 { 291 unsigned BSR : 5; 292 unsigned : 3; 293 }; 294 } __BSRbits_t; 295 296 extern __at(0x0008) volatile __BSRbits_t BSRbits; 297 298 #define _BSR0 0x01 299 #define _BSR1 0x02 300 #define _BSR2 0x04 301 #define _BSR3 0x08 302 #define _BSR4 0x10 303 304 //============================================================================== 305 306 extern __at(0x0009) __sfr WREG; 307 extern __at(0x000A) __sfr PCLATH; 308 309 //============================================================================== 310 // INTCON Bits 311 312 extern __at(0x000B) __sfr INTCON; 313 314 typedef union 315 { 316 struct 317 { 318 unsigned IOCIF : 1; 319 unsigned INTF : 1; 320 unsigned TMR0IF : 1; 321 unsigned IOCIE : 1; 322 unsigned INTE : 1; 323 unsigned TMR0IE : 1; 324 unsigned PEIE : 1; 325 unsigned GIE : 1; 326 }; 327 328 struct 329 { 330 unsigned : 1; 331 unsigned : 1; 332 unsigned T0IF : 1; 333 unsigned : 1; 334 unsigned : 1; 335 unsigned T0IE : 1; 336 unsigned : 1; 337 unsigned : 1; 338 }; 339 } __INTCONbits_t; 340 341 extern __at(0x000B) volatile __INTCONbits_t INTCONbits; 342 343 #define _IOCIF 0x01 344 #define _INTF 0x02 345 #define _TMR0IF 0x04 346 #define _T0IF 0x04 347 #define _IOCIE 0x08 348 #define _INTE 0x10 349 #define _TMR0IE 0x20 350 #define _T0IE 0x20 351 #define _PEIE 0x40 352 #define _GIE 0x80 353 354 //============================================================================== 355 356 357 //============================================================================== 358 // PORTA Bits 359 360 extern __at(0x000C) __sfr PORTA; 361 362 typedef union 363 { 364 struct 365 { 366 unsigned RA0 : 1; 367 unsigned RA1 : 1; 368 unsigned RA2 : 1; 369 unsigned RA3 : 1; 370 unsigned RA4 : 1; 371 unsigned RA5 : 1; 372 unsigned : 1; 373 unsigned : 1; 374 }; 375 376 struct 377 { 378 unsigned RA : 6; 379 unsigned : 2; 380 }; 381 } __PORTAbits_t; 382 383 extern __at(0x000C) volatile __PORTAbits_t PORTAbits; 384 385 #define _RA0 0x01 386 #define _RA1 0x02 387 #define _RA2 0x04 388 #define _RA3 0x08 389 #define _RA4 0x10 390 #define _RA5 0x20 391 392 //============================================================================== 393 394 395 //============================================================================== 396 // PORTB Bits 397 398 extern __at(0x000D) __sfr PORTB; 399 400 typedef struct 401 { 402 unsigned : 1; 403 unsigned : 1; 404 unsigned : 1; 405 unsigned : 1; 406 unsigned RB4 : 1; 407 unsigned RB5 : 1; 408 unsigned RB6 : 1; 409 unsigned RB7 : 1; 410 } __PORTBbits_t; 411 412 extern __at(0x000D) volatile __PORTBbits_t PORTBbits; 413 414 #define _RB4 0x10 415 #define _RB5 0x20 416 #define _RB6 0x40 417 #define _RB7 0x80 418 419 //============================================================================== 420 421 422 //============================================================================== 423 // PORTC Bits 424 425 extern __at(0x000E) __sfr PORTC; 426 427 typedef struct 428 { 429 unsigned RC0 : 1; 430 unsigned RC1 : 1; 431 unsigned RC2 : 1; 432 unsigned RC3 : 1; 433 unsigned RC4 : 1; 434 unsigned RC5 : 1; 435 unsigned RC6 : 1; 436 unsigned RC7 : 1; 437 } __PORTCbits_t; 438 439 extern __at(0x000E) volatile __PORTCbits_t PORTCbits; 440 441 #define _RC0 0x01 442 #define _RC1 0x02 443 #define _RC2 0x04 444 #define _RC3 0x08 445 #define _RC4 0x10 446 #define _RC5 0x20 447 #define _RC6 0x40 448 #define _RC7 0x80 449 450 //============================================================================== 451 452 453 //============================================================================== 454 // PIR1 Bits 455 456 extern __at(0x0011) __sfr PIR1; 457 458 typedef struct 459 { 460 unsigned TMR1IF : 1; 461 unsigned TMR2IF : 1; 462 unsigned : 1; 463 unsigned SSP1IF : 1; 464 unsigned TXIF : 1; 465 unsigned RCIF : 1; 466 unsigned ADIF : 1; 467 unsigned TMR1GIF : 1; 468 } __PIR1bits_t; 469 470 extern __at(0x0011) volatile __PIR1bits_t PIR1bits; 471 472 #define _TMR1IF 0x01 473 #define _TMR2IF 0x02 474 #define _SSP1IF 0x08 475 #define _TXIF 0x10 476 #define _RCIF 0x20 477 #define _ADIF 0x40 478 #define _TMR1GIF 0x80 479 480 //============================================================================== 481 482 483 //============================================================================== 484 // PIR2 Bits 485 486 extern __at(0x0012) __sfr PIR2; 487 488 typedef struct 489 { 490 unsigned : 1; 491 unsigned : 1; 492 unsigned NCO1IF : 1; 493 unsigned BCL1IF : 1; 494 unsigned : 1; 495 unsigned C1IF : 1; 496 unsigned C2IF : 1; 497 unsigned OSFIF : 1; 498 } __PIR2bits_t; 499 500 extern __at(0x0012) volatile __PIR2bits_t PIR2bits; 501 502 #define _NCO1IF 0x04 503 #define _BCL1IF 0x08 504 #define _C1IF 0x20 505 #define _C2IF 0x40 506 #define _OSFIF 0x80 507 508 //============================================================================== 509 510 511 //============================================================================== 512 // PIR3 Bits 513 514 extern __at(0x0013) __sfr PIR3; 515 516 typedef struct 517 { 518 unsigned CLC1IF : 1; 519 unsigned CLC2IF : 1; 520 unsigned CLC3IF : 1; 521 unsigned CLC4IF : 1; 522 unsigned : 1; 523 unsigned : 1; 524 unsigned : 1; 525 unsigned : 1; 526 } __PIR3bits_t; 527 528 extern __at(0x0013) volatile __PIR3bits_t PIR3bits; 529 530 #define _CLC1IF 0x01 531 #define _CLC2IF 0x02 532 #define _CLC3IF 0x04 533 #define _CLC4IF 0x08 534 535 //============================================================================== 536 537 extern __at(0x0015) __sfr TMR0; 538 extern __at(0x0016) __sfr TMR1; 539 extern __at(0x0016) __sfr TMR1L; 540 extern __at(0x0017) __sfr TMR1H; 541 542 //============================================================================== 543 // T1CON Bits 544 545 extern __at(0x0018) __sfr T1CON; 546 547 typedef union 548 { 549 struct 550 { 551 unsigned TMR1ON : 1; 552 unsigned : 1; 553 unsigned NOT_T1SYNC : 1; 554 unsigned T1OSCEN : 1; 555 unsigned T1CKPS0 : 1; 556 unsigned T1CKPS1 : 1; 557 unsigned TMR1CS0 : 1; 558 unsigned TMR1CS1 : 1; 559 }; 560 561 struct 562 { 563 unsigned : 4; 564 unsigned T1CKPS : 2; 565 unsigned : 2; 566 }; 567 568 struct 569 { 570 unsigned : 6; 571 unsigned TMR1CS : 2; 572 }; 573 } __T1CONbits_t; 574 575 extern __at(0x0018) volatile __T1CONbits_t T1CONbits; 576 577 #define _TMR1ON 0x01 578 #define _NOT_T1SYNC 0x04 579 #define _T1OSCEN 0x08 580 #define _T1CKPS0 0x10 581 #define _T1CKPS1 0x20 582 #define _TMR1CS0 0x40 583 #define _TMR1CS1 0x80 584 585 //============================================================================== 586 587 588 //============================================================================== 589 // T1GCON Bits 590 591 extern __at(0x0019) __sfr T1GCON; 592 593 typedef union 594 { 595 struct 596 { 597 unsigned T1GSS0 : 1; 598 unsigned T1GSS1 : 1; 599 unsigned T1GVAL : 1; 600 unsigned T1GGO_NOT_DONE : 1; 601 unsigned T1GSPM : 1; 602 unsigned T1GTM : 1; 603 unsigned T1GPOL : 1; 604 unsigned TMR1GE : 1; 605 }; 606 607 struct 608 { 609 unsigned T1GSS : 2; 610 unsigned : 6; 611 }; 612 } __T1GCONbits_t; 613 614 extern __at(0x0019) volatile __T1GCONbits_t T1GCONbits; 615 616 #define _T1GSS0 0x01 617 #define _T1GSS1 0x02 618 #define _T1GVAL 0x04 619 #define _T1GGO_NOT_DONE 0x08 620 #define _T1GSPM 0x10 621 #define _T1GTM 0x20 622 #define _T1GPOL 0x40 623 #define _TMR1GE 0x80 624 625 //============================================================================== 626 627 extern __at(0x001A) __sfr TMR2; 628 extern __at(0x001B) __sfr PR2; 629 630 //============================================================================== 631 // T2CON Bits 632 633 extern __at(0x001C) __sfr T2CON; 634 635 typedef union 636 { 637 struct 638 { 639 unsigned T2CKPS0 : 1; 640 unsigned T2CKPS1 : 1; 641 unsigned TMR2ON : 1; 642 unsigned T2OUTPS0 : 1; 643 unsigned T2OUTPS1 : 1; 644 unsigned T2OUTPS2 : 1; 645 unsigned T2OUTPS3 : 1; 646 unsigned : 1; 647 }; 648 649 struct 650 { 651 unsigned T2CKPS : 2; 652 unsigned : 6; 653 }; 654 655 struct 656 { 657 unsigned : 3; 658 unsigned T2OUTPS : 4; 659 unsigned : 1; 660 }; 661 } __T2CONbits_t; 662 663 extern __at(0x001C) volatile __T2CONbits_t T2CONbits; 664 665 #define _T2CKPS0 0x01 666 #define _T2CKPS1 0x02 667 #define _TMR2ON 0x04 668 #define _T2OUTPS0 0x08 669 #define _T2OUTPS1 0x10 670 #define _T2OUTPS2 0x20 671 #define _T2OUTPS3 0x40 672 673 //============================================================================== 674 675 676 //============================================================================== 677 // TRISA Bits 678 679 extern __at(0x008C) __sfr TRISA; 680 681 typedef union 682 { 683 struct 684 { 685 unsigned TRISA0 : 1; 686 unsigned TRISA1 : 1; 687 unsigned TRISA2 : 1; 688 unsigned TRISA3 : 1; 689 unsigned TRISA4 : 1; 690 unsigned TRISA5 : 1; 691 unsigned : 1; 692 unsigned : 1; 693 }; 694 695 struct 696 { 697 unsigned TRISA : 6; 698 unsigned : 2; 699 }; 700 } __TRISAbits_t; 701 702 extern __at(0x008C) volatile __TRISAbits_t TRISAbits; 703 704 #define _TRISA0 0x01 705 #define _TRISA1 0x02 706 #define _TRISA2 0x04 707 #define _TRISA3 0x08 708 #define _TRISA4 0x10 709 #define _TRISA5 0x20 710 711 //============================================================================== 712 713 714 //============================================================================== 715 // TRISB Bits 716 717 extern __at(0x008D) __sfr TRISB; 718 719 typedef struct 720 { 721 unsigned : 1; 722 unsigned : 1; 723 unsigned : 1; 724 unsigned : 1; 725 unsigned TRISB4 : 1; 726 unsigned TRISB5 : 1; 727 unsigned TRISB6 : 1; 728 unsigned TRISB7 : 1; 729 } __TRISBbits_t; 730 731 extern __at(0x008D) volatile __TRISBbits_t TRISBbits; 732 733 #define _TRISB4 0x10 734 #define _TRISB5 0x20 735 #define _TRISB6 0x40 736 #define _TRISB7 0x80 737 738 //============================================================================== 739 740 741 //============================================================================== 742 // TRISC Bits 743 744 extern __at(0x008E) __sfr TRISC; 745 746 typedef struct 747 { 748 unsigned TRISC0 : 1; 749 unsigned TRISC1 : 1; 750 unsigned TRISC2 : 1; 751 unsigned TRISC3 : 1; 752 unsigned TRISC4 : 1; 753 unsigned TRISC5 : 1; 754 unsigned TRISC6 : 1; 755 unsigned TRISC7 : 1; 756 } __TRISCbits_t; 757 758 extern __at(0x008E) volatile __TRISCbits_t TRISCbits; 759 760 #define _TRISC0 0x01 761 #define _TRISC1 0x02 762 #define _TRISC2 0x04 763 #define _TRISC3 0x08 764 #define _TRISC4 0x10 765 #define _TRISC5 0x20 766 #define _TRISC6 0x40 767 #define _TRISC7 0x80 768 769 //============================================================================== 770 771 772 //============================================================================== 773 // PIE1 Bits 774 775 extern __at(0x0091) __sfr PIE1; 776 777 typedef struct 778 { 779 unsigned TMR1IE : 1; 780 unsigned TMR2IE : 1; 781 unsigned : 1; 782 unsigned SSP1IE : 1; 783 unsigned TXIE : 1; 784 unsigned RCIE : 1; 785 unsigned ADIE : 1; 786 unsigned TMR1GIE : 1; 787 } __PIE1bits_t; 788 789 extern __at(0x0091) volatile __PIE1bits_t PIE1bits; 790 791 #define _TMR1IE 0x01 792 #define _TMR2IE 0x02 793 #define _SSP1IE 0x08 794 #define _TXIE 0x10 795 #define _RCIE 0x20 796 #define _ADIE 0x40 797 #define _TMR1GIE 0x80 798 799 //============================================================================== 800 801 802 //============================================================================== 803 // PIE2 Bits 804 805 extern __at(0x0092) __sfr PIE2; 806 807 typedef struct 808 { 809 unsigned : 1; 810 unsigned : 1; 811 unsigned NCO1IE : 1; 812 unsigned BCL1IE : 1; 813 unsigned : 1; 814 unsigned C1IE : 1; 815 unsigned C2IE : 1; 816 unsigned OSFIE : 1; 817 } __PIE2bits_t; 818 819 extern __at(0x0092) volatile __PIE2bits_t PIE2bits; 820 821 #define _NCO1IE 0x04 822 #define _BCL1IE 0x08 823 #define _C1IE 0x20 824 #define _C2IE 0x40 825 #define _OSFIE 0x80 826 827 //============================================================================== 828 829 830 //============================================================================== 831 // PIE3 Bits 832 833 extern __at(0x0093) __sfr PIE3; 834 835 typedef struct 836 { 837 unsigned CLC1IE : 1; 838 unsigned CLC2IE : 1; 839 unsigned CLC3IE : 1; 840 unsigned CLC4IE : 1; 841 unsigned : 1; 842 unsigned : 1; 843 unsigned : 1; 844 unsigned : 1; 845 } __PIE3bits_t; 846 847 extern __at(0x0093) volatile __PIE3bits_t PIE3bits; 848 849 #define _CLC1IE 0x01 850 #define _CLC2IE 0x02 851 #define _CLC3IE 0x04 852 #define _CLC4IE 0x08 853 854 //============================================================================== 855 856 857 //============================================================================== 858 // OPTION_REG Bits 859 860 extern __at(0x0095) __sfr OPTION_REG; 861 862 typedef union 863 { 864 struct 865 { 866 unsigned PS0 : 1; 867 unsigned PS1 : 1; 868 unsigned PS2 : 1; 869 unsigned PSA : 1; 870 unsigned TMR0SE : 1; 871 unsigned TMR0CS : 1; 872 unsigned INTEDG : 1; 873 unsigned NOT_WPUEN : 1; 874 }; 875 876 struct 877 { 878 unsigned : 1; 879 unsigned : 1; 880 unsigned : 1; 881 unsigned : 1; 882 unsigned T0SE : 1; 883 unsigned T0CS : 1; 884 unsigned : 1; 885 unsigned : 1; 886 }; 887 888 struct 889 { 890 unsigned PS : 3; 891 unsigned : 5; 892 }; 893 } __OPTION_REGbits_t; 894 895 extern __at(0x0095) volatile __OPTION_REGbits_t OPTION_REGbits; 896 897 #define _PS0 0x01 898 #define _PS1 0x02 899 #define _PS2 0x04 900 #define _PSA 0x08 901 #define _TMR0SE 0x10 902 #define _T0SE 0x10 903 #define _TMR0CS 0x20 904 #define _T0CS 0x20 905 #define _INTEDG 0x40 906 #define _NOT_WPUEN 0x80 907 908 //============================================================================== 909 910 911 //============================================================================== 912 // PCON Bits 913 914 extern __at(0x0096) __sfr PCON; 915 916 typedef struct 917 { 918 unsigned NOT_BOR : 1; 919 unsigned NOT_POR : 1; 920 unsigned NOT_RI : 1; 921 unsigned NOT_RMCLR : 1; 922 unsigned NOT_RWDT : 1; 923 unsigned : 1; 924 unsigned STKUNF : 1; 925 unsigned STKOVF : 1; 926 } __PCONbits_t; 927 928 extern __at(0x0096) volatile __PCONbits_t PCONbits; 929 930 #define _NOT_BOR 0x01 931 #define _NOT_POR 0x02 932 #define _NOT_RI 0x04 933 #define _NOT_RMCLR 0x08 934 #define _NOT_RWDT 0x10 935 #define _STKUNF 0x40 936 #define _STKOVF 0x80 937 938 //============================================================================== 939 940 941 //============================================================================== 942 // WDTCON Bits 943 944 extern __at(0x0097) __sfr WDTCON; 945 946 typedef union 947 { 948 struct 949 { 950 unsigned SWDTEN : 1; 951 unsigned WDTPS0 : 1; 952 unsigned WDTPS1 : 1; 953 unsigned WDTPS2 : 1; 954 unsigned WDTPS3 : 1; 955 unsigned WDTPS4 : 1; 956 unsigned : 1; 957 unsigned : 1; 958 }; 959 960 struct 961 { 962 unsigned : 1; 963 unsigned WDTPS : 5; 964 unsigned : 2; 965 }; 966 } __WDTCONbits_t; 967 968 extern __at(0x0097) volatile __WDTCONbits_t WDTCONbits; 969 970 #define _SWDTEN 0x01 971 #define _WDTPS0 0x02 972 #define _WDTPS1 0x04 973 #define _WDTPS2 0x08 974 #define _WDTPS3 0x10 975 #define _WDTPS4 0x20 976 977 //============================================================================== 978 979 980 //============================================================================== 981 // OSCCON Bits 982 983 extern __at(0x0099) __sfr OSCCON; 984 985 typedef union 986 { 987 struct 988 { 989 unsigned SCS0 : 1; 990 unsigned SCS1 : 1; 991 unsigned : 1; 992 unsigned IRCF0 : 1; 993 unsigned IRCF1 : 1; 994 unsigned IRCF2 : 1; 995 unsigned IRCF3 : 1; 996 unsigned : 1; 997 }; 998 999 struct 1000 { 1001 unsigned SCS : 2; 1002 unsigned : 6; 1003 }; 1004 1005 struct 1006 { 1007 unsigned : 3; 1008 unsigned IRCF : 4; 1009 unsigned : 1; 1010 }; 1011 } __OSCCONbits_t; 1012 1013 extern __at(0x0099) volatile __OSCCONbits_t OSCCONbits; 1014 1015 #define _SCS0 0x01 1016 #define _SCS1 0x02 1017 #define _IRCF0 0x08 1018 #define _IRCF1 0x10 1019 #define _IRCF2 0x20 1020 #define _IRCF3 0x40 1021 1022 //============================================================================== 1023 1024 1025 //============================================================================== 1026 // OSCSTAT Bits 1027 1028 extern __at(0x009A) __sfr OSCSTAT; 1029 1030 typedef struct 1031 { 1032 unsigned HFIOFS : 1; 1033 unsigned LFIOFR : 1; 1034 unsigned : 1; 1035 unsigned : 1; 1036 unsigned HFIOFR : 1; 1037 unsigned OSTS : 1; 1038 unsigned : 1; 1039 unsigned SOSCR : 1; 1040 } __OSCSTATbits_t; 1041 1042 extern __at(0x009A) volatile __OSCSTATbits_t OSCSTATbits; 1043 1044 #define _HFIOFS 0x01 1045 #define _LFIOFR 0x02 1046 #define _HFIOFR 0x10 1047 #define _OSTS 0x20 1048 #define _SOSCR 0x80 1049 1050 //============================================================================== 1051 1052 extern __at(0x009B) __sfr ADRES; 1053 extern __at(0x009B) __sfr ADRESL; 1054 extern __at(0x009C) __sfr ADRESH; 1055 1056 //============================================================================== 1057 // ADCON0 Bits 1058 1059 extern __at(0x009D) __sfr ADCON0; 1060 1061 typedef union 1062 { 1063 struct 1064 { 1065 unsigned ADON : 1; 1066 unsigned GO_NOT_DONE : 1; 1067 unsigned CHS0 : 1; 1068 unsigned CHS1 : 1; 1069 unsigned CHS2 : 1; 1070 unsigned CHS3 : 1; 1071 unsigned CHS4 : 1; 1072 unsigned : 1; 1073 }; 1074 1075 struct 1076 { 1077 unsigned : 1; 1078 unsigned ADGO : 1; 1079 unsigned : 1; 1080 unsigned : 1; 1081 unsigned : 1; 1082 unsigned : 1; 1083 unsigned : 1; 1084 unsigned : 1; 1085 }; 1086 1087 struct 1088 { 1089 unsigned : 1; 1090 unsigned GO : 1; 1091 unsigned : 1; 1092 unsigned : 1; 1093 unsigned : 1; 1094 unsigned : 1; 1095 unsigned : 1; 1096 unsigned : 1; 1097 }; 1098 1099 struct 1100 { 1101 unsigned : 2; 1102 unsigned CHS : 5; 1103 unsigned : 1; 1104 }; 1105 } __ADCON0bits_t; 1106 1107 extern __at(0x009D) volatile __ADCON0bits_t ADCON0bits; 1108 1109 #define _ADON 0x01 1110 #define _GO_NOT_DONE 0x02 1111 #define _ADGO 0x02 1112 #define _GO 0x02 1113 #define _CHS0 0x04 1114 #define _CHS1 0x08 1115 #define _CHS2 0x10 1116 #define _CHS3 0x20 1117 #define _CHS4 0x40 1118 1119 //============================================================================== 1120 1121 1122 //============================================================================== 1123 // ADCON1 Bits 1124 1125 extern __at(0x009E) __sfr ADCON1; 1126 1127 typedef union 1128 { 1129 struct 1130 { 1131 unsigned ADPREF0 : 1; 1132 unsigned ADPREF1 : 1; 1133 unsigned : 1; 1134 unsigned : 1; 1135 unsigned : 1; 1136 unsigned : 1; 1137 unsigned : 1; 1138 unsigned ADFM : 1; 1139 }; 1140 1141 struct 1142 { 1143 unsigned ADPREF : 2; 1144 unsigned : 6; 1145 }; 1146 } __ADCON1bits_t; 1147 1148 extern __at(0x009E) volatile __ADCON1bits_t ADCON1bits; 1149 1150 #define _ADPREF0 0x01 1151 #define _ADPREF1 0x02 1152 #define _ADFM 0x80 1153 1154 //============================================================================== 1155 1156 1157 //============================================================================== 1158 // ADCON2 Bits 1159 1160 extern __at(0x009F) __sfr ADCON2; 1161 1162 typedef union 1163 { 1164 struct 1165 { 1166 unsigned : 1; 1167 unsigned : 1; 1168 unsigned : 1; 1169 unsigned : 1; 1170 unsigned TRIGSEL0 : 1; 1171 unsigned TRIGSEL1 : 1; 1172 unsigned TRIGSEL2 : 1; 1173 unsigned TRIGSEL3 : 1; 1174 }; 1175 1176 struct 1177 { 1178 unsigned : 4; 1179 unsigned TRIGSEL : 4; 1180 }; 1181 } __ADCON2bits_t; 1182 1183 extern __at(0x009F) volatile __ADCON2bits_t ADCON2bits; 1184 1185 #define _TRIGSEL0 0x10 1186 #define _TRIGSEL1 0x20 1187 #define _TRIGSEL2 0x40 1188 #define _TRIGSEL3 0x80 1189 1190 //============================================================================== 1191 1192 1193 //============================================================================== 1194 // LATA Bits 1195 1196 extern __at(0x010C) __sfr LATA; 1197 1198 typedef struct 1199 { 1200 unsigned LATA0 : 1; 1201 unsigned LATA1 : 1; 1202 unsigned LATA2 : 1; 1203 unsigned : 1; 1204 unsigned LATA4 : 1; 1205 unsigned LATA5 : 1; 1206 unsigned : 1; 1207 unsigned : 1; 1208 } __LATAbits_t; 1209 1210 extern __at(0x010C) volatile __LATAbits_t LATAbits; 1211 1212 #define _LATA0 0x01 1213 #define _LATA1 0x02 1214 #define _LATA2 0x04 1215 #define _LATA4 0x10 1216 #define _LATA5 0x20 1217 1218 //============================================================================== 1219 1220 1221 //============================================================================== 1222 // LATB Bits 1223 1224 extern __at(0x010D) __sfr LATB; 1225 1226 typedef struct 1227 { 1228 unsigned : 1; 1229 unsigned : 1; 1230 unsigned : 1; 1231 unsigned : 1; 1232 unsigned LATB4 : 1; 1233 unsigned LATB5 : 1; 1234 unsigned LATB6 : 1; 1235 unsigned LATB7 : 1; 1236 } __LATBbits_t; 1237 1238 extern __at(0x010D) volatile __LATBbits_t LATBbits; 1239 1240 #define _LATB4 0x10 1241 #define _LATB5 0x20 1242 #define _LATB6 0x40 1243 #define _LATB7 0x80 1244 1245 //============================================================================== 1246 1247 1248 //============================================================================== 1249 // LATC Bits 1250 1251 extern __at(0x010E) __sfr LATC; 1252 1253 typedef struct 1254 { 1255 unsigned LATC0 : 1; 1256 unsigned LATC1 : 1; 1257 unsigned LATC2 : 1; 1258 unsigned LATC3 : 1; 1259 unsigned LATC4 : 1; 1260 unsigned LATC5 : 1; 1261 unsigned LATC6 : 1; 1262 unsigned LATC7 : 1; 1263 } __LATCbits_t; 1264 1265 extern __at(0x010E) volatile __LATCbits_t LATCbits; 1266 1267 #define _LATC0 0x01 1268 #define _LATC1 0x02 1269 #define _LATC2 0x04 1270 #define _LATC3 0x08 1271 #define _LATC4 0x10 1272 #define _LATC5 0x20 1273 #define _LATC6 0x40 1274 #define _LATC7 0x80 1275 1276 //============================================================================== 1277 1278 1279 //============================================================================== 1280 // CM1CON0 Bits 1281 1282 extern __at(0x0111) __sfr CM1CON0; 1283 1284 typedef struct 1285 { 1286 unsigned C1SYNC : 1; 1287 unsigned C1HYS : 1; 1288 unsigned C1SP : 1; 1289 unsigned : 1; 1290 unsigned C1POL : 1; 1291 unsigned C1OE : 1; 1292 unsigned C1OUT : 1; 1293 unsigned C1ON : 1; 1294 } __CM1CON0bits_t; 1295 1296 extern __at(0x0111) volatile __CM1CON0bits_t CM1CON0bits; 1297 1298 #define _C1SYNC 0x01 1299 #define _C1HYS 0x02 1300 #define _C1SP 0x04 1301 #define _C1POL 0x10 1302 #define _C1OE 0x20 1303 #define _C1OUT 0x40 1304 #define _C1ON 0x80 1305 1306 //============================================================================== 1307 1308 1309 //============================================================================== 1310 // CM1CON1 Bits 1311 1312 extern __at(0x0112) __sfr CM1CON1; 1313 1314 typedef union 1315 { 1316 struct 1317 { 1318 unsigned C1NCH0 : 1; 1319 unsigned C1NCH1 : 1; 1320 unsigned C1NCH2 : 1; 1321 unsigned : 1; 1322 unsigned C1PCH0 : 1; 1323 unsigned C1PCH1 : 1; 1324 unsigned C1INTN : 1; 1325 unsigned C1INTP : 1; 1326 }; 1327 1328 struct 1329 { 1330 unsigned C1NCH : 3; 1331 unsigned : 5; 1332 }; 1333 1334 struct 1335 { 1336 unsigned : 4; 1337 unsigned C1PCH : 2; 1338 unsigned : 2; 1339 }; 1340 } __CM1CON1bits_t; 1341 1342 extern __at(0x0112) volatile __CM1CON1bits_t CM1CON1bits; 1343 1344 #define _C1NCH0 0x01 1345 #define _C1NCH1 0x02 1346 #define _C1NCH2 0x04 1347 #define _C1PCH0 0x10 1348 #define _C1PCH1 0x20 1349 #define _C1INTN 0x40 1350 #define _C1INTP 0x80 1351 1352 //============================================================================== 1353 1354 1355 //============================================================================== 1356 // CM2CON0 Bits 1357 1358 extern __at(0x0113) __sfr CM2CON0; 1359 1360 typedef struct 1361 { 1362 unsigned C2SYNC : 1; 1363 unsigned C2HYS : 1; 1364 unsigned C2SP : 1; 1365 unsigned : 1; 1366 unsigned C2POL : 1; 1367 unsigned C2OE : 1; 1368 unsigned C2OUT : 1; 1369 unsigned C2ON : 1; 1370 } __CM2CON0bits_t; 1371 1372 extern __at(0x0113) volatile __CM2CON0bits_t CM2CON0bits; 1373 1374 #define _C2SYNC 0x01 1375 #define _C2HYS 0x02 1376 #define _C2SP 0x04 1377 #define _C2POL 0x10 1378 #define _C2OE 0x20 1379 #define _C2OUT 0x40 1380 #define _C2ON 0x80 1381 1382 //============================================================================== 1383 1384 1385 //============================================================================== 1386 // CM2CON1 Bits 1387 1388 extern __at(0x0114) __sfr CM2CON1; 1389 1390 typedef union 1391 { 1392 struct 1393 { 1394 unsigned C2NCH0 : 1; 1395 unsigned C2NCH1 : 1; 1396 unsigned C2NCH2 : 1; 1397 unsigned : 1; 1398 unsigned C2PCH0 : 1; 1399 unsigned C2PCH1 : 1; 1400 unsigned C2INTN : 1; 1401 unsigned C2INTP : 1; 1402 }; 1403 1404 struct 1405 { 1406 unsigned C2NCH : 3; 1407 unsigned : 5; 1408 }; 1409 1410 struct 1411 { 1412 unsigned : 4; 1413 unsigned C2PCH : 2; 1414 unsigned : 2; 1415 }; 1416 } __CM2CON1bits_t; 1417 1418 extern __at(0x0114) volatile __CM2CON1bits_t CM2CON1bits; 1419 1420 #define _C2NCH0 0x01 1421 #define _C2NCH1 0x02 1422 #define _C2NCH2 0x04 1423 #define _C2PCH0 0x10 1424 #define _C2PCH1 0x20 1425 #define _C2INTN 0x40 1426 #define _C2INTP 0x80 1427 1428 //============================================================================== 1429 1430 1431 //============================================================================== 1432 // CMOUT Bits 1433 1434 extern __at(0x0115) __sfr CMOUT; 1435 1436 typedef struct 1437 { 1438 unsigned MC1OUT : 1; 1439 unsigned MC2OUT : 1; 1440 unsigned : 1; 1441 unsigned : 1; 1442 unsigned : 1; 1443 unsigned : 1; 1444 unsigned : 1; 1445 unsigned : 1; 1446 } __CMOUTbits_t; 1447 1448 extern __at(0x0115) volatile __CMOUTbits_t CMOUTbits; 1449 1450 #define _MC1OUT 0x01 1451 #define _MC2OUT 0x02 1452 1453 //============================================================================== 1454 1455 1456 //============================================================================== 1457 // BORCON Bits 1458 1459 extern __at(0x0116) __sfr BORCON; 1460 1461 typedef struct 1462 { 1463 unsigned BORRDY : 1; 1464 unsigned : 1; 1465 unsigned : 1; 1466 unsigned : 1; 1467 unsigned : 1; 1468 unsigned : 1; 1469 unsigned BORFS : 1; 1470 unsigned SBOREN : 1; 1471 } __BORCONbits_t; 1472 1473 extern __at(0x0116) volatile __BORCONbits_t BORCONbits; 1474 1475 #define _BORRDY 0x01 1476 #define _BORFS 0x40 1477 #define _SBOREN 0x80 1478 1479 //============================================================================== 1480 1481 1482 //============================================================================== 1483 // FVRCON Bits 1484 1485 extern __at(0x0117) __sfr FVRCON; 1486 1487 typedef union 1488 { 1489 struct 1490 { 1491 unsigned ADFVR0 : 1; 1492 unsigned ADFVR1 : 1; 1493 unsigned CDAFVR0 : 1; 1494 unsigned CDAFVR1 : 1; 1495 unsigned TSRNG : 1; 1496 unsigned TSEN : 1; 1497 unsigned FVRRDY : 1; 1498 unsigned FVREN : 1; 1499 }; 1500 1501 struct 1502 { 1503 unsigned ADFVR : 2; 1504 unsigned : 6; 1505 }; 1506 1507 struct 1508 { 1509 unsigned : 2; 1510 unsigned CDAFVR : 2; 1511 unsigned : 4; 1512 }; 1513 } __FVRCONbits_t; 1514 1515 extern __at(0x0117) volatile __FVRCONbits_t FVRCONbits; 1516 1517 #define _ADFVR0 0x01 1518 #define _ADFVR1 0x02 1519 #define _CDAFVR0 0x04 1520 #define _CDAFVR1 0x08 1521 #define _TSRNG 0x10 1522 #define _TSEN 0x20 1523 #define _FVRRDY 0x40 1524 #define _FVREN 0x80 1525 1526 //============================================================================== 1527 1528 1529 //============================================================================== 1530 // DACCON0 Bits 1531 1532 extern __at(0x0118) __sfr DACCON0; 1533 1534 typedef struct 1535 { 1536 unsigned : 1; 1537 unsigned : 1; 1538 unsigned DACPSS : 1; 1539 unsigned : 1; 1540 unsigned DACOE2 : 1; 1541 unsigned DACOE1 : 1; 1542 unsigned : 1; 1543 unsigned DACEN : 1; 1544 } __DACCON0bits_t; 1545 1546 extern __at(0x0118) volatile __DACCON0bits_t DACCON0bits; 1547 1548 #define _DACPSS 0x04 1549 #define _DACOE2 0x10 1550 #define _DACOE1 0x20 1551 #define _DACEN 0x80 1552 1553 //============================================================================== 1554 1555 1556 //============================================================================== 1557 // DACCON1 Bits 1558 1559 extern __at(0x0119) __sfr DACCON1; 1560 1561 typedef union 1562 { 1563 struct 1564 { 1565 unsigned DACR0 : 1; 1566 unsigned DACR1 : 1; 1567 unsigned DACR2 : 1; 1568 unsigned DACR3 : 1; 1569 unsigned DACR4 : 1; 1570 unsigned : 1; 1571 unsigned : 1; 1572 unsigned : 1; 1573 }; 1574 1575 struct 1576 { 1577 unsigned DACR : 5; 1578 unsigned : 3; 1579 }; 1580 } __DACCON1bits_t; 1581 1582 extern __at(0x0119) volatile __DACCON1bits_t DACCON1bits; 1583 1584 #define _DACR0 0x01 1585 #define _DACR1 0x02 1586 #define _DACR2 0x04 1587 #define _DACR3 0x08 1588 #define _DACR4 0x10 1589 1590 //============================================================================== 1591 1592 1593 //============================================================================== 1594 // APFCON Bits 1595 1596 extern __at(0x011D) __sfr APFCON; 1597 1598 typedef union 1599 { 1600 struct 1601 { 1602 unsigned NCO1SEL : 1; 1603 unsigned CLC1SEL : 1; 1604 unsigned : 1; 1605 unsigned T1GSEL : 1; 1606 unsigned SSSEL : 1; 1607 unsigned : 1; 1608 unsigned : 1; 1609 unsigned : 1; 1610 }; 1611 1612 struct 1613 { 1614 unsigned NCOSEL : 1; 1615 unsigned : 1; 1616 unsigned : 1; 1617 unsigned : 1; 1618 unsigned : 1; 1619 unsigned : 1; 1620 unsigned : 1; 1621 unsigned : 1; 1622 }; 1623 } __APFCONbits_t; 1624 1625 extern __at(0x011D) volatile __APFCONbits_t APFCONbits; 1626 1627 #define _NCO1SEL 0x01 1628 #define _NCOSEL 0x01 1629 #define _CLC1SEL 0x02 1630 #define _T1GSEL 0x08 1631 #define _SSSEL 0x10 1632 1633 //============================================================================== 1634 1635 1636 //============================================================================== 1637 // ANSELA Bits 1638 1639 extern __at(0x018C) __sfr ANSELA; 1640 1641 typedef struct 1642 { 1643 unsigned ANSA0 : 1; 1644 unsigned ANSA1 : 1; 1645 unsigned ANSA2 : 1; 1646 unsigned : 1; 1647 unsigned ANSA4 : 1; 1648 unsigned : 1; 1649 unsigned : 1; 1650 unsigned : 1; 1651 } __ANSELAbits_t; 1652 1653 extern __at(0x018C) volatile __ANSELAbits_t ANSELAbits; 1654 1655 #define _ANSA0 0x01 1656 #define _ANSA1 0x02 1657 #define _ANSA2 0x04 1658 #define _ANSA4 0x10 1659 1660 //============================================================================== 1661 1662 1663 //============================================================================== 1664 // ANSELB Bits 1665 1666 extern __at(0x018D) __sfr ANSELB; 1667 1668 typedef struct 1669 { 1670 unsigned : 1; 1671 unsigned : 1; 1672 unsigned : 1; 1673 unsigned : 1; 1674 unsigned ANSB4 : 1; 1675 unsigned ANSB5 : 1; 1676 unsigned : 1; 1677 unsigned : 1; 1678 } __ANSELBbits_t; 1679 1680 extern __at(0x018D) volatile __ANSELBbits_t ANSELBbits; 1681 1682 #define _ANSB4 0x10 1683 #define _ANSB5 0x20 1684 1685 //============================================================================== 1686 1687 1688 //============================================================================== 1689 // ANSELC Bits 1690 1691 extern __at(0x018E) __sfr ANSELC; 1692 1693 typedef struct 1694 { 1695 unsigned ANSC0 : 1; 1696 unsigned ANSC1 : 1; 1697 unsigned ANSC2 : 1; 1698 unsigned ANSC3 : 1; 1699 unsigned : 1; 1700 unsigned : 1; 1701 unsigned ANSC6 : 1; 1702 unsigned ANSC7 : 1; 1703 } __ANSELCbits_t; 1704 1705 extern __at(0x018E) volatile __ANSELCbits_t ANSELCbits; 1706 1707 #define _ANSC0 0x01 1708 #define _ANSC1 0x02 1709 #define _ANSC2 0x04 1710 #define _ANSC3 0x08 1711 #define _ANSC6 0x40 1712 #define _ANSC7 0x80 1713 1714 //============================================================================== 1715 1716 extern __at(0x0191) __sfr PMADR; 1717 extern __at(0x0191) __sfr PMADRL; 1718 extern __at(0x0192) __sfr PMADRH; 1719 extern __at(0x0193) __sfr PMDAT; 1720 extern __at(0x0193) __sfr PMDATL; 1721 extern __at(0x0194) __sfr PMDATH; 1722 1723 //============================================================================== 1724 // PMCON1 Bits 1725 1726 extern __at(0x0195) __sfr PMCON1; 1727 1728 typedef struct 1729 { 1730 unsigned RD : 1; 1731 unsigned WR : 1; 1732 unsigned WREN : 1; 1733 unsigned WRERR : 1; 1734 unsigned FREE : 1; 1735 unsigned LWLO : 1; 1736 unsigned CFGS : 1; 1737 unsigned : 1; 1738 } __PMCON1bits_t; 1739 1740 extern __at(0x0195) volatile __PMCON1bits_t PMCON1bits; 1741 1742 #define _RD 0x01 1743 #define _WR 0x02 1744 #define _WREN 0x04 1745 #define _WRERR 0x08 1746 #define _FREE 0x10 1747 #define _LWLO 0x20 1748 #define _CFGS 0x40 1749 1750 //============================================================================== 1751 1752 extern __at(0x0196) __sfr PMCON2; 1753 1754 //============================================================================== 1755 // VREGCON Bits 1756 1757 extern __at(0x0197) __sfr VREGCON; 1758 1759 typedef struct 1760 { 1761 unsigned Reserved : 1; 1762 unsigned VREGPM : 1; 1763 unsigned : 1; 1764 unsigned : 1; 1765 unsigned : 1; 1766 unsigned : 1; 1767 unsigned : 1; 1768 unsigned : 1; 1769 } __VREGCONbits_t; 1770 1771 extern __at(0x0197) volatile __VREGCONbits_t VREGCONbits; 1772 1773 #define _Reserved 0x01 1774 #define _VREGPM 0x02 1775 1776 //============================================================================== 1777 1778 extern __at(0x0199) __sfr RCREG; 1779 extern __at(0x019A) __sfr TXREG; 1780 extern __at(0x019B) __sfr SPBRG; 1781 extern __at(0x019B) __sfr SPBRGL; 1782 extern __at(0x019C) __sfr SPBRGH; 1783 1784 //============================================================================== 1785 // RCSTA Bits 1786 1787 extern __at(0x019D) __sfr RCSTA; 1788 1789 typedef struct 1790 { 1791 unsigned RX9D : 1; 1792 unsigned OERR : 1; 1793 unsigned FERR : 1; 1794 unsigned ADDEN : 1; 1795 unsigned CREN : 1; 1796 unsigned SREN : 1; 1797 unsigned RX9 : 1; 1798 unsigned SPEN : 1; 1799 } __RCSTAbits_t; 1800 1801 extern __at(0x019D) volatile __RCSTAbits_t RCSTAbits; 1802 1803 #define _RX9D 0x01 1804 #define _OERR 0x02 1805 #define _FERR 0x04 1806 #define _ADDEN 0x08 1807 #define _CREN 0x10 1808 #define _SREN 0x20 1809 #define _RX9 0x40 1810 #define _SPEN 0x80 1811 1812 //============================================================================== 1813 1814 1815 //============================================================================== 1816 // TXSTA Bits 1817 1818 extern __at(0x019E) __sfr TXSTA; 1819 1820 typedef struct 1821 { 1822 unsigned TX9D : 1; 1823 unsigned TRMT : 1; 1824 unsigned BRGH : 1; 1825 unsigned SENDB : 1; 1826 unsigned SYNC : 1; 1827 unsigned TXEN : 1; 1828 unsigned TX9 : 1; 1829 unsigned CSRC : 1; 1830 } __TXSTAbits_t; 1831 1832 extern __at(0x019E) volatile __TXSTAbits_t TXSTAbits; 1833 1834 #define _TX9D 0x01 1835 #define _TRMT 0x02 1836 #define _BRGH 0x04 1837 #define _SENDB 0x08 1838 #define _SYNC 0x10 1839 #define _TXEN 0x20 1840 #define _TX9 0x40 1841 #define _CSRC 0x80 1842 1843 //============================================================================== 1844 1845 1846 //============================================================================== 1847 // BAUDCON Bits 1848 1849 extern __at(0x019F) __sfr BAUDCON; 1850 1851 typedef struct 1852 { 1853 unsigned ABDEN : 1; 1854 unsigned WUE : 1; 1855 unsigned : 1; 1856 unsigned BRG16 : 1; 1857 unsigned SCKP : 1; 1858 unsigned : 1; 1859 unsigned RCIDL : 1; 1860 unsigned ABDOVF : 1; 1861 } __BAUDCONbits_t; 1862 1863 extern __at(0x019F) volatile __BAUDCONbits_t BAUDCONbits; 1864 1865 #define _ABDEN 0x01 1866 #define _WUE 0x02 1867 #define _BRG16 0x08 1868 #define _SCKP 0x10 1869 #define _RCIDL 0x40 1870 #define _ABDOVF 0x80 1871 1872 //============================================================================== 1873 1874 1875 //============================================================================== 1876 // WPUA Bits 1877 1878 extern __at(0x020C) __sfr WPUA; 1879 1880 typedef union 1881 { 1882 struct 1883 { 1884 unsigned WPUA0 : 1; 1885 unsigned WPUA1 : 1; 1886 unsigned WPUA2 : 1; 1887 unsigned WPUA3 : 1; 1888 unsigned WPUA4 : 1; 1889 unsigned WPUA5 : 1; 1890 unsigned : 1; 1891 unsigned : 1; 1892 }; 1893 1894 struct 1895 { 1896 unsigned WPUA : 6; 1897 unsigned : 2; 1898 }; 1899 } __WPUAbits_t; 1900 1901 extern __at(0x020C) volatile __WPUAbits_t WPUAbits; 1902 1903 #define _WPUA0 0x01 1904 #define _WPUA1 0x02 1905 #define _WPUA2 0x04 1906 #define _WPUA3 0x08 1907 #define _WPUA4 0x10 1908 #define _WPUA5 0x20 1909 1910 //============================================================================== 1911 1912 1913 //============================================================================== 1914 // WPUB Bits 1915 1916 extern __at(0x020D) __sfr WPUB; 1917 1918 typedef struct 1919 { 1920 unsigned : 1; 1921 unsigned : 1; 1922 unsigned : 1; 1923 unsigned : 1; 1924 unsigned WPUB4 : 1; 1925 unsigned WPUB5 : 1; 1926 unsigned WPUB6 : 1; 1927 unsigned WPUB7 : 1; 1928 } __WPUBbits_t; 1929 1930 extern __at(0x020D) volatile __WPUBbits_t WPUBbits; 1931 1932 #define _WPUB4 0x10 1933 #define _WPUB5 0x20 1934 #define _WPUB6 0x40 1935 #define _WPUB7 0x80 1936 1937 //============================================================================== 1938 1939 extern __at(0x0211) __sfr SSP1BUF; 1940 extern __at(0x0211) __sfr SSPBUF; 1941 extern __at(0x0212) __sfr SSP1ADD; 1942 extern __at(0x0212) __sfr SSPADD; 1943 extern __at(0x0213) __sfr SSP1MSK; 1944 extern __at(0x0213) __sfr SSPMSK; 1945 1946 //============================================================================== 1947 // SSP1STAT Bits 1948 1949 extern __at(0x0214) __sfr SSP1STAT; 1950 1951 typedef struct 1952 { 1953 unsigned BF : 1; 1954 unsigned UA : 1; 1955 unsigned R_NOT_W : 1; 1956 unsigned S : 1; 1957 unsigned P : 1; 1958 unsigned D_NOT_A : 1; 1959 unsigned CKE : 1; 1960 unsigned SMP : 1; 1961 } __SSP1STATbits_t; 1962 1963 extern __at(0x0214) volatile __SSP1STATbits_t SSP1STATbits; 1964 1965 #define _BF 0x01 1966 #define _UA 0x02 1967 #define _R_NOT_W 0x04 1968 #define _S 0x08 1969 #define _P 0x10 1970 #define _D_NOT_A 0x20 1971 #define _CKE 0x40 1972 #define _SMP 0x80 1973 1974 //============================================================================== 1975 1976 1977 //============================================================================== 1978 // SSPSTAT Bits 1979 1980 extern __at(0x0214) __sfr SSPSTAT; 1981 1982 typedef struct 1983 { 1984 unsigned BF : 1; 1985 unsigned UA : 1; 1986 unsigned R_NOT_W : 1; 1987 unsigned S : 1; 1988 unsigned P : 1; 1989 unsigned D_NOT_A : 1; 1990 unsigned CKE : 1; 1991 unsigned SMP : 1; 1992 } __SSPSTATbits_t; 1993 1994 extern __at(0x0214) volatile __SSPSTATbits_t SSPSTATbits; 1995 1996 #define _SSPSTAT_BF 0x01 1997 #define _SSPSTAT_UA 0x02 1998 #define _SSPSTAT_R_NOT_W 0x04 1999 #define _SSPSTAT_S 0x08 2000 #define _SSPSTAT_P 0x10 2001 #define _SSPSTAT_D_NOT_A 0x20 2002 #define _SSPSTAT_CKE 0x40 2003 #define _SSPSTAT_SMP 0x80 2004 2005 //============================================================================== 2006 2007 2008 //============================================================================== 2009 // SSP1CON1 Bits 2010 2011 extern __at(0x0215) __sfr SSP1CON1; 2012 2013 typedef union 2014 { 2015 struct 2016 { 2017 unsigned SSPM0 : 1; 2018 unsigned SSPM1 : 1; 2019 unsigned SSPM2 : 1; 2020 unsigned SSPM3 : 1; 2021 unsigned CKP : 1; 2022 unsigned SSPEN : 1; 2023 unsigned SSPOV : 1; 2024 unsigned WCOL : 1; 2025 }; 2026 2027 struct 2028 { 2029 unsigned SSPM : 4; 2030 unsigned : 4; 2031 }; 2032 } __SSP1CON1bits_t; 2033 2034 extern __at(0x0215) volatile __SSP1CON1bits_t SSP1CON1bits; 2035 2036 #define _SSPM0 0x01 2037 #define _SSPM1 0x02 2038 #define _SSPM2 0x04 2039 #define _SSPM3 0x08 2040 #define _CKP 0x10 2041 #define _SSPEN 0x20 2042 #define _SSPOV 0x40 2043 #define _WCOL 0x80 2044 2045 //============================================================================== 2046 2047 2048 //============================================================================== 2049 // SSPCON Bits 2050 2051 extern __at(0x0215) __sfr SSPCON; 2052 2053 typedef union 2054 { 2055 struct 2056 { 2057 unsigned SSPM0 : 1; 2058 unsigned SSPM1 : 1; 2059 unsigned SSPM2 : 1; 2060 unsigned SSPM3 : 1; 2061 unsigned CKP : 1; 2062 unsigned SSPEN : 1; 2063 unsigned SSPOV : 1; 2064 unsigned WCOL : 1; 2065 }; 2066 2067 struct 2068 { 2069 unsigned SSPM : 4; 2070 unsigned : 4; 2071 }; 2072 } __SSPCONbits_t; 2073 2074 extern __at(0x0215) volatile __SSPCONbits_t SSPCONbits; 2075 2076 #define _SSPCON_SSPM0 0x01 2077 #define _SSPCON_SSPM1 0x02 2078 #define _SSPCON_SSPM2 0x04 2079 #define _SSPCON_SSPM3 0x08 2080 #define _SSPCON_CKP 0x10 2081 #define _SSPCON_SSPEN 0x20 2082 #define _SSPCON_SSPOV 0x40 2083 #define _SSPCON_WCOL 0x80 2084 2085 //============================================================================== 2086 2087 2088 //============================================================================== 2089 // SSPCON1 Bits 2090 2091 extern __at(0x0215) __sfr SSPCON1; 2092 2093 typedef union 2094 { 2095 struct 2096 { 2097 unsigned SSPM0 : 1; 2098 unsigned SSPM1 : 1; 2099 unsigned SSPM2 : 1; 2100 unsigned SSPM3 : 1; 2101 unsigned CKP : 1; 2102 unsigned SSPEN : 1; 2103 unsigned SSPOV : 1; 2104 unsigned WCOL : 1; 2105 }; 2106 2107 struct 2108 { 2109 unsigned SSPM : 4; 2110 unsigned : 4; 2111 }; 2112 } __SSPCON1bits_t; 2113 2114 extern __at(0x0215) volatile __SSPCON1bits_t SSPCON1bits; 2115 2116 #define _SSPCON1_SSPM0 0x01 2117 #define _SSPCON1_SSPM1 0x02 2118 #define _SSPCON1_SSPM2 0x04 2119 #define _SSPCON1_SSPM3 0x08 2120 #define _SSPCON1_CKP 0x10 2121 #define _SSPCON1_SSPEN 0x20 2122 #define _SSPCON1_SSPOV 0x40 2123 #define _SSPCON1_WCOL 0x80 2124 2125 //============================================================================== 2126 2127 2128 //============================================================================== 2129 // SSP1CON2 Bits 2130 2131 extern __at(0x0216) __sfr SSP1CON2; 2132 2133 typedef struct 2134 { 2135 unsigned SEN : 1; 2136 unsigned RSEN : 1; 2137 unsigned PEN : 1; 2138 unsigned RCEN : 1; 2139 unsigned ACKEN : 1; 2140 unsigned ACKDT : 1; 2141 unsigned ACKSTAT : 1; 2142 unsigned GCEN : 1; 2143 } __SSP1CON2bits_t; 2144 2145 extern __at(0x0216) volatile __SSP1CON2bits_t SSP1CON2bits; 2146 2147 #define _SEN 0x01 2148 #define _RSEN 0x02 2149 #define _PEN 0x04 2150 #define _RCEN 0x08 2151 #define _ACKEN 0x10 2152 #define _ACKDT 0x20 2153 #define _ACKSTAT 0x40 2154 #define _GCEN 0x80 2155 2156 //============================================================================== 2157 2158 2159 //============================================================================== 2160 // SSPCON2 Bits 2161 2162 extern __at(0x0216) __sfr SSPCON2; 2163 2164 typedef struct 2165 { 2166 unsigned SEN : 1; 2167 unsigned RSEN : 1; 2168 unsigned PEN : 1; 2169 unsigned RCEN : 1; 2170 unsigned ACKEN : 1; 2171 unsigned ACKDT : 1; 2172 unsigned ACKSTAT : 1; 2173 unsigned GCEN : 1; 2174 } __SSPCON2bits_t; 2175 2176 extern __at(0x0216) volatile __SSPCON2bits_t SSPCON2bits; 2177 2178 #define _SSPCON2_SEN 0x01 2179 #define _SSPCON2_RSEN 0x02 2180 #define _SSPCON2_PEN 0x04 2181 #define _SSPCON2_RCEN 0x08 2182 #define _SSPCON2_ACKEN 0x10 2183 #define _SSPCON2_ACKDT 0x20 2184 #define _SSPCON2_ACKSTAT 0x40 2185 #define _SSPCON2_GCEN 0x80 2186 2187 //============================================================================== 2188 2189 2190 //============================================================================== 2191 // SSP1CON3 Bits 2192 2193 extern __at(0x0217) __sfr SSP1CON3; 2194 2195 typedef struct 2196 { 2197 unsigned DHEN : 1; 2198 unsigned AHEN : 1; 2199 unsigned SBCDE : 1; 2200 unsigned SDAHT : 1; 2201 unsigned BOEN : 1; 2202 unsigned SCIE : 1; 2203 unsigned PCIE : 1; 2204 unsigned ACKTIM : 1; 2205 } __SSP1CON3bits_t; 2206 2207 extern __at(0x0217) volatile __SSP1CON3bits_t SSP1CON3bits; 2208 2209 #define _DHEN 0x01 2210 #define _AHEN 0x02 2211 #define _SBCDE 0x04 2212 #define _SDAHT 0x08 2213 #define _BOEN 0x10 2214 #define _SCIE 0x20 2215 #define _PCIE 0x40 2216 #define _ACKTIM 0x80 2217 2218 //============================================================================== 2219 2220 2221 //============================================================================== 2222 // SSPCON3 Bits 2223 2224 extern __at(0x0217) __sfr SSPCON3; 2225 2226 typedef struct 2227 { 2228 unsigned DHEN : 1; 2229 unsigned AHEN : 1; 2230 unsigned SBCDE : 1; 2231 unsigned SDAHT : 1; 2232 unsigned BOEN : 1; 2233 unsigned SCIE : 1; 2234 unsigned PCIE : 1; 2235 unsigned ACKTIM : 1; 2236 } __SSPCON3bits_t; 2237 2238 extern __at(0x0217) volatile __SSPCON3bits_t SSPCON3bits; 2239 2240 #define _SSPCON3_DHEN 0x01 2241 #define _SSPCON3_AHEN 0x02 2242 #define _SSPCON3_SBCDE 0x04 2243 #define _SSPCON3_SDAHT 0x08 2244 #define _SSPCON3_BOEN 0x10 2245 #define _SSPCON3_SCIE 0x20 2246 #define _SSPCON3_PCIE 0x40 2247 #define _SSPCON3_ACKTIM 0x80 2248 2249 //============================================================================== 2250 2251 2252 //============================================================================== 2253 // IOCAP Bits 2254 2255 extern __at(0x0391) __sfr IOCAP; 2256 2257 typedef union 2258 { 2259 struct 2260 { 2261 unsigned IOCAP0 : 1; 2262 unsigned IOCAP1 : 1; 2263 unsigned IOCAP2 : 1; 2264 unsigned IOCAP3 : 1; 2265 unsigned IOCAP4 : 1; 2266 unsigned IOCAP5 : 1; 2267 unsigned : 1; 2268 unsigned : 1; 2269 }; 2270 2271 struct 2272 { 2273 unsigned IOCAP : 6; 2274 unsigned : 2; 2275 }; 2276 } __IOCAPbits_t; 2277 2278 extern __at(0x0391) volatile __IOCAPbits_t IOCAPbits; 2279 2280 #define _IOCAP0 0x01 2281 #define _IOCAP1 0x02 2282 #define _IOCAP2 0x04 2283 #define _IOCAP3 0x08 2284 #define _IOCAP4 0x10 2285 #define _IOCAP5 0x20 2286 2287 //============================================================================== 2288 2289 2290 //============================================================================== 2291 // IOCAN Bits 2292 2293 extern __at(0x0392) __sfr IOCAN; 2294 2295 typedef union 2296 { 2297 struct 2298 { 2299 unsigned IOCAN0 : 1; 2300 unsigned IOCAN1 : 1; 2301 unsigned IOCAN2 : 1; 2302 unsigned IOCAN3 : 1; 2303 unsigned IOCAN4 : 1; 2304 unsigned IOCAN5 : 1; 2305 unsigned : 1; 2306 unsigned : 1; 2307 }; 2308 2309 struct 2310 { 2311 unsigned IOCAN : 6; 2312 unsigned : 2; 2313 }; 2314 } __IOCANbits_t; 2315 2316 extern __at(0x0392) volatile __IOCANbits_t IOCANbits; 2317 2318 #define _IOCAN0 0x01 2319 #define _IOCAN1 0x02 2320 #define _IOCAN2 0x04 2321 #define _IOCAN3 0x08 2322 #define _IOCAN4 0x10 2323 #define _IOCAN5 0x20 2324 2325 //============================================================================== 2326 2327 2328 //============================================================================== 2329 // IOCAF Bits 2330 2331 extern __at(0x0393) __sfr IOCAF; 2332 2333 typedef union 2334 { 2335 struct 2336 { 2337 unsigned IOCAF0 : 1; 2338 unsigned IOCAF1 : 1; 2339 unsigned IOCAF2 : 1; 2340 unsigned IOCAF3 : 1; 2341 unsigned IOCAF4 : 1; 2342 unsigned IOCAF5 : 1; 2343 unsigned : 1; 2344 unsigned : 1; 2345 }; 2346 2347 struct 2348 { 2349 unsigned IOCAF : 6; 2350 unsigned : 2; 2351 }; 2352 } __IOCAFbits_t; 2353 2354 extern __at(0x0393) volatile __IOCAFbits_t IOCAFbits; 2355 2356 #define _IOCAF0 0x01 2357 #define _IOCAF1 0x02 2358 #define _IOCAF2 0x04 2359 #define _IOCAF3 0x08 2360 #define _IOCAF4 0x10 2361 #define _IOCAF5 0x20 2362 2363 //============================================================================== 2364 2365 2366 //============================================================================== 2367 // IOCBP Bits 2368 2369 extern __at(0x0394) __sfr IOCBP; 2370 2371 typedef struct 2372 { 2373 unsigned : 1; 2374 unsigned : 1; 2375 unsigned : 1; 2376 unsigned : 1; 2377 unsigned IOCBP4 : 1; 2378 unsigned IOCBP5 : 1; 2379 unsigned IOCBP6 : 1; 2380 unsigned IOCBP7 : 1; 2381 } __IOCBPbits_t; 2382 2383 extern __at(0x0394) volatile __IOCBPbits_t IOCBPbits; 2384 2385 #define _IOCBP4 0x10 2386 #define _IOCBP5 0x20 2387 #define _IOCBP6 0x40 2388 #define _IOCBP7 0x80 2389 2390 //============================================================================== 2391 2392 2393 //============================================================================== 2394 // IOCBN Bits 2395 2396 extern __at(0x0395) __sfr IOCBN; 2397 2398 typedef struct 2399 { 2400 unsigned : 1; 2401 unsigned : 1; 2402 unsigned : 1; 2403 unsigned : 1; 2404 unsigned IOCBN4 : 1; 2405 unsigned IOCBN5 : 1; 2406 unsigned IOCBN6 : 1; 2407 unsigned IOCBN7 : 1; 2408 } __IOCBNbits_t; 2409 2410 extern __at(0x0395) volatile __IOCBNbits_t IOCBNbits; 2411 2412 #define _IOCBN4 0x10 2413 #define _IOCBN5 0x20 2414 #define _IOCBN6 0x40 2415 #define _IOCBN7 0x80 2416 2417 //============================================================================== 2418 2419 2420 //============================================================================== 2421 // IOCBF Bits 2422 2423 extern __at(0x0396) __sfr IOCBF; 2424 2425 typedef struct 2426 { 2427 unsigned : 1; 2428 unsigned : 1; 2429 unsigned : 1; 2430 unsigned : 1; 2431 unsigned IOCBF4 : 1; 2432 unsigned IOCBF5 : 1; 2433 unsigned IOCBF6 : 1; 2434 unsigned IOCBF7 : 1; 2435 } __IOCBFbits_t; 2436 2437 extern __at(0x0396) volatile __IOCBFbits_t IOCBFbits; 2438 2439 #define _IOCBF4 0x10 2440 #define _IOCBF5 0x20 2441 #define _IOCBF6 0x40 2442 #define _IOCBF7 0x80 2443 2444 //============================================================================== 2445 2446 extern __at(0x0498) __sfr NCO1ACC; 2447 2448 //============================================================================== 2449 // NCO1ACCL Bits 2450 2451 extern __at(0x0498) __sfr NCO1ACCL; 2452 2453 typedef struct 2454 { 2455 unsigned NCO1ACC0 : 1; 2456 unsigned NCO1ACC1 : 1; 2457 unsigned NCO1ACC2 : 1; 2458 unsigned NCO1ACC3 : 1; 2459 unsigned NCO1ACC4 : 1; 2460 unsigned NCO1ACC5 : 1; 2461 unsigned NCO1ACC6 : 1; 2462 unsigned NCO1ACC7 : 1; 2463 } __NCO1ACCLbits_t; 2464 2465 extern __at(0x0498) volatile __NCO1ACCLbits_t NCO1ACCLbits; 2466 2467 #define _NCO1ACC0 0x01 2468 #define _NCO1ACC1 0x02 2469 #define _NCO1ACC2 0x04 2470 #define _NCO1ACC3 0x08 2471 #define _NCO1ACC4 0x10 2472 #define _NCO1ACC5 0x20 2473 #define _NCO1ACC6 0x40 2474 #define _NCO1ACC7 0x80 2475 2476 //============================================================================== 2477 2478 2479 //============================================================================== 2480 // NCO1ACCH Bits 2481 2482 extern __at(0x0499) __sfr NCO1ACCH; 2483 2484 typedef struct 2485 { 2486 unsigned NCO1ACC8 : 1; 2487 unsigned NCO1ACC9 : 1; 2488 unsigned NCO1ACC10 : 1; 2489 unsigned NCO1ACC11 : 1; 2490 unsigned NCO1ACC12 : 1; 2491 unsigned NCO1ACC13 : 1; 2492 unsigned NCO1ACC14 : 1; 2493 unsigned NCO1ACC15 : 1; 2494 } __NCO1ACCHbits_t; 2495 2496 extern __at(0x0499) volatile __NCO1ACCHbits_t NCO1ACCHbits; 2497 2498 #define _NCO1ACC8 0x01 2499 #define _NCO1ACC9 0x02 2500 #define _NCO1ACC10 0x04 2501 #define _NCO1ACC11 0x08 2502 #define _NCO1ACC12 0x10 2503 #define _NCO1ACC13 0x20 2504 #define _NCO1ACC14 0x40 2505 #define _NCO1ACC15 0x80 2506 2507 //============================================================================== 2508 2509 2510 //============================================================================== 2511 // NCO1ACCU Bits 2512 2513 extern __at(0x049A) __sfr NCO1ACCU; 2514 2515 typedef struct 2516 { 2517 unsigned NCO1ACC16 : 1; 2518 unsigned NCO1ACC17 : 1; 2519 unsigned NCO1ACC18 : 1; 2520 unsigned NCO1ACC19 : 1; 2521 unsigned : 1; 2522 unsigned : 1; 2523 unsigned : 1; 2524 unsigned : 1; 2525 } __NCO1ACCUbits_t; 2526 2527 extern __at(0x049A) volatile __NCO1ACCUbits_t NCO1ACCUbits; 2528 2529 #define _NCO1ACC16 0x01 2530 #define _NCO1ACC17 0x02 2531 #define _NCO1ACC18 0x04 2532 #define _NCO1ACC19 0x08 2533 2534 //============================================================================== 2535 2536 extern __at(0x049B) __sfr NCO1INC; 2537 2538 //============================================================================== 2539 // NCO1INCL Bits 2540 2541 extern __at(0x049B) __sfr NCO1INCL; 2542 2543 typedef struct 2544 { 2545 unsigned NCO1INC0 : 1; 2546 unsigned NCO1INC1 : 1; 2547 unsigned NCO1INC2 : 1; 2548 unsigned NCO1INC3 : 1; 2549 unsigned NCO1INC4 : 1; 2550 unsigned NCO1INC5 : 1; 2551 unsigned NCO1INC6 : 1; 2552 unsigned NCO1INC7 : 1; 2553 } __NCO1INCLbits_t; 2554 2555 extern __at(0x049B) volatile __NCO1INCLbits_t NCO1INCLbits; 2556 2557 #define _NCO1INC0 0x01 2558 #define _NCO1INC1 0x02 2559 #define _NCO1INC2 0x04 2560 #define _NCO1INC3 0x08 2561 #define _NCO1INC4 0x10 2562 #define _NCO1INC5 0x20 2563 #define _NCO1INC6 0x40 2564 #define _NCO1INC7 0x80 2565 2566 //============================================================================== 2567 2568 2569 //============================================================================== 2570 // NCO1INCH Bits 2571 2572 extern __at(0x049C) __sfr NCO1INCH; 2573 2574 typedef struct 2575 { 2576 unsigned NCO1INC8 : 1; 2577 unsigned NCO1INC9 : 1; 2578 unsigned NCO1INC10 : 1; 2579 unsigned NCO1INC11 : 1; 2580 unsigned NCO1INC12 : 1; 2581 unsigned NCO1INC13 : 1; 2582 unsigned NCO1INC14 : 1; 2583 unsigned NCO1INC15 : 1; 2584 } __NCO1INCHbits_t; 2585 2586 extern __at(0x049C) volatile __NCO1INCHbits_t NCO1INCHbits; 2587 2588 #define _NCO1INC8 0x01 2589 #define _NCO1INC9 0x02 2590 #define _NCO1INC10 0x04 2591 #define _NCO1INC11 0x08 2592 #define _NCO1INC12 0x10 2593 #define _NCO1INC13 0x20 2594 #define _NCO1INC14 0x40 2595 #define _NCO1INC15 0x80 2596 2597 //============================================================================== 2598 2599 extern __at(0x049D) __sfr NCO1INCU; 2600 2601 //============================================================================== 2602 // NCO1CON Bits 2603 2604 extern __at(0x049E) __sfr NCO1CON; 2605 2606 typedef struct 2607 { 2608 unsigned N1PFM : 1; 2609 unsigned : 1; 2610 unsigned : 1; 2611 unsigned : 1; 2612 unsigned N1POL : 1; 2613 unsigned N1OUT : 1; 2614 unsigned N1OE : 1; 2615 unsigned N1EN : 1; 2616 } __NCO1CONbits_t; 2617 2618 extern __at(0x049E) volatile __NCO1CONbits_t NCO1CONbits; 2619 2620 #define _N1PFM 0x01 2621 #define _N1POL 0x10 2622 #define _N1OUT 0x20 2623 #define _N1OE 0x40 2624 #define _N1EN 0x80 2625 2626 //============================================================================== 2627 2628 2629 //============================================================================== 2630 // NCO1CLK Bits 2631 2632 extern __at(0x049F) __sfr NCO1CLK; 2633 2634 typedef union 2635 { 2636 struct 2637 { 2638 unsigned N1CKS0 : 1; 2639 unsigned N1CKS1 : 1; 2640 unsigned : 1; 2641 unsigned : 1; 2642 unsigned : 1; 2643 unsigned N1PWS0 : 1; 2644 unsigned N1PWS1 : 1; 2645 unsigned N1PWS2 : 1; 2646 }; 2647 2648 struct 2649 { 2650 unsigned N1CKS : 2; 2651 unsigned : 6; 2652 }; 2653 2654 struct 2655 { 2656 unsigned : 5; 2657 unsigned N1PWS : 3; 2658 }; 2659 } __NCO1CLKbits_t; 2660 2661 extern __at(0x049F) volatile __NCO1CLKbits_t NCO1CLKbits; 2662 2663 #define _N1CKS0 0x01 2664 #define _N1CKS1 0x02 2665 #define _N1PWS0 0x20 2666 #define _N1PWS1 0x40 2667 #define _N1PWS2 0x80 2668 2669 //============================================================================== 2670 2671 2672 //============================================================================== 2673 // PWM1DCL Bits 2674 2675 extern __at(0x0611) __sfr PWM1DCL; 2676 2677 typedef union 2678 { 2679 struct 2680 { 2681 unsigned : 1; 2682 unsigned : 1; 2683 unsigned : 1; 2684 unsigned : 1; 2685 unsigned : 1; 2686 unsigned : 1; 2687 unsigned PWM1DCL0 : 1; 2688 unsigned PWM1DCL1 : 1; 2689 }; 2690 2691 struct 2692 { 2693 unsigned : 6; 2694 unsigned PWM1DCL : 2; 2695 }; 2696 } __PWM1DCLbits_t; 2697 2698 extern __at(0x0611) volatile __PWM1DCLbits_t PWM1DCLbits; 2699 2700 #define _PWM1DCL0 0x40 2701 #define _PWM1DCL1 0x80 2702 2703 //============================================================================== 2704 2705 2706 //============================================================================== 2707 // PWM1DCH Bits 2708 2709 extern __at(0x0612) __sfr PWM1DCH; 2710 2711 typedef struct 2712 { 2713 unsigned PWM1DCH0 : 1; 2714 unsigned PWM1DCH1 : 1; 2715 unsigned PWM1DCH2 : 1; 2716 unsigned PWM1DCH3 : 1; 2717 unsigned PWM1DCH4 : 1; 2718 unsigned PWM1DCH5 : 1; 2719 unsigned PWM1DCH6 : 1; 2720 unsigned PWM1DCH7 : 1; 2721 } __PWM1DCHbits_t; 2722 2723 extern __at(0x0612) volatile __PWM1DCHbits_t PWM1DCHbits; 2724 2725 #define _PWM1DCH0 0x01 2726 #define _PWM1DCH1 0x02 2727 #define _PWM1DCH2 0x04 2728 #define _PWM1DCH3 0x08 2729 #define _PWM1DCH4 0x10 2730 #define _PWM1DCH5 0x20 2731 #define _PWM1DCH6 0x40 2732 #define _PWM1DCH7 0x80 2733 2734 //============================================================================== 2735 2736 2737 //============================================================================== 2738 // PWM1CON Bits 2739 2740 extern __at(0x0613) __sfr PWM1CON; 2741 2742 typedef struct 2743 { 2744 unsigned : 1; 2745 unsigned : 1; 2746 unsigned : 1; 2747 unsigned : 1; 2748 unsigned PWM1POL : 1; 2749 unsigned PWM1OUT : 1; 2750 unsigned PWM1OE : 1; 2751 unsigned PWM1EN : 1; 2752 } __PWM1CONbits_t; 2753 2754 extern __at(0x0613) volatile __PWM1CONbits_t PWM1CONbits; 2755 2756 #define _PWM1POL 0x10 2757 #define _PWM1OUT 0x20 2758 #define _PWM1OE 0x40 2759 #define _PWM1EN 0x80 2760 2761 //============================================================================== 2762 2763 2764 //============================================================================== 2765 // PWM1CON0 Bits 2766 2767 extern __at(0x0613) __sfr PWM1CON0; 2768 2769 typedef struct 2770 { 2771 unsigned : 1; 2772 unsigned : 1; 2773 unsigned : 1; 2774 unsigned : 1; 2775 unsigned PWM1POL : 1; 2776 unsigned PWM1OUT : 1; 2777 unsigned PWM1OE : 1; 2778 unsigned PWM1EN : 1; 2779 } __PWM1CON0bits_t; 2780 2781 extern __at(0x0613) volatile __PWM1CON0bits_t PWM1CON0bits; 2782 2783 #define _PWM1CON0_PWM1POL 0x10 2784 #define _PWM1CON0_PWM1OUT 0x20 2785 #define _PWM1CON0_PWM1OE 0x40 2786 #define _PWM1CON0_PWM1EN 0x80 2787 2788 //============================================================================== 2789 2790 2791 //============================================================================== 2792 // PWM2DCL Bits 2793 2794 extern __at(0x0614) __sfr PWM2DCL; 2795 2796 typedef union 2797 { 2798 struct 2799 { 2800 unsigned : 1; 2801 unsigned : 1; 2802 unsigned : 1; 2803 unsigned : 1; 2804 unsigned : 1; 2805 unsigned : 1; 2806 unsigned PWM2DCL0 : 1; 2807 unsigned PWM2DCL1 : 1; 2808 }; 2809 2810 struct 2811 { 2812 unsigned : 6; 2813 unsigned PWM2DCL : 2; 2814 }; 2815 } __PWM2DCLbits_t; 2816 2817 extern __at(0x0614) volatile __PWM2DCLbits_t PWM2DCLbits; 2818 2819 #define _PWM2DCL0 0x40 2820 #define _PWM2DCL1 0x80 2821 2822 //============================================================================== 2823 2824 2825 //============================================================================== 2826 // PWM2DCH Bits 2827 2828 extern __at(0x0615) __sfr PWM2DCH; 2829 2830 typedef struct 2831 { 2832 unsigned PWM2DCH0 : 1; 2833 unsigned PWM2DCH1 : 1; 2834 unsigned PWM2DCH2 : 1; 2835 unsigned PWM2DCH3 : 1; 2836 unsigned PWM2DCH4 : 1; 2837 unsigned PWM2DCH5 : 1; 2838 unsigned PWM2DCH6 : 1; 2839 unsigned PWM2DCH7 : 1; 2840 } __PWM2DCHbits_t; 2841 2842 extern __at(0x0615) volatile __PWM2DCHbits_t PWM2DCHbits; 2843 2844 #define _PWM2DCH0 0x01 2845 #define _PWM2DCH1 0x02 2846 #define _PWM2DCH2 0x04 2847 #define _PWM2DCH3 0x08 2848 #define _PWM2DCH4 0x10 2849 #define _PWM2DCH5 0x20 2850 #define _PWM2DCH6 0x40 2851 #define _PWM2DCH7 0x80 2852 2853 //============================================================================== 2854 2855 2856 //============================================================================== 2857 // PWM2CON Bits 2858 2859 extern __at(0x0616) __sfr PWM2CON; 2860 2861 typedef struct 2862 { 2863 unsigned : 1; 2864 unsigned : 1; 2865 unsigned : 1; 2866 unsigned : 1; 2867 unsigned PWM2POL : 1; 2868 unsigned PWM2OUT : 1; 2869 unsigned PWM2OE : 1; 2870 unsigned PWM2EN : 1; 2871 } __PWM2CONbits_t; 2872 2873 extern __at(0x0616) volatile __PWM2CONbits_t PWM2CONbits; 2874 2875 #define _PWM2POL 0x10 2876 #define _PWM2OUT 0x20 2877 #define _PWM2OE 0x40 2878 #define _PWM2EN 0x80 2879 2880 //============================================================================== 2881 2882 2883 //============================================================================== 2884 // PWM2CON0 Bits 2885 2886 extern __at(0x0616) __sfr PWM2CON0; 2887 2888 typedef struct 2889 { 2890 unsigned : 1; 2891 unsigned : 1; 2892 unsigned : 1; 2893 unsigned : 1; 2894 unsigned PWM2POL : 1; 2895 unsigned PWM2OUT : 1; 2896 unsigned PWM2OE : 1; 2897 unsigned PWM2EN : 1; 2898 } __PWM2CON0bits_t; 2899 2900 extern __at(0x0616) volatile __PWM2CON0bits_t PWM2CON0bits; 2901 2902 #define _PWM2CON0_PWM2POL 0x10 2903 #define _PWM2CON0_PWM2OUT 0x20 2904 #define _PWM2CON0_PWM2OE 0x40 2905 #define _PWM2CON0_PWM2EN 0x80 2906 2907 //============================================================================== 2908 2909 2910 //============================================================================== 2911 // PWM3DCL Bits 2912 2913 extern __at(0x0617) __sfr PWM3DCL; 2914 2915 typedef union 2916 { 2917 struct 2918 { 2919 unsigned : 1; 2920 unsigned : 1; 2921 unsigned : 1; 2922 unsigned : 1; 2923 unsigned : 1; 2924 unsigned : 1; 2925 unsigned PWM3DCL0 : 1; 2926 unsigned PWM3DCL1 : 1; 2927 }; 2928 2929 struct 2930 { 2931 unsigned : 6; 2932 unsigned PWM3DCL : 2; 2933 }; 2934 } __PWM3DCLbits_t; 2935 2936 extern __at(0x0617) volatile __PWM3DCLbits_t PWM3DCLbits; 2937 2938 #define _PWM3DCL0 0x40 2939 #define _PWM3DCL1 0x80 2940 2941 //============================================================================== 2942 2943 2944 //============================================================================== 2945 // PWM3DCH Bits 2946 2947 extern __at(0x0618) __sfr PWM3DCH; 2948 2949 typedef struct 2950 { 2951 unsigned PWM3DCH0 : 1; 2952 unsigned PWM3DCH1 : 1; 2953 unsigned PWM3DCH2 : 1; 2954 unsigned PWM3DCH3 : 1; 2955 unsigned PWM3DCH4 : 1; 2956 unsigned PWM3DCH5 : 1; 2957 unsigned PWM3DCH6 : 1; 2958 unsigned PWM3DCH7 : 1; 2959 } __PWM3DCHbits_t; 2960 2961 extern __at(0x0618) volatile __PWM3DCHbits_t PWM3DCHbits; 2962 2963 #define _PWM3DCH0 0x01 2964 #define _PWM3DCH1 0x02 2965 #define _PWM3DCH2 0x04 2966 #define _PWM3DCH3 0x08 2967 #define _PWM3DCH4 0x10 2968 #define _PWM3DCH5 0x20 2969 #define _PWM3DCH6 0x40 2970 #define _PWM3DCH7 0x80 2971 2972 //============================================================================== 2973 2974 2975 //============================================================================== 2976 // PWM3CON Bits 2977 2978 extern __at(0x0619) __sfr PWM3CON; 2979 2980 typedef struct 2981 { 2982 unsigned : 1; 2983 unsigned : 1; 2984 unsigned : 1; 2985 unsigned : 1; 2986 unsigned PWM3POL : 1; 2987 unsigned PWM3OUT : 1; 2988 unsigned PWM3OE : 1; 2989 unsigned PWM3EN : 1; 2990 } __PWM3CONbits_t; 2991 2992 extern __at(0x0619) volatile __PWM3CONbits_t PWM3CONbits; 2993 2994 #define _PWM3POL 0x10 2995 #define _PWM3OUT 0x20 2996 #define _PWM3OE 0x40 2997 #define _PWM3EN 0x80 2998 2999 //============================================================================== 3000 3001 3002 //============================================================================== 3003 // PWM3CON0 Bits 3004 3005 extern __at(0x0619) __sfr PWM3CON0; 3006 3007 typedef struct 3008 { 3009 unsigned : 1; 3010 unsigned : 1; 3011 unsigned : 1; 3012 unsigned : 1; 3013 unsigned PWM3POL : 1; 3014 unsigned PWM3OUT : 1; 3015 unsigned PWM3OE : 1; 3016 unsigned PWM3EN : 1; 3017 } __PWM3CON0bits_t; 3018 3019 extern __at(0x0619) volatile __PWM3CON0bits_t PWM3CON0bits; 3020 3021 #define _PWM3CON0_PWM3POL 0x10 3022 #define _PWM3CON0_PWM3OUT 0x20 3023 #define _PWM3CON0_PWM3OE 0x40 3024 #define _PWM3CON0_PWM3EN 0x80 3025 3026 //============================================================================== 3027 3028 3029 //============================================================================== 3030 // PWM4DCL Bits 3031 3032 extern __at(0x061A) __sfr PWM4DCL; 3033 3034 typedef union 3035 { 3036 struct 3037 { 3038 unsigned : 1; 3039 unsigned : 1; 3040 unsigned : 1; 3041 unsigned : 1; 3042 unsigned : 1; 3043 unsigned : 1; 3044 unsigned PWM4DCL0 : 1; 3045 unsigned PWM4DCL1 : 1; 3046 }; 3047 3048 struct 3049 { 3050 unsigned : 6; 3051 unsigned PWM4DCL : 2; 3052 }; 3053 } __PWM4DCLbits_t; 3054 3055 extern __at(0x061A) volatile __PWM4DCLbits_t PWM4DCLbits; 3056 3057 #define _PWM4DCL0 0x40 3058 #define _PWM4DCL1 0x80 3059 3060 //============================================================================== 3061 3062 3063 //============================================================================== 3064 // PWM4DCH Bits 3065 3066 extern __at(0x061B) __sfr PWM4DCH; 3067 3068 typedef struct 3069 { 3070 unsigned PWM4DCH0 : 1; 3071 unsigned PWM4DCH1 : 1; 3072 unsigned PWM4DCH2 : 1; 3073 unsigned PWM4DCH3 : 1; 3074 unsigned PWM4DCH4 : 1; 3075 unsigned PWM4DCH5 : 1; 3076 unsigned PWM4DCH6 : 1; 3077 unsigned PWM4DCH7 : 1; 3078 } __PWM4DCHbits_t; 3079 3080 extern __at(0x061B) volatile __PWM4DCHbits_t PWM4DCHbits; 3081 3082 #define _PWM4DCH0 0x01 3083 #define _PWM4DCH1 0x02 3084 #define _PWM4DCH2 0x04 3085 #define _PWM4DCH3 0x08 3086 #define _PWM4DCH4 0x10 3087 #define _PWM4DCH5 0x20 3088 #define _PWM4DCH6 0x40 3089 #define _PWM4DCH7 0x80 3090 3091 //============================================================================== 3092 3093 3094 //============================================================================== 3095 // PWM4CON Bits 3096 3097 extern __at(0x061C) __sfr PWM4CON; 3098 3099 typedef struct 3100 { 3101 unsigned : 1; 3102 unsigned : 1; 3103 unsigned : 1; 3104 unsigned : 1; 3105 unsigned PWM4POL : 1; 3106 unsigned PWM4OUT : 1; 3107 unsigned PWM4OE : 1; 3108 unsigned PWM4EN : 1; 3109 } __PWM4CONbits_t; 3110 3111 extern __at(0x061C) volatile __PWM4CONbits_t PWM4CONbits; 3112 3113 #define _PWM4POL 0x10 3114 #define _PWM4OUT 0x20 3115 #define _PWM4OE 0x40 3116 #define _PWM4EN 0x80 3117 3118 //============================================================================== 3119 3120 3121 //============================================================================== 3122 // PWM4CON0 Bits 3123 3124 extern __at(0x061C) __sfr PWM4CON0; 3125 3126 typedef struct 3127 { 3128 unsigned : 1; 3129 unsigned : 1; 3130 unsigned : 1; 3131 unsigned : 1; 3132 unsigned PWM4POL : 1; 3133 unsigned PWM4OUT : 1; 3134 unsigned PWM4OE : 1; 3135 unsigned PWM4EN : 1; 3136 } __PWM4CON0bits_t; 3137 3138 extern __at(0x061C) volatile __PWM4CON0bits_t PWM4CON0bits; 3139 3140 #define _PWM4CON0_PWM4POL 0x10 3141 #define _PWM4CON0_PWM4OUT 0x20 3142 #define _PWM4CON0_PWM4OE 0x40 3143 #define _PWM4CON0_PWM4EN 0x80 3144 3145 //============================================================================== 3146 3147 3148 //============================================================================== 3149 // CWG1DBR Bits 3150 3151 extern __at(0x0691) __sfr CWG1DBR; 3152 3153 typedef union 3154 { 3155 struct 3156 { 3157 unsigned CWG1DBR0 : 1; 3158 unsigned CWG1DBR1 : 1; 3159 unsigned CWG1DBR2 : 1; 3160 unsigned CWG1DBR3 : 1; 3161 unsigned CWG1DBR4 : 1; 3162 unsigned CWG1DBR5 : 1; 3163 unsigned : 1; 3164 unsigned : 1; 3165 }; 3166 3167 struct 3168 { 3169 unsigned CWG1DBR : 6; 3170 unsigned : 2; 3171 }; 3172 } __CWG1DBRbits_t; 3173 3174 extern __at(0x0691) volatile __CWG1DBRbits_t CWG1DBRbits; 3175 3176 #define _CWG1DBR0 0x01 3177 #define _CWG1DBR1 0x02 3178 #define _CWG1DBR2 0x04 3179 #define _CWG1DBR3 0x08 3180 #define _CWG1DBR4 0x10 3181 #define _CWG1DBR5 0x20 3182 3183 //============================================================================== 3184 3185 3186 //============================================================================== 3187 // CWG1DBF Bits 3188 3189 extern __at(0x0692) __sfr CWG1DBF; 3190 3191 typedef union 3192 { 3193 struct 3194 { 3195 unsigned CWG1DBF0 : 1; 3196 unsigned CWG1DBF1 : 1; 3197 unsigned CWG1DBF2 : 1; 3198 unsigned CWG1DBF3 : 1; 3199 unsigned CWG1DBF4 : 1; 3200 unsigned CWG1DBF5 : 1; 3201 unsigned : 1; 3202 unsigned : 1; 3203 }; 3204 3205 struct 3206 { 3207 unsigned CWG1DBF : 6; 3208 unsigned : 2; 3209 }; 3210 } __CWG1DBFbits_t; 3211 3212 extern __at(0x0692) volatile __CWG1DBFbits_t CWG1DBFbits; 3213 3214 #define _CWG1DBF0 0x01 3215 #define _CWG1DBF1 0x02 3216 #define _CWG1DBF2 0x04 3217 #define _CWG1DBF3 0x08 3218 #define _CWG1DBF4 0x10 3219 #define _CWG1DBF5 0x20 3220 3221 //============================================================================== 3222 3223 3224 //============================================================================== 3225 // CWG1CON0 Bits 3226 3227 extern __at(0x0693) __sfr CWG1CON0; 3228 3229 typedef struct 3230 { 3231 unsigned G1CS0 : 1; 3232 unsigned : 1; 3233 unsigned : 1; 3234 unsigned G1POLA : 1; 3235 unsigned G1POLB : 1; 3236 unsigned G1OEA : 1; 3237 unsigned G1OEB : 1; 3238 unsigned G1EN : 1; 3239 } __CWG1CON0bits_t; 3240 3241 extern __at(0x0693) volatile __CWG1CON0bits_t CWG1CON0bits; 3242 3243 #define _G1CS0 0x01 3244 #define _G1POLA 0x08 3245 #define _G1POLB 0x10 3246 #define _G1OEA 0x20 3247 #define _G1OEB 0x40 3248 #define _G1EN 0x80 3249 3250 //============================================================================== 3251 3252 3253 //============================================================================== 3254 // CWG1CON1 Bits 3255 3256 extern __at(0x0694) __sfr CWG1CON1; 3257 3258 typedef union 3259 { 3260 struct 3261 { 3262 unsigned G1IS0 : 1; 3263 unsigned G1IS1 : 1; 3264 unsigned G1IS2 : 1; 3265 unsigned : 1; 3266 unsigned G1ASDLA0 : 1; 3267 unsigned G1ASDLA1 : 1; 3268 unsigned G1ASDLB0 : 1; 3269 unsigned G1ASDLB1 : 1; 3270 }; 3271 3272 struct 3273 { 3274 unsigned G1IS : 3; 3275 unsigned : 5; 3276 }; 3277 3278 struct 3279 { 3280 unsigned : 4; 3281 unsigned G1ASDLA : 2; 3282 unsigned : 2; 3283 }; 3284 3285 struct 3286 { 3287 unsigned : 6; 3288 unsigned G1ASDLB : 2; 3289 }; 3290 } __CWG1CON1bits_t; 3291 3292 extern __at(0x0694) volatile __CWG1CON1bits_t CWG1CON1bits; 3293 3294 #define _G1IS0 0x01 3295 #define _G1IS1 0x02 3296 #define _G1IS2 0x04 3297 #define _G1ASDLA0 0x10 3298 #define _G1ASDLA1 0x20 3299 #define _G1ASDLB0 0x40 3300 #define _G1ASDLB1 0x80 3301 3302 //============================================================================== 3303 3304 3305 //============================================================================== 3306 // CWG1CON2 Bits 3307 3308 extern __at(0x0695) __sfr CWG1CON2; 3309 3310 typedef struct 3311 { 3312 unsigned G1ASDSCLC2 : 1; 3313 unsigned G1ASDSFLT : 1; 3314 unsigned G1ASDSC1 : 1; 3315 unsigned G1ASDSC2 : 1; 3316 unsigned : 1; 3317 unsigned : 1; 3318 unsigned G1ARSEN : 1; 3319 unsigned G1ASE : 1; 3320 } __CWG1CON2bits_t; 3321 3322 extern __at(0x0695) volatile __CWG1CON2bits_t CWG1CON2bits; 3323 3324 #define _G1ASDSCLC2 0x01 3325 #define _G1ASDSFLT 0x02 3326 #define _G1ASDSC1 0x04 3327 #define _G1ASDSC2 0x08 3328 #define _G1ARSEN 0x40 3329 #define _G1ASE 0x80 3330 3331 //============================================================================== 3332 3333 3334 //============================================================================== 3335 // CLCDATA Bits 3336 3337 extern __at(0x0F0F) __sfr CLCDATA; 3338 3339 typedef struct 3340 { 3341 unsigned MCLC1OUT : 1; 3342 unsigned MCLC2OUT : 1; 3343 unsigned MCLC3OUT : 1; 3344 unsigned MCLC4OUT : 1; 3345 unsigned : 1; 3346 unsigned : 1; 3347 unsigned : 1; 3348 unsigned : 1; 3349 } __CLCDATAbits_t; 3350 3351 extern __at(0x0F0F) volatile __CLCDATAbits_t CLCDATAbits; 3352 3353 #define _MCLC1OUT 0x01 3354 #define _MCLC2OUT 0x02 3355 #define _MCLC3OUT 0x04 3356 #define _MCLC4OUT 0x08 3357 3358 //============================================================================== 3359 3360 3361 //============================================================================== 3362 // CLC1CON Bits 3363 3364 extern __at(0x0F10) __sfr CLC1CON; 3365 3366 typedef union 3367 { 3368 struct 3369 { 3370 unsigned LC1MODE0 : 1; 3371 unsigned LC1MODE1 : 1; 3372 unsigned LC1MODE2 : 1; 3373 unsigned LC1INTN : 1; 3374 unsigned LC1INTP : 1; 3375 unsigned LC1OUT : 1; 3376 unsigned LC1OE : 1; 3377 unsigned LC1EN : 1; 3378 }; 3379 3380 struct 3381 { 3382 unsigned LCMODE0 : 1; 3383 unsigned LCMODE1 : 1; 3384 unsigned LCMODE2 : 1; 3385 unsigned LCINTN : 1; 3386 unsigned LCINTP : 1; 3387 unsigned LCOUT : 1; 3388 unsigned LCOE : 1; 3389 unsigned LCEN : 1; 3390 }; 3391 3392 struct 3393 { 3394 unsigned LCMODE : 3; 3395 unsigned : 5; 3396 }; 3397 3398 struct 3399 { 3400 unsigned LC1MODE : 3; 3401 unsigned : 5; 3402 }; 3403 } __CLC1CONbits_t; 3404 3405 extern __at(0x0F10) volatile __CLC1CONbits_t CLC1CONbits; 3406 3407 #define _LC1MODE0 0x01 3408 #define _LCMODE0 0x01 3409 #define _LC1MODE1 0x02 3410 #define _LCMODE1 0x02 3411 #define _LC1MODE2 0x04 3412 #define _LCMODE2 0x04 3413 #define _LC1INTN 0x08 3414 #define _LCINTN 0x08 3415 #define _LC1INTP 0x10 3416 #define _LCINTP 0x10 3417 #define _LC1OUT 0x20 3418 #define _LCOUT 0x20 3419 #define _LC1OE 0x40 3420 #define _LCOE 0x40 3421 #define _LC1EN 0x80 3422 #define _LCEN 0x80 3423 3424 //============================================================================== 3425 3426 3427 //============================================================================== 3428 // CLC1POL Bits 3429 3430 extern __at(0x0F11) __sfr CLC1POL; 3431 3432 typedef union 3433 { 3434 struct 3435 { 3436 unsigned LC1G1POL : 1; 3437 unsigned LC1G2POL : 1; 3438 unsigned LC1G3POL : 1; 3439 unsigned LC1G4POL : 1; 3440 unsigned : 1; 3441 unsigned : 1; 3442 unsigned : 1; 3443 unsigned LC1POL : 1; 3444 }; 3445 3446 struct 3447 { 3448 unsigned G1POL : 1; 3449 unsigned G2POL : 1; 3450 unsigned G3POL : 1; 3451 unsigned G4POL : 1; 3452 unsigned : 1; 3453 unsigned : 1; 3454 unsigned : 1; 3455 unsigned POL : 1; 3456 }; 3457 } __CLC1POLbits_t; 3458 3459 extern __at(0x0F11) volatile __CLC1POLbits_t CLC1POLbits; 3460 3461 #define _LC1G1POL 0x01 3462 #define _G1POL 0x01 3463 #define _LC1G2POL 0x02 3464 #define _G2POL 0x02 3465 #define _LC1G3POL 0x04 3466 #define _G3POL 0x04 3467 #define _LC1G4POL 0x08 3468 #define _G4POL 0x08 3469 #define _LC1POL 0x80 3470 #define _POL 0x80 3471 3472 //============================================================================== 3473 3474 3475 //============================================================================== 3476 // CLC1SEL0 Bits 3477 3478 extern __at(0x0F12) __sfr CLC1SEL0; 3479 3480 typedef union 3481 { 3482 struct 3483 { 3484 unsigned LC1D1S0 : 1; 3485 unsigned LC1D1S1 : 1; 3486 unsigned LC1D1S2 : 1; 3487 unsigned : 1; 3488 unsigned LC1D2S0 : 1; 3489 unsigned LC1D2S1 : 1; 3490 unsigned LC1D2S2 : 1; 3491 unsigned : 1; 3492 }; 3493 3494 struct 3495 { 3496 unsigned D1S0 : 1; 3497 unsigned D1S1 : 1; 3498 unsigned D1S2 : 1; 3499 unsigned : 1; 3500 unsigned D2S0 : 1; 3501 unsigned D2S1 : 1; 3502 unsigned D2S2 : 1; 3503 unsigned : 1; 3504 }; 3505 3506 struct 3507 { 3508 unsigned LC1D1S : 3; 3509 unsigned : 5; 3510 }; 3511 3512 struct 3513 { 3514 unsigned D1S : 3; 3515 unsigned : 5; 3516 }; 3517 3518 struct 3519 { 3520 unsigned : 4; 3521 unsigned D2S : 3; 3522 unsigned : 1; 3523 }; 3524 3525 struct 3526 { 3527 unsigned : 4; 3528 unsigned LC1D2S : 3; 3529 unsigned : 1; 3530 }; 3531 } __CLC1SEL0bits_t; 3532 3533 extern __at(0x0F12) volatile __CLC1SEL0bits_t CLC1SEL0bits; 3534 3535 #define _LC1D1S0 0x01 3536 #define _D1S0 0x01 3537 #define _LC1D1S1 0x02 3538 #define _D1S1 0x02 3539 #define _LC1D1S2 0x04 3540 #define _D1S2 0x04 3541 #define _LC1D2S0 0x10 3542 #define _D2S0 0x10 3543 #define _LC1D2S1 0x20 3544 #define _D2S1 0x20 3545 #define _LC1D2S2 0x40 3546 #define _D2S2 0x40 3547 3548 //============================================================================== 3549 3550 3551 //============================================================================== 3552 // CLC1SEL1 Bits 3553 3554 extern __at(0x0F13) __sfr CLC1SEL1; 3555 3556 typedef union 3557 { 3558 struct 3559 { 3560 unsigned LC1D3S0 : 1; 3561 unsigned LC1D3S1 : 1; 3562 unsigned LC1D3S2 : 1; 3563 unsigned : 1; 3564 unsigned LC1D4S0 : 1; 3565 unsigned LC1D4S1 : 1; 3566 unsigned LC1D4S2 : 1; 3567 unsigned : 1; 3568 }; 3569 3570 struct 3571 { 3572 unsigned D3S0 : 1; 3573 unsigned D3S1 : 1; 3574 unsigned D3S2 : 1; 3575 unsigned : 1; 3576 unsigned D4S0 : 1; 3577 unsigned D4S1 : 1; 3578 unsigned D4S2 : 1; 3579 unsigned : 1; 3580 }; 3581 3582 struct 3583 { 3584 unsigned D3S : 3; 3585 unsigned : 5; 3586 }; 3587 3588 struct 3589 { 3590 unsigned LC1D3S : 3; 3591 unsigned : 5; 3592 }; 3593 3594 struct 3595 { 3596 unsigned : 4; 3597 unsigned LC1D4S : 3; 3598 unsigned : 1; 3599 }; 3600 3601 struct 3602 { 3603 unsigned : 4; 3604 unsigned D4S : 3; 3605 unsigned : 1; 3606 }; 3607 } __CLC1SEL1bits_t; 3608 3609 extern __at(0x0F13) volatile __CLC1SEL1bits_t CLC1SEL1bits; 3610 3611 #define _LC1D3S0 0x01 3612 #define _D3S0 0x01 3613 #define _LC1D3S1 0x02 3614 #define _D3S1 0x02 3615 #define _LC1D3S2 0x04 3616 #define _D3S2 0x04 3617 #define _LC1D4S0 0x10 3618 #define _D4S0 0x10 3619 #define _LC1D4S1 0x20 3620 #define _D4S1 0x20 3621 #define _LC1D4S2 0x40 3622 #define _D4S2 0x40 3623 3624 //============================================================================== 3625 3626 3627 //============================================================================== 3628 // CLC1GLS0 Bits 3629 3630 extern __at(0x0F14) __sfr CLC1GLS0; 3631 3632 typedef union 3633 { 3634 struct 3635 { 3636 unsigned LC1G1D1N : 1; 3637 unsigned LC1G1D1T : 1; 3638 unsigned LC1G1D2N : 1; 3639 unsigned LC1G1D2T : 1; 3640 unsigned LC1G1D3N : 1; 3641 unsigned LC1G1D3T : 1; 3642 unsigned LC1G1D4N : 1; 3643 unsigned LC1G1D4T : 1; 3644 }; 3645 3646 struct 3647 { 3648 unsigned D1N : 1; 3649 unsigned D1T : 1; 3650 unsigned D2N : 1; 3651 unsigned D2T : 1; 3652 unsigned D3N : 1; 3653 unsigned D3T : 1; 3654 unsigned D4N : 1; 3655 unsigned D4T : 1; 3656 }; 3657 } __CLC1GLS0bits_t; 3658 3659 extern __at(0x0F14) volatile __CLC1GLS0bits_t CLC1GLS0bits; 3660 3661 #define _LC1G1D1N 0x01 3662 #define _D1N 0x01 3663 #define _LC1G1D1T 0x02 3664 #define _D1T 0x02 3665 #define _LC1G1D2N 0x04 3666 #define _D2N 0x04 3667 #define _LC1G1D2T 0x08 3668 #define _D2T 0x08 3669 #define _LC1G1D3N 0x10 3670 #define _D3N 0x10 3671 #define _LC1G1D3T 0x20 3672 #define _D3T 0x20 3673 #define _LC1G1D4N 0x40 3674 #define _D4N 0x40 3675 #define _LC1G1D4T 0x80 3676 #define _D4T 0x80 3677 3678 //============================================================================== 3679 3680 3681 //============================================================================== 3682 // CLC1GLS1 Bits 3683 3684 extern __at(0x0F15) __sfr CLC1GLS1; 3685 3686 typedef union 3687 { 3688 struct 3689 { 3690 unsigned LC1G2D1N : 1; 3691 unsigned LC1G2D1T : 1; 3692 unsigned LC1G2D2N : 1; 3693 unsigned LC1G2D2T : 1; 3694 unsigned LC1G2D3N : 1; 3695 unsigned LC1G2D3T : 1; 3696 unsigned LC1G2D4N : 1; 3697 unsigned LC1G2D4T : 1; 3698 }; 3699 3700 struct 3701 { 3702 unsigned D1N : 1; 3703 unsigned D1T : 1; 3704 unsigned D2N : 1; 3705 unsigned D2T : 1; 3706 unsigned D3N : 1; 3707 unsigned D3T : 1; 3708 unsigned D4N : 1; 3709 unsigned D4T : 1; 3710 }; 3711 } __CLC1GLS1bits_t; 3712 3713 extern __at(0x0F15) volatile __CLC1GLS1bits_t CLC1GLS1bits; 3714 3715 #define _CLC1GLS1_LC1G2D1N 0x01 3716 #define _CLC1GLS1_D1N 0x01 3717 #define _CLC1GLS1_LC1G2D1T 0x02 3718 #define _CLC1GLS1_D1T 0x02 3719 #define _CLC1GLS1_LC1G2D2N 0x04 3720 #define _CLC1GLS1_D2N 0x04 3721 #define _CLC1GLS1_LC1G2D2T 0x08 3722 #define _CLC1GLS1_D2T 0x08 3723 #define _CLC1GLS1_LC1G2D3N 0x10 3724 #define _CLC1GLS1_D3N 0x10 3725 #define _CLC1GLS1_LC1G2D3T 0x20 3726 #define _CLC1GLS1_D3T 0x20 3727 #define _CLC1GLS1_LC1G2D4N 0x40 3728 #define _CLC1GLS1_D4N 0x40 3729 #define _CLC1GLS1_LC1G2D4T 0x80 3730 #define _CLC1GLS1_D4T 0x80 3731 3732 //============================================================================== 3733 3734 3735 //============================================================================== 3736 // CLC1GLS2 Bits 3737 3738 extern __at(0x0F16) __sfr CLC1GLS2; 3739 3740 typedef union 3741 { 3742 struct 3743 { 3744 unsigned LC1G3D1N : 1; 3745 unsigned LC1G3D1T : 1; 3746 unsigned LC1G3D2N : 1; 3747 unsigned LC1G3D2T : 1; 3748 unsigned LC1G3D3N : 1; 3749 unsigned LC1G3D3T : 1; 3750 unsigned LC1G3D4N : 1; 3751 unsigned LC1G3D4T : 1; 3752 }; 3753 3754 struct 3755 { 3756 unsigned D1N : 1; 3757 unsigned D1T : 1; 3758 unsigned D2N : 1; 3759 unsigned D2T : 1; 3760 unsigned D3N : 1; 3761 unsigned D3T : 1; 3762 unsigned D4N : 1; 3763 unsigned D4T : 1; 3764 }; 3765 } __CLC1GLS2bits_t; 3766 3767 extern __at(0x0F16) volatile __CLC1GLS2bits_t CLC1GLS2bits; 3768 3769 #define _CLC1GLS2_LC1G3D1N 0x01 3770 #define _CLC1GLS2_D1N 0x01 3771 #define _CLC1GLS2_LC1G3D1T 0x02 3772 #define _CLC1GLS2_D1T 0x02 3773 #define _CLC1GLS2_LC1G3D2N 0x04 3774 #define _CLC1GLS2_D2N 0x04 3775 #define _CLC1GLS2_LC1G3D2T 0x08 3776 #define _CLC1GLS2_D2T 0x08 3777 #define _CLC1GLS2_LC1G3D3N 0x10 3778 #define _CLC1GLS2_D3N 0x10 3779 #define _CLC1GLS2_LC1G3D3T 0x20 3780 #define _CLC1GLS2_D3T 0x20 3781 #define _CLC1GLS2_LC1G3D4N 0x40 3782 #define _CLC1GLS2_D4N 0x40 3783 #define _CLC1GLS2_LC1G3D4T 0x80 3784 #define _CLC1GLS2_D4T 0x80 3785 3786 //============================================================================== 3787 3788 3789 //============================================================================== 3790 // CLC1GLS3 Bits 3791 3792 extern __at(0x0F17) __sfr CLC1GLS3; 3793 3794 typedef union 3795 { 3796 struct 3797 { 3798 unsigned LC1G4D1N : 1; 3799 unsigned LC1G4D1T : 1; 3800 unsigned LC1G4D2N : 1; 3801 unsigned LC1G4D2T : 1; 3802 unsigned LC1G4D3N : 1; 3803 unsigned LC1G4D3T : 1; 3804 unsigned LC1G4D4N : 1; 3805 unsigned LC1G4D4T : 1; 3806 }; 3807 3808 struct 3809 { 3810 unsigned G4D1N : 1; 3811 unsigned G4D1T : 1; 3812 unsigned G4D2N : 1; 3813 unsigned G4D2T : 1; 3814 unsigned G4D3N : 1; 3815 unsigned G4D3T : 1; 3816 unsigned G4D4N : 1; 3817 unsigned G4D4T : 1; 3818 }; 3819 } __CLC1GLS3bits_t; 3820 3821 extern __at(0x0F17) volatile __CLC1GLS3bits_t CLC1GLS3bits; 3822 3823 #define _LC1G4D1N 0x01 3824 #define _G4D1N 0x01 3825 #define _LC1G4D1T 0x02 3826 #define _G4D1T 0x02 3827 #define _LC1G4D2N 0x04 3828 #define _G4D2N 0x04 3829 #define _LC1G4D2T 0x08 3830 #define _G4D2T 0x08 3831 #define _LC1G4D3N 0x10 3832 #define _G4D3N 0x10 3833 #define _LC1G4D3T 0x20 3834 #define _G4D3T 0x20 3835 #define _LC1G4D4N 0x40 3836 #define _G4D4N 0x40 3837 #define _LC1G4D4T 0x80 3838 #define _G4D4T 0x80 3839 3840 //============================================================================== 3841 3842 3843 //============================================================================== 3844 // CLC2CON Bits 3845 3846 extern __at(0x0F18) __sfr CLC2CON; 3847 3848 typedef union 3849 { 3850 struct 3851 { 3852 unsigned LC2MODE0 : 1; 3853 unsigned LC2MODE1 : 1; 3854 unsigned LC2MODE2 : 1; 3855 unsigned LC2INTN : 1; 3856 unsigned LC2INTP : 1; 3857 unsigned LC2OUT : 1; 3858 unsigned LC2OE : 1; 3859 unsigned LC2EN : 1; 3860 }; 3861 3862 struct 3863 { 3864 unsigned LCMODE0 : 1; 3865 unsigned LCMODE1 : 1; 3866 unsigned LCMODE2 : 1; 3867 unsigned LCINTN : 1; 3868 unsigned LCINTP : 1; 3869 unsigned LCOUT : 1; 3870 unsigned LCOE : 1; 3871 unsigned LCEN : 1; 3872 }; 3873 3874 struct 3875 { 3876 unsigned LC2MODE : 3; 3877 unsigned : 5; 3878 }; 3879 3880 struct 3881 { 3882 unsigned LCMODE : 3; 3883 unsigned : 5; 3884 }; 3885 } __CLC2CONbits_t; 3886 3887 extern __at(0x0F18) volatile __CLC2CONbits_t CLC2CONbits; 3888 3889 #define _CLC2CON_LC2MODE0 0x01 3890 #define _CLC2CON_LCMODE0 0x01 3891 #define _CLC2CON_LC2MODE1 0x02 3892 #define _CLC2CON_LCMODE1 0x02 3893 #define _CLC2CON_LC2MODE2 0x04 3894 #define _CLC2CON_LCMODE2 0x04 3895 #define _CLC2CON_LC2INTN 0x08 3896 #define _CLC2CON_LCINTN 0x08 3897 #define _CLC2CON_LC2INTP 0x10 3898 #define _CLC2CON_LCINTP 0x10 3899 #define _CLC2CON_LC2OUT 0x20 3900 #define _CLC2CON_LCOUT 0x20 3901 #define _CLC2CON_LC2OE 0x40 3902 #define _CLC2CON_LCOE 0x40 3903 #define _CLC2CON_LC2EN 0x80 3904 #define _CLC2CON_LCEN 0x80 3905 3906 //============================================================================== 3907 3908 3909 //============================================================================== 3910 // CLC2POL Bits 3911 3912 extern __at(0x0F19) __sfr CLC2POL; 3913 3914 typedef union 3915 { 3916 struct 3917 { 3918 unsigned LC2G1POL : 1; 3919 unsigned LC2G2POL : 1; 3920 unsigned LC2G3POL : 1; 3921 unsigned LC2G4POL : 1; 3922 unsigned : 1; 3923 unsigned : 1; 3924 unsigned : 1; 3925 unsigned LC2POL : 1; 3926 }; 3927 3928 struct 3929 { 3930 unsigned G1POL : 1; 3931 unsigned G2POL : 1; 3932 unsigned G3POL : 1; 3933 unsigned G4POL : 1; 3934 unsigned : 1; 3935 unsigned : 1; 3936 unsigned : 1; 3937 unsigned POL : 1; 3938 }; 3939 } __CLC2POLbits_t; 3940 3941 extern __at(0x0F19) volatile __CLC2POLbits_t CLC2POLbits; 3942 3943 #define _CLC2POL_LC2G1POL 0x01 3944 #define _CLC2POL_G1POL 0x01 3945 #define _CLC2POL_LC2G2POL 0x02 3946 #define _CLC2POL_G2POL 0x02 3947 #define _CLC2POL_LC2G3POL 0x04 3948 #define _CLC2POL_G3POL 0x04 3949 #define _CLC2POL_LC2G4POL 0x08 3950 #define _CLC2POL_G4POL 0x08 3951 #define _CLC2POL_LC2POL 0x80 3952 #define _CLC2POL_POL 0x80 3953 3954 //============================================================================== 3955 3956 3957 //============================================================================== 3958 // CLC2SEL0 Bits 3959 3960 extern __at(0x0F1A) __sfr CLC2SEL0; 3961 3962 typedef union 3963 { 3964 struct 3965 { 3966 unsigned LC2D1S0 : 1; 3967 unsigned LC2D1S1 : 1; 3968 unsigned LC2D1S2 : 1; 3969 unsigned : 1; 3970 unsigned LC2D2S0 : 1; 3971 unsigned LC2D2S1 : 1; 3972 unsigned LC2D2S2 : 1; 3973 unsigned : 1; 3974 }; 3975 3976 struct 3977 { 3978 unsigned D1S0 : 1; 3979 unsigned D1S1 : 1; 3980 unsigned D1S2 : 1; 3981 unsigned : 1; 3982 unsigned D2S0 : 1; 3983 unsigned D2S1 : 1; 3984 unsigned D2S2 : 1; 3985 unsigned : 1; 3986 }; 3987 3988 struct 3989 { 3990 unsigned LC2D1S : 3; 3991 unsigned : 5; 3992 }; 3993 3994 struct 3995 { 3996 unsigned D1S : 3; 3997 unsigned : 5; 3998 }; 3999 4000 struct 4001 { 4002 unsigned : 4; 4003 unsigned D2S : 3; 4004 unsigned : 1; 4005 }; 4006 4007 struct 4008 { 4009 unsigned : 4; 4010 unsigned LC2D2S : 3; 4011 unsigned : 1; 4012 }; 4013 } __CLC2SEL0bits_t; 4014 4015 extern __at(0x0F1A) volatile __CLC2SEL0bits_t CLC2SEL0bits; 4016 4017 #define _CLC2SEL0_LC2D1S0 0x01 4018 #define _CLC2SEL0_D1S0 0x01 4019 #define _CLC2SEL0_LC2D1S1 0x02 4020 #define _CLC2SEL0_D1S1 0x02 4021 #define _CLC2SEL0_LC2D1S2 0x04 4022 #define _CLC2SEL0_D1S2 0x04 4023 #define _CLC2SEL0_LC2D2S0 0x10 4024 #define _CLC2SEL0_D2S0 0x10 4025 #define _CLC2SEL0_LC2D2S1 0x20 4026 #define _CLC2SEL0_D2S1 0x20 4027 #define _CLC2SEL0_LC2D2S2 0x40 4028 #define _CLC2SEL0_D2S2 0x40 4029 4030 //============================================================================== 4031 4032 4033 //============================================================================== 4034 // CLC2SEL1 Bits 4035 4036 extern __at(0x0F1B) __sfr CLC2SEL1; 4037 4038 typedef union 4039 { 4040 struct 4041 { 4042 unsigned LC2D3S0 : 1; 4043 unsigned LC2D3S1 : 1; 4044 unsigned LC2D3S2 : 1; 4045 unsigned : 1; 4046 unsigned LC2D4S0 : 1; 4047 unsigned LC2D4S1 : 1; 4048 unsigned LC2D4S2 : 1; 4049 unsigned : 1; 4050 }; 4051 4052 struct 4053 { 4054 unsigned D3S0 : 1; 4055 unsigned D3S1 : 1; 4056 unsigned D3S2 : 1; 4057 unsigned : 1; 4058 unsigned D4S0 : 1; 4059 unsigned D4S1 : 1; 4060 unsigned D4S2 : 1; 4061 unsigned : 1; 4062 }; 4063 4064 struct 4065 { 4066 unsigned LC2D3S : 3; 4067 unsigned : 5; 4068 }; 4069 4070 struct 4071 { 4072 unsigned D3S : 3; 4073 unsigned : 5; 4074 }; 4075 4076 struct 4077 { 4078 unsigned : 4; 4079 unsigned LC2D4S : 3; 4080 unsigned : 1; 4081 }; 4082 4083 struct 4084 { 4085 unsigned : 4; 4086 unsigned D4S : 3; 4087 unsigned : 1; 4088 }; 4089 } __CLC2SEL1bits_t; 4090 4091 extern __at(0x0F1B) volatile __CLC2SEL1bits_t CLC2SEL1bits; 4092 4093 #define _CLC2SEL1_LC2D3S0 0x01 4094 #define _CLC2SEL1_D3S0 0x01 4095 #define _CLC2SEL1_LC2D3S1 0x02 4096 #define _CLC2SEL1_D3S1 0x02 4097 #define _CLC2SEL1_LC2D3S2 0x04 4098 #define _CLC2SEL1_D3S2 0x04 4099 #define _CLC2SEL1_LC2D4S0 0x10 4100 #define _CLC2SEL1_D4S0 0x10 4101 #define _CLC2SEL1_LC2D4S1 0x20 4102 #define _CLC2SEL1_D4S1 0x20 4103 #define _CLC2SEL1_LC2D4S2 0x40 4104 #define _CLC2SEL1_D4S2 0x40 4105 4106 //============================================================================== 4107 4108 4109 //============================================================================== 4110 // CLC2GLS0 Bits 4111 4112 extern __at(0x0F1C) __sfr CLC2GLS0; 4113 4114 typedef union 4115 { 4116 struct 4117 { 4118 unsigned LC2G1D1N : 1; 4119 unsigned LC2G1D1T : 1; 4120 unsigned LC2G1D2N : 1; 4121 unsigned LC2G1D2T : 1; 4122 unsigned LC2G1D3N : 1; 4123 unsigned LC2G1D3T : 1; 4124 unsigned LC2G1D4N : 1; 4125 unsigned LC2G1D4T : 1; 4126 }; 4127 4128 struct 4129 { 4130 unsigned D1N : 1; 4131 unsigned D1T : 1; 4132 unsigned D2N : 1; 4133 unsigned D2T : 1; 4134 unsigned D3N : 1; 4135 unsigned D3T : 1; 4136 unsigned D4N : 1; 4137 unsigned D4T : 1; 4138 }; 4139 } __CLC2GLS0bits_t; 4140 4141 extern __at(0x0F1C) volatile __CLC2GLS0bits_t CLC2GLS0bits; 4142 4143 #define _CLC2GLS0_LC2G1D1N 0x01 4144 #define _CLC2GLS0_D1N 0x01 4145 #define _CLC2GLS0_LC2G1D1T 0x02 4146 #define _CLC2GLS0_D1T 0x02 4147 #define _CLC2GLS0_LC2G1D2N 0x04 4148 #define _CLC2GLS0_D2N 0x04 4149 #define _CLC2GLS0_LC2G1D2T 0x08 4150 #define _CLC2GLS0_D2T 0x08 4151 #define _CLC2GLS0_LC2G1D3N 0x10 4152 #define _CLC2GLS0_D3N 0x10 4153 #define _CLC2GLS0_LC2G1D3T 0x20 4154 #define _CLC2GLS0_D3T 0x20 4155 #define _CLC2GLS0_LC2G1D4N 0x40 4156 #define _CLC2GLS0_D4N 0x40 4157 #define _CLC2GLS0_LC2G1D4T 0x80 4158 #define _CLC2GLS0_D4T 0x80 4159 4160 //============================================================================== 4161 4162 4163 //============================================================================== 4164 // CLC2GLS1 Bits 4165 4166 extern __at(0x0F1D) __sfr CLC2GLS1; 4167 4168 typedef union 4169 { 4170 struct 4171 { 4172 unsigned LC2G2D1N : 1; 4173 unsigned LC2G2D1T : 1; 4174 unsigned LC2G2D2N : 1; 4175 unsigned LC2G2D2T : 1; 4176 unsigned LC2G2D3N : 1; 4177 unsigned LC2G2D3T : 1; 4178 unsigned LC2G2D4N : 1; 4179 unsigned LC2G2D4T : 1; 4180 }; 4181 4182 struct 4183 { 4184 unsigned D1N : 1; 4185 unsigned D1T : 1; 4186 unsigned D2N : 1; 4187 unsigned D2T : 1; 4188 unsigned D3N : 1; 4189 unsigned D3T : 1; 4190 unsigned D4N : 1; 4191 unsigned D4T : 1; 4192 }; 4193 } __CLC2GLS1bits_t; 4194 4195 extern __at(0x0F1D) volatile __CLC2GLS1bits_t CLC2GLS1bits; 4196 4197 #define _CLC2GLS1_LC2G2D1N 0x01 4198 #define _CLC2GLS1_D1N 0x01 4199 #define _CLC2GLS1_LC2G2D1T 0x02 4200 #define _CLC2GLS1_D1T 0x02 4201 #define _CLC2GLS1_LC2G2D2N 0x04 4202 #define _CLC2GLS1_D2N 0x04 4203 #define _CLC2GLS1_LC2G2D2T 0x08 4204 #define _CLC2GLS1_D2T 0x08 4205 #define _CLC2GLS1_LC2G2D3N 0x10 4206 #define _CLC2GLS1_D3N 0x10 4207 #define _CLC2GLS1_LC2G2D3T 0x20 4208 #define _CLC2GLS1_D3T 0x20 4209 #define _CLC2GLS1_LC2G2D4N 0x40 4210 #define _CLC2GLS1_D4N 0x40 4211 #define _CLC2GLS1_LC2G2D4T 0x80 4212 #define _CLC2GLS1_D4T 0x80 4213 4214 //============================================================================== 4215 4216 4217 //============================================================================== 4218 // CLC2GLS2 Bits 4219 4220 extern __at(0x0F1E) __sfr CLC2GLS2; 4221 4222 typedef union 4223 { 4224 struct 4225 { 4226 unsigned LC2G3D1N : 1; 4227 unsigned LC2G3D1T : 1; 4228 unsigned LC2G3D2N : 1; 4229 unsigned LC2G3D2T : 1; 4230 unsigned LC2G3D3N : 1; 4231 unsigned LC2G3D3T : 1; 4232 unsigned LC2G3D4N : 1; 4233 unsigned LC2G3D4T : 1; 4234 }; 4235 4236 struct 4237 { 4238 unsigned D1N : 1; 4239 unsigned D1T : 1; 4240 unsigned D2N : 1; 4241 unsigned D2T : 1; 4242 unsigned D3N : 1; 4243 unsigned D3T : 1; 4244 unsigned D4N : 1; 4245 unsigned D4T : 1; 4246 }; 4247 } __CLC2GLS2bits_t; 4248 4249 extern __at(0x0F1E) volatile __CLC2GLS2bits_t CLC2GLS2bits; 4250 4251 #define _CLC2GLS2_LC2G3D1N 0x01 4252 #define _CLC2GLS2_D1N 0x01 4253 #define _CLC2GLS2_LC2G3D1T 0x02 4254 #define _CLC2GLS2_D1T 0x02 4255 #define _CLC2GLS2_LC2G3D2N 0x04 4256 #define _CLC2GLS2_D2N 0x04 4257 #define _CLC2GLS2_LC2G3D2T 0x08 4258 #define _CLC2GLS2_D2T 0x08 4259 #define _CLC2GLS2_LC2G3D3N 0x10 4260 #define _CLC2GLS2_D3N 0x10 4261 #define _CLC2GLS2_LC2G3D3T 0x20 4262 #define _CLC2GLS2_D3T 0x20 4263 #define _CLC2GLS2_LC2G3D4N 0x40 4264 #define _CLC2GLS2_D4N 0x40 4265 #define _CLC2GLS2_LC2G3D4T 0x80 4266 #define _CLC2GLS2_D4T 0x80 4267 4268 //============================================================================== 4269 4270 4271 //============================================================================== 4272 // CLC2GLS3 Bits 4273 4274 extern __at(0x0F1F) __sfr CLC2GLS3; 4275 4276 typedef union 4277 { 4278 struct 4279 { 4280 unsigned LC2G4D1N : 1; 4281 unsigned LC2G4D1T : 1; 4282 unsigned LC2G4D2N : 1; 4283 unsigned LC2G4D2T : 1; 4284 unsigned LC2G4D3N : 1; 4285 unsigned LC2G4D3T : 1; 4286 unsigned LC2G4D4N : 1; 4287 unsigned LC2G4D4T : 1; 4288 }; 4289 4290 struct 4291 { 4292 unsigned G4D1N : 1; 4293 unsigned G4D1T : 1; 4294 unsigned G4D2N : 1; 4295 unsigned G4D2T : 1; 4296 unsigned G4D3N : 1; 4297 unsigned G4D3T : 1; 4298 unsigned G4D4N : 1; 4299 unsigned G4D4T : 1; 4300 }; 4301 } __CLC2GLS3bits_t; 4302 4303 extern __at(0x0F1F) volatile __CLC2GLS3bits_t CLC2GLS3bits; 4304 4305 #define _CLC2GLS3_LC2G4D1N 0x01 4306 #define _CLC2GLS3_G4D1N 0x01 4307 #define _CLC2GLS3_LC2G4D1T 0x02 4308 #define _CLC2GLS3_G4D1T 0x02 4309 #define _CLC2GLS3_LC2G4D2N 0x04 4310 #define _CLC2GLS3_G4D2N 0x04 4311 #define _CLC2GLS3_LC2G4D2T 0x08 4312 #define _CLC2GLS3_G4D2T 0x08 4313 #define _CLC2GLS3_LC2G4D3N 0x10 4314 #define _CLC2GLS3_G4D3N 0x10 4315 #define _CLC2GLS3_LC2G4D3T 0x20 4316 #define _CLC2GLS3_G4D3T 0x20 4317 #define _CLC2GLS3_LC2G4D4N 0x40 4318 #define _CLC2GLS3_G4D4N 0x40 4319 #define _CLC2GLS3_LC2G4D4T 0x80 4320 #define _CLC2GLS3_G4D4T 0x80 4321 4322 //============================================================================== 4323 4324 4325 //============================================================================== 4326 // CLC3CON Bits 4327 4328 extern __at(0x0F20) __sfr CLC3CON; 4329 4330 typedef union 4331 { 4332 struct 4333 { 4334 unsigned LC3MODE0 : 1; 4335 unsigned LC3MODE1 : 1; 4336 unsigned LC3MODE2 : 1; 4337 unsigned LC3INTN : 1; 4338 unsigned LC3INTP : 1; 4339 unsigned LC3OUT : 1; 4340 unsigned LC3OE : 1; 4341 unsigned LC3EN : 1; 4342 }; 4343 4344 struct 4345 { 4346 unsigned LCMODE0 : 1; 4347 unsigned LCMODE1 : 1; 4348 unsigned LCMODE2 : 1; 4349 unsigned LCINTN : 1; 4350 unsigned LCINTP : 1; 4351 unsigned LCOUT : 1; 4352 unsigned LCOE : 1; 4353 unsigned LCEN : 1; 4354 }; 4355 4356 struct 4357 { 4358 unsigned LC3MODE : 3; 4359 unsigned : 5; 4360 }; 4361 4362 struct 4363 { 4364 unsigned LCMODE : 3; 4365 unsigned : 5; 4366 }; 4367 } __CLC3CONbits_t; 4368 4369 extern __at(0x0F20) volatile __CLC3CONbits_t CLC3CONbits; 4370 4371 #define _CLC3CON_LC3MODE0 0x01 4372 #define _CLC3CON_LCMODE0 0x01 4373 #define _CLC3CON_LC3MODE1 0x02 4374 #define _CLC3CON_LCMODE1 0x02 4375 #define _CLC3CON_LC3MODE2 0x04 4376 #define _CLC3CON_LCMODE2 0x04 4377 #define _CLC3CON_LC3INTN 0x08 4378 #define _CLC3CON_LCINTN 0x08 4379 #define _CLC3CON_LC3INTP 0x10 4380 #define _CLC3CON_LCINTP 0x10 4381 #define _CLC3CON_LC3OUT 0x20 4382 #define _CLC3CON_LCOUT 0x20 4383 #define _CLC3CON_LC3OE 0x40 4384 #define _CLC3CON_LCOE 0x40 4385 #define _CLC3CON_LC3EN 0x80 4386 #define _CLC3CON_LCEN 0x80 4387 4388 //============================================================================== 4389 4390 4391 //============================================================================== 4392 // CLC3POL Bits 4393 4394 extern __at(0x0F21) __sfr CLC3POL; 4395 4396 typedef union 4397 { 4398 struct 4399 { 4400 unsigned LC3G1POL : 1; 4401 unsigned LC3G2POL : 1; 4402 unsigned LC3G3POL : 1; 4403 unsigned LC3G4POL : 1; 4404 unsigned : 1; 4405 unsigned : 1; 4406 unsigned : 1; 4407 unsigned LC3POL : 1; 4408 }; 4409 4410 struct 4411 { 4412 unsigned G1POL : 1; 4413 unsigned G2POL : 1; 4414 unsigned G3POL : 1; 4415 unsigned G4POL : 1; 4416 unsigned : 1; 4417 unsigned : 1; 4418 unsigned : 1; 4419 unsigned POL : 1; 4420 }; 4421 } __CLC3POLbits_t; 4422 4423 extern __at(0x0F21) volatile __CLC3POLbits_t CLC3POLbits; 4424 4425 #define _CLC3POL_LC3G1POL 0x01 4426 #define _CLC3POL_G1POL 0x01 4427 #define _CLC3POL_LC3G2POL 0x02 4428 #define _CLC3POL_G2POL 0x02 4429 #define _CLC3POL_LC3G3POL 0x04 4430 #define _CLC3POL_G3POL 0x04 4431 #define _CLC3POL_LC3G4POL 0x08 4432 #define _CLC3POL_G4POL 0x08 4433 #define _CLC3POL_LC3POL 0x80 4434 #define _CLC3POL_POL 0x80 4435 4436 //============================================================================== 4437 4438 4439 //============================================================================== 4440 // CLC3SEL0 Bits 4441 4442 extern __at(0x0F22) __sfr CLC3SEL0; 4443 4444 typedef union 4445 { 4446 struct 4447 { 4448 unsigned LC3D1S0 : 1; 4449 unsigned LC3D1S1 : 1; 4450 unsigned LC3D1S2 : 1; 4451 unsigned : 1; 4452 unsigned LC3D2S0 : 1; 4453 unsigned LC3D2S1 : 1; 4454 unsigned LC3D2S2 : 1; 4455 unsigned : 1; 4456 }; 4457 4458 struct 4459 { 4460 unsigned D1S0 : 1; 4461 unsigned D1S1 : 1; 4462 unsigned D1S2 : 1; 4463 unsigned : 1; 4464 unsigned D2S0 : 1; 4465 unsigned D2S1 : 1; 4466 unsigned D2S2 : 1; 4467 unsigned : 1; 4468 }; 4469 4470 struct 4471 { 4472 unsigned D1S : 3; 4473 unsigned : 5; 4474 }; 4475 4476 struct 4477 { 4478 unsigned LC3D1S : 3; 4479 unsigned : 5; 4480 }; 4481 4482 struct 4483 { 4484 unsigned : 4; 4485 unsigned D2S : 3; 4486 unsigned : 1; 4487 }; 4488 4489 struct 4490 { 4491 unsigned : 4; 4492 unsigned LC3D2S : 3; 4493 unsigned : 1; 4494 }; 4495 } __CLC3SEL0bits_t; 4496 4497 extern __at(0x0F22) volatile __CLC3SEL0bits_t CLC3SEL0bits; 4498 4499 #define _CLC3SEL0_LC3D1S0 0x01 4500 #define _CLC3SEL0_D1S0 0x01 4501 #define _CLC3SEL0_LC3D1S1 0x02 4502 #define _CLC3SEL0_D1S1 0x02 4503 #define _CLC3SEL0_LC3D1S2 0x04 4504 #define _CLC3SEL0_D1S2 0x04 4505 #define _CLC3SEL0_LC3D2S0 0x10 4506 #define _CLC3SEL0_D2S0 0x10 4507 #define _CLC3SEL0_LC3D2S1 0x20 4508 #define _CLC3SEL0_D2S1 0x20 4509 #define _CLC3SEL0_LC3D2S2 0x40 4510 #define _CLC3SEL0_D2S2 0x40 4511 4512 //============================================================================== 4513 4514 4515 //============================================================================== 4516 // CLC3SEL1 Bits 4517 4518 extern __at(0x0F23) __sfr CLC3SEL1; 4519 4520 typedef union 4521 { 4522 struct 4523 { 4524 unsigned LC3D3S0 : 1; 4525 unsigned LC3D3S1 : 1; 4526 unsigned LC3D3S2 : 1; 4527 unsigned : 1; 4528 unsigned LC3D4S0 : 1; 4529 unsigned LC3D4S1 : 1; 4530 unsigned LC3D4S2 : 1; 4531 unsigned : 1; 4532 }; 4533 4534 struct 4535 { 4536 unsigned D3S0 : 1; 4537 unsigned D3S1 : 1; 4538 unsigned D3S2 : 1; 4539 unsigned : 1; 4540 unsigned D4S0 : 1; 4541 unsigned D4S1 : 1; 4542 unsigned D4S2 : 1; 4543 unsigned : 1; 4544 }; 4545 4546 struct 4547 { 4548 unsigned LC3D3S : 3; 4549 unsigned : 5; 4550 }; 4551 4552 struct 4553 { 4554 unsigned D3S : 3; 4555 unsigned : 5; 4556 }; 4557 4558 struct 4559 { 4560 unsigned : 4; 4561 unsigned D4S : 3; 4562 unsigned : 1; 4563 }; 4564 4565 struct 4566 { 4567 unsigned : 4; 4568 unsigned LC3D4S : 3; 4569 unsigned : 1; 4570 }; 4571 } __CLC3SEL1bits_t; 4572 4573 extern __at(0x0F23) volatile __CLC3SEL1bits_t CLC3SEL1bits; 4574 4575 #define _CLC3SEL1_LC3D3S0 0x01 4576 #define _CLC3SEL1_D3S0 0x01 4577 #define _CLC3SEL1_LC3D3S1 0x02 4578 #define _CLC3SEL1_D3S1 0x02 4579 #define _CLC3SEL1_LC3D3S2 0x04 4580 #define _CLC3SEL1_D3S2 0x04 4581 #define _CLC3SEL1_LC3D4S0 0x10 4582 #define _CLC3SEL1_D4S0 0x10 4583 #define _CLC3SEL1_LC3D4S1 0x20 4584 #define _CLC3SEL1_D4S1 0x20 4585 #define _CLC3SEL1_LC3D4S2 0x40 4586 #define _CLC3SEL1_D4S2 0x40 4587 4588 //============================================================================== 4589 4590 4591 //============================================================================== 4592 // CLC3GLS0 Bits 4593 4594 extern __at(0x0F24) __sfr CLC3GLS0; 4595 4596 typedef union 4597 { 4598 struct 4599 { 4600 unsigned LC3G1D1N : 1; 4601 unsigned LC3G1D1T : 1; 4602 unsigned LC3G1D2N : 1; 4603 unsigned LC3G1D2T : 1; 4604 unsigned LC3G1D3N : 1; 4605 unsigned LC3G1D3T : 1; 4606 unsigned LC3G1D4N : 1; 4607 unsigned LC3G1D4T : 1; 4608 }; 4609 4610 struct 4611 { 4612 unsigned D1N : 1; 4613 unsigned D1T : 1; 4614 unsigned D2N : 1; 4615 unsigned D2T : 1; 4616 unsigned D3N : 1; 4617 unsigned D3T : 1; 4618 unsigned D4N : 1; 4619 unsigned D4T : 1; 4620 }; 4621 } __CLC3GLS0bits_t; 4622 4623 extern __at(0x0F24) volatile __CLC3GLS0bits_t CLC3GLS0bits; 4624 4625 #define _CLC3GLS0_LC3G1D1N 0x01 4626 #define _CLC3GLS0_D1N 0x01 4627 #define _CLC3GLS0_LC3G1D1T 0x02 4628 #define _CLC3GLS0_D1T 0x02 4629 #define _CLC3GLS0_LC3G1D2N 0x04 4630 #define _CLC3GLS0_D2N 0x04 4631 #define _CLC3GLS0_LC3G1D2T 0x08 4632 #define _CLC3GLS0_D2T 0x08 4633 #define _CLC3GLS0_LC3G1D3N 0x10 4634 #define _CLC3GLS0_D3N 0x10 4635 #define _CLC3GLS0_LC3G1D3T 0x20 4636 #define _CLC3GLS0_D3T 0x20 4637 #define _CLC3GLS0_LC3G1D4N 0x40 4638 #define _CLC3GLS0_D4N 0x40 4639 #define _CLC3GLS0_LC3G1D4T 0x80 4640 #define _CLC3GLS0_D4T 0x80 4641 4642 //============================================================================== 4643 4644 4645 //============================================================================== 4646 // CLC3GLS1 Bits 4647 4648 extern __at(0x0F25) __sfr CLC3GLS1; 4649 4650 typedef union 4651 { 4652 struct 4653 { 4654 unsigned LC3G2D1N : 1; 4655 unsigned LC3G2D1T : 1; 4656 unsigned LC3G2D2N : 1; 4657 unsigned LC3G2D2T : 1; 4658 unsigned LC3G2D3N : 1; 4659 unsigned LC3G2D3T : 1; 4660 unsigned LC3G2D4N : 1; 4661 unsigned LC3G2D4T : 1; 4662 }; 4663 4664 struct 4665 { 4666 unsigned D1N : 1; 4667 unsigned D1T : 1; 4668 unsigned D2N : 1; 4669 unsigned D2T : 1; 4670 unsigned D3N : 1; 4671 unsigned D3T : 1; 4672 unsigned D4N : 1; 4673 unsigned D4T : 1; 4674 }; 4675 } __CLC3GLS1bits_t; 4676 4677 extern __at(0x0F25) volatile __CLC3GLS1bits_t CLC3GLS1bits; 4678 4679 #define _CLC3GLS1_LC3G2D1N 0x01 4680 #define _CLC3GLS1_D1N 0x01 4681 #define _CLC3GLS1_LC3G2D1T 0x02 4682 #define _CLC3GLS1_D1T 0x02 4683 #define _CLC3GLS1_LC3G2D2N 0x04 4684 #define _CLC3GLS1_D2N 0x04 4685 #define _CLC3GLS1_LC3G2D2T 0x08 4686 #define _CLC3GLS1_D2T 0x08 4687 #define _CLC3GLS1_LC3G2D3N 0x10 4688 #define _CLC3GLS1_D3N 0x10 4689 #define _CLC3GLS1_LC3G2D3T 0x20 4690 #define _CLC3GLS1_D3T 0x20 4691 #define _CLC3GLS1_LC3G2D4N 0x40 4692 #define _CLC3GLS1_D4N 0x40 4693 #define _CLC3GLS1_LC3G2D4T 0x80 4694 #define _CLC3GLS1_D4T 0x80 4695 4696 //============================================================================== 4697 4698 4699 //============================================================================== 4700 // CLC3GLS2 Bits 4701 4702 extern __at(0x0F26) __sfr CLC3GLS2; 4703 4704 typedef union 4705 { 4706 struct 4707 { 4708 unsigned LC3G3D1N : 1; 4709 unsigned LC3G3D1T : 1; 4710 unsigned LC3G3D2N : 1; 4711 unsigned LC3G3D2T : 1; 4712 unsigned LC3G3D3N : 1; 4713 unsigned LC3G3D3T : 1; 4714 unsigned LC3G3D4N : 1; 4715 unsigned LC3G3D4T : 1; 4716 }; 4717 4718 struct 4719 { 4720 unsigned D1N : 1; 4721 unsigned D1T : 1; 4722 unsigned D2N : 1; 4723 unsigned D2T : 1; 4724 unsigned D3N : 1; 4725 unsigned D3T : 1; 4726 unsigned D4N : 1; 4727 unsigned D4T : 1; 4728 }; 4729 } __CLC3GLS2bits_t; 4730 4731 extern __at(0x0F26) volatile __CLC3GLS2bits_t CLC3GLS2bits; 4732 4733 #define _CLC3GLS2_LC3G3D1N 0x01 4734 #define _CLC3GLS2_D1N 0x01 4735 #define _CLC3GLS2_LC3G3D1T 0x02 4736 #define _CLC3GLS2_D1T 0x02 4737 #define _CLC3GLS2_LC3G3D2N 0x04 4738 #define _CLC3GLS2_D2N 0x04 4739 #define _CLC3GLS2_LC3G3D2T 0x08 4740 #define _CLC3GLS2_D2T 0x08 4741 #define _CLC3GLS2_LC3G3D3N 0x10 4742 #define _CLC3GLS2_D3N 0x10 4743 #define _CLC3GLS2_LC3G3D3T 0x20 4744 #define _CLC3GLS2_D3T 0x20 4745 #define _CLC3GLS2_LC3G3D4N 0x40 4746 #define _CLC3GLS2_D4N 0x40 4747 #define _CLC3GLS2_LC3G3D4T 0x80 4748 #define _CLC3GLS2_D4T 0x80 4749 4750 //============================================================================== 4751 4752 4753 //============================================================================== 4754 // CLC3GLS3 Bits 4755 4756 extern __at(0x0F27) __sfr CLC3GLS3; 4757 4758 typedef union 4759 { 4760 struct 4761 { 4762 unsigned LC3G4D1N : 1; 4763 unsigned LC3G4D1T : 1; 4764 unsigned LC3G4D2N : 1; 4765 unsigned LC3G4D2T : 1; 4766 unsigned LC3G4D3N : 1; 4767 unsigned LC3G4D3T : 1; 4768 unsigned LC3G4D4N : 1; 4769 unsigned LC3G4D4T : 1; 4770 }; 4771 4772 struct 4773 { 4774 unsigned G4D1N : 1; 4775 unsigned G4D1T : 1; 4776 unsigned G4D2N : 1; 4777 unsigned G4D2T : 1; 4778 unsigned G4D3N : 1; 4779 unsigned G4D3T : 1; 4780 unsigned G4D4N : 1; 4781 unsigned G4D4T : 1; 4782 }; 4783 } __CLC3GLS3bits_t; 4784 4785 extern __at(0x0F27) volatile __CLC3GLS3bits_t CLC3GLS3bits; 4786 4787 #define _CLC3GLS3_LC3G4D1N 0x01 4788 #define _CLC3GLS3_G4D1N 0x01 4789 #define _CLC3GLS3_LC3G4D1T 0x02 4790 #define _CLC3GLS3_G4D1T 0x02 4791 #define _CLC3GLS3_LC3G4D2N 0x04 4792 #define _CLC3GLS3_G4D2N 0x04 4793 #define _CLC3GLS3_LC3G4D2T 0x08 4794 #define _CLC3GLS3_G4D2T 0x08 4795 #define _CLC3GLS3_LC3G4D3N 0x10 4796 #define _CLC3GLS3_G4D3N 0x10 4797 #define _CLC3GLS3_LC3G4D3T 0x20 4798 #define _CLC3GLS3_G4D3T 0x20 4799 #define _CLC3GLS3_LC3G4D4N 0x40 4800 #define _CLC3GLS3_G4D4N 0x40 4801 #define _CLC3GLS3_LC3G4D4T 0x80 4802 #define _CLC3GLS3_G4D4T 0x80 4803 4804 //============================================================================== 4805 4806 4807 //============================================================================== 4808 // CLC4CON Bits 4809 4810 extern __at(0x0F28) __sfr CLC4CON; 4811 4812 typedef union 4813 { 4814 struct 4815 { 4816 unsigned LC4MODE0 : 1; 4817 unsigned LC4MODE1 : 1; 4818 unsigned LC4MODE2 : 1; 4819 unsigned LC4INTN : 1; 4820 unsigned LC4INTP : 1; 4821 unsigned LC4OUT : 1; 4822 unsigned LC4OE : 1; 4823 unsigned LC4EN : 1; 4824 }; 4825 4826 struct 4827 { 4828 unsigned LCMODE0 : 1; 4829 unsigned LCMODE1 : 1; 4830 unsigned LCMODE2 : 1; 4831 unsigned LCINTN : 1; 4832 unsigned LCINTP : 1; 4833 unsigned LCOUT : 1; 4834 unsigned LCOE : 1; 4835 unsigned LCEN : 1; 4836 }; 4837 4838 struct 4839 { 4840 unsigned LCMODE : 3; 4841 unsigned : 5; 4842 }; 4843 4844 struct 4845 { 4846 unsigned LC4MODE : 3; 4847 unsigned : 5; 4848 }; 4849 } __CLC4CONbits_t; 4850 4851 extern __at(0x0F28) volatile __CLC4CONbits_t CLC4CONbits; 4852 4853 #define _CLC4CON_LC4MODE0 0x01 4854 #define _CLC4CON_LCMODE0 0x01 4855 #define _CLC4CON_LC4MODE1 0x02 4856 #define _CLC4CON_LCMODE1 0x02 4857 #define _CLC4CON_LC4MODE2 0x04 4858 #define _CLC4CON_LCMODE2 0x04 4859 #define _CLC4CON_LC4INTN 0x08 4860 #define _CLC4CON_LCINTN 0x08 4861 #define _CLC4CON_LC4INTP 0x10 4862 #define _CLC4CON_LCINTP 0x10 4863 #define _CLC4CON_LC4OUT 0x20 4864 #define _CLC4CON_LCOUT 0x20 4865 #define _CLC4CON_LC4OE 0x40 4866 #define _CLC4CON_LCOE 0x40 4867 #define _CLC4CON_LC4EN 0x80 4868 #define _CLC4CON_LCEN 0x80 4869 4870 //============================================================================== 4871 4872 4873 //============================================================================== 4874 // CLC4POL Bits 4875 4876 extern __at(0x0F29) __sfr CLC4POL; 4877 4878 typedef union 4879 { 4880 struct 4881 { 4882 unsigned LC4G1POL : 1; 4883 unsigned LC4G2POL : 1; 4884 unsigned LC4G3POL : 1; 4885 unsigned LC4G4POL : 1; 4886 unsigned : 1; 4887 unsigned : 1; 4888 unsigned : 1; 4889 unsigned LC4POL : 1; 4890 }; 4891 4892 struct 4893 { 4894 unsigned G1POL : 1; 4895 unsigned G2POL : 1; 4896 unsigned G3POL : 1; 4897 unsigned G4POL : 1; 4898 unsigned : 1; 4899 unsigned : 1; 4900 unsigned : 1; 4901 unsigned POL : 1; 4902 }; 4903 } __CLC4POLbits_t; 4904 4905 extern __at(0x0F29) volatile __CLC4POLbits_t CLC4POLbits; 4906 4907 #define _CLC4POL_LC4G1POL 0x01 4908 #define _CLC4POL_G1POL 0x01 4909 #define _CLC4POL_LC4G2POL 0x02 4910 #define _CLC4POL_G2POL 0x02 4911 #define _CLC4POL_LC4G3POL 0x04 4912 #define _CLC4POL_G3POL 0x04 4913 #define _CLC4POL_LC4G4POL 0x08 4914 #define _CLC4POL_G4POL 0x08 4915 #define _CLC4POL_LC4POL 0x80 4916 #define _CLC4POL_POL 0x80 4917 4918 //============================================================================== 4919 4920 4921 //============================================================================== 4922 // CLC4SEL0 Bits 4923 4924 extern __at(0x0F2A) __sfr CLC4SEL0; 4925 4926 typedef union 4927 { 4928 struct 4929 { 4930 unsigned LC4D1S0 : 1; 4931 unsigned LC4D1S1 : 1; 4932 unsigned LC4D1S2 : 1; 4933 unsigned : 1; 4934 unsigned LC4D2S0 : 1; 4935 unsigned LC4D2S1 : 1; 4936 unsigned LC4D2S2 : 1; 4937 unsigned : 1; 4938 }; 4939 4940 struct 4941 { 4942 unsigned D1S0 : 1; 4943 unsigned D1S1 : 1; 4944 unsigned D1S2 : 1; 4945 unsigned : 1; 4946 unsigned D2S0 : 1; 4947 unsigned D2S1 : 1; 4948 unsigned D2S2 : 1; 4949 unsigned : 1; 4950 }; 4951 4952 struct 4953 { 4954 unsigned LC4D1S : 3; 4955 unsigned : 5; 4956 }; 4957 4958 struct 4959 { 4960 unsigned D1S : 3; 4961 unsigned : 5; 4962 }; 4963 4964 struct 4965 { 4966 unsigned : 4; 4967 unsigned LC4D2S : 3; 4968 unsigned : 1; 4969 }; 4970 4971 struct 4972 { 4973 unsigned : 4; 4974 unsigned D2S : 3; 4975 unsigned : 1; 4976 }; 4977 } __CLC4SEL0bits_t; 4978 4979 extern __at(0x0F2A) volatile __CLC4SEL0bits_t CLC4SEL0bits; 4980 4981 #define _CLC4SEL0_LC4D1S0 0x01 4982 #define _CLC4SEL0_D1S0 0x01 4983 #define _CLC4SEL0_LC4D1S1 0x02 4984 #define _CLC4SEL0_D1S1 0x02 4985 #define _CLC4SEL0_LC4D1S2 0x04 4986 #define _CLC4SEL0_D1S2 0x04 4987 #define _CLC4SEL0_LC4D2S0 0x10 4988 #define _CLC4SEL0_D2S0 0x10 4989 #define _CLC4SEL0_LC4D2S1 0x20 4990 #define _CLC4SEL0_D2S1 0x20 4991 #define _CLC4SEL0_LC4D2S2 0x40 4992 #define _CLC4SEL0_D2S2 0x40 4993 4994 //============================================================================== 4995 4996 4997 //============================================================================== 4998 // CLC4SEL1 Bits 4999 5000 extern __at(0x0F2B) __sfr CLC4SEL1; 5001 5002 typedef union 5003 { 5004 struct 5005 { 5006 unsigned LC4D3S0 : 1; 5007 unsigned LC4D3S1 : 1; 5008 unsigned LC4D3S2 : 1; 5009 unsigned : 1; 5010 unsigned LC4D4S0 : 1; 5011 unsigned LC4D4S1 : 1; 5012 unsigned LC4D4S2 : 1; 5013 unsigned : 1; 5014 }; 5015 5016 struct 5017 { 5018 unsigned D3S0 : 1; 5019 unsigned D3S1 : 1; 5020 unsigned D3S2 : 1; 5021 unsigned : 1; 5022 unsigned D4S0 : 1; 5023 unsigned D4S1 : 1; 5024 unsigned D4S2 : 1; 5025 unsigned : 1; 5026 }; 5027 5028 struct 5029 { 5030 unsigned LC4D3S : 3; 5031 unsigned : 5; 5032 }; 5033 5034 struct 5035 { 5036 unsigned D3S : 3; 5037 unsigned : 5; 5038 }; 5039 5040 struct 5041 { 5042 unsigned : 4; 5043 unsigned D4S : 3; 5044 unsigned : 1; 5045 }; 5046 5047 struct 5048 { 5049 unsigned : 4; 5050 unsigned LC4D4S : 3; 5051 unsigned : 1; 5052 }; 5053 } __CLC4SEL1bits_t; 5054 5055 extern __at(0x0F2B) volatile __CLC4SEL1bits_t CLC4SEL1bits; 5056 5057 #define _CLC4SEL1_LC4D3S0 0x01 5058 #define _CLC4SEL1_D3S0 0x01 5059 #define _CLC4SEL1_LC4D3S1 0x02 5060 #define _CLC4SEL1_D3S1 0x02 5061 #define _CLC4SEL1_LC4D3S2 0x04 5062 #define _CLC4SEL1_D3S2 0x04 5063 #define _CLC4SEL1_LC4D4S0 0x10 5064 #define _CLC4SEL1_D4S0 0x10 5065 #define _CLC4SEL1_LC4D4S1 0x20 5066 #define _CLC4SEL1_D4S1 0x20 5067 #define _CLC4SEL1_LC4D4S2 0x40 5068 #define _CLC4SEL1_D4S2 0x40 5069 5070 //============================================================================== 5071 5072 5073 //============================================================================== 5074 // CLC4GLS0 Bits 5075 5076 extern __at(0x0F2C) __sfr CLC4GLS0; 5077 5078 typedef union 5079 { 5080 struct 5081 { 5082 unsigned LC4G1D1N : 1; 5083 unsigned LC4G1D1T : 1; 5084 unsigned LC4G1D2N : 1; 5085 unsigned LC4G1D2T : 1; 5086 unsigned LC4G1D3N : 1; 5087 unsigned LC4G1D3T : 1; 5088 unsigned LC4G1D4N : 1; 5089 unsigned LC4G1D4T : 1; 5090 }; 5091 5092 struct 5093 { 5094 unsigned D1N : 1; 5095 unsigned D1T : 1; 5096 unsigned D2N : 1; 5097 unsigned D2T : 1; 5098 unsigned D3N : 1; 5099 unsigned D3T : 1; 5100 unsigned D4N : 1; 5101 unsigned D4T : 1; 5102 }; 5103 } __CLC4GLS0bits_t; 5104 5105 extern __at(0x0F2C) volatile __CLC4GLS0bits_t CLC4GLS0bits; 5106 5107 #define _CLC4GLS0_LC4G1D1N 0x01 5108 #define _CLC4GLS0_D1N 0x01 5109 #define _CLC4GLS0_LC4G1D1T 0x02 5110 #define _CLC4GLS0_D1T 0x02 5111 #define _CLC4GLS0_LC4G1D2N 0x04 5112 #define _CLC4GLS0_D2N 0x04 5113 #define _CLC4GLS0_LC4G1D2T 0x08 5114 #define _CLC4GLS0_D2T 0x08 5115 #define _CLC4GLS0_LC4G1D3N 0x10 5116 #define _CLC4GLS0_D3N 0x10 5117 #define _CLC4GLS0_LC4G1D3T 0x20 5118 #define _CLC4GLS0_D3T 0x20 5119 #define _CLC4GLS0_LC4G1D4N 0x40 5120 #define _CLC4GLS0_D4N 0x40 5121 #define _CLC4GLS0_LC4G1D4T 0x80 5122 #define _CLC4GLS0_D4T 0x80 5123 5124 //============================================================================== 5125 5126 5127 //============================================================================== 5128 // CLC4GLS1 Bits 5129 5130 extern __at(0x0F2D) __sfr CLC4GLS1; 5131 5132 typedef union 5133 { 5134 struct 5135 { 5136 unsigned LC4G2D1N : 1; 5137 unsigned LC4G2D1T : 1; 5138 unsigned LC4G2D2N : 1; 5139 unsigned LC4G2D2T : 1; 5140 unsigned LC4G2D3N : 1; 5141 unsigned LC4G2D3T : 1; 5142 unsigned LC4G2D4N : 1; 5143 unsigned LC4G2D4T : 1; 5144 }; 5145 5146 struct 5147 { 5148 unsigned D1N : 1; 5149 unsigned D1T : 1; 5150 unsigned D2N : 1; 5151 unsigned D2T : 1; 5152 unsigned D3N : 1; 5153 unsigned D3T : 1; 5154 unsigned D4N : 1; 5155 unsigned D4T : 1; 5156 }; 5157 } __CLC4GLS1bits_t; 5158 5159 extern __at(0x0F2D) volatile __CLC4GLS1bits_t CLC4GLS1bits; 5160 5161 #define _CLC4GLS1_LC4G2D1N 0x01 5162 #define _CLC4GLS1_D1N 0x01 5163 #define _CLC4GLS1_LC4G2D1T 0x02 5164 #define _CLC4GLS1_D1T 0x02 5165 #define _CLC4GLS1_LC4G2D2N 0x04 5166 #define _CLC4GLS1_D2N 0x04 5167 #define _CLC4GLS1_LC4G2D2T 0x08 5168 #define _CLC4GLS1_D2T 0x08 5169 #define _CLC4GLS1_LC4G2D3N 0x10 5170 #define _CLC4GLS1_D3N 0x10 5171 #define _CLC4GLS1_LC4G2D3T 0x20 5172 #define _CLC4GLS1_D3T 0x20 5173 #define _CLC4GLS1_LC4G2D4N 0x40 5174 #define _CLC4GLS1_D4N 0x40 5175 #define _CLC4GLS1_LC4G2D4T 0x80 5176 #define _CLC4GLS1_D4T 0x80 5177 5178 //============================================================================== 5179 5180 5181 //============================================================================== 5182 // CLC4GLS2 Bits 5183 5184 extern __at(0x0F2E) __sfr CLC4GLS2; 5185 5186 typedef union 5187 { 5188 struct 5189 { 5190 unsigned LC4G3D1N : 1; 5191 unsigned LC4G3D1T : 1; 5192 unsigned LC4G3D2N : 1; 5193 unsigned LC4G3D2T : 1; 5194 unsigned LC4G3D3N : 1; 5195 unsigned LC4G3D3T : 1; 5196 unsigned LC4G3D4N : 1; 5197 unsigned LC4G3D4T : 1; 5198 }; 5199 5200 struct 5201 { 5202 unsigned D1N : 1; 5203 unsigned D1T : 1; 5204 unsigned D2N : 1; 5205 unsigned D2T : 1; 5206 unsigned D3N : 1; 5207 unsigned D3T : 1; 5208 unsigned D4N : 1; 5209 unsigned D4T : 1; 5210 }; 5211 } __CLC4GLS2bits_t; 5212 5213 extern __at(0x0F2E) volatile __CLC4GLS2bits_t CLC4GLS2bits; 5214 5215 #define _CLC4GLS2_LC4G3D1N 0x01 5216 #define _CLC4GLS2_D1N 0x01 5217 #define _CLC4GLS2_LC4G3D1T 0x02 5218 #define _CLC4GLS2_D1T 0x02 5219 #define _CLC4GLS2_LC4G3D2N 0x04 5220 #define _CLC4GLS2_D2N 0x04 5221 #define _CLC4GLS2_LC4G3D2T 0x08 5222 #define _CLC4GLS2_D2T 0x08 5223 #define _CLC4GLS2_LC4G3D3N 0x10 5224 #define _CLC4GLS2_D3N 0x10 5225 #define _CLC4GLS2_LC4G3D3T 0x20 5226 #define _CLC4GLS2_D3T 0x20 5227 #define _CLC4GLS2_LC4G3D4N 0x40 5228 #define _CLC4GLS2_D4N 0x40 5229 #define _CLC4GLS2_LC4G3D4T 0x80 5230 #define _CLC4GLS2_D4T 0x80 5231 5232 //============================================================================== 5233 5234 5235 //============================================================================== 5236 // CLC4GLS3 Bits 5237 5238 extern __at(0x0F2F) __sfr CLC4GLS3; 5239 5240 typedef union 5241 { 5242 struct 5243 { 5244 unsigned LC4G4D1N : 1; 5245 unsigned LC4G4D1T : 1; 5246 unsigned LC4G4D2N : 1; 5247 unsigned LC4G4D2T : 1; 5248 unsigned LC4G4D3N : 1; 5249 unsigned LC4G4D3T : 1; 5250 unsigned LC4G4D4N : 1; 5251 unsigned LC4G4D4T : 1; 5252 }; 5253 5254 struct 5255 { 5256 unsigned G4D1N : 1; 5257 unsigned G4D1T : 1; 5258 unsigned G4D2N : 1; 5259 unsigned G4D2T : 1; 5260 unsigned G4D3N : 1; 5261 unsigned G4D3T : 1; 5262 unsigned G4D4N : 1; 5263 unsigned G4D4T : 1; 5264 }; 5265 } __CLC4GLS3bits_t; 5266 5267 extern __at(0x0F2F) volatile __CLC4GLS3bits_t CLC4GLS3bits; 5268 5269 #define _CLC4GLS3_LC4G4D1N 0x01 5270 #define _CLC4GLS3_G4D1N 0x01 5271 #define _CLC4GLS3_LC4G4D1T 0x02 5272 #define _CLC4GLS3_G4D1T 0x02 5273 #define _CLC4GLS3_LC4G4D2N 0x04 5274 #define _CLC4GLS3_G4D2N 0x04 5275 #define _CLC4GLS3_LC4G4D2T 0x08 5276 #define _CLC4GLS3_G4D2T 0x08 5277 #define _CLC4GLS3_LC4G4D3N 0x10 5278 #define _CLC4GLS3_G4D3N 0x10 5279 #define _CLC4GLS3_LC4G4D3T 0x20 5280 #define _CLC4GLS3_G4D3T 0x20 5281 #define _CLC4GLS3_LC4G4D4N 0x40 5282 #define _CLC4GLS3_G4D4N 0x40 5283 #define _CLC4GLS3_LC4G4D4T 0x80 5284 #define _CLC4GLS3_G4D4T 0x80 5285 5286 //============================================================================== 5287 5288 5289 //============================================================================== 5290 // ICDIO Bits 5291 5292 extern __at(0x0F8C) __sfr ICDIO; 5293 5294 typedef struct 5295 { 5296 unsigned : 1; 5297 unsigned : 1; 5298 unsigned TRIS_ICDCLK : 1; 5299 unsigned TRIS_ICDDAT : 1; 5300 unsigned LAT_ICDCLK : 1; 5301 unsigned LAT_ICDDAT : 1; 5302 unsigned PORT_ICDCLK : 1; 5303 unsigned PORT_ICDDAT : 1; 5304 } __ICDIObits_t; 5305 5306 extern __at(0x0F8C) volatile __ICDIObits_t ICDIObits; 5307 5308 #define _TRIS_ICDCLK 0x04 5309 #define _TRIS_ICDDAT 0x08 5310 #define _LAT_ICDCLK 0x10 5311 #define _LAT_ICDDAT 0x20 5312 #define _PORT_ICDCLK 0x40 5313 #define _PORT_ICDDAT 0x80 5314 5315 //============================================================================== 5316 5317 5318 //============================================================================== 5319 // ICDCON0 Bits 5320 5321 extern __at(0x0F8D) __sfr ICDCON0; 5322 5323 typedef struct 5324 { 5325 unsigned RSTVEC : 1; 5326 unsigned : 1; 5327 unsigned : 1; 5328 unsigned DBGINEX : 1; 5329 unsigned : 1; 5330 unsigned SSTEP : 1; 5331 unsigned FREEZ : 1; 5332 unsigned INBUG : 1; 5333 } __ICDCON0bits_t; 5334 5335 extern __at(0x0F8D) volatile __ICDCON0bits_t ICDCON0bits; 5336 5337 #define _RSTVEC 0x01 5338 #define _DBGINEX 0x08 5339 #define _SSTEP 0x20 5340 #define _FREEZ 0x40 5341 #define _INBUG 0x80 5342 5343 //============================================================================== 5344 5345 5346 //============================================================================== 5347 // ICDSTAT Bits 5348 5349 extern __at(0x0F91) __sfr ICDSTAT; 5350 5351 typedef struct 5352 { 5353 unsigned : 1; 5354 unsigned USRHLTF : 1; 5355 unsigned : 1; 5356 unsigned : 1; 5357 unsigned : 1; 5358 unsigned : 1; 5359 unsigned TRP0HLTF : 1; 5360 unsigned TRP1HLTF : 1; 5361 } __ICDSTATbits_t; 5362 5363 extern __at(0x0F91) volatile __ICDSTATbits_t ICDSTATbits; 5364 5365 #define _USRHLTF 0x02 5366 #define _TRP0HLTF 0x40 5367 #define _TRP1HLTF 0x80 5368 5369 //============================================================================== 5370 5371 5372 //============================================================================== 5373 // DEVSEL Bits 5374 5375 extern __at(0x0F95) __sfr DEVSEL; 5376 5377 typedef union 5378 { 5379 struct 5380 { 5381 unsigned DEVSEL0 : 1; 5382 unsigned DEVSEL1 : 1; 5383 unsigned DEVSEL2 : 1; 5384 unsigned : 1; 5385 unsigned : 1; 5386 unsigned : 1; 5387 unsigned : 1; 5388 unsigned : 1; 5389 }; 5390 5391 struct 5392 { 5393 unsigned DEVSEL : 3; 5394 unsigned : 5; 5395 }; 5396 } __DEVSELbits_t; 5397 5398 extern __at(0x0F95) volatile __DEVSELbits_t DEVSELbits; 5399 5400 #define _DEVSEL0 0x01 5401 #define _DEVSEL1 0x02 5402 #define _DEVSEL2 0x04 5403 5404 //============================================================================== 5405 5406 5407 //============================================================================== 5408 // ICDINSTL Bits 5409 5410 extern __at(0x0F96) __sfr ICDINSTL; 5411 5412 typedef struct 5413 { 5414 unsigned DBGIN0 : 1; 5415 unsigned DBGIN1 : 1; 5416 unsigned DBGIN2 : 1; 5417 unsigned DBGIN3 : 1; 5418 unsigned DBGIN4 : 1; 5419 unsigned DBGIN5 : 1; 5420 unsigned DBGIN6 : 1; 5421 unsigned DBGIN7 : 1; 5422 } __ICDINSTLbits_t; 5423 5424 extern __at(0x0F96) volatile __ICDINSTLbits_t ICDINSTLbits; 5425 5426 #define _DBGIN0 0x01 5427 #define _DBGIN1 0x02 5428 #define _DBGIN2 0x04 5429 #define _DBGIN3 0x08 5430 #define _DBGIN4 0x10 5431 #define _DBGIN5 0x20 5432 #define _DBGIN6 0x40 5433 #define _DBGIN7 0x80 5434 5435 //============================================================================== 5436 5437 5438 //============================================================================== 5439 // ICDINSTH Bits 5440 5441 extern __at(0x0F97) __sfr ICDINSTH; 5442 5443 typedef struct 5444 { 5445 unsigned DBGIN8 : 1; 5446 unsigned DBGIN9 : 1; 5447 unsigned DBGIN10 : 1; 5448 unsigned DBGIN11 : 1; 5449 unsigned DBGIN12 : 1; 5450 unsigned DBGIN13 : 1; 5451 unsigned : 1; 5452 unsigned : 1; 5453 } __ICDINSTHbits_t; 5454 5455 extern __at(0x0F97) volatile __ICDINSTHbits_t ICDINSTHbits; 5456 5457 #define _DBGIN8 0x01 5458 #define _DBGIN9 0x02 5459 #define _DBGIN10 0x04 5460 #define _DBGIN11 0x08 5461 #define _DBGIN12 0x10 5462 #define _DBGIN13 0x20 5463 5464 //============================================================================== 5465 5466 5467 //============================================================================== 5468 // ICDBK0CON Bits 5469 5470 extern __at(0x0F9C) __sfr ICDBK0CON; 5471 5472 typedef struct 5473 { 5474 unsigned BKHLT : 1; 5475 unsigned : 1; 5476 unsigned : 1; 5477 unsigned : 1; 5478 unsigned : 1; 5479 unsigned : 1; 5480 unsigned : 1; 5481 unsigned BKEN : 1; 5482 } __ICDBK0CONbits_t; 5483 5484 extern __at(0x0F9C) volatile __ICDBK0CONbits_t ICDBK0CONbits; 5485 5486 #define _BKHLT 0x01 5487 #define _BKEN 0x80 5488 5489 //============================================================================== 5490 5491 5492 //============================================================================== 5493 // ICDBK0L Bits 5494 5495 extern __at(0x0F9D) __sfr ICDBK0L; 5496 5497 typedef struct 5498 { 5499 unsigned BKA0 : 1; 5500 unsigned BKA1 : 1; 5501 unsigned BKA2 : 1; 5502 unsigned BKA3 : 1; 5503 unsigned BKA4 : 1; 5504 unsigned BKA5 : 1; 5505 unsigned BKA6 : 1; 5506 unsigned BKA7 : 1; 5507 } __ICDBK0Lbits_t; 5508 5509 extern __at(0x0F9D) volatile __ICDBK0Lbits_t ICDBK0Lbits; 5510 5511 #define _BKA0 0x01 5512 #define _BKA1 0x02 5513 #define _BKA2 0x04 5514 #define _BKA3 0x08 5515 #define _BKA4 0x10 5516 #define _BKA5 0x20 5517 #define _BKA6 0x40 5518 #define _BKA7 0x80 5519 5520 //============================================================================== 5521 5522 5523 //============================================================================== 5524 // ICDBK0H Bits 5525 5526 extern __at(0x0F9E) __sfr ICDBK0H; 5527 5528 typedef struct 5529 { 5530 unsigned BKA8 : 1; 5531 unsigned BKA9 : 1; 5532 unsigned BKA10 : 1; 5533 unsigned BKA11 : 1; 5534 unsigned BKA12 : 1; 5535 unsigned BKA13 : 1; 5536 unsigned BKA14 : 1; 5537 unsigned : 1; 5538 } __ICDBK0Hbits_t; 5539 5540 extern __at(0x0F9E) volatile __ICDBK0Hbits_t ICDBK0Hbits; 5541 5542 #define _BKA8 0x01 5543 #define _BKA9 0x02 5544 #define _BKA10 0x04 5545 #define _BKA11 0x08 5546 #define _BKA12 0x10 5547 #define _BKA13 0x20 5548 #define _BKA14 0x40 5549 5550 //============================================================================== 5551 5552 extern __at(0x0FE3) __sfr BSRICDSHAD; 5553 5554 //============================================================================== 5555 // STATUS_SHAD Bits 5556 5557 extern __at(0x0FE4) __sfr STATUS_SHAD; 5558 5559 typedef struct 5560 { 5561 unsigned C_SHAD : 1; 5562 unsigned DC_SHAD : 1; 5563 unsigned Z_SHAD : 1; 5564 unsigned : 1; 5565 unsigned : 1; 5566 unsigned : 1; 5567 unsigned : 1; 5568 unsigned : 1; 5569 } __STATUS_SHADbits_t; 5570 5571 extern __at(0x0FE4) volatile __STATUS_SHADbits_t STATUS_SHADbits; 5572 5573 #define _C_SHAD 0x01 5574 #define _DC_SHAD 0x02 5575 #define _Z_SHAD 0x04 5576 5577 //============================================================================== 5578 5579 extern __at(0x0FE5) __sfr WREG_SHAD; 5580 extern __at(0x0FE6) __sfr BSR_SHAD; 5581 extern __at(0x0FE7) __sfr PCLATH_SHAD; 5582 extern __at(0x0FE8) __sfr FSR0L_SHAD; 5583 extern __at(0x0FE9) __sfr FSR0H_SHAD; 5584 extern __at(0x0FEA) __sfr FSR1L_SHAD; 5585 extern __at(0x0FEB) __sfr FSR1H_SHAD; 5586 extern __at(0x0FED) __sfr STKPTR; 5587 extern __at(0x0FEE) __sfr TOSL; 5588 extern __at(0x0FEF) __sfr TOSH; 5589 5590 //============================================================================== 5591 // 5592 // Configuration Bits 5593 // 5594 //============================================================================== 5595 5596 #define _CONFIG1 0x8007 5597 #define _CONFIG2 0x8008 5598 5599 //----------------------------- CONFIG1 Options ------------------------------- 5600 5601 #define _FOSC_LP 0x3FF8 // LP Oscillator, Low-power crystal connected between OSC1 and OSC2 pins. 5602 #define _FOSC_XT 0x3FF9 // XT Oscillator, Crystal/resonator connected between OSC1 and OSC2 pins. 5603 #define _FOSC_HS 0x3FFA // HS Oscillator, High-speed crystal/resonator connected between OSC1 and OSC2 pins. 5604 #define _FOSC_EXTRC 0x3FFB // EXTRC oscillator: External RC circuit connected to CLKIN pin. 5605 #define _FOSC_INTOSC 0x3FFC // INTOSC oscillator: I/O function on CLKIN pin. 5606 #define _FOSC_ECL 0x3FFD // ECL, External Clock, Low Power Mode (0-0.5 MHz): device clock supplied to CLKIN pins. 5607 #define _FOSC_ECM 0x3FFE // ECM, External Clock, Medium Power Mode (0.5-4 MHz): device clock supplied to CLKIN pins. 5608 #define _FOSC_ECH 0x3FFF // ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins. 5609 #define _WDTE_OFF 0x3FE7 // WDT disabled. 5610 #define _WDTE_SWDTEN 0x3FEF // WDT controlled by the SWDTEN bit in the WDTCON register. 5611 #define _WDTE_NSLEEP 0x3FF7 // WDT enabled while running and disabled in Sleep. 5612 #define _WDTE_ON 0x3FFF // WDT enabled. 5613 #define _PWRTE_ON 0x3FDF // PWRT enabled. 5614 #define _PWRTE_OFF 0x3FFF // PWRT disabled. 5615 #define _MCLRE_OFF 0x3FBF // MCLR/VPP pin function is digital input. 5616 #define _MCLRE_ON 0x3FFF // MCLR/VPP pin function is MCLR. 5617 #define _CP_ON 0x3F7F // Program memory code protection is enabled. 5618 #define _CP_OFF 0x3FFF // Program memory code protection is disabled. 5619 #define _BOREN_OFF 0x39FF // Brown-out Reset disabled. 5620 #define _BOREN_SBODEN 0x3BFF // Brown-out Reset controlled by the SBOREN bit in the BORCON register. 5621 #define _BOREN_NSLEEP 0x3DFF // Brown-out Reset enabled while running and disabled in Sleep. 5622 #define _BOREN_ON 0x3FFF // Brown-out Reset enabled. 5623 #define _CLKOUTEN_ON 0x37FF // CLKOUT function is enabled on the CLKOUT pin. 5624 #define _CLKOUTEN_OFF 0x3FFF // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin. 5625 #define _IESO_OFF 0x2FFF // Internal/External Switchover Mode is disabled. 5626 #define _IESO_ON 0x3FFF // Internal/External Switchover Mode is enabled. 5627 #define _FCMEN_OFF 0x1FFF // Fail-Safe Clock Monitor is disabled. 5628 #define _FCMEN_ON 0x3FFF // Fail-Safe Clock Monitor is enabled. 5629 5630 //----------------------------- CONFIG2 Options ------------------------------- 5631 5632 #define _WRT_ALL 0x3FFC // 000h to 1FFFh write protected, no addresses may be modified by EECON control. 5633 #define _WRT_HALF 0x3FFD // 000h to FFFh write protected, 1000h to 1FFFh may be modified by EECON control. 5634 #define _WRT_BOOT 0x3FFE // 000h to 1FFh write protected, 200h to 1FFFh may be modified by EECON control. 5635 #define _WRT_OFF 0x3FFF // Write protection off. 5636 #define _STVREN_OFF 0x3DFF // Stack Overflow or Underflow will not cause a Reset. 5637 #define _STVREN_ON 0x3FFF // Stack Overflow or Underflow will cause a Reset. 5638 #define _BORV_HI 0x3BFF // Brown-out Reset Voltage (Vbor), high trip point selected. 5639 #define _BORV_LO 0x3FFF // Brown-out Reset Voltage (Vbor), low trip point selected. 5640 #define _LPBOR_ON 0x37FF // Low-Power BOR is enabled. 5641 #define _LPBOR_OFF 0x3FFF // Low-Power BOR is disabled. 5642 #define _DEBUG_ON 0x2FFF // In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger. 5643 #define _DEBUG_OFF 0x3FFF // In-Circuit Debugger disabled, ICSPCLK and ICSPDAT are general purpose I/O pins. 5644 #define _LVP_OFF 0x1FFF // High-voltage on MCLR/VPP must be used for programming. 5645 #define _LVP_ON 0x3FFF // Low-voltage programming enabled. 5646 5647 //============================================================================== 5648 5649 #define _DEVID1 0x8006 5650 5651 #define _IDLOC0 0x8000 5652 #define _IDLOC1 0x8001 5653 #define _IDLOC2 0x8002 5654 #define _IDLOC3 0x8003 5655 5656 //============================================================================== 5657 5658 #ifndef NO_BIT_DEFINES 5659 5660 #define ADON ADCON0bits.ADON // bit 0 5661 #define GO_NOT_DONE ADCON0bits.GO_NOT_DONE // bit 1, shadows bit in ADCON0bits 5662 #define ADGO ADCON0bits.ADGO // bit 1, shadows bit in ADCON0bits 5663 #define GO ADCON0bits.GO // bit 1, shadows bit in ADCON0bits 5664 #define CHS0 ADCON0bits.CHS0 // bit 2 5665 #define CHS1 ADCON0bits.CHS1 // bit 3 5666 #define CHS2 ADCON0bits.CHS2 // bit 4 5667 #define CHS3 ADCON0bits.CHS3 // bit 5 5668 #define CHS4 ADCON0bits.CHS4 // bit 6 5669 5670 #define ADPREF0 ADCON1bits.ADPREF0 // bit 0 5671 #define ADPREF1 ADCON1bits.ADPREF1 // bit 1 5672 #define ADFM ADCON1bits.ADFM // bit 7 5673 5674 #define TRIGSEL0 ADCON2bits.TRIGSEL0 // bit 4 5675 #define TRIGSEL1 ADCON2bits.TRIGSEL1 // bit 5 5676 #define TRIGSEL2 ADCON2bits.TRIGSEL2 // bit 6 5677 #define TRIGSEL3 ADCON2bits.TRIGSEL3 // bit 7 5678 5679 #define ANSA0 ANSELAbits.ANSA0 // bit 0 5680 #define ANSA1 ANSELAbits.ANSA1 // bit 1 5681 #define ANSA2 ANSELAbits.ANSA2 // bit 2 5682 #define ANSA4 ANSELAbits.ANSA4 // bit 4 5683 5684 #define ANSB4 ANSELBbits.ANSB4 // bit 4 5685 #define ANSB5 ANSELBbits.ANSB5 // bit 5 5686 5687 #define ANSC0 ANSELCbits.ANSC0 // bit 0 5688 #define ANSC1 ANSELCbits.ANSC1 // bit 1 5689 #define ANSC2 ANSELCbits.ANSC2 // bit 2 5690 #define ANSC3 ANSELCbits.ANSC3 // bit 3 5691 #define ANSC6 ANSELCbits.ANSC6 // bit 6 5692 #define ANSC7 ANSELCbits.ANSC7 // bit 7 5693 5694 #define NCO1SEL APFCONbits.NCO1SEL // bit 0, shadows bit in APFCONbits 5695 #define NCOSEL APFCONbits.NCOSEL // bit 0, shadows bit in APFCONbits 5696 #define CLC1SEL APFCONbits.CLC1SEL // bit 1 5697 #define T1GSEL APFCONbits.T1GSEL // bit 3 5698 #define SSSEL APFCONbits.SSSEL // bit 4 5699 5700 #define ABDEN BAUDCONbits.ABDEN // bit 0 5701 #define WUE BAUDCONbits.WUE // bit 1 5702 #define BRG16 BAUDCONbits.BRG16 // bit 3 5703 #define SCKP BAUDCONbits.SCKP // bit 4 5704 #define RCIDL BAUDCONbits.RCIDL // bit 6 5705 #define ABDOVF BAUDCONbits.ABDOVF // bit 7 5706 5707 #define BORRDY BORCONbits.BORRDY // bit 0 5708 #define BORFS BORCONbits.BORFS // bit 6 5709 #define SBOREN BORCONbits.SBOREN // bit 7 5710 5711 #define BSR0 BSRbits.BSR0 // bit 0 5712 #define BSR1 BSRbits.BSR1 // bit 1 5713 #define BSR2 BSRbits.BSR2 // bit 2 5714 #define BSR3 BSRbits.BSR3 // bit 3 5715 #define BSR4 BSRbits.BSR4 // bit 4 5716 5717 #define LC1MODE0 CLC1CONbits.LC1MODE0 // bit 0, shadows bit in CLC1CONbits 5718 #define LCMODE0 CLC1CONbits.LCMODE0 // bit 0, shadows bit in CLC1CONbits 5719 #define LC1MODE1 CLC1CONbits.LC1MODE1 // bit 1, shadows bit in CLC1CONbits 5720 #define LCMODE1 CLC1CONbits.LCMODE1 // bit 1, shadows bit in CLC1CONbits 5721 #define LC1MODE2 CLC1CONbits.LC1MODE2 // bit 2, shadows bit in CLC1CONbits 5722 #define LCMODE2 CLC1CONbits.LCMODE2 // bit 2, shadows bit in CLC1CONbits 5723 #define LC1INTN CLC1CONbits.LC1INTN // bit 3, shadows bit in CLC1CONbits 5724 #define LCINTN CLC1CONbits.LCINTN // bit 3, shadows bit in CLC1CONbits 5725 #define LC1INTP CLC1CONbits.LC1INTP // bit 4, shadows bit in CLC1CONbits 5726 #define LCINTP CLC1CONbits.LCINTP // bit 4, shadows bit in CLC1CONbits 5727 #define LC1OUT CLC1CONbits.LC1OUT // bit 5, shadows bit in CLC1CONbits 5728 #define LCOUT CLC1CONbits.LCOUT // bit 5, shadows bit in CLC1CONbits 5729 #define LC1OE CLC1CONbits.LC1OE // bit 6, shadows bit in CLC1CONbits 5730 #define LCOE CLC1CONbits.LCOE // bit 6, shadows bit in CLC1CONbits 5731 #define LC1EN CLC1CONbits.LC1EN // bit 7, shadows bit in CLC1CONbits 5732 #define LCEN CLC1CONbits.LCEN // bit 7, shadows bit in CLC1CONbits 5733 5734 #define LC1G1D1N CLC1GLS0bits.LC1G1D1N // bit 0, shadows bit in CLC1GLS0bits 5735 #define D1N CLC1GLS0bits.D1N // bit 0, shadows bit in CLC1GLS0bits 5736 #define LC1G1D1T CLC1GLS0bits.LC1G1D1T // bit 1, shadows bit in CLC1GLS0bits 5737 #define D1T CLC1GLS0bits.D1T // bit 1, shadows bit in CLC1GLS0bits 5738 #define LC1G1D2N CLC1GLS0bits.LC1G1D2N // bit 2, shadows bit in CLC1GLS0bits 5739 #define D2N CLC1GLS0bits.D2N // bit 2, shadows bit in CLC1GLS0bits 5740 #define LC1G1D2T CLC1GLS0bits.LC1G1D2T // bit 3, shadows bit in CLC1GLS0bits 5741 #define D2T CLC1GLS0bits.D2T // bit 3, shadows bit in CLC1GLS0bits 5742 #define LC1G1D3N CLC1GLS0bits.LC1G1D3N // bit 4, shadows bit in CLC1GLS0bits 5743 #define D3N CLC1GLS0bits.D3N // bit 4, shadows bit in CLC1GLS0bits 5744 #define LC1G1D3T CLC1GLS0bits.LC1G1D3T // bit 5, shadows bit in CLC1GLS0bits 5745 #define D3T CLC1GLS0bits.D3T // bit 5, shadows bit in CLC1GLS0bits 5746 #define LC1G1D4N CLC1GLS0bits.LC1G1D4N // bit 6, shadows bit in CLC1GLS0bits 5747 #define D4N CLC1GLS0bits.D4N // bit 6, shadows bit in CLC1GLS0bits 5748 #define LC1G1D4T CLC1GLS0bits.LC1G1D4T // bit 7, shadows bit in CLC1GLS0bits 5749 #define D4T CLC1GLS0bits.D4T // bit 7, shadows bit in CLC1GLS0bits 5750 5751 #define LC1G4D1N CLC1GLS3bits.LC1G4D1N // bit 0, shadows bit in CLC1GLS3bits 5752 #define G4D1N CLC1GLS3bits.G4D1N // bit 0, shadows bit in CLC1GLS3bits 5753 #define LC1G4D1T CLC1GLS3bits.LC1G4D1T // bit 1, shadows bit in CLC1GLS3bits 5754 #define G4D1T CLC1GLS3bits.G4D1T // bit 1, shadows bit in CLC1GLS3bits 5755 #define LC1G4D2N CLC1GLS3bits.LC1G4D2N // bit 2, shadows bit in CLC1GLS3bits 5756 #define G4D2N CLC1GLS3bits.G4D2N // bit 2, shadows bit in CLC1GLS3bits 5757 #define LC1G4D2T CLC1GLS3bits.LC1G4D2T // bit 3, shadows bit in CLC1GLS3bits 5758 #define G4D2T CLC1GLS3bits.G4D2T // bit 3, shadows bit in CLC1GLS3bits 5759 #define LC1G4D3N CLC1GLS3bits.LC1G4D3N // bit 4, shadows bit in CLC1GLS3bits 5760 #define G4D3N CLC1GLS3bits.G4D3N // bit 4, shadows bit in CLC1GLS3bits 5761 #define LC1G4D3T CLC1GLS3bits.LC1G4D3T // bit 5, shadows bit in CLC1GLS3bits 5762 #define G4D3T CLC1GLS3bits.G4D3T // bit 5, shadows bit in CLC1GLS3bits 5763 #define LC1G4D4N CLC1GLS3bits.LC1G4D4N // bit 6, shadows bit in CLC1GLS3bits 5764 #define G4D4N CLC1GLS3bits.G4D4N // bit 6, shadows bit in CLC1GLS3bits 5765 #define LC1G4D4T CLC1GLS3bits.LC1G4D4T // bit 7, shadows bit in CLC1GLS3bits 5766 #define G4D4T CLC1GLS3bits.G4D4T // bit 7, shadows bit in CLC1GLS3bits 5767 5768 #define LC1G1POL CLC1POLbits.LC1G1POL // bit 0, shadows bit in CLC1POLbits 5769 #define G1POL CLC1POLbits.G1POL // bit 0, shadows bit in CLC1POLbits 5770 #define LC1G2POL CLC1POLbits.LC1G2POL // bit 1, shadows bit in CLC1POLbits 5771 #define G2POL CLC1POLbits.G2POL // bit 1, shadows bit in CLC1POLbits 5772 #define LC1G3POL CLC1POLbits.LC1G3POL // bit 2, shadows bit in CLC1POLbits 5773 #define G3POL CLC1POLbits.G3POL // bit 2, shadows bit in CLC1POLbits 5774 #define LC1G4POL CLC1POLbits.LC1G4POL // bit 3, shadows bit in CLC1POLbits 5775 #define G4POL CLC1POLbits.G4POL // bit 3, shadows bit in CLC1POLbits 5776 #define LC1POL CLC1POLbits.LC1POL // bit 7, shadows bit in CLC1POLbits 5777 #define POL CLC1POLbits.POL // bit 7, shadows bit in CLC1POLbits 5778 5779 #define LC1D1S0 CLC1SEL0bits.LC1D1S0 // bit 0, shadows bit in CLC1SEL0bits 5780 #define D1S0 CLC1SEL0bits.D1S0 // bit 0, shadows bit in CLC1SEL0bits 5781 #define LC1D1S1 CLC1SEL0bits.LC1D1S1 // bit 1, shadows bit in CLC1SEL0bits 5782 #define D1S1 CLC1SEL0bits.D1S1 // bit 1, shadows bit in CLC1SEL0bits 5783 #define LC1D1S2 CLC1SEL0bits.LC1D1S2 // bit 2, shadows bit in CLC1SEL0bits 5784 #define D1S2 CLC1SEL0bits.D1S2 // bit 2, shadows bit in CLC1SEL0bits 5785 #define LC1D2S0 CLC1SEL0bits.LC1D2S0 // bit 4, shadows bit in CLC1SEL0bits 5786 #define D2S0 CLC1SEL0bits.D2S0 // bit 4, shadows bit in CLC1SEL0bits 5787 #define LC1D2S1 CLC1SEL0bits.LC1D2S1 // bit 5, shadows bit in CLC1SEL0bits 5788 #define D2S1 CLC1SEL0bits.D2S1 // bit 5, shadows bit in CLC1SEL0bits 5789 #define LC1D2S2 CLC1SEL0bits.LC1D2S2 // bit 6, shadows bit in CLC1SEL0bits 5790 #define D2S2 CLC1SEL0bits.D2S2 // bit 6, shadows bit in CLC1SEL0bits 5791 5792 #define LC1D3S0 CLC1SEL1bits.LC1D3S0 // bit 0, shadows bit in CLC1SEL1bits 5793 #define D3S0 CLC1SEL1bits.D3S0 // bit 0, shadows bit in CLC1SEL1bits 5794 #define LC1D3S1 CLC1SEL1bits.LC1D3S1 // bit 1, shadows bit in CLC1SEL1bits 5795 #define D3S1 CLC1SEL1bits.D3S1 // bit 1, shadows bit in CLC1SEL1bits 5796 #define LC1D3S2 CLC1SEL1bits.LC1D3S2 // bit 2, shadows bit in CLC1SEL1bits 5797 #define D3S2 CLC1SEL1bits.D3S2 // bit 2, shadows bit in CLC1SEL1bits 5798 #define LC1D4S0 CLC1SEL1bits.LC1D4S0 // bit 4, shadows bit in CLC1SEL1bits 5799 #define D4S0 CLC1SEL1bits.D4S0 // bit 4, shadows bit in CLC1SEL1bits 5800 #define LC1D4S1 CLC1SEL1bits.LC1D4S1 // bit 5, shadows bit in CLC1SEL1bits 5801 #define D4S1 CLC1SEL1bits.D4S1 // bit 5, shadows bit in CLC1SEL1bits 5802 #define LC1D4S2 CLC1SEL1bits.LC1D4S2 // bit 6, shadows bit in CLC1SEL1bits 5803 #define D4S2 CLC1SEL1bits.D4S2 // bit 6, shadows bit in CLC1SEL1bits 5804 5805 #define MCLC1OUT CLCDATAbits.MCLC1OUT // bit 0 5806 #define MCLC2OUT CLCDATAbits.MCLC2OUT // bit 1 5807 #define MCLC3OUT CLCDATAbits.MCLC3OUT // bit 2 5808 #define MCLC4OUT CLCDATAbits.MCLC4OUT // bit 3 5809 5810 #define C1SYNC CM1CON0bits.C1SYNC // bit 0 5811 #define C1HYS CM1CON0bits.C1HYS // bit 1 5812 #define C1SP CM1CON0bits.C1SP // bit 2 5813 #define C1POL CM1CON0bits.C1POL // bit 4 5814 #define C1OE CM1CON0bits.C1OE // bit 5 5815 #define C1OUT CM1CON0bits.C1OUT // bit 6 5816 #define C1ON CM1CON0bits.C1ON // bit 7 5817 5818 #define C1NCH0 CM1CON1bits.C1NCH0 // bit 0 5819 #define C1NCH1 CM1CON1bits.C1NCH1 // bit 1 5820 #define C1NCH2 CM1CON1bits.C1NCH2 // bit 2 5821 #define C1PCH0 CM1CON1bits.C1PCH0 // bit 4 5822 #define C1PCH1 CM1CON1bits.C1PCH1 // bit 5 5823 #define C1INTN CM1CON1bits.C1INTN // bit 6 5824 #define C1INTP CM1CON1bits.C1INTP // bit 7 5825 5826 #define C2SYNC CM2CON0bits.C2SYNC // bit 0 5827 #define C2HYS CM2CON0bits.C2HYS // bit 1 5828 #define C2SP CM2CON0bits.C2SP // bit 2 5829 #define C2POL CM2CON0bits.C2POL // bit 4 5830 #define C2OE CM2CON0bits.C2OE // bit 5 5831 #define C2OUT CM2CON0bits.C2OUT // bit 6 5832 #define C2ON CM2CON0bits.C2ON // bit 7 5833 5834 #define C2NCH0 CM2CON1bits.C2NCH0 // bit 0 5835 #define C2NCH1 CM2CON1bits.C2NCH1 // bit 1 5836 #define C2NCH2 CM2CON1bits.C2NCH2 // bit 2 5837 #define C2PCH0 CM2CON1bits.C2PCH0 // bit 4 5838 #define C2PCH1 CM2CON1bits.C2PCH1 // bit 5 5839 #define C2INTN CM2CON1bits.C2INTN // bit 6 5840 #define C2INTP CM2CON1bits.C2INTP // bit 7 5841 5842 #define MC1OUT CMOUTbits.MC1OUT // bit 0 5843 #define MC2OUT CMOUTbits.MC2OUT // bit 1 5844 5845 #define G1CS0 CWG1CON0bits.G1CS0 // bit 0 5846 #define G1POLA CWG1CON0bits.G1POLA // bit 3 5847 #define G1POLB CWG1CON0bits.G1POLB // bit 4 5848 #define G1OEA CWG1CON0bits.G1OEA // bit 5 5849 #define G1OEB CWG1CON0bits.G1OEB // bit 6 5850 #define G1EN CWG1CON0bits.G1EN // bit 7 5851 5852 #define G1IS0 CWG1CON1bits.G1IS0 // bit 0 5853 #define G1IS1 CWG1CON1bits.G1IS1 // bit 1 5854 #define G1IS2 CWG1CON1bits.G1IS2 // bit 2 5855 #define G1ASDLA0 CWG1CON1bits.G1ASDLA0 // bit 4 5856 #define G1ASDLA1 CWG1CON1bits.G1ASDLA1 // bit 5 5857 #define G1ASDLB0 CWG1CON1bits.G1ASDLB0 // bit 6 5858 #define G1ASDLB1 CWG1CON1bits.G1ASDLB1 // bit 7 5859 5860 #define G1ASDSCLC2 CWG1CON2bits.G1ASDSCLC2 // bit 0 5861 #define G1ASDSFLT CWG1CON2bits.G1ASDSFLT // bit 1 5862 #define G1ASDSC1 CWG1CON2bits.G1ASDSC1 // bit 2 5863 #define G1ASDSC2 CWG1CON2bits.G1ASDSC2 // bit 3 5864 #define G1ARSEN CWG1CON2bits.G1ARSEN // bit 6 5865 #define G1ASE CWG1CON2bits.G1ASE // bit 7 5866 5867 #define CWG1DBF0 CWG1DBFbits.CWG1DBF0 // bit 0 5868 #define CWG1DBF1 CWG1DBFbits.CWG1DBF1 // bit 1 5869 #define CWG1DBF2 CWG1DBFbits.CWG1DBF2 // bit 2 5870 #define CWG1DBF3 CWG1DBFbits.CWG1DBF3 // bit 3 5871 #define CWG1DBF4 CWG1DBFbits.CWG1DBF4 // bit 4 5872 #define CWG1DBF5 CWG1DBFbits.CWG1DBF5 // bit 5 5873 5874 #define CWG1DBR0 CWG1DBRbits.CWG1DBR0 // bit 0 5875 #define CWG1DBR1 CWG1DBRbits.CWG1DBR1 // bit 1 5876 #define CWG1DBR2 CWG1DBRbits.CWG1DBR2 // bit 2 5877 #define CWG1DBR3 CWG1DBRbits.CWG1DBR3 // bit 3 5878 #define CWG1DBR4 CWG1DBRbits.CWG1DBR4 // bit 4 5879 #define CWG1DBR5 CWG1DBRbits.CWG1DBR5 // bit 5 5880 5881 #define DACPSS DACCON0bits.DACPSS // bit 2 5882 #define DACOE2 DACCON0bits.DACOE2 // bit 4 5883 #define DACOE1 DACCON0bits.DACOE1 // bit 5 5884 #define DACEN DACCON0bits.DACEN // bit 7 5885 5886 #define DACR0 DACCON1bits.DACR0 // bit 0 5887 #define DACR1 DACCON1bits.DACR1 // bit 1 5888 #define DACR2 DACCON1bits.DACR2 // bit 2 5889 #define DACR3 DACCON1bits.DACR3 // bit 3 5890 #define DACR4 DACCON1bits.DACR4 // bit 4 5891 5892 #define DEVSEL0 DEVSELbits.DEVSEL0 // bit 0 5893 #define DEVSEL1 DEVSELbits.DEVSEL1 // bit 1 5894 #define DEVSEL2 DEVSELbits.DEVSEL2 // bit 2 5895 5896 #define ADFVR0 FVRCONbits.ADFVR0 // bit 0 5897 #define ADFVR1 FVRCONbits.ADFVR1 // bit 1 5898 #define CDAFVR0 FVRCONbits.CDAFVR0 // bit 2 5899 #define CDAFVR1 FVRCONbits.CDAFVR1 // bit 3 5900 #define TSRNG FVRCONbits.TSRNG // bit 4 5901 #define TSEN FVRCONbits.TSEN // bit 5 5902 #define FVRRDY FVRCONbits.FVRRDY // bit 6 5903 #define FVREN FVRCONbits.FVREN // bit 7 5904 5905 #define BKHLT ICDBK0CONbits.BKHLT // bit 0 5906 #define BKEN ICDBK0CONbits.BKEN // bit 7 5907 5908 #define BKA8 ICDBK0Hbits.BKA8 // bit 0 5909 #define BKA9 ICDBK0Hbits.BKA9 // bit 1 5910 #define BKA10 ICDBK0Hbits.BKA10 // bit 2 5911 #define BKA11 ICDBK0Hbits.BKA11 // bit 3 5912 #define BKA12 ICDBK0Hbits.BKA12 // bit 4 5913 #define BKA13 ICDBK0Hbits.BKA13 // bit 5 5914 #define BKA14 ICDBK0Hbits.BKA14 // bit 6 5915 5916 #define BKA0 ICDBK0Lbits.BKA0 // bit 0 5917 #define BKA1 ICDBK0Lbits.BKA1 // bit 1 5918 #define BKA2 ICDBK0Lbits.BKA2 // bit 2 5919 #define BKA3 ICDBK0Lbits.BKA3 // bit 3 5920 #define BKA4 ICDBK0Lbits.BKA4 // bit 4 5921 #define BKA5 ICDBK0Lbits.BKA5 // bit 5 5922 #define BKA6 ICDBK0Lbits.BKA6 // bit 6 5923 #define BKA7 ICDBK0Lbits.BKA7 // bit 7 5924 5925 #define RSTVEC ICDCON0bits.RSTVEC // bit 0 5926 #define DBGINEX ICDCON0bits.DBGINEX // bit 3 5927 #define SSTEP ICDCON0bits.SSTEP // bit 5 5928 #define FREEZ ICDCON0bits.FREEZ // bit 6 5929 #define INBUG ICDCON0bits.INBUG // bit 7 5930 5931 #define DBGIN8 ICDINSTHbits.DBGIN8 // bit 0 5932 #define DBGIN9 ICDINSTHbits.DBGIN9 // bit 1 5933 #define DBGIN10 ICDINSTHbits.DBGIN10 // bit 2 5934 #define DBGIN11 ICDINSTHbits.DBGIN11 // bit 3 5935 #define DBGIN12 ICDINSTHbits.DBGIN12 // bit 4 5936 #define DBGIN13 ICDINSTHbits.DBGIN13 // bit 5 5937 5938 #define DBGIN0 ICDINSTLbits.DBGIN0 // bit 0 5939 #define DBGIN1 ICDINSTLbits.DBGIN1 // bit 1 5940 #define DBGIN2 ICDINSTLbits.DBGIN2 // bit 2 5941 #define DBGIN3 ICDINSTLbits.DBGIN3 // bit 3 5942 #define DBGIN4 ICDINSTLbits.DBGIN4 // bit 4 5943 #define DBGIN5 ICDINSTLbits.DBGIN5 // bit 5 5944 #define DBGIN6 ICDINSTLbits.DBGIN6 // bit 6 5945 #define DBGIN7 ICDINSTLbits.DBGIN7 // bit 7 5946 5947 #define TRIS_ICDCLK ICDIObits.TRIS_ICDCLK // bit 2 5948 #define TRIS_ICDDAT ICDIObits.TRIS_ICDDAT // bit 3 5949 #define LAT_ICDCLK ICDIObits.LAT_ICDCLK // bit 4 5950 #define LAT_ICDDAT ICDIObits.LAT_ICDDAT // bit 5 5951 #define PORT_ICDCLK ICDIObits.PORT_ICDCLK // bit 6 5952 #define PORT_ICDDAT ICDIObits.PORT_ICDDAT // bit 7 5953 5954 #define USRHLTF ICDSTATbits.USRHLTF // bit 1 5955 #define TRP0HLTF ICDSTATbits.TRP0HLTF // bit 6 5956 #define TRP1HLTF ICDSTATbits.TRP1HLTF // bit 7 5957 5958 #define IOCIF INTCONbits.IOCIF // bit 0 5959 #define INTF INTCONbits.INTF // bit 1 5960 #define TMR0IF INTCONbits.TMR0IF // bit 2, shadows bit in INTCONbits 5961 #define T0IF INTCONbits.T0IF // bit 2, shadows bit in INTCONbits 5962 #define IOCIE INTCONbits.IOCIE // bit 3 5963 #define INTE INTCONbits.INTE // bit 4 5964 #define TMR0IE INTCONbits.TMR0IE // bit 5, shadows bit in INTCONbits 5965 #define T0IE INTCONbits.T0IE // bit 5, shadows bit in INTCONbits 5966 #define PEIE INTCONbits.PEIE // bit 6 5967 #define GIE INTCONbits.GIE // bit 7 5968 5969 #define IOCAF0 IOCAFbits.IOCAF0 // bit 0 5970 #define IOCAF1 IOCAFbits.IOCAF1 // bit 1 5971 #define IOCAF2 IOCAFbits.IOCAF2 // bit 2 5972 #define IOCAF3 IOCAFbits.IOCAF3 // bit 3 5973 #define IOCAF4 IOCAFbits.IOCAF4 // bit 4 5974 #define IOCAF5 IOCAFbits.IOCAF5 // bit 5 5975 5976 #define IOCAN0 IOCANbits.IOCAN0 // bit 0 5977 #define IOCAN1 IOCANbits.IOCAN1 // bit 1 5978 #define IOCAN2 IOCANbits.IOCAN2 // bit 2 5979 #define IOCAN3 IOCANbits.IOCAN3 // bit 3 5980 #define IOCAN4 IOCANbits.IOCAN4 // bit 4 5981 #define IOCAN5 IOCANbits.IOCAN5 // bit 5 5982 5983 #define IOCAP0 IOCAPbits.IOCAP0 // bit 0 5984 #define IOCAP1 IOCAPbits.IOCAP1 // bit 1 5985 #define IOCAP2 IOCAPbits.IOCAP2 // bit 2 5986 #define IOCAP3 IOCAPbits.IOCAP3 // bit 3 5987 #define IOCAP4 IOCAPbits.IOCAP4 // bit 4 5988 #define IOCAP5 IOCAPbits.IOCAP5 // bit 5 5989 5990 #define IOCBF4 IOCBFbits.IOCBF4 // bit 4 5991 #define IOCBF5 IOCBFbits.IOCBF5 // bit 5 5992 #define IOCBF6 IOCBFbits.IOCBF6 // bit 6 5993 #define IOCBF7 IOCBFbits.IOCBF7 // bit 7 5994 5995 #define IOCBN4 IOCBNbits.IOCBN4 // bit 4 5996 #define IOCBN5 IOCBNbits.IOCBN5 // bit 5 5997 #define IOCBN6 IOCBNbits.IOCBN6 // bit 6 5998 #define IOCBN7 IOCBNbits.IOCBN7 // bit 7 5999 6000 #define IOCBP4 IOCBPbits.IOCBP4 // bit 4 6001 #define IOCBP5 IOCBPbits.IOCBP5 // bit 5 6002 #define IOCBP6 IOCBPbits.IOCBP6 // bit 6 6003 #define IOCBP7 IOCBPbits.IOCBP7 // bit 7 6004 6005 #define LATA0 LATAbits.LATA0 // bit 0 6006 #define LATA1 LATAbits.LATA1 // bit 1 6007 #define LATA2 LATAbits.LATA2 // bit 2 6008 #define LATA4 LATAbits.LATA4 // bit 4 6009 #define LATA5 LATAbits.LATA5 // bit 5 6010 6011 #define LATB4 LATBbits.LATB4 // bit 4 6012 #define LATB5 LATBbits.LATB5 // bit 5 6013 #define LATB6 LATBbits.LATB6 // bit 6 6014 #define LATB7 LATBbits.LATB7 // bit 7 6015 6016 #define LATC0 LATCbits.LATC0 // bit 0 6017 #define LATC1 LATCbits.LATC1 // bit 1 6018 #define LATC2 LATCbits.LATC2 // bit 2 6019 #define LATC3 LATCbits.LATC3 // bit 3 6020 #define LATC4 LATCbits.LATC4 // bit 4 6021 #define LATC5 LATCbits.LATC5 // bit 5 6022 #define LATC6 LATCbits.LATC6 // bit 6 6023 #define LATC7 LATCbits.LATC7 // bit 7 6024 6025 #define NCO1ACC8 NCO1ACCHbits.NCO1ACC8 // bit 0 6026 #define NCO1ACC9 NCO1ACCHbits.NCO1ACC9 // bit 1 6027 #define NCO1ACC10 NCO1ACCHbits.NCO1ACC10 // bit 2 6028 #define NCO1ACC11 NCO1ACCHbits.NCO1ACC11 // bit 3 6029 #define NCO1ACC12 NCO1ACCHbits.NCO1ACC12 // bit 4 6030 #define NCO1ACC13 NCO1ACCHbits.NCO1ACC13 // bit 5 6031 #define NCO1ACC14 NCO1ACCHbits.NCO1ACC14 // bit 6 6032 #define NCO1ACC15 NCO1ACCHbits.NCO1ACC15 // bit 7 6033 6034 #define NCO1ACC0 NCO1ACCLbits.NCO1ACC0 // bit 0 6035 #define NCO1ACC1 NCO1ACCLbits.NCO1ACC1 // bit 1 6036 #define NCO1ACC2 NCO1ACCLbits.NCO1ACC2 // bit 2 6037 #define NCO1ACC3 NCO1ACCLbits.NCO1ACC3 // bit 3 6038 #define NCO1ACC4 NCO1ACCLbits.NCO1ACC4 // bit 4 6039 #define NCO1ACC5 NCO1ACCLbits.NCO1ACC5 // bit 5 6040 #define NCO1ACC6 NCO1ACCLbits.NCO1ACC6 // bit 6 6041 #define NCO1ACC7 NCO1ACCLbits.NCO1ACC7 // bit 7 6042 6043 #define NCO1ACC16 NCO1ACCUbits.NCO1ACC16 // bit 0 6044 #define NCO1ACC17 NCO1ACCUbits.NCO1ACC17 // bit 1 6045 #define NCO1ACC18 NCO1ACCUbits.NCO1ACC18 // bit 2 6046 #define NCO1ACC19 NCO1ACCUbits.NCO1ACC19 // bit 3 6047 6048 #define N1CKS0 NCO1CLKbits.N1CKS0 // bit 0 6049 #define N1CKS1 NCO1CLKbits.N1CKS1 // bit 1 6050 #define N1PWS0 NCO1CLKbits.N1PWS0 // bit 5 6051 #define N1PWS1 NCO1CLKbits.N1PWS1 // bit 6 6052 #define N1PWS2 NCO1CLKbits.N1PWS2 // bit 7 6053 6054 #define N1PFM NCO1CONbits.N1PFM // bit 0 6055 #define N1POL NCO1CONbits.N1POL // bit 4 6056 #define N1OUT NCO1CONbits.N1OUT // bit 5 6057 #define N1OE NCO1CONbits.N1OE // bit 6 6058 #define N1EN NCO1CONbits.N1EN // bit 7 6059 6060 #define NCO1INC8 NCO1INCHbits.NCO1INC8 // bit 0 6061 #define NCO1INC9 NCO1INCHbits.NCO1INC9 // bit 1 6062 #define NCO1INC10 NCO1INCHbits.NCO1INC10 // bit 2 6063 #define NCO1INC11 NCO1INCHbits.NCO1INC11 // bit 3 6064 #define NCO1INC12 NCO1INCHbits.NCO1INC12 // bit 4 6065 #define NCO1INC13 NCO1INCHbits.NCO1INC13 // bit 5 6066 #define NCO1INC14 NCO1INCHbits.NCO1INC14 // bit 6 6067 #define NCO1INC15 NCO1INCHbits.NCO1INC15 // bit 7 6068 6069 #define NCO1INC0 NCO1INCLbits.NCO1INC0 // bit 0 6070 #define NCO1INC1 NCO1INCLbits.NCO1INC1 // bit 1 6071 #define NCO1INC2 NCO1INCLbits.NCO1INC2 // bit 2 6072 #define NCO1INC3 NCO1INCLbits.NCO1INC3 // bit 3 6073 #define NCO1INC4 NCO1INCLbits.NCO1INC4 // bit 4 6074 #define NCO1INC5 NCO1INCLbits.NCO1INC5 // bit 5 6075 #define NCO1INC6 NCO1INCLbits.NCO1INC6 // bit 6 6076 #define NCO1INC7 NCO1INCLbits.NCO1INC7 // bit 7 6077 6078 #define PS0 OPTION_REGbits.PS0 // bit 0 6079 #define PS1 OPTION_REGbits.PS1 // bit 1 6080 #define PS2 OPTION_REGbits.PS2 // bit 2 6081 #define PSA OPTION_REGbits.PSA // bit 3 6082 #define TMR0SE OPTION_REGbits.TMR0SE // bit 4, shadows bit in OPTION_REGbits 6083 #define T0SE OPTION_REGbits.T0SE // bit 4, shadows bit in OPTION_REGbits 6084 #define TMR0CS OPTION_REGbits.TMR0CS // bit 5, shadows bit in OPTION_REGbits 6085 #define T0CS OPTION_REGbits.T0CS // bit 5, shadows bit in OPTION_REGbits 6086 #define INTEDG OPTION_REGbits.INTEDG // bit 6 6087 #define NOT_WPUEN OPTION_REGbits.NOT_WPUEN // bit 7 6088 6089 #define SCS0 OSCCONbits.SCS0 // bit 0 6090 #define SCS1 OSCCONbits.SCS1 // bit 1 6091 #define IRCF0 OSCCONbits.IRCF0 // bit 3 6092 #define IRCF1 OSCCONbits.IRCF1 // bit 4 6093 #define IRCF2 OSCCONbits.IRCF2 // bit 5 6094 #define IRCF3 OSCCONbits.IRCF3 // bit 6 6095 6096 #define HFIOFS OSCSTATbits.HFIOFS // bit 0 6097 #define LFIOFR OSCSTATbits.LFIOFR // bit 1 6098 #define HFIOFR OSCSTATbits.HFIOFR // bit 4 6099 #define OSTS OSCSTATbits.OSTS // bit 5 6100 #define SOSCR OSCSTATbits.SOSCR // bit 7 6101 6102 #define NOT_BOR PCONbits.NOT_BOR // bit 0 6103 #define NOT_POR PCONbits.NOT_POR // bit 1 6104 #define NOT_RI PCONbits.NOT_RI // bit 2 6105 #define NOT_RMCLR PCONbits.NOT_RMCLR // bit 3 6106 #define NOT_RWDT PCONbits.NOT_RWDT // bit 4 6107 #define STKUNF PCONbits.STKUNF // bit 6 6108 #define STKOVF PCONbits.STKOVF // bit 7 6109 6110 #define TMR1IE PIE1bits.TMR1IE // bit 0 6111 #define TMR2IE PIE1bits.TMR2IE // bit 1 6112 #define SSP1IE PIE1bits.SSP1IE // bit 3 6113 #define TXIE PIE1bits.TXIE // bit 4 6114 #define RCIE PIE1bits.RCIE // bit 5 6115 #define ADIE PIE1bits.ADIE // bit 6 6116 #define TMR1GIE PIE1bits.TMR1GIE // bit 7 6117 6118 #define NCO1IE PIE2bits.NCO1IE // bit 2 6119 #define BCL1IE PIE2bits.BCL1IE // bit 3 6120 #define C1IE PIE2bits.C1IE // bit 5 6121 #define C2IE PIE2bits.C2IE // bit 6 6122 #define OSFIE PIE2bits.OSFIE // bit 7 6123 6124 #define CLC1IE PIE3bits.CLC1IE // bit 0 6125 #define CLC2IE PIE3bits.CLC2IE // bit 1 6126 #define CLC3IE PIE3bits.CLC3IE // bit 2 6127 #define CLC4IE PIE3bits.CLC4IE // bit 3 6128 6129 #define TMR1IF PIR1bits.TMR1IF // bit 0 6130 #define TMR2IF PIR1bits.TMR2IF // bit 1 6131 #define SSP1IF PIR1bits.SSP1IF // bit 3 6132 #define TXIF PIR1bits.TXIF // bit 4 6133 #define RCIF PIR1bits.RCIF // bit 5 6134 #define ADIF PIR1bits.ADIF // bit 6 6135 #define TMR1GIF PIR1bits.TMR1GIF // bit 7 6136 6137 #define NCO1IF PIR2bits.NCO1IF // bit 2 6138 #define BCL1IF PIR2bits.BCL1IF // bit 3 6139 #define C1IF PIR2bits.C1IF // bit 5 6140 #define C2IF PIR2bits.C2IF // bit 6 6141 #define OSFIF PIR2bits.OSFIF // bit 7 6142 6143 #define CLC1IF PIR3bits.CLC1IF // bit 0 6144 #define CLC2IF PIR3bits.CLC2IF // bit 1 6145 #define CLC3IF PIR3bits.CLC3IF // bit 2 6146 #define CLC4IF PIR3bits.CLC4IF // bit 3 6147 6148 #define RD PMCON1bits.RD // bit 0 6149 #define WR PMCON1bits.WR // bit 1 6150 #define WREN PMCON1bits.WREN // bit 2 6151 #define WRERR PMCON1bits.WRERR // bit 3 6152 #define FREE PMCON1bits.FREE // bit 4 6153 #define LWLO PMCON1bits.LWLO // bit 5 6154 #define CFGS PMCON1bits.CFGS // bit 6 6155 6156 #define RA0 PORTAbits.RA0 // bit 0 6157 #define RA1 PORTAbits.RA1 // bit 1 6158 #define RA2 PORTAbits.RA2 // bit 2 6159 #define RA3 PORTAbits.RA3 // bit 3 6160 #define RA4 PORTAbits.RA4 // bit 4 6161 #define RA5 PORTAbits.RA5 // bit 5 6162 6163 #define RB4 PORTBbits.RB4 // bit 4 6164 #define RB5 PORTBbits.RB5 // bit 5 6165 #define RB6 PORTBbits.RB6 // bit 6 6166 #define RB7 PORTBbits.RB7 // bit 7 6167 6168 #define RC0 PORTCbits.RC0 // bit 0 6169 #define RC1 PORTCbits.RC1 // bit 1 6170 #define RC2 PORTCbits.RC2 // bit 2 6171 #define RC3 PORTCbits.RC3 // bit 3 6172 #define RC4 PORTCbits.RC4 // bit 4 6173 #define RC5 PORTCbits.RC5 // bit 5 6174 #define RC6 PORTCbits.RC6 // bit 6 6175 #define RC7 PORTCbits.RC7 // bit 7 6176 6177 #define PWM1POL PWM1CONbits.PWM1POL // bit 4 6178 #define PWM1OUT PWM1CONbits.PWM1OUT // bit 5 6179 #define PWM1OE PWM1CONbits.PWM1OE // bit 6 6180 #define PWM1EN PWM1CONbits.PWM1EN // bit 7 6181 6182 #define PWM1DCH0 PWM1DCHbits.PWM1DCH0 // bit 0 6183 #define PWM1DCH1 PWM1DCHbits.PWM1DCH1 // bit 1 6184 #define PWM1DCH2 PWM1DCHbits.PWM1DCH2 // bit 2 6185 #define PWM1DCH3 PWM1DCHbits.PWM1DCH3 // bit 3 6186 #define PWM1DCH4 PWM1DCHbits.PWM1DCH4 // bit 4 6187 #define PWM1DCH5 PWM1DCHbits.PWM1DCH5 // bit 5 6188 #define PWM1DCH6 PWM1DCHbits.PWM1DCH6 // bit 6 6189 #define PWM1DCH7 PWM1DCHbits.PWM1DCH7 // bit 7 6190 6191 #define PWM1DCL0 PWM1DCLbits.PWM1DCL0 // bit 6 6192 #define PWM1DCL1 PWM1DCLbits.PWM1DCL1 // bit 7 6193 6194 #define PWM2POL PWM2CONbits.PWM2POL // bit 4 6195 #define PWM2OUT PWM2CONbits.PWM2OUT // bit 5 6196 #define PWM2OE PWM2CONbits.PWM2OE // bit 6 6197 #define PWM2EN PWM2CONbits.PWM2EN // bit 7 6198 6199 #define PWM2DCH0 PWM2DCHbits.PWM2DCH0 // bit 0 6200 #define PWM2DCH1 PWM2DCHbits.PWM2DCH1 // bit 1 6201 #define PWM2DCH2 PWM2DCHbits.PWM2DCH2 // bit 2 6202 #define PWM2DCH3 PWM2DCHbits.PWM2DCH3 // bit 3 6203 #define PWM2DCH4 PWM2DCHbits.PWM2DCH4 // bit 4 6204 #define PWM2DCH5 PWM2DCHbits.PWM2DCH5 // bit 5 6205 #define PWM2DCH6 PWM2DCHbits.PWM2DCH6 // bit 6 6206 #define PWM2DCH7 PWM2DCHbits.PWM2DCH7 // bit 7 6207 6208 #define PWM2DCL0 PWM2DCLbits.PWM2DCL0 // bit 6 6209 #define PWM2DCL1 PWM2DCLbits.PWM2DCL1 // bit 7 6210 6211 #define PWM3POL PWM3CONbits.PWM3POL // bit 4 6212 #define PWM3OUT PWM3CONbits.PWM3OUT // bit 5 6213 #define PWM3OE PWM3CONbits.PWM3OE // bit 6 6214 #define PWM3EN PWM3CONbits.PWM3EN // bit 7 6215 6216 #define PWM3DCH0 PWM3DCHbits.PWM3DCH0 // bit 0 6217 #define PWM3DCH1 PWM3DCHbits.PWM3DCH1 // bit 1 6218 #define PWM3DCH2 PWM3DCHbits.PWM3DCH2 // bit 2 6219 #define PWM3DCH3 PWM3DCHbits.PWM3DCH3 // bit 3 6220 #define PWM3DCH4 PWM3DCHbits.PWM3DCH4 // bit 4 6221 #define PWM3DCH5 PWM3DCHbits.PWM3DCH5 // bit 5 6222 #define PWM3DCH6 PWM3DCHbits.PWM3DCH6 // bit 6 6223 #define PWM3DCH7 PWM3DCHbits.PWM3DCH7 // bit 7 6224 6225 #define PWM3DCL0 PWM3DCLbits.PWM3DCL0 // bit 6 6226 #define PWM3DCL1 PWM3DCLbits.PWM3DCL1 // bit 7 6227 6228 #define PWM4POL PWM4CONbits.PWM4POL // bit 4 6229 #define PWM4OUT PWM4CONbits.PWM4OUT // bit 5 6230 #define PWM4OE PWM4CONbits.PWM4OE // bit 6 6231 #define PWM4EN PWM4CONbits.PWM4EN // bit 7 6232 6233 #define PWM4DCH0 PWM4DCHbits.PWM4DCH0 // bit 0 6234 #define PWM4DCH1 PWM4DCHbits.PWM4DCH1 // bit 1 6235 #define PWM4DCH2 PWM4DCHbits.PWM4DCH2 // bit 2 6236 #define PWM4DCH3 PWM4DCHbits.PWM4DCH3 // bit 3 6237 #define PWM4DCH4 PWM4DCHbits.PWM4DCH4 // bit 4 6238 #define PWM4DCH5 PWM4DCHbits.PWM4DCH5 // bit 5 6239 #define PWM4DCH6 PWM4DCHbits.PWM4DCH6 // bit 6 6240 #define PWM4DCH7 PWM4DCHbits.PWM4DCH7 // bit 7 6241 6242 #define PWM4DCL0 PWM4DCLbits.PWM4DCL0 // bit 6 6243 #define PWM4DCL1 PWM4DCLbits.PWM4DCL1 // bit 7 6244 6245 #define RX9D RCSTAbits.RX9D // bit 0 6246 #define OERR RCSTAbits.OERR // bit 1 6247 #define FERR RCSTAbits.FERR // bit 2 6248 #define ADDEN RCSTAbits.ADDEN // bit 3 6249 #define CREN RCSTAbits.CREN // bit 4 6250 #define SREN RCSTAbits.SREN // bit 5 6251 #define RX9 RCSTAbits.RX9 // bit 6 6252 #define SPEN RCSTAbits.SPEN // bit 7 6253 6254 #define SSPM0 SSP1CON1bits.SSPM0 // bit 0 6255 #define SSPM1 SSP1CON1bits.SSPM1 // bit 1 6256 #define SSPM2 SSP1CON1bits.SSPM2 // bit 2 6257 #define SSPM3 SSP1CON1bits.SSPM3 // bit 3 6258 #define CKP SSP1CON1bits.CKP // bit 4 6259 #define SSPEN SSP1CON1bits.SSPEN // bit 5 6260 #define SSPOV SSP1CON1bits.SSPOV // bit 6 6261 #define WCOL SSP1CON1bits.WCOL // bit 7 6262 6263 #define SEN SSP1CON2bits.SEN // bit 0 6264 #define RSEN SSP1CON2bits.RSEN // bit 1 6265 #define PEN SSP1CON2bits.PEN // bit 2 6266 #define RCEN SSP1CON2bits.RCEN // bit 3 6267 #define ACKEN SSP1CON2bits.ACKEN // bit 4 6268 #define ACKDT SSP1CON2bits.ACKDT // bit 5 6269 #define ACKSTAT SSP1CON2bits.ACKSTAT // bit 6 6270 #define GCEN SSP1CON2bits.GCEN // bit 7 6271 6272 #define DHEN SSP1CON3bits.DHEN // bit 0 6273 #define AHEN SSP1CON3bits.AHEN // bit 1 6274 #define SBCDE SSP1CON3bits.SBCDE // bit 2 6275 #define SDAHT SSP1CON3bits.SDAHT // bit 3 6276 #define BOEN SSP1CON3bits.BOEN // bit 4 6277 #define SCIE SSP1CON3bits.SCIE // bit 5 6278 #define PCIE SSP1CON3bits.PCIE // bit 6 6279 #define ACKTIM SSP1CON3bits.ACKTIM // bit 7 6280 6281 #define BF SSP1STATbits.BF // bit 0 6282 #define UA SSP1STATbits.UA // bit 1 6283 #define R_NOT_W SSP1STATbits.R_NOT_W // bit 2 6284 #define S SSP1STATbits.S // bit 3 6285 #define P SSP1STATbits.P // bit 4 6286 #define D_NOT_A SSP1STATbits.D_NOT_A // bit 5 6287 #define CKE SSP1STATbits.CKE // bit 6 6288 #define SMP SSP1STATbits.SMP // bit 7 6289 6290 #define C STATUSbits.C // bit 0 6291 #define DC STATUSbits.DC // bit 1 6292 #define Z STATUSbits.Z // bit 2 6293 #define NOT_PD STATUSbits.NOT_PD // bit 3 6294 #define NOT_TO STATUSbits.NOT_TO // bit 4 6295 6296 #define C_SHAD STATUS_SHADbits.C_SHAD // bit 0 6297 #define DC_SHAD STATUS_SHADbits.DC_SHAD // bit 1 6298 #define Z_SHAD STATUS_SHADbits.Z_SHAD // bit 2 6299 6300 #define TMR1ON T1CONbits.TMR1ON // bit 0 6301 #define NOT_T1SYNC T1CONbits.NOT_T1SYNC // bit 2 6302 #define T1OSCEN T1CONbits.T1OSCEN // bit 3 6303 #define T1CKPS0 T1CONbits.T1CKPS0 // bit 4 6304 #define T1CKPS1 T1CONbits.T1CKPS1 // bit 5 6305 #define TMR1CS0 T1CONbits.TMR1CS0 // bit 6 6306 #define TMR1CS1 T1CONbits.TMR1CS1 // bit 7 6307 6308 #define T1GSS0 T1GCONbits.T1GSS0 // bit 0 6309 #define T1GSS1 T1GCONbits.T1GSS1 // bit 1 6310 #define T1GVAL T1GCONbits.T1GVAL // bit 2 6311 #define T1GGO_NOT_DONE T1GCONbits.T1GGO_NOT_DONE // bit 3 6312 #define T1GSPM T1GCONbits.T1GSPM // bit 4 6313 #define T1GTM T1GCONbits.T1GTM // bit 5 6314 #define T1GPOL T1GCONbits.T1GPOL // bit 6 6315 #define TMR1GE T1GCONbits.TMR1GE // bit 7 6316 6317 #define T2CKPS0 T2CONbits.T2CKPS0 // bit 0 6318 #define T2CKPS1 T2CONbits.T2CKPS1 // bit 1 6319 #define TMR2ON T2CONbits.TMR2ON // bit 2 6320 #define T2OUTPS0 T2CONbits.T2OUTPS0 // bit 3 6321 #define T2OUTPS1 T2CONbits.T2OUTPS1 // bit 4 6322 #define T2OUTPS2 T2CONbits.T2OUTPS2 // bit 5 6323 #define T2OUTPS3 T2CONbits.T2OUTPS3 // bit 6 6324 6325 #define TRISA0 TRISAbits.TRISA0 // bit 0 6326 #define TRISA1 TRISAbits.TRISA1 // bit 1 6327 #define TRISA2 TRISAbits.TRISA2 // bit 2 6328 #define TRISA3 TRISAbits.TRISA3 // bit 3 6329 #define TRISA4 TRISAbits.TRISA4 // bit 4 6330 #define TRISA5 TRISAbits.TRISA5 // bit 5 6331 6332 #define TRISB4 TRISBbits.TRISB4 // bit 4 6333 #define TRISB5 TRISBbits.TRISB5 // bit 5 6334 #define TRISB6 TRISBbits.TRISB6 // bit 6 6335 #define TRISB7 TRISBbits.TRISB7 // bit 7 6336 6337 #define TRISC0 TRISCbits.TRISC0 // bit 0 6338 #define TRISC1 TRISCbits.TRISC1 // bit 1 6339 #define TRISC2 TRISCbits.TRISC2 // bit 2 6340 #define TRISC3 TRISCbits.TRISC3 // bit 3 6341 #define TRISC4 TRISCbits.TRISC4 // bit 4 6342 #define TRISC5 TRISCbits.TRISC5 // bit 5 6343 #define TRISC6 TRISCbits.TRISC6 // bit 6 6344 #define TRISC7 TRISCbits.TRISC7 // bit 7 6345 6346 #define TX9D TXSTAbits.TX9D // bit 0 6347 #define TRMT TXSTAbits.TRMT // bit 1 6348 #define BRGH TXSTAbits.BRGH // bit 2 6349 #define SENDB TXSTAbits.SENDB // bit 3 6350 #define SYNC TXSTAbits.SYNC // bit 4 6351 #define TXEN TXSTAbits.TXEN // bit 5 6352 #define TX9 TXSTAbits.TX9 // bit 6 6353 #define CSRC TXSTAbits.CSRC // bit 7 6354 6355 #define Reserved VREGCONbits.Reserved // bit 0 6356 #define VREGPM VREGCONbits.VREGPM // bit 1 6357 6358 #define SWDTEN WDTCONbits.SWDTEN // bit 0 6359 #define WDTPS0 WDTCONbits.WDTPS0 // bit 1 6360 #define WDTPS1 WDTCONbits.WDTPS1 // bit 2 6361 #define WDTPS2 WDTCONbits.WDTPS2 // bit 3 6362 #define WDTPS3 WDTCONbits.WDTPS3 // bit 4 6363 #define WDTPS4 WDTCONbits.WDTPS4 // bit 5 6364 6365 #define WPUA0 WPUAbits.WPUA0 // bit 0 6366 #define WPUA1 WPUAbits.WPUA1 // bit 1 6367 #define WPUA2 WPUAbits.WPUA2 // bit 2 6368 #define WPUA3 WPUAbits.WPUA3 // bit 3 6369 #define WPUA4 WPUAbits.WPUA4 // bit 4 6370 #define WPUA5 WPUAbits.WPUA5 // bit 5 6371 6372 #define WPUB4 WPUBbits.WPUB4 // bit 4 6373 #define WPUB5 WPUBbits.WPUB5 // bit 5 6374 #define WPUB6 WPUBbits.WPUB6 // bit 6 6375 #define WPUB7 WPUBbits.WPUB7 // bit 7 6376 6377 #endif // #ifndef NO_BIT_DEFINES 6378 6379 #endif // #ifndef __PIC16F1509_H__ 6380