📄 pic1677x.h
字号:
#ifndef _HTC_H_
#warning Header file pic1677x.h included directly. Use #include <htc.h> instead.
#endif
/*
* Header file for the Microchip
* PIC 16C770 chip
* PIC 16C771 chip
* PIC 16C717 chip
* PIC 16C773 chip
* PIC 16C774 chip
* PIC 16C745 chip
* PIC 16C765 chip
* Midrange Microcontrollers
*/
volatile unsigned char INDF @ 0x00;
volatile unsigned char TMR0 @ 0x01;
volatile unsigned char PCL @ 0x02;
volatile unsigned char STATUS @ 0x03;
unsigned char FSR @ 0x04;
volatile unsigned char PORTA @ 0x05;
volatile unsigned char PORTB @ 0x06;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char PORTC @ 0x07;
#endif
#if defined(_16C774) || defined(_16C765)
volatile unsigned char PORTD @ 0x08;
volatile unsigned char PORTE @ 0x09;
#endif
unsigned char PCLATH @ 0x0A;
volatile unsigned char INTCON @ 0x0B;
volatile unsigned char PIR1 @ 0x0C;
volatile unsigned char PIR2 @ 0x0D;
volatile unsigned char TMR1L @ 0x0E;
volatile unsigned char TMR1H @ 0x0F;
volatile unsigned char T1CON @ 0x10;
volatile unsigned char TMR2 @ 0x11;
volatile unsigned char T2CON @ 0x12;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char SSPBUF @ 0x13;
volatile unsigned char SSPCON @ 0x14;
#endif
volatile unsigned char CCPR1L @ 0x15;
volatile unsigned char CCPR1H @ 0x16;
volatile unsigned char CCP1CON @ 0x17;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char RCSTA @ 0x18;
volatile unsigned char TXREG @ 0x19;
volatile unsigned char RCREG @ 0x1A;
volatile unsigned char CCPR2L @ 0x1B;
volatile unsigned char CCPR2H @ 0x1C;
volatile unsigned char CCP2CON @ 0x1D;
#endif
volatile unsigned char ADRESH @ 0x1E;
volatile unsigned char ADCON0 @ 0x1F;
unsigned char OPTION @ 0x81;
unsigned char TRISA @ 0x85;
unsigned char TRISB @ 0x86;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
unsigned char TRISC @ 0x87;
#endif
#if defined(_16C774) || defined(_16C765)
unsigned char TRISD @ 0x88;
unsigned char TRISE @ 0x89;
#endif
volatile unsigned char PIE1 @ 0x8C;
volatile unsigned char PIE2 @ 0x8D;
volatile unsigned char PCON @ 0x8E;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char SSPCON2 @ 0x91;
#endif
volatile unsigned char PR2 @ 0x92;
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char SSPADD @ 0x93;
volatile unsigned char SSPSTAT @ 0x94;
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile unsigned char WPUB @ 0x95;
volatile unsigned char IOCB @ 0x96;
volatile unsigned char P1DEL @ 0x97;
#endif
#endif
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile unsigned char TXSTA @ 0x98;
volatile unsigned char SPBRG @ 0x99;
#endif
#if !defined(_16C745) && !defined(_16C765)
volatile unsigned char REFCON @ 0x9B;
volatile unsigned char LVDCON @ 0x9C;
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile unsigned char ANSEL @ 0x9D;
#endif
volatile unsigned char ADRESL @ 0x9E;
#endif
volatile unsigned char ADCON1 @ 0x9F;
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
unsigned char PMDATL @ 0x10C;
unsigned char PMADRL @ 0x10D;
unsigned char PMDATH @ 0x10E;
unsigned char PMADRH @ 0x10F;
#endif
#if defined(_16C745) || defined(_16C765)
/* USB Registers */
volatile unsigned char UIR @ 0x190;
volatile unsigned char UIE @ 0x191;
volatile unsigned char UEIR @ 0x192;
volatile unsigned char UEIE @ 0x193;
volatile unsigned char USTAT @ 0x194;
volatile unsigned char UCTRL @ 0x195;
volatile unsigned char UADDR @ 0x196;
volatile unsigned char USWSTAT @ 0x197;
volatile unsigned char UEP0 @ 0x198;
volatile unsigned char UEP1 @ 0x199;
volatile unsigned char UEP2 @ 0x19A;
volatile unsigned char BD0OST @ 0x1A0;
volatile unsigned char BD1OST @ 0x1A8;
volatile unsigned char BD2OST @ 0x1B0;
volatile unsigned char BD0IST @ 0x1A4;
volatile unsigned char BD1IST @ 0x1AC;
volatile unsigned char BD2IST @ 0x1B4;
volatile unsigned char BD0OBC @ 0x1A1;
volatile unsigned char BD1OBC @ 0x1A9;
volatile unsigned char BD2OBC @ 0x1B1;
volatile unsigned char BD0IBC @ 0x1A5;
volatile unsigned char BD1IBC @ 0x1AD;
volatile unsigned char BD2IBC @ 0x1B5;
volatile unsigned char * BD0OAL @ 0x1A2;
volatile unsigned char * BD1OAL @ 0x1AA;
volatile unsigned char * BD2OAL @ 0x1B2;
volatile unsigned char * BD0IAL @ 0x1A6;
volatile unsigned char * BD1IAL @ 0x1AE;
volatile unsigned char * BD2IAL @ 0x1B6;
/* USB Dual Port Memory buffer */
volatile unsigned char USBMEM[40] @ 0x1B8;
#endif
/* TMR0 bits */
bit TMR07 @ (unsigned)&TMR0*8+7;
bit TMR06 @ (unsigned)&TMR0*8+6;
bit TMR05 @ (unsigned)&TMR0*8+5;
bit TMR04 @ (unsigned)&TMR0*8+4;
bit TMR03 @ (unsigned)&TMR0*8+3;
bit TMR02 @ (unsigned)&TMR0*8+2;
bit TMR01 @ (unsigned)&TMR0*8+1;
bit TMR00 @ (unsigned)&TMR0*8+0;
/* PCL bits */
bit PCL7 @ (unsigned)&PCL*8+7;
bit PCL6 @ (unsigned)&PCL*8+6;
bit PCL5 @ (unsigned)&PCL*8+5;
bit PCL4 @ (unsigned)&PCL*8+4;
bit PCL3 @ (unsigned)&PCL*8+3;
bit PCL2 @ (unsigned)&PCL*8+2;
bit PCL1 @ (unsigned)&PCL*8+1;
bit PCL0 @ (unsigned)&PCL*8+0;
/* STATUS bits */
volatile bit IRP @ (unsigned)&STATUS*8+7;
volatile bit RP1 @ (unsigned)&STATUS*8+6;
volatile bit RP0 @ (unsigned)&STATUS*8+5;
volatile bit TO @ (unsigned)&STATUS*8+4;
volatile bit PD @ (unsigned)&STATUS*8+3;
volatile bit ZERO @ (unsigned)&STATUS*8+2;
volatile bit DC @ (unsigned)&STATUS*8+1;
volatile bit CARRY @ (unsigned)&STATUS*8+0;
/* PORTA bits */
#if defined(_16C770) || defined(_16C771) || defined(_16C717)
volatile bit RA7 @ (unsigned)&PORTA*8+7;
volatile bit RA6 @ (unsigned)&PORTA*8+6;
#endif
#if defined(_16C770) || defined(_16C771) || defined(_16C717) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit RA5 @ (unsigned)&PORTA*8+5;
#endif
volatile bit RA4 @ (unsigned)&PORTA*8+4;
volatile bit RA3 @ (unsigned)&PORTA*8+3;
volatile bit RA2 @ (unsigned)&PORTA*8+2;
volatile bit RA1 @ (unsigned)&PORTA*8+1;
volatile bit RA0 @ (unsigned)&PORTA*8+0;
/* PORTB bits */
volatile bit RB7 @ (unsigned)&PORTB*8+7;
volatile bit RB6 @ (unsigned)&PORTB*8+6;
volatile bit RB5 @ (unsigned)&PORTB*8+5;
volatile bit RB4 @ (unsigned)&PORTB*8+4;
volatile bit RB3 @ (unsigned)&PORTB*8+3;
volatile bit RB2 @ (unsigned)&PORTB*8+2;
volatile bit RB1 @ (unsigned)&PORTB*8+1;
volatile bit RB0 @ (unsigned)&PORTB*8+0;
/* PORTC bits */
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit RC7 @ (unsigned)&PORTC*8+7;
volatile bit RC6 @ (unsigned)&PORTC*8+6;
#if !defined(_16C745) && !defined(_16C765)
volatile bit RC5 @ (unsigned)&PORTC*8+5;
volatile bit RC4 @ (unsigned)&PORTC*8+4;
volatile bit RC3 @ (unsigned)&PORTC*8+3;
#endif
volatile bit RC2 @ (unsigned)&PORTC*8+2;
volatile bit RC1 @ (unsigned)&PORTC*8+1;
volatile bit RC0 @ (unsigned)&PORTC*8+0;
#endif
#if defined(_16C774) || defined(_16C765)
/* PORTD bits */
volatile bit RD7 @ (unsigned)&PORTD*8+7;
volatile bit RD6 @ (unsigned)&PORTD*8+6;
volatile bit RD5 @ (unsigned)&PORTD*8+5;
volatile bit RD4 @ (unsigned)&PORTD*8+4;
volatile bit RD3 @ (unsigned)&PORTD*8+3;
volatile bit RD2 @ (unsigned)&PORTD*8+2;
volatile bit RD1 @ (unsigned)&PORTD*8+1;
volatile bit RD0 @ (unsigned)&PORTD*8+0;
/* PORTE bits */
volatile bit RE2 @ (unsigned)&PORTE*8+2;
volatile bit RE1 @ (unsigned)&PORTE*8+1;
volatile bit RE0 @ (unsigned)&PORTE*8+0;
#endif
/* INTCON bits */
volatile bit GIE @ (unsigned)&INTCON*8+7;
volatile bit PEIE @ (unsigned)&INTCON*8+6;
volatile bit T0IE @ (unsigned)&INTCON*8+5;
volatile bit INTE @ (unsigned)&INTCON*8+4;
volatile bit RBIE @ (unsigned)&INTCON*8+3;
volatile bit T0IF @ (unsigned)&INTCON*8+2;
volatile bit INTF @ (unsigned)&INTCON*8+1;
volatile bit RBIF @ (unsigned)&INTCON*8+0;
/* PIR1 bits */
#if defined(_16C774) || defined(_16C765)
volatile bit PSPIF @ (unsigned)&PIR1*8+7;
#endif
volatile bit ADIF @ (unsigned)&PIR1*8+6;
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit RCIF @ (unsigned)&PIR1*8+5;
volatile bit TXIF @ (unsigned)&PIR1*8+4;
#endif
#if defined(_16C745) || defined(_16C765)
volatile bit USBIF @ (unsigned)&PIR1*8+3;
#endif
#if !defined(_16C745) && !defined(_16C765)
volatile bit SSPIF @ (unsigned)&PIR1*8+3;
#endif
volatile bit CCP1IF @ (unsigned)&PIR1*8+2;
volatile bit TMR2IF @ (unsigned)&PIR1*8+1;
volatile bit TMR1IF @ (unsigned)&PIR1*8+0;
/* PIR2 bits */
#if !defined(_16C745) && !defined(_16C765)
volatile bit LVDIF @ (unsigned)&PIR2*8+7;
volatile bit BCLIF @ (unsigned)&PIR2*8+3;
#endif
#if defined(_16C773) || defined(_16C774) || defined(_16C745) || defined(_16C765)
volatile bit CCP2IF @ (unsigned)&PIR2*8+0;
#endif
/* TMR1L bits */
bit TMR1L7 @ (unsigned)&TMR1L*8+7;
bit TMR1L6 @ (unsigned)&TMR1L*8+6;
bit TMR1L5 @ (unsigned)&TMR1L*8+5;
bit TMR1L4 @ (unsigned)&TMR1L*8+4;
bit TMR1L3 @ (unsigned)&TMR1L*8+3;
bit TMR1L2 @ (unsigned)&TMR1L*8+2;
bit TMR1L1 @ (unsigned)&TMR1L*8+1;
bit TMR1L0 @ (unsigned)&TMR1L*8+0;
/* TMR1H bits */
bit TMR1H7 @ (unsigned)&TMR1H*8+7;
bit TMR1H6 @ (unsigned)&TMR1H*8+6;
bit TMR1H5 @ (unsigned)&TMR1H*8+5;
bit TMR1H4 @ (unsigned)&TMR1H*8+4;
bit TMR1H3 @ (unsigned)&TMR1H*8+3;
bit TMR1H2 @ (unsigned)&TMR1H*8+2;
bit TMR1H1 @ (unsigned)&TMR1H*8+1;
bit TMR1H0 @ (unsigned)&TMR1H*8+0;
/* TMR2 bits */
bit TMR27 @ (unsigned)&TMR2*8+7;
bit TMR26 @ (unsigned)&TMR2*8+6;
bit TMR25 @ (unsigned)&TMR2*8+5;
bit TMR24 @ (unsigned)&TMR2*8+4;
bit TMR23 @ (unsigned)&TMR2*8+3;
bit TMR22 @ (unsigned)&TMR2*8+2;
bit TMR21 @ (unsigned)&TMR2*8+1;
bit TMR20 @ (unsigned)&TMR2*8+0;
/* T1CON bits */
volatile bit T1CKPS1 @ (unsigned)&T1CON*8+5;
volatile bit T1CKPS0 @ (unsigned)&T1CON*8+4;
volatile bit T1OSCEN @ (unsigned)&T1CON*8+3;
volatile bit T1SYNC @ (unsigned)&T1CON*8+2;
volatile bit TMR1CS @ (unsigned)&T1CON*8+1;
volatile bit TMR1ON @ (unsigned)&T1CON*8+0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -