📄 pic16f1823.h
字号:
volatile unsigned ANSA0 : 1;
volatile unsigned ANSA1 : 1;
volatile unsigned ANSA2 : 1;
volatile unsigned : 1;
volatile unsigned ANSA4 : 1;
volatile unsigned : 1;
volatile unsigned : 1;
volatile unsigned : 1;
};
struct {
volatile unsigned ANSELA : 5;
volatile unsigned : 1;
};
} ANSELAbits @ 0x18C;
#endif
// Register: ANSELC
volatile unsigned char ANSELC @ 0x18E;
// bit and bitfield definitions
volatile bit ANSC0 @ ((unsigned)&ANSELC*8)+0;
volatile bit ANSC1 @ ((unsigned)&ANSELC*8)+1;
volatile bit ANSC2 @ ((unsigned)&ANSELC*8)+2;
volatile bit ANSC3 @ ((unsigned)&ANSELC*8)+3;
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned ANSC0 : 1;
volatile unsigned ANSC1 : 1;
volatile unsigned ANSC2 : 1;
volatile unsigned ANSC3 : 1;
volatile unsigned : 1;
volatile unsigned : 1;
volatile unsigned : 1;
volatile unsigned : 1;
};
struct {
volatile unsigned ANSC : 4;
volatile unsigned : 4;
};
} ANSELCbits @ 0x18E;
#endif
// bit and bitfield definitions
// Register: EEADRL
volatile unsigned char EEADRL @ 0x191;
// bit and bitfield definitions
// Register: EEADRH
volatile unsigned char EEADRH @ 0x192;
// bit and bitfield definitions
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned EEADRH : 7;
};
} EEADRHbits @ 0x192;
#endif
// Register: EEADR
volatile unsigned int EEADR @ 0x191;
// bit and bitfield definitions
// Register: EEDATL
volatile unsigned char EEDATL @ 0x193;
volatile unsigned char EEDATA @ 0x193;
// bit and bitfield definitions
// Register: EEDATH
volatile unsigned char EEDATH @ 0x194;
// bit and bitfield definitions
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned EEDATH : 6;
};
} EEDATHbits @ 0x194;
#endif
// Register: EEDAT
volatile unsigned int EEDAT @ 0x193;
// Register: EECON1
volatile unsigned char EECON1 @ 0x195;
// bit and bitfield definitions
// Read Control bit
volatile bit RD @ ((unsigned)&EECON1*8)+0;
// Write Control bit
volatile bit WR @ ((unsigned)&EECON1*8)+1;
// Program/Erase Enable bit
volatile bit WREN @ ((unsigned)&EECON1*8)+2;
// Sequence Error Flag bit
volatile bit WRERR @ ((unsigned)&EECON1*8)+3;
// Program FLASH Erase Enable bit
volatile bit FREE @ ((unsigned)&EECON1*8)+4;
// Load Write Latches Only bit
volatile bit LWLO @ ((unsigned)&EECON1*8)+5;
// FLASH Program / Data EEPROM or Configuration Select bit
volatile bit CFGS @ ((unsigned)&EECON1*8)+6;
// FLASH Program / Data EEPROM Memory Select bit
volatile bit EEPGD @ ((unsigned)&EECON1*8)+7;
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned RD : 1;
volatile unsigned WR : 1;
volatile unsigned WREN : 1;
volatile unsigned WRERR : 1;
volatile unsigned FREE : 1;
volatile unsigned LWLO : 1;
volatile unsigned CFGS : 1;
volatile unsigned EEPGD : 1;
};
} EECON1bits @ 0x195;
#endif
// Register: EECON2
volatile unsigned char EECON2 @ 0x196;
// bit and bitfield definitions
// Register: RCREG
volatile unsigned char RCREG @ 0x199;
// bit and bitfield definitions
// Register: TXREG
volatile unsigned char TXREG @ 0x19A;
// bit and bitfield definitions
// Register: SPBRGL
volatile unsigned char SPBRGL @ 0x19B;
volatile unsigned char SPBRG @ 0x19B;
// bit and bitfield definitions
// Register: SPBRGH
volatile unsigned char SPBRGH @ 0x19C;
// bit and bitfield definitions
// Register: RCSTA
// Receive Status and Control Register
volatile unsigned char RCSTA @ 0x19D;
// bit and bitfield definitions
// 9th bit of received data (can be parity bit)
volatile bit RX9D @ ((unsigned)&RCSTA*8)+0;
// Overrun Error bit
volatile bit OERR @ ((unsigned)&RCSTA*8)+1;
// Framing Error bit
volatile bit FERR @ ((unsigned)&RCSTA*8)+2;
// Address Detect Enable bit
volatile bit ADDEN @ ((unsigned)&RCSTA*8)+3;
// Continuous Receive Enable bit
volatile bit CREN @ ((unsigned)&RCSTA*8)+4;
// Single Receive Enable bit
volatile bit SREN @ ((unsigned)&RCSTA*8)+5;
// 9-bit Receive Enable bit
volatile bit RX9 @ ((unsigned)&RCSTA*8)+6;
// Serial Port Enable bit
volatile bit SPEN @ ((unsigned)&RCSTA*8)+7;
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned RX9D : 1;
volatile unsigned OERR : 1;
volatile unsigned FERR : 1;
volatile unsigned ADDEN : 1;
volatile unsigned CREN : 1;
volatile unsigned SREN : 1;
volatile unsigned RX9 : 1;
volatile 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
union {
struct {
volatile unsigned TX9D : 1;
volatile unsigned TRMT : 1;
volatile unsigned BRGH : 1;
volatile unsigned SENDB : 1;
volatile unsigned SYNC : 1;
volatile unsigned TXEN : 1;
volatile unsigned TX9 : 1;
volatile 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
union {
struct {
volatile unsigned ABDEN : 1;
volatile unsigned WUE : 1;
volatile unsigned : 1;
volatile unsigned BRG16 : 1;
volatile unsigned SCKP : 1;
volatile unsigned : 1;
volatile unsigned RCIDL : 1;
volatile unsigned ABDOVF : 1;
};
} BAUDCONbits @ 0x19F;
#endif
//
// Special function register definitions: Bank 4
//
// Register: WPUA
volatile unsigned char WPUA @ 0x20C;
// bit and bitfield definitions
volatile bit WPUA0 @ ((unsigned)&WPUA*8)+0;
volatile bit WPUA1 @ ((unsigned)&WPUA*8)+1;
volatile bit WPUA2 @ ((unsigned)&WPUA*8)+2;
volatile bit WPUA3 @ ((unsigned)&WPUA*8)+3;
volatile bit WPUA4 @ ((unsigned)&WPUA*8)+4;
volatile bit WPUA5 @ ((unsigned)&WPUA*8)+5;
#ifndef _LIB_BUILD
union {
struct {
volatile unsigned WPUA0 : 1;
volatile unsigned WPUA1 : 1;
volatile unsigned WPUA2 : 1;
volatile unsigned WPUA3 : 1;
volatile unsigned WPUA4 : 1;
volatile unsigned WPUA5 : 1;
};
struct {
volatile unsigned WPUA : 6;
volatile unsigned : 2;
};
} WPUAbits @ 0x20C;
#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
union {
struct {
volatile unsigned BF : 1;
volatile unsigned UA : 1;
volatile unsigned R_nW : 1;
volatile unsigned S : 1;
volatile unsigned P : 1;
volatile unsigned D_nA : 1;
volatile unsigned CKE : 1;
volatile unsigned SMP : 1;
};
} SSP1STATbits @ 0x214;
#endif
// Register: SSP1CON1
volatile unsigned char SSP1CON1 @ 0x215;
volatile unsigned char SSPCON1 @ 0x215;
volatile unsigned char SSPCON @ 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
union {
struct {
volatile unsigned SSPM0 : 1;
volatile unsigned SSPM1 : 1;
volatile unsigned SSPM2 : 1;
volatile unsigned SSPM3 : 1;
volatile unsigned CKP : 1;
volatile unsigned SSPEN : 1;
volatile unsigned SSPOV : 1;
volatile unsigned WCOL : 1;
};
struct {
volatile unsigned SSPM : 4;
};
} SSP1CON1bits @ 0x215;
#endif
// Register: SSP1CON2
volatile unsigned char SSP1CON2 @ 0x216;
volatile unsigned char SSPCON2 @ 0x216;
// bit and bitfield definitions
volatile bit SEN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -