1 LIST 2 3;========================================================================== 4; Build date : Oct 21 2015 5; MPASM PIC18F452 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 PIC18F452 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 /PIC18F452 22; 2. LIST directive in the source file 23; LIST P=PIC18F452 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 __18F452 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' 71PORTD EQU H'0F83' 72PORTE EQU H'0F84' 73LATA EQU H'0F89' 74LATB EQU H'0F8A' 75LATC EQU H'0F8B' 76LATD EQU H'0F8C' 77LATE EQU H'0F8D' 78DDRA EQU H'0F92' 79TRISA EQU H'0F92' 80DDRB EQU H'0F93' 81TRISB EQU H'0F93' 82DDRC EQU H'0F94' 83TRISC EQU H'0F94' 84DDRD EQU H'0F95' 85TRISD EQU H'0F95' 86DDRE EQU H'0F96' 87TRISE EQU H'0F96' 88PIE1 EQU H'0F9D' 89PIR1 EQU H'0F9E' 90IPR1 EQU H'0F9F' 91PIE2 EQU H'0FA0' 92PIR2 EQU H'0FA1' 93IPR2 EQU H'0FA2' 94EECON1 EQU H'0FA6' 95EECON2 EQU H'0FA7' 96EEDATA EQU H'0FA8' 97EEADR EQU H'0FA9' 98RCSTA EQU H'0FAB' 99TXSTA EQU H'0FAC' 100TXREG EQU H'0FAD' 101RCREG EQU H'0FAE' 102SPBRG EQU H'0FAF' 103T3CON EQU H'0FB1' 104TMR3 EQU H'0FB2' 105TMR3L EQU H'0FB2' 106TMR3H EQU H'0FB3' 107CCP2CON EQU H'0FBA' 108CCPR2 EQU H'0FBB' 109CCPR2L EQU H'0FBB' 110CCPR2H EQU H'0FBC' 111CCP1CON EQU H'0FBD' 112CCPR1 EQU H'0FBE' 113CCPR1L EQU H'0FBE' 114CCPR1H EQU H'0FBF' 115ADCON1 EQU H'0FC1' 116ADCON0 EQU H'0FC2' 117ADRES EQU H'0FC3' 118ADRESL EQU H'0FC3' 119ADRESH EQU H'0FC4' 120SSPCON2 EQU H'0FC5' 121SSPCON1 EQU H'0FC6' 122SSPSTAT EQU H'0FC7' 123SSPADD EQU H'0FC8' 124SSPBUF EQU H'0FC9' 125T2CON EQU H'0FCA' 126PR2 EQU H'0FCB' 127TMR2 EQU H'0FCC' 128T1CON EQU H'0FCD' 129TMR1 EQU H'0FCE' 130TMR1L EQU H'0FCE' 131TMR1H EQU H'0FCF' 132RCON EQU H'0FD0' 133WDTCON EQU H'0FD1' 134LVDCON EQU H'0FD2' 135OSCCON EQU H'0FD3' 136T0CON EQU H'0FD5' 137TMR0 EQU H'0FD6' 138TMR0L EQU H'0FD6' 139TMR0H EQU H'0FD7' 140STATUS EQU H'0FD8' 141FSR2L EQU H'0FD9' 142FSR2H EQU H'0FDA' 143PLUSW2 EQU H'0FDB' 144PREINC2 EQU H'0FDC' 145POSTDEC2 EQU H'0FDD' 146POSTINC2 EQU H'0FDE' 147INDF2 EQU H'0FDF' 148BSR EQU H'0FE0' 149FSR1L EQU H'0FE1' 150FSR1H EQU H'0FE2' 151PLUSW1 EQU H'0FE3' 152PREINC1 EQU H'0FE4' 153POSTDEC1 EQU H'0FE5' 154POSTINC1 EQU H'0FE6' 155INDF1 EQU H'0FE7' 156WREG EQU H'0FE8' 157FSR0L EQU H'0FE9' 158FSR0H EQU H'0FEA' 159PLUSW0 EQU H'0FEB' 160PREINC0 EQU H'0FEC' 161POSTDEC0 EQU H'0FED' 162POSTINC0 EQU H'0FEE' 163INDF0 EQU H'0FEF' 164INTCON3 EQU H'0FF0' 165INTCON2 EQU H'0FF1' 166INTCON EQU H'0FF2' 167INTCON1 EQU H'0FF2' 168PROD EQU H'0FF3' 169PRODL EQU H'0FF3' 170PRODH EQU H'0FF4' 171TABLAT EQU H'0FF5' 172TBLPTR EQU H'0FF6' 173TBLPTRL EQU H'0FF6' 174TBLPTRH EQU H'0FF7' 175TBLPTRU EQU H'0FF8' 176PC EQU H'0FF9' 177PCL EQU H'0FF9' 178PCLATH EQU H'0FFA' 179PCLATU EQU H'0FFB' 180STKPTR EQU H'0FFC' 181TOS EQU H'0FFD' 182TOSL EQU H'0FFD' 183TOSH EQU H'0FFE' 184TOSU EQU H'0FFF' 185 186;----- PORTA Bits ----------------------------------------------------- 187RA0 EQU H'0000' 188RA1 EQU H'0001' 189RA2 EQU H'0002' 190RA3 EQU H'0003' 191RA4 EQU H'0004' 192RA5 EQU H'0005' 193RA6 EQU H'0006' 194 195AN0 EQU H'0000' 196AN1 EQU H'0001' 197AN2 EQU H'0002' 198AN3 EQU H'0003' 199AN4 EQU H'0005' 200OSC2 EQU H'0006' 201 202VREFM EQU H'0002' 203VREFP EQU H'0003' 204T0CKI EQU H'0004' 205SS EQU H'0005' 206CLKO EQU H'0006' 207 208LVDIN EQU H'0005' 209 210 211;----- PORTB Bits ----------------------------------------------------- 212RB0 EQU H'0000' 213RB1 EQU H'0001' 214RB2 EQU H'0002' 215RB3 EQU H'0003' 216RB4 EQU H'0004' 217RB5 EQU H'0005' 218RB6 EQU H'0006' 219RB7 EQU H'0007' 220 221INT0 EQU H'0000' 222INT1 EQU H'0001' 223INT2 EQU H'0002' 224CCP2_PORTB EQU H'0003' 225PGM EQU H'0005' 226PGC EQU H'0006' 227PGD EQU H'0007' 228 229CCP2A EQU H'0003' 230 231 232;----- PORTC Bits ----------------------------------------------------- 233RC0 EQU H'0000' 234RC1 EQU H'0001' 235RC2 EQU H'0002' 236RC3 EQU H'0003' 237RC4 EQU H'0004' 238RC5 EQU H'0005' 239RC6 EQU H'0006' 240RC7 EQU H'0007' 241 242T1OSO EQU H'0000' 243T1OSI EQU H'0001' 244SCK EQU H'0003' 245SDI EQU H'0004' 246SDO EQU H'0005' 247TX EQU H'0006' 248RX EQU H'0007' 249 250T1CKI EQU H'0000' 251CCP2_PORTC EQU H'0001' 252CCP1 EQU H'0002' 253SCL EQU H'0003' 254SDA EQU H'0004' 255CK EQU H'0006' 256; DT is a reserved word 257; DT EQU H'0007' 258 259 260;----- PORTD Bits ----------------------------------------------------- 261RD0 EQU H'0000' 262RD1 EQU H'0001' 263RD2 EQU H'0002' 264RD3 EQU H'0003' 265RD4 EQU H'0004' 266RD5 EQU H'0005' 267RD6 EQU H'0006' 268RD7 EQU H'0007' 269 270PSP0 EQU H'0000' 271PSP1 EQU H'0001' 272PSP2 EQU H'0002' 273PSP3 EQU H'0003' 274PSP4 EQU H'0004' 275PSP5 EQU H'0005' 276PSP6 EQU H'0006' 277PSP7 EQU H'0007' 278 279 280;----- PORTE Bits ----------------------------------------------------- 281RE0 EQU H'0000' 282RE1 EQU H'0001' 283RE2 EQU H'0002' 284 285AN5 EQU H'0000' 286AN6 EQU H'0001' 287AN7 EQU H'0002' 288 289RD EQU H'0000' 290WR EQU H'0001' 291CS EQU H'0002' 292 293 294;----- LATA Bits ----------------------------------------------------- 295LATA0 EQU H'0000' 296LATA1 EQU H'0001' 297LATA2 EQU H'0002' 298LATA3 EQU H'0003' 299LATA4 EQU H'0004' 300LATA5 EQU H'0005' 301LATA6 EQU H'0006' 302 303 304;----- LATB Bits ----------------------------------------------------- 305LATB0 EQU H'0000' 306LATB1 EQU H'0001' 307LATB2 EQU H'0002' 308LATB3 EQU H'0003' 309LATB4 EQU H'0004' 310LATB5 EQU H'0005' 311LATB6 EQU H'0006' 312LATB7 EQU H'0007' 313 314 315;----- LATC Bits ----------------------------------------------------- 316LATC0 EQU H'0000' 317LATC1 EQU H'0001' 318LATC2 EQU H'0002' 319LATC3 EQU H'0003' 320LATC4 EQU H'0004' 321LATC5 EQU H'0005' 322LATC6 EQU H'0006' 323LATC7 EQU H'0007' 324 325 326;----- LATD Bits ----------------------------------------------------- 327LATD0 EQU H'0000' 328LATD1 EQU H'0001' 329LATD2 EQU H'0002' 330LATD3 EQU H'0003' 331LATD4 EQU H'0004' 332LATD5 EQU H'0005' 333LATD6 EQU H'0006' 334LATD7 EQU H'0007' 335 336 337;----- LATE Bits ----------------------------------------------------- 338LATE0 EQU H'0000' 339LATE1 EQU H'0001' 340LATE2 EQU H'0002' 341 342 343;----- DDRA Bits ----------------------------------------------------- 344TRISA0 EQU H'0000' 345TRISA1 EQU H'0001' 346TRISA2 EQU H'0002' 347TRISA3 EQU H'0003' 348TRISA4 EQU H'0004' 349TRISA5 EQU H'0005' 350TRISA6 EQU H'0006' 351 352RA0 EQU H'0000' 353RA1 EQU H'0001' 354RA2 EQU H'0002' 355RA3 EQU H'0003' 356RA4 EQU H'0004' 357RA5 EQU H'0005' 358RA6 EQU H'0006' 359 360 361;----- TRISA Bits ----------------------------------------------------- 362TRISA0 EQU H'0000' 363TRISA1 EQU H'0001' 364TRISA2 EQU H'0002' 365TRISA3 EQU H'0003' 366TRISA4 EQU H'0004' 367TRISA5 EQU H'0005' 368TRISA6 EQU H'0006' 369 370RA0 EQU H'0000' 371RA1 EQU H'0001' 372RA2 EQU H'0002' 373RA3 EQU H'0003' 374RA4 EQU H'0004' 375RA5 EQU H'0005' 376RA6 EQU H'0006' 377 378 379;----- DDRB Bits ----------------------------------------------------- 380TRISB0 EQU H'0000' 381TRISB1 EQU H'0001' 382TRISB2 EQU H'0002' 383TRISB3 EQU H'0003' 384TRISB4 EQU H'0004' 385TRISB5 EQU H'0005' 386TRISB6 EQU H'0006' 387TRISB7 EQU H'0007' 388 389RB0 EQU H'0000' 390RB1 EQU H'0001' 391RB2 EQU H'0002' 392RB3 EQU H'0003' 393RB4 EQU H'0004' 394RB5 EQU H'0005' 395RB6 EQU H'0006' 396RB7 EQU H'0007' 397 398CCP2_DDRB EQU H'0003' 399 400 401;----- TRISB Bits ----------------------------------------------------- 402TRISB0 EQU H'0000' 403TRISB1 EQU H'0001' 404TRISB2 EQU H'0002' 405TRISB3 EQU H'0003' 406TRISB4 EQU H'0004' 407TRISB5 EQU H'0005' 408TRISB6 EQU H'0006' 409TRISB7 EQU H'0007' 410 411RB0 EQU H'0000' 412RB1 EQU H'0001' 413RB2 EQU H'0002' 414RB3 EQU H'0003' 415RB4 EQU H'0004' 416RB5 EQU H'0005' 417RB6 EQU H'0006' 418RB7 EQU H'0007' 419 420CCP2_TRISB EQU H'0003' 421 422 423;----- DDRC Bits ----------------------------------------------------- 424TRISC0 EQU H'0000' 425TRISC1 EQU H'0001' 426TRISC2 EQU H'0002' 427TRISC3 EQU H'0003' 428TRISC4 EQU H'0004' 429TRISC5 EQU H'0005' 430TRISC6 EQU H'0006' 431TRISC7 EQU H'0007' 432 433RC0 EQU H'0000' 434RC1 EQU H'0001' 435RC2 EQU H'0002' 436RC3 EQU H'0003' 437RC4 EQU H'0004' 438RC5 EQU H'0005' 439RC6 EQU H'0006' 440RC7 EQU H'0007' 441 442CCP2_DDRC EQU H'0001' 443 444 445;----- TRISC Bits ----------------------------------------------------- 446TRISC0 EQU H'0000' 447TRISC1 EQU H'0001' 448TRISC2 EQU H'0002' 449TRISC3 EQU H'0003' 450TRISC4 EQU H'0004' 451TRISC5 EQU H'0005' 452TRISC6 EQU H'0006' 453TRISC7 EQU H'0007' 454 455RC0 EQU H'0000' 456RC1 EQU H'0001' 457RC2 EQU H'0002' 458RC3 EQU H'0003' 459RC4 EQU H'0004' 460RC5 EQU H'0005' 461RC6 EQU H'0006' 462RC7 EQU H'0007' 463 464CCP2_TRISC EQU H'0001' 465 466 467;----- DDRD Bits ----------------------------------------------------- 468TRISD0 EQU H'0000' 469TRISD1 EQU H'0001' 470TRISD2 EQU H'0002' 471TRISD3 EQU H'0003' 472TRISD4 EQU H'0004' 473TRISD5 EQU H'0005' 474TRISD6 EQU H'0006' 475TRISD7 EQU H'0007' 476 477RD0 EQU H'0000' 478RD1 EQU H'0001' 479RD2 EQU H'0002' 480RD3 EQU H'0003' 481RD4 EQU H'0004' 482RD5 EQU H'0005' 483RD6 EQU H'0006' 484RD7 EQU H'0007' 485 486 487;----- TRISD Bits ----------------------------------------------------- 488TRISD0 EQU H'0000' 489TRISD1 EQU H'0001' 490TRISD2 EQU H'0002' 491TRISD3 EQU H'0003' 492TRISD4 EQU H'0004' 493TRISD5 EQU H'0005' 494TRISD6 EQU H'0006' 495TRISD7 EQU H'0007' 496 497RD0 EQU H'0000' 498RD1 EQU H'0001' 499RD2 EQU H'0002' 500RD3 EQU H'0003' 501RD4 EQU H'0004' 502RD5 EQU H'0005' 503RD6 EQU H'0006' 504RD7 EQU H'0007' 505 506 507;----- DDRE Bits ----------------------------------------------------- 508TRISE0 EQU H'0000' 509TRISE1 EQU H'0001' 510TRISE2 EQU H'0002' 511PSPMODE EQU H'0004' 512IBOV EQU H'0005' 513OBF EQU H'0006' 514IBF EQU H'0007' 515 516RE0 EQU H'0000' 517RE1 EQU H'0001' 518RE2 EQU H'0002' 519 520 521;----- TRISE Bits ----------------------------------------------------- 522TRISE0 EQU H'0000' 523TRISE1 EQU H'0001' 524TRISE2 EQU H'0002' 525PSPMODE EQU H'0004' 526IBOV EQU H'0005' 527OBF EQU H'0006' 528IBF EQU H'0007' 529 530RE0 EQU H'0000' 531RE1 EQU H'0001' 532RE2 EQU H'0002' 533 534 535;----- PIE1 Bits ----------------------------------------------------- 536TMR1IE EQU H'0000' 537TMR2IE EQU H'0001' 538CCP1IE EQU H'0002' 539SSPIE EQU H'0003' 540TXIE EQU H'0004' 541RCIE EQU H'0005' 542ADIE EQU H'0006' 543PSPIE EQU H'0007' 544 545 546;----- PIR1 Bits ----------------------------------------------------- 547TMR1IF EQU H'0000' 548TMR2IF EQU H'0001' 549CCP1IF EQU H'0002' 550SSPIF EQU H'0003' 551TXIF EQU H'0004' 552RCIF EQU H'0005' 553ADIF EQU H'0006' 554PSPIF EQU H'0007' 555 556 557;----- IPR1 Bits ----------------------------------------------------- 558TMR1IP EQU H'0000' 559TMR2IP EQU H'0001' 560CCP1IP EQU H'0002' 561SSPIP EQU H'0003' 562TXIP EQU H'0004' 563RCIP EQU H'0005' 564ADIP EQU H'0006' 565PSPIP EQU H'0007' 566 567 568;----- PIE2 Bits ----------------------------------------------------- 569CCP2IE EQU H'0000' 570TMR3IE EQU H'0001' 571LVDIE EQU H'0002' 572BCLIE EQU H'0003' 573EEIE EQU H'0004' 574 575 576;----- PIR2 Bits ----------------------------------------------------- 577CCP2IF EQU H'0000' 578TMR3IF EQU H'0001' 579LVDIF EQU H'0002' 580BCLIF EQU H'0003' 581EEIF EQU H'0004' 582 583 584;----- IPR2 Bits ----------------------------------------------------- 585CCP2IP EQU H'0000' 586TMR3IP EQU H'0001' 587LVDIP EQU H'0002' 588BCLIP EQU H'0003' 589EEIP EQU H'0004' 590 591 592;----- EECON1 Bits ----------------------------------------------------- 593RD EQU H'0000' 594WR EQU H'0001' 595WREN EQU H'0002' 596WRERR EQU H'0003' 597FREE EQU H'0004' 598CFGS EQU H'0006' 599EEPGD EQU H'0007' 600 601 602;----- RCSTA Bits ----------------------------------------------------- 603RX9D EQU H'0000' 604OERR EQU H'0001' 605FERR EQU H'0002' 606ADDEN EQU H'0003' 607CREN EQU H'0004' 608SREN EQU H'0005' 609RX9 EQU H'0006' 610SPEN EQU H'0007' 611 612RCD8 EQU H'0000' 613RC8_9 EQU H'0006' 614 615NOT_RC8 EQU H'0006' 616 617RC9 EQU H'0006' 618 619 620;----- TXSTA Bits ----------------------------------------------------- 621TX9D EQU H'0000' 622TRMT EQU H'0001' 623BRGH EQU H'0002' 624SYNC EQU H'0004' 625TXEN EQU H'0005' 626TX9 EQU H'0006' 627CSRC EQU H'0007' 628 629TXD8 EQU H'0000' 630TX8_9 EQU H'0006' 631 632NOT_TX8 EQU H'0006' 633 634 635;----- T3CON Bits ----------------------------------------------------- 636TMR3ON EQU H'0000' 637TMR3CS EQU H'0001' 638NOT_T3SYNC EQU H'0002' 639T3CCP1 EQU H'0003' 640T3CCP2 EQU H'0006' 641RD16 EQU H'0007' 642 643T3SYNC EQU H'0002' 644T3CKPS0 EQU H'0004' 645T3CKPS1 EQU H'0005' 646 647T3INSYNC EQU H'0002' 648 649 650;----- CCP2CON Bits ----------------------------------------------------- 651CCP2M0 EQU H'0000' 652CCP2M1 EQU H'0001' 653CCP2M2 EQU H'0002' 654CCP2M3 EQU H'0003' 655DC2B0 EQU H'0004' 656DC2B1 EQU H'0005' 657 658CCP2Y EQU H'0004' 659CCP2X EQU H'0005' 660 661DCCPX EQU H'0005' 662 663 664;----- CCP1CON Bits ----------------------------------------------------- 665CCP1M0 EQU H'0000' 666CCP1M1 EQU H'0001' 667CCP1M2 EQU H'0002' 668CCP1M3 EQU H'0003' 669DC1B0 EQU H'0004' 670DC1B1 EQU H'0005' 671 672CCP1Y EQU H'0004' 673CCP1X EQU H'0005' 674 675 676;----- ADCON1 Bits ----------------------------------------------------- 677ADCS2 EQU H'0006' 678ADFM EQU H'0007' 679 680PCFG0 EQU H'0000' 681PCFG1 EQU H'0001' 682PCFG2 EQU H'0002' 683PCFG3 EQU H'0003' 684 685 686;----- ADCON0 Bits ----------------------------------------------------- 687ADON EQU H'0000' 688GO_NOT_DONE EQU H'0002' 689 690GO EQU H'0002' 691CHS0 EQU H'0003' 692CHS1 EQU H'0004' 693CHS2 EQU H'0005' 694ADCS0 EQU H'0006' 695ADCS1 EQU H'0007' 696 697NOT_DONE EQU H'0002' 698 699DONE EQU H'0002' 700 701GO_DONE EQU H'0002' 702 703 704;----- SSPCON2 Bits ----------------------------------------------------- 705SEN EQU H'0000' 706RSEN EQU H'0001' 707PEN EQU H'0002' 708RCEN EQU H'0003' 709ACKEN EQU H'0004' 710ACKDT EQU H'0005' 711ACKSTAT EQU H'0006' 712GCEN EQU H'0007' 713 714 715;----- SSPCON1 Bits ----------------------------------------------------- 716CKP EQU H'0004' 717SSPEN EQU H'0005' 718SSPOV EQU H'0006' 719WCOL EQU H'0007' 720 721SSPM0 EQU H'0000' 722SSPM1 EQU H'0001' 723SSPM2 EQU H'0002' 724SSPM3 EQU H'0003' 725 726 727;----- SSPSTAT Bits ----------------------------------------------------- 728BF EQU H'0000' 729UA EQU H'0001' 730R_NOT_W EQU H'0002' 731S EQU H'0003' 732P EQU H'0004' 733D_NOT_A EQU H'0005' 734CKE EQU H'0006' 735SMP EQU H'0007' 736 737I2C_READ EQU H'0002' 738I2C_START EQU H'0003' 739I2C_STOP EQU H'0004' 740I2C_DATA EQU H'0005' 741 742R EQU H'0002' 743D EQU H'0005' 744 745READ_WRITE EQU H'0002' 746DATA_ADDRESS EQU H'0005' 747 748NOT_WRITE EQU H'0002' 749NOT_ADDRESS EQU H'0005' 750 751NOT_W EQU H'0002' 752NOT_A EQU H'0005' 753 754R_W EQU H'0002' 755D_A EQU H'0005' 756 757I2C_DAT EQU H'0005' 758 759 760;----- T2CON Bits ----------------------------------------------------- 761TMR2ON EQU H'0002' 762 763T2CKPS0 EQU H'0000' 764T2CKPS1 EQU H'0001' 765TOUTPS0 EQU H'0003' 766TOUTPS1 EQU H'0004' 767TOUTPS2 EQU H'0005' 768TOUTPS3 EQU H'0006' 769 770 771;----- T1CON Bits ----------------------------------------------------- 772TMR1ON EQU H'0000' 773TMR1CS EQU H'0001' 774NOT_T1SYNC EQU H'0002' 775T1OSCEN EQU H'0003' 776RD16 EQU H'0007' 777 778T1SYNC EQU H'0002' 779T1CKPS0 EQU H'0004' 780T1CKPS1 EQU H'0005' 781 782T1INSYNC EQU H'0002' 783 784 785;----- RCON Bits ----------------------------------------------------- 786NOT_BOR EQU H'0000' 787NOT_POR EQU H'0001' 788NOT_PD EQU H'0002' 789NOT_TO EQU H'0003' 790NOT_RI EQU H'0004' 791IPEN EQU H'0007' 792 793BOR EQU H'0000' 794POR EQU H'0001' 795PD EQU H'0002' 796TO EQU H'0003' 797RI EQU H'0004' 798NOT_IPEN EQU H'0007' 799 800 801;----- WDTCON Bits ----------------------------------------------------- 802SWDTEN EQU H'0000' 803 804SWDTE EQU H'0000' 805 806 807;----- LVDCON Bits ----------------------------------------------------- 808LVDEN EQU H'0004' 809IRVST EQU H'0005' 810 811LVDL0 EQU H'0000' 812LVDL1 EQU H'0001' 813LVDL2 EQU H'0002' 814LVDL3 EQU H'0003' 815 816 817;----- OSCCON Bits ----------------------------------------------------- 818SCS EQU H'0000' 819 820 821;----- T0CON Bits ----------------------------------------------------- 822PSA EQU H'0003' 823T0SE EQU H'0004' 824T0CS EQU H'0005' 825T08BIT EQU H'0006' 826TMR0ON EQU H'0007' 827 828T0PS0 EQU H'0000' 829T0PS1 EQU H'0001' 830T0PS2 EQU H'0002' 831 832 833;----- STATUS Bits ----------------------------------------------------- 834C EQU H'0000' 835DC EQU H'0001' 836Z EQU H'0002' 837OV EQU H'0003' 838N EQU H'0004' 839 840 841;----- INTCON3 Bits ----------------------------------------------------- 842INT1IF EQU H'0000' 843INT2IF EQU H'0001' 844INT1IE EQU H'0003' 845INT2IE EQU H'0004' 846INT1IP EQU H'0006' 847INT2IP EQU H'0007' 848 849INT1F EQU H'0000' 850INT2F EQU H'0001' 851INT1E EQU H'0003' 852INT2E EQU H'0004' 853INT1P EQU H'0006' 854INT2P EQU H'0007' 855 856 857;----- INTCON2 Bits ----------------------------------------------------- 858RBIP EQU H'0000' 859TMR0IP EQU H'0002' 860INTEDG2 EQU H'0004' 861INTEDG1 EQU H'0005' 862INTEDG0 EQU H'0006' 863NOT_RBPU EQU H'0007' 864 865T0IP EQU H'0002' 866RBPU EQU H'0007' 867 868 869;----- INTCON Bits ----------------------------------------------------- 870RBIF EQU H'0000' 871INT0IF EQU H'0001' 872TMR0IF EQU H'0002' 873RBIE EQU H'0003' 874INT0IE EQU H'0004' 875TMR0IE EQU H'0005' 876PEIE_GIEL EQU H'0006' 877GIE_GIEH EQU H'0007' 878 879INT0F EQU H'0001' 880T0IF EQU H'0002' 881INT0E EQU H'0004' 882T0IE EQU H'0005' 883PEIE EQU H'0006' 884GIE EQU H'0007' 885 886GIEL EQU H'0006' 887GIEH EQU H'0007' 888 889 890;----- INTCON1 Bits ----------------------------------------------------- 891RBIF EQU H'0000' 892INT0IF EQU H'0001' 893TMR0IF EQU H'0002' 894RBIE EQU H'0003' 895INT0IE EQU H'0004' 896TMR0IE EQU H'0005' 897PEIE_GIEL EQU H'0006' 898GIE_GIEH EQU H'0007' 899 900INT0F EQU H'0001' 901T0IF EQU H'0002' 902INT0E EQU H'0004' 903T0IE EQU H'0005' 904PEIE EQU H'0006' 905GIE EQU H'0007' 906 907GIEL EQU H'0006' 908GIEH EQU H'0007' 909 910 911;----- STKPTR Bits ----------------------------------------------------- 912STKUNF EQU H'0006' 913STKFUL EQU H'0007' 914 915STKPTR0 EQU H'0000' 916STKPTR1 EQU H'0001' 917STKPTR2 EQU H'0002' 918STKPTR3 EQU H'0003' 919STKPTR4 EQU H'0004' 920STKOVF EQU H'0007' 921 922SP0 EQU H'0000' 923SP1 EQU H'0001' 924SP2 EQU H'0002' 925SP3 EQU H'0003' 926SP4 EQU H'0004' 927 928 929 930;========================================================================== 931; 932; RAM Definitions 933; 934;========================================================================== 935 __MAXRAM H'0FFF' 936 __BADRAM H'0600'-H'0F7F' 937 __BADRAM H'0F85'-H'0F88' 938 __BADRAM H'0F8E'-H'0F91' 939 __BADRAM H'0F97'-H'0F9C' 940 __BADRAM H'0FA3'-H'0FA5' 941 __BADRAM H'0FAA' 942 __BADRAM H'0FB0' 943 __BADRAM H'0FB4'-H'0FB9' 944 __BADRAM H'0FC0' 945 __BADRAM H'0FD4' 946 947;========================================================================== 948; 949; IMPORTANT: For the PIC18 devices, the __CONFIG directive has been 950; superseded by the CONFIG directive. The following settings 951; are available for this device. 952; 953; Oscillator Selection bits: 954; OSC = LP LP oscillator 955; OSC = XT XT oscillator 956; OSC = HS HS oscillator 957; OSC = RC RC oscillator 958; OSC = EC EC oscillator w/ OSC2 configured as divide-by-4 clock output 959; OSC = ECIO EC oscillator w/ OSC2 configured as RA6 960; OSC = HSPLL HS oscillator with PLL enabled/Clock frequency = (4 x FOSC) 961; OSC = RCIO RC oscillator w/ OSC2 configured as RA6 962; 963; Oscillator System Clock Switch Enable bit: 964; OSCS = ON Oscillator system clock switch option is enabled (oscillator switching is enabled) 965; OSCS = OFF Oscillator system clock switch option is disabled (main oscillator is source) 966; 967; Power-up Timer Enable bit: 968; PWRT = ON PWRT enabled 969; PWRT = OFF PWRT disabled 970; 971; Brown-out Reset Enable bit: 972; BOR = OFF Brown-out Reset disabled 973; BOR = ON Brown-out Reset enabled 974; 975; Brown-out Reset Voltage bits: 976; BORV = 45 VBOR set to 4.5V 977; BORV = 42 VBOR set to 4.2V 978; BORV = 27 VBOR set to 2.7V 979; BORV = 20 VBOR set to 2.0V 980; 981; Watchdog Timer Enable bit: 982; WDT = OFF WDT disabled (control is placed on the SWDTEN bit) 983; WDT = ON WDT enabled 984; 985; Watchdog Timer Postscale Select bits: 986; WDTPS = 1 1:1 987; WDTPS = 2 1:2 988; WDTPS = 4 1:4 989; WDTPS = 8 1:8 990; WDTPS = 16 1:16 991; WDTPS = 32 1:32 992; WDTPS = 64 1:64 993; WDTPS = 128 1:128 994; 995; CCP2 Mux bit: 996; CCP2MUX = OFF CCP2 input/output is multiplexed with RB3 997; CCP2MUX = ON CCP2 input/output is multiplexed with RC1 998; 999; Stack Full/Underflow Reset Enable bit: 1000; STVR = OFF Stack Full/Underflow will not cause RESET 1001; STVR = ON Stack Full/Underflow will cause RESET 1002; 1003; Low Voltage ICSP Enable bit: 1004; LVP = OFF Low Voltage ICSP disabled 1005; LVP = ON Low Voltage ICSP enabled 1006; 1007; Background Debugger Enable bit: 1008; DEBUG = ON Background Debugger enabled. RB6 and RB7 are dedicated to In-Circuit Debug. 1009; DEBUG = OFF Background Debugger disabled. RB6 and RB7 configured as general purpose I/O pins. 1010; 1011; Code Protection bit: 1012; CP0 = ON Block 0 (000200-001FFFh) code protected 1013; CP0 = OFF Block 0 (000200-001FFFh) not code protected 1014; 1015; Code Protection bit: 1016; CP1 = ON Block 1 (002000-003FFFh) code protected 1017; CP1 = OFF Block 1 (002000-003FFFh) not code protected 1018; 1019; Code Protection bit: 1020; CP2 = ON Block 2 (004000-005FFFh) code protected 1021; CP2 = OFF Block 2 (004000-005FFFh) not code protected 1022; 1023; Code Protection bit: 1024; CP3 = ON Block 3 (006000-007FFFh) code protected 1025; CP3 = OFF Block 3 (006000-007FFFh) not code protected 1026; 1027; Boot Block Code Protection bit: 1028; CPB = ON Boot Block (000000-0001FFh) code protected 1029; CPB = OFF Boot Block (000000-0001FFh) not code protected 1030; 1031; Data EEPROM Code Protection bit: 1032; CPD = ON Data EEPROM code protected 1033; CPD = OFF Data EEPROM not code protected 1034; 1035; Write Protection bit: 1036; WRT0 = ON Block 0 (000200-001FFFh) write protected 1037; WRT0 = OFF Block 0 (000200-001FFFh) not write protected 1038; 1039; Write Protection bit: 1040; WRT1 = ON Block 1 (002000-003FFFh) write protected 1041; WRT1 = OFF Block 1 (002000-003FFFh) not write protected 1042; 1043; Write Protection bit: 1044; WRT2 = ON Block 2 (004000-005FFFh) write protected 1045; WRT2 = OFF Block 2 (004000-005FFFh) not write protected 1046; 1047; Write Protection bit: 1048; WRT3 = ON Block 3 (006000-007FFFh) write protected 1049; WRT3 = OFF Block 3 (006000-007FFFh) not write protected 1050; 1051; Configuration Register Write Protection bit: 1052; WRTC = ON Configuration registers (300000-3000FFh) write protected 1053; WRTC = OFF Configuration registers (300000-3000FFh) not write protected 1054; 1055; Boot Block Write Protection bit: 1056; WRTB = ON Boot Block (000000-0001FFh) write protected 1057; WRTB = OFF Boot Block (000000-0001FFh) not write protected 1058; 1059; Data EEPROM Write Protection bit: 1060; WRTD = ON Data EEPROM write protected 1061; WRTD = OFF Data EEPROM not write protected 1062; 1063; Table Read Protection bit: 1064; EBTR0 = ON Block 0 (000200-001FFFh) protected from Table Reads executed in other blocks 1065; EBTR0 = OFF Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks 1066; 1067; Table Read Protection bit: 1068; EBTR1 = ON Block 1 (002000-003FFFh) protected from Table Reads executed in other blocks 1069; EBTR1 = OFF Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks 1070; 1071; Table Read Protection bit: 1072; EBTR2 = ON Block 2 (004000-005FFFh) protected from Table Reads executed in other blocks 1073; EBTR2 = OFF Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks 1074; 1075; Table Read Protection bit: 1076; EBTR3 = ON Block 3 (006000-007FFFh) protected from Table Reads executed in other blocks 1077; EBTR3 = OFF Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks 1078; 1079; Boot Block Table Read Protection bit: 1080; EBTRB = ON Boot Block (000000-0001FFh) protected from Table Reads executed in other blocks 1081; EBTRB = OFF Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks 1082; 1083;========================================================================== 1084;========================================================================== 1085; 1086; Configuration Bits 1087; 1088; NAME Address 1089; CONFIG1H 300001h 1090; CONFIG2L 300002h 1091; CONFIG2H 300003h 1092; CONFIG3H 300005h 1093; CONFIG4L 300006h 1094; CONFIG5L 300008h 1095; CONFIG5H 300009h 1096; CONFIG6L 30000Ah 1097; CONFIG6H 30000Bh 1098; CONFIG7L 30000Ch 1099; CONFIG7H 30000Dh 1100; 1101;========================================================================== 1102 1103; The following is an assignment of address values for all of the 1104; configuration registers for the purpose of table reads 1105_CONFIG1H EQU H'300001' 1106_CONFIG2L EQU H'300002' 1107_CONFIG2H EQU H'300003' 1108_CONFIG3H EQU H'300005' 1109_CONFIG4L EQU H'300006' 1110_CONFIG5L EQU H'300008' 1111_CONFIG5H EQU H'300009' 1112_CONFIG6L EQU H'30000A' 1113_CONFIG6H EQU H'30000B' 1114_CONFIG7L EQU H'30000C' 1115_CONFIG7H EQU H'30000D' 1116 1117;----- CONFIG1H Options -------------------------------------------------- 1118_LP_OSC EQU H'F8' ; LP oscillator 1119_LP_OSC_1H EQU H'F8' ; LP oscillator 1120_XT_OSC EQU H'F9' ; XT oscillator 1121_XT_OSC_1H EQU H'F9' ; XT oscillator 1122_HS_OSC EQU H'FA' ; HS oscillator 1123_HS_OSC_1H EQU H'FA' ; HS oscillator 1124_RC_OSC EQU H'FB' ; RC oscillator 1125_RC_OSC_1H EQU H'FB' ; RC oscillator 1126_EC_OSC EQU H'FC' ; EC oscillator w/ OSC2 configured as divide-by-4 clock output 1127_EC_OSC_1H EQU H'FC' ; EC oscillator w/ OSC2 configured as divide-by-4 clock output 1128_ECIO_OSC EQU H'FD' ; EC oscillator w/ OSC2 configured as RA6 1129_ECIO_OSC_1H EQU H'FD' ; EC oscillator w/ OSC2 configured as RA6 1130_HSPLL_OSC EQU H'FE' ; HS oscillator with PLL enabled/Clock frequency = (4 x FOSC) 1131_HSPLL_OSC_1H EQU H'FE' ; HS oscillator with PLL enabled/Clock frequency = (4 x FOSC) 1132_RCIO_OSC EQU H'FF' ; RC oscillator w/ OSC2 configured as RA6 1133_RCIO_OSC_1H EQU H'FF' ; RC oscillator w/ OSC2 configured as RA6 1134 1135_OSCS_ON_1H EQU H'DF' ; Oscillator system clock switch option is enabled (oscillator switching is enabled) 1136_OSCS_OFF_1H EQU H'FF' ; Oscillator system clock switch option is disabled (main oscillator is source) 1137 1138;----- CONFIG2L Options -------------------------------------------------- 1139_PWRT_ON_2L EQU H'FE' ; PWRT enabled 1140_PWRT_OFF_2L EQU H'FF' ; PWRT disabled 1141 1142_BOR_OFF_2L EQU H'FD' ; Brown-out Reset disabled 1143_BOR_ON_2L EQU H'FF' ; Brown-out Reset enabled 1144 1145_BORV_45_2L EQU H'F3' ; VBOR set to 4.5V 1146_BORV_42_2L EQU H'F7' ; VBOR set to 4.2V 1147_BORV_27_2L EQU H'FB' ; VBOR set to 2.7V 1148_BORV_20 EQU H'FF' ; VBOR set to 2.0V 1149_BORV_20_2L EQU H'FF' ; VBOR set to 2.0V 1150 1151;----- CONFIG2H Options -------------------------------------------------- 1152_WDT_OFF_2H EQU H'FE' ; WDT disabled (control is placed on the SWDTEN bit) 1153_WDT_ON_2H EQU H'FF' ; WDT enabled 1154 1155_WDTPS_1_2H EQU H'F1' ; 1:1 1156_WDTPS_2_2H EQU H'F3' ; 1:2 1157_WDTPS_4_2H EQU H'F5' ; 1:4 1158_WDTPS_8_2H EQU H'F7' ; 1:8 1159_WDTPS_16_2H EQU H'F9' ; 1:16 1160_WDTPS_32_2H EQU H'FB' ; 1:32 1161_WDTPS_64_2H EQU H'FD' ; 1:64 1162_WDTPS_128_2H EQU H'FF' ; 1:128 1163 1164;----- CONFIG3H Options -------------------------------------------------- 1165_CCP2MX_OFF EQU H'FE' ; CCP2 input/output is multiplexed with RB3 1166_CCP2MX_OFF_3H EQU H'FE' ; CCP2 input/output is multiplexed with RB3 1167_CCP2MX_ON EQU H'FF' ; CCP2 input/output is multiplexed with RC1 1168_CCP2MX_ON_3H EQU H'FF' ; CCP2 input/output is multiplexed with RC1 1169 1170;----- CONFIG4L Options -------------------------------------------------- 1171_STVR_OFF_4L EQU H'FE' ; Stack Full/Underflow will not cause RESET 1172_STVR_ON_4L EQU H'FF' ; Stack Full/Underflow will cause RESET 1173 1174_LVP_OFF_4L EQU H'FB' ; Low Voltage ICSP disabled 1175_LVP_ON_4L EQU H'FF' ; Low Voltage ICSP enabled 1176 1177_DEBUG_ON_4L EQU H'7F' ; Background Debugger enabled. RB6 and RB7 are dedicated to In-Circuit Debug. 1178_DEBUG_OFF_4L EQU H'FF' ; Background Debugger disabled. RB6 and RB7 configured as general purpose I/O pins. 1179 1180;----- CONFIG5L Options -------------------------------------------------- 1181_CP0_ON_5L EQU H'FE' ; Block 0 (000200-001FFFh) code protected 1182_CP0_OFF_5L EQU H'FF' ; Block 0 (000200-001FFFh) not code protected 1183 1184_CP1_ON_5L EQU H'FD' ; Block 1 (002000-003FFFh) code protected 1185_CP1_OFF_5L EQU H'FF' ; Block 1 (002000-003FFFh) not code protected 1186 1187_CP2_ON_5L EQU H'FB' ; Block 2 (004000-005FFFh) code protected 1188_CP2_OFF_5L EQU H'FF' ; Block 2 (004000-005FFFh) not code protected 1189 1190_CP3_ON_5L EQU H'F7' ; Block 3 (006000-007FFFh) code protected 1191_CP3_OFF_5L EQU H'FF' ; Block 3 (006000-007FFFh) not code protected 1192 1193;----- CONFIG5H Options -------------------------------------------------- 1194_CPB_ON_5H EQU H'BF' ; Boot Block (000000-0001FFh) code protected 1195_CPB_OFF_5H EQU H'FF' ; Boot Block (000000-0001FFh) not code protected 1196 1197_CPD_ON_5H EQU H'7F' ; Data EEPROM code protected 1198_CPD_OFF_5H EQU H'FF' ; Data EEPROM not code protected 1199 1200;----- CONFIG6L Options -------------------------------------------------- 1201_WRT0_ON_6L EQU H'FE' ; Block 0 (000200-001FFFh) write protected 1202_WRT0_OFF_6L EQU H'FF' ; Block 0 (000200-001FFFh) not write protected 1203 1204_WRT1_ON_6L EQU H'FD' ; Block 1 (002000-003FFFh) write protected 1205_WRT1_OFF_6L EQU H'FF' ; Block 1 (002000-003FFFh) not write protected 1206 1207_WRT2_ON_6L EQU H'FB' ; Block 2 (004000-005FFFh) write protected 1208_WRT2_OFF_6L EQU H'FF' ; Block 2 (004000-005FFFh) not write protected 1209 1210_WRT3_ON_6L EQU H'F7' ; Block 3 (006000-007FFFh) write protected 1211_WRT3_OFF_6L EQU H'FF' ; Block 3 (006000-007FFFh) not write protected 1212 1213;----- CONFIG6H Options -------------------------------------------------- 1214_WRTC_ON_6H EQU H'DF' ; Configuration registers (300000-3000FFh) write protected 1215_WRTC_OFF_6H EQU H'FF' ; Configuration registers (300000-3000FFh) not write protected 1216 1217_WRTB_ON_6H EQU H'BF' ; Boot Block (000000-0001FFh) write protected 1218_WRTB_OFF_6H EQU H'FF' ; Boot Block (000000-0001FFh) not write protected 1219 1220_WRTD_ON_6H EQU H'7F' ; Data EEPROM write protected 1221_WRTD_OFF_6H EQU H'FF' ; Data EEPROM not write protected 1222 1223;----- CONFIG7L Options -------------------------------------------------- 1224_EBTR0_ON_7L EQU H'FE' ; Block 0 (000200-001FFFh) protected from Table Reads executed in other blocks 1225_EBTR0_OFF_7L EQU H'FF' ; Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks 1226 1227_EBTR1_ON_7L EQU H'FD' ; Block 1 (002000-003FFFh) protected from Table Reads executed in other blocks 1228_EBTR1_OFF_7L EQU H'FF' ; Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks 1229 1230_EBTR2_ON_7L EQU H'FB' ; Block 2 (004000-005FFFh) protected from Table Reads executed in other blocks 1231_EBTR2_OFF_7L EQU H'FF' ; Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks 1232 1233_EBTR3_ON_7L EQU H'F7' ; Block 3 (006000-007FFFh) protected from Table Reads executed in other blocks 1234_EBTR3_OFF_7L EQU H'FF' ; Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks 1235 1236;----- CONFIG7H Options -------------------------------------------------- 1237_EBTRB_ON_7H EQU H'BF' ; Boot Block (000000-0001FFh) protected from Table Reads executed in other blocks 1238_EBTRB_OFF_7H EQU H'FF' ; Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks 1239 1240 1241;----- DEVID Equates -------------------------------------------------- 1242_DEVID1 EQU H'3FFFFE' 1243_DEVID2 EQU H'3FFFFF' 1244 1245;----- IDLOC Equates -------------------------------------------------- 1246_IDLOC0 EQU H'200000' 1247_IDLOC1 EQU H'200001' 1248_IDLOC2 EQU H'200002' 1249_IDLOC3 EQU H'200003' 1250_IDLOC4 EQU H'200004' 1251_IDLOC5 EQU H'200005' 1252_IDLOC6 EQU H'200006' 1253_IDLOC7 EQU H'200007' 1254 1255 LIST 1256