📄 p18c801.h
字号:
} ;
} 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 INT3: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 AD0:1;
unsigned AD1:1;
unsigned AD2:1;
unsigned AD3:1;
unsigned AD4:1;
unsigned AD5:1;
unsigned AD6:1;
unsigned AD7:1;
} ;
} PORTDbits ;
extern volatile near unsigned char PORTE;
extern volatile near union {
struct {
unsigned RE0:1;
unsigned RE1:1;
unsigned RE2:1;
unsigned RE3:1;
unsigned RE4:1;
unsigned RE5:1;
unsigned RE6:1;
unsigned RE7:1;
} ;
struct {
unsigned ALE:1;
unsigned OE:1;
unsigned WRL:1;
unsigned WRH:1;
unsigned :3;
unsigned CCP2:1;
} ;
struct {
unsigned AN5:1;
} ;
} PORTEbits ;
extern volatile near unsigned char PORTF;
extern volatile near union {
struct {
unsigned RF0:1;
unsigned RF1:1;
unsigned RF2:1;
unsigned RF3:1;
unsigned RF4:1;
unsigned RF5:1;
unsigned RF6:1;
unsigned RF7:1;
} ;
struct {
unsigned AN5:1;
unsigned AN6:1;
unsigned AN7:1;
unsigned AN8:1;
unsigned AN9:1;
unsigned AN10:1;
unsigned AN11:1;
unsigned RF7:1;
} ;
} PORTFbits ;
extern volatile near unsigned char PORTG;
extern volatile near union {
struct {
unsigned RG0:1;
unsigned RG1:1;
unsigned RG2:1;
unsigned RG3:1;
unsigned RG4:1;
} ;
struct {
unsigned CANTX1:1;
unsigned CANTX2:1;
unsigned CANRX:1;
} ;
} PORTGbits ;
extern volatile near unsigned char PORTH;
extern volatile near union {
struct {
unsigned RH0:1;
unsigned RH1:1;
unsigned RH2:1;
unsigned RH3:1;
unsigned RH4:1;
unsigned RH5:1;
unsigned RH6:1;
unsigned RH7:1;
} ;
struct {
unsigned A16:1;
unsigned A17:1;
unsigned A18:1;
unsigned A19:1;
unsigned AN12:1;
unsigned AN13:1;
unsigned AN14:1;
unsigned AN15:1;
} ;
} PORTHbits ;
extern volatile near unsigned char PORTJ;
extern volatile near union {
struct {
unsigned RJ0:1;
unsigned RJ1:1;
unsigned RJ2:1;
unsigned RJ3:1;
unsigned RJ4:1;
unsigned RJ5:1;
unsigned RJ6:1;
unsigned RJ7:1;
} ;
struct {
unsigned AD8:1;
unsigned AD9:1;
unsigned AD10:1;
unsigned AD11:1;
unsigned AD12:1;
unsigned AD13:1;
unsigned AD14:1;
unsigned AD15:1;
} ;
} PORTJbits ;
extern volatile near unsigned char POSTDEC0;
extern volatile near unsigned char POSTDEC1;
extern volatile near unsigned char POSTDEC2;
extern volatile near unsigned char POSTINC0;
extern volatile near unsigned char POSTINC1;
extern volatile near unsigned char POSTINC2;
extern volatile near unsigned char PR2;
extern volatile near unsigned char PREINC0;
extern volatile near unsigned char PREINC1;
extern volatile near unsigned char PREINC2;
extern near unsigned PROD;
extern near unsigned char PRODH;
extern near unsigned char PRODL;
extern volatile near unsigned char PSPCON;
extern volatile near struct {
unsigned CMLK0:1;
unsigned CMLK1:1;
} PSPCONbits ;
extern volatile near unsigned char RCON;
extern volatile near union {
struct {
unsigned :1;
unsigned NOT_POR:1;
unsigned NOT_PD:1;
unsigned NOT_TO:1;
unsigned NOT_RI:1;
unsigned :2;
unsigned NOT_IPEN:1;
} ;
struct {
unsigned :1;
unsigned POR:1;
unsigned PD:1;
unsigned TO:1;
unsigned RI:1;
unsigned :2;
unsigned IPEN:1;
} ;
} RCONbits ;
extern volatile near unsigned char RCREG;
extern volatile near unsigned char RCSTA;
extern volatile near struct {
unsigned RX9D:1;
unsigned OERR:1;
unsigned FERR:1;
unsigned ADEN:1;
unsigned CREN:1;
unsigned SREN:1;
unsigned RX9:1;
unsigned SPEN:1;
} RCSTAbits ;
extern volatile near unsigned char SPBRG;
extern volatile near unsigned char SSPADD;
extern volatile near unsigned char SSPBUF;
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 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 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 near unsigned char STATUS;
extern near struct {
unsigned C:1;
unsigned DC:1;
unsigned Z:1;
unsigned OV:1;
unsigned N:1;
} STATUSbits ;
extern volatile near unsigned char T0CON;
extern volatile near union {
struct {
unsigned T0PS0:1;
unsigned T0PS1:1;
unsigned T0PS2:1;
unsigned T0PS3:1;
unsigned T0SE:1;
unsigned T0CS:1;
unsigned T016BIT:1;
unsigned TMR0ON:1;
} ;
struct {
unsigned :3;
unsigned PSA:1;
} ;
} T0CONbits ;
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 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 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 TABLAT;
extern volatile near unsigned short long TBLPTR;
extern volatile near unsigned char TBLPTRH;
extern volatile near unsigned char TBLPTRL;
extern volatile near unsigned char TBLPTRU;
extern volatile near unsigned TMR0;
extern volatile near unsigned char TMR0H;
extern volatile near unsigned char TMR0L;
extern volatile near unsigned TMR1;
extern volatile near unsigned char TMR1H;
extern volatile near unsigned char TMR1L;
extern volatile near unsigned char TMR2;
extern volatile near unsigned TMR3;
extern volatile near unsigned char TMR3H;
extern volatile near unsigned char TMR3L;
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;
} TRISAbits ;
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 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 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 TRISE;
extern volatile near struct {
unsigned TRISE0:1;
unsigned TRISE1:1;
unsigned TRISE2:1;
unsigned TRISE3:1;
unsigned TRISE4:1;
unsigned TRISE5:1;
unsigned TRISE6:1;
unsigned TRISE7:1;
} TRISEbits ;
extern volatile near unsigned char TRISF;
extern volatile near struct {
unsigned TRISF0:1;
unsigned TRISF1:1;
unsigned TRISF2:1;
unsigned TRISF3:1;
unsigned TRISF4:1;
unsigned TRISF5:1;
unsigned TRISF6:1;
unsigned TRISF7:1;
} TRISFbits ;
extern volatile near unsigned char TRISG;
extern volatile near struct {
unsigned TRISG0:1;
unsigned TRISG1:1;
unsigned TRISG2:1;
unsigned TRISG3:1;
unsigned TRISG4:1;
} TRISGbits ;
extern volatile near unsigned char TRISH;
extern volatile near struct {
unsigned TRISH0:1;
unsigned TRISH1:1;
unsigned TRISH2:1;
unsigned TRISH3:1;
unsigned TRISH4:1;
unsigned TRISH5:1;
unsigned TRISH6:1;
unsigned TRISH7:1;
} TRISHbits ;
extern volatile near unsigned char TRISJ;
extern volatile near struct {
unsigned TRISJ0:1;
unsigned TRISJ1:1;
unsigned TRISJ2:1;
unsigned TRISJ3:1;
unsigned TRISJ4:1;
unsigned TRISJ5:1;
unsigned TRISJ6:1;
unsigned TRISJ7:1;
} TRISJbits ;
extern volatile near unsigned char TXREG;
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 near unsigned char W;
extern volatile near unsigned char WDTCON;
extern volatile near struct {
unsigned SWDTEN:1;
unsigned WDPS0:1;
unsigned WDPS1:1;
unsigned WDPS2:1;
} WDTCONbits ;
extern near unsigned char WREG;
extern near unsigned char TOSU;
extern near unsigned char TOSL;
extern near unsigned char TOSH;
extern near unsigned short long TOS;
extern volatile near unsigned char STKPTR;
/* Some useful defines for inline assembly stuff */
#define ACCESS 0
#define BANKED 1
/* Define 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 }
/* Define 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
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -