1 LIST 2 3;========================================================================== 4; Build date : Oct 21 2015 5; MPASM PIC18F2221 processor include 6; 7; (c) Copyright 1999-2015 Microchip Technology, All rights reserved 8;========================================================================== 9 10 NOLIST 11 12;========================================================================== 13; This header file defines configurations, registers, and other useful 14; bits of information for the PIC18F2221 microcontroller. These names 15; are taken to match the data sheets as closely as possible. 16; 17; Note that the processor must be selected before this file is included. 18; The processor may be selected the following ways: 19; 20; 1. Command line switch: 21; C:\MPASM MYFILE.ASM /PIC18F2221 22; 2. LIST directive in the source file 23; LIST P=PIC18F2221 24; 3. Processor Type entry in the MPASM full-screen interface 25; 4. Setting the processor in the MPLAB Project Dialog 26;========================================================================== 27 28;========================================================================== 29; 30; Verify Processor 31; 32;========================================================================== 33 IFNDEF __18F2221 34 MESSG "Processor-header file mismatch. Verify selected processor." 35 ENDIF 36 37;========================================================================== 38; 18xxxx Family EQUates 39;========================================================================== 40FSR0 EQU 0 41FSR1 EQU 1 42FSR2 EQU 2 43 44FAST EQU 1 45 46W EQU 0 47A EQU 0 48ACCESS EQU 0 49BANKED EQU 1 50;========================================================================== 51 52;========================================================================== 53; 16Cxxx/17Cxxx Substitutions 54;========================================================================== 55 #define DDRA TRISA ; PIC17Cxxx SFR substitution 56 #define DDRB TRISB ; PIC17Cxxx SFR substitution 57 #define DDRC TRISC ; PIC17Cxxx SFR substitution 58 #define DDRD TRISD ; PIC17Cxxx SFR substitution 59 #define DDRE TRISE ; PIC17Cxxx SFR substitution 60 61;========================================================================== 62; 63; Register Definitions 64; 65;========================================================================== 66 67;----- Register Files ----------------------------------------------------- 68PORTA EQU H'0F80' 69PORTB EQU H'0F81' 70PORTC EQU H'0F82' 71PORTE EQU H'0F84' 72LATA EQU H'0F89' 73LATB EQU H'0F8A' 74LATC EQU H'0F8B' 75DDRA EQU H'0F92' 76TRISA EQU H'0F92' 77DDRB EQU H'0F93' 78TRISB EQU H'0F93' 79DDRC EQU H'0F94' 80TRISC EQU H'0F94' 81OSCTUNE EQU H'0F9B' 82PIE1 EQU H'0F9D' 83PIR1 EQU H'0F9E' 84IPR1 EQU H'0F9F' 85PIE2 EQU H'0FA0' 86PIR2 EQU H'0FA1' 87IPR2 EQU H'0FA2' 88EECON1 EQU H'0FA6' 89EECON2 EQU H'0FA7' 90EEDATA EQU H'0FA8' 91EEADR EQU H'0FA9' 92RCSTA EQU H'0FAB' 93TXSTA EQU H'0FAC' 94TXREG EQU H'0FAD' 95RCREG EQU H'0FAE' 96SPBRG EQU H'0FAF' 97SPBRGH EQU H'0FB0' 98T3CON EQU H'0FB1' 99TMR3 EQU H'0FB2' 100TMR3L EQU H'0FB2' 101TMR3H EQU H'0FB3' 102CMCON EQU H'0FB4' 103CVRCON EQU H'0FB5' 104ECCP1AS EQU H'0FB6' 105ECCP1DEL EQU H'0FB7' 106PWM1CON EQU H'0FB7' 107BAUDCON EQU H'0FB8' 108BAUDCTL EQU H'0FB8' 109CCP2CON EQU H'0FBA' 110CCPR2 EQU H'0FBB' 111CCPR2L EQU H'0FBB' 112CCPR2H EQU H'0FBC' 113CCP1CON EQU H'0FBD' 114ECCP1CON EQU H'0FBD' 115CCPR1 EQU H'0FBE' 116CCPR1L EQU H'0FBE' 117CCPR1H EQU H'0FBF' 118ADCON2 EQU H'0FC0' 119ADCON1 EQU H'0FC1' 120ADCON0 EQU H'0FC2' 121ADRES EQU H'0FC3' 122ADRESL EQU H'0FC3' 123ADRESH EQU H'0FC4' 124SSPCON2 EQU H'0FC5' 125SSPCON1 EQU H'0FC6' 126SSPSTAT EQU H'0FC7' 127SSPADD EQU H'0FC8' 128SSPBUF EQU H'0FC9' 129T2CON EQU H'0FCA' 130PR2 EQU H'0FCB' 131TMR2 EQU H'0FCC' 132T1CON EQU H'0FCD' 133TMR1 EQU H'0FCE' 134TMR1L EQU H'0FCE' 135TMR1H EQU H'0FCF' 136RCON EQU H'0FD0' 137WDTCON EQU H'0FD1' 138HLVDCON EQU H'0FD2' 139LVDCON EQU H'0FD2' 140OSCCON EQU H'0FD3' 141T0CON EQU H'0FD5' 142TMR0 EQU H'0FD6' 143TMR0L EQU H'0FD6' 144TMR0H EQU H'0FD7' 145STATUS EQU H'0FD8' 146FSR2L EQU H'0FD9' 147FSR2H EQU H'0FDA' 148PLUSW2 EQU H'0FDB' 149PREINC2 EQU H'0FDC' 150POSTDEC2 EQU H'0FDD' 151POSTINC2 EQU H'0FDE' 152INDF2 EQU H'0FDF' 153BSR EQU H'0FE0' 154FSR1L EQU H'0FE1' 155FSR1H EQU H'0FE2' 156PLUSW1 EQU H'0FE3' 157PREINC1 EQU H'0FE4' 158POSTDEC1 EQU H'0FE5' 159POSTINC1 EQU H'0FE6' 160INDF1 EQU H'0FE7' 161WREG EQU H'0FE8' 162FSR0L EQU H'0FE9' 163FSR0H EQU H'0FEA' 164PLUSW0 EQU H'0FEB' 165PREINC0 EQU H'0FEC' 166POSTDEC0 EQU H'0FED' 167POSTINC0 EQU H'0FEE' 168INDF0 EQU H'0FEF' 169INTCON3 EQU H'0FF0' 170INTCON2 EQU H'0FF1' 171INTCON EQU H'0FF2' 172PROD EQU H'0FF3' 173PRODL EQU H'0FF3' 174PRODH EQU H'0FF4' 175TABLAT EQU H'0FF5' 176TBLPTR EQU H'0FF6' 177TBLPTRL EQU H'0FF6' 178TBLPTRH EQU H'0FF7' 179TBLPTRU EQU H'0FF8' 180PC EQU H'0FF9' 181PCL EQU H'0FF9' 182PCLATH EQU H'0FFA' 183PCLATU EQU H'0FFB' 184STKPTR EQU H'0FFC' 185TOS EQU H'0FFD' 186TOSL EQU H'0FFD' 187TOSH EQU H'0FFE' 188TOSU EQU H'0FFF' 189 190;----- PORTA Bits ----------------------------------------------------- 191RA0 EQU H'0000' 192RA1 EQU H'0001' 193RA2 EQU H'0002' 194RA3 EQU H'0003' 195RA4 EQU H'0004' 196RA5 EQU H'0005' 197RA6 EQU H'0006' 198RA7 EQU H'0007' 199 200AN0 EQU H'0000' 201AN1 EQU H'0001' 202AN2 EQU H'0002' 203AN3 EQU H'0003' 204AN4 EQU H'0005' 205OSC2 EQU H'0006' 206OSC1 EQU H'0007' 207 208C1N EQU H'0000' 209C2N EQU H'0001' 210C2P EQU H'0002' 211C1P EQU H'0003' 212C1OUT_PORTA EQU H'0004' 213C2OUT_PORTA EQU H'0005' 214CLKO EQU H'0006' 215CLKI EQU H'0007' 216 217VREFM EQU H'0002' 218VREFP EQU H'0003' 219HLVDIN EQU H'0005' 220 221CVREF EQU H'0002' 222T0CKI EQU H'0004' 223NOT_SS EQU H'0005' 224 225 226;----- PORTB Bits ----------------------------------------------------- 227RB0 EQU H'0000' 228RB1 EQU H'0001' 229RB2 EQU H'0002' 230RB3 EQU H'0003' 231RB4 EQU H'0004' 232RB5 EQU H'0005' 233RB6 EQU H'0006' 234RB7 EQU H'0007' 235 236INT0 EQU H'0000' 237INT1 EQU H'0001' 238INT2 EQU H'0002' 239CCP2_PORTB EQU H'0003' 240KBI0 EQU H'0004' 241KBI1 EQU H'0005' 242KBI2 EQU H'0006' 243KBI3 EQU H'0007' 244 245AN12 EQU H'0000' 246AN10 EQU H'0001' 247AN8 EQU H'0002' 248AN9 EQU H'0003' 249AN11 EQU H'0004' 250PGM EQU H'0005' 251PGC EQU H'0006' 252PGD EQU H'0007' 253 254FLT0 EQU H'0000' 255 256 257;----- PORTC Bits ----------------------------------------------------- 258RC0 EQU H'0000' 259RC1 EQU H'0001' 260RC2 EQU H'0002' 261RC3 EQU H'0003' 262RC4 EQU H'0004' 263RC5 EQU H'0005' 264RC6 EQU H'0006' 265RC7 EQU H'0007' 266 267T1OSO EQU H'0000' 268T1OSI EQU H'0001' 269CCP1 EQU H'0002' 270SCK EQU H'0003' 271SDI EQU H'0004' 272SDO EQU H'0005' 273TX EQU H'0006' 274RX EQU H'0007' 275 276T13CKI EQU H'0000' 277CCP2_PORTC EQU H'0001' 278P1A EQU H'0002' 279SCL EQU H'0003' 280SDA EQU H'0004' 281CK EQU H'0006' 282; DT is a reserved word 283; DT EQU H'0007' 284 285T1CKI EQU H'0000' 286 287 288;----- PORTE Bits ----------------------------------------------------- 289RE3 EQU H'0003' 290 291MCLR EQU H'0003' 292 293NOT_MCLR EQU H'0003' 294 295VPP EQU H'0003' 296 297 298;----- LATA Bits ----------------------------------------------------- 299LATA0 EQU H'0000' 300LATA1 EQU H'0001' 301LATA2 EQU H'0002' 302LATA3 EQU H'0003' 303LATA4 EQU H'0004' 304LATA5 EQU H'0005' 305LATA6 EQU H'0006' 306LATA7 EQU H'0007' 307 308 309;----- LATB Bits ----------------------------------------------------- 310LATB0 EQU H'0000' 311LATB1 EQU H'0001' 312LATB2 EQU H'0002' 313LATB3 EQU H'0003' 314LATB4 EQU H'0004' 315LATB5 EQU H'0005' 316LATB6 EQU H'0006' 317LATB7 EQU H'0007' 318 319 320;----- LATC Bits ----------------------------------------------------- 321LATC0 EQU H'0000' 322LATC1 EQU H'0001' 323LATC2 EQU H'0002' 324LATC3 EQU H'0003' 325LATC4 EQU H'0004' 326LATC5 EQU H'0005' 327LATC6 EQU H'0006' 328LATC7 EQU H'0007' 329 330 331;----- DDRA Bits ----------------------------------------------------- 332TRISA0 EQU H'0000' 333TRISA1 EQU H'0001' 334TRISA2 EQU H'0002' 335TRISA3 EQU H'0003' 336TRISA4 EQU H'0004' 337TRISA5 EQU H'0005' 338TRISA6 EQU H'0006' 339TRISA7 EQU H'0007' 340 341RA0 EQU H'0000' 342RA1 EQU H'0001' 343RA2 EQU H'0002' 344RA3 EQU H'0003' 345RA4 EQU H'0004' 346RA5 EQU H'0005' 347RA6 EQU H'0006' 348RA7 EQU H'0007' 349 350 351;----- TRISA Bits ----------------------------------------------------- 352TRISA0 EQU H'0000' 353TRISA1 EQU H'0001' 354TRISA2 EQU H'0002' 355TRISA3 EQU H'0003' 356TRISA4 EQU H'0004' 357TRISA5 EQU H'0005' 358TRISA6 EQU H'0006' 359TRISA7 EQU H'0007' 360 361RA0 EQU H'0000' 362RA1 EQU H'0001' 363RA2 EQU H'0002' 364RA3 EQU H'0003' 365RA4 EQU H'0004' 366RA5 EQU H'0005' 367RA6 EQU H'0006' 368RA7 EQU H'0007' 369 370 371;----- DDRB Bits ----------------------------------------------------- 372TRISB0 EQU H'0000' 373TRISB1 EQU H'0001' 374TRISB2 EQU H'0002' 375TRISB3 EQU H'0003' 376TRISB4 EQU H'0004' 377TRISB5 EQU H'0005' 378TRISB6 EQU H'0006' 379TRISB7 EQU H'0007' 380 381RB0 EQU H'0000' 382RB1 EQU H'0001' 383RB2 EQU H'0002' 384RB3 EQU H'0003' 385RB4 EQU H'0004' 386RB5 EQU H'0005' 387RB6 EQU H'0006' 388RB7 EQU H'0007' 389 390 391;----- TRISB Bits ----------------------------------------------------- 392TRISB0 EQU H'0000' 393TRISB1 EQU H'0001' 394TRISB2 EQU H'0002' 395TRISB3 EQU H'0003' 396TRISB4 EQU H'0004' 397TRISB5 EQU H'0005' 398TRISB6 EQU H'0006' 399TRISB7 EQU H'0007' 400 401RB0 EQU H'0000' 402RB1 EQU H'0001' 403RB2 EQU H'0002' 404RB3 EQU H'0003' 405RB4 EQU H'0004' 406RB5 EQU H'0005' 407RB6 EQU H'0006' 408RB7 EQU H'0007' 409 410 411;----- DDRC Bits ----------------------------------------------------- 412TRISC0 EQU H'0000' 413TRISC1 EQU H'0001' 414TRISC2 EQU H'0002' 415TRISC3 EQU H'0003' 416TRISC4 EQU H'0004' 417TRISC5 EQU H'0005' 418TRISC6 EQU H'0006' 419TRISC7 EQU H'0007' 420 421RC0 EQU H'0000' 422RC1 EQU H'0001' 423RC2 EQU H'0002' 424RC3 EQU H'0003' 425RC4 EQU H'0004' 426RC5 EQU H'0005' 427RC6 EQU H'0006' 428RC7 EQU H'0007' 429 430 431;----- TRISC Bits ----------------------------------------------------- 432TRISC0 EQU H'0000' 433TRISC1 EQU H'0001' 434TRISC2 EQU H'0002' 435TRISC3 EQU H'0003' 436TRISC4 EQU H'0004' 437TRISC5 EQU H'0005' 438TRISC6 EQU H'0006' 439TRISC7 EQU H'0007' 440 441RC0 EQU H'0000' 442RC1 EQU H'0001' 443RC2 EQU H'0002' 444RC3 EQU H'0003' 445RC4 EQU H'0004' 446RC5 EQU H'0005' 447RC6 EQU H'0006' 448RC7 EQU H'0007' 449 450 451;----- OSCTUNE Bits ----------------------------------------------------- 452PLLEN EQU H'0006' 453INTSRC EQU H'0007' 454 455TUN0 EQU H'0000' 456TUN1 EQU H'0001' 457TUN2 EQU H'0002' 458TUN3 EQU H'0003' 459TUN4 EQU H'0004' 460 461 462;----- PIE1 Bits ----------------------------------------------------- 463TMR1IE EQU H'0000' 464TMR2IE EQU H'0001' 465CCP1IE EQU H'0002' 466SSPIE EQU H'0003' 467TXIE EQU H'0004' 468RCIE EQU H'0005' 469ADIE EQU H'0006' 470 471 472;----- PIR1 Bits ----------------------------------------------------- 473TMR1IF EQU H'0000' 474TMR2IF EQU H'0001' 475CCP1IF EQU H'0002' 476SSPIF EQU H'0003' 477TXIF EQU H'0004' 478RCIF EQU H'0005' 479ADIF EQU H'0006' 480 481 482;----- IPR1 Bits ----------------------------------------------------- 483TMR1IP EQU H'0000' 484TMR2IP EQU H'0001' 485CCP1IP EQU H'0002' 486SSPIP EQU H'0003' 487TXIP EQU H'0004' 488RCIP EQU H'0005' 489ADIP EQU H'0006' 490 491 492;----- PIE2 Bits ----------------------------------------------------- 493CCP2IE EQU H'0000' 494TMR3IE EQU H'0001' 495HLVDIE EQU H'0002' 496BCLIE EQU H'0003' 497EEIE EQU H'0004' 498CMIE EQU H'0006' 499OSCFIE EQU H'0007' 500 501LVDIE EQU H'0002' 502 503 504;----- PIR2 Bits ----------------------------------------------------- 505CCP2IF EQU H'0000' 506TMR3IF EQU H'0001' 507HLVDIF EQU H'0002' 508BCLIF EQU H'0003' 509EEIF EQU H'0004' 510CMIF EQU H'0006' 511OSCFIF EQU H'0007' 512 513LVDIF EQU H'0002' 514 515 516;----- IPR2 Bits ----------------------------------------------------- 517CCP2IP EQU H'0000' 518TMR3IP EQU H'0001' 519HLVDIP EQU H'0002' 520BCLIP EQU H'0003' 521EEIP EQU H'0004' 522CMIP EQU H'0006' 523OSCFIP EQU H'0007' 524 525LVDIP EQU H'0002' 526 527 528;----- EECON1 Bits ----------------------------------------------------- 529RD EQU H'0000' 530WR EQU H'0001' 531WREN EQU H'0002' 532WRERR EQU H'0003' 533FREE EQU H'0004' 534CFGS EQU H'0006' 535EEPGD EQU H'0007' 536 537 538;----- RCSTA Bits ----------------------------------------------------- 539RX9D EQU H'0000' 540OERR EQU H'0001' 541FERR EQU H'0002' 542ADDEN EQU H'0003' 543CREN EQU H'0004' 544SREN EQU H'0005' 545RX9 EQU H'0006' 546SPEN EQU H'0007' 547 548ADEN EQU H'0003' 549 550 551;----- TXSTA Bits ----------------------------------------------------- 552TX9D EQU H'0000' 553TRMT EQU H'0001' 554BRGH EQU H'0002' 555SENDB EQU H'0003' 556SYNC EQU H'0004' 557TXEN EQU H'0005' 558TX9 EQU H'0006' 559CSRC EQU H'0007' 560 561 562;----- T3CON Bits ----------------------------------------------------- 563TMR3ON EQU H'0000' 564TMR3CS EQU H'0001' 565NOT_T3SYNC EQU H'0002' 566T3CCP1 EQU H'0003' 567T3CCP2 EQU H'0006' 568RD16 EQU H'0007' 569 570T3SYNC EQU H'0002' 571T3CKPS0 EQU H'0004' 572T3CKPS1 EQU H'0005' 573 574 575;----- CMCON Bits ----------------------------------------------------- 576CIS EQU H'0003' 577C1INV EQU H'0004' 578C2INV EQU H'0005' 579C1OUT_CMCON EQU H'0006' 580C2OUT_CMCON EQU H'0007' 581 582CM0 EQU H'0000' 583CM1 EQU H'0001' 584CM2 EQU H'0002' 585 586 587;----- CVRCON Bits ----------------------------------------------------- 588CVRSS EQU H'0004' 589CVRR EQU H'0005' 590CVROE EQU H'0006' 591CVREN EQU H'0007' 592 593CVR0 EQU H'0000' 594CVR1 EQU H'0001' 595CVR2 EQU H'0002' 596CVR3 EQU H'0003' 597 598 599;----- ECCP1AS Bits ----------------------------------------------------- 600ECCPASE EQU H'0007' 601 602PSSAC0 EQU H'0002' 603PSSAC1 EQU H'0003' 604ECCPAS0 EQU H'0004' 605ECCPAS1 EQU H'0005' 606ECCPAS2 EQU H'0006' 607 608 609;----- ECCP1DEL Bits ----------------------------------------------------- 610PRSEN EQU H'0007' 611 612 613;----- PWM1CON Bits ----------------------------------------------------- 614PRSEN EQU H'0007' 615 616 617;----- BAUDCON Bits ----------------------------------------------------- 618ABDEN EQU H'0000' 619WUE EQU H'0001' 620BRG16 EQU H'0003' 621TXCKP EQU H'0004' 622RXDTP EQU H'0005' 623RCIDL EQU H'0006' 624ABDOVF EQU H'0007' 625 626SCKP EQU H'0004' 627RCMT EQU H'0006' 628 629 630;----- BAUDCTL Bits ----------------------------------------------------- 631ABDEN EQU H'0000' 632WUE EQU H'0001' 633BRG16 EQU H'0003' 634TXCKP EQU H'0004' 635RXDTP EQU H'0005' 636RCIDL EQU H'0006' 637ABDOVF EQU H'0007' 638 639SCKP EQU H'0004' 640RCMT EQU H'0006' 641 642 643;----- CCP2CON Bits ----------------------------------------------------- 644CCP2M0 EQU H'0000' 645CCP2M1 EQU H'0001' 646CCP2M2 EQU H'0002' 647CCP2M3 EQU H'0003' 648DC2B0 EQU H'0004' 649DC2B1 EQU H'0005' 650 651CCP2Y EQU H'0004' 652CCP2X EQU H'0005' 653 654 655;----- CCP1CON Bits ----------------------------------------------------- 656CCP1M0 EQU H'0000' 657CCP1M1 EQU H'0001' 658CCP1M2 EQU H'0002' 659CCP1M3 EQU H'0003' 660DC1B0 EQU H'0004' 661DC1B1 EQU H'0005' 662 663CCP1Y EQU H'0004' 664CCP1X EQU H'0005' 665 666 667;----- ECCP1CON Bits ----------------------------------------------------- 668CCP1M0 EQU H'0000' 669CCP1M1 EQU H'0001' 670CCP1M2 EQU H'0002' 671CCP1M3 EQU H'0003' 672DC1B0 EQU H'0004' 673DC1B1 EQU H'0005' 674 675CCP1Y EQU H'0004' 676CCP1X EQU H'0005' 677 678 679;----- ADCON2 Bits ----------------------------------------------------- 680ADFM EQU H'0007' 681 682ADCS0 EQU H'0000' 683ADCS1 EQU H'0001' 684ADCS2 EQU H'0002' 685ACQT0 EQU H'0003' 686ACQT1 EQU H'0004' 687ACQT2 EQU H'0005' 688 689 690;----- ADCON1 Bits ----------------------------------------------------- 691PCFG0 EQU H'0000' 692PCFG1 EQU H'0001' 693PCFG2 EQU H'0002' 694PCFG3 EQU H'0003' 695VCFG0 EQU H'0004' 696VCFG1 EQU H'0005' 697 698 699;----- ADCON0 Bits ----------------------------------------------------- 700ADON EQU H'0000' 701GO_NOT_DONE EQU H'0001' 702 703GO EQU H'0001' 704CHS0 EQU H'0002' 705CHS1 EQU H'0003' 706CHS2 EQU H'0004' 707CHS3 EQU H'0005' 708 709DONE EQU H'0001' 710 711NOT_DONE EQU H'0001' 712 713GO_DONE EQU H'0001' 714 715 716;----- SSPCON2 Bits ----------------------------------------------------- 717SEN EQU H'0000' 718RSEN EQU H'0001' 719PEN EQU H'0002' 720RCEN EQU H'0003' 721ACKEN EQU H'0004' 722ACKDT EQU H'0005' 723ACKSTAT EQU H'0006' 724GCEN EQU H'0007' 725 726ADMSK1 EQU H'0001' 727ADMSK2 EQU H'0002' 728ADMSK3 EQU H'0003' 729ADMSK4 EQU H'0004' 730ADMSK5 EQU H'0005' 731 732 733;----- SSPCON1 Bits ----------------------------------------------------- 734CKP EQU H'0004' 735SSPEN EQU H'0005' 736SSPOV EQU H'0006' 737WCOL EQU H'0007' 738 739SSPM0 EQU H'0000' 740SSPM1 EQU H'0001' 741SSPM2 EQU H'0002' 742SSPM3 EQU H'0003' 743 744 745;----- SSPSTAT Bits ----------------------------------------------------- 746BF EQU H'0000' 747UA EQU H'0001' 748R_NOT_W EQU H'0002' 749S EQU H'0003' 750P EQU H'0004' 751D_NOT_A EQU H'0005' 752CKE EQU H'0006' 753SMP EQU H'0007' 754 755R EQU H'0002' 756D EQU H'0005' 757 758 759NOT_W EQU H'0002' 760NOT_A EQU H'0005' 761 762R_W EQU H'0002' 763D_A EQU H'0005' 764 765NOT_WRITE EQU H'0002' 766NOT_ADDRESS EQU H'0005' 767 768 769;----- T2CON Bits ----------------------------------------------------- 770TMR2ON EQU H'0002' 771 772T2CKPS0 EQU H'0000' 773T2CKPS1 EQU H'0001' 774TOUTPS0 EQU H'0003' 775TOUTPS1 EQU H'0004' 776TOUTPS2 EQU H'0005' 777TOUTPS3 EQU H'0006' 778 779T2OUTPS0 EQU H'0003' 780T2OUTPS1 EQU H'0004' 781T2OUTPS2 EQU H'0005' 782T2OUTPS3 EQU H'0006' 783 784 785;----- T1CON Bits ----------------------------------------------------- 786TMR1ON EQU H'0000' 787TMR1CS EQU H'0001' 788NOT_T1SYNC EQU H'0002' 789T1OSCEN EQU H'0003' 790T1RUN EQU H'0006' 791RD16 EQU H'0007' 792 793T1SYNC EQU H'0002' 794T1CKPS0 EQU H'0004' 795T1CKPS1 EQU H'0005' 796 797 798;----- RCON Bits ----------------------------------------------------- 799NOT_BOR EQU H'0000' 800NOT_POR EQU H'0001' 801NOT_PD EQU H'0002' 802NOT_TO EQU H'0003' 803NOT_RI EQU H'0004' 804IPEN EQU H'0007' 805 806BOR EQU H'0000' 807POR EQU H'0001' 808PD EQU H'0002' 809TO EQU H'0003' 810RI EQU H'0004' 811SBOREN EQU H'0006' 812 813 814;----- WDTCON Bits ----------------------------------------------------- 815SWDTEN EQU H'0000' 816 817SWDTE EQU H'0000' 818 819 820;----- HLVDCON Bits ----------------------------------------------------- 821HLVDEN EQU H'0004' 822IRVST EQU H'0005' 823VDIRMAG EQU H'0007' 824 825HLVDL0 EQU H'0000' 826HLVDL1 EQU H'0001' 827HLVDL2 EQU H'0002' 828HLVDL3 EQU H'0003' 829 830LVDL0 EQU H'0000' 831LVDL1 EQU H'0001' 832LVDL2 EQU H'0002' 833LVDL3 EQU H'0003' 834LVDEN EQU H'0004' 835 836LVV0 EQU H'0000' 837LVV1 EQU H'0001' 838LVV2 EQU H'0002' 839LVV3 EQU H'0003' 840BGST EQU H'0005' 841 842 843;----- LVDCON Bits ----------------------------------------------------- 844HLVDEN EQU H'0004' 845IRVST EQU H'0005' 846VDIRMAG EQU H'0007' 847 848HLVDL0 EQU H'0000' 849HLVDL1 EQU H'0001' 850HLVDL2 EQU H'0002' 851HLVDL3 EQU H'0003' 852 853LVDL0 EQU H'0000' 854LVDL1 EQU H'0001' 855LVDL2 EQU H'0002' 856LVDL3 EQU H'0003' 857LVDEN EQU H'0004' 858 859LVV0 EQU H'0000' 860LVV1 EQU H'0001' 861LVV2 EQU H'0002' 862LVV3 EQU H'0003' 863BGST EQU H'0005' 864 865 866;----- OSCCON Bits ----------------------------------------------------- 867IOFS EQU H'0002' 868OSTS EQU H'0003' 869IDLEN EQU H'0007' 870 871SCS0 EQU H'0000' 872SCS1 EQU H'0001' 873FLTS EQU H'0002' 874IRCF0 EQU H'0004' 875IRCF1 EQU H'0005' 876IRCF2 EQU H'0006' 877 878 879;----- T0CON Bits ----------------------------------------------------- 880PSA EQU H'0003' 881T0SE EQU H'0004' 882T0CS EQU H'0005' 883T08BIT EQU H'0006' 884TMR0ON EQU H'0007' 885 886T0PS0 EQU H'0000' 887T0PS1 EQU H'0001' 888T0PS2 EQU H'0002' 889T016BIT EQU H'0006' 890 891 892;----- STATUS Bits ----------------------------------------------------- 893C EQU H'0000' 894DC EQU H'0001' 895Z EQU H'0002' 896OV EQU H'0003' 897N EQU H'0004' 898 899 900;----- INTCON3 Bits ----------------------------------------------------- 901INT1IF EQU H'0000' 902INT2IF EQU H'0001' 903INT1IE EQU H'0003' 904INT2IE EQU H'0004' 905INT1IP EQU H'0006' 906INT2IP EQU H'0007' 907 908INT1F EQU H'0000' 909INT2F EQU H'0001' 910INT1E EQU H'0003' 911INT2E EQU H'0004' 912INT1P EQU H'0006' 913INT2P EQU H'0007' 914 915 916;----- INTCON2 Bits ----------------------------------------------------- 917RBIP EQU H'0000' 918TMR0IP EQU H'0002' 919INTEDG2 EQU H'0004' 920INTEDG1 EQU H'0005' 921INTEDG0 EQU H'0006' 922NOT_RBPU EQU H'0007' 923 924RBPU EQU H'0007' 925 926 927;----- INTCON Bits ----------------------------------------------------- 928RBIF EQU H'0000' 929INT0IF EQU H'0001' 930TMR0IF EQU H'0002' 931RBIE EQU H'0003' 932INT0IE EQU H'0004' 933TMR0IE EQU H'0005' 934PEIE_GIEL EQU H'0006' 935GIE_GIEH EQU H'0007' 936 937INT0F EQU H'0001' 938T0IF EQU H'0002' 939INT0E EQU H'0004' 940T0IE EQU H'0005' 941PEIE EQU H'0006' 942GIE EQU H'0007' 943 944GIEL EQU H'0006' 945GIEH EQU H'0007' 946 947 948;----- STKPTR Bits ----------------------------------------------------- 949STKUNF EQU H'0006' 950STKFUL EQU H'0007' 951 952SP0 EQU H'0000' 953SP1 EQU H'0001' 954SP2 EQU H'0002' 955SP3 EQU H'0003' 956SP4 EQU H'0004' 957STKOVF EQU H'0007' 958 959 960 961;========================================================================== 962; 963; RAM Definitions 964; 965;========================================================================== 966 __MAXRAM H'0FFF' 967 __BADRAM H'0200'-H'0F7F' 968 __BADRAM H'0F83' 969 __BADRAM H'0F85'-H'0F88' 970 __BADRAM H'0F8C'-H'0F91' 971 __BADRAM H'0F95'-H'0F9A' 972 __BADRAM H'0F9C' 973 __BADRAM H'0FA3'-H'0FA5' 974 __BADRAM H'0FAA' 975 __BADRAM H'0FB9' 976 __BADRAM H'0FD4' 977 978;========================================================================== 979; 980; IMPORTANT: For the PIC18 devices, the __CONFIG directive has been 981; superseded by the CONFIG directive. The following settings 982; are available for this device. 983; 984; Oscillator: 985; OSC = LP LP Oscillator 986; OSC = XT XT Oscillator 987; OSC = HS HS Oscillator 988; OSC = RC External RC oscillator, CLKO function on RA6 989; OSC = EC EC oscillator, CLKO function on RA6 990; OSC = ECIO EC oscillator, port function on RA6 991; OSC = HSPLL HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1) 992; OSC = RCIO External RC oscillator, port function on RA6 993; OSC = INTIO2 Internal oscillator block, port function on RA6 and RA7 994; OSC = INTIO1 Internal oscillator block, CLKO function on RA6, port function on RA7 995; 996; Fail-Safe Clock Monitor Enable bit: 997; FCMEN = OFF Fail-Safe Clock Monitor disabled 998; FCMEN = ON Fail-Safe Clock Monitor enabled 999; 1000; Internal/External Oscillator Switchover bit: 1001; IESO = OFF Oscillator Switchover mode disabled 1002; IESO = ON Oscillator Switchover mode enabled 1003; 1004; Power-up Timer Enable bit: 1005; PWRT = ON PWRT enabled 1006; PWRT = OFF PWRT disabled 1007; 1008; Brown-out Reset Enable bits: 1009; BOR = OFF Brown-out Reset disabled in hardware and software 1010; BOR = SOFT Brown-out Reset enabled and controlled by software (SBOREN is enabled) 1011; BOR = NOSLP Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled) 1012; BOR = ON Brown-out Reset enabled in hardware only (SBOREN is disabled) 1013; 1014; Brown-out Reset Voltage bits: 1015; BORV = 0 Maximum Setting 1016; BORV = 1 1017; BORV = 2 1018; BORV = 3 Minimum Setting 1019; 1020; Watchdog Timer Enable bit: 1021; WDT = OFF WDT disabled (control is placed on the SWDTEN bit) 1022; WDT = ON WDT enabled 1023; 1024; Watchdog Timer Postscale Select bits: 1025; WDTPS = 1 1:1 1026; WDTPS = 2 1:2 1027; WDTPS = 4 1:4 1028; WDTPS = 8 1:8 1029; WDTPS = 16 1:16 1030; WDTPS = 32 1:32 1031; WDTPS = 64 1:64 1032; WDTPS = 128 1:128 1033; WDTPS = 256 1:256 1034; WDTPS = 512 1:512 1035; WDTPS = 1024 1:1024 1036; WDTPS = 2048 1:2048 1037; WDTPS = 4096 1:4096 1038; WDTPS = 8192 1:8192 1039; WDTPS = 16384 1:16384 1040; WDTPS = 32768 1:32768 1041; 1042; CCP2 MUX bit: 1043; CCP2MX = RB3 CCP2 input/output is multiplexed with RB3 1044; CCP2MX = RC1 CCP2 input/output is multiplexed with RC1 1045; 1046; PORTB A/D Enable bit: 1047; PBADEN = DIG PORTB<4:0> pins are configured as digital I/O on Reset 1048; PBADEN = ANA PORTB<4:0> pins are configured as analog input channels on Reset 1049; 1050; Low-Power Timer1 Oscillator Enable bit: 1051; LPT1OSC = OFF Timer1 configured for higher power operation 1052; LPT1OSC = ON Timer1 configured for low-power operation 1053; 1054; MCLR Pin Enable bit: 1055; MCLRE = OFF RE3 input pin enabled; MCLR disabled 1056; MCLRE = ON MCLR pin enabled; RE3 input pin disabled 1057; 1058; Stack Full/Underflow Reset Enable bit: 1059; STVREN = OFF Stack full/underflow will not cause Reset 1060; STVREN = ON Stack full/underflow will cause Reset 1061; 1062; Single-Supply ICSP Enable bit: 1063; LVP = OFF Single-Supply ICSP disabled 1064; LVP = ON Single-Supply ICSP enabled 1065; 1066; Boot Block Size Select bits: 1067; BBSIZ = BB256 256 Word 1068; BBSIZ = BB512 512 Word 1069; 1070; Extended Instruction Set Enable bit: 1071; XINST = OFF Instruction set extension and Indexed Addressing mode disabled (Legacy mode) 1072; XINST = ON Instruction set extension and Indexed Addressing mode enabled 1073; 1074; Background Debugger Enable bit: 1075; DEBUG = ON Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug 1076; DEBUG = OFF Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins 1077; 1078; Code Protection bit: 1079; CP0 = ON Block 0 code-protected 1080; CP0 = OFF Block 0 not code-protected 1081; 1082; Code Protection bit: 1083; CP1 = ON Block 1 code-protected 1084; CP1 = OFF Block 1 not code-protected 1085; 1086; Boot Block Code Protection bitProtect Boot: 1087; CPB = ON Boot block code-protected 1088; CPB = OFF Boot block not code-protected 1089; 1090; Data EEPROM Code Protection bit: 1091; CPD = ON Data EEPROM code-protected 1092; CPD = OFF Data EEPROM not code-protected 1093; 1094; Write Protection bit: 1095; WRT0 = ON Block 0 write-protected 1096; WRT0 = OFF Block 0 not write-protected 1097; 1098; Write Protection bit: 1099; WRT1 = ON Block 1 write-protected 1100; WRT1 = OFF Block 1 not write-protected 1101; 1102; Configuration Register Write Protection bit: 1103; WRTC = ON Configuration registers (300000-3000FFh) write-protected 1104; WRTC = OFF Configuration registers (300000-3000FFh) not write-protected 1105; 1106; Boot Block Write Protection bit: 1107; WRTB = ON Boot block write-protected 1108; WRTB = OFF Boot block not write-protected 1109; 1110; Data EEPROM Write Protection bit: 1111; WRTD = ON Data EEPROM write-protected 1112; WRTD = OFF Data EEPROM not write-protected 1113; 1114; Table Read Protection bit: 1115; EBTR0 = ON Block 0 protected from table reads executed in other blocks 1116; EBTR0 = OFF Block 0 not protected from table reads executed in other blocks 1117; 1118; Table Read Protection bit: 1119; EBTR1 = ON Block 1 protected from table reads executed in other blocks 1120; EBTR1 = OFF Block 1 not protected from table reads executed in other blocks 1121; 1122; Boot Block Table Read Protection bit: 1123; EBTRB = ON Boot block protected from table reads executed in other blocks 1124; EBTRB = OFF Boot block not protected from table reads executed in other blocks 1125; 1126;========================================================================== 1127;========================================================================== 1128; 1129; Configuration Bits 1130; 1131; NAME Address 1132; CONFIG1H 300001h 1133; CONFIG2L 300002h 1134; CONFIG2H 300003h 1135; CONFIG3H 300005h 1136; CONFIG4L 300006h 1137; CONFIG5L 300008h 1138; CONFIG5H 300009h 1139; CONFIG6L 30000Ah 1140; CONFIG6H 30000Bh 1141; CONFIG7L 30000Ch 1142; CONFIG7H 30000Dh 1143; 1144;========================================================================== 1145 1146; The following is an assignment of address values for all of the 1147; configuration registers for the purpose of table reads 1148_CONFIG1H EQU H'300001' 1149_CONFIG2L EQU H'300002' 1150_CONFIG2H EQU H'300003' 1151_CONFIG3H EQU H'300005' 1152_CONFIG4L EQU H'300006' 1153_CONFIG5L EQU H'300008' 1154_CONFIG5H EQU H'300009' 1155_CONFIG6L EQU H'30000A' 1156_CONFIG6H EQU H'30000B' 1157_CONFIG7L EQU H'30000C' 1158_CONFIG7H EQU H'30000D' 1159 1160;----- CONFIG1H Options -------------------------------------------------- 1161_OSC_LP_1H EQU H'F0'; LP Oscillator 1162_OSC_XT_1H EQU H'F1'; XT Oscillator 1163_OSC_HS_1H EQU H'F2'; HS Oscillator 1164_OSC_RC_1H EQU H'F3'; External RC oscillator, CLKO function on RA6 1165_OSC_EC_1H EQU H'F4'; EC oscillator, CLKO function on RA6 1166_OSC_ECIO_1H EQU H'F5'; EC oscillator, port function on RA6 1167_OSC_HSPLL_1H EQU H'F6'; HS oscillator, PLL enabled (Clock Frequency = 4 x FOSC1) 1168_OSC_RCIO_1H EQU H'F7'; External RC oscillator, port function on RA6 1169_OSC_INTIO2_1H EQU H'F8'; Internal oscillator block, port function on RA6 and RA7 1170_OSC_INTIO1_1H EQU H'F9'; Internal oscillator block, CLKO function on RA6, port function on RA7 1171 1172_FCMEN_OFF_1H EQU H'BF'; Fail-Safe Clock Monitor disabled 1173_FCMEN_ON_1H EQU H'FF'; Fail-Safe Clock Monitor enabled 1174 1175_IESO_OFF_1H EQU H'7F'; Oscillator Switchover mode disabled 1176_IESO_ON_1H EQU H'FF'; Oscillator Switchover mode enabled 1177 1178;----- CONFIG2L Options -------------------------------------------------- 1179_PWRT_ON_2L EQU H'FE'; PWRT enabled 1180_PWRT_OFF_2L EQU H'FF'; PWRT disabled 1181 1182_BOR_OFF_2L EQU H'F9'; Brown-out Reset disabled in hardware and software 1183_BOR_SOFT_2L EQU H'FB'; Brown-out Reset enabled and controlled by software (SBOREN is enabled) 1184_BOR_NOSLP_2L EQU H'FD'; Brown-out Reset enabled in hardware only and disabled in Sleep mode (SBOREN is disabled) 1185_BOR_ON_2L EQU H'FF'; Brown-out Reset enabled in hardware only (SBOREN is disabled) 1186 1187_BORV_0_2L EQU H'E7'; Maximum Setting 1188_BORV_1_2L EQU H'EF' 1189_BORV_2_2L EQU H'F7' 1190_BORV_3_2L EQU H'FF'; Minimum Setting 1191 1192;----- CONFIG2H Options -------------------------------------------------- 1193_WDT_OFF_2H EQU H'FE'; WDT disabled (control is placed on the SWDTEN bit) 1194_WDT_ON_2H EQU H'FF'; WDT enabled 1195 1196_WDTPS_1_2H EQU H'E1'; 1:1 1197_WDTPS_2_2H EQU H'E3'; 1:2 1198_WDTPS_4_2H EQU H'E5'; 1:4 1199_WDTPS_8_2H EQU H'E7'; 1:8 1200_WDTPS_16_2H EQU H'E9'; 1:16 1201_WDTPS_32_2H EQU H'EB'; 1:32 1202_WDTPS_64_2H EQU H'ED'; 1:64 1203_WDTPS_128_2H EQU H'EF'; 1:128 1204_WDTPS_256_2H EQU H'F1'; 1:256 1205_WDTPS_512_2H EQU H'F3'; 1:512 1206_WDTPS_1024_2H EQU H'F5'; 1:1024 1207_WDTPS_2048_2H EQU H'F7'; 1:2048 1208_WDTPS_4096_2H EQU H'F9'; 1:4096 1209_WDTPS_8192_2H EQU H'FB'; 1:8192 1210_WDTPS_16384_2H EQU H'FD'; 1:16384 1211_WDTPS_32768_2H EQU H'FF'; 1:32768 1212 1213;----- CONFIG3H Options -------------------------------------------------- 1214_CCP2MX_RB3_3H EQU H'FE'; CCP2 input/output is multiplexed with RB3 1215_CCP2MX_RC1_3H EQU H'FF'; CCP2 input/output is multiplexed with RC1 1216 1217_PBADEN_DIG_3H EQU H'FD'; PORTB<4:0> pins are configured as digital I/O on Reset 1218_PBADEN_ANA_3H EQU H'FF'; PORTB<4:0> pins are configured as analog input channels on Reset 1219 1220_LPT1OSC_OFF_3H EQU H'FB'; Timer1 configured for higher power operation 1221_LPT1OSC_ON_3H EQU H'FF'; Timer1 configured for low-power operation 1222 1223_MCLRE_OFF_3H EQU H'7F'; RE3 input pin enabled; MCLR disabled 1224_MCLRE_ON_3H EQU H'FF'; MCLR pin enabled; RE3 input pin disabled 1225 1226;----- CONFIG4L Options -------------------------------------------------- 1227_STVREN_OFF_4L EQU H'FE'; Stack full/underflow will not cause Reset 1228_STVREN_ON_4L EQU H'FF'; Stack full/underflow will cause Reset 1229 1230_LVP_OFF_4L EQU H'FB'; Single-Supply ICSP disabled 1231_LVP_ON_4L EQU H'FF'; Single-Supply ICSP enabled 1232 1233_BBSIZ_BB256_4L EQU H'CF'; 256 Word 1234_BBSIZ_BB512_4L EQU H'FF'; 512 Word 1235 1236_XINST_OFF_4L EQU H'BF'; Instruction set extension and Indexed Addressing mode disabled (Legacy mode) 1237_XINST_ON_4L EQU H'FF'; Instruction set extension and Indexed Addressing mode enabled 1238 1239_DEBUG_ON_4L EQU H'7F'; Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug 1240_DEBUG_OFF_4L EQU H'FF'; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins 1241 1242;----- CONFIG5L Options -------------------------------------------------- 1243_CP0_ON_5L EQU H'FE'; Block 0 code-protected 1244_CP0_OFF_5L EQU H'FF'; Block 0 not code-protected 1245 1246_CP1_ON_5L EQU H'FD'; Block 1 code-protected 1247_CP1_OFF_5L EQU H'FF'; Block 1 not code-protected 1248 1249;----- CONFIG5H Options -------------------------------------------------- 1250_CPB_ON_5H EQU H'BF'; Boot block code-protected 1251_CPB_OFF_5H EQU H'FF'; Boot block not code-protected 1252 1253_CPD_ON_5H EQU H'7F'; Data EEPROM code-protected 1254_CPD_OFF_5H EQU H'FF'; Data EEPROM not code-protected 1255 1256;----- CONFIG6L Options -------------------------------------------------- 1257_WRT0_ON_6L EQU H'FE'; Block 0 write-protected 1258_WRT0_OFF_6L EQU H'FF'; Block 0 not write-protected 1259 1260_WRT1_ON_6L EQU H'FD'; Block 1 write-protected 1261_WRT1_OFF_6L EQU H'FF'; Block 1 not write-protected 1262 1263;----- CONFIG6H Options -------------------------------------------------- 1264_WRTC_ON_6H EQU H'DF'; Configuration registers (300000-3000FFh) write-protected 1265_WRTC_OFF_6H EQU H'FF'; Configuration registers (300000-3000FFh) not write-protected 1266 1267_WRTB_ON_6H EQU H'BF'; Boot block write-protected 1268_WRTB_OFF_6H EQU H'FF'; Boot block not write-protected 1269 1270_WRTD_ON_6H EQU H'7F'; Data EEPROM write-protected 1271_WRTD_OFF_6H EQU H'FF'; Data EEPROM not write-protected 1272 1273;----- CONFIG7L Options -------------------------------------------------- 1274_EBTR0_ON_7L EQU H'FE'; Block 0 protected from table reads executed in other blocks 1275_EBTR0_OFF_7L EQU H'FF'; Block 0 not protected from table reads executed in other blocks 1276 1277_EBTR1_ON_7L EQU H'FD'; Block 1 protected from table reads executed in other blocks 1278_EBTR1_OFF_7L EQU H'FF'; Block 1 not protected from table reads executed in other blocks 1279 1280;----- CONFIG7H Options -------------------------------------------------- 1281_EBTRB_ON_7H EQU H'BF'; Boot block protected from table reads executed in other blocks 1282_EBTRB_OFF_7H EQU H'FF'; Boot block not protected from table reads executed in other blocks 1283 1284 1285;----- DEVID Equates -------------------------------------------------- 1286_DEVID1 EQU H'3FFFFE' 1287_DEVID2 EQU H'3FFFFF' 1288 1289;----- IDLOC Equates -------------------------------------------------- 1290_IDLOC0 EQU H'200000' 1291_IDLOC1 EQU H'200001' 1292_IDLOC2 EQU H'200002' 1293_IDLOC3 EQU H'200003' 1294_IDLOC4 EQU H'200004' 1295_IDLOC5 EQU H'200005' 1296_IDLOC6 EQU H'200006' 1297_IDLOC7 EQU H'200007' 1298 1299 LIST 1300