1 /* 2 * This declarations of the PIC18F44J11 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:29 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 __PIC18F44J11_H__ 26 #define __PIC18F44J11_H__ 27 28 //============================================================================== 29 30 //============================================================================== 31 // 32 // Register Definitions 33 // 34 //============================================================================== 35 36 extern __at(0x0EC6) __sfr RPOR0; 37 extern __at(0x0EC7) __sfr RPOR1; 38 extern __at(0x0EC8) __sfr RPOR2; 39 extern __at(0x0EC9) __sfr RPOR3; 40 extern __at(0x0ECA) __sfr RPOR4; 41 extern __at(0x0ECB) __sfr RPOR5; 42 extern __at(0x0ECC) __sfr RPOR6; 43 extern __at(0x0ECD) __sfr RPOR7; 44 extern __at(0x0ECE) __sfr RPOR8; 45 extern __at(0x0ECF) __sfr RPOR9; 46 extern __at(0x0ED0) __sfr RPOR10; 47 extern __at(0x0ED1) __sfr RPOR11; 48 extern __at(0x0ED2) __sfr RPOR12; 49 extern __at(0x0ED3) __sfr RPOR13; 50 extern __at(0x0ED4) __sfr RPOR14; 51 extern __at(0x0ED5) __sfr RPOR15; 52 extern __at(0x0ED6) __sfr RPOR16; 53 extern __at(0x0ED7) __sfr RPOR17; 54 extern __at(0x0ED8) __sfr RPOR18; 55 extern __at(0x0ED9) __sfr RPOR19; 56 extern __at(0x0EDA) __sfr RPOR20; 57 extern __at(0x0EDB) __sfr RPOR21; 58 extern __at(0x0EDC) __sfr RPOR22; 59 extern __at(0x0EDD) __sfr RPOR23; 60 extern __at(0x0EDE) __sfr RPOR24; 61 extern __at(0x0EE7) __sfr RPINR1; 62 extern __at(0x0EE8) __sfr RPINR2; 63 extern __at(0x0EE9) __sfr RPINR3; 64 extern __at(0x0EEA) __sfr RPINR4; 65 extern __at(0x0EEC) __sfr RPINR6; 66 extern __at(0x0EED) __sfr RPINR7; 67 extern __at(0x0EEE) __sfr RPINR8; 68 extern __at(0x0EF2) __sfr RPINR12; 69 extern __at(0x0EF3) __sfr RPINR13; 70 extern __at(0x0EF6) __sfr RPINR16; 71 extern __at(0x0EF7) __sfr RPINR17; 72 extern __at(0x0EFB) __sfr RPINR21; 73 extern __at(0x0EFC) __sfr RPINR22; 74 extern __at(0x0EFD) __sfr RPINR23; 75 extern __at(0x0EFE) __sfr RPINR24; 76 77 //============================================================================== 78 // PPSCON Bits 79 80 extern __at(0x0EFF) __sfr PPSCON; 81 82 typedef struct 83 { 84 unsigned IOLOCK : 1; 85 unsigned : 1; 86 unsigned : 1; 87 unsigned : 1; 88 unsigned : 1; 89 unsigned : 1; 90 unsigned : 1; 91 unsigned : 1; 92 } __PPSCONbits_t; 93 94 extern __at(0x0EFF) volatile __PPSCONbits_t PPSCONbits; 95 96 #define _IOLOCK 0x01 97 98 //============================================================================== 99 100 101 //============================================================================== 102 // PADCFG1 Bits 103 104 extern __at(0x0F3C) __sfr PADCFG1; 105 106 typedef union 107 { 108 struct 109 { 110 unsigned PMPTTL : 1; 111 unsigned RTSECSEL0 : 1; 112 unsigned RTSECSEL1 : 1; 113 unsigned : 1; 114 unsigned : 1; 115 unsigned : 1; 116 unsigned : 1; 117 unsigned : 1; 118 }; 119 120 struct 121 { 122 unsigned : 1; 123 unsigned RTSECSEL : 2; 124 unsigned : 5; 125 }; 126 } __PADCFG1bits_t; 127 128 extern __at(0x0F3C) volatile __PADCFG1bits_t PADCFG1bits; 129 130 #define _PMPTTL 0x01 131 #define _RTSECSEL0 0x02 132 #define _RTSECSEL1 0x04 133 134 //============================================================================== 135 136 137 //============================================================================== 138 // REFOCON Bits 139 140 extern __at(0x0F3D) __sfr REFOCON; 141 142 typedef union 143 { 144 struct 145 { 146 unsigned RODIV0 : 1; 147 unsigned RODIV1 : 1; 148 unsigned RODIV2 : 1; 149 unsigned RODIV3 : 1; 150 unsigned ROSEL : 1; 151 unsigned ROSSLP : 1; 152 unsigned : 1; 153 unsigned ROON : 1; 154 }; 155 156 struct 157 { 158 unsigned RODIV : 4; 159 unsigned : 4; 160 }; 161 } __REFOCONbits_t; 162 163 extern __at(0x0F3D) volatile __REFOCONbits_t REFOCONbits; 164 165 #define _RODIV0 0x01 166 #define _RODIV1 0x02 167 #define _RODIV2 0x04 168 #define _RODIV3 0x08 169 #define _ROSEL 0x10 170 #define _ROSSLP 0x20 171 #define _ROON 0x80 172 173 //============================================================================== 174 175 176 //============================================================================== 177 // RTCCAL Bits 178 179 extern __at(0x0F3E) __sfr RTCCAL; 180 181 typedef struct 182 { 183 unsigned CAL0 : 1; 184 unsigned CAL1 : 1; 185 unsigned CAL2 : 1; 186 unsigned CAL3 : 1; 187 unsigned CAL4 : 1; 188 unsigned CAL5 : 1; 189 unsigned CAL6 : 1; 190 unsigned CAL7 : 1; 191 } __RTCCALbits_t; 192 193 extern __at(0x0F3E) volatile __RTCCALbits_t RTCCALbits; 194 195 #define _CAL0 0x01 196 #define _CAL1 0x02 197 #define _CAL2 0x04 198 #define _CAL3 0x08 199 #define _CAL4 0x10 200 #define _CAL5 0x20 201 #define _CAL6 0x40 202 #define _CAL7 0x80 203 204 //============================================================================== 205 206 207 //============================================================================== 208 // RTCCFG Bits 209 210 extern __at(0x0F3F) __sfr RTCCFG; 211 212 typedef union 213 { 214 struct 215 { 216 unsigned RTCPTR0 : 1; 217 unsigned RTCPTR1 : 1; 218 unsigned RTCOE : 1; 219 unsigned HALFSEC : 1; 220 unsigned RTCSYNC : 1; 221 unsigned RTCWREN : 1; 222 unsigned : 1; 223 unsigned RTCEN : 1; 224 }; 225 226 struct 227 { 228 unsigned RTCPTR : 2; 229 unsigned : 6; 230 }; 231 } __RTCCFGbits_t; 232 233 extern __at(0x0F3F) volatile __RTCCFGbits_t RTCCFGbits; 234 235 #define _RTCPTR0 0x01 236 #define _RTCPTR1 0x02 237 #define _RTCOE 0x04 238 #define _HALFSEC 0x08 239 #define _RTCSYNC 0x10 240 #define _RTCWREN 0x20 241 #define _RTCEN 0x80 242 243 //============================================================================== 244 245 246 //============================================================================== 247 // ODCON3 Bits 248 249 extern __at(0x0F40) __sfr ODCON3; 250 251 typedef struct 252 { 253 unsigned SPI1OD : 1; 254 unsigned SPI2OD : 1; 255 unsigned : 1; 256 unsigned : 1; 257 unsigned : 1; 258 unsigned : 1; 259 unsigned : 1; 260 unsigned : 1; 261 } __ODCON3bits_t; 262 263 extern __at(0x0F40) volatile __ODCON3bits_t ODCON3bits; 264 265 #define _SPI1OD 0x01 266 #define _SPI2OD 0x02 267 268 //============================================================================== 269 270 271 //============================================================================== 272 // ODCON2 Bits 273 274 extern __at(0x0F41) __sfr ODCON2; 275 276 typedef struct 277 { 278 unsigned U1OD : 1; 279 unsigned U2OD : 1; 280 unsigned : 1; 281 unsigned : 1; 282 unsigned : 1; 283 unsigned : 1; 284 unsigned : 1; 285 unsigned : 1; 286 } __ODCON2bits_t; 287 288 extern __at(0x0F41) volatile __ODCON2bits_t ODCON2bits; 289 290 #define _U1OD 0x01 291 #define _U2OD 0x02 292 293 //============================================================================== 294 295 296 //============================================================================== 297 // ODCON1 Bits 298 299 extern __at(0x0F42) __sfr ODCON1; 300 301 typedef struct 302 { 303 unsigned ECCP1OD : 1; 304 unsigned ECCP2OD : 1; 305 unsigned : 1; 306 unsigned : 1; 307 unsigned : 1; 308 unsigned : 1; 309 unsigned : 1; 310 unsigned : 1; 311 } __ODCON1bits_t; 312 313 extern __at(0x0F42) volatile __ODCON1bits_t ODCON1bits; 314 315 #define _ECCP1OD 0x01 316 #define _ECCP2OD 0x02 317 318 //============================================================================== 319 320 321 //============================================================================== 322 // ANCON0 Bits 323 324 extern __at(0x0F48) __sfr ANCON0; 325 326 typedef struct 327 { 328 unsigned PCFG0 : 1; 329 unsigned PCFG1 : 1; 330 unsigned PCFG2 : 1; 331 unsigned PCFG3 : 1; 332 unsigned PCFG4 : 1; 333 unsigned PCFG5 : 1; 334 unsigned PCFG6 : 1; 335 unsigned PCFG7 : 1; 336 } __ANCON0bits_t; 337 338 extern __at(0x0F48) volatile __ANCON0bits_t ANCON0bits; 339 340 #define _PCFG0 0x01 341 #define _PCFG1 0x02 342 #define _PCFG2 0x04 343 #define _PCFG3 0x08 344 #define _PCFG4 0x10 345 #define _PCFG5 0x20 346 #define _PCFG6 0x40 347 #define _PCFG7 0x80 348 349 //============================================================================== 350 351 352 //============================================================================== 353 // ANCON1 Bits 354 355 extern __at(0x0F49) __sfr ANCON1; 356 357 typedef struct 358 { 359 unsigned PCFG8 : 1; 360 unsigned PCFG9 : 1; 361 unsigned PCFG10 : 1; 362 unsigned PCFG11 : 1; 363 unsigned PCFG12 : 1; 364 unsigned : 1; 365 unsigned : 1; 366 unsigned VBGEN : 1; 367 } __ANCON1bits_t; 368 369 extern __at(0x0F49) volatile __ANCON1bits_t ANCON1bits; 370 371 #define _PCFG8 0x01 372 #define _PCFG9 0x02 373 #define _PCFG10 0x04 374 #define _PCFG11 0x08 375 #define _PCFG12 0x10 376 #define _VBGEN 0x80 377 378 //============================================================================== 379 380 381 //============================================================================== 382 // DSWAKEL Bits 383 384 extern __at(0x0F4A) __sfr DSWAKEL; 385 386 typedef struct 387 { 388 unsigned DSPOR : 1; 389 unsigned : 1; 390 unsigned DSMCLR : 1; 391 unsigned DSRTC : 1; 392 unsigned DSWDT : 1; 393 unsigned DSULP : 1; 394 unsigned : 1; 395 unsigned DSFLT : 1; 396 } __DSWAKELbits_t; 397 398 extern __at(0x0F4A) volatile __DSWAKELbits_t DSWAKELbits; 399 400 #define _DSPOR 0x01 401 #define _DSMCLR 0x04 402 #define _DSRTC 0x08 403 #define _DSWDT 0x10 404 #define _DSULP 0x20 405 #define _DSFLT 0x80 406 407 //============================================================================== 408 409 410 //============================================================================== 411 // DSWAKEH Bits 412 413 extern __at(0x0F4B) __sfr DSWAKEH; 414 415 typedef struct 416 { 417 unsigned DSINT0 : 1; 418 unsigned : 1; 419 unsigned : 1; 420 unsigned : 1; 421 unsigned : 1; 422 unsigned : 1; 423 unsigned : 1; 424 unsigned : 1; 425 } __DSWAKEHbits_t; 426 427 extern __at(0x0F4B) volatile __DSWAKEHbits_t DSWAKEHbits; 428 429 #define _DSINT0 0x01 430 431 //============================================================================== 432 433 434 //============================================================================== 435 // DSCONL Bits 436 437 extern __at(0x0F4C) __sfr DSCONL; 438 439 typedef struct 440 { 441 unsigned RELEASE : 1; 442 unsigned DSBOR : 1; 443 unsigned ULPWDIS : 1; 444 unsigned : 1; 445 unsigned : 1; 446 unsigned : 1; 447 unsigned : 1; 448 unsigned : 1; 449 } __DSCONLbits_t; 450 451 extern __at(0x0F4C) volatile __DSCONLbits_t DSCONLbits; 452 453 #define _RELEASE 0x01 454 #define _DSBOR 0x02 455 #define _ULPWDIS 0x04 456 457 //============================================================================== 458 459 460 //============================================================================== 461 // DSCONH Bits 462 463 extern __at(0x0F4D) __sfr DSCONH; 464 465 typedef struct 466 { 467 unsigned RTCWDIS : 1; 468 unsigned DSULPEN : 1; 469 unsigned : 1; 470 unsigned : 1; 471 unsigned : 1; 472 unsigned : 1; 473 unsigned : 1; 474 unsigned DSEN : 1; 475 } __DSCONHbits_t; 476 477 extern __at(0x0F4D) volatile __DSCONHbits_t DSCONHbits; 478 479 #define _RTCWDIS 0x01 480 #define _DSULPEN 0x02 481 #define _DSEN 0x80 482 483 //============================================================================== 484 485 extern __at(0x0F4E) __sfr DSGPR0; 486 extern __at(0x0F4F) __sfr DSGPR1; 487 488 //============================================================================== 489 // TCLKCON Bits 490 491 extern __at(0x0F52) __sfr TCLKCON; 492 493 typedef struct 494 { 495 unsigned T3CCP1 : 1; 496 unsigned T3CCP2 : 1; 497 unsigned : 1; 498 unsigned : 1; 499 unsigned T1RUN : 1; 500 unsigned : 1; 501 unsigned : 1; 502 unsigned : 1; 503 } __TCLKCONbits_t; 504 505 extern __at(0x0F52) volatile __TCLKCONbits_t TCLKCONbits; 506 507 #define _T3CCP1 0x01 508 #define _T3CCP2 0x02 509 #define _T1RUN 0x10 510 511 //============================================================================== 512 513 514 //============================================================================== 515 // CVRCON Bits 516 517 extern __at(0x0F53) __sfr CVRCON; 518 519 typedef union 520 { 521 struct 522 { 523 unsigned CVR0 : 1; 524 unsigned CVR1 : 1; 525 unsigned CVR2 : 1; 526 unsigned CVR3 : 1; 527 unsigned CVRSS : 1; 528 unsigned CVRR : 1; 529 unsigned CVROE : 1; 530 unsigned CVREN : 1; 531 }; 532 533 struct 534 { 535 unsigned CVR : 4; 536 unsigned : 4; 537 }; 538 } __CVRCONbits_t; 539 540 extern __at(0x0F53) volatile __CVRCONbits_t CVRCONbits; 541 542 #define _CVR0 0x01 543 #define _CVR1 0x02 544 #define _CVR2 0x04 545 #define _CVR3 0x08 546 #define _CVRSS 0x10 547 #define _CVRR 0x20 548 #define _CVROE 0x40 549 #define _CVREN 0x80 550 551 //============================================================================== 552 553 554 //============================================================================== 555 // PMSTATL Bits 556 557 extern __at(0x0F54) __sfr PMSTATL; 558 559 typedef struct 560 { 561 unsigned OB0E : 1; 562 unsigned OB1E : 1; 563 unsigned OB2E : 1; 564 unsigned OB3E : 1; 565 unsigned : 1; 566 unsigned : 1; 567 unsigned OBUF : 1; 568 unsigned OBE : 1; 569 } __PMSTATLbits_t; 570 571 extern __at(0x0F54) volatile __PMSTATLbits_t PMSTATLbits; 572 573 #define _OB0E 0x01 574 #define _OB1E 0x02 575 #define _OB2E 0x04 576 #define _OB3E 0x08 577 #define _OBUF 0x40 578 #define _OBE 0x80 579 580 //============================================================================== 581 582 583 //============================================================================== 584 // PMSTATH Bits 585 586 extern __at(0x0F55) __sfr PMSTATH; 587 588 typedef struct 589 { 590 unsigned IB0F : 1; 591 unsigned IB1F : 1; 592 unsigned IB2F : 1; 593 unsigned IB3F : 1; 594 unsigned : 1; 595 unsigned : 1; 596 unsigned IBOV : 1; 597 unsigned IBF : 1; 598 } __PMSTATHbits_t; 599 600 extern __at(0x0F55) volatile __PMSTATHbits_t PMSTATHbits; 601 602 #define _IB0F 0x01 603 #define _IB1F 0x02 604 #define _IB2F 0x04 605 #define _IB3F 0x08 606 #define _IBOV 0x40 607 #define _IBF 0x80 608 609 //============================================================================== 610 611 612 //============================================================================== 613 // PMEL Bits 614 615 extern __at(0x0F56) __sfr PMEL; 616 617 typedef struct 618 { 619 unsigned PTEN0 : 1; 620 unsigned PTEN1 : 1; 621 unsigned PTEN2 : 1; 622 unsigned PTEN3 : 1; 623 unsigned PTEN4 : 1; 624 unsigned PTEN5 : 1; 625 unsigned PTEN6 : 1; 626 unsigned PTEN7 : 1; 627 } __PMELbits_t; 628 629 extern __at(0x0F56) volatile __PMELbits_t PMELbits; 630 631 #define _PTEN0 0x01 632 #define _PTEN1 0x02 633 #define _PTEN2 0x04 634 #define _PTEN3 0x08 635 #define _PTEN4 0x10 636 #define _PTEN5 0x20 637 #define _PTEN6 0x40 638 #define _PTEN7 0x80 639 640 //============================================================================== 641 642 643 //============================================================================== 644 // PMEH Bits 645 646 extern __at(0x0F57) __sfr PMEH; 647 648 typedef struct 649 { 650 unsigned PTEN8 : 1; 651 unsigned PTEN9 : 1; 652 unsigned PTEN10 : 1; 653 unsigned PTEN11 : 1; 654 unsigned PTEN12 : 1; 655 unsigned PTEN13 : 1; 656 unsigned PTEN14 : 1; 657 unsigned PTEN15 : 1; 658 } __PMEHbits_t; 659 660 extern __at(0x0F57) volatile __PMEHbits_t PMEHbits; 661 662 #define _PTEN8 0x01 663 #define _PTEN9 0x02 664 #define _PTEN10 0x04 665 #define _PTEN11 0x08 666 #define _PTEN12 0x10 667 #define _PTEN13 0x20 668 #define _PTEN14 0x40 669 #define _PTEN15 0x80 670 671 //============================================================================== 672 673 extern __at(0x0F58) __sfr PMDIN2L; 674 extern __at(0x0F59) __sfr PMDIN2H; 675 extern __at(0x0F5A) __sfr PMDOUT2L; 676 extern __at(0x0F5B) __sfr PMDOUT2H; 677 678 //============================================================================== 679 // PMMODEL Bits 680 681 extern __at(0x0F5C) __sfr PMMODEL; 682 683 typedef union 684 { 685 struct 686 { 687 unsigned WAITE0 : 1; 688 unsigned WAITE1 : 1; 689 unsigned WAITM0 : 1; 690 unsigned WAITM1 : 1; 691 unsigned WAITM2 : 1; 692 unsigned WAITM3 : 1; 693 unsigned WAITB0 : 1; 694 unsigned WAITB1 : 1; 695 }; 696 697 struct 698 { 699 unsigned WAITE : 2; 700 unsigned : 6; 701 }; 702 703 struct 704 { 705 unsigned : 2; 706 unsigned WAITM : 4; 707 unsigned : 2; 708 }; 709 710 struct 711 { 712 unsigned : 6; 713 unsigned WAITB : 2; 714 }; 715 } __PMMODELbits_t; 716 717 extern __at(0x0F5C) volatile __PMMODELbits_t PMMODELbits; 718 719 #define _WAITE0 0x01 720 #define _WAITE1 0x02 721 #define _WAITM0 0x04 722 #define _WAITM1 0x08 723 #define _WAITM2 0x10 724 #define _WAITM3 0x20 725 #define _WAITB0 0x40 726 #define _WAITB1 0x80 727 728 //============================================================================== 729 730 731 //============================================================================== 732 // PMMODEH Bits 733 734 extern __at(0x0F5D) __sfr PMMODEH; 735 736 typedef union 737 { 738 struct 739 { 740 unsigned MODE0 : 1; 741 unsigned MODE1 : 1; 742 unsigned MODE16 : 1; 743 unsigned INCM0 : 1; 744 unsigned INCM1 : 1; 745 unsigned IRQM0 : 1; 746 unsigned IRQM1 : 1; 747 unsigned BUSY : 1; 748 }; 749 750 struct 751 { 752 unsigned : 3; 753 unsigned INCM : 2; 754 unsigned : 3; 755 }; 756 757 struct 758 { 759 unsigned : 5; 760 unsigned IRQM : 2; 761 unsigned : 1; 762 }; 763 } __PMMODEHbits_t; 764 765 extern __at(0x0F5D) volatile __PMMODEHbits_t PMMODEHbits; 766 767 #define _MODE0 0x01 768 #define _MODE1 0x02 769 #define _MODE16 0x04 770 #define _INCM0 0x08 771 #define _INCM1 0x10 772 #define _IRQM0 0x20 773 #define _IRQM1 0x40 774 #define _BUSY 0x80 775 776 //============================================================================== 777 778 779 //============================================================================== 780 // PMCONL Bits 781 782 extern __at(0x0F5E) __sfr PMCONL; 783 784 typedef union 785 { 786 struct 787 { 788 unsigned RDSP : 1; 789 unsigned WRSP : 1; 790 unsigned BEP : 1; 791 unsigned CS1P : 1; 792 unsigned CS2P : 1; 793 unsigned ALP : 1; 794 unsigned CSF0 : 1; 795 unsigned CSF1 : 1; 796 }; 797 798 struct 799 { 800 unsigned : 6; 801 unsigned CSF : 2; 802 }; 803 } __PMCONLbits_t; 804 805 extern __at(0x0F5E) volatile __PMCONLbits_t PMCONLbits; 806 807 #define _RDSP 0x01 808 #define _WRSP 0x02 809 #define _BEP 0x04 810 #define _CS1P 0x08 811 #define _CS2P 0x10 812 #define _ALP 0x20 813 #define _CSF0 0x40 814 #define _CSF1 0x80 815 816 //============================================================================== 817 818 819 //============================================================================== 820 // PMCONH Bits 821 822 extern __at(0x0F5F) __sfr PMCONH; 823 824 typedef union 825 { 826 struct 827 { 828 unsigned PTRDEN : 1; 829 unsigned PTWREN : 1; 830 unsigned PTBEEN : 1; 831 unsigned ADRMUX0 : 1; 832 unsigned ADRMUX1 : 1; 833 unsigned PSIDL : 1; 834 unsigned : 1; 835 unsigned PMPEN : 1; 836 }; 837 838 struct 839 { 840 unsigned : 3; 841 unsigned ADRMUX : 2; 842 unsigned : 3; 843 }; 844 } __PMCONHbits_t; 845 846 extern __at(0x0F5F) volatile __PMCONHbits_t PMCONHbits; 847 848 #define _PTRDEN 0x01 849 #define _PTWREN 0x02 850 #define _PTBEEN 0x04 851 #define _ADRMUX0 0x08 852 #define _ADRMUX1 0x10 853 #define _PSIDL 0x20 854 #define _PMPEN 0x80 855 856 //============================================================================== 857 858 extern __at(0x0F66) __sfr DMABCH; 859 extern __at(0x0F67) __sfr DMABCL; 860 extern __at(0x0F68) __sfr RXADDRH; 861 extern __at(0x0F69) __sfr RXADDRL; 862 extern __at(0x0F6A) __sfr TXADDRH; 863 extern __at(0x0F6B) __sfr TXADDRL; 864 extern __at(0x0F6C) __sfr PMDIN1L; 865 extern __at(0x0F6D) __sfr PMDIN1H; 866 extern __at(0x0F6E) __sfr PMADDRL; 867 extern __at(0x0F6E) __sfr PMDOUT1L; 868 869 //============================================================================== 870 // PMADDRH Bits 871 872 extern __at(0x0F6F) __sfr PMADDRH; 873 874 typedef struct 875 { 876 unsigned : 1; 877 unsigned : 1; 878 unsigned : 1; 879 unsigned : 1; 880 unsigned : 1; 881 unsigned : 1; 882 unsigned CS1 : 1; 883 unsigned : 1; 884 } __PMADDRHbits_t; 885 886 extern __at(0x0F6F) volatile __PMADDRHbits_t PMADDRHbits; 887 888 #define _CS1 0x40 889 890 //============================================================================== 891 892 extern __at(0x0F6F) __sfr PMDOUT1H; 893 894 //============================================================================== 895 // CMSTAT Bits 896 897 extern __at(0x0F70) __sfr CMSTAT; 898 899 typedef struct 900 { 901 unsigned COUT1 : 1; 902 unsigned COUT2 : 1; 903 unsigned : 1; 904 unsigned : 1; 905 unsigned : 1; 906 unsigned : 1; 907 unsigned : 1; 908 unsigned : 1; 909 } __CMSTATbits_t; 910 911 extern __at(0x0F70) volatile __CMSTATbits_t CMSTATbits; 912 913 #define _COUT1 0x01 914 #define _COUT2 0x02 915 916 //============================================================================== 917 918 919 //============================================================================== 920 // CMSTATUS Bits 921 922 extern __at(0x0F70) __sfr CMSTATUS; 923 924 typedef struct 925 { 926 unsigned COUT1 : 1; 927 unsigned COUT2 : 1; 928 unsigned : 1; 929 unsigned : 1; 930 unsigned : 1; 931 unsigned : 1; 932 unsigned : 1; 933 unsigned : 1; 934 } __CMSTATUSbits_t; 935 936 extern __at(0x0F70) volatile __CMSTATUSbits_t CMSTATUSbits; 937 938 #define _CMSTATUS_COUT1 0x01 939 #define _CMSTATUS_COUT2 0x02 940 941 //============================================================================== 942 943 944 //============================================================================== 945 // SSP2CON2 Bits 946 947 extern __at(0x0F71) __sfr SSP2CON2; 948 949 typedef union 950 { 951 struct 952 { 953 unsigned SEN : 1; 954 unsigned RSEN : 1; 955 unsigned PEN : 1; 956 unsigned RCEN : 1; 957 unsigned ACKEN : 1; 958 unsigned ACKDT : 1; 959 unsigned ACKSTAT : 1; 960 unsigned GCEN : 1; 961 }; 962 963 struct 964 { 965 unsigned : 1; 966 unsigned ADMSK1 : 1; 967 unsigned ADMSK2 : 1; 968 unsigned ADMSK3 : 1; 969 unsigned ADMSK4 : 1; 970 unsigned ADMSK5 : 1; 971 unsigned : 1; 972 unsigned : 1; 973 }; 974 } __SSP2CON2bits_t; 975 976 extern __at(0x0F71) volatile __SSP2CON2bits_t SSP2CON2bits; 977 978 #define _SSP2CON2_SEN 0x01 979 #define _SSP2CON2_RSEN 0x02 980 #define _SSP2CON2_ADMSK1 0x02 981 #define _SSP2CON2_PEN 0x04 982 #define _SSP2CON2_ADMSK2 0x04 983 #define _SSP2CON2_RCEN 0x08 984 #define _SSP2CON2_ADMSK3 0x08 985 #define _SSP2CON2_ACKEN 0x10 986 #define _SSP2CON2_ADMSK4 0x10 987 #define _SSP2CON2_ACKDT 0x20 988 #define _SSP2CON2_ADMSK5 0x20 989 #define _SSP2CON2_ACKSTAT 0x40 990 #define _SSP2CON2_GCEN 0x80 991 992 //============================================================================== 993 994 995 //============================================================================== 996 // SSP2CON1 Bits 997 998 extern __at(0x0F72) __sfr SSP2CON1; 999 1000 typedef union 1001 { 1002 struct 1003 { 1004 unsigned SSPM0 : 1; 1005 unsigned SSPM1 : 1; 1006 unsigned SSPM2 : 1; 1007 unsigned SSPM3 : 1; 1008 unsigned CKP : 1; 1009 unsigned SSPEN : 1; 1010 unsigned SSPOV : 1; 1011 unsigned WCOL : 1; 1012 }; 1013 1014 struct 1015 { 1016 unsigned SSPM : 4; 1017 unsigned : 4; 1018 }; 1019 } __SSP2CON1bits_t; 1020 1021 extern __at(0x0F72) volatile __SSP2CON1bits_t SSP2CON1bits; 1022 1023 #define _SSP2CON1_SSPM0 0x01 1024 #define _SSP2CON1_SSPM1 0x02 1025 #define _SSP2CON1_SSPM2 0x04 1026 #define _SSP2CON1_SSPM3 0x08 1027 #define _SSP2CON1_CKP 0x10 1028 #define _SSP2CON1_SSPEN 0x20 1029 #define _SSP2CON1_SSPOV 0x40 1030 #define _SSP2CON1_WCOL 0x80 1031 1032 //============================================================================== 1033 1034 1035 //============================================================================== 1036 // SSP2STAT Bits 1037 1038 extern __at(0x0F73) __sfr SSP2STAT; 1039 1040 typedef struct 1041 { 1042 unsigned BF : 1; 1043 unsigned UA : 1; 1044 unsigned R_NOT_W : 1; 1045 unsigned S : 1; 1046 unsigned P : 1; 1047 unsigned D_NOT_A : 1; 1048 unsigned CKE : 1; 1049 unsigned SMP : 1; 1050 } __SSP2STATbits_t; 1051 1052 extern __at(0x0F73) volatile __SSP2STATbits_t SSP2STATbits; 1053 1054 #define _SSP2STAT_BF 0x01 1055 #define _SSP2STAT_UA 0x02 1056 #define _SSP2STAT_R_NOT_W 0x04 1057 #define _SSP2STAT_S 0x08 1058 #define _SSP2STAT_P 0x10 1059 #define _SSP2STAT_D_NOT_A 0x20 1060 #define _SSP2STAT_CKE 0x40 1061 #define _SSP2STAT_SMP 0x80 1062 1063 //============================================================================== 1064 1065 1066 //============================================================================== 1067 // SSP2ADD Bits 1068 1069 extern __at(0x0F74) __sfr SSP2ADD; 1070 1071 typedef struct 1072 { 1073 unsigned MSK0 : 1; 1074 unsigned MSK1 : 1; 1075 unsigned MSK2 : 1; 1076 unsigned MSK3 : 1; 1077 unsigned MSK4 : 1; 1078 unsigned MSK5 : 1; 1079 unsigned MSK6 : 1; 1080 unsigned MSK7 : 1; 1081 } __SSP2ADDbits_t; 1082 1083 extern __at(0x0F74) volatile __SSP2ADDbits_t SSP2ADDbits; 1084 1085 #define _SSP2ADD_MSK0 0x01 1086 #define _SSP2ADD_MSK1 0x02 1087 #define _SSP2ADD_MSK2 0x04 1088 #define _SSP2ADD_MSK3 0x08 1089 #define _SSP2ADD_MSK4 0x10 1090 #define _SSP2ADD_MSK5 0x20 1091 #define _SSP2ADD_MSK6 0x40 1092 #define _SSP2ADD_MSK7 0x80 1093 1094 //============================================================================== 1095 1096 1097 //============================================================================== 1098 // SSP2MSK Bits 1099 1100 extern __at(0x0F74) __sfr SSP2MSK; 1101 1102 typedef struct 1103 { 1104 unsigned MSK0 : 1; 1105 unsigned MSK1 : 1; 1106 unsigned MSK2 : 1; 1107 unsigned MSK3 : 1; 1108 unsigned MSK4 : 1; 1109 unsigned MSK5 : 1; 1110 unsigned MSK6 : 1; 1111 unsigned MSK7 : 1; 1112 } __SSP2MSKbits_t; 1113 1114 extern __at(0x0F74) volatile __SSP2MSKbits_t SSP2MSKbits; 1115 1116 #define _SSP2MSK_MSK0 0x01 1117 #define _SSP2MSK_MSK1 0x02 1118 #define _SSP2MSK_MSK2 0x04 1119 #define _SSP2MSK_MSK3 0x08 1120 #define _SSP2MSK_MSK4 0x10 1121 #define _SSP2MSK_MSK5 0x20 1122 #define _SSP2MSK_MSK6 0x40 1123 #define _SSP2MSK_MSK7 0x80 1124 1125 //============================================================================== 1126 1127 extern __at(0x0F75) __sfr SSP2BUF; 1128 1129 //============================================================================== 1130 // T4CON Bits 1131 1132 extern __at(0x0F76) __sfr T4CON; 1133 1134 typedef union 1135 { 1136 struct 1137 { 1138 unsigned T4CKPS0 : 1; 1139 unsigned T4CKPS1 : 1; 1140 unsigned TMR4ON : 1; 1141 unsigned T4OUTPS0 : 1; 1142 unsigned T4OUTPS1 : 1; 1143 unsigned T4OUTPS2 : 1; 1144 unsigned T4OUTPS3 : 1; 1145 unsigned : 1; 1146 }; 1147 1148 struct 1149 { 1150 unsigned T4CKPS : 2; 1151 unsigned : 6; 1152 }; 1153 1154 struct 1155 { 1156 unsigned : 3; 1157 unsigned T4OUTPS : 4; 1158 unsigned : 1; 1159 }; 1160 } __T4CONbits_t; 1161 1162 extern __at(0x0F76) volatile __T4CONbits_t T4CONbits; 1163 1164 #define _T4CKPS0 0x01 1165 #define _T4CKPS1 0x02 1166 #define _TMR4ON 0x04 1167 #define _T4OUTPS0 0x08 1168 #define _T4OUTPS1 0x10 1169 #define _T4OUTPS2 0x20 1170 #define _T4OUTPS3 0x40 1171 1172 //============================================================================== 1173 1174 extern __at(0x0F77) __sfr PR4; 1175 extern __at(0x0F78) __sfr TMR4; 1176 1177 //============================================================================== 1178 // T3CON Bits 1179 1180 extern __at(0x0F79) __sfr T3CON; 1181 1182 typedef union 1183 { 1184 struct 1185 { 1186 unsigned TMR3ON : 1; 1187 unsigned RD16 : 1; 1188 unsigned T3SYNC : 1; 1189 unsigned : 1; 1190 unsigned T3CKPS0 : 1; 1191 unsigned T3CKPS1 : 1; 1192 unsigned TMR3CS0 : 1; 1193 unsigned TMR3CS1 : 1; 1194 }; 1195 1196 struct 1197 { 1198 unsigned : 4; 1199 unsigned T3CKPS : 2; 1200 unsigned : 2; 1201 }; 1202 1203 struct 1204 { 1205 unsigned : 6; 1206 unsigned TMR3CS : 2; 1207 }; 1208 } __T3CONbits_t; 1209 1210 extern __at(0x0F79) volatile __T3CONbits_t T3CONbits; 1211 1212 #define _T3CON_TMR3ON 0x01 1213 #define _T3CON_RD16 0x02 1214 #define _T3CON_T3SYNC 0x04 1215 #define _T3CON_T3CKPS0 0x10 1216 #define _T3CON_T3CKPS1 0x20 1217 #define _T3CON_TMR3CS0 0x40 1218 #define _T3CON_TMR3CS1 0x80 1219 1220 //============================================================================== 1221 1222 extern __at(0x0F7A) __sfr TMR3; 1223 extern __at(0x0F7A) __sfr TMR3L; 1224 extern __at(0x0F7B) __sfr TMR3H; 1225 1226 //============================================================================== 1227 // BAUDCON2 Bits 1228 1229 extern __at(0x0F7C) __sfr BAUDCON2; 1230 1231 typedef struct 1232 { 1233 unsigned ABDEN : 1; 1234 unsigned WUE : 1; 1235 unsigned : 1; 1236 unsigned BRG16 : 1; 1237 unsigned TXCKP : 1; 1238 unsigned RXDTP : 1; 1239 unsigned RCIDL : 1; 1240 unsigned ABDOVF : 1; 1241 } __BAUDCON2bits_t; 1242 1243 extern __at(0x0F7C) volatile __BAUDCON2bits_t BAUDCON2bits; 1244 1245 #define _BAUDCON2_ABDEN 0x01 1246 #define _BAUDCON2_WUE 0x02 1247 #define _BAUDCON2_BRG16 0x08 1248 #define _BAUDCON2_TXCKP 0x10 1249 #define _BAUDCON2_RXDTP 0x20 1250 #define _BAUDCON2_RCIDL 0x40 1251 #define _BAUDCON2_ABDOVF 0x80 1252 1253 //============================================================================== 1254 1255 extern __at(0x0F7D) __sfr SPBRGH2; 1256 1257 //============================================================================== 1258 // BAUDCON Bits 1259 1260 extern __at(0x0F7E) __sfr BAUDCON; 1261 1262 typedef struct 1263 { 1264 unsigned ABDEN : 1; 1265 unsigned WUE : 1; 1266 unsigned : 1; 1267 unsigned BRG16 : 1; 1268 unsigned TXCKP : 1; 1269 unsigned RXDTP : 1; 1270 unsigned RCIDL : 1; 1271 unsigned ABDOVF : 1; 1272 } __BAUDCONbits_t; 1273 1274 extern __at(0x0F7E) volatile __BAUDCONbits_t BAUDCONbits; 1275 1276 #define _ABDEN 0x01 1277 #define _WUE 0x02 1278 #define _BRG16 0x08 1279 #define _TXCKP 0x10 1280 #define _RXDTP 0x20 1281 #define _RCIDL 0x40 1282 #define _ABDOVF 0x80 1283 1284 //============================================================================== 1285 1286 1287 //============================================================================== 1288 // BAUDCON1 Bits 1289 1290 extern __at(0x0F7E) __sfr BAUDCON1; 1291 1292 typedef struct 1293 { 1294 unsigned ABDEN : 1; 1295 unsigned WUE : 1; 1296 unsigned : 1; 1297 unsigned BRG16 : 1; 1298 unsigned TXCKP : 1; 1299 unsigned RXDTP : 1; 1300 unsigned RCIDL : 1; 1301 unsigned ABDOVF : 1; 1302 } __BAUDCON1bits_t; 1303 1304 extern __at(0x0F7E) volatile __BAUDCON1bits_t BAUDCON1bits; 1305 1306 #define _BAUDCON1_ABDEN 0x01 1307 #define _BAUDCON1_WUE 0x02 1308 #define _BAUDCON1_BRG16 0x08 1309 #define _BAUDCON1_TXCKP 0x10 1310 #define _BAUDCON1_RXDTP 0x20 1311 #define _BAUDCON1_RCIDL 0x40 1312 #define _BAUDCON1_ABDOVF 0x80 1313 1314 //============================================================================== 1315 1316 1317 //============================================================================== 1318 // BAUDCTL Bits 1319 1320 extern __at(0x0F7E) __sfr BAUDCTL; 1321 1322 typedef struct 1323 { 1324 unsigned ABDEN : 1; 1325 unsigned WUE : 1; 1326 unsigned : 1; 1327 unsigned BRG16 : 1; 1328 unsigned TXCKP : 1; 1329 unsigned RXDTP : 1; 1330 unsigned RCIDL : 1; 1331 unsigned ABDOVF : 1; 1332 } __BAUDCTLbits_t; 1333 1334 extern __at(0x0F7E) volatile __BAUDCTLbits_t BAUDCTLbits; 1335 1336 #define _BAUDCTL_ABDEN 0x01 1337 #define _BAUDCTL_WUE 0x02 1338 #define _BAUDCTL_BRG16 0x08 1339 #define _BAUDCTL_TXCKP 0x10 1340 #define _BAUDCTL_RXDTP 0x20 1341 #define _BAUDCTL_RCIDL 0x40 1342 #define _BAUDCTL_ABDOVF 0x80 1343 1344 //============================================================================== 1345 1346 extern __at(0x0F7F) __sfr SPBRGH; 1347 extern __at(0x0F7F) __sfr SPBRGH1; 1348 1349 //============================================================================== 1350 // PORTA Bits 1351 1352 extern __at(0x0F80) __sfr PORTA; 1353 1354 typedef union 1355 { 1356 struct 1357 { 1358 unsigned RA0 : 1; 1359 unsigned RA1 : 1; 1360 unsigned RA2 : 1; 1361 unsigned RA3 : 1; 1362 unsigned : 1; 1363 unsigned RA5 : 1; 1364 unsigned RA6 : 1; 1365 unsigned RA7 : 1; 1366 }; 1367 1368 struct 1369 { 1370 unsigned AN0 : 1; 1371 unsigned AN1 : 1; 1372 unsigned AN2 : 1; 1373 unsigned AN3 : 1; 1374 unsigned : 1; 1375 unsigned AN4 : 1; 1376 unsigned OSC2 : 1; 1377 unsigned OSC1 : 1; 1378 }; 1379 1380 struct 1381 { 1382 unsigned C1INA : 1; 1383 unsigned C2INA : 1; 1384 unsigned VREF_MINUS : 1; 1385 unsigned VREF_PLUS : 1; 1386 unsigned : 1; 1387 unsigned NOT_SS1 : 1; 1388 unsigned CLKO : 1; 1389 unsigned CLKI : 1; 1390 }; 1391 1392 struct 1393 { 1394 unsigned PMA6 : 1; 1395 unsigned PMA7 : 1; 1396 unsigned CVREF_MINUS : 1; 1397 unsigned C1INB : 1; 1398 unsigned : 1; 1399 unsigned HLVDIN : 1; 1400 unsigned : 1; 1401 unsigned : 1; 1402 }; 1403 1404 struct 1405 { 1406 unsigned RP0 : 1; 1407 unsigned RP1 : 1; 1408 unsigned C2INB : 1; 1409 unsigned : 1; 1410 unsigned : 1; 1411 unsigned RCV : 1; 1412 unsigned : 1; 1413 unsigned : 1; 1414 }; 1415 1416 struct 1417 { 1418 unsigned ULPWU : 1; 1419 unsigned : 1; 1420 unsigned : 1; 1421 unsigned : 1; 1422 unsigned : 1; 1423 unsigned RP2 : 1; 1424 unsigned : 1; 1425 unsigned : 1; 1426 }; 1427 } __PORTAbits_t; 1428 1429 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits; 1430 1431 #define _RA0 0x01 1432 #define _AN0 0x01 1433 #define _C1INA 0x01 1434 #define _PMA6 0x01 1435 #define _RP0 0x01 1436 #define _ULPWU 0x01 1437 #define _RA1 0x02 1438 #define _AN1 0x02 1439 #define _C2INA 0x02 1440 #define _PMA7 0x02 1441 #define _RP1 0x02 1442 #define _RA2 0x04 1443 #define _AN2 0x04 1444 #define _VREF_MINUS 0x04 1445 #define _CVREF_MINUS 0x04 1446 #define _C2INB 0x04 1447 #define _RA3 0x08 1448 #define _AN3 0x08 1449 #define _VREF_PLUS 0x08 1450 #define _C1INB 0x08 1451 #define _RA5 0x20 1452 #define _AN4 0x20 1453 #define _NOT_SS1 0x20 1454 #define _HLVDIN 0x20 1455 #define _RCV 0x20 1456 #define _RP2 0x20 1457 #define _RA6 0x40 1458 #define _OSC2 0x40 1459 #define _CLKO 0x40 1460 #define _RA7 0x80 1461 #define _OSC1 0x80 1462 #define _CLKI 0x80 1463 1464 //============================================================================== 1465 1466 1467 //============================================================================== 1468 // PORTB Bits 1469 1470 extern __at(0x0F81) __sfr PORTB; 1471 1472 typedef union 1473 { 1474 struct 1475 { 1476 unsigned RB0 : 1; 1477 unsigned RB1 : 1; 1478 unsigned RB2 : 1; 1479 unsigned RB3 : 1; 1480 unsigned RB4 : 1; 1481 unsigned RB5 : 1; 1482 unsigned RB6 : 1; 1483 unsigned RB7 : 1; 1484 }; 1485 1486 struct 1487 { 1488 unsigned AN12 : 1; 1489 unsigned AN10 : 1; 1490 unsigned AN8 : 1; 1491 unsigned AN9 : 1; 1492 unsigned PMA1 : 1; 1493 unsigned PMA0 : 1; 1494 unsigned KBI2 : 1; 1495 unsigned KBI3 : 1; 1496 }; 1497 1498 struct 1499 { 1500 unsigned INT0 : 1; 1501 unsigned PMPBE : 1; 1502 unsigned CTEDG1 : 1; 1503 unsigned CTEDG2 : 1; 1504 unsigned KBI0 : 1; 1505 unsigned KBI1 : 1; 1506 unsigned PGC : 1; 1507 unsigned PGD : 1; 1508 }; 1509 1510 struct 1511 { 1512 unsigned RP3 : 1; 1513 unsigned RTCC : 1; 1514 unsigned PMA3 : 1; 1515 unsigned PMA2 : 1; 1516 unsigned RP7 : 1; 1517 unsigned RP8 : 1; 1518 unsigned RP9 : 1; 1519 unsigned RP10 : 1; 1520 }; 1521 1522 struct 1523 { 1524 unsigned : 1; 1525 unsigned RP4 : 1; 1526 unsigned REFO : 1; 1527 unsigned RP6 : 1; 1528 unsigned : 1; 1529 unsigned : 1; 1530 unsigned : 1; 1531 unsigned : 1; 1532 }; 1533 1534 struct 1535 { 1536 unsigned : 1; 1537 unsigned : 1; 1538 unsigned RP5 : 1; 1539 unsigned : 1; 1540 unsigned : 1; 1541 unsigned : 1; 1542 unsigned : 1; 1543 unsigned : 1; 1544 }; 1545 1546 struct 1547 { 1548 unsigned : 4; 1549 unsigned KBI : 4; 1550 }; 1551 } __PORTBbits_t; 1552 1553 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits; 1554 1555 #define _RB0 0x01 1556 #define _AN12 0x01 1557 #define _INT0 0x01 1558 #define _RP3 0x01 1559 #define _RB1 0x02 1560 #define _AN10 0x02 1561 #define _PMPBE 0x02 1562 #define _RTCC 0x02 1563 #define _RP4 0x02 1564 #define _RB2 0x04 1565 #define _AN8 0x04 1566 #define _CTEDG1 0x04 1567 #define _PMA3 0x04 1568 #define _REFO 0x04 1569 #define _RP5 0x04 1570 #define _RB3 0x08 1571 #define _AN9 0x08 1572 #define _CTEDG2 0x08 1573 #define _PMA2 0x08 1574 #define _RP6 0x08 1575 #define _RB4 0x10 1576 #define _PMA1 0x10 1577 #define _KBI0 0x10 1578 #define _RP7 0x10 1579 #define _RB5 0x20 1580 #define _PMA0 0x20 1581 #define _KBI1 0x20 1582 #define _RP8 0x20 1583 #define _RB6 0x40 1584 #define _KBI2 0x40 1585 #define _PGC 0x40 1586 #define _RP9 0x40 1587 #define _RB7 0x80 1588 #define _KBI3 0x80 1589 #define _PGD 0x80 1590 #define _RP10 0x80 1591 1592 //============================================================================== 1593 1594 1595 //============================================================================== 1596 // PORTC Bits 1597 1598 extern __at(0x0F82) __sfr PORTC; 1599 1600 typedef union 1601 { 1602 struct 1603 { 1604 unsigned RC0 : 1; 1605 unsigned RC1 : 1; 1606 unsigned RC2 : 1; 1607 unsigned RC3 : 1; 1608 unsigned RC4 : 1; 1609 unsigned RC5 : 1; 1610 unsigned RC6 : 1; 1611 unsigned RC7 : 1; 1612 }; 1613 1614 struct 1615 { 1616 unsigned T1OSO : 1; 1617 unsigned T1OSI : 1; 1618 unsigned AN11 : 1; 1619 unsigned SCK1 : 1; 1620 unsigned SDI1 : 1; 1621 unsigned SDO1 : 1; 1622 unsigned PMA5 : 1; 1623 unsigned PMA4 : 1; 1624 }; 1625 1626 struct 1627 { 1628 unsigned T1CKI : 1; 1629 unsigned RP12 : 1; 1630 unsigned CTPLS : 1; 1631 unsigned SCL1 : 1; 1632 unsigned RP15 : 1; 1633 unsigned RP16 : 1; 1634 unsigned TX1 : 1; 1635 unsigned RX1 : 1; 1636 }; 1637 1638 struct 1639 { 1640 unsigned RP11 : 1; 1641 unsigned : 1; 1642 unsigned RP13 : 1; 1643 unsigned RP14 : 1; 1644 unsigned : 1; 1645 unsigned : 1; 1646 unsigned CK1 : 1; 1647 unsigned DT1 : 1; 1648 }; 1649 1650 struct 1651 { 1652 unsigned : 1; 1653 unsigned : 1; 1654 unsigned : 1; 1655 unsigned : 1; 1656 unsigned : 1; 1657 unsigned : 1; 1658 unsigned RP17 : 1; 1659 unsigned RP18 : 1; 1660 }; 1661 } __PORTCbits_t; 1662 1663 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits; 1664 1665 #define _RC0 0x01 1666 #define _T1OSO 0x01 1667 #define _T1CKI 0x01 1668 #define _RP11 0x01 1669 #define _RC1 0x02 1670 #define _T1OSI 0x02 1671 #define _RP12 0x02 1672 #define _RC2 0x04 1673 #define _AN11 0x04 1674 #define _CTPLS 0x04 1675 #define _RP13 0x04 1676 #define _RC3 0x08 1677 #define _SCK1 0x08 1678 #define _SCL1 0x08 1679 #define _RP14 0x08 1680 #define _RC4 0x10 1681 #define _SDI1 0x10 1682 #define _RP15 0x10 1683 #define _RC5 0x20 1684 #define _SDO1 0x20 1685 #define _RP16 0x20 1686 #define _RC6 0x40 1687 #define _PMA5 0x40 1688 #define _TX1 0x40 1689 #define _CK1 0x40 1690 #define _RP17 0x40 1691 #define _RC7 0x80 1692 #define _PMA4 0x80 1693 #define _RX1 0x80 1694 #define _DT1 0x80 1695 #define _RP18 0x80 1696 1697 //============================================================================== 1698 1699 1700 //============================================================================== 1701 // PORTD Bits 1702 1703 extern __at(0x0F83) __sfr PORTD; 1704 1705 typedef union 1706 { 1707 struct 1708 { 1709 unsigned RD0 : 1; 1710 unsigned RD1 : 1; 1711 unsigned RD2 : 1; 1712 unsigned RD3 : 1; 1713 unsigned RD4 : 1; 1714 unsigned RD5 : 1; 1715 unsigned RD6 : 1; 1716 unsigned RD7 : 1; 1717 }; 1718 1719 struct 1720 { 1721 unsigned PMD0 : 1; 1722 unsigned PMD1 : 1; 1723 unsigned PMD2 : 1; 1724 unsigned PMD3 : 1; 1725 unsigned PMD4 : 1; 1726 unsigned PMD5 : 1; 1727 unsigned PMD6 : 1; 1728 unsigned PMD7 : 1; 1729 }; 1730 1731 struct 1732 { 1733 unsigned SCL2 : 1; 1734 unsigned SDA2 : 1; 1735 unsigned RP19 : 1; 1736 unsigned RP20 : 1; 1737 unsigned RP21 : 1; 1738 unsigned RP22 : 1; 1739 unsigned RP23 : 1; 1740 unsigned RP24 : 1; 1741 }; 1742 } __PORTDbits_t; 1743 1744 extern __at(0x0F83) volatile __PORTDbits_t PORTDbits; 1745 1746 #define _RD0 0x01 1747 #define _PMD0 0x01 1748 #define _SCL2 0x01 1749 #define _RD1 0x02 1750 #define _PMD1 0x02 1751 #define _SDA2 0x02 1752 #define _RD2 0x04 1753 #define _PMD2 0x04 1754 #define _RP19 0x04 1755 #define _RD3 0x08 1756 #define _PMD3 0x08 1757 #define _RP20 0x08 1758 #define _RD4 0x10 1759 #define _PMD4 0x10 1760 #define _RP21 0x10 1761 #define _RD5 0x20 1762 #define _PMD5 0x20 1763 #define _RP22 0x20 1764 #define _RD6 0x40 1765 #define _PMD6 0x40 1766 #define _RP23 0x40 1767 #define _RD7 0x80 1768 #define _PMD7 0x80 1769 #define _RP24 0x80 1770 1771 //============================================================================== 1772 1773 1774 //============================================================================== 1775 // PORTE Bits 1776 1777 extern __at(0x0F84) __sfr PORTE; 1778 1779 typedef union 1780 { 1781 struct 1782 { 1783 unsigned RE0 : 1; 1784 unsigned RE1 : 1; 1785 unsigned RE2 : 1; 1786 unsigned : 1; 1787 unsigned : 1; 1788 unsigned : 1; 1789 unsigned REPU : 1; 1790 unsigned RDPU : 1; 1791 }; 1792 1793 struct 1794 { 1795 unsigned AN5 : 1; 1796 unsigned AN6 : 1; 1797 unsigned AN7 : 1; 1798 unsigned : 1; 1799 unsigned : 1; 1800 unsigned : 1; 1801 unsigned : 1; 1802 unsigned : 1; 1803 }; 1804 1805 struct 1806 { 1807 unsigned PMPRD : 1; 1808 unsigned PMPWR : 1; 1809 unsigned PMPCS : 1; 1810 unsigned : 1; 1811 unsigned : 1; 1812 unsigned : 1; 1813 unsigned : 1; 1814 unsigned : 1; 1815 }; 1816 1817 struct 1818 { 1819 unsigned RE : 3; 1820 unsigned : 5; 1821 }; 1822 } __PORTEbits_t; 1823 1824 extern __at(0x0F84) volatile __PORTEbits_t PORTEbits; 1825 1826 #define _RE0 0x01 1827 #define _AN5 0x01 1828 #define _PMPRD 0x01 1829 #define _RE1 0x02 1830 #define _AN6 0x02 1831 #define _PMPWR 0x02 1832 #define _RE2 0x04 1833 #define _AN7 0x04 1834 #define _PMPCS 0x04 1835 #define _REPU 0x40 1836 #define _RDPU 0x80 1837 1838 //============================================================================== 1839 1840 1841 //============================================================================== 1842 // HLVDCON Bits 1843 1844 extern __at(0x0F85) __sfr HLVDCON; 1845 1846 typedef union 1847 { 1848 struct 1849 { 1850 unsigned HLVDL0 : 1; 1851 unsigned HLVDL1 : 1; 1852 unsigned HLVDL2 : 1; 1853 unsigned HLVDL3 : 1; 1854 unsigned HLVDEN : 1; 1855 unsigned IRVST : 1; 1856 unsigned BGVST : 1; 1857 unsigned VDIRMAG : 1; 1858 }; 1859 1860 struct 1861 { 1862 unsigned HLVDL : 4; 1863 unsigned : 4; 1864 }; 1865 } __HLVDCONbits_t; 1866 1867 extern __at(0x0F85) volatile __HLVDCONbits_t HLVDCONbits; 1868 1869 #define _HLVDL0 0x01 1870 #define _HLVDL1 0x02 1871 #define _HLVDL2 0x04 1872 #define _HLVDL3 0x08 1873 #define _HLVDEN 0x10 1874 #define _IRVST 0x20 1875 #define _BGVST 0x40 1876 #define _VDIRMAG 0x80 1877 1878 //============================================================================== 1879 1880 1881 //============================================================================== 1882 // DMACON2 Bits 1883 1884 extern __at(0x0F86) __sfr DMACON2; 1885 1886 typedef union 1887 { 1888 struct 1889 { 1890 unsigned INTLVL0 : 1; 1891 unsigned INTLVL1 : 1; 1892 unsigned INTLVL2 : 1; 1893 unsigned INTLVL3 : 1; 1894 unsigned DLYCYC0 : 1; 1895 unsigned DLYCYC1 : 1; 1896 unsigned DLYCYC2 : 1; 1897 unsigned DLYCYC3 : 1; 1898 }; 1899 1900 struct 1901 { 1902 unsigned INTLVL : 4; 1903 unsigned : 4; 1904 }; 1905 1906 struct 1907 { 1908 unsigned : 4; 1909 unsigned DLYCYC : 4; 1910 }; 1911 } __DMACON2bits_t; 1912 1913 extern __at(0x0F86) volatile __DMACON2bits_t DMACON2bits; 1914 1915 #define _INTLVL0 0x01 1916 #define _INTLVL1 0x02 1917 #define _INTLVL2 0x04 1918 #define _INTLVL3 0x08 1919 #define _DLYCYC0 0x10 1920 #define _DLYCYC1 0x20 1921 #define _DLYCYC2 0x40 1922 #define _DLYCYC3 0x80 1923 1924 //============================================================================== 1925 1926 1927 //============================================================================== 1928 // DMACON1 Bits 1929 1930 extern __at(0x0F88) __sfr DMACON1; 1931 1932 typedef union 1933 { 1934 struct 1935 { 1936 unsigned DMAEN : 1; 1937 unsigned DLYINTEN : 1; 1938 unsigned DUPLEX0 : 1; 1939 unsigned DUPLEX1 : 1; 1940 unsigned RXINC : 1; 1941 unsigned TXINC : 1; 1942 unsigned SSCON0 : 1; 1943 unsigned SSCON1 : 1; 1944 }; 1945 1946 struct 1947 { 1948 unsigned : 2; 1949 unsigned DUPLEX : 2; 1950 unsigned : 4; 1951 }; 1952 1953 struct 1954 { 1955 unsigned : 6; 1956 unsigned SSCON : 2; 1957 }; 1958 } __DMACON1bits_t; 1959 1960 extern __at(0x0F88) volatile __DMACON1bits_t DMACON1bits; 1961 1962 #define _DMAEN 0x01 1963 #define _DLYINTEN 0x02 1964 #define _DUPLEX0 0x04 1965 #define _DUPLEX1 0x08 1966 #define _RXINC 0x10 1967 #define _TXINC 0x20 1968 #define _SSCON0 0x40 1969 #define _SSCON1 0x80 1970 1971 //============================================================================== 1972 1973 1974 //============================================================================== 1975 // LATA Bits 1976 1977 extern __at(0x0F89) __sfr LATA; 1978 1979 typedef struct 1980 { 1981 unsigned LATA0 : 1; 1982 unsigned LATA1 : 1; 1983 unsigned LATA2 : 1; 1984 unsigned LATA3 : 1; 1985 unsigned : 1; 1986 unsigned LATA5 : 1; 1987 unsigned LATA6 : 1; 1988 unsigned LATA7 : 1; 1989 } __LATAbits_t; 1990 1991 extern __at(0x0F89) volatile __LATAbits_t LATAbits; 1992 1993 #define _LATA0 0x01 1994 #define _LATA1 0x02 1995 #define _LATA2 0x04 1996 #define _LATA3 0x08 1997 #define _LATA5 0x20 1998 #define _LATA6 0x40 1999 #define _LATA7 0x80 2000 2001 //============================================================================== 2002 2003 2004 //============================================================================== 2005 // LATB Bits 2006 2007 extern __at(0x0F8A) __sfr LATB; 2008 2009 typedef struct 2010 { 2011 unsigned LATB0 : 1; 2012 unsigned LATB1 : 1; 2013 unsigned LATB2 : 1; 2014 unsigned LATB3 : 1; 2015 unsigned LATB4 : 1; 2016 unsigned LATB5 : 1; 2017 unsigned LATB6 : 1; 2018 unsigned LATB7 : 1; 2019 } __LATBbits_t; 2020 2021 extern __at(0x0F8A) volatile __LATBbits_t LATBbits; 2022 2023 #define _LATB0 0x01 2024 #define _LATB1 0x02 2025 #define _LATB2 0x04 2026 #define _LATB3 0x08 2027 #define _LATB4 0x10 2028 #define _LATB5 0x20 2029 #define _LATB6 0x40 2030 #define _LATB7 0x80 2031 2032 //============================================================================== 2033 2034 2035 //============================================================================== 2036 // LATC Bits 2037 2038 extern __at(0x0F8B) __sfr LATC; 2039 2040 typedef struct 2041 { 2042 unsigned LATC0 : 1; 2043 unsigned LATC1 : 1; 2044 unsigned LATC2 : 1; 2045 unsigned LATC3 : 1; 2046 unsigned LATC4 : 1; 2047 unsigned LATC5 : 1; 2048 unsigned LATC6 : 1; 2049 unsigned LATC7 : 1; 2050 } __LATCbits_t; 2051 2052 extern __at(0x0F8B) volatile __LATCbits_t LATCbits; 2053 2054 #define _LATC0 0x01 2055 #define _LATC1 0x02 2056 #define _LATC2 0x04 2057 #define _LATC3 0x08 2058 #define _LATC4 0x10 2059 #define _LATC5 0x20 2060 #define _LATC6 0x40 2061 #define _LATC7 0x80 2062 2063 //============================================================================== 2064 2065 2066 //============================================================================== 2067 // LATD Bits 2068 2069 extern __at(0x0F8C) __sfr LATD; 2070 2071 typedef struct 2072 { 2073 unsigned LATD0 : 1; 2074 unsigned LATD1 : 1; 2075 unsigned LATD2 : 1; 2076 unsigned LATD3 : 1; 2077 unsigned LATD4 : 1; 2078 unsigned LATD5 : 1; 2079 unsigned LATD6 : 1; 2080 unsigned LATD7 : 1; 2081 } __LATDbits_t; 2082 2083 extern __at(0x0F8C) volatile __LATDbits_t LATDbits; 2084 2085 #define _LATD0 0x01 2086 #define _LATD1 0x02 2087 #define _LATD2 0x04 2088 #define _LATD3 0x08 2089 #define _LATD4 0x10 2090 #define _LATD5 0x20 2091 #define _LATD6 0x40 2092 #define _LATD7 0x80 2093 2094 //============================================================================== 2095 2096 2097 //============================================================================== 2098 // LATE Bits 2099 2100 extern __at(0x0F8D) __sfr LATE; 2101 2102 typedef union 2103 { 2104 struct 2105 { 2106 unsigned LATE0 : 1; 2107 unsigned LATE1 : 1; 2108 unsigned LATE2 : 1; 2109 unsigned : 1; 2110 unsigned : 1; 2111 unsigned : 1; 2112 unsigned : 1; 2113 unsigned : 1; 2114 }; 2115 2116 struct 2117 { 2118 unsigned LATE : 3; 2119 unsigned : 5; 2120 }; 2121 } __LATEbits_t; 2122 2123 extern __at(0x0F8D) volatile __LATEbits_t LATEbits; 2124 2125 #define _LATE0 0x01 2126 #define _LATE1 0x02 2127 #define _LATE2 0x04 2128 2129 //============================================================================== 2130 2131 extern __at(0x0F8E) __sfr ALRMVALL; 2132 extern __at(0x0F8F) __sfr ALRMVALH; 2133 2134 //============================================================================== 2135 // ALRMRPT Bits 2136 2137 extern __at(0x0F90) __sfr ALRMRPT; 2138 2139 typedef struct 2140 { 2141 unsigned ARPT0 : 1; 2142 unsigned ARPT1 : 1; 2143 unsigned ARPT2 : 1; 2144 unsigned ARPT3 : 1; 2145 unsigned ARPT4 : 1; 2146 unsigned ARPT5 : 1; 2147 unsigned ARPT6 : 1; 2148 unsigned ARPT7 : 1; 2149 } __ALRMRPTbits_t; 2150 2151 extern __at(0x0F90) volatile __ALRMRPTbits_t ALRMRPTbits; 2152 2153 #define _ARPT0 0x01 2154 #define _ARPT1 0x02 2155 #define _ARPT2 0x04 2156 #define _ARPT3 0x08 2157 #define _ARPT4 0x10 2158 #define _ARPT5 0x20 2159 #define _ARPT6 0x40 2160 #define _ARPT7 0x80 2161 2162 //============================================================================== 2163 2164 2165 //============================================================================== 2166 // ALRMCFG Bits 2167 2168 extern __at(0x0F91) __sfr ALRMCFG; 2169 2170 typedef union 2171 { 2172 struct 2173 { 2174 unsigned ALRMPTR0 : 1; 2175 unsigned ALRMPTR1 : 1; 2176 unsigned AMASK0 : 1; 2177 unsigned AMASK1 : 1; 2178 unsigned AMASK2 : 1; 2179 unsigned AMASK3 : 1; 2180 unsigned CHIME : 1; 2181 unsigned ALRMEN : 1; 2182 }; 2183 2184 struct 2185 { 2186 unsigned ALRMPTR : 2; 2187 unsigned : 6; 2188 }; 2189 2190 struct 2191 { 2192 unsigned : 2; 2193 unsigned AMASK : 4; 2194 unsigned : 2; 2195 }; 2196 } __ALRMCFGbits_t; 2197 2198 extern __at(0x0F91) volatile __ALRMCFGbits_t ALRMCFGbits; 2199 2200 #define _ALRMPTR0 0x01 2201 #define _ALRMPTR1 0x02 2202 #define _AMASK0 0x04 2203 #define _AMASK1 0x08 2204 #define _AMASK2 0x10 2205 #define _AMASK3 0x20 2206 #define _CHIME 0x40 2207 #define _ALRMEN 0x80 2208 2209 //============================================================================== 2210 2211 2212 //============================================================================== 2213 // TRISA Bits 2214 2215 extern __at(0x0F92) __sfr TRISA; 2216 2217 typedef struct 2218 { 2219 unsigned TRISA0 : 1; 2220 unsigned TRISA1 : 1; 2221 unsigned TRISA2 : 1; 2222 unsigned TRISA3 : 1; 2223 unsigned : 1; 2224 unsigned TRISA5 : 1; 2225 unsigned TRISA6 : 1; 2226 unsigned TRISA7 : 1; 2227 } __TRISAbits_t; 2228 2229 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits; 2230 2231 #define _TRISA0 0x01 2232 #define _TRISA1 0x02 2233 #define _TRISA2 0x04 2234 #define _TRISA3 0x08 2235 #define _TRISA5 0x20 2236 #define _TRISA6 0x40 2237 #define _TRISA7 0x80 2238 2239 //============================================================================== 2240 2241 2242 //============================================================================== 2243 // TRISB Bits 2244 2245 extern __at(0x0F93) __sfr TRISB; 2246 2247 typedef struct 2248 { 2249 unsigned TRISB0 : 1; 2250 unsigned TRISB1 : 1; 2251 unsigned TRISB2 : 1; 2252 unsigned TRISB3 : 1; 2253 unsigned TRISB4 : 1; 2254 unsigned TRISB5 : 1; 2255 unsigned TRISB6 : 1; 2256 unsigned TRISB7 : 1; 2257 } __TRISBbits_t; 2258 2259 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits; 2260 2261 #define _TRISB0 0x01 2262 #define _TRISB1 0x02 2263 #define _TRISB2 0x04 2264 #define _TRISB3 0x08 2265 #define _TRISB4 0x10 2266 #define _TRISB5 0x20 2267 #define _TRISB6 0x40 2268 #define _TRISB7 0x80 2269 2270 //============================================================================== 2271 2272 2273 //============================================================================== 2274 // TRISC Bits 2275 2276 extern __at(0x0F94) __sfr TRISC; 2277 2278 typedef struct 2279 { 2280 unsigned TRISC0 : 1; 2281 unsigned TRISC1 : 1; 2282 unsigned TRISC2 : 1; 2283 unsigned TRISC3 : 1; 2284 unsigned TRISC4 : 1; 2285 unsigned TRISC5 : 1; 2286 unsigned TRISC6 : 1; 2287 unsigned TRISC7 : 1; 2288 } __TRISCbits_t; 2289 2290 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits; 2291 2292 #define _TRISC0 0x01 2293 #define _TRISC1 0x02 2294 #define _TRISC2 0x04 2295 #define _TRISC3 0x08 2296 #define _TRISC4 0x10 2297 #define _TRISC5 0x20 2298 #define _TRISC6 0x40 2299 #define _TRISC7 0x80 2300 2301 //============================================================================== 2302 2303 2304 //============================================================================== 2305 // TRISD Bits 2306 2307 extern __at(0x0F95) __sfr TRISD; 2308 2309 typedef struct 2310 { 2311 unsigned TRISD0 : 1; 2312 unsigned TRISD1 : 1; 2313 unsigned TRISD2 : 1; 2314 unsigned TRISD3 : 1; 2315 unsigned TRISD4 : 1; 2316 unsigned TRISD5 : 1; 2317 unsigned TRISD6 : 1; 2318 unsigned TRISD7 : 1; 2319 } __TRISDbits_t; 2320 2321 extern __at(0x0F95) volatile __TRISDbits_t TRISDbits; 2322 2323 #define _TRISD0 0x01 2324 #define _TRISD1 0x02 2325 #define _TRISD2 0x04 2326 #define _TRISD3 0x08 2327 #define _TRISD4 0x10 2328 #define _TRISD5 0x20 2329 #define _TRISD6 0x40 2330 #define _TRISD7 0x80 2331 2332 //============================================================================== 2333 2334 2335 //============================================================================== 2336 // TRISE Bits 2337 2338 extern __at(0x0F96) __sfr TRISE; 2339 2340 typedef union 2341 { 2342 struct 2343 { 2344 unsigned TRISE0 : 1; 2345 unsigned TRISE1 : 1; 2346 unsigned TRISE2 : 1; 2347 unsigned : 1; 2348 unsigned : 1; 2349 unsigned : 1; 2350 unsigned : 1; 2351 unsigned : 1; 2352 }; 2353 2354 struct 2355 { 2356 unsigned TRISE : 3; 2357 unsigned : 5; 2358 }; 2359 } __TRISEbits_t; 2360 2361 extern __at(0x0F96) volatile __TRISEbits_t TRISEbits; 2362 2363 #define _TRISE0 0x01 2364 #define _TRISE1 0x02 2365 #define _TRISE2 0x04 2366 2367 //============================================================================== 2368 2369 2370 //============================================================================== 2371 // T3GCON Bits 2372 2373 extern __at(0x0F97) __sfr T3GCON; 2374 2375 typedef union 2376 { 2377 struct 2378 { 2379 unsigned T3GSS0 : 1; 2380 unsigned T3GSS1 : 1; 2381 unsigned T3GVAL : 1; 2382 unsigned T3GGO_T3DONE : 1; 2383 unsigned T3GSPM : 1; 2384 unsigned T3GTM : 1; 2385 unsigned T3GPOL : 1; 2386 unsigned TMR3GE : 1; 2387 }; 2388 2389 struct 2390 { 2391 unsigned : 1; 2392 unsigned : 1; 2393 unsigned : 1; 2394 unsigned T3GGO : 1; 2395 unsigned : 1; 2396 unsigned : 1; 2397 unsigned : 1; 2398 unsigned : 1; 2399 }; 2400 2401 struct 2402 { 2403 unsigned : 1; 2404 unsigned : 1; 2405 unsigned : 1; 2406 unsigned T3DONE : 1; 2407 unsigned : 1; 2408 unsigned : 1; 2409 unsigned : 1; 2410 unsigned : 1; 2411 }; 2412 2413 struct 2414 { 2415 unsigned T3GSS : 2; 2416 unsigned : 6; 2417 }; 2418 } __T3GCONbits_t; 2419 2420 extern __at(0x0F97) volatile __T3GCONbits_t T3GCONbits; 2421 2422 #define _T3GSS0 0x01 2423 #define _T3GSS1 0x02 2424 #define _T3GVAL 0x04 2425 #define _T3GGO_T3DONE 0x08 2426 #define _T3GGO 0x08 2427 #define _T3DONE 0x08 2428 #define _T3GSPM 0x10 2429 #define _T3GTM 0x20 2430 #define _T3GPOL 0x40 2431 #define _TMR3GE 0x80 2432 2433 //============================================================================== 2434 2435 extern __at(0x0F98) __sfr RTCVALL; 2436 extern __at(0x0F99) __sfr RTCVALH; 2437 2438 //============================================================================== 2439 // T1GCON Bits 2440 2441 extern __at(0x0F9A) __sfr T1GCON; 2442 2443 typedef union 2444 { 2445 struct 2446 { 2447 unsigned T1GSS0 : 1; 2448 unsigned T1GSS1 : 1; 2449 unsigned T1GVAL : 1; 2450 unsigned T1GGO_T1DONE : 1; 2451 unsigned T1GSPM : 1; 2452 unsigned T1GTM : 1; 2453 unsigned T1GPOL : 1; 2454 unsigned TMR1GE : 1; 2455 }; 2456 2457 struct 2458 { 2459 unsigned : 1; 2460 unsigned : 1; 2461 unsigned : 1; 2462 unsigned T1GGO : 1; 2463 unsigned : 1; 2464 unsigned : 1; 2465 unsigned : 1; 2466 unsigned : 1; 2467 }; 2468 2469 struct 2470 { 2471 unsigned : 1; 2472 unsigned : 1; 2473 unsigned : 1; 2474 unsigned T1DONE : 1; 2475 unsigned : 1; 2476 unsigned : 1; 2477 unsigned : 1; 2478 unsigned : 1; 2479 }; 2480 2481 struct 2482 { 2483 unsigned T1GSS : 2; 2484 unsigned : 6; 2485 }; 2486 } __T1GCONbits_t; 2487 2488 extern __at(0x0F9A) volatile __T1GCONbits_t T1GCONbits; 2489 2490 #define _T1GSS0 0x01 2491 #define _T1GSS1 0x02 2492 #define _T1GVAL 0x04 2493 #define _T1GGO_T1DONE 0x08 2494 #define _T1GGO 0x08 2495 #define _T1DONE 0x08 2496 #define _T1GSPM 0x10 2497 #define _T1GTM 0x20 2498 #define _T1GPOL 0x40 2499 #define _TMR1GE 0x80 2500 2501 //============================================================================== 2502 2503 2504 //============================================================================== 2505 // OSCTUNE Bits 2506 2507 extern __at(0x0F9B) __sfr OSCTUNE; 2508 2509 typedef union 2510 { 2511 struct 2512 { 2513 unsigned TUN0 : 1; 2514 unsigned TUN1 : 1; 2515 unsigned TUN2 : 1; 2516 unsigned TUN3 : 1; 2517 unsigned TUN4 : 1; 2518 unsigned TUN5 : 1; 2519 unsigned PLLEN : 1; 2520 unsigned INTSRC : 1; 2521 }; 2522 2523 struct 2524 { 2525 unsigned TUN : 6; 2526 unsigned : 2; 2527 }; 2528 } __OSCTUNEbits_t; 2529 2530 extern __at(0x0F9B) volatile __OSCTUNEbits_t OSCTUNEbits; 2531 2532 #define _TUN0 0x01 2533 #define _TUN1 0x02 2534 #define _TUN2 0x04 2535 #define _TUN3 0x08 2536 #define _TUN4 0x10 2537 #define _TUN5 0x20 2538 #define _PLLEN 0x40 2539 #define _INTSRC 0x80 2540 2541 //============================================================================== 2542 2543 2544 //============================================================================== 2545 // RCSTA2 Bits 2546 2547 extern __at(0x0F9C) __sfr RCSTA2; 2548 2549 typedef union 2550 { 2551 struct 2552 { 2553 unsigned RX9D : 1; 2554 unsigned OERR : 1; 2555 unsigned FERR : 1; 2556 unsigned ADDEN : 1; 2557 unsigned CREN : 1; 2558 unsigned SREN : 1; 2559 unsigned RX9 : 1; 2560 unsigned SPEN : 1; 2561 }; 2562 2563 struct 2564 { 2565 unsigned RX9D2 : 1; 2566 unsigned OERR2 : 1; 2567 unsigned FERR2 : 1; 2568 unsigned ADDEN2 : 1; 2569 unsigned CREN2 : 1; 2570 unsigned SREN2 : 1; 2571 unsigned RX92 : 1; 2572 unsigned SPEN2 : 1; 2573 }; 2574 } __RCSTA2bits_t; 2575 2576 extern __at(0x0F9C) volatile __RCSTA2bits_t RCSTA2bits; 2577 2578 #define _RCSTA2_RX9D 0x01 2579 #define _RCSTA2_RX9D2 0x01 2580 #define _RCSTA2_OERR 0x02 2581 #define _RCSTA2_OERR2 0x02 2582 #define _RCSTA2_FERR 0x04 2583 #define _RCSTA2_FERR2 0x04 2584 #define _RCSTA2_ADDEN 0x08 2585 #define _RCSTA2_ADDEN2 0x08 2586 #define _RCSTA2_CREN 0x10 2587 #define _RCSTA2_CREN2 0x10 2588 #define _RCSTA2_SREN 0x20 2589 #define _RCSTA2_SREN2 0x20 2590 #define _RCSTA2_RX9 0x40 2591 #define _RCSTA2_RX92 0x40 2592 #define _RCSTA2_SPEN 0x80 2593 #define _RCSTA2_SPEN2 0x80 2594 2595 //============================================================================== 2596 2597 2598 //============================================================================== 2599 // PIE1 Bits 2600 2601 extern __at(0x0F9D) __sfr PIE1; 2602 2603 typedef union 2604 { 2605 struct 2606 { 2607 unsigned TMR1IE : 1; 2608 unsigned TMR2IE : 1; 2609 unsigned CCP1IE : 1; 2610 unsigned SSP1IE : 1; 2611 unsigned TX1IE : 1; 2612 unsigned RC1IE : 1; 2613 unsigned ADIE : 1; 2614 unsigned PMPIE : 1; 2615 }; 2616 2617 struct 2618 { 2619 unsigned : 1; 2620 unsigned : 1; 2621 unsigned : 1; 2622 unsigned SSPIE : 1; 2623 unsigned TXIE : 1; 2624 unsigned RCIE : 1; 2625 unsigned : 1; 2626 unsigned : 1; 2627 }; 2628 } __PIE1bits_t; 2629 2630 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits; 2631 2632 #define _TMR1IE 0x01 2633 #define _TMR2IE 0x02 2634 #define _CCP1IE 0x04 2635 #define _SSP1IE 0x08 2636 #define _SSPIE 0x08 2637 #define _TX1IE 0x10 2638 #define _TXIE 0x10 2639 #define _RC1IE 0x20 2640 #define _RCIE 0x20 2641 #define _ADIE 0x40 2642 #define _PMPIE 0x80 2643 2644 //============================================================================== 2645 2646 2647 //============================================================================== 2648 // PIR1 Bits 2649 2650 extern __at(0x0F9E) __sfr PIR1; 2651 2652 typedef union 2653 { 2654 struct 2655 { 2656 unsigned TMR1IF : 1; 2657 unsigned TMR2IF : 1; 2658 unsigned CCP1IF : 1; 2659 unsigned SSP1IF : 1; 2660 unsigned TX1IF : 1; 2661 unsigned RC1IF : 1; 2662 unsigned ADIF : 1; 2663 unsigned PMPIF : 1; 2664 }; 2665 2666 struct 2667 { 2668 unsigned : 1; 2669 unsigned : 1; 2670 unsigned : 1; 2671 unsigned SSPIF : 1; 2672 unsigned TXIF : 1; 2673 unsigned RCIF : 1; 2674 unsigned : 1; 2675 unsigned : 1; 2676 }; 2677 } __PIR1bits_t; 2678 2679 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits; 2680 2681 #define _TMR1IF 0x01 2682 #define _TMR2IF 0x02 2683 #define _CCP1IF 0x04 2684 #define _SSP1IF 0x08 2685 #define _SSPIF 0x08 2686 #define _TX1IF 0x10 2687 #define _TXIF 0x10 2688 #define _RC1IF 0x20 2689 #define _RCIF 0x20 2690 #define _ADIF 0x40 2691 #define _PMPIF 0x80 2692 2693 //============================================================================== 2694 2695 2696 //============================================================================== 2697 // IPR1 Bits 2698 2699 extern __at(0x0F9F) __sfr IPR1; 2700 2701 typedef union 2702 { 2703 struct 2704 { 2705 unsigned TMR1IP : 1; 2706 unsigned TMR2IP : 1; 2707 unsigned CCP1IP : 1; 2708 unsigned SSP1IP : 1; 2709 unsigned TX1IP : 1; 2710 unsigned RC1IP : 1; 2711 unsigned ADIP : 1; 2712 unsigned PMPIP : 1; 2713 }; 2714 2715 struct 2716 { 2717 unsigned : 1; 2718 unsigned : 1; 2719 unsigned : 1; 2720 unsigned SSPIP : 1; 2721 unsigned TXIP : 1; 2722 unsigned RCIP : 1; 2723 unsigned : 1; 2724 unsigned : 1; 2725 }; 2726 } __IPR1bits_t; 2727 2728 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits; 2729 2730 #define _TMR1IP 0x01 2731 #define _TMR2IP 0x02 2732 #define _CCP1IP 0x04 2733 #define _SSP1IP 0x08 2734 #define _SSPIP 0x08 2735 #define _TX1IP 0x10 2736 #define _TXIP 0x10 2737 #define _RC1IP 0x20 2738 #define _RCIP 0x20 2739 #define _ADIP 0x40 2740 #define _PMPIP 0x80 2741 2742 //============================================================================== 2743 2744 2745 //============================================================================== 2746 // PIE2 Bits 2747 2748 extern __at(0x0FA0) __sfr PIE2; 2749 2750 typedef union 2751 { 2752 struct 2753 { 2754 unsigned CCP2IE : 1; 2755 unsigned TMR3IE : 1; 2756 unsigned LVDIE : 1; 2757 unsigned BCL1IE : 1; 2758 unsigned : 1; 2759 unsigned CM1IE : 1; 2760 unsigned CM2IE : 1; 2761 unsigned OSCFIE : 1; 2762 }; 2763 2764 struct 2765 { 2766 unsigned : 1; 2767 unsigned : 1; 2768 unsigned : 1; 2769 unsigned BCLIE : 1; 2770 unsigned : 1; 2771 unsigned : 1; 2772 unsigned : 1; 2773 unsigned : 1; 2774 }; 2775 } __PIE2bits_t; 2776 2777 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits; 2778 2779 #define _CCP2IE 0x01 2780 #define _TMR3IE 0x02 2781 #define _LVDIE 0x04 2782 #define _BCL1IE 0x08 2783 #define _BCLIE 0x08 2784 #define _CM1IE 0x20 2785 #define _CM2IE 0x40 2786 #define _OSCFIE 0x80 2787 2788 //============================================================================== 2789 2790 2791 //============================================================================== 2792 // PIR2 Bits 2793 2794 extern __at(0x0FA1) __sfr PIR2; 2795 2796 typedef union 2797 { 2798 struct 2799 { 2800 unsigned CCP2IF : 1; 2801 unsigned TMR3IF : 1; 2802 unsigned LVDIF : 1; 2803 unsigned BCL1IF : 1; 2804 unsigned : 1; 2805 unsigned CM1IF : 1; 2806 unsigned CM2IF : 1; 2807 unsigned OSCFIF : 1; 2808 }; 2809 2810 struct 2811 { 2812 unsigned : 1; 2813 unsigned : 1; 2814 unsigned : 1; 2815 unsigned BCLIF : 1; 2816 unsigned : 1; 2817 unsigned : 1; 2818 unsigned : 1; 2819 unsigned : 1; 2820 }; 2821 } __PIR2bits_t; 2822 2823 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits; 2824 2825 #define _CCP2IF 0x01 2826 #define _TMR3IF 0x02 2827 #define _LVDIF 0x04 2828 #define _BCL1IF 0x08 2829 #define _BCLIF 0x08 2830 #define _CM1IF 0x20 2831 #define _CM2IF 0x40 2832 #define _OSCFIF 0x80 2833 2834 //============================================================================== 2835 2836 2837 //============================================================================== 2838 // IPR2 Bits 2839 2840 extern __at(0x0FA2) __sfr IPR2; 2841 2842 typedef union 2843 { 2844 struct 2845 { 2846 unsigned CCP2IP : 1; 2847 unsigned TMR3IP : 1; 2848 unsigned LVDIP : 1; 2849 unsigned BCL1IP : 1; 2850 unsigned : 1; 2851 unsigned CM1IP : 1; 2852 unsigned CM2IP : 1; 2853 unsigned OSCFIP : 1; 2854 }; 2855 2856 struct 2857 { 2858 unsigned : 1; 2859 unsigned : 1; 2860 unsigned : 1; 2861 unsigned BCLIP : 1; 2862 unsigned : 1; 2863 unsigned : 1; 2864 unsigned : 1; 2865 unsigned : 1; 2866 }; 2867 } __IPR2bits_t; 2868 2869 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits; 2870 2871 #define _CCP2IP 0x01 2872 #define _TMR3IP 0x02 2873 #define _LVDIP 0x04 2874 #define _BCL1IP 0x08 2875 #define _BCLIP 0x08 2876 #define _CM1IP 0x20 2877 #define _CM2IP 0x40 2878 #define _OSCFIP 0x80 2879 2880 //============================================================================== 2881 2882 2883 //============================================================================== 2884 // PIE3 Bits 2885 2886 extern __at(0x0FA3) __sfr PIE3; 2887 2888 typedef struct 2889 { 2890 unsigned RTCCIE : 1; 2891 unsigned TMR3GIE : 1; 2892 unsigned CTMUIE : 1; 2893 unsigned TMR4IE : 1; 2894 unsigned TX2IE : 1; 2895 unsigned RC2IE : 1; 2896 unsigned BCL2IE : 1; 2897 unsigned SSP2IE : 1; 2898 } __PIE3bits_t; 2899 2900 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits; 2901 2902 #define _RTCCIE 0x01 2903 #define _TMR3GIE 0x02 2904 #define _CTMUIE 0x04 2905 #define _TMR4IE 0x08 2906 #define _TX2IE 0x10 2907 #define _RC2IE 0x20 2908 #define _BCL2IE 0x40 2909 #define _SSP2IE 0x80 2910 2911 //============================================================================== 2912 2913 2914 //============================================================================== 2915 // PIR3 Bits 2916 2917 extern __at(0x0FA4) __sfr PIR3; 2918 2919 typedef struct 2920 { 2921 unsigned RTCCIF : 1; 2922 unsigned TMR3GIF : 1; 2923 unsigned CTMUIF : 1; 2924 unsigned TMR4IF : 1; 2925 unsigned TX2IF : 1; 2926 unsigned RC2IF : 1; 2927 unsigned BCL2IF : 1; 2928 unsigned SSP2IF : 1; 2929 } __PIR3bits_t; 2930 2931 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits; 2932 2933 #define _RTCCIF 0x01 2934 #define _TMR3GIF 0x02 2935 #define _CTMUIF 0x04 2936 #define _TMR4IF 0x08 2937 #define _TX2IF 0x10 2938 #define _RC2IF 0x20 2939 #define _BCL2IF 0x40 2940 #define _SSP2IF 0x80 2941 2942 //============================================================================== 2943 2944 2945 //============================================================================== 2946 // IPR3 Bits 2947 2948 extern __at(0x0FA5) __sfr IPR3; 2949 2950 typedef struct 2951 { 2952 unsigned RTCCIP : 1; 2953 unsigned TMR3GIP : 1; 2954 unsigned CTMUIP : 1; 2955 unsigned TMR4IP : 1; 2956 unsigned TX2IP : 1; 2957 unsigned RC2IP : 1; 2958 unsigned BCL2IP : 1; 2959 unsigned SSP2IP : 1; 2960 } __IPR3bits_t; 2961 2962 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits; 2963 2964 #define _RTCCIP 0x01 2965 #define _TMR3GIP 0x02 2966 #define _CTMUIP 0x04 2967 #define _TMR4IP 0x08 2968 #define _TX2IP 0x10 2969 #define _RC2IP 0x20 2970 #define _BCL2IP 0x40 2971 #define _SSP2IP 0x80 2972 2973 //============================================================================== 2974 2975 2976 //============================================================================== 2977 // EECON1 Bits 2978 2979 extern __at(0x0FA6) __sfr EECON1; 2980 2981 typedef struct 2982 { 2983 unsigned : 1; 2984 unsigned WR : 1; 2985 unsigned WREN : 1; 2986 unsigned WRERR : 1; 2987 unsigned FREE : 1; 2988 unsigned WPROG : 1; 2989 unsigned : 1; 2990 unsigned : 1; 2991 } __EECON1bits_t; 2992 2993 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits; 2994 2995 #define _WR 0x02 2996 #define _WREN 0x04 2997 #define _WRERR 0x08 2998 #define _FREE 0x10 2999 #define _WPROG 0x20 3000 3001 //============================================================================== 3002 3003 extern __at(0x0FA7) __sfr EECON2; 3004 3005 //============================================================================== 3006 // TXSTA2 Bits 3007 3008 extern __at(0x0FA8) __sfr TXSTA2; 3009 3010 typedef union 3011 { 3012 struct 3013 { 3014 unsigned TX9D : 1; 3015 unsigned TRMT : 1; 3016 unsigned BRGH : 1; 3017 unsigned SENDB : 1; 3018 unsigned SYNC : 1; 3019 unsigned TXEN : 1; 3020 unsigned TX9 : 1; 3021 unsigned CSRC : 1; 3022 }; 3023 3024 struct 3025 { 3026 unsigned TX9D2 : 1; 3027 unsigned TRMT2 : 1; 3028 unsigned BRGH2 : 1; 3029 unsigned SENDB2 : 1; 3030 unsigned SYNC2 : 1; 3031 unsigned TXEN2 : 1; 3032 unsigned TX92 : 1; 3033 unsigned CSRC2 : 1; 3034 }; 3035 } __TXSTA2bits_t; 3036 3037 extern __at(0x0FA8) volatile __TXSTA2bits_t TXSTA2bits; 3038 3039 #define _TXSTA2_TX9D 0x01 3040 #define _TXSTA2_TX9D2 0x01 3041 #define _TXSTA2_TRMT 0x02 3042 #define _TXSTA2_TRMT2 0x02 3043 #define _TXSTA2_BRGH 0x04 3044 #define _TXSTA2_BRGH2 0x04 3045 #define _TXSTA2_SENDB 0x08 3046 #define _TXSTA2_SENDB2 0x08 3047 #define _TXSTA2_SYNC 0x10 3048 #define _TXSTA2_SYNC2 0x10 3049 #define _TXSTA2_TXEN 0x20 3050 #define _TXSTA2_TXEN2 0x20 3051 #define _TXSTA2_TX9 0x40 3052 #define _TXSTA2_TX92 0x40 3053 #define _TXSTA2_CSRC 0x80 3054 #define _TXSTA2_CSRC2 0x80 3055 3056 //============================================================================== 3057 3058 extern __at(0x0FA9) __sfr TXREG2; 3059 extern __at(0x0FAA) __sfr RCREG2; 3060 extern __at(0x0FAB) __sfr SPBRG2; 3061 3062 //============================================================================== 3063 // RCSTA Bits 3064 3065 extern __at(0x0FAC) __sfr RCSTA; 3066 3067 typedef union 3068 { 3069 struct 3070 { 3071 unsigned RX9D : 1; 3072 unsigned OERR : 1; 3073 unsigned FERR : 1; 3074 unsigned ADDEN : 1; 3075 unsigned CREN : 1; 3076 unsigned SREN : 1; 3077 unsigned RX9 : 1; 3078 unsigned SPEN : 1; 3079 }; 3080 3081 struct 3082 { 3083 unsigned RCD8 : 1; 3084 unsigned OERR1 : 1; 3085 unsigned FERR1 : 1; 3086 unsigned ADEN : 1; 3087 unsigned CREN1 : 1; 3088 unsigned SREN1 : 1; 3089 unsigned RC9 : 1; 3090 unsigned SPEN1 : 1; 3091 }; 3092 3093 struct 3094 { 3095 unsigned RX9D1 : 1; 3096 unsigned : 1; 3097 unsigned : 1; 3098 unsigned ADDEN1 : 1; 3099 unsigned : 1; 3100 unsigned : 1; 3101 unsigned NOT_RC8 : 1; 3102 unsigned : 1; 3103 }; 3104 3105 struct 3106 { 3107 unsigned : 1; 3108 unsigned : 1; 3109 unsigned : 1; 3110 unsigned : 1; 3111 unsigned : 1; 3112 unsigned : 1; 3113 unsigned RC8_9 : 1; 3114 unsigned : 1; 3115 }; 3116 3117 struct 3118 { 3119 unsigned : 1; 3120 unsigned : 1; 3121 unsigned : 1; 3122 unsigned : 1; 3123 unsigned : 1; 3124 unsigned : 1; 3125 unsigned RX91 : 1; 3126 unsigned : 1; 3127 }; 3128 } __RCSTAbits_t; 3129 3130 extern __at(0x0FAC) volatile __RCSTAbits_t RCSTAbits; 3131 3132 #define _RX9D 0x01 3133 #define _RCD8 0x01 3134 #define _RX9D1 0x01 3135 #define _OERR 0x02 3136 #define _OERR1 0x02 3137 #define _FERR 0x04 3138 #define _FERR1 0x04 3139 #define _ADDEN 0x08 3140 #define _ADEN 0x08 3141 #define _ADDEN1 0x08 3142 #define _CREN 0x10 3143 #define _CREN1 0x10 3144 #define _SREN 0x20 3145 #define _SREN1 0x20 3146 #define _RX9 0x40 3147 #define _RC9 0x40 3148 #define _NOT_RC8 0x40 3149 #define _RC8_9 0x40 3150 #define _RX91 0x40 3151 #define _SPEN 0x80 3152 #define _SPEN1 0x80 3153 3154 //============================================================================== 3155 3156 3157 //============================================================================== 3158 // RCSTA1 Bits 3159 3160 extern __at(0x0FAC) __sfr RCSTA1; 3161 3162 typedef union 3163 { 3164 struct 3165 { 3166 unsigned RX9D : 1; 3167 unsigned OERR : 1; 3168 unsigned FERR : 1; 3169 unsigned ADDEN : 1; 3170 unsigned CREN : 1; 3171 unsigned SREN : 1; 3172 unsigned RX9 : 1; 3173 unsigned SPEN : 1; 3174 }; 3175 3176 struct 3177 { 3178 unsigned RCD8 : 1; 3179 unsigned OERR1 : 1; 3180 unsigned FERR1 : 1; 3181 unsigned ADEN : 1; 3182 unsigned CREN1 : 1; 3183 unsigned SREN1 : 1; 3184 unsigned RC9 : 1; 3185 unsigned SPEN1 : 1; 3186 }; 3187 3188 struct 3189 { 3190 unsigned RX9D1 : 1; 3191 unsigned : 1; 3192 unsigned : 1; 3193 unsigned ADDEN1 : 1; 3194 unsigned : 1; 3195 unsigned : 1; 3196 unsigned NOT_RC8 : 1; 3197 unsigned : 1; 3198 }; 3199 3200 struct 3201 { 3202 unsigned : 1; 3203 unsigned : 1; 3204 unsigned : 1; 3205 unsigned : 1; 3206 unsigned : 1; 3207 unsigned : 1; 3208 unsigned RC8_9 : 1; 3209 unsigned : 1; 3210 }; 3211 3212 struct 3213 { 3214 unsigned : 1; 3215 unsigned : 1; 3216 unsigned : 1; 3217 unsigned : 1; 3218 unsigned : 1; 3219 unsigned : 1; 3220 unsigned RX91 : 1; 3221 unsigned : 1; 3222 }; 3223 } __RCSTA1bits_t; 3224 3225 extern __at(0x0FAC) volatile __RCSTA1bits_t RCSTA1bits; 3226 3227 #define _RCSTA1_RX9D 0x01 3228 #define _RCSTA1_RCD8 0x01 3229 #define _RCSTA1_RX9D1 0x01 3230 #define _RCSTA1_OERR 0x02 3231 #define _RCSTA1_OERR1 0x02 3232 #define _RCSTA1_FERR 0x04 3233 #define _RCSTA1_FERR1 0x04 3234 #define _RCSTA1_ADDEN 0x08 3235 #define _RCSTA1_ADEN 0x08 3236 #define _RCSTA1_ADDEN1 0x08 3237 #define _RCSTA1_CREN 0x10 3238 #define _RCSTA1_CREN1 0x10 3239 #define _RCSTA1_SREN 0x20 3240 #define _RCSTA1_SREN1 0x20 3241 #define _RCSTA1_RX9 0x40 3242 #define _RCSTA1_RC9 0x40 3243 #define _RCSTA1_NOT_RC8 0x40 3244 #define _RCSTA1_RC8_9 0x40 3245 #define _RCSTA1_RX91 0x40 3246 #define _RCSTA1_SPEN 0x80 3247 #define _RCSTA1_SPEN1 0x80 3248 3249 //============================================================================== 3250 3251 3252 //============================================================================== 3253 // TXSTA Bits 3254 3255 extern __at(0x0FAD) __sfr TXSTA; 3256 3257 typedef union 3258 { 3259 struct 3260 { 3261 unsigned TX9D : 1; 3262 unsigned TRMT : 1; 3263 unsigned BRGH : 1; 3264 unsigned SENDB : 1; 3265 unsigned SYNC : 1; 3266 unsigned TXEN : 1; 3267 unsigned TX9 : 1; 3268 unsigned CSRC : 1; 3269 }; 3270 3271 struct 3272 { 3273 unsigned TXD8 : 1; 3274 unsigned TRMT1 : 1; 3275 unsigned BRGH1 : 1; 3276 unsigned SENDB1 : 1; 3277 unsigned SYNC1 : 1; 3278 unsigned TXEN1 : 1; 3279 unsigned TX8_9 : 1; 3280 unsigned CSRC1 : 1; 3281 }; 3282 3283 struct 3284 { 3285 unsigned TX9D1 : 1; 3286 unsigned : 1; 3287 unsigned : 1; 3288 unsigned : 1; 3289 unsigned : 1; 3290 unsigned : 1; 3291 unsigned NOT_TX8 : 1; 3292 unsigned : 1; 3293 }; 3294 3295 struct 3296 { 3297 unsigned : 1; 3298 unsigned : 1; 3299 unsigned : 1; 3300 unsigned : 1; 3301 unsigned : 1; 3302 unsigned : 1; 3303 unsigned TX91 : 1; 3304 unsigned : 1; 3305 }; 3306 } __TXSTAbits_t; 3307 3308 extern __at(0x0FAD) volatile __TXSTAbits_t TXSTAbits; 3309 3310 #define _TX9D 0x01 3311 #define _TXD8 0x01 3312 #define _TX9D1 0x01 3313 #define _TRMT 0x02 3314 #define _TRMT1 0x02 3315 #define _BRGH 0x04 3316 #define _BRGH1 0x04 3317 #define _SENDB 0x08 3318 #define _SENDB1 0x08 3319 #define _SYNC 0x10 3320 #define _SYNC1 0x10 3321 #define _TXEN 0x20 3322 #define _TXEN1 0x20 3323 #define _TX9 0x40 3324 #define _TX8_9 0x40 3325 #define _NOT_TX8 0x40 3326 #define _TX91 0x40 3327 #define _CSRC 0x80 3328 #define _CSRC1 0x80 3329 3330 //============================================================================== 3331 3332 3333 //============================================================================== 3334 // TXSTA1 Bits 3335 3336 extern __at(0x0FAD) __sfr TXSTA1; 3337 3338 typedef union 3339 { 3340 struct 3341 { 3342 unsigned TX9D : 1; 3343 unsigned TRMT : 1; 3344 unsigned BRGH : 1; 3345 unsigned SENDB : 1; 3346 unsigned SYNC : 1; 3347 unsigned TXEN : 1; 3348 unsigned TX9 : 1; 3349 unsigned CSRC : 1; 3350 }; 3351 3352 struct 3353 { 3354 unsigned TXD8 : 1; 3355 unsigned TRMT1 : 1; 3356 unsigned BRGH1 : 1; 3357 unsigned SENDB1 : 1; 3358 unsigned SYNC1 : 1; 3359 unsigned TXEN1 : 1; 3360 unsigned TX8_9 : 1; 3361 unsigned CSRC1 : 1; 3362 }; 3363 3364 struct 3365 { 3366 unsigned TX9D1 : 1; 3367 unsigned : 1; 3368 unsigned : 1; 3369 unsigned : 1; 3370 unsigned : 1; 3371 unsigned : 1; 3372 unsigned NOT_TX8 : 1; 3373 unsigned : 1; 3374 }; 3375 3376 struct 3377 { 3378 unsigned : 1; 3379 unsigned : 1; 3380 unsigned : 1; 3381 unsigned : 1; 3382 unsigned : 1; 3383 unsigned : 1; 3384 unsigned TX91 : 1; 3385 unsigned : 1; 3386 }; 3387 } __TXSTA1bits_t; 3388 3389 extern __at(0x0FAD) volatile __TXSTA1bits_t TXSTA1bits; 3390 3391 #define _TXSTA1_TX9D 0x01 3392 #define _TXSTA1_TXD8 0x01 3393 #define _TXSTA1_TX9D1 0x01 3394 #define _TXSTA1_TRMT 0x02 3395 #define _TXSTA1_TRMT1 0x02 3396 #define _TXSTA1_BRGH 0x04 3397 #define _TXSTA1_BRGH1 0x04 3398 #define _TXSTA1_SENDB 0x08 3399 #define _TXSTA1_SENDB1 0x08 3400 #define _TXSTA1_SYNC 0x10 3401 #define _TXSTA1_SYNC1 0x10 3402 #define _TXSTA1_TXEN 0x20 3403 #define _TXSTA1_TXEN1 0x20 3404 #define _TXSTA1_TX9 0x40 3405 #define _TXSTA1_TX8_9 0x40 3406 #define _TXSTA1_NOT_TX8 0x40 3407 #define _TXSTA1_TX91 0x40 3408 #define _TXSTA1_CSRC 0x80 3409 #define _TXSTA1_CSRC1 0x80 3410 3411 //============================================================================== 3412 3413 extern __at(0x0FAE) __sfr TXREG; 3414 extern __at(0x0FAE) __sfr TXREG1; 3415 extern __at(0x0FAF) __sfr RCREG; 3416 extern __at(0x0FAF) __sfr RCREG1; 3417 extern __at(0x0FB0) __sfr SPBRG; 3418 extern __at(0x0FB0) __sfr SPBRG1; 3419 3420 //============================================================================== 3421 // CTMUICON Bits 3422 3423 extern __at(0x0FB1) __sfr CTMUICON; 3424 3425 typedef union 3426 { 3427 struct 3428 { 3429 unsigned IRNG0 : 1; 3430 unsigned IRNG1 : 1; 3431 unsigned ITRIM0 : 1; 3432 unsigned ITRIM1 : 1; 3433 unsigned ITRIM2 : 1; 3434 unsigned ITRIM3 : 1; 3435 unsigned ITRIM4 : 1; 3436 unsigned ITRIM5 : 1; 3437 }; 3438 3439 struct 3440 { 3441 unsigned IRNG : 2; 3442 unsigned : 6; 3443 }; 3444 3445 struct 3446 { 3447 unsigned : 2; 3448 unsigned ITRIM : 6; 3449 }; 3450 } __CTMUICONbits_t; 3451 3452 extern __at(0x0FB1) volatile __CTMUICONbits_t CTMUICONbits; 3453 3454 #define _IRNG0 0x01 3455 #define _IRNG1 0x02 3456 #define _ITRIM0 0x04 3457 #define _ITRIM1 0x08 3458 #define _ITRIM2 0x10 3459 #define _ITRIM3 0x20 3460 #define _ITRIM4 0x40 3461 #define _ITRIM5 0x80 3462 3463 //============================================================================== 3464 3465 3466 //============================================================================== 3467 // CTMUCONL Bits 3468 3469 extern __at(0x0FB2) __sfr CTMUCONL; 3470 3471 typedef union 3472 { 3473 struct 3474 { 3475 unsigned EDG1STAT : 1; 3476 unsigned EDG2STAT : 1; 3477 unsigned EDG1SEL0 : 1; 3478 unsigned EDG1SEL1 : 1; 3479 unsigned EDG1POL : 1; 3480 unsigned EDG2SEL0 : 1; 3481 unsigned EDG2SEL1 : 1; 3482 unsigned EDG2POL : 1; 3483 }; 3484 3485 struct 3486 { 3487 unsigned : 2; 3488 unsigned EDG1SEL : 2; 3489 unsigned : 4; 3490 }; 3491 3492 struct 3493 { 3494 unsigned : 5; 3495 unsigned EDG2SEL : 2; 3496 unsigned : 1; 3497 }; 3498 } __CTMUCONLbits_t; 3499 3500 extern __at(0x0FB2) volatile __CTMUCONLbits_t CTMUCONLbits; 3501 3502 #define _EDG1STAT 0x01 3503 #define _EDG2STAT 0x02 3504 #define _EDG1SEL0 0x04 3505 #define _EDG1SEL1 0x08 3506 #define _EDG1POL 0x10 3507 #define _EDG2SEL0 0x20 3508 #define _EDG2SEL1 0x40 3509 #define _EDG2POL 0x80 3510 3511 //============================================================================== 3512 3513 3514 //============================================================================== 3515 // CTMUCONH Bits 3516 3517 extern __at(0x0FB3) __sfr CTMUCONH; 3518 3519 typedef struct 3520 { 3521 unsigned CTTRIG : 1; 3522 unsigned IDISSEN : 1; 3523 unsigned EDGSEQEN : 1; 3524 unsigned EDGEN : 1; 3525 unsigned TGEN : 1; 3526 unsigned CTMUSIDL : 1; 3527 unsigned : 1; 3528 unsigned CTMUEN : 1; 3529 } __CTMUCONHbits_t; 3530 3531 extern __at(0x0FB3) volatile __CTMUCONHbits_t CTMUCONHbits; 3532 3533 #define _CTTRIG 0x01 3534 #define _IDISSEN 0x02 3535 #define _EDGSEQEN 0x04 3536 #define _EDGEN 0x08 3537 #define _TGEN 0x10 3538 #define _CTMUSIDL 0x20 3539 #define _CTMUEN 0x80 3540 3541 //============================================================================== 3542 3543 3544 //============================================================================== 3545 // CCP2CON Bits 3546 3547 extern __at(0x0FB4) __sfr CCP2CON; 3548 3549 typedef union 3550 { 3551 struct 3552 { 3553 unsigned CCP2M0 : 1; 3554 unsigned CCP2M1 : 1; 3555 unsigned CCP2M2 : 1; 3556 unsigned CCP2M3 : 1; 3557 unsigned DC2B0 : 1; 3558 unsigned DC2B1 : 1; 3559 unsigned P2M0 : 1; 3560 unsigned P2M1 : 1; 3561 }; 3562 3563 struct 3564 { 3565 unsigned : 1; 3566 unsigned : 1; 3567 unsigned : 1; 3568 unsigned : 1; 3569 unsigned CCP2Y : 1; 3570 unsigned CCP2X : 1; 3571 unsigned : 1; 3572 unsigned : 1; 3573 }; 3574 3575 struct 3576 { 3577 unsigned CCP2M : 4; 3578 unsigned : 4; 3579 }; 3580 3581 struct 3582 { 3583 unsigned : 4; 3584 unsigned DC2B : 2; 3585 unsigned : 2; 3586 }; 3587 3588 struct 3589 { 3590 unsigned : 6; 3591 unsigned P2M : 2; 3592 }; 3593 } __CCP2CONbits_t; 3594 3595 extern __at(0x0FB4) volatile __CCP2CONbits_t CCP2CONbits; 3596 3597 #define _CCP2M0 0x01 3598 #define _CCP2M1 0x02 3599 #define _CCP2M2 0x04 3600 #define _CCP2M3 0x08 3601 #define _DC2B0 0x10 3602 #define _CCP2Y 0x10 3603 #define _DC2B1 0x20 3604 #define _CCP2X 0x20 3605 #define _P2M0 0x40 3606 #define _P2M1 0x80 3607 3608 //============================================================================== 3609 3610 3611 //============================================================================== 3612 // ECCP2CON Bits 3613 3614 extern __at(0x0FB4) __sfr ECCP2CON; 3615 3616 typedef union 3617 { 3618 struct 3619 { 3620 unsigned CCP2M0 : 1; 3621 unsigned CCP2M1 : 1; 3622 unsigned CCP2M2 : 1; 3623 unsigned CCP2M3 : 1; 3624 unsigned DC2B0 : 1; 3625 unsigned DC2B1 : 1; 3626 unsigned P2M0 : 1; 3627 unsigned P2M1 : 1; 3628 }; 3629 3630 struct 3631 { 3632 unsigned : 1; 3633 unsigned : 1; 3634 unsigned : 1; 3635 unsigned : 1; 3636 unsigned CCP2Y : 1; 3637 unsigned CCP2X : 1; 3638 unsigned : 1; 3639 unsigned : 1; 3640 }; 3641 3642 struct 3643 { 3644 unsigned CCP2M : 4; 3645 unsigned : 4; 3646 }; 3647 3648 struct 3649 { 3650 unsigned : 4; 3651 unsigned DC2B : 2; 3652 unsigned : 2; 3653 }; 3654 3655 struct 3656 { 3657 unsigned : 6; 3658 unsigned P2M : 2; 3659 }; 3660 } __ECCP2CONbits_t; 3661 3662 extern __at(0x0FB4) volatile __ECCP2CONbits_t ECCP2CONbits; 3663 3664 #define _ECCP2CON_CCP2M0 0x01 3665 #define _ECCP2CON_CCP2M1 0x02 3666 #define _ECCP2CON_CCP2M2 0x04 3667 #define _ECCP2CON_CCP2M3 0x08 3668 #define _ECCP2CON_DC2B0 0x10 3669 #define _ECCP2CON_CCP2Y 0x10 3670 #define _ECCP2CON_DC2B1 0x20 3671 #define _ECCP2CON_CCP2X 0x20 3672 #define _ECCP2CON_P2M0 0x40 3673 #define _ECCP2CON_P2M1 0x80 3674 3675 //============================================================================== 3676 3677 extern __at(0x0FB5) __sfr CCPR2; 3678 extern __at(0x0FB5) __sfr CCPR2L; 3679 extern __at(0x0FB6) __sfr CCPR2H; 3680 3681 //============================================================================== 3682 // ECCP2DEL Bits 3683 3684 extern __at(0x0FB7) __sfr ECCP2DEL; 3685 3686 typedef union 3687 { 3688 struct 3689 { 3690 unsigned P2DC0 : 1; 3691 unsigned P2DC1 : 1; 3692 unsigned P2DC2 : 1; 3693 unsigned P2DC3 : 1; 3694 unsigned P2DC4 : 1; 3695 unsigned P2DC5 : 1; 3696 unsigned P2DC6 : 1; 3697 unsigned P2RSEN : 1; 3698 }; 3699 3700 struct 3701 { 3702 unsigned P2DC : 7; 3703 unsigned : 1; 3704 }; 3705 } __ECCP2DELbits_t; 3706 3707 extern __at(0x0FB7) volatile __ECCP2DELbits_t ECCP2DELbits; 3708 3709 #define _P2DC0 0x01 3710 #define _P2DC1 0x02 3711 #define _P2DC2 0x04 3712 #define _P2DC3 0x08 3713 #define _P2DC4 0x10 3714 #define _P2DC5 0x20 3715 #define _P2DC6 0x40 3716 #define _P2RSEN 0x80 3717 3718 //============================================================================== 3719 3720 3721 //============================================================================== 3722 // PWM2CON Bits 3723 3724 extern __at(0x0FB7) __sfr PWM2CON; 3725 3726 typedef union 3727 { 3728 struct 3729 { 3730 unsigned P2DC0 : 1; 3731 unsigned P2DC1 : 1; 3732 unsigned P2DC2 : 1; 3733 unsigned P2DC3 : 1; 3734 unsigned P2DC4 : 1; 3735 unsigned P2DC5 : 1; 3736 unsigned P2DC6 : 1; 3737 unsigned P2RSEN : 1; 3738 }; 3739 3740 struct 3741 { 3742 unsigned P2DC : 7; 3743 unsigned : 1; 3744 }; 3745 } __PWM2CONbits_t; 3746 3747 extern __at(0x0FB7) volatile __PWM2CONbits_t PWM2CONbits; 3748 3749 #define _PWM2CON_P2DC0 0x01 3750 #define _PWM2CON_P2DC1 0x02 3751 #define _PWM2CON_P2DC2 0x04 3752 #define _PWM2CON_P2DC3 0x08 3753 #define _PWM2CON_P2DC4 0x10 3754 #define _PWM2CON_P2DC5 0x20 3755 #define _PWM2CON_P2DC6 0x40 3756 #define _PWM2CON_P2RSEN 0x80 3757 3758 //============================================================================== 3759 3760 3761 //============================================================================== 3762 // ECCP2AS Bits 3763 3764 extern __at(0x0FB8) __sfr ECCP2AS; 3765 3766 typedef union 3767 { 3768 struct 3769 { 3770 unsigned PSS2BD0 : 1; 3771 unsigned PSS2BD1 : 1; 3772 unsigned PSS2AC0 : 1; 3773 unsigned PSS2AC1 : 1; 3774 unsigned ECCP2AS0 : 1; 3775 unsigned ECCP2AS1 : 1; 3776 unsigned ECCP2AS2 : 1; 3777 unsigned ECCP2ASE : 1; 3778 }; 3779 3780 struct 3781 { 3782 unsigned PSS2BD : 2; 3783 unsigned : 6; 3784 }; 3785 3786 struct 3787 { 3788 unsigned : 2; 3789 unsigned PSS2AC : 2; 3790 unsigned : 4; 3791 }; 3792 3793 struct 3794 { 3795 unsigned : 4; 3796 unsigned ECCP2AS : 3; 3797 unsigned : 1; 3798 }; 3799 } __ECCP2ASbits_t; 3800 3801 extern __at(0x0FB8) volatile __ECCP2ASbits_t ECCP2ASbits; 3802 3803 #define _PSS2BD0 0x01 3804 #define _PSS2BD1 0x02 3805 #define _PSS2AC0 0x04 3806 #define _PSS2AC1 0x08 3807 #define _ECCP2AS0 0x10 3808 #define _ECCP2AS1 0x20 3809 #define _ECCP2AS2 0x40 3810 #define _ECCP2ASE 0x80 3811 3812 //============================================================================== 3813 3814 3815 //============================================================================== 3816 // PSTR2CON Bits 3817 3818 extern __at(0x0FB9) __sfr PSTR2CON; 3819 3820 typedef union 3821 { 3822 struct 3823 { 3824 unsigned STRA : 1; 3825 unsigned STRB : 1; 3826 unsigned STRC : 1; 3827 unsigned STRD : 1; 3828 unsigned STRSYNC : 1; 3829 unsigned P2DC5 : 1; 3830 unsigned CMPL0 : 1; 3831 unsigned CMPL1 : 1; 3832 }; 3833 3834 struct 3835 { 3836 unsigned P2DC0 : 1; 3837 unsigned P2DC1 : 1; 3838 unsigned P2DC2 : 1; 3839 unsigned P2DC3 : 1; 3840 unsigned P2DC4 : 1; 3841 unsigned P2DC52 : 1; 3842 unsigned P2DC6 : 1; 3843 unsigned : 1; 3844 }; 3845 3846 struct 3847 { 3848 unsigned P2DC02 : 1; 3849 unsigned P2DC12 : 1; 3850 unsigned P2DC22 : 1; 3851 unsigned P2DC32 : 1; 3852 unsigned P2DC42 : 1; 3853 unsigned : 1; 3854 unsigned P2DC62 : 1; 3855 unsigned : 1; 3856 }; 3857 3858 struct 3859 { 3860 unsigned : 6; 3861 unsigned CMPL : 2; 3862 }; 3863 } __PSTR2CONbits_t; 3864 3865 extern __at(0x0FB9) volatile __PSTR2CONbits_t PSTR2CONbits; 3866 3867 #define _PSTR2CON_STRA 0x01 3868 #define _PSTR2CON_P2DC0 0x01 3869 #define _PSTR2CON_P2DC02 0x01 3870 #define _PSTR2CON_STRB 0x02 3871 #define _PSTR2CON_P2DC1 0x02 3872 #define _PSTR2CON_P2DC12 0x02 3873 #define _PSTR2CON_STRC 0x04 3874 #define _PSTR2CON_P2DC2 0x04 3875 #define _PSTR2CON_P2DC22 0x04 3876 #define _PSTR2CON_STRD 0x08 3877 #define _PSTR2CON_P2DC3 0x08 3878 #define _PSTR2CON_P2DC32 0x08 3879 #define _PSTR2CON_STRSYNC 0x10 3880 #define _PSTR2CON_P2DC4 0x10 3881 #define _PSTR2CON_P2DC42 0x10 3882 #define _PSTR2CON_P2DC5 0x20 3883 #define _PSTR2CON_P2DC52 0x20 3884 #define _PSTR2CON_CMPL0 0x40 3885 #define _PSTR2CON_P2DC6 0x40 3886 #define _PSTR2CON_P2DC62 0x40 3887 #define _PSTR2CON_CMPL1 0x80 3888 3889 //============================================================================== 3890 3891 3892 //============================================================================== 3893 // CCP1CON Bits 3894 3895 extern __at(0x0FBA) __sfr CCP1CON; 3896 3897 typedef union 3898 { 3899 struct 3900 { 3901 unsigned CCP1M0 : 1; 3902 unsigned CCP1M1 : 1; 3903 unsigned CCP1M2 : 1; 3904 unsigned CCP1M3 : 1; 3905 unsigned DC1B0 : 1; 3906 unsigned DC1B1 : 1; 3907 unsigned P1M0 : 1; 3908 unsigned P1M1 : 1; 3909 }; 3910 3911 struct 3912 { 3913 unsigned : 1; 3914 unsigned : 1; 3915 unsigned : 1; 3916 unsigned : 1; 3917 unsigned CCP1Y : 1; 3918 unsigned CCP1X : 1; 3919 unsigned : 1; 3920 unsigned : 1; 3921 }; 3922 3923 struct 3924 { 3925 unsigned CCP1M : 4; 3926 unsigned : 4; 3927 }; 3928 3929 struct 3930 { 3931 unsigned : 4; 3932 unsigned DC1B : 2; 3933 unsigned : 2; 3934 }; 3935 3936 struct 3937 { 3938 unsigned : 6; 3939 unsigned P1M : 2; 3940 }; 3941 } __CCP1CONbits_t; 3942 3943 extern __at(0x0FBA) volatile __CCP1CONbits_t CCP1CONbits; 3944 3945 #define _CCP1M0 0x01 3946 #define _CCP1M1 0x02 3947 #define _CCP1M2 0x04 3948 #define _CCP1M3 0x08 3949 #define _DC1B0 0x10 3950 #define _CCP1Y 0x10 3951 #define _DC1B1 0x20 3952 #define _CCP1X 0x20 3953 #define _P1M0 0x40 3954 #define _P1M1 0x80 3955 3956 //============================================================================== 3957 3958 3959 //============================================================================== 3960 // ECCP1CON Bits 3961 3962 extern __at(0x0FBA) __sfr ECCP1CON; 3963 3964 typedef union 3965 { 3966 struct 3967 { 3968 unsigned CCP1M0 : 1; 3969 unsigned CCP1M1 : 1; 3970 unsigned CCP1M2 : 1; 3971 unsigned CCP1M3 : 1; 3972 unsigned DC1B0 : 1; 3973 unsigned DC1B1 : 1; 3974 unsigned P1M0 : 1; 3975 unsigned P1M1 : 1; 3976 }; 3977 3978 struct 3979 { 3980 unsigned : 1; 3981 unsigned : 1; 3982 unsigned : 1; 3983 unsigned : 1; 3984 unsigned CCP1Y : 1; 3985 unsigned CCP1X : 1; 3986 unsigned : 1; 3987 unsigned : 1; 3988 }; 3989 3990 struct 3991 { 3992 unsigned CCP1M : 4; 3993 unsigned : 4; 3994 }; 3995 3996 struct 3997 { 3998 unsigned : 4; 3999 unsigned DC1B : 2; 4000 unsigned : 2; 4001 }; 4002 4003 struct 4004 { 4005 unsigned : 6; 4006 unsigned P1M : 2; 4007 }; 4008 } __ECCP1CONbits_t; 4009 4010 extern __at(0x0FBA) volatile __ECCP1CONbits_t ECCP1CONbits; 4011 4012 #define _ECCP1CON_CCP1M0 0x01 4013 #define _ECCP1CON_CCP1M1 0x02 4014 #define _ECCP1CON_CCP1M2 0x04 4015 #define _ECCP1CON_CCP1M3 0x08 4016 #define _ECCP1CON_DC1B0 0x10 4017 #define _ECCP1CON_CCP1Y 0x10 4018 #define _ECCP1CON_DC1B1 0x20 4019 #define _ECCP1CON_CCP1X 0x20 4020 #define _ECCP1CON_P1M0 0x40 4021 #define _ECCP1CON_P1M1 0x80 4022 4023 //============================================================================== 4024 4025 extern __at(0x0FBB) __sfr CCPR1; 4026 extern __at(0x0FBB) __sfr CCPR1L; 4027 extern __at(0x0FBC) __sfr CCPR1H; 4028 4029 //============================================================================== 4030 // ECCP1DEL Bits 4031 4032 extern __at(0x0FBD) __sfr ECCP1DEL; 4033 4034 typedef union 4035 { 4036 struct 4037 { 4038 unsigned P1DC0 : 1; 4039 unsigned P1DC1 : 1; 4040 unsigned P1DC2 : 1; 4041 unsigned P1DC3 : 1; 4042 unsigned P1DC4 : 1; 4043 unsigned P1DC5 : 1; 4044 unsigned P1DC6 : 1; 4045 unsigned P1RSEN : 1; 4046 }; 4047 4048 struct 4049 { 4050 unsigned P1DC : 7; 4051 unsigned : 1; 4052 }; 4053 } __ECCP1DELbits_t; 4054 4055 extern __at(0x0FBD) volatile __ECCP1DELbits_t ECCP1DELbits; 4056 4057 #define _P1DC0 0x01 4058 #define _P1DC1 0x02 4059 #define _P1DC2 0x04 4060 #define _P1DC3 0x08 4061 #define _P1DC4 0x10 4062 #define _P1DC5 0x20 4063 #define _P1DC6 0x40 4064 #define _P1RSEN 0x80 4065 4066 //============================================================================== 4067 4068 4069 //============================================================================== 4070 // PWM1CON Bits 4071 4072 extern __at(0x0FBD) __sfr PWM1CON; 4073 4074 typedef union 4075 { 4076 struct 4077 { 4078 unsigned P1DC0 : 1; 4079 unsigned P1DC1 : 1; 4080 unsigned P1DC2 : 1; 4081 unsigned P1DC3 : 1; 4082 unsigned P1DC4 : 1; 4083 unsigned P1DC5 : 1; 4084 unsigned P1DC6 : 1; 4085 unsigned P1RSEN : 1; 4086 }; 4087 4088 struct 4089 { 4090 unsigned P1DC : 7; 4091 unsigned : 1; 4092 }; 4093 } __PWM1CONbits_t; 4094 4095 extern __at(0x0FBD) volatile __PWM1CONbits_t PWM1CONbits; 4096 4097 #define _PWM1CON_P1DC0 0x01 4098 #define _PWM1CON_P1DC1 0x02 4099 #define _PWM1CON_P1DC2 0x04 4100 #define _PWM1CON_P1DC3 0x08 4101 #define _PWM1CON_P1DC4 0x10 4102 #define _PWM1CON_P1DC5 0x20 4103 #define _PWM1CON_P1DC6 0x40 4104 #define _PWM1CON_P1RSEN 0x80 4105 4106 //============================================================================== 4107 4108 4109 //============================================================================== 4110 // ECCP1AS Bits 4111 4112 extern __at(0x0FBE) __sfr ECCP1AS; 4113 4114 typedef union 4115 { 4116 struct 4117 { 4118 unsigned PSS1BD0 : 1; 4119 unsigned PSS1BD1 : 1; 4120 unsigned PSS1AC0 : 1; 4121 unsigned PSS1AC1 : 1; 4122 unsigned ECCP1AS0 : 1; 4123 unsigned ECCP1AS1 : 1; 4124 unsigned ECCP1AS2 : 1; 4125 unsigned ECCP1ASE : 1; 4126 }; 4127 4128 struct 4129 { 4130 unsigned PSS1BD : 2; 4131 unsigned : 6; 4132 }; 4133 4134 struct 4135 { 4136 unsigned : 2; 4137 unsigned PSS1AC : 2; 4138 unsigned : 4; 4139 }; 4140 4141 struct 4142 { 4143 unsigned : 4; 4144 unsigned ECCP1AS : 3; 4145 unsigned : 1; 4146 }; 4147 } __ECCP1ASbits_t; 4148 4149 extern __at(0x0FBE) volatile __ECCP1ASbits_t ECCP1ASbits; 4150 4151 #define _PSS1BD0 0x01 4152 #define _PSS1BD1 0x02 4153 #define _PSS1AC0 0x04 4154 #define _PSS1AC1 0x08 4155 #define _ECCP1AS0 0x10 4156 #define _ECCP1AS1 0x20 4157 #define _ECCP1AS2 0x40 4158 #define _ECCP1ASE 0x80 4159 4160 //============================================================================== 4161 4162 4163 //============================================================================== 4164 // PSTR1CON Bits 4165 4166 extern __at(0x0FBF) __sfr PSTR1CON; 4167 4168 typedef union 4169 { 4170 struct 4171 { 4172 unsigned STRA : 1; 4173 unsigned STRB : 1; 4174 unsigned STRC : 1; 4175 unsigned STRD : 1; 4176 unsigned STRSYNC : 1; 4177 unsigned : 1; 4178 unsigned CMPL0 : 1; 4179 unsigned CMPL1 : 1; 4180 }; 4181 4182 struct 4183 { 4184 unsigned : 6; 4185 unsigned CMPL : 2; 4186 }; 4187 } __PSTR1CONbits_t; 4188 4189 extern __at(0x0FBF) volatile __PSTR1CONbits_t PSTR1CONbits; 4190 4191 #define _STRA 0x01 4192 #define _STRB 0x02 4193 #define _STRC 0x04 4194 #define _STRD 0x08 4195 #define _STRSYNC 0x10 4196 #define _CMPL0 0x40 4197 #define _CMPL1 0x80 4198 4199 //============================================================================== 4200 4201 4202 //============================================================================== 4203 // WDTCON Bits 4204 4205 extern __at(0x0FC0) __sfr WDTCON; 4206 4207 typedef union 4208 { 4209 struct 4210 { 4211 unsigned SWDTEN : 1; 4212 unsigned ULPSINK : 1; 4213 unsigned ULPEN : 1; 4214 unsigned DS : 1; 4215 unsigned : 1; 4216 unsigned ULPLVL : 1; 4217 unsigned LVDSTAT : 1; 4218 unsigned REGSLP : 1; 4219 }; 4220 4221 struct 4222 { 4223 unsigned SWDTE : 1; 4224 unsigned : 1; 4225 unsigned : 1; 4226 unsigned : 1; 4227 unsigned : 1; 4228 unsigned : 1; 4229 unsigned : 1; 4230 unsigned : 1; 4231 }; 4232 } __WDTCONbits_t; 4233 4234 extern __at(0x0FC0) volatile __WDTCONbits_t WDTCONbits; 4235 4236 #define _SWDTEN 0x01 4237 #define _SWDTE 0x01 4238 #define _ULPSINK 0x02 4239 #define _ULPEN 0x04 4240 #define _DS 0x08 4241 #define _ULPLVL 0x20 4242 #define _LVDSTAT 0x40 4243 #define _REGSLP 0x80 4244 4245 //============================================================================== 4246 4247 4248 //============================================================================== 4249 // ADCON1 Bits 4250 4251 extern __at(0x0FC1) __sfr ADCON1; 4252 4253 typedef union 4254 { 4255 struct 4256 { 4257 unsigned ADCS0 : 1; 4258 unsigned ADCS1 : 1; 4259 unsigned ADCS2 : 1; 4260 unsigned ACQT0 : 1; 4261 unsigned ACQT1 : 1; 4262 unsigned ACQT2 : 1; 4263 unsigned ADCAL : 1; 4264 unsigned ADFM : 1; 4265 }; 4266 4267 struct 4268 { 4269 unsigned ADCS : 3; 4270 unsigned : 5; 4271 }; 4272 4273 struct 4274 { 4275 unsigned : 3; 4276 unsigned ACQT : 3; 4277 unsigned : 2; 4278 }; 4279 } __ADCON1bits_t; 4280 4281 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits; 4282 4283 #define _ADCS0 0x01 4284 #define _ADCS1 0x02 4285 #define _ADCS2 0x04 4286 #define _ACQT0 0x08 4287 #define _ACQT1 0x10 4288 #define _ACQT2 0x20 4289 #define _ADCAL 0x40 4290 #define _ADFM 0x80 4291 4292 //============================================================================== 4293 4294 4295 //============================================================================== 4296 // ADCON0 Bits 4297 4298 extern __at(0x0FC2) __sfr ADCON0; 4299 4300 typedef union 4301 { 4302 struct 4303 { 4304 unsigned ADON : 1; 4305 unsigned GO_NOT_DONE : 1; 4306 unsigned CHS0 : 1; 4307 unsigned CHS1 : 1; 4308 unsigned CHS2 : 1; 4309 unsigned CHS3 : 1; 4310 unsigned VCFG0 : 1; 4311 unsigned VCFG1 : 1; 4312 }; 4313 4314 struct 4315 { 4316 unsigned : 1; 4317 unsigned GO_DONE : 1; 4318 unsigned : 1; 4319 unsigned : 1; 4320 unsigned : 1; 4321 unsigned : 1; 4322 unsigned : 1; 4323 unsigned : 1; 4324 }; 4325 4326 struct 4327 { 4328 unsigned : 1; 4329 unsigned DONE : 1; 4330 unsigned : 1; 4331 unsigned : 1; 4332 unsigned : 1; 4333 unsigned : 1; 4334 unsigned : 1; 4335 unsigned : 1; 4336 }; 4337 4338 struct 4339 { 4340 unsigned : 1; 4341 unsigned GO : 1; 4342 unsigned : 1; 4343 unsigned : 1; 4344 unsigned : 1; 4345 unsigned : 1; 4346 unsigned : 1; 4347 unsigned : 1; 4348 }; 4349 4350 struct 4351 { 4352 unsigned : 1; 4353 unsigned NOT_DONE : 1; 4354 unsigned : 1; 4355 unsigned : 1; 4356 unsigned : 1; 4357 unsigned : 1; 4358 unsigned : 1; 4359 unsigned : 1; 4360 }; 4361 4362 struct 4363 { 4364 unsigned : 2; 4365 unsigned CHS : 4; 4366 unsigned : 2; 4367 }; 4368 4369 struct 4370 { 4371 unsigned : 6; 4372 unsigned VCFG : 2; 4373 }; 4374 } __ADCON0bits_t; 4375 4376 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits; 4377 4378 #define _ADON 0x01 4379 #define _GO_NOT_DONE 0x02 4380 #define _GO_DONE 0x02 4381 #define _DONE 0x02 4382 #define _GO 0x02 4383 #define _NOT_DONE 0x02 4384 #define _CHS0 0x04 4385 #define _CHS1 0x08 4386 #define _CHS2 0x10 4387 #define _CHS3 0x20 4388 #define _VCFG0 0x40 4389 #define _VCFG1 0x80 4390 4391 //============================================================================== 4392 4393 extern __at(0x0FC3) __sfr ADRES; 4394 extern __at(0x0FC3) __sfr ADRESL; 4395 extern __at(0x0FC4) __sfr ADRESH; 4396 4397 //============================================================================== 4398 // SSP1CON2 Bits 4399 4400 extern __at(0x0FC5) __sfr SSP1CON2; 4401 4402 typedef union 4403 { 4404 struct 4405 { 4406 unsigned SEN : 1; 4407 unsigned RSEN : 1; 4408 unsigned PEN : 1; 4409 unsigned RCEN : 1; 4410 unsigned ACKEN : 1; 4411 unsigned ACKDT : 1; 4412 unsigned ACKSTAT : 1; 4413 unsigned GCEN : 1; 4414 }; 4415 4416 struct 4417 { 4418 unsigned : 1; 4419 unsigned ADMSK1 : 1; 4420 unsigned ADMSK2 : 1; 4421 unsigned ADMSK3 : 1; 4422 unsigned ADMSK4 : 1; 4423 unsigned ADMSK5 : 1; 4424 unsigned : 1; 4425 unsigned : 1; 4426 }; 4427 } __SSP1CON2bits_t; 4428 4429 extern __at(0x0FC5) volatile __SSP1CON2bits_t SSP1CON2bits; 4430 4431 #define _SEN 0x01 4432 #define _RSEN 0x02 4433 #define _ADMSK1 0x02 4434 #define _PEN 0x04 4435 #define _ADMSK2 0x04 4436 #define _RCEN 0x08 4437 #define _ADMSK3 0x08 4438 #define _ACKEN 0x10 4439 #define _ADMSK4 0x10 4440 #define _ACKDT 0x20 4441 #define _ADMSK5 0x20 4442 #define _ACKSTAT 0x40 4443 #define _GCEN 0x80 4444 4445 //============================================================================== 4446 4447 4448 //============================================================================== 4449 // SSPCON2 Bits 4450 4451 extern __at(0x0FC5) __sfr SSPCON2; 4452 4453 typedef union 4454 { 4455 struct 4456 { 4457 unsigned SEN : 1; 4458 unsigned RSEN : 1; 4459 unsigned PEN : 1; 4460 unsigned RCEN : 1; 4461 unsigned ACKEN : 1; 4462 unsigned ACKDT : 1; 4463 unsigned ACKSTAT : 1; 4464 unsigned GCEN : 1; 4465 }; 4466 4467 struct 4468 { 4469 unsigned : 1; 4470 unsigned ADMSK1 : 1; 4471 unsigned ADMSK2 : 1; 4472 unsigned ADMSK3 : 1; 4473 unsigned ADMSK4 : 1; 4474 unsigned ADMSK5 : 1; 4475 unsigned : 1; 4476 unsigned : 1; 4477 }; 4478 } __SSPCON2bits_t; 4479 4480 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits; 4481 4482 #define _SSPCON2_SEN 0x01 4483 #define _SSPCON2_RSEN 0x02 4484 #define _SSPCON2_ADMSK1 0x02 4485 #define _SSPCON2_PEN 0x04 4486 #define _SSPCON2_ADMSK2 0x04 4487 #define _SSPCON2_RCEN 0x08 4488 #define _SSPCON2_ADMSK3 0x08 4489 #define _SSPCON2_ACKEN 0x10 4490 #define _SSPCON2_ADMSK4 0x10 4491 #define _SSPCON2_ACKDT 0x20 4492 #define _SSPCON2_ADMSK5 0x20 4493 #define _SSPCON2_ACKSTAT 0x40 4494 #define _SSPCON2_GCEN 0x80 4495 4496 //============================================================================== 4497 4498 4499 //============================================================================== 4500 // SSP1CON1 Bits 4501 4502 extern __at(0x0FC6) __sfr SSP1CON1; 4503 4504 typedef union 4505 { 4506 struct 4507 { 4508 unsigned SSPM0 : 1; 4509 unsigned SSPM1 : 1; 4510 unsigned SSPM2 : 1; 4511 unsigned SSPM3 : 1; 4512 unsigned CKP : 1; 4513 unsigned SSPEN : 1; 4514 unsigned SSPOV : 1; 4515 unsigned WCOL : 1; 4516 }; 4517 4518 struct 4519 { 4520 unsigned SSPM : 4; 4521 unsigned : 4; 4522 }; 4523 } __SSP1CON1bits_t; 4524 4525 extern __at(0x0FC6) volatile __SSP1CON1bits_t SSP1CON1bits; 4526 4527 #define _SSPM0 0x01 4528 #define _SSPM1 0x02 4529 #define _SSPM2 0x04 4530 #define _SSPM3 0x08 4531 #define _CKP 0x10 4532 #define _SSPEN 0x20 4533 #define _SSPOV 0x40 4534 #define _WCOL 0x80 4535 4536 //============================================================================== 4537 4538 4539 //============================================================================== 4540 // SSPCON1 Bits 4541 4542 extern __at(0x0FC6) __sfr SSPCON1; 4543 4544 typedef union 4545 { 4546 struct 4547 { 4548 unsigned SSPM0 : 1; 4549 unsigned SSPM1 : 1; 4550 unsigned SSPM2 : 1; 4551 unsigned SSPM3 : 1; 4552 unsigned CKP : 1; 4553 unsigned SSPEN : 1; 4554 unsigned SSPOV : 1; 4555 unsigned WCOL : 1; 4556 }; 4557 4558 struct 4559 { 4560 unsigned SSPM : 4; 4561 unsigned : 4; 4562 }; 4563 } __SSPCON1bits_t; 4564 4565 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits; 4566 4567 #define _SSPCON1_SSPM0 0x01 4568 #define _SSPCON1_SSPM1 0x02 4569 #define _SSPCON1_SSPM2 0x04 4570 #define _SSPCON1_SSPM3 0x08 4571 #define _SSPCON1_CKP 0x10 4572 #define _SSPCON1_SSPEN 0x20 4573 #define _SSPCON1_SSPOV 0x40 4574 #define _SSPCON1_WCOL 0x80 4575 4576 //============================================================================== 4577 4578 4579 //============================================================================== 4580 // SSP1STAT Bits 4581 4582 extern __at(0x0FC7) __sfr SSP1STAT; 4583 4584 typedef union 4585 { 4586 struct 4587 { 4588 unsigned BF : 1; 4589 unsigned UA : 1; 4590 unsigned R_NOT_W : 1; 4591 unsigned S : 1; 4592 unsigned P : 1; 4593 unsigned D_NOT_A : 1; 4594 unsigned CKE : 1; 4595 unsigned SMP : 1; 4596 }; 4597 4598 struct 4599 { 4600 unsigned : 1; 4601 unsigned : 1; 4602 unsigned R : 1; 4603 unsigned I2C_START : 1; 4604 unsigned I2C_STOP : 1; 4605 unsigned D : 1; 4606 unsigned : 1; 4607 unsigned : 1; 4608 }; 4609 4610 struct 4611 { 4612 unsigned : 1; 4613 unsigned : 1; 4614 unsigned R_W : 1; 4615 unsigned : 1; 4616 unsigned : 1; 4617 unsigned D_A : 1; 4618 unsigned : 1; 4619 unsigned : 1; 4620 }; 4621 4622 struct 4623 { 4624 unsigned : 1; 4625 unsigned : 1; 4626 unsigned NOT_W : 1; 4627 unsigned : 1; 4628 unsigned : 1; 4629 unsigned NOT_A : 1; 4630 unsigned : 1; 4631 unsigned : 1; 4632 }; 4633 4634 struct 4635 { 4636 unsigned : 1; 4637 unsigned : 1; 4638 unsigned NOT_WRITE : 1; 4639 unsigned : 1; 4640 unsigned : 1; 4641 unsigned NOT_ADDRESS : 1; 4642 unsigned : 1; 4643 unsigned : 1; 4644 }; 4645 4646 struct 4647 { 4648 unsigned : 1; 4649 unsigned : 1; 4650 unsigned READ_WRITE : 1; 4651 unsigned : 1; 4652 unsigned : 1; 4653 unsigned DATA_ADDRESS : 1; 4654 unsigned : 1; 4655 unsigned : 1; 4656 }; 4657 4658 struct 4659 { 4660 unsigned : 1; 4661 unsigned : 1; 4662 unsigned I2C_READ : 1; 4663 unsigned : 1; 4664 unsigned : 1; 4665 unsigned I2C_DAT : 1; 4666 unsigned : 1; 4667 unsigned : 1; 4668 }; 4669 } __SSP1STATbits_t; 4670 4671 extern __at(0x0FC7) volatile __SSP1STATbits_t SSP1STATbits; 4672 4673 #define _BF 0x01 4674 #define _UA 0x02 4675 #define _R_NOT_W 0x04 4676 #define _R 0x04 4677 #define _R_W 0x04 4678 #define _NOT_W 0x04 4679 #define _NOT_WRITE 0x04 4680 #define _READ_WRITE 0x04 4681 #define _I2C_READ 0x04 4682 #define _S 0x08 4683 #define _I2C_START 0x08 4684 #define _P 0x10 4685 #define _I2C_STOP 0x10 4686 #define _D_NOT_A 0x20 4687 #define _D 0x20 4688 #define _D_A 0x20 4689 #define _NOT_A 0x20 4690 #define _NOT_ADDRESS 0x20 4691 #define _DATA_ADDRESS 0x20 4692 #define _I2C_DAT 0x20 4693 #define _CKE 0x40 4694 #define _SMP 0x80 4695 4696 //============================================================================== 4697 4698 4699 //============================================================================== 4700 // SSPSTAT Bits 4701 4702 extern __at(0x0FC7) __sfr SSPSTAT; 4703 4704 typedef union 4705 { 4706 struct 4707 { 4708 unsigned BF : 1; 4709 unsigned UA : 1; 4710 unsigned R_NOT_W : 1; 4711 unsigned S : 1; 4712 unsigned P : 1; 4713 unsigned D_NOT_A : 1; 4714 unsigned CKE : 1; 4715 unsigned SMP : 1; 4716 }; 4717 4718 struct 4719 { 4720 unsigned : 1; 4721 unsigned : 1; 4722 unsigned R : 1; 4723 unsigned I2C_START : 1; 4724 unsigned I2C_STOP : 1; 4725 unsigned D : 1; 4726 unsigned : 1; 4727 unsigned : 1; 4728 }; 4729 4730 struct 4731 { 4732 unsigned : 1; 4733 unsigned : 1; 4734 unsigned R_W : 1; 4735 unsigned : 1; 4736 unsigned : 1; 4737 unsigned D_A : 1; 4738 unsigned : 1; 4739 unsigned : 1; 4740 }; 4741 4742 struct 4743 { 4744 unsigned : 1; 4745 unsigned : 1; 4746 unsigned NOT_W : 1; 4747 unsigned : 1; 4748 unsigned : 1; 4749 unsigned NOT_A : 1; 4750 unsigned : 1; 4751 unsigned : 1; 4752 }; 4753 4754 struct 4755 { 4756 unsigned : 1; 4757 unsigned : 1; 4758 unsigned NOT_WRITE : 1; 4759 unsigned : 1; 4760 unsigned : 1; 4761 unsigned NOT_ADDRESS : 1; 4762 unsigned : 1; 4763 unsigned : 1; 4764 }; 4765 4766 struct 4767 { 4768 unsigned : 1; 4769 unsigned : 1; 4770 unsigned READ_WRITE : 1; 4771 unsigned : 1; 4772 unsigned : 1; 4773 unsigned DATA_ADDRESS : 1; 4774 unsigned : 1; 4775 unsigned : 1; 4776 }; 4777 4778 struct 4779 { 4780 unsigned : 1; 4781 unsigned : 1; 4782 unsigned I2C_READ : 1; 4783 unsigned : 1; 4784 unsigned : 1; 4785 unsigned I2C_DAT : 1; 4786 unsigned : 1; 4787 unsigned : 1; 4788 }; 4789 } __SSPSTATbits_t; 4790 4791 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits; 4792 4793 #define _SSPSTAT_BF 0x01 4794 #define _SSPSTAT_UA 0x02 4795 #define _SSPSTAT_R_NOT_W 0x04 4796 #define _SSPSTAT_R 0x04 4797 #define _SSPSTAT_R_W 0x04 4798 #define _SSPSTAT_NOT_W 0x04 4799 #define _SSPSTAT_NOT_WRITE 0x04 4800 #define _SSPSTAT_READ_WRITE 0x04 4801 #define _SSPSTAT_I2C_READ 0x04 4802 #define _SSPSTAT_S 0x08 4803 #define _SSPSTAT_I2C_START 0x08 4804 #define _SSPSTAT_P 0x10 4805 #define _SSPSTAT_I2C_STOP 0x10 4806 #define _SSPSTAT_D_NOT_A 0x20 4807 #define _SSPSTAT_D 0x20 4808 #define _SSPSTAT_D_A 0x20 4809 #define _SSPSTAT_NOT_A 0x20 4810 #define _SSPSTAT_NOT_ADDRESS 0x20 4811 #define _SSPSTAT_DATA_ADDRESS 0x20 4812 #define _SSPSTAT_I2C_DAT 0x20 4813 #define _SSPSTAT_CKE 0x40 4814 #define _SSPSTAT_SMP 0x80 4815 4816 //============================================================================== 4817 4818 4819 //============================================================================== 4820 // SSP1ADD Bits 4821 4822 extern __at(0x0FC8) __sfr SSP1ADD; 4823 4824 typedef struct 4825 { 4826 unsigned MSK0 : 1; 4827 unsigned MSK1 : 1; 4828 unsigned MSK2 : 1; 4829 unsigned MSK3 : 1; 4830 unsigned MSK4 : 1; 4831 unsigned MSK5 : 1; 4832 unsigned MSK6 : 1; 4833 unsigned MSK7 : 1; 4834 } __SSP1ADDbits_t; 4835 4836 extern __at(0x0FC8) volatile __SSP1ADDbits_t SSP1ADDbits; 4837 4838 #define _MSK0 0x01 4839 #define _MSK1 0x02 4840 #define _MSK2 0x04 4841 #define _MSK3 0x08 4842 #define _MSK4 0x10 4843 #define _MSK5 0x20 4844 #define _MSK6 0x40 4845 #define _MSK7 0x80 4846 4847 //============================================================================== 4848 4849 4850 //============================================================================== 4851 // SSP1MSK Bits 4852 4853 extern __at(0x0FC8) __sfr SSP1MSK; 4854 4855 typedef struct 4856 { 4857 unsigned MSK0 : 1; 4858 unsigned MSK1 : 1; 4859 unsigned MSK2 : 1; 4860 unsigned MSK3 : 1; 4861 unsigned MSK4 : 1; 4862 unsigned MSK5 : 1; 4863 unsigned MSK6 : 1; 4864 unsigned MSK7 : 1; 4865 } __SSP1MSKbits_t; 4866 4867 extern __at(0x0FC8) volatile __SSP1MSKbits_t SSP1MSKbits; 4868 4869 #define _SSP1MSK_MSK0 0x01 4870 #define _SSP1MSK_MSK1 0x02 4871 #define _SSP1MSK_MSK2 0x04 4872 #define _SSP1MSK_MSK3 0x08 4873 #define _SSP1MSK_MSK4 0x10 4874 #define _SSP1MSK_MSK5 0x20 4875 #define _SSP1MSK_MSK6 0x40 4876 #define _SSP1MSK_MSK7 0x80 4877 4878 //============================================================================== 4879 4880 4881 //============================================================================== 4882 // SSPADD Bits 4883 4884 extern __at(0x0FC8) __sfr SSPADD; 4885 4886 typedef struct 4887 { 4888 unsigned MSK0 : 1; 4889 unsigned MSK1 : 1; 4890 unsigned MSK2 : 1; 4891 unsigned MSK3 : 1; 4892 unsigned MSK4 : 1; 4893 unsigned MSK5 : 1; 4894 unsigned MSK6 : 1; 4895 unsigned MSK7 : 1; 4896 } __SSPADDbits_t; 4897 4898 extern __at(0x0FC8) volatile __SSPADDbits_t SSPADDbits; 4899 4900 #define _SSPADD_MSK0 0x01 4901 #define _SSPADD_MSK1 0x02 4902 #define _SSPADD_MSK2 0x04 4903 #define _SSPADD_MSK3 0x08 4904 #define _SSPADD_MSK4 0x10 4905 #define _SSPADD_MSK5 0x20 4906 #define _SSPADD_MSK6 0x40 4907 #define _SSPADD_MSK7 0x80 4908 4909 //============================================================================== 4910 4911 extern __at(0x0FC9) __sfr SSP1BUF; 4912 extern __at(0x0FC9) __sfr SSPBUF; 4913 4914 //============================================================================== 4915 // T2CON Bits 4916 4917 extern __at(0x0FCA) __sfr T2CON; 4918 4919 typedef union 4920 { 4921 struct 4922 { 4923 unsigned T2CKPS0 : 1; 4924 unsigned T2CKPS1 : 1; 4925 unsigned TMR2ON : 1; 4926 unsigned T2OUTPS0 : 1; 4927 unsigned T2OUTPS1 : 1; 4928 unsigned T2OUTPS2 : 1; 4929 unsigned T2OUTPS3 : 1; 4930 unsigned : 1; 4931 }; 4932 4933 struct 4934 { 4935 unsigned T2CKPS : 2; 4936 unsigned : 6; 4937 }; 4938 4939 struct 4940 { 4941 unsigned : 3; 4942 unsigned T2OUTPS : 4; 4943 unsigned : 1; 4944 }; 4945 } __T2CONbits_t; 4946 4947 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits; 4948 4949 #define _T2CKPS0 0x01 4950 #define _T2CKPS1 0x02 4951 #define _TMR2ON 0x04 4952 #define _T2OUTPS0 0x08 4953 #define _T2OUTPS1 0x10 4954 #define _T2OUTPS2 0x20 4955 #define _T2OUTPS3 0x40 4956 4957 //============================================================================== 4958 4959 extern __at(0x0FCB) __sfr PR2; 4960 extern __at(0x0FCC) __sfr TMR2; 4961 4962 //============================================================================== 4963 // T1CON Bits 4964 4965 extern __at(0x0FCD) __sfr T1CON; 4966 4967 typedef union 4968 { 4969 struct 4970 { 4971 unsigned TMR1ON : 1; 4972 unsigned RD16 : 1; 4973 unsigned T1SYNC : 1; 4974 unsigned T1OSCEN : 1; 4975 unsigned T1CKPS0 : 1; 4976 unsigned T1CKPS1 : 1; 4977 unsigned TMR1CS0 : 1; 4978 unsigned TMR1CS1 : 1; 4979 }; 4980 4981 struct 4982 { 4983 unsigned : 4; 4984 unsigned T1CKPS : 2; 4985 unsigned : 2; 4986 }; 4987 4988 struct 4989 { 4990 unsigned : 6; 4991 unsigned TMR1CS : 2; 4992 }; 4993 } __T1CONbits_t; 4994 4995 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits; 4996 4997 #define _TMR1ON 0x01 4998 #define _RD16 0x02 4999 #define _T1SYNC 0x04 5000 #define _T1OSCEN 0x08 5001 #define _T1CKPS0 0x10 5002 #define _T1CKPS1 0x20 5003 #define _TMR1CS0 0x40 5004 #define _TMR1CS1 0x80 5005 5006 //============================================================================== 5007 5008 extern __at(0x0FCE) __sfr TMR1; 5009 extern __at(0x0FCE) __sfr TMR1L; 5010 extern __at(0x0FCF) __sfr TMR1H; 5011 5012 //============================================================================== 5013 // RCON Bits 5014 5015 extern __at(0x0FD0) __sfr RCON; 5016 5017 typedef union 5018 { 5019 struct 5020 { 5021 unsigned NOT_BOR : 1; 5022 unsigned NOT_POR : 1; 5023 unsigned NOT_PD : 1; 5024 unsigned NOT_TO : 1; 5025 unsigned NOT_RI : 1; 5026 unsigned NOT_CM : 1; 5027 unsigned : 1; 5028 unsigned IPEN : 1; 5029 }; 5030 5031 struct 5032 { 5033 unsigned BOR : 1; 5034 unsigned POR : 1; 5035 unsigned PD : 1; 5036 unsigned TO : 1; 5037 unsigned RI : 1; 5038 unsigned CM : 1; 5039 unsigned : 1; 5040 unsigned : 1; 5041 }; 5042 } __RCONbits_t; 5043 5044 extern __at(0x0FD0) volatile __RCONbits_t RCONbits; 5045 5046 #define _NOT_BOR 0x01 5047 #define _BOR 0x01 5048 #define _NOT_POR 0x02 5049 #define _POR 0x02 5050 #define _NOT_PD 0x04 5051 #define _PD 0x04 5052 #define _NOT_TO 0x08 5053 #define _TO 0x08 5054 #define _NOT_RI 0x10 5055 #define _RI 0x10 5056 #define _NOT_CM 0x20 5057 #define _CM 0x20 5058 #define _IPEN 0x80 5059 5060 //============================================================================== 5061 5062 5063 //============================================================================== 5064 // CM2CON Bits 5065 5066 extern __at(0x0FD1) __sfr CM2CON; 5067 5068 typedef union 5069 { 5070 struct 5071 { 5072 unsigned CCH0 : 1; 5073 unsigned CCH1 : 1; 5074 unsigned CREF : 1; 5075 unsigned EVPOL0 : 1; 5076 unsigned EVPOL1 : 1; 5077 unsigned CPOL : 1; 5078 unsigned COE : 1; 5079 unsigned CON : 1; 5080 }; 5081 5082 struct 5083 { 5084 unsigned CCH : 2; 5085 unsigned : 6; 5086 }; 5087 5088 struct 5089 { 5090 unsigned : 3; 5091 unsigned EVPOL : 2; 5092 unsigned : 3; 5093 }; 5094 } __CM2CONbits_t; 5095 5096 extern __at(0x0FD1) volatile __CM2CONbits_t CM2CONbits; 5097 5098 #define _CM2CON_CCH0 0x01 5099 #define _CM2CON_CCH1 0x02 5100 #define _CM2CON_CREF 0x04 5101 #define _CM2CON_EVPOL0 0x08 5102 #define _CM2CON_EVPOL1 0x10 5103 #define _CM2CON_CPOL 0x20 5104 #define _CM2CON_COE 0x40 5105 #define _CM2CON_CON 0x80 5106 5107 //============================================================================== 5108 5109 5110 //============================================================================== 5111 // CM2CON1 Bits 5112 5113 extern __at(0x0FD1) __sfr CM2CON1; 5114 5115 typedef union 5116 { 5117 struct 5118 { 5119 unsigned CCH0 : 1; 5120 unsigned CCH1 : 1; 5121 unsigned CREF : 1; 5122 unsigned EVPOL0 : 1; 5123 unsigned EVPOL1 : 1; 5124 unsigned CPOL : 1; 5125 unsigned COE : 1; 5126 unsigned CON : 1; 5127 }; 5128 5129 struct 5130 { 5131 unsigned CCH : 2; 5132 unsigned : 6; 5133 }; 5134 5135 struct 5136 { 5137 unsigned : 3; 5138 unsigned EVPOL : 2; 5139 unsigned : 3; 5140 }; 5141 } __CM2CON1bits_t; 5142 5143 extern __at(0x0FD1) volatile __CM2CON1bits_t CM2CON1bits; 5144 5145 #define _CM2CON1_CCH0 0x01 5146 #define _CM2CON1_CCH1 0x02 5147 #define _CM2CON1_CREF 0x04 5148 #define _CM2CON1_EVPOL0 0x08 5149 #define _CM2CON1_EVPOL1 0x10 5150 #define _CM2CON1_CPOL 0x20 5151 #define _CM2CON1_COE 0x40 5152 #define _CM2CON1_CON 0x80 5153 5154 //============================================================================== 5155 5156 5157 //============================================================================== 5158 // CM1CON Bits 5159 5160 extern __at(0x0FD2) __sfr CM1CON; 5161 5162 typedef union 5163 { 5164 struct 5165 { 5166 unsigned CCH0 : 1; 5167 unsigned CCH1 : 1; 5168 unsigned CREF : 1; 5169 unsigned EVPOL0 : 1; 5170 unsigned EVPOL1 : 1; 5171 unsigned CPOL : 1; 5172 unsigned COE : 1; 5173 unsigned CON : 1; 5174 }; 5175 5176 struct 5177 { 5178 unsigned CCH : 2; 5179 unsigned : 6; 5180 }; 5181 5182 struct 5183 { 5184 unsigned : 3; 5185 unsigned EVPOL : 2; 5186 unsigned : 3; 5187 }; 5188 } __CM1CONbits_t; 5189 5190 extern __at(0x0FD2) volatile __CM1CONbits_t CM1CONbits; 5191 5192 #define _CCH0 0x01 5193 #define _CCH1 0x02 5194 #define _CREF 0x04 5195 #define _EVPOL0 0x08 5196 #define _EVPOL1 0x10 5197 #define _CPOL 0x20 5198 #define _COE 0x40 5199 #define _CON 0x80 5200 5201 //============================================================================== 5202 5203 5204 //============================================================================== 5205 // CM1CON1 Bits 5206 5207 extern __at(0x0FD2) __sfr CM1CON1; 5208 5209 typedef union 5210 { 5211 struct 5212 { 5213 unsigned CCH0 : 1; 5214 unsigned CCH1 : 1; 5215 unsigned CREF : 1; 5216 unsigned EVPOL0 : 1; 5217 unsigned EVPOL1 : 1; 5218 unsigned CPOL : 1; 5219 unsigned COE : 1; 5220 unsigned CON : 1; 5221 }; 5222 5223 struct 5224 { 5225 unsigned CCH : 2; 5226 unsigned : 6; 5227 }; 5228 5229 struct 5230 { 5231 unsigned : 3; 5232 unsigned EVPOL : 2; 5233 unsigned : 3; 5234 }; 5235 } __CM1CON1bits_t; 5236 5237 extern __at(0x0FD2) volatile __CM1CON1bits_t CM1CON1bits; 5238 5239 #define _CM1CON1_CCH0 0x01 5240 #define _CM1CON1_CCH1 0x02 5241 #define _CM1CON1_CREF 0x04 5242 #define _CM1CON1_EVPOL0 0x08 5243 #define _CM1CON1_EVPOL1 0x10 5244 #define _CM1CON1_CPOL 0x20 5245 #define _CM1CON1_COE 0x40 5246 #define _CM1CON1_CON 0x80 5247 5248 //============================================================================== 5249 5250 5251 //============================================================================== 5252 // OSCCON Bits 5253 5254 extern __at(0x0FD3) __sfr OSCCON; 5255 5256 typedef union 5257 { 5258 struct 5259 { 5260 unsigned SCS0 : 1; 5261 unsigned SCS1 : 1; 5262 unsigned : 1; 5263 unsigned OSTS : 1; 5264 unsigned IRCF0 : 1; 5265 unsigned IRCF1 : 1; 5266 unsigned IRCF2 : 1; 5267 unsigned IDLEN : 1; 5268 }; 5269 5270 struct 5271 { 5272 unsigned SCS : 2; 5273 unsigned : 6; 5274 }; 5275 5276 struct 5277 { 5278 unsigned : 4; 5279 unsigned IRCF : 3; 5280 unsigned : 1; 5281 }; 5282 } __OSCCONbits_t; 5283 5284 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits; 5285 5286 #define _SCS0 0x01 5287 #define _SCS1 0x02 5288 #define _OSTS 0x08 5289 #define _IRCF0 0x10 5290 #define _IRCF1 0x20 5291 #define _IRCF2 0x40 5292 #define _IDLEN 0x80 5293 5294 //============================================================================== 5295 5296 5297 //============================================================================== 5298 // T0CON Bits 5299 5300 extern __at(0x0FD5) __sfr T0CON; 5301 5302 typedef union 5303 { 5304 struct 5305 { 5306 unsigned T0PS0 : 1; 5307 unsigned T0PS1 : 1; 5308 unsigned T0PS2 : 1; 5309 unsigned PSA : 1; 5310 unsigned T0SE : 1; 5311 unsigned T0CS : 1; 5312 unsigned T08BIT : 1; 5313 unsigned TMR0ON : 1; 5314 }; 5315 5316 struct 5317 { 5318 unsigned T0PS : 3; 5319 unsigned : 5; 5320 }; 5321 } __T0CONbits_t; 5322 5323 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits; 5324 5325 #define _T0PS0 0x01 5326 #define _T0PS1 0x02 5327 #define _T0PS2 0x04 5328 #define _PSA 0x08 5329 #define _T0SE 0x10 5330 #define _T0CS 0x20 5331 #define _T08BIT 0x40 5332 #define _TMR0ON 0x80 5333 5334 //============================================================================== 5335 5336 extern __at(0x0FD6) __sfr TMR0; 5337 extern __at(0x0FD6) __sfr TMR0L; 5338 extern __at(0x0FD7) __sfr TMR0H; 5339 5340 //============================================================================== 5341 // STATUS Bits 5342 5343 extern __at(0x0FD8) __sfr STATUS; 5344 5345 typedef struct 5346 { 5347 unsigned C : 1; 5348 unsigned DC : 1; 5349 unsigned Z : 1; 5350 unsigned OV : 1; 5351 unsigned N : 1; 5352 unsigned : 1; 5353 unsigned : 1; 5354 unsigned : 1; 5355 } __STATUSbits_t; 5356 5357 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits; 5358 5359 #define _C 0x01 5360 #define _DC 0x02 5361 #define _Z 0x04 5362 #define _OV 0x08 5363 #define _N 0x10 5364 5365 //============================================================================== 5366 5367 extern __at(0x0FD9) __sfr FSR2L; 5368 extern __at(0x0FDA) __sfr FSR2H; 5369 extern __at(0x0FDB) __sfr PLUSW2; 5370 extern __at(0x0FDC) __sfr PREINC2; 5371 extern __at(0x0FDD) __sfr POSTDEC2; 5372 extern __at(0x0FDE) __sfr POSTINC2; 5373 extern __at(0x0FDF) __sfr INDF2; 5374 extern __at(0x0FE0) __sfr BSR; 5375 extern __at(0x0FE1) __sfr FSR1L; 5376 extern __at(0x0FE2) __sfr FSR1H; 5377 extern __at(0x0FE3) __sfr PLUSW1; 5378 extern __at(0x0FE4) __sfr PREINC1; 5379 extern __at(0x0FE5) __sfr POSTDEC1; 5380 extern __at(0x0FE6) __sfr POSTINC1; 5381 extern __at(0x0FE7) __sfr INDF1; 5382 extern __at(0x0FE8) __sfr WREG; 5383 extern __at(0x0FE9) __sfr FSR0L; 5384 extern __at(0x0FEA) __sfr FSR0H; 5385 extern __at(0x0FEB) __sfr PLUSW0; 5386 extern __at(0x0FEC) __sfr PREINC0; 5387 extern __at(0x0FED) __sfr POSTDEC0; 5388 extern __at(0x0FEE) __sfr POSTINC0; 5389 extern __at(0x0FEF) __sfr INDF0; 5390 5391 //============================================================================== 5392 // INTCON3 Bits 5393 5394 extern __at(0x0FF0) __sfr INTCON3; 5395 5396 typedef union 5397 { 5398 struct 5399 { 5400 unsigned INT1IF : 1; 5401 unsigned INT2IF : 1; 5402 unsigned INT3IF : 1; 5403 unsigned INT1IE : 1; 5404 unsigned INT2IE : 1; 5405 unsigned INT3IE : 1; 5406 unsigned INT1IP : 1; 5407 unsigned INT2IP : 1; 5408 }; 5409 5410 struct 5411 { 5412 unsigned INT1F : 1; 5413 unsigned INT2F : 1; 5414 unsigned INT3F : 1; 5415 unsigned INT1E : 1; 5416 unsigned INT2E : 1; 5417 unsigned INT3E : 1; 5418 unsigned INT1P : 1; 5419 unsigned INT2P : 1; 5420 }; 5421 } __INTCON3bits_t; 5422 5423 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits; 5424 5425 #define _INT1IF 0x01 5426 #define _INT1F 0x01 5427 #define _INT2IF 0x02 5428 #define _INT2F 0x02 5429 #define _INT3IF 0x04 5430 #define _INT3F 0x04 5431 #define _INT1IE 0x08 5432 #define _INT1E 0x08 5433 #define _INT2IE 0x10 5434 #define _INT2E 0x10 5435 #define _INT3IE 0x20 5436 #define _INT3E 0x20 5437 #define _INT1IP 0x40 5438 #define _INT1P 0x40 5439 #define _INT2IP 0x80 5440 #define _INT2P 0x80 5441 5442 //============================================================================== 5443 5444 5445 //============================================================================== 5446 // INTCON2 Bits 5447 5448 extern __at(0x0FF1) __sfr INTCON2; 5449 5450 typedef union 5451 { 5452 struct 5453 { 5454 unsigned RBIP : 1; 5455 unsigned INT3IP : 1; 5456 unsigned TMR0IP : 1; 5457 unsigned INTEDG3 : 1; 5458 unsigned INTEDG2 : 1; 5459 unsigned INTEDG1 : 1; 5460 unsigned INTEDG0 : 1; 5461 unsigned NOT_RBPU : 1; 5462 }; 5463 5464 struct 5465 { 5466 unsigned : 1; 5467 unsigned INT3P : 1; 5468 unsigned T0IP : 1; 5469 unsigned : 1; 5470 unsigned : 1; 5471 unsigned : 1; 5472 unsigned : 1; 5473 unsigned RBPU : 1; 5474 }; 5475 } __INTCON2bits_t; 5476 5477 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits; 5478 5479 #define _RBIP 0x01 5480 #define _INT3IP 0x02 5481 #define _INT3P 0x02 5482 #define _TMR0IP 0x04 5483 #define _T0IP 0x04 5484 #define _INTEDG3 0x08 5485 #define _INTEDG2 0x10 5486 #define _INTEDG1 0x20 5487 #define _INTEDG0 0x40 5488 #define _NOT_RBPU 0x80 5489 #define _RBPU 0x80 5490 5491 //============================================================================== 5492 5493 5494 //============================================================================== 5495 // INTCON Bits 5496 5497 extern __at(0x0FF2) __sfr INTCON; 5498 5499 typedef union 5500 { 5501 struct 5502 { 5503 unsigned RBIF : 1; 5504 unsigned INT0IF : 1; 5505 unsigned TMR0IF : 1; 5506 unsigned RBIE : 1; 5507 unsigned INT0IE : 1; 5508 unsigned TMR0IE : 1; 5509 unsigned PEIE_GIEL : 1; 5510 unsigned GIE_GIEH : 1; 5511 }; 5512 5513 struct 5514 { 5515 unsigned : 1; 5516 unsigned INT0F : 1; 5517 unsigned T0IF : 1; 5518 unsigned : 1; 5519 unsigned INT0E : 1; 5520 unsigned T0IE : 1; 5521 unsigned PEIE : 1; 5522 unsigned GIE : 1; 5523 }; 5524 5525 struct 5526 { 5527 unsigned : 1; 5528 unsigned : 1; 5529 unsigned : 1; 5530 unsigned : 1; 5531 unsigned : 1; 5532 unsigned : 1; 5533 unsigned GIEL : 1; 5534 unsigned GIEH : 1; 5535 }; 5536 } __INTCONbits_t; 5537 5538 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits; 5539 5540 #define _RBIF 0x01 5541 #define _INT0IF 0x02 5542 #define _INT0F 0x02 5543 #define _TMR0IF 0x04 5544 #define _T0IF 0x04 5545 #define _RBIE 0x08 5546 #define _INT0IE 0x10 5547 #define _INT0E 0x10 5548 #define _TMR0IE 0x20 5549 #define _T0IE 0x20 5550 #define _PEIE_GIEL 0x40 5551 #define _PEIE 0x40 5552 #define _GIEL 0x40 5553 #define _GIE_GIEH 0x80 5554 #define _GIE 0x80 5555 #define _GIEH 0x80 5556 5557 //============================================================================== 5558 5559 extern __at(0x0FF3) __sfr PROD; 5560 extern __at(0x0FF3) __sfr PRODL; 5561 extern __at(0x0FF4) __sfr PRODH; 5562 extern __at(0x0FF5) __sfr TABLAT; 5563 extern __at(0x0FF6) __sfr TBLPTR; 5564 extern __at(0x0FF6) __sfr TBLPTRL; 5565 extern __at(0x0FF7) __sfr TBLPTRH; 5566 extern __at(0x0FF8) __sfr TBLPTRU; 5567 extern __at(0x0FF9) __sfr PC; 5568 extern __at(0x0FF9) __sfr PCL; 5569 extern __at(0x0FFA) __sfr PCLATH; 5570 extern __at(0x0FFB) __sfr PCLATU; 5571 5572 //============================================================================== 5573 // STKPTR Bits 5574 5575 extern __at(0x0FFC) __sfr STKPTR; 5576 5577 typedef union 5578 { 5579 struct 5580 { 5581 unsigned SP0 : 1; 5582 unsigned SP1 : 1; 5583 unsigned SP2 : 1; 5584 unsigned SP3 : 1; 5585 unsigned SP4 : 1; 5586 unsigned : 1; 5587 unsigned STKUNF : 1; 5588 unsigned STKFUL : 1; 5589 }; 5590 5591 struct 5592 { 5593 unsigned : 1; 5594 unsigned : 1; 5595 unsigned : 1; 5596 unsigned : 1; 5597 unsigned : 1; 5598 unsigned : 1; 5599 unsigned : 1; 5600 unsigned STKOVF : 1; 5601 }; 5602 5603 struct 5604 { 5605 unsigned SP : 5; 5606 unsigned : 3; 5607 }; 5608 } __STKPTRbits_t; 5609 5610 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits; 5611 5612 #define _SP0 0x01 5613 #define _SP1 0x02 5614 #define _SP2 0x04 5615 #define _SP3 0x08 5616 #define _SP4 0x10 5617 #define _STKUNF 0x40 5618 #define _STKFUL 0x80 5619 #define _STKOVF 0x80 5620 5621 //============================================================================== 5622 5623 extern __at(0x0FFD) __sfr TOS; 5624 extern __at(0x0FFD) __sfr TOSL; 5625 extern __at(0x0FFE) __sfr TOSH; 5626 extern __at(0x0FFF) __sfr TOSU; 5627 5628 //============================================================================== 5629 // 5630 // Configuration Addresses 5631 // 5632 //============================================================================== 5633 5634 #define __CONFIG1L 0x003FF8 5635 #define __CONFIG1H 0x003FF9 5636 #define __CONFIG2L 0x003FFA 5637 #define __CONFIG2H 0x003FFB 5638 #define __CONFIG3L 0x003FFC 5639 #define __CONFIG3H 0x003FFD 5640 #define __CONFIG4L 0x003FFE 5641 #define __CONFIG4H 0x003FFF 5642 5643 //============================================================================== 5644 5645 #endif // #ifndef __PIC18F44J11_H__ 5646