1 LIST 2 3;========================================================================== 4; Build date : Oct 21 2015 5; MPASM PIC16F747 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 PIC16F747 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 /PIC16F747 22; 2. LIST directive in the source file 23; LIST P=PIC16F747 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 __16F747 34 MESSG "Processor-header file mismatch. Verify selected processor." 35 ENDIF 36 37 38 39;========================================================================== 40; 41; Register Definitions 42; 43;========================================================================== 44 45W EQU H'0000' 46F EQU H'0001' 47 48;----- Register Files ----------------------------------------------------- 49 50;-----Bank0------------------ 51INDF EQU H'0000' 52TMR0 EQU H'0001' 53PCL EQU H'0002' 54STATUS EQU H'0003' 55FSR EQU H'0004' 56PORTA EQU H'0005' 57PORTB EQU H'0006' 58PORTC EQU H'0007' 59PORTD EQU H'0008' 60PORTE EQU H'0009' 61PCLATH EQU H'000A' 62INTCON EQU H'000B' 63PIR1 EQU H'000C' 64PIR2 EQU H'000D' 65TMR1 EQU H'000E' 66TMR1L EQU H'000E' 67TMR1H EQU H'000F' 68T1CON EQU H'0010' 69TMR2 EQU H'0011' 70T2CON EQU H'0012' 71SSPBUF EQU H'0013' 72SSPCON EQU H'0014' 73CCPR1 EQU H'0015' 74CCPR1L EQU H'0015' 75CCPR1H EQU H'0016' 76CCP1CON EQU H'0017' 77RCSTA EQU H'0018' 78TXREG EQU H'0019' 79RCREG EQU H'001A' 80CCPR2 EQU H'001B' 81CCPR2L EQU H'001B' 82CCPR2H EQU H'001C' 83CCP2CON EQU H'001D' 84ADRESH EQU H'001E' 85ADCON0 EQU H'001F' 86 87;-----Bank1------------------ 88OPTION_REG EQU H'0081' 89TRISA EQU H'0085' 90TRISB EQU H'0086' 91TRISC EQU H'0087' 92TRISD EQU H'0088' 93TRISE EQU H'0089' 94PIE1 EQU H'008C' 95PIE2 EQU H'008D' 96PCON EQU H'008E' 97OSCCON EQU H'008F' 98OSCTUNE EQU H'0090' 99SSPCON2 EQU H'0091' 100PR2 EQU H'0092' 101SSPADD EQU H'0093' 102SSPSTAT EQU H'0094' 103CCPR3 EQU H'0095' 104CCPR3L EQU H'0095' 105CCPR3H EQU H'0096' 106CCP3CON EQU H'0097' 107TXSTA EQU H'0098' 108SPBRG EQU H'0099' 109ADCON2 EQU H'009B' 110CMCON EQU H'009C' 111CVRCON EQU H'009D' 112ADRESL EQU H'009E' 113ADCON1 EQU H'009F' 114 115;-----Bank2------------------ 116WDTCON EQU H'0105' 117LVDCON EQU H'0109' 118PMDATA EQU H'010C' 119PMADR EQU H'010D' 120PMDATH EQU H'010E' 121PMADRH EQU H'010F' 122 123;-----Bank3------------------ 124PMCON1 EQU H'018C' 125 126;----- STATUS Bits ----------------------------------------------------- 127C EQU H'0000' 128DC EQU H'0001' 129Z EQU H'0002' 130NOT_PD EQU H'0003' 131NOT_TO EQU H'0004' 132IRP EQU H'0007' 133 134RP0 EQU H'0005' 135RP1 EQU H'0006' 136 137 138;----- PORTA Bits ----------------------------------------------------- 139RA0 EQU H'0000' 140RA1 EQU H'0001' 141RA2 EQU H'0002' 142RA3 EQU H'0003' 143RA4 EQU H'0004' 144RA5 EQU H'0005' 145RA6 EQU H'0006' 146RA7 EQU H'0007' 147 148 149;----- PORTB Bits ----------------------------------------------------- 150RB0 EQU H'0000' 151RB1 EQU H'0001' 152RB2 EQU H'0002' 153RB3 EQU H'0003' 154RB4 EQU H'0004' 155RB5 EQU H'0005' 156RB6 EQU H'0006' 157RB7 EQU H'0007' 158 159 160;----- PORTC Bits ----------------------------------------------------- 161RC0 EQU H'0000' 162RC1 EQU H'0001' 163RC2 EQU H'0002' 164RC3 EQU H'0003' 165RC4 EQU H'0004' 166RC5 EQU H'0005' 167RC6 EQU H'0006' 168RC7 EQU H'0007' 169 170 171;----- PORTD Bits ----------------------------------------------------- 172RD0 EQU H'0000' 173RD1 EQU H'0001' 174RD2 EQU H'0002' 175RD3 EQU H'0003' 176RD4 EQU H'0004' 177RD5 EQU H'0005' 178RD6 EQU H'0006' 179RD7 EQU H'0007' 180 181 182;----- PORTE Bits ----------------------------------------------------- 183RE0 EQU H'0000' 184RE1 EQU H'0001' 185RE2 EQU H'0002' 186RE3 EQU H'0003' 187 188 189;----- INTCON Bits ----------------------------------------------------- 190RBIF EQU H'0000' 191INTF EQU H'0001' 192TMR0IF EQU H'0002' 193RBIE EQU H'0003' 194INTE EQU H'0004' 195TMR0IE EQU H'0005' 196PEIE EQU H'0006' 197GIE EQU H'0007' 198 199INT0IF EQU H'0001' 200T0IF EQU H'0002' 201INT0IE EQU H'0004' 202T0IE EQU H'0005' 203 204 205;----- PIR1 Bits ----------------------------------------------------- 206TMR1IF EQU H'0000' 207TMR2IF EQU H'0001' 208CCP1IF EQU H'0002' 209SSPIF EQU H'0003' 210TXIF EQU H'0004' 211RCIF EQU H'0005' 212ADIF EQU H'0006' 213PSPIF EQU H'0007' 214 215 216;----- PIR2 Bits ----------------------------------------------------- 217CCP2IF EQU H'0000' 218CCP3IF EQU H'0001' 219BCLIF EQU H'0003' 220LVDIF EQU H'0005' 221CMIF EQU H'0006' 222OSFIF EQU H'0007' 223 224 225;----- T1CON Bits ----------------------------------------------------- 226TMR1ON EQU H'0000' 227TMR1CS EQU H'0001' 228NOT_T1SYNC EQU H'0002' 229T1OSCEN EQU H'0003' 230T1RUN EQU H'0006' 231 232T1SYNC EQU H'0002' 233T1CKPS0 EQU H'0004' 234T1CKPS1 EQU H'0005' 235 236T1INSYNC EQU H'0002' 237 238 239;----- T2CON Bits ----------------------------------------------------- 240TMR2ON EQU H'0002' 241 242T2CKPS0 EQU H'0000' 243T2CKPS1 EQU H'0001' 244TOUTPS0 EQU H'0003' 245TOUTPS1 EQU H'0004' 246TOUTPS2 EQU H'0005' 247TOUTPS3 EQU H'0006' 248 249 250;----- SSPCON Bits ----------------------------------------------------- 251CKP EQU H'0004' 252SSPEN EQU H'0005' 253SSPOV EQU H'0006' 254WCOL EQU H'0007' 255 256SSPM0 EQU H'0000' 257SSPM1 EQU H'0001' 258SSPM2 EQU H'0002' 259SSPM3 EQU H'0003' 260 261 262;----- CCP1CON Bits ----------------------------------------------------- 263CCP1Y EQU H'0004' 264CCP1X EQU H'0005' 265 266CCP1M0 EQU H'0000' 267CCP1M1 EQU H'0001' 268CCP1M2 EQU H'0002' 269CCP1M3 EQU H'0003' 270 271 272;----- RCSTA Bits ----------------------------------------------------- 273RX9D EQU H'0000' 274OERR EQU H'0001' 275FERR EQU H'0002' 276ADDEN EQU H'0003' 277CREN EQU H'0004' 278SREN EQU H'0005' 279RX9 EQU H'0006' 280SPEN EQU H'0007' 281 282RCD8 EQU H'0000' 283RC9 EQU H'0006' 284 285NOT_RC8 EQU H'0006' 286 287RC8_9 EQU H'0006' 288 289 290;----- CCP2CON Bits ----------------------------------------------------- 291CCP2Y EQU H'0004' 292CCP2X EQU H'0005' 293 294CCP2M0 EQU H'0000' 295CCP2M1 EQU H'0001' 296CCP2M2 EQU H'0002' 297CCP2M3 EQU H'0003' 298 299 300;----- ADCON0 Bits ----------------------------------------------------- 301ADON EQU H'0000' 302CHS3 EQU H'0001' 303GO_NOT_DONE EQU H'0002' 304 305GO EQU H'0002' 306CHS0 EQU H'0003' 307CHS1 EQU H'0004' 308CHS2 EQU H'0005' 309ADCS0 EQU H'0006' 310ADCS1 EQU H'0007' 311 312NOT_DONE EQU H'0002' 313 314GO_DONE EQU H'0002' 315 316 317;----- OPTION_REG Bits ----------------------------------------------------- 318PSA EQU H'0003' 319T0SE EQU H'0004' 320T0CS EQU H'0005' 321INTEDG EQU H'0006' 322NOT_RBPU EQU H'0007' 323 324PS0 EQU H'0000' 325PS1 EQU H'0001' 326PS2 EQU H'0002' 327 328 329;----- TRISA Bits ----------------------------------------------------- 330TRISA0 EQU H'0000' 331TRISA1 EQU H'0001' 332TRISA2 EQU H'0002' 333TRISA3 EQU H'0003' 334TRISA4 EQU H'0004' 335TRISA5 EQU H'0005' 336TRISA6 EQU H'0006' 337TRISA7 EQU H'0007' 338 339 340;----- TRISB Bits ----------------------------------------------------- 341TRISB0 EQU H'0000' 342TRISB1 EQU H'0001' 343TRISB2 EQU H'0002' 344TRISB3 EQU H'0003' 345TRISB4 EQU H'0004' 346TRISB5 EQU H'0005' 347TRISB6 EQU H'0006' 348TRISB7 EQU H'0007' 349 350 351;----- TRISC Bits ----------------------------------------------------- 352TRISC0 EQU H'0000' 353TRISC1 EQU H'0001' 354TRISC2 EQU H'0002' 355TRISC3 EQU H'0003' 356TRISC4 EQU H'0004' 357TRISC5 EQU H'0005' 358TRISC6 EQU H'0006' 359TRISC7 EQU H'0007' 360 361 362;----- TRISD Bits ----------------------------------------------------- 363TRISD0 EQU H'0000' 364TRISD1 EQU H'0001' 365TRISD2 EQU H'0002' 366TRISD3 EQU H'0003' 367TRISD4 EQU H'0004' 368TRISD5 EQU H'0005' 369TRISD6 EQU H'0006' 370TRISD7 EQU H'0007' 371 372 373;----- TRISE Bits ----------------------------------------------------- 374TRISE0 EQU H'0000' 375TRISE1 EQU H'0001' 376TRISE2 EQU H'0002' 377TRISE3 EQU H'0003' 378PSPMODE EQU H'0004' 379IBOV EQU H'0005' 380OBF EQU H'0006' 381IBF EQU H'0007' 382 383 384;----- PIE1 Bits ----------------------------------------------------- 385TMR1IE EQU H'0000' 386TMR2IE EQU H'0001' 387CCP1IE EQU H'0002' 388SSPIE EQU H'0003' 389TXIE EQU H'0004' 390RCIE EQU H'0005' 391ADIE EQU H'0006' 392PSPIE EQU H'0007' 393 394 395;----- PIE2 Bits ----------------------------------------------------- 396CCP2IE EQU H'0000' 397CCP3IE EQU H'0001' 398BCLIE EQU H'0003' 399LVDIE EQU H'0005' 400CMIE EQU H'0006' 401OSFIE EQU H'0007' 402 403 404;----- PCON Bits ----------------------------------------------------- 405NOT_BOR EQU H'0000' 406NOT_POR EQU H'0001' 407SBOREN EQU H'0002' 408 409NOT_BO EQU H'0000' 410 411 412;----- OSCCON Bits ----------------------------------------------------- 413IOFS EQU H'0002' 414OSTS EQU H'0003' 415 416SCS0 EQU H'0000' 417SCS1 EQU H'0001' 418IRCF0 EQU H'0004' 419IRCF1 EQU H'0005' 420IRCF2 EQU H'0006' 421 422 423;----- OSCTUNE Bits ----------------------------------------------------- 424TUN0 EQU H'0000' 425TUN1 EQU H'0001' 426TUN2 EQU H'0002' 427TUN3 EQU H'0003' 428TUN4 EQU H'0004' 429TUN5 EQU H'0005' 430 431 432;----- SSPCON2 Bits ----------------------------------------------------- 433SEN EQU H'0000' 434RSEN EQU H'0001' 435PEN EQU H'0002' 436RCEN EQU H'0003' 437ACKEN EQU H'0004' 438ACKDT EQU H'0005' 439ACKSTAT EQU H'0006' 440GCEN EQU H'0007' 441 442 443;----- SSPSTAT Bits ----------------------------------------------------- 444BF EQU H'0000' 445UA EQU H'0001' 446R_NOT_W EQU H'0002' 447S EQU H'0003' 448P EQU H'0004' 449D_NOT_A EQU H'0005' 450CKE EQU H'0006' 451SMP EQU H'0007' 452 453R EQU H'0002' 454D EQU H'0005' 455 456I2C_READ EQU H'0002' 457I2C_START EQU H'0003' 458I2C_STOP EQU H'0004' 459I2C_DATA EQU H'0005' 460 461NOT_W EQU H'0002' 462NOT_A EQU H'0005' 463 464NOT_WRITE EQU H'0002' 465NOT_ADDRESS EQU H'0005' 466 467R_W EQU H'0002' 468D_A EQU H'0005' 469 470READ_WRITE EQU H'0002' 471DATA_ADDRESS EQU H'0005' 472 473 474;----- CCP3CON Bits ----------------------------------------------------- 475CCP3Y EQU H'0004' 476CCP3X EQU H'0005' 477 478CCP3M0 EQU H'0000' 479CCP3M1 EQU H'0001' 480CCP3M2 EQU H'0002' 481CCP3M3 EQU H'0003' 482 483 484;----- TXSTA Bits ----------------------------------------------------- 485TX9D EQU H'0000' 486TRMT EQU H'0001' 487BRGH EQU H'0002' 488SYNC EQU H'0004' 489TXEN EQU H'0005' 490TX9 EQU H'0006' 491CSRC EQU H'0007' 492 493TXD8 EQU H'0000' 494NOT_TX8 EQU H'0006' 495 496TX8_9 EQU H'0006' 497 498 499;----- ADCON2 Bits ----------------------------------------------------- 500ACQT0 EQU H'0003' 501ACQT1 EQU H'0004' 502ACQT2 EQU H'0005' 503 504 505;----- CMCON Bits ----------------------------------------------------- 506CIS EQU H'0003' 507C1INV EQU H'0004' 508C2INV EQU H'0005' 509C1OUT EQU H'0006' 510C2OUT EQU H'0007' 511 512CM0 EQU H'0000' 513CM1 EQU H'0001' 514CM2 EQU H'0002' 515 516 517;----- CVRCON Bits ----------------------------------------------------- 518CVRR EQU H'0005' 519CVROE EQU H'0006' 520CVREN EQU H'0007' 521 522CVR0 EQU H'0000' 523CVR1 EQU H'0001' 524CVR2 EQU H'0002' 525CVR3 EQU H'0003' 526 527 528;----- ADCON1 Bits ----------------------------------------------------- 529ADCS2 EQU H'0006' 530ADFM EQU H'0007' 531 532PCFG0 EQU H'0000' 533PCFG1 EQU H'0001' 534PCFG2 EQU H'0002' 535PCFG3 EQU H'0003' 536VCFG0 EQU H'0004' 537VCFG1 EQU H'0005' 538 539 540;----- WDTCON Bits ----------------------------------------------------- 541SWDTEN EQU H'0000' 542 543SWDTE EQU H'0000' 544WDTPS0 EQU H'0001' 545WDTPS1 EQU H'0002' 546WDTPS2 EQU H'0003' 547WDTPS3 EQU H'0004' 548 549 550;----- LVDCON Bits ----------------------------------------------------- 551LVDEN EQU H'0004' 552IRVST EQU H'0005' 553 554LVDL0 EQU H'0000' 555LVDL1 EQU H'0001' 556LVDL2 EQU H'0002' 557LVDL3 EQU H'0003' 558 559 560;----- PMCON1 Bits ----------------------------------------------------- 561RD EQU H'0000' 562 563 564 565 566;========================================================================== 567; 568; RAM Definitions 569; 570;========================================================================== 571 __MAXRAM H'01FF' 572 __BADRAM H'009A' 573 __BADRAM H'0107'-H'0108' 574 __BADRAM H'0185' 575 __BADRAM H'0187'-H'0189' 576 __BADRAM H'018D'-H'018F' 577 578;========================================================================== 579; 580; Configuration Bits 581; 582; NAME Address 583; CONFIG1 2007h 584; CONFIG2 2008h 585; 586;========================================================================== 587 588; The following is an assignment of address values for all of the 589; configuration registers for the purpose of table reads 590_CONFIG1 EQU H'2007' 591_CONFIG2 EQU H'2008' 592 593;----- CONFIG1 Options -------------------------------------------------- 594_FOSC_LP EQU H'3FEC' ; LP oscillator 595_LP_OSC EQU H'3FEC' ; LP oscillator 596_FOSC_XT EQU H'3FED' ; XT oscillator 597_XT_OSC EQU H'3FED' ; XT oscillator 598_FOSC_HS EQU H'3FEE' ; HS oscillator 599_HS_OSC EQU H'3FEE' ; HS oscillator 600_FOSC_EC EQU H'3FEF' ; EXTCLK; port I/O function on OSC2/CLKO/RA6 601_EXTCLK EQU H'3FEF' ; EXTCLK; port I/O function on OSC2/CLKO/RA6 602_FOSC_INTOSCIO EQU H'3FFC' ; INTRC oscillator; port I/O function on OSC1/CLKI/RA7 and OSC2/CLKO/RA6 603_INTRC_IO EQU H'3FFC' ; INTRC oscillator; port I/O function on OSC1/CLKI/RA7 and OSC2/CLKO/RA6 604_FOSC_INTOSCCLK EQU H'3FFD' ; INTRC oscillator; CLKO function on OSC2/CLKO/RA6 and port I/O function on OSC1/CLKI/RA7 605_INTRC_CLKOUT EQU H'3FFD' ; INTRC oscillator; CLKO function on OSC2/CLKO/RA6 and port I/O function on OSC1/CLKI/RA7 606_FOSC_EXTRCIO EQU H'3FFE' ; EXTRC oscillator; port I/O function on OSC2/CLKO/RA6 607_EXTRC_IO EQU H'3FFE' ; EXTRC oscillator; port I/O function on OSC2/CLKO/RA6 608_FOSC_EXTRCCLK EQU H'3FFF' ; EXTRC oscillator; CLKO function on OSC2/CLKO/RA6 609_EXTRC_CLKOUT EQU H'3FFF' ; EXTRC oscillator; CLKO function on OSC2/CLKO/RA6 610 611_WDTE_OFF EQU H'3FFB' ; WDT disabled 612_WDT_OFF EQU H'3FFB' ; WDT disabled 613_WDTE_ON EQU H'3FFF' ; WDT enabled 614_WDT_ON EQU H'3FFF' ; WDT enabled 615 616_PWRTE_ON EQU H'3FF7' ; PWRT enabled 617_PWRTE_OFF EQU H'3FFF' ; PWRT disabled 618 619_MCLRE_OFF EQU H'3FDF' ; MCLR/VPP/RE3 pin function is digital input only, MCLR gated to '1' 620_MCLR_OFF EQU H'3FDF' ; MCLR/VPP/RE3 pin function is digital input only, MCLR gated to '1' 621_MCLRE_ON EQU H'3FFF' ; MCLR/VPP/RE3 pin function is MCLR 622_MCLR_ON EQU H'3FFF' ; MCLR/VPP/RE3 pin function is MCLR 623 624_BOREN_OFF EQU H'3FBF' ; Disabled 625_BOREN_0 EQU H'3FBF' ; Disabled 626_BOREN_ON EQU H'3FFF' ; Enabled 627_BOREN_1 EQU H'3FFF' ; Enabled 628 629_BORV_45 EQU H'3E7F' ; VBOR set to 4.5V 630_VBOR_4_5 EQU H'3E7F' ; VBOR set to 4.5V 631_BORV_42 EQU H'3EFF' ; VBOR set to 4.2V 632_VBOR_4_2 EQU H'3EFF' ; VBOR set to 4.2V 633_BORV_27 EQU H'3F7F' ; VBOR set to 2.7V 634_VBOR_2_7 EQU H'3F7F' ; VBOR set to 2.7V 635_BORV_20 EQU H'3FFF' ; VBOR set to 2.0V 636_VBOR_2_0 EQU H'3FFF' ; VBOR set to 2.0V 637 638_DEBUG_ON EQU H'37FF' ; In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger 639_DEBUG_OFF EQU H'3FFF' ; In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins 640 641_CCP2MX_RB3 EQU H'2FFF' ; CCP2 is on RB3 642_CCP2_RB3 EQU H'2FFF' ; CCP2 is on RB3 643_CCP2MX_RC1 EQU H'3FFF' ; CCP2 is on RC1 644_CCP2_RC1 EQU H'3FFF' ; CCP2 is on RC1 645 646_CP_ON EQU H'1FFF' ; 0000h to 0FFFh code-protected 647_CP_ALL EQU H'1FFF' ; 0000h to 0FFFh code-protected 648_CP_OFF EQU H'3FFF' ; Code protection off 649 650;----- CONFIG2 Options -------------------------------------------------- 651_FCMEN_OFF EQU H'3FFE' ; Fail-Safe Clock Monitor disabled 652_FCMEN_ON EQU H'3FFF' ; Fail-Safe Clock Monitor enabled 653 654_IESO_OFF EQU H'3FFD' ; Internal External Switchover mode disabled 655_IESO_ON EQU H'3FFF' ; Internal External Switchover mode enabled 656 657_BORSEN_OFF EQU H'3FBF' ; Disabled 658_BORSEN_0 EQU H'3FBF' ; Disabled 659_BORSEN_ON EQU H'3FFF' ; Enabled 660_BORSEN_1 EQU H'3FFF' ; Enabled 661 662;----- DEVID Equates -------------------------------------------------- 663_DEVID1 EQU H'2006' 664 665;----- IDLOC Equates -------------------------------------------------- 666_IDLOC0 EQU H'2000' 667_IDLOC1 EQU H'2001' 668_IDLOC2 EQU H'2002' 669_IDLOC3 EQU H'2003' 670 671 LIST 672