📄 pic16f72x.h
字号:
#ifndef _HTC_H_
#warning Header file pic16f72x.h included directly. Use #include <htc.h> instead.
#endif
/* header file for the MICROCHIP PIC microcontroller
16F722
16F723
16F724
16F726
16F727
16LF722
16LF723
16LF724
16LF726
16LF727
*/
#ifndef __PIC16F72X_H
#define __PIC16F72X_H
// Special function register definitions
volatile unsigned char INDF @ 0x000;
volatile unsigned char TMR0 @ 0x001;
volatile unsigned char PCL @ 0x002;
volatile unsigned char STATUS @ 0x003;
unsigned char FSR @ 0x004;
volatile unsigned char PORTA @ 0x005;
volatile unsigned char PORTB @ 0x006;
volatile unsigned char PORTC @ 0x007;
#if defined(_16F724) || defined(_16F727) ||\
defined(_16LF724) || defined(_16LF727)
volatile unsigned char PORTD @ 0x008;
#endif
volatile unsigned char PORTE @ 0x009;
volatile unsigned char PCLATH @ 0x00A;
volatile unsigned char INTCON @ 0x00B;
volatile unsigned char PIR1 @ 0x00C;
volatile unsigned char PIR2 @ 0x00D;
volatile unsigned char TMR1L @ 0x00E;
volatile unsigned char TMR1H @ 0x00F;
unsigned char T1CON @ 0x010;
volatile unsigned char TMR2 @ 0x011;
unsigned char T2CON @ 0x012;
volatile unsigned char SSPBUF @ 0x013;
volatile unsigned char SSPCON @ 0x014;
volatile unsigned char CCPR1L @ 0x015;
volatile unsigned char CCPR1H @ 0x016;
volatile unsigned char CCP1CON @ 0x017;
volatile unsigned char RCSTA @ 0x018;
volatile unsigned char TXREG @ 0x019;
volatile unsigned char RCREG @ 0x01A;
volatile unsigned char CCPR2L @ 0x01B;
volatile unsigned char CCPR2H @ 0x01C;
volatile unsigned char CCP2CON @ 0x01D;
volatile unsigned char ADRES @ 0x01E;
volatile unsigned char ADCON0 @ 0x01F;
unsigned char OPTION @ 0x081;
volatile unsigned char TRISA @ 0x085;
volatile unsigned char TRISB @ 0x086;
volatile unsigned char TRISC @ 0x087;
#if defined(_16F724) || defined(_16F727) ||\
defined(_16LF724) || defined(_16LF727)
volatile unsigned char TRISD @ 0x088;
#endif
volatile unsigned char TRISE @ 0x089;
unsigned char PIE1 @ 0x08C;
unsigned char PIE2 @ 0x08D;
volatile unsigned char PCON @ 0x08E;
volatile unsigned char T1GCON @ 0x08F;
volatile unsigned char OSCCON @ 0x090;
unsigned char OSCTUNE @ 0x091;
unsigned char PR2 @ 0x092;
unsigned char SSPADD @ 0x093;
// Alternate function
unsigned char SSPMSK @ 0x093;
volatile unsigned char SSPSTAT @ 0x094;
unsigned char WPUB @ 0x095;
unsigned char IOCB @ 0x096;
volatile unsigned char TXSTA @ 0x098;
unsigned char SPBRG @ 0x099;
unsigned char APFCON @ 0x09C;
volatile unsigned char FVRCON @ 0x09D;
unsigned char ADCON1 @ 0x09F;
volatile unsigned char CPSCON0 @ 0x108;
unsigned char CPSCON1 @ 0x109;
volatile unsigned char PMDATL @ 0x10C;
// Alternate definition
volatile unsigned char EEDATA @ 0x10C;
unsigned char PMADRL @ 0x10D;
// Alternate definition
volatile unsigned char EEADR @ 0x10D;
volatile unsigned char PMDATH @ 0x10E;
// Alternate definition
volatile unsigned char EEDATH @ 0x10E;
unsigned char PMADRH @ 0x10F;
// Alternate definition
volatile unsigned char EEADRH @ 0x10F;
unsigned char ANSELA @ 0x185;
unsigned char ANSELB @ 0x186;
#if defined(_16F724) || defined(_16F727) ||\
defined(_16LF724) || defined(_16LF727)
unsigned char ANSELD @ 0x188;
unsigned char ANSELE @ 0x189;
#endif
volatile unsigned char PMCON1 @ 0x18C;
/* Definitions for STATUS register */
volatile bit CARRY @ ((unsigned)&STATUS*8)+0;
volatile bit DC @ ((unsigned)&STATUS*8)+1;
volatile bit ZERO @ ((unsigned)&STATUS*8)+2;
volatile bit PD @ ((unsigned)&STATUS*8)+3;
volatile bit TO @ ((unsigned)&STATUS*8)+4;
bit RP0 @ ((unsigned)&STATUS*8)+5;
bit RP1 @ ((unsigned)&STATUS*8)+6;
bit IRP @ ((unsigned)&STATUS*8)+7;
/* Definitions for PORTA register */
volatile bit RA0 @ ((unsigned)&PORTA*8)+0;
volatile bit RA1 @ ((unsigned)&PORTA*8)+1;
volatile bit RA2 @ ((unsigned)&PORTA*8)+2;
volatile bit RA3 @ ((unsigned)&PORTA*8)+3;
volatile bit RA4 @ ((unsigned)&PORTA*8)+4;
volatile bit RA5 @ ((unsigned)&PORTA*8)+5;
volatile bit RA6 @ ((unsigned)&PORTA*8)+6;
volatile bit RA7 @ ((unsigned)&PORTA*8)+7;
/* Definitions for PORTB register */
volatile bit RB0 @ ((unsigned)&PORTB*8)+0;
volatile bit RB1 @ ((unsigned)&PORTB*8)+1;
volatile bit RB2 @ ((unsigned)&PORTB*8)+2;
volatile bit RB3 @ ((unsigned)&PORTB*8)+3;
volatile bit RB4 @ ((unsigned)&PORTB*8)+4;
volatile bit RB5 @ ((unsigned)&PORTB*8)+5;
volatile bit RB6 @ ((unsigned)&PORTB*8)+6;
volatile bit RB7 @ ((unsigned)&PORTB*8)+7;
/* Definitions for PORTC register */
volatile bit RC0 @ ((unsigned)&PORTC*8)+0;
volatile bit RC1 @ ((unsigned)&PORTC*8)+1;
volatile bit RC2 @ ((unsigned)&PORTC*8)+2;
volatile bit RC3 @ ((unsigned)&PORTC*8)+3;
volatile bit RC4 @ ((unsigned)&PORTC*8)+4;
volatile bit RC5 @ ((unsigned)&PORTC*8)+5;
volatile bit RC6 @ ((unsigned)&PORTC*8)+6;
volatile bit RC7 @ ((unsigned)&PORTC*8)+7;
#if defined(_16F724) || defined(_16F727) ||\
defined(_16LF724) || defined(_16LF727)
/* Definitions for PORTD register */
volatile bit RD0 @ ((unsigned)&PORTD*8)+0;
volatile bit RD1 @ ((unsigned)&PORTD*8)+1;
volatile bit RD2 @ ((unsigned)&PORTD*8)+2;
volatile bit RD3 @ ((unsigned)&PORTD*8)+3;
volatile bit RD4 @ ((unsigned)&PORTD*8)+4;
volatile bit RD5 @ ((unsigned)&PORTD*8)+5;
volatile bit RD6 @ ((unsigned)&PORTD*8)+6;
volatile bit RD7 @ ((unsigned)&PORTD*8)+7;
/* Definitions for PORTE register */
volatile bit RE0 @ ((unsigned)&PORTE*8)+0;
volatile bit RE1 @ ((unsigned)&PORTE*8)+1;
volatile bit RE2 @ ((unsigned)&PORTE*8)+2;
#endif
volatile bit RE3 @ ((unsigned)&PORTE*8)+3;
/* Definitions for INTCON register */
volatile bit RBIF @ ((unsigned)&INTCON*8)+0;
// Alternate definition for backward compatibility
volatile bit RABIF @ ((unsigned)&INTCON*8)+0;
volatile bit INTF @ ((unsigned)&INTCON*8)+1;
volatile bit T0IF @ ((unsigned)&INTCON*8)+2;
bit RBIE @ ((unsigned)&INTCON*8)+3;
// Alternate definition for backward compatibility
bit RABIE @ ((unsigned)&INTCON*8)+3;
bit INTE @ ((unsigned)&INTCON*8)+4;
bit T0IE @ ((unsigned)&INTCON*8)+5;
bit PEIE @ ((unsigned)&INTCON*8)+6;
volatile bit GIE @ ((unsigned)&INTCON*8)+7;
/* Definitions for PIR1 register */
volatile bit TMR1IF @ ((unsigned)&PIR1*8)+0;
volatile bit TMR2IF @ ((unsigned)&PIR1*8)+1;
volatile bit CCP1IF @ ((unsigned)&PIR1*8)+2;
volatile bit SSPIF @ ((unsigned)&PIR1*8)+3;
volatile bit TXIF @ ((unsigned)&PIR1*8)+4;
volatile bit RCIF @ ((unsigned)&PIR1*8)+5;
volatile bit ADIF @ ((unsigned)&PIR1*8)+6;
volatile bit TMR1GIF @ ((unsigned)&PIR1*8)+7;
/* Definitions for PIR2 register */
volatile bit CCP2IF @ ((unsigned)&PIR2*8)+0;
/* Definitions for T1CON register */
bit TMR1ON @ ((unsigned)&T1CON*8)+0;
bit T1SYNC @ ((unsigned)&T1CON*8)+2;
bit T1OSCEN @ ((unsigned)&T1CON*8)+3;
bit T1CKPS0 @ ((unsigned)&T1CON*8)+4;
bit T1CKPS1 @ ((unsigned)&T1CON*8)+5;
bit TMR1CS0 @ ((unsigned)&T1CON*8)+6;
bit TMR1CS1 @ ((unsigned)&T1CON*8)+7;
/* Definitions for T2CON register */
bit T2CKPS0 @ ((unsigned)&T2CON*8)+0;
bit T2CKPS1 @ ((unsigned)&T2CON*8)+1;
bit TMR2ON @ ((unsigned)&T2CON*8)+2;
bit TOUTPS0 @ ((unsigned)&T2CON*8)+3;
bit TOUTPS1 @ ((unsigned)&T2CON*8)+4;
bit TOUTPS2 @ ((unsigned)&T2CON*8)+5;
bit TOUTPS3 @ ((unsigned)&T2CON*8)+6;
/* Definitions for SSPCON register */
bit SSPM0 @ ((unsigned)&SSPCON*8)+0;
bit SSPM1 @ ((unsigned)&SSPCON*8)+1;
bit SSPM2 @ ((unsigned)&SSPCON*8)+2;
bit SSPM3 @ ((unsigned)&SSPCON*8)+3;
bit CKP @ ((unsigned)&SSPCON*8)+4;
bit SSPEN @ ((unsigned)&SSPCON*8)+5;
volatile bit SSPOV @ ((unsigned)&SSPCON*8)+6;
volatile bit WCOL @ ((unsigned)&SSPCON*8)+7;
/* Definitions for CCP1CON register */
bit CCP1M0 @ ((unsigned)&CCP1CON*8)+0;
bit CCP1M1 @ ((unsigned)&CCP1CON*8)+1;
bit CCP1M2 @ ((unsigned)&CCP1CON*8)+2;
bit CCP1M3 @ ((unsigned)&CCP1CON*8)+3;
bit DC1B0 @ ((unsigned)&CCP1CON*8)+4;
bit DC1B1 @ ((unsigned)&CCP1CON*8)+5;
/* Definitions for RCSTA register */
volatile bit RX9D @ ((unsigned)&RCSTA*8)+0;
volatile bit OERR @ ((unsigned)&RCSTA*8)+1;
volatile bit FERR @ ((unsigned)&RCSTA*8)+2;
bit ADDEN @ ((unsigned)&RCSTA*8)+3;
bit CREN @ ((unsigned)&RCSTA*8)+4;
bit SREN @ ((unsigned)&RCSTA*8)+5;
bit RX9 @ ((unsigned)&RCSTA*8)+6;
bit SPEN @ ((unsigned)&RCSTA*8)+7;
/* Definitions for CCP2CON register */
bit CCP2M0 @ ((unsigned)&CCP2CON*8)+0;
bit CCP2M1 @ ((unsigned)&CCP2CON*8)+1;
bit CCP2M2 @ ((unsigned)&CCP2CON*8)+2;
bit CCP2M3 @ ((unsigned)&CCP2CON*8)+3;
bit DC2B0 @ ((unsigned)&CCP2CON*8)+4;
bit DC2B1 @ ((unsigned)&CCP2CON*8)+5;
/* Definitions for ADCON0 register */
bit ADON @ ((unsigned)&ADCON0*8)+0;
volatile bit GODONE @ ((unsigned)&ADCON0*8)+1;
// compatibility with old devices
volatile bit ADGO @ ((unsigned)&ADCON0*8)+1;
bit CHS0 @ ((unsigned)&ADCON0*8)+2;
bit CHS1 @ ((unsigned)&ADCON0*8)+3;
bit CHS2 @ ((unsigned)&ADCON0*8)+4;
bit CHS3 @ ((unsigned)&ADCON0*8)+5;
/* Definitions for OPTION register */
bit PS0 @ ((unsigned)&OPTION*8)+0;
bit PS1 @ ((unsigned)&OPTION*8)+1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -