SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
/*-------------------------------------------------------------------------
* MPLAB-Cxx PIC18F452 processor header
*
* (c) Copyright 1999-2007 Microchip Technology, All rights reserved
*-------------------------------------------------------------------------*/
#ifndef __18F452_H
#define __18F452_H
extern volatile near unsigned char PORTA;
extern volatile near union {
struct {
unsigned RA0:1;
unsigned RA1:1;
unsigned RA2:1;
unsigned RA3:1;
unsigned RA4:1;
unsigned RA5:1;
unsigned RA6:1;
};
struct {
unsigned AN0:1;
unsigned AN1:1;
unsigned AN2:1;
unsigned AN3:1;
unsigned :1;
unsigned AN4:1;
unsigned OSC2:1;
};
struct {
unsigned :2;
unsigned VREFM:1;
unsigned VREFP:1;
unsigned T0CKI:1;
unsigned SS:1;
unsigned CLK0:1;
};
struct {
unsigned :5;
unsigned LVDIN:1;
};
} PORTAbits;
extern volatile near unsigned char PORTB;
extern volatile near union {
struct {
unsigned RB0:1;
unsigned RB1:1;
unsigned RB2:1;
unsigned RB3:1;
unsigned RB4:1;
unsigned RB5:1;
unsigned RB6:1;
unsigned RB7:1;
};
struct {
unsigned INT0:1;
unsigned INT1:1;
unsigned INT2:1;
unsigned CCP2:1;
unsigned :1;
unsigned PGM:1;
unsigned PGC:1;
unsigned PGD:1;
};
} PORTBbits;
extern volatile near unsigned char PORTC;
extern volatile near union {
struct {
unsigned RC0:1;
unsigned RC1:1;
unsigned RC2:1;
unsigned RC3:1;
unsigned RC4:1;
unsigned RC5:1;
unsigned RC6:1;
unsigned RC7:1;
};
struct {
unsigned T1OSO:1;
unsigned T1OSI:1;
unsigned :1;
unsigned SCK:1;
unsigned SDI:1;
unsigned SDO:1;
unsigned TX:1;
unsigned RX:1;
};
struct {
unsigned T1CKI:1;
unsigned CCP2:1;
unsigned CCP1:1;
unsigned SCL:1;
unsigned SDA:1;
unsigned :1;
unsigned CK:1;
unsigned DT:1;
};
} PORTCbits;
extern volatile near unsigned char PORTD;
extern volatile near union {
struct {
unsigned RD0:1;
unsigned RD1:1;
unsigned RD2:1;
unsigned RD3:1;
unsigned RD4:1;
unsigned RD5:1;
unsigned RD6:1;
unsigned RD7:1;
};
struct {
unsigned PSP0:1;
unsigned PSP1:1;
unsigned PSP2:1;
unsigned PSP3:1;
unsigned PSP4:1;
unsigned PSP5:1;
unsigned PSP6:1;
unsigned PSP7:1;
};
} PORTDbits;
extern volatile near unsigned char PORTE;
extern volatile near union {
struct {
unsigned RE0:1;
unsigned RE1:1;
unsigned RE2:1;
};
struct {
unsigned AN5:1;
unsigned AN6:1;
unsigned AN7:1;
};
} PORTEbits;
extern volatile near unsigned char LATA;
extern volatile near struct {
unsigned LATA0:1;
unsigned LATA1:1;
unsigned LATA2:1;
unsigned LATA3:1;
unsigned LATA4:1;
unsigned LATA5:1;
unsigned LATA6:1;
} LATAbits;
extern volatile near unsigned char LATB;
extern volatile near struct {
unsigned LATB0:1;
unsigned LATB1:1;
unsigned LATB2:1;
unsigned LATB3:1;
unsigned LATB4:1;
unsigned LATB5:1;
unsigned LATB6:1;
unsigned LATB7:1;
} LATBbits;
extern volatile near unsigned char LATC;
extern volatile near struct {
unsigned LATC0:1;
unsigned LATC1:1;
unsigned LATC2:1;
unsigned LATC3:1;
unsigned LATC4:1;
unsigned LATC5:1;
unsigned LATC6:1;
unsigned LATC7:1;
} LATCbits;
extern volatile near unsigned char LATD;
extern volatile near struct {
unsigned LATD0:1;
unsigned LATD1:1;
unsigned LATD2:1;
unsigned LATD3:1;
unsigned LATD4:1;
unsigned LATD5:1;
unsigned LATD6:1;
unsigned LATD7:1;
} LATDbits;
extern volatile near unsigned char LATE;
extern volatile near struct {
unsigned LATE0:1;
unsigned LATE1:1;
unsigned LATE2:1;
} LATEbits;
extern volatile near unsigned char DDRA;
extern volatile near struct {
unsigned RA0:1;
unsigned RA1:1;
unsigned RA2:1;
unsigned RA3:1;
unsigned RA4:1;
unsigned RA5:1;
unsigned RA6:1;
} DDRAbits;
extern volatile near unsigned char TRISA;
extern volatile near struct {
unsigned TRISA0:1;
unsigned TRISA1:1;
unsigned TRISA2:1;
unsigned TRISA3:1;
unsigned TRISA4:1;
unsigned TRISA5:1;
unsigned TRISA6:1;
} TRISAbits;
extern volatile near unsigned char DDRB;
extern volatile near struct {
unsigned RB0:1;
unsigned RB1:1;
unsigned RB2:1;
unsigned RB3:1;
unsigned RB4:1;
unsigned RB5:1;
unsigned RB6:1;
unsigned RB7:1;
} DDRBbits;
extern volatile near unsigned char TRISB;
extern volatile near struct {
unsigned TRISB0:1;
unsigned TRISB1:1;
unsigned TRISB2:1;
unsigned TRISB3:1;
unsigned TRISB4:1;
unsigned TRISB5:1;
unsigned TRISB6:1;
unsigned TRISB7:1;
} TRISBbits;
extern volatile near unsigned char DDRC;
extern volatile near struct {
unsigned RC0:1;
unsigned RC1:1;
unsigned RC2:1;
unsigned RC3:1;
unsigned RC4:1;
unsigned RC5:1;
unsigned RC6:1;
unsigned RC7:1;
} DDRCbits;
extern volatile near unsigned char TRISC;
extern volatile near struct {
unsigned TRISC0:1;
unsigned TRISC1:1;
unsigned TRISC2:1;
unsigned TRISC3:1;
unsigned TRISC4:1;
unsigned TRISC5:1;
unsigned TRISC6:1;
unsigned TRISC7:1;
} TRISCbits;
extern volatile near unsigned char DDRD;
extern volatile near struct {
unsigned RD0:1;
unsigned RD1:1;
unsigned RD2:1;
unsigned RD3:1;
unsigned RD4:1;
unsigned RD5:1;
unsigned RD6:1;
unsigned RD7:1;
} DDRDbits;
extern volatile near unsigned char TRISD;
extern volatile near struct {
unsigned TRISD0:1;
unsigned TRISD1:1;
unsigned TRISD2:1;
unsigned TRISD3:1;
unsigned TRISD4:1;
unsigned TRISD5:1;
unsigned TRISD6:1;
unsigned TRISD7:1;
} TRISDbits;
extern volatile near unsigned char DDRE;
extern volatile near union {
struct {
unsigned RE0:1;
unsigned RE1:1;
unsigned RE2:1;
};
struct {
unsigned :4;
unsigned PSPMODE:1;
unsigned IBOV:1;
unsigned OBF:1;
unsigned IBF:1;
};
} DDREbits;
extern volatile near unsigned char TRISE;
extern volatile near union {
struct {
unsigned TRISE0:1;
unsigned TRISE1:1;
unsigned TRISE2:1;
};
struct {
unsigned :4;
unsigned PSPMODE:1;
unsigned IBOV:1;
unsigned OBF:1;
unsigned IBF:1;
};
} TRISEbits;
extern volatile near unsigned char PIE1;
extern volatile near struct {
unsigned TMR1IE:1;
unsigned TMR2IE:1;
unsigned CCP1IE:1;
unsigned SSPIE:1;
unsigned TXIE:1;
unsigned RCIE:1;
unsigned ADIE:1;
unsigned PSPIE:1;
} PIE1bits;
extern volatile near unsigned char PIR1;
extern volatile near struct {
unsigned TMR1IF:1;
unsigned TMR2IF:1;
unsigned CCP1IF:1;
unsigned SSPIF:1;
unsigned TXIF:1;
unsigned RCIF:1;
unsigned ADIF:1;
unsigned PSPIF:1;
} PIR1bits;
extern volatile near unsigned char IPR1;
extern volatile near struct {
unsigned TMR1IP:1;
unsigned TMR2IP:1;
unsigned CCP1IP:1;
unsigned SSPIP:1;
unsigned TXIP:1;
unsigned RCIP:1;
unsigned ADIP:1;
unsigned PSPIP:1;
} IPR1bits;
extern volatile near unsigned char PIE2;
extern volatile near struct {
unsigned CCP2IE:1;
unsigned TMR3IE:1;
unsigned LVDIE:1;
unsigned BCLIE:1;
unsigned EEIE:1;
} PIE2bits;
extern volatile near unsigned char PIR2;
extern volatile near struct {
unsigned CCP2IF:1;
unsigned TMR3IF:1;
unsigned LVDIF:1;
unsigned BCLIF:1;
unsigned EEIF:1;
} PIR2bits;
extern volatile near unsigned char IPR2;
extern volatile near struct {
unsigned CCP2IP:1;
unsigned TMR3IP:1;
unsigned LVDIP:1;
unsigned BCLIP:1;
unsigned EEIP:1;
} IPR2bits;
extern volatile near unsigned char EECON1;
extern volatile near struct {
unsigned RD:1;
unsigned WR:1;
unsigned WREN:1;
unsigned WRERR:1;
unsigned FREE:1;
unsigned :1;
unsigned CFGS:1;
unsigned EEPGD:1;
} EECON1bits;
extern volatile near unsigned char EECON2;
extern volatile near unsigned char EEDATA;
extern volatile near unsigned char EEADR;
extern volatile near unsigned char RCSTA;
extern volatile near struct {
unsigned RX9D:1;
unsigned OERR:1;
unsigned FERR:1;
unsigned ADDEN:1;
unsigned CREN:1;
unsigned SREN:1;
unsigned RX9:1;
unsigned SPEN:1;
} RCSTAbits;
extern volatile near unsigned char TXSTA;
extern volatile near struct {
unsigned TX9D:1;
unsigned TRMT:1;
unsigned BRGH:1;
unsigned :1;
unsigned SYNC:1;
unsigned TXEN:1;
unsigned TX9:1;
unsigned CSRC:1;
} TXSTAbits;
extern volatile near unsigned char TXREG;
extern volatile near unsigned char RCREG;
extern volatile near unsigned char SPBRG;
extern volatile near unsigned char T3CON;
extern volatile near union {
struct {
unsigned TMR3ON:1;
unsigned TMR3CS:1;
unsigned T3SYNC:1;
unsigned T3CCP1:1;
unsigned T3CKPS0:1;
unsigned T3CKPS1:1;
unsigned T3CCP2:1;
unsigned RD16:1;
};
struct {
unsigned :2;
unsigned NOT_T3SYNC:1;
};
} T3CONbits;
extern volatile near unsigned char TMR3L;
extern volatile near unsigned char TMR3H;
extern volatile near unsigned char CCP2CON;
extern volatile near union {
struct {
unsigned CCP2M0:1;
unsigned CCP2M1:1;
unsigned CCP2M2:1;
unsigned CCP2M3:1;
unsigned CCP2Y:1;
unsigned CCP2X:1;
};
struct {
unsigned :4;
unsigned DC2B0:1;
unsigned DC2B1:1;
};
struct {
unsigned :5;
unsigned DCCPX:1;
};
} CCP2CONbits;
extern volatile near unsigned CCPR2;
extern volatile near unsigned char CCPR2L;
extern volatile near unsigned char CCPR2H;
extern volatile near unsigned char CCP1CON;
extern volatile near union {
struct {
unsigned CCP1M0:1;
unsigned CCP1M1:1;
unsigned CCP1M2:1;
unsigned CCP1M3:1;
unsigned CCP1Y:1;
unsigned CCP1X:1;
};
struct {
unsigned :4;
unsigned DC1B0:1;
unsigned DC1B1:1;
};
} CCP1CONbits;
extern volatile near unsigned CCPR1;
extern volatile near unsigned char CCPR1L;
extern volatile near unsigned char CCPR1H;
extern volatile near unsigned char ADCON1;
extern volatile near struct {
unsigned PCFG0:1;
unsigned PCFG1:1;
unsigned PCFG2:1;
unsigned PCFG3:1;
unsigned :2;
unsigned ADCS2:1;
unsigned ADFM:1;
} ADCON1bits;
extern volatile near unsigned char ADCON0;
extern volatile near union {
struct {
unsigned ADON:1;
unsigned :1;
unsigned GO:1;
unsigned CHS0:1;
unsigned CHS1:1;
unsigned CHS2:1;
unsigned ADCS0:1;
unsigned ADCS1:1;
};
struct {
unsigned :2;
unsigned NOT_DONE:1;
};
struct {
unsigned :2;
unsigned DONE:1;
};
struct {
unsigned :2;
unsigned GO_DONE:1;
};
} ADCON0bits;
extern volatile near unsigned ADRES;
extern volatile near unsigned char ADRESL;
extern volatile near unsigned char ADRESH;
extern volatile near unsigned char SSPCON2;
extern volatile near struct {
unsigned SEN:1;
unsigned RSEN:1;
unsigned PEN:1;
unsigned RCEN:1;
unsigned ACKEN:1;
unsigned ACKDT:1;
unsigned ACKSTAT:1;
unsigned GCEN:1;
} SSPCON2bits;
extern volatile near unsigned char SSPCON1;
extern volatile near struct {
unsigned SSPM0:1;
unsigned SSPM1:1;
unsigned SSPM2:1;
unsigned SSPM3:1;
unsigned CKP:1;
unsigned SSPEN:1;
unsigned SSPOV:1;
unsigned WCOL:1;
} SSPCON1bits;
extern volatile near unsigned char SSPSTAT;
extern volatile near struct {
unsigned BF:1;
unsigned UA:1;
unsigned R_W:1;
unsigned S:1;
unsigned P:1;
unsigned D_A:1;
unsigned CKE:1;
unsigned SMP:1;
} SSPSTATbits;
extern volatile near unsigned char SSPADD;
extern volatile near unsigned char SSPBUF;
extern volatile near unsigned char T2CON;
extern volatile near struct {
unsigned T2CKPS0:1;
unsigned T2CKPS1:1;
unsigned TMR2ON:1;
unsigned TOUTPS0:1;
unsigned TOUTPS1:1;
unsigned TOUTPS2:1;
unsigned TOUTPS3:1;
} T2CONbits;
extern volatile near unsigned char PR2;
extern volatile near unsigned char TMR2;
extern volatile near unsigned char T1CON;
extern volatile near union {
struct {
unsigned TMR1ON:1;
unsigned TMR1CS:1;
unsigned NOT_T1SYNC:1;
unsigned T1OSCEN:1;
unsigned T1CKPS0:1;
unsigned T1CKPS1:1;
unsigned :1;
unsigned RD16:1;
};
struct {
unsigned :2;
unsigned T1SYNC:1;
};
} T1CONbits;
extern volatile near unsigned char TMR1L;
extern volatile near unsigned char TMR1H;
extern volatile near unsigned char RCON;
extern volatile near union {
struct {
unsigned NOT_BOR:1;
unsigned NOT_POR:1;
unsigned NOT_PD:1;
unsigned NOT_TO:1;
unsigned NOT_RI:1;
unsigned :1;
unsigned NOT_LWRT:1;
unsigned NOT_IPEN:1;
};
struct {
unsigned BOR:1;
unsigned POR:1;
unsigned PD:1;
unsigned TO:1;
unsigned RI:1;
unsigned :1;
unsigned LWRT:1;
unsigned IPEN:1;
};
} RCONbits;
extern volatile near unsigned char WDTCON;
extern volatile near union {
struct {
unsigned SWDTEN:1;
};
struct {
unsigned SWDTE:1;
};
} WDTCONbits;
extern volatile near unsigned char LVDCON;
extern volatile near struct {
unsigned LVDL0:1;
unsigned LVDL1:1;
unsigned LVDL2:1;
unsigned LVDL3:1;
unsigned LVDEN:1;
unsigned IRVST:1;
} LVDCONbits;
extern volatile near unsigned char OSCCON;
extern volatile near struct {
unsigned SCS:1;
} OSCCONbits;
extern volatile near unsigned char T0CON;
extern volatile near struct {
unsigned T0PS0:1;
unsigned T0PS1:1;
unsigned T0PS2:1;
unsigned PSA:1;
unsigned T0SE:1;
unsigned T0CS:1;
unsigned T08BIT:1;
unsigned TMR0ON:1;
} T0CONbits;
extern volatile near unsigned char TMR0L;
extern volatile near unsigned char TMR0H;
extern near unsigned char STATUS;
extern near struct {
unsigned C:1;
unsigned DC:1;
unsigned Z:1;
unsigned OV:1;
unsigned N:1;
} STATUSbits;
extern near unsigned FSR2;
extern near unsigned char FSR2L;
extern near unsigned char FSR2H;
extern volatile near unsigned char PLUSW2;
extern volatile near unsigned char PREINC2;
extern volatile near unsigned char POSTDEC2;
extern volatile near unsigned char POSTINC2;
extern near unsigned char INDF2;
extern near unsigned char BSR;
extern near unsigned FSR1;
extern near unsigned char FSR1L;
extern near unsigned char FSR1H;
extern volatile near unsigned char PLUSW1;
extern volatile near unsigned char PREINC1;
extern volatile near unsigned char POSTDEC1;
extern volatile near unsigned char POSTINC1;
extern near unsigned char INDF1;
extern near unsigned char W;
extern near unsigned char WREG;
extern near unsigned FSR0;
extern near unsigned char FSR0L;
extern near unsigned char FSR0H;
extern volatile near unsigned char PLUSW0;
extern volatile near unsigned char PREINC0;
extern volatile near unsigned char POSTDEC0;
extern volatile near unsigned char POSTINC0;
extern near unsigned char INDF0;
extern volatile near unsigned char INTCON3;
extern volatile near union {
struct {
unsigned INT1F:1;
unsigned INT2F:1;
unsigned :1;
unsigned INT1E:1;
unsigned INT2E:1;
unsigned :1;
unsigned INT1P:1;
unsigned INT2P:1;
};
struct {
unsigned INT1IF:1;
unsigned INT2IF:1;
unsigned :1;
unsigned INT1IE:1;
unsigned INT2IE:1;
unsigned :1;
unsigned INT1IP:1;
unsigned INT2IP:1;
};
} INTCON3bits;
extern volatile near unsigned char INTCON2;
extern volatile near union {
struct {
unsigned RBIP:1;
unsigned INT3P:1;
unsigned T0IP:1;
unsigned INTEDG3:1;
unsigned INTEDG2:1;
unsigned INTEDG1:1;
unsigned INTEDG0:1;
unsigned RBPU:1;
};
struct {
unsigned :2;
unsigned TMR0IP:1;
};
} INTCON2bits;
extern volatile near unsigned char INTCON;
extern volatile near union {
struct {
unsigned RBIF:1;
unsigned INT0F:1;
unsigned T0IF:1;
unsigned RBIE:1;
unsigned INT0E:1;
unsigned T0IE:1;
unsigned PEIE:1;
unsigned GIE:1;
};
struct {
unsigned :1;
unsigned INT0IF:1;
unsigned TMR0IF:1;
unsigned :1;
unsigned INT0IE:1;
unsigned TMR0IE:1;
unsigned GIEL:1;
unsigned GIEH:1;
};
} INTCONbits;
extern near unsigned PROD;
extern near unsigned char PRODL;
extern near unsigned char PRODH;
extern volatile near unsigned char TABLAT;
extern volatile near unsigned short long TBLPTR;
extern volatile near unsigned char TBLPTRL;
extern volatile near unsigned char TBLPTRH;
extern volatile near unsigned char TBLPTRU;
extern volatile near unsigned short long PC;
extern volatile near unsigned char PCL;
extern volatile near unsigned char PCLATH;
extern volatile near unsigned char PCLATU;
extern volatile near unsigned char STKPTR;
extern volatile near struct {
unsigned STKPTR0:1;
unsigned STKPTR1:1;
unsigned STKPTR2:1;
unsigned STKPTR3:1;
unsigned STKPTR4:1;
unsigned :1;
unsigned STKUNF:1;
unsigned STKFUL:1;
} STKPTRbits;
extern near unsigned short long TOS;
extern near unsigned char TOSL;
extern near unsigned char TOSH;
extern near unsigned char TOSU;
/*-------------------------------------------------------------------------
* Some useful defines for inline assembly stuff
*-------------------------------------------------------------------------*/
#define ACCESS 0
#define BANKED 1
/*-------------------------------------------------------------------------
* Some useful macros for inline assembly stuff
*-------------------------------------------------------------------------*/
#define Nop() {_asm nop _endasm}
#define ClrWdt() {_asm clrwdt _endasm}
#define Sleep() {_asm sleep _endasm}
#define Reset() {_asm reset _endasm}
#define Rlcf(f,dest,access) {_asm movlb f rlcf f,dest,access _endasm}
#define Rlncf(f,dest,access) {_asm movlb f rlncf f,dest,access _endasm}
#define Rrcf(f,dest,access) {_asm movlb f rrcf f,dest,access _endasm}
#define Rrncf(f,dest,access) {_asm movlb f rrncf f,dest,access _endasm}
#define Swapf(f,dest,access) {_asm movlb f swapf f,dest,access _endasm }
/*-------------------------------------------------------------------------
* A fairly inclusive set of registers to save for interrupts.
* These are locations which are commonly used by the compiler.
*-------------------------------------------------------------------------*/
#define INTSAVELOCS TBLPTR, TABLAT, PROD
/*-------------------------------------------------------------------------
* IMPORTANT: The _CONFIG_DECL macro has been deprecated. Please utilize
* the #pragma config directive. Refer to the "MPLAB C18 C
* Compiler User's Guide" for more information relating to the
* #pragma config directive.
*
* Defines for configuration words:
* _CONFIG_DECL should be placed between a #pragma romdata CONFIG
* and a #pragma romdata. For example: ,
* #pragma romdata CONFIG
* _CONFIG_DECL(...)
* #pragma romdata
* NOTE: This macro only works when using the default linker script files
* and the CONFIG section exists.
*-------------------------------------------------------------------------*/
#define _CONFIG_DECL(_CONFIG1H, 
_CONFIG2L, 
_CONFIG2H, 
_CONFIG3H, 
_CONFIG4L, 
_CONFIG5L, 
_CONFIG5H, 
_CONFIG6L, 
_CONFIG6H, 
_CONFIG7L, 
_CONFIG7H) 
const rom unsigned char _configuration[14] = { 
0xFF, 
_CONFIG1H, 
_CONFIG2L, 
_CONFIG2H, 
0xFF, 
_CONFIG3H, 
_CONFIG4L, 
0xFF, 
_CONFIG5L, 
_CONFIG5H, 
_CONFIG6L, 
_CONFIG6H, 
_CONFIG7L, 
_CONFIG7H 
}
/*-------------------------------------------------------------------------
* CONFIG1H (0x300001)
*-------------------------------------------------------------------------*/
#define _CONFIG1H_DEFAULT 0x27
#define _OSC_LP_1H 0xF8
#define _OSC_XT_1H 0xF9
#define _OSC_HS_1H 0xFA
#define _OSC_RC_1H 0xFB
#define _OSC_EC_1H 0xFC
#define _OSC_ECIO_1H 0xFD
#define _OSC_HSPLL_1H 0xFE
#define _OSC_RCIO_1H 0xFF
#define _OSCS_ON_1H 0xDF
#define _OSCS_OFF_1H 0xFF
/*-------------------------------------------------------------------------
* CONFIG2L (0x300002)
*-------------------------------------------------------------------------*/
#define _CONFIG2L_DEFAULT 0x0F
#define _PWRT_ON_2L 0xFE
#define _PWRT_OFF_2L 0xFF
#define _BOR_OFF_2L 0xFD
#define _BOR_ON_2L 0xFF
#define _BORV_45_2L 0xF3
#define _BORV_42_2L 0xF7
#define _BORV_27_2L 0xFB
#define _BORV_25_2L 0xFF
/*-------------------------------------------------------------------------
* CONFIG2H (0x300003)
*-------------------------------------------------------------------------*/
#define _CONFIG2H_DEFAULT 0x0F
#define _WDT_OFF_2H 0xFE
#define _WDT_ON_2H 0xFF
#define _WDTPS_1_2H 0xF1
#define _WDTPS_2_2H 0xF3
#define _WDTPS_4_2H 0xF5
#define _WDTPS_8_2H 0xF7
#define _WDTPS_16_2H 0xF9
#define _WDTPS_32_2H 0xFB
#define _WDTPS_64_2H 0xFD
#define _WDTPS_128_2H 0xFF
/*-------------------------------------------------------------------------
* CONFIG3H (0x300005)
*-------------------------------------------------------------------------*/
#define _CONFIG3H_DEFAULT 0x01
#define _CCP2MUX_OFF_3H 0xFE
#define _CCP2MUX_ON_3H 0xFF
/*-------------------------------------------------------------------------
* CONFIG4L (0x300006)
*-------------------------------------------------------------------------*/
#define _CONFIG4L_DEFAULT 0x85
#define _STVR_OFF_4L 0xFE
#define _STVR_ON_4L 0xFF
#define _LVP_OFF_4L 0xFB
#define _LVP_ON_4L 0xFF
#define _DEBUG_ON_4L 0x7F
#define _DEBUG_OFF_4L 0xFF
/*-------------------------------------------------------------------------
* CONFIG5L (0x300008)
*-------------------------------------------------------------------------*/
#define _CONFIG5L_DEFAULT 0x0F
#define _CP0_ON_5L 0xFE
#define _CP0_OFF_5L 0xFF
#define _CP1_ON_5L 0xFD
#define _CP1_OFF_5L 0xFF
#define _CP2_ON_5L 0xFB
#define _CP2_OFF_5L 0xFF
#define _CP3_ON_5L 0xF7
#define _CP3_OFF_5L 0xFF
/*-------------------------------------------------------------------------
* CONFIG5H (0x300009)
*-------------------------------------------------------------------------*/
#define _CONFIG5H_DEFAULT 0xC0
#define _CPB_ON_5H 0xBF
#define _CPB_OFF_5H 0xFF
#define _CPD_ON_5H 0x7F
#define _CPD_OFF_5H 0xFF
/*-------------------------------------------------------------------------
* CONFIG6L (0x30000a)
*-------------------------------------------------------------------------*/
#define _CONFIG6L_DEFAULT 0x0F
#define _WRT0_ON_6L 0xFE
#define _WRT0_OFF_6L 0xFF
#define _WRT1_ON_6L 0xFD
#define _WRT1_OFF_6L 0xFF
#define _WRT2_ON_6L 0xFB
#define _WRT2_OFF_6L 0xFF
#define _WRT3_ON_6L 0xF7
#define _WRT3_OFF_6L 0xFF
/*-------------------------------------------------------------------------
* CONFIG6H (0x30000b)
*-------------------------------------------------------------------------*/
#define _CONFIG6H_DEFAULT 0xE0
#define _WRTB_ON_6H 0xBF
#define _WRTB_OFF_6H 0xFF
#define _WRTC_ON_6H 0xDF
#define _WRTC_OFF_6H 0xFF
#define _WRTD_ON_6H 0x7F
#define _WRTD_OFF_6H 0xFF
/*-------------------------------------------------------------------------
* CONFIG7L (0x30000c)
*-------------------------------------------------------------------------*/
#define _CONFIG7L_DEFAULT 0x0F
#define _EBTR0_ON_7L 0xFE
#define _EBTR0_OFF_7L 0xFF
#define _EBTR1_ON_7L 0xFD
#define _EBTR1_OFF_7L 0xFF
#define _EBTR2_ON_7L 0xFB
#define _EBTR2_OFF_7L 0xFF
#define _EBTR3_ON_7L 0xF7
#define _EBTR3_OFF_7L 0xFF
/*-------------------------------------------------------------------------
* CONFIG7H (0x30000d)
*-------------------------------------------------------------------------*/
#define _CONFIG7H_DEFAULT 0x40
#define _EBTRB_ON_7H 0xBF
#define _EBTRB_OFF_7H 0xFF
#endif
Observação: Disponibilizado pelo Engenheiro Rodrigo Lacerda Taschetto.

Mais conteúdo relacionado

Destaque (9)

Extinção dos dinossauros
Extinção dos dinossaurosExtinção dos dinossauros
Extinção dos dinossauros
 
Estrutura Forma Relevo
Estrutura Forma RelevoEstrutura Forma Relevo
Estrutura Forma Relevo
 
Dinâmica interna e externa do relevo
Dinâmica interna e externa do relevoDinâmica interna e externa do relevo
Dinâmica interna e externa do relevo
 
Formas de relevo
Formas de relevoFormas de relevo
Formas de relevo
 
Paisagens terrestres e as formas de relevo
Paisagens  terrestres e as formas de relevoPaisagens  terrestres e as formas de relevo
Paisagens terrestres e as formas de relevo
 
As paisagens e o relevo
As paisagens e o relevoAs paisagens e o relevo
As paisagens e o relevo
 
Geografia e paisagem
Geografia e paisagemGeografia e paisagem
Geografia e paisagem
 
O relevo e as suas formas
O relevo e as suas formasO relevo e as suas formas
O relevo e as suas formas
 
Formas De Relevo
Formas De RelevoFormas De Relevo
Formas De Relevo
 

Mais de Simuladorgeradoreolico (20)

Programa Simulador de Gerador Eólico
Programa Simulador de Gerador EólicoPrograma Simulador de Gerador Eólico
Programa Simulador de Gerador Eólico
 
Programa Simulador de Gerador Eólico
Programa Simulador de Gerador EólicoPrograma Simulador de Gerador Eólico
Programa Simulador de Gerador Eólico
 
Biblioteca Pinagem
Biblioteca PinagemBiblioteca Pinagem
Biblioteca Pinagem
 
Biblioteca LCD
Biblioteca LCDBiblioteca LCD
Biblioteca LCD
 
Bibliotecas Complementares
Bibliotecas ComplementaresBibliotecas Complementares
Bibliotecas Complementares
 
Biblioteca Atraso
Biblioteca AtrasoBiblioteca Atraso
Biblioteca Atraso
 
Grupo 1 - Velocidades
Grupo 1 - VelocidadesGrupo 1 - Velocidades
Grupo 1 - Velocidades
 
Grupo 2 - Velocidades
Grupo 2 - VelocidadesGrupo 2 - Velocidades
Grupo 2 - Velocidades
 
Grupo 3 - Velocidades
Grupo 3 - VelocidadesGrupo 3 - Velocidades
Grupo 3 - Velocidades
 
Grupo 4 - Velocidades
Grupo 4 - VelocidadesGrupo 4 - Velocidades
Grupo 4 - Velocidades
 
Programa simulador de gerador eólico
Programa simulador de gerador eólicoPrograma simulador de gerador eólico
Programa simulador de gerador eólico
 
Bibliotecas complementares
Bibliotecas complementaresBibliotecas complementares
Bibliotecas complementares
 
PIC18F452
PIC18F452PIC18F452
PIC18F452
 
LCD
LCDLCD
LCD
 
Pinagem
PinagemPinagem
Pinagem
 
Atraso
AtrasoAtraso
Atraso
 
ANEXO A - Grupo 4
ANEXO A - Grupo 4ANEXO A - Grupo 4
ANEXO A - Grupo 4
 
ANEXO A - Grupo 3
ANEXO A - Grupo 3ANEXO A - Grupo 3
ANEXO A - Grupo 3
 
ANEXO A - Grupo 1
ANEXO A - Grupo 1ANEXO A - Grupo 1
ANEXO A - Grupo 1
 
ANEXO A - Grupo 2
ANEXO A - Grupo 2ANEXO A - Grupo 2
ANEXO A - Grupo 2
 

Último

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 

Último (20)

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 

Biblioteca PIC18F452

  • 1. /*------------------------------------------------------------------------- * MPLAB-Cxx PIC18F452 processor header * * (c) Copyright 1999-2007 Microchip Technology, All rights reserved *-------------------------------------------------------------------------*/ #ifndef __18F452_H #define __18F452_H extern volatile near unsigned char PORTA; extern volatile near union { struct { unsigned RA0:1; unsigned RA1:1; unsigned RA2:1; unsigned RA3:1; unsigned RA4:1; unsigned RA5:1; unsigned RA6:1; }; struct { unsigned AN0:1; unsigned AN1:1; unsigned AN2:1; unsigned AN3:1; unsigned :1; unsigned AN4:1; unsigned OSC2:1; }; struct { unsigned :2; unsigned VREFM:1; unsigned VREFP:1; unsigned T0CKI:1; unsigned SS:1; unsigned CLK0:1; }; struct { unsigned :5; unsigned LVDIN:1; }; } PORTAbits; extern volatile near unsigned char PORTB; extern volatile near union { struct { unsigned RB0:1; unsigned RB1:1; unsigned RB2:1; unsigned RB3:1; unsigned RB4:1; unsigned RB5:1; unsigned RB6:1;
  • 2. unsigned RB7:1; }; struct { unsigned INT0:1; unsigned INT1:1; unsigned INT2:1; unsigned CCP2:1; unsigned :1; unsigned PGM:1; unsigned PGC:1; unsigned PGD:1; }; } PORTBbits; extern volatile near unsigned char PORTC; extern volatile near union { struct { unsigned RC0:1; unsigned RC1:1; unsigned RC2:1; unsigned RC3:1; unsigned RC4:1; unsigned RC5:1; unsigned RC6:1; unsigned RC7:1; }; struct { unsigned T1OSO:1; unsigned T1OSI:1; unsigned :1; unsigned SCK:1; unsigned SDI:1; unsigned SDO:1; unsigned TX:1; unsigned RX:1; }; struct { unsigned T1CKI:1; unsigned CCP2:1; unsigned CCP1:1; unsigned SCL:1; unsigned SDA:1; unsigned :1; unsigned CK:1; unsigned DT:1; }; } PORTCbits; extern volatile near unsigned char PORTD; extern volatile near union { struct { unsigned RD0:1; unsigned RD1:1; unsigned RD2:1;
  • 3. unsigned RD3:1; unsigned RD4:1; unsigned RD5:1; unsigned RD6:1; unsigned RD7:1; }; struct { unsigned PSP0:1; unsigned PSP1:1; unsigned PSP2:1; unsigned PSP3:1; unsigned PSP4:1; unsigned PSP5:1; unsigned PSP6:1; unsigned PSP7:1; }; } PORTDbits; extern volatile near unsigned char PORTE; extern volatile near union { struct { unsigned RE0:1; unsigned RE1:1; unsigned RE2:1; }; struct { unsigned AN5:1; unsigned AN6:1; unsigned AN7:1; }; } PORTEbits; extern volatile near unsigned char LATA; extern volatile near struct { unsigned LATA0:1; unsigned LATA1:1; unsigned LATA2:1; unsigned LATA3:1; unsigned LATA4:1; unsigned LATA5:1; unsigned LATA6:1; } LATAbits; extern volatile near unsigned char LATB; extern volatile near struct { unsigned LATB0:1; unsigned LATB1:1; unsigned LATB2:1; unsigned LATB3:1; unsigned LATB4:1; unsigned LATB5:1; unsigned LATB6:1; unsigned LATB7:1; } LATBbits; extern volatile near unsigned char LATC;
  • 4. extern volatile near struct { unsigned LATC0:1; unsigned LATC1:1; unsigned LATC2:1; unsigned LATC3:1; unsigned LATC4:1; unsigned LATC5:1; unsigned LATC6:1; unsigned LATC7:1; } LATCbits; extern volatile near unsigned char LATD; extern volatile near struct { unsigned LATD0:1; unsigned LATD1:1; unsigned LATD2:1; unsigned LATD3:1; unsigned LATD4:1; unsigned LATD5:1; unsigned LATD6:1; unsigned LATD7:1; } LATDbits; extern volatile near unsigned char LATE; extern volatile near struct { unsigned LATE0:1; unsigned LATE1:1; unsigned LATE2:1; } LATEbits; extern volatile near unsigned char DDRA; extern volatile near struct { unsigned RA0:1; unsigned RA1:1; unsigned RA2:1; unsigned RA3:1; unsigned RA4:1; unsigned RA5:1; unsigned RA6:1; } DDRAbits; extern volatile near unsigned char TRISA; extern volatile near struct { unsigned TRISA0:1; unsigned TRISA1:1; unsigned TRISA2:1; unsigned TRISA3:1; unsigned TRISA4:1; unsigned TRISA5:1; unsigned TRISA6:1; } TRISAbits; extern volatile near unsigned char DDRB; extern volatile near struct { unsigned RB0:1; unsigned RB1:1; unsigned RB2:1;
  • 5. unsigned RB3:1; unsigned RB4:1; unsigned RB5:1; unsigned RB6:1; unsigned RB7:1; } DDRBbits; extern volatile near unsigned char TRISB; extern volatile near struct { unsigned TRISB0:1; unsigned TRISB1:1; unsigned TRISB2:1; unsigned TRISB3:1; unsigned TRISB4:1; unsigned TRISB5:1; unsigned TRISB6:1; unsigned TRISB7:1; } TRISBbits; extern volatile near unsigned char DDRC; extern volatile near struct { unsigned RC0:1; unsigned RC1:1; unsigned RC2:1; unsigned RC3:1; unsigned RC4:1; unsigned RC5:1; unsigned RC6:1; unsigned RC7:1; } DDRCbits; extern volatile near unsigned char TRISC; extern volatile near struct { unsigned TRISC0:1; unsigned TRISC1:1; unsigned TRISC2:1; unsigned TRISC3:1; unsigned TRISC4:1; unsigned TRISC5:1; unsigned TRISC6:1; unsigned TRISC7:1; } TRISCbits; extern volatile near unsigned char DDRD; extern volatile near struct { unsigned RD0:1; unsigned RD1:1; unsigned RD2:1; unsigned RD3:1; unsigned RD4:1; unsigned RD5:1; unsigned RD6:1; unsigned RD7:1; } DDRDbits; extern volatile near unsigned char TRISD; extern volatile near struct {
  • 6. unsigned TRISD0:1; unsigned TRISD1:1; unsigned TRISD2:1; unsigned TRISD3:1; unsigned TRISD4:1; unsigned TRISD5:1; unsigned TRISD6:1; unsigned TRISD7:1; } TRISDbits; extern volatile near unsigned char DDRE; extern volatile near union { struct { unsigned RE0:1; unsigned RE1:1; unsigned RE2:1; }; struct { unsigned :4; unsigned PSPMODE:1; unsigned IBOV:1; unsigned OBF:1; unsigned IBF:1; }; } DDREbits; extern volatile near unsigned char TRISE; extern volatile near union { struct { unsigned TRISE0:1; unsigned TRISE1:1; unsigned TRISE2:1; }; struct { unsigned :4; unsigned PSPMODE:1; unsigned IBOV:1; unsigned OBF:1; unsigned IBF:1; }; } TRISEbits; extern volatile near unsigned char PIE1; extern volatile near struct { unsigned TMR1IE:1; unsigned TMR2IE:1; unsigned CCP1IE:1; unsigned SSPIE:1; unsigned TXIE:1; unsigned RCIE:1; unsigned ADIE:1; unsigned PSPIE:1; } PIE1bits; extern volatile near unsigned char PIR1; extern volatile near struct {
  • 7. unsigned TMR1IF:1; unsigned TMR2IF:1; unsigned CCP1IF:1; unsigned SSPIF:1; unsigned TXIF:1; unsigned RCIF:1; unsigned ADIF:1; unsigned PSPIF:1; } PIR1bits; extern volatile near unsigned char IPR1; extern volatile near struct { unsigned TMR1IP:1; unsigned TMR2IP:1; unsigned CCP1IP:1; unsigned SSPIP:1; unsigned TXIP:1; unsigned RCIP:1; unsigned ADIP:1; unsigned PSPIP:1; } IPR1bits; extern volatile near unsigned char PIE2; extern volatile near struct { unsigned CCP2IE:1; unsigned TMR3IE:1; unsigned LVDIE:1; unsigned BCLIE:1; unsigned EEIE:1; } PIE2bits; extern volatile near unsigned char PIR2; extern volatile near struct { unsigned CCP2IF:1; unsigned TMR3IF:1; unsigned LVDIF:1; unsigned BCLIF:1; unsigned EEIF:1; } PIR2bits; extern volatile near unsigned char IPR2; extern volatile near struct { unsigned CCP2IP:1; unsigned TMR3IP:1; unsigned LVDIP:1; unsigned BCLIP:1; unsigned EEIP:1; } IPR2bits; extern volatile near unsigned char EECON1; extern volatile near struct { unsigned RD:1; unsigned WR:1; unsigned WREN:1; unsigned WRERR:1; unsigned FREE:1; unsigned :1;
  • 8. unsigned CFGS:1; unsigned EEPGD:1; } EECON1bits; extern volatile near unsigned char EECON2; extern volatile near unsigned char EEDATA; extern volatile near unsigned char EEADR; extern volatile near unsigned char RCSTA; extern volatile near struct { unsigned RX9D:1; unsigned OERR:1; unsigned FERR:1; unsigned ADDEN:1; unsigned CREN:1; unsigned SREN:1; unsigned RX9:1; unsigned SPEN:1; } RCSTAbits; extern volatile near unsigned char TXSTA; extern volatile near struct { unsigned TX9D:1; unsigned TRMT:1; unsigned BRGH:1; unsigned :1; unsigned SYNC:1; unsigned TXEN:1; unsigned TX9:1; unsigned CSRC:1; } TXSTAbits; extern volatile near unsigned char TXREG; extern volatile near unsigned char RCREG; extern volatile near unsigned char SPBRG; extern volatile near unsigned char T3CON; extern volatile near union { struct { unsigned TMR3ON:1; unsigned TMR3CS:1; unsigned T3SYNC:1; unsigned T3CCP1:1; unsigned T3CKPS0:1; unsigned T3CKPS1:1; unsigned T3CCP2:1; unsigned RD16:1; }; struct { unsigned :2; unsigned NOT_T3SYNC:1; }; } T3CONbits; extern volatile near unsigned char TMR3L; extern volatile near unsigned char TMR3H; extern volatile near unsigned char CCP2CON; extern volatile near union {
  • 9. struct { unsigned CCP2M0:1; unsigned CCP2M1:1; unsigned CCP2M2:1; unsigned CCP2M3:1; unsigned CCP2Y:1; unsigned CCP2X:1; }; struct { unsigned :4; unsigned DC2B0:1; unsigned DC2B1:1; }; struct { unsigned :5; unsigned DCCPX:1; }; } CCP2CONbits; extern volatile near unsigned CCPR2; extern volatile near unsigned char CCPR2L; extern volatile near unsigned char CCPR2H; extern volatile near unsigned char CCP1CON; extern volatile near union { struct { unsigned CCP1M0:1; unsigned CCP1M1:1; unsigned CCP1M2:1; unsigned CCP1M3:1; unsigned CCP1Y:1; unsigned CCP1X:1; }; struct { unsigned :4; unsigned DC1B0:1; unsigned DC1B1:1; }; } CCP1CONbits; extern volatile near unsigned CCPR1; extern volatile near unsigned char CCPR1L; extern volatile near unsigned char CCPR1H; extern volatile near unsigned char ADCON1; extern volatile near struct { unsigned PCFG0:1; unsigned PCFG1:1; unsigned PCFG2:1; unsigned PCFG3:1; unsigned :2; unsigned ADCS2:1; unsigned ADFM:1; } ADCON1bits; extern volatile near unsigned char ADCON0; extern volatile near union {
  • 10. struct { unsigned ADON:1; unsigned :1; unsigned GO:1; unsigned CHS0:1; unsigned CHS1:1; unsigned CHS2:1; unsigned ADCS0:1; unsigned ADCS1:1; }; struct { unsigned :2; unsigned NOT_DONE:1; }; struct { unsigned :2; unsigned DONE:1; }; struct { unsigned :2; unsigned GO_DONE:1; }; } ADCON0bits; extern volatile near unsigned ADRES; extern volatile near unsigned char ADRESL; extern volatile near unsigned char ADRESH; extern volatile near unsigned char SSPCON2; extern volatile near struct { unsigned SEN:1; unsigned RSEN:1; unsigned PEN:1; unsigned RCEN:1; unsigned ACKEN:1; unsigned ACKDT:1; unsigned ACKSTAT:1; unsigned GCEN:1; } SSPCON2bits; extern volatile near unsigned char SSPCON1; extern volatile near struct { unsigned SSPM0:1; unsigned SSPM1:1; unsigned SSPM2:1; unsigned SSPM3:1; unsigned CKP:1; unsigned SSPEN:1; unsigned SSPOV:1; unsigned WCOL:1; } SSPCON1bits; extern volatile near unsigned char SSPSTAT; extern volatile near struct { unsigned BF:1; unsigned UA:1;
  • 11. unsigned R_W:1; unsigned S:1; unsigned P:1; unsigned D_A:1; unsigned CKE:1; unsigned SMP:1; } SSPSTATbits; extern volatile near unsigned char SSPADD; extern volatile near unsigned char SSPBUF; extern volatile near unsigned char T2CON; extern volatile near struct { unsigned T2CKPS0:1; unsigned T2CKPS1:1; unsigned TMR2ON:1; unsigned TOUTPS0:1; unsigned TOUTPS1:1; unsigned TOUTPS2:1; unsigned TOUTPS3:1; } T2CONbits; extern volatile near unsigned char PR2; extern volatile near unsigned char TMR2; extern volatile near unsigned char T1CON; extern volatile near union { struct { unsigned TMR1ON:1; unsigned TMR1CS:1; unsigned NOT_T1SYNC:1; unsigned T1OSCEN:1; unsigned T1CKPS0:1; unsigned T1CKPS1:1; unsigned :1; unsigned RD16:1; }; struct { unsigned :2; unsigned T1SYNC:1; }; } T1CONbits; extern volatile near unsigned char TMR1L; extern volatile near unsigned char TMR1H; extern volatile near unsigned char RCON; extern volatile near union { struct { unsigned NOT_BOR:1; unsigned NOT_POR:1; unsigned NOT_PD:1; unsigned NOT_TO:1; unsigned NOT_RI:1; unsigned :1; unsigned NOT_LWRT:1; unsigned NOT_IPEN:1; };
  • 12. struct { unsigned BOR:1; unsigned POR:1; unsigned PD:1; unsigned TO:1; unsigned RI:1; unsigned :1; unsigned LWRT:1; unsigned IPEN:1; }; } RCONbits; extern volatile near unsigned char WDTCON; extern volatile near union { struct { unsigned SWDTEN:1; }; struct { unsigned SWDTE:1; }; } WDTCONbits; extern volatile near unsigned char LVDCON; extern volatile near struct { unsigned LVDL0:1; unsigned LVDL1:1; unsigned LVDL2:1; unsigned LVDL3:1; unsigned LVDEN:1; unsigned IRVST:1; } LVDCONbits; extern volatile near unsigned char OSCCON; extern volatile near struct { unsigned SCS:1; } OSCCONbits; extern volatile near unsigned char T0CON; extern volatile near struct { unsigned T0PS0:1; unsigned T0PS1:1; unsigned T0PS2:1; unsigned PSA:1; unsigned T0SE:1; unsigned T0CS:1; unsigned T08BIT:1; unsigned TMR0ON:1; } T0CONbits; extern volatile near unsigned char TMR0L; extern volatile near unsigned char TMR0H; extern near unsigned char STATUS; extern near struct { unsigned C:1; unsigned DC:1; unsigned Z:1; unsigned OV:1;
  • 13. unsigned N:1; } STATUSbits; extern near unsigned FSR2; extern near unsigned char FSR2L; extern near unsigned char FSR2H; extern volatile near unsigned char PLUSW2; extern volatile near unsigned char PREINC2; extern volatile near unsigned char POSTDEC2; extern volatile near unsigned char POSTINC2; extern near unsigned char INDF2; extern near unsigned char BSR; extern near unsigned FSR1; extern near unsigned char FSR1L; extern near unsigned char FSR1H; extern volatile near unsigned char PLUSW1; extern volatile near unsigned char PREINC1; extern volatile near unsigned char POSTDEC1; extern volatile near unsigned char POSTINC1; extern near unsigned char INDF1; extern near unsigned char W; extern near unsigned char WREG; extern near unsigned FSR0; extern near unsigned char FSR0L; extern near unsigned char FSR0H; extern volatile near unsigned char PLUSW0; extern volatile near unsigned char PREINC0; extern volatile near unsigned char POSTDEC0; extern volatile near unsigned char POSTINC0; extern near unsigned char INDF0; extern volatile near unsigned char INTCON3; extern volatile near union { struct { unsigned INT1F:1; unsigned INT2F:1; unsigned :1; unsigned INT1E:1; unsigned INT2E:1; unsigned :1; unsigned INT1P:1; unsigned INT2P:1; }; struct { unsigned INT1IF:1; unsigned INT2IF:1; unsigned :1; unsigned INT1IE:1; unsigned INT2IE:1; unsigned :1; unsigned INT1IP:1; unsigned INT2IP:1; }; } INTCON3bits;
  • 14. extern volatile near unsigned char INTCON2; extern volatile near union { struct { unsigned RBIP:1; unsigned INT3P:1; unsigned T0IP:1; unsigned INTEDG3:1; unsigned INTEDG2:1; unsigned INTEDG1:1; unsigned INTEDG0:1; unsigned RBPU:1; }; struct { unsigned :2; unsigned TMR0IP:1; }; } INTCON2bits; extern volatile near unsigned char INTCON; extern volatile near union { struct { unsigned RBIF:1; unsigned INT0F:1; unsigned T0IF:1; unsigned RBIE:1; unsigned INT0E:1; unsigned T0IE:1; unsigned PEIE:1; unsigned GIE:1; }; struct { unsigned :1; unsigned INT0IF:1; unsigned TMR0IF:1; unsigned :1; unsigned INT0IE:1; unsigned TMR0IE:1; unsigned GIEL:1; unsigned GIEH:1; }; } INTCONbits; extern near unsigned PROD; extern near unsigned char PRODL; extern near unsigned char PRODH; extern volatile near unsigned char TABLAT; extern volatile near unsigned short long TBLPTR; extern volatile near unsigned char TBLPTRL; extern volatile near unsigned char TBLPTRH; extern volatile near unsigned char TBLPTRU; extern volatile near unsigned short long PC; extern volatile near unsigned char PCL; extern volatile near unsigned char PCLATH; extern volatile near unsigned char PCLATU;
  • 15. extern volatile near unsigned char STKPTR; extern volatile near struct { unsigned STKPTR0:1; unsigned STKPTR1:1; unsigned STKPTR2:1; unsigned STKPTR3:1; unsigned STKPTR4:1; unsigned :1; unsigned STKUNF:1; unsigned STKFUL:1; } STKPTRbits; extern near unsigned short long TOS; extern near unsigned char TOSL; extern near unsigned char TOSH; extern near unsigned char TOSU; /*------------------------------------------------------------------------- * Some useful defines for inline assembly stuff *-------------------------------------------------------------------------*/ #define ACCESS 0 #define BANKED 1 /*------------------------------------------------------------------------- * Some useful macros for inline assembly stuff *-------------------------------------------------------------------------*/ #define Nop() {_asm nop _endasm} #define ClrWdt() {_asm clrwdt _endasm} #define Sleep() {_asm sleep _endasm} #define Reset() {_asm reset _endasm} #define Rlcf(f,dest,access) {_asm movlb f rlcf f,dest,access _endasm} #define Rlncf(f,dest,access) {_asm movlb f rlncf f,dest,access _endasm} #define Rrcf(f,dest,access) {_asm movlb f rrcf f,dest,access _endasm} #define Rrncf(f,dest,access) {_asm movlb f rrncf f,dest,access _endasm} #define Swapf(f,dest,access) {_asm movlb f swapf f,dest,access _endasm } /*------------------------------------------------------------------------- * A fairly inclusive set of registers to save for interrupts. * These are locations which are commonly used by the compiler. *-------------------------------------------------------------------------*/ #define INTSAVELOCS TBLPTR, TABLAT, PROD /*------------------------------------------------------------------------- * IMPORTANT: The _CONFIG_DECL macro has been deprecated. Please utilize * the #pragma config directive. Refer to the "MPLAB C18 C * Compiler User's Guide" for more information relating to the * #pragma config directive. * * Defines for configuration words: * _CONFIG_DECL should be placed between a #pragma romdata CONFIG * and a #pragma romdata. For example: ,
  • 16. * #pragma romdata CONFIG * _CONFIG_DECL(...) * #pragma romdata * NOTE: This macro only works when using the default linker script files * and the CONFIG section exists. *-------------------------------------------------------------------------*/ #define _CONFIG_DECL(_CONFIG1H, _CONFIG2L, _CONFIG2H, _CONFIG3H, _CONFIG4L, _CONFIG5L, _CONFIG5H, _CONFIG6L, _CONFIG6H, _CONFIG7L, _CONFIG7H) const rom unsigned char _configuration[14] = { 0xFF, _CONFIG1H, _CONFIG2L, _CONFIG2H, 0xFF, _CONFIG3H, _CONFIG4L, 0xFF, _CONFIG5L, _CONFIG5H, _CONFIG6L, _CONFIG6H, _CONFIG7L, _CONFIG7H } /*------------------------------------------------------------------------- * CONFIG1H (0x300001) *-------------------------------------------------------------------------*/ #define _CONFIG1H_DEFAULT 0x27 #define _OSC_LP_1H 0xF8 #define _OSC_XT_1H 0xF9 #define _OSC_HS_1H 0xFA #define _OSC_RC_1H 0xFB #define _OSC_EC_1H 0xFC #define _OSC_ECIO_1H 0xFD #define _OSC_HSPLL_1H 0xFE #define _OSC_RCIO_1H 0xFF #define _OSCS_ON_1H 0xDF #define _OSCS_OFF_1H 0xFF /*------------------------------------------------------------------------- * CONFIG2L (0x300002)
  • 17. *-------------------------------------------------------------------------*/ #define _CONFIG2L_DEFAULT 0x0F #define _PWRT_ON_2L 0xFE #define _PWRT_OFF_2L 0xFF #define _BOR_OFF_2L 0xFD #define _BOR_ON_2L 0xFF #define _BORV_45_2L 0xF3 #define _BORV_42_2L 0xF7 #define _BORV_27_2L 0xFB #define _BORV_25_2L 0xFF /*------------------------------------------------------------------------- * CONFIG2H (0x300003) *-------------------------------------------------------------------------*/ #define _CONFIG2H_DEFAULT 0x0F #define _WDT_OFF_2H 0xFE #define _WDT_ON_2H 0xFF #define _WDTPS_1_2H 0xF1 #define _WDTPS_2_2H 0xF3 #define _WDTPS_4_2H 0xF5 #define _WDTPS_8_2H 0xF7 #define _WDTPS_16_2H 0xF9 #define _WDTPS_32_2H 0xFB #define _WDTPS_64_2H 0xFD #define _WDTPS_128_2H 0xFF /*------------------------------------------------------------------------- * CONFIG3H (0x300005) *-------------------------------------------------------------------------*/ #define _CONFIG3H_DEFAULT 0x01 #define _CCP2MUX_OFF_3H 0xFE #define _CCP2MUX_ON_3H 0xFF /*------------------------------------------------------------------------- * CONFIG4L (0x300006) *-------------------------------------------------------------------------*/ #define _CONFIG4L_DEFAULT 0x85 #define _STVR_OFF_4L 0xFE #define _STVR_ON_4L 0xFF #define _LVP_OFF_4L 0xFB #define _LVP_ON_4L 0xFF #define _DEBUG_ON_4L 0x7F #define _DEBUG_OFF_4L 0xFF /*------------------------------------------------------------------------- * CONFIG5L (0x300008) *-------------------------------------------------------------------------*/
  • 18. #define _CONFIG5L_DEFAULT 0x0F #define _CP0_ON_5L 0xFE #define _CP0_OFF_5L 0xFF #define _CP1_ON_5L 0xFD #define _CP1_OFF_5L 0xFF #define _CP2_ON_5L 0xFB #define _CP2_OFF_5L 0xFF #define _CP3_ON_5L 0xF7 #define _CP3_OFF_5L 0xFF /*------------------------------------------------------------------------- * CONFIG5H (0x300009) *-------------------------------------------------------------------------*/ #define _CONFIG5H_DEFAULT 0xC0 #define _CPB_ON_5H 0xBF #define _CPB_OFF_5H 0xFF #define _CPD_ON_5H 0x7F #define _CPD_OFF_5H 0xFF /*------------------------------------------------------------------------- * CONFIG6L (0x30000a) *-------------------------------------------------------------------------*/ #define _CONFIG6L_DEFAULT 0x0F #define _WRT0_ON_6L 0xFE #define _WRT0_OFF_6L 0xFF #define _WRT1_ON_6L 0xFD #define _WRT1_OFF_6L 0xFF #define _WRT2_ON_6L 0xFB #define _WRT2_OFF_6L 0xFF #define _WRT3_ON_6L 0xF7 #define _WRT3_OFF_6L 0xFF /*------------------------------------------------------------------------- * CONFIG6H (0x30000b) *-------------------------------------------------------------------------*/ #define _CONFIG6H_DEFAULT 0xE0 #define _WRTB_ON_6H 0xBF #define _WRTB_OFF_6H 0xFF #define _WRTC_ON_6H 0xDF #define _WRTC_OFF_6H 0xFF #define _WRTD_ON_6H 0x7F #define _WRTD_OFF_6H 0xFF
  • 19. /*------------------------------------------------------------------------- * CONFIG7L (0x30000c) *-------------------------------------------------------------------------*/ #define _CONFIG7L_DEFAULT 0x0F #define _EBTR0_ON_7L 0xFE #define _EBTR0_OFF_7L 0xFF #define _EBTR1_ON_7L 0xFD #define _EBTR1_OFF_7L 0xFF #define _EBTR2_ON_7L 0xFB #define _EBTR2_OFF_7L 0xFF #define _EBTR3_ON_7L 0xF7 #define _EBTR3_OFF_7L 0xFF /*------------------------------------------------------------------------- * CONFIG7H (0x30000d) *-------------------------------------------------------------------------*/ #define _CONFIG7H_DEFAULT 0x40 #define _EBTRB_ON_7H 0xBF #define _EBTRB_OFF_7H 0xFF #endif Observação: Disponibilizado pelo Engenheiro Rodrigo Lacerda Taschetto.