📄 pic16lf1517.h
字号:
// Serial Port Enable bit
volatile bit SPEN @ ((unsigned)&RCSTA*8)+7;
#ifndef _LIB_BUILD
volatile union {
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 @ 0x19D;
#endif
// Register: TXSTA
// Transmit Status and Control Register
volatile unsigned char TXSTA @ 0x19E;
// bit and bitfield definitions
// 9th bit of transmit data; can be used as parity bit
volatile bit TX9D @ ((unsigned)&TXSTA*8)+0;
// Transmit Operation Idle Status bit
volatile bit TRMT @ ((unsigned)&TXSTA*8)+1;
// High Baud Rate Select bit
volatile bit BRGH @ ((unsigned)&TXSTA*8)+2;
// Send BREAK character bit
volatile bit SENDB @ ((unsigned)&TXSTA*8)+3;
// USART Mode Select bit
volatile bit SYNC @ ((unsigned)&TXSTA*8)+4;
// Transmit Enable bit
volatile bit TXEN @ ((unsigned)&TXSTA*8)+5;
// 9-bit Transmit Enable bit
volatile bit TX9 @ ((unsigned)&TXSTA*8)+6;
// Clock Source Select bit
volatile bit CSRC @ ((unsigned)&TXSTA*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned TX9D : 1;
unsigned TRMT : 1;
unsigned BRGH : 1;
unsigned SENDB : 1;
unsigned SYNC : 1;
unsigned TXEN : 1;
unsigned TX9 : 1;
unsigned CSRC : 1;
};
} TXSTAbits @ 0x19E;
#endif
// Register: BAUDCON
// Baud Rate Control Register
volatile unsigned char BAUDCON @ 0x19F;
// bit and bitfield definitions
// Auto-Baud Detect Enable bit
volatile bit ABDEN @ ((unsigned)&BAUDCON*8)+0;
// Wake-Up Enable bit
volatile bit WUE @ ((unsigned)&BAUDCON*8)+1;
// 16-bit Baud Rate Register enable bit
volatile bit BRG16 @ ((unsigned)&BAUDCON*8)+3;
// Clock/Transmit Polarity Select bit
volatile bit SCKP @ ((unsigned)&BAUDCON*8)+4;
// Receive Operation Idle Status bit
volatile bit RCIDL @ ((unsigned)&BAUDCON*8)+6;
// BRG Rollover Status bit
volatile bit ABDOVF @ ((unsigned)&BAUDCON*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned ABDEN : 1;
unsigned WUE : 1;
unsigned : 1;
unsigned BRG16 : 1;
unsigned SCKP : 1;
unsigned : 1;
unsigned RCIDL : 1;
unsigned ABDOVF : 1;
};
} BAUDCONbits @ 0x19F;
#endif
//
// Special function register definitions: Bank 4
//
// Register: WPUB
volatile unsigned char WPUB @ 0x20D;
// bit and bitfield definitions
volatile bit WPUB0 @ ((unsigned)&WPUB*8)+0;
volatile bit WPUB1 @ ((unsigned)&WPUB*8)+1;
volatile bit WPUB2 @ ((unsigned)&WPUB*8)+2;
volatile bit WPUB3 @ ((unsigned)&WPUB*8)+3;
volatile bit WPUB4 @ ((unsigned)&WPUB*8)+4;
volatile bit WPUB5 @ ((unsigned)&WPUB*8)+5;
volatile bit WPUB6 @ ((unsigned)&WPUB*8)+6;
volatile bit WPUB7 @ ((unsigned)&WPUB*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned WPUB0 : 1;
unsigned WPUB1 : 1;
unsigned WPUB2 : 1;
unsigned WPUB3 : 1;
unsigned WPUB4 : 1;
unsigned WPUB5 : 1;
unsigned WPUB6 : 1;
unsigned WPUB7 : 1;
};
} WPUBbits @ 0x20D;
#endif
// Register: WPUE
volatile unsigned char WPUE @ 0x210;
// bit and bitfield definitions
volatile bit WPUE3 @ ((unsigned)&WPUE*8)+3;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned : 3;
unsigned WPUE3 : 1;
};
} WPUEbits @ 0x210;
#endif
// Register: SSP1BUF
volatile unsigned char SSP1BUF @ 0x211;
volatile unsigned char SSPBUF @ 0x211;
// bit and bitfield definitions
// Register: SSP1ADD
volatile unsigned char SSP1ADD @ 0x212;
volatile unsigned char SSPADD @ 0x212;
// bit and bitfield definitions
// Register: SSP1MSK
volatile unsigned char SSP1MSK @ 0x213;
volatile unsigned char SSPMSK @ 0x213;
// bit and bitfield definitions
// Register: SSP1STAT
volatile unsigned char SSP1STAT @ 0x214;
volatile unsigned char SSPSTAT @ 0x214;
// bit and bitfield definitions
volatile bit BF @ ((unsigned)&SSP1STAT*8)+0;
volatile bit UA @ ((unsigned)&SSP1STAT*8)+1;
volatile bit R_nW @ ((unsigned)&SSP1STAT*8)+2;
volatile bit S @ ((unsigned)&SSP1STAT*8)+3;
volatile bit P @ ((unsigned)&SSP1STAT*8)+4;
volatile bit D_nA @ ((unsigned)&SSP1STAT*8)+5;
volatile bit CKE @ ((unsigned)&SSP1STAT*8)+6;
volatile bit SMP @ ((unsigned)&SSP1STAT*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned BF : 1;
unsigned UA : 1;
unsigned R_nW : 1;
unsigned S : 1;
unsigned P : 1;
unsigned D_nA : 1;
unsigned CKE : 1;
unsigned SMP : 1;
};
} SSP1STATbits @ 0x214;
#endif
// Register: SSP1CON1
volatile unsigned char SSP1CON1 @ 0x215;
volatile unsigned char SSPCON @ 0x215;
volatile unsigned char SSPCON1 @ 0x215;
// bit and bitfield definitions
volatile bit SSPM0 @ ((unsigned)&SSP1CON1*8)+0;
volatile bit SSPM1 @ ((unsigned)&SSP1CON1*8)+1;
volatile bit SSPM2 @ ((unsigned)&SSP1CON1*8)+2;
volatile bit SSPM3 @ ((unsigned)&SSP1CON1*8)+3;
volatile bit CKP @ ((unsigned)&SSP1CON1*8)+4;
volatile bit SSPEN @ ((unsigned)&SSP1CON1*8)+5;
volatile bit SSPOV @ ((unsigned)&SSP1CON1*8)+6;
volatile bit WCOL @ ((unsigned)&SSP1CON1*8)+7;
#ifndef _LIB_BUILD
volatile union {
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;
};
} SSP1CON1bits @ 0x215;
#endif
// Register: SSP1CON2
volatile unsigned char SSP1CON2 @ 0x216;
volatile unsigned char SSPCON2 @ 0x216;
// bit and bitfield definitions
volatile bit SEN @ ((unsigned)&SSP1CON2*8)+0;
volatile bit RSEN @ ((unsigned)&SSP1CON2*8)+1;
volatile bit PEN @ ((unsigned)&SSP1CON2*8)+2;
volatile bit RCEN @ ((unsigned)&SSP1CON2*8)+3;
volatile bit ACKEN @ ((unsigned)&SSP1CON2*8)+4;
volatile bit ACKDT @ ((unsigned)&SSP1CON2*8)+5;
volatile bit ACKSTAT @ ((unsigned)&SSP1CON2*8)+6;
volatile bit GCEN @ ((unsigned)&SSP1CON2*8)+7;
#ifndef _LIB_BUILD
volatile union {
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;
};
} SSP1CON2bits @ 0x216;
#endif
// Register: SSP1CON3
volatile unsigned char SSP1CON3 @ 0x217;
volatile unsigned char SSPCON3 @ 0x217;
// bit and bitfield definitions
volatile bit DHEN @ ((unsigned)&SSP1CON3*8)+0;
volatile bit AHEN @ ((unsigned)&SSP1CON3*8)+1;
volatile bit SBCDE @ ((unsigned)&SSP1CON3*8)+2;
volatile bit SDAHT @ ((unsigned)&SSP1CON3*8)+3;
volatile bit BOEN @ ((unsigned)&SSP1CON3*8)+4;
volatile bit SCIE @ ((unsigned)&SSP1CON3*8)+5;
volatile bit PCIE @ ((unsigned)&SSP1CON3*8)+6;
volatile bit ACKTIM @ ((unsigned)&SSP1CON3*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned DHEN : 1;
unsigned AHEN : 1;
unsigned SBCDE : 1;
unsigned SDAHT : 1;
unsigned BOEN : 1;
unsigned SCIE : 1;
unsigned PCIE : 1;
unsigned ACKTIM : 1;
};
} SSP1CON3bits @ 0x217;
#endif
//
// Special function register definitions: Bank 5
//
// Register: CCPR1L
volatile unsigned char CCPR1L @ 0x291;
// bit and bitfield definitions
// Register: CCPR1H
volatile unsigned char CCPR1H @ 0x292;
// bit and bitfield definitions
// Register: CCP1CON
volatile unsigned char CCP1CON @ 0x293;
// bit and bitfield definitions
volatile bit CCP1M0 @ ((unsigned)&CCP1CON*8)+0;
volatile bit CCP1M1 @ ((unsigned)&CCP1CON*8)+1;
volatile bit CCP1M2 @ ((unsigned)&CCP1CON*8)+2;
volatile bit CCP1M3 @ ((unsigned)&CCP1CON*8)+3;
volatile bit DC1B0 @ ((unsigned)&CCP1CON*8)+4;
volatile bit DC1B1 @ ((unsigned)&CCP1CON*8)+5;
volatile bit P1M0 @ ((unsigned)&CCP1CON*8)+6;
volatile bit P1M1 @ ((unsigned)&CCP1CON*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned CCP1M0 : 1;
unsigned CCP1M1 : 1;
unsigned CCP1M2 : 1;
unsigned CCP1M3 : 1;
unsigned DC1B0 : 1;
unsigned DC1B1 : 1;
unsigned P1M0 : 1;
unsigned P1M1 : 1;
};
struct {
unsigned CCP1M : 4;
unsigned DC1B : 2;
unsigned P1M : 2;
};
} CCP1CONbits @ 0x293;
#endif
// Register: CCPR2L
volatile unsigned char CCPR2L @ 0x298;
// bit and bitfield definitions
// Register: CCPR2H
volatile unsigned char CCPR2H @ 0x299;
// bit and bitfield definitions
// Register: CCP2CON
volatile unsigned char CCP2CON @ 0x29A;
// bit and bitfield definitions
volatile bit CCP2M0 @ ((unsigned)&CCP2CON*8)+0;
volatile bit CCP2M1 @ ((unsigned)&CCP2CON*8)+1;
volatile bit CCP2M2 @ ((unsigned)&CCP2CON*8)+2;
volatile bit CCP2M3 @ ((unsigned)&CCP2CON*8)+3;
volatile bit DC2B0 @ ((unsigned)&CCP2CON*8)+4;
volatile bit DC2B1 @ ((unsigned)&CCP2CON*8)+5;
volatile bit P2M0 @ ((unsigned)&CCP2CON*8)+6;
volatile bit P2M1 @ ((unsigned)&CCP2CON*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned CCP2M0 : 1;
unsigned CCP2M1 : 1;
unsigned CCP2M2 : 1;
unsigned CCP2M3 : 1;
unsigned DC2B0 : 1;
unsigned DC2B1 : 1;
unsigned P2M0 : 1;
unsigned P2M1 : 1;
};
struct {
unsigned CCP2M : 4;
unsigned DC2B : 2;
unsigned P2M : 2;
};
} CCP2CONbits @ 0x29A;
#endif
//
// Special function register definitions: Bank 7
//
// Register: IOCBP
// Interrupt-On-Change Positive Edge Register
volatile unsigned char IOCBP @ 0x394;
// bit and bitfield definitions
volatile bit IOCBP0 @ ((unsigned)&IOCBP*8)+0;
volatile bit IOCBP1 @ ((unsigned)&IOCBP*8)+1;
volatile bit IOCBP2 @ ((unsigned)&IOCBP*8)+2;
volatile bit IOCBP3 @ ((unsigned)&IOCBP*8)+3;
volatile bit IOCBP4 @ ((unsigned)&IOCBP*8)+4;
volatile bit IOCBP5 @ ((unsigned)&IOCBP*8)+5;
volatile bit IOCBP6 @ ((unsigned)&IOCBP*8)+6;
volatile bit IOCBP7 @ ((unsigned)&IOCBP*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned IOCBP0 : 1;
unsigned IOCBP1 : 1;
unsigned IOCBP2 : 1;
unsigned IOCBP3 : 1;
unsigned IOCBP4 : 1;
unsigned IOCBP5 : 1;
unsigned IOCBP6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -