📄 pic16lf1903.h
字号:
// Register: OSCSTAT
// Oscillator Status Register
volatile unsigned char OSCSTAT @ 0x09A;
// bit and bitfield definitions
// Low Freqency Internal Oscillator Ready bit
volatile bit HFIOFS @ ((unsigned)&OSCSTAT*8)+0;
// Low Freqency Internal Oscillator Ready bit
volatile bit LFIOFR @ ((unsigned)&OSCSTAT*8)+1;
// High Freqency Internal Oscillator Ready bit
volatile bit HFIOFR @ ((unsigned)&OSCSTAT*8)+4;
// Oscillator Start-up Time-out Status bit
volatile bit OSTS @ ((unsigned)&OSCSTAT*8)+5;
// Timer1 Oscillator Ready bit
volatile bit T1OSCR @ ((unsigned)&OSCSTAT*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned HFIOFS : 1;
unsigned LFIOFR : 1;
unsigned : 1;
unsigned : 1;
unsigned HFIOFR : 1;
unsigned OSTS : 1;
unsigned : 1;
unsigned T1OSCR : 1;
};
} OSCSTATbits @ 0x09A;
#endif
// bit and bitfield definitions
// Register: ADRESL
// A/D Result Register LSB
volatile unsigned char ADRESL @ 0x09B;
// bit and bitfield definitions
// Register: ADRESH
// A/D Result Register MSB
volatile unsigned char ADRESH @ 0x09C;
// bit and bitfield definitions
// Register: ADRES
volatile unsigned int ADRES @ 0x09B;
// Register: ADCON0
// Analog-to-Digital Control Register 0
volatile unsigned char ADCON0 @ 0x09D;
// bit and bitfield definitions
// A/D Module Enable bit
volatile bit ADON @ ((unsigned)&ADCON0*8)+0;
// A/D Conversion Status bit
volatile bit GO_nDONE @ ((unsigned)&ADCON0*8)+1;
// Analog Channel Select bits
volatile bit CHS0 @ ((unsigned)&ADCON0*8)+2;
// Analog Channel Select bits
volatile bit CHS1 @ ((unsigned)&ADCON0*8)+3;
// Analog Channel Select bits
volatile bit CHS2 @ ((unsigned)&ADCON0*8)+4;
// Analog Channel Select bits
volatile bit CHS3 @ ((unsigned)&ADCON0*8)+5;
// Analog Channel Select bits
volatile bit CHS4 @ ((unsigned)&ADCON0*8)+6;
// A/D Conversion Status bit
volatile bit ADGO @ ((unsigned)&ADCON0*8)+1;
// A/D Conversion Status bit
volatile bit GO @ ((unsigned)&ADCON0*8)+1;
// A/D Conversion Status bit
volatile bit nDONE @ ((unsigned)&ADCON0*8)+1;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned ADON : 1;
unsigned GO_nDONE : 1;
unsigned CHS0 : 1;
unsigned CHS1 : 1;
unsigned CHS2 : 1;
unsigned CHS3 : 1;
unsigned CHS4 : 1;
unsigned : 1;
};
struct {
unsigned : 1;
unsigned ADGO : 1;
unsigned CHS : 5;
};
struct {
unsigned : 1;
unsigned GO : 1;
};
struct {
unsigned : 1;
unsigned nDONE : 1;
};
} ADCON0bits @ 0x09D;
#endif
// Register: ADCON1
// Analog-to-Digital Control Register 1
volatile unsigned char ADCON1 @ 0x09E;
// bit and bitfield definitions
// A/D Conversion Clock Select bits
volatile bit ADCS0 @ ((unsigned)&ADCON1*8)+4;
// A/D Conversion Clock Select bits
volatile bit ADCS1 @ ((unsigned)&ADCON1*8)+5;
// A/D Conversion Clock Select bits
volatile bit ADCS2 @ ((unsigned)&ADCON1*8)+6;
// A/D Result Format Select bit
volatile bit ADFM @ ((unsigned)&ADCON1*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned ADCS0 : 1;
unsigned ADCS1 : 1;
unsigned ADCS2 : 1;
unsigned ADFM : 1;
};
struct {
unsigned ADPREF : 2;
unsigned : 2;
unsigned ADCS : 3;
};
} ADCON1bits @ 0x09E;
#endif
//
// Special function register definitions: Bank 2
//
// Register: LATA
volatile unsigned char LATA @ 0x10C;
// bit and bitfield definitions
volatile bit LATA0 @ ((unsigned)&LATA*8)+0;
volatile bit LATA1 @ ((unsigned)&LATA*8)+1;
volatile bit LATA2 @ ((unsigned)&LATA*8)+2;
volatile bit LATA3 @ ((unsigned)&LATA*8)+3;
volatile bit LATA4 @ ((unsigned)&LATA*8)+4;
volatile bit LATA5 @ ((unsigned)&LATA*8)+5;
volatile bit LATA6 @ ((unsigned)&LATA*8)+6;
volatile bit LATA7 @ ((unsigned)&LATA*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned LATA0 : 1;
unsigned LATA1 : 1;
unsigned LATA2 : 1;
unsigned LATA3 : 1;
unsigned LATA4 : 1;
unsigned LATA5 : 1;
unsigned LATA6 : 1;
unsigned LATA7 : 1;
};
} LATAbits @ 0x10C;
#endif
// Register: LATB
volatile unsigned char LATB @ 0x10D;
// bit and bitfield definitions
volatile bit LATB0 @ ((unsigned)&LATB*8)+0;
volatile bit LATB1 @ ((unsigned)&LATB*8)+1;
volatile bit LATB2 @ ((unsigned)&LATB*8)+2;
volatile bit LATB3 @ ((unsigned)&LATB*8)+3;
volatile bit LATB4 @ ((unsigned)&LATB*8)+4;
volatile bit LATB5 @ ((unsigned)&LATB*8)+5;
volatile bit LATB6 @ ((unsigned)&LATB*8)+6;
volatile bit LATB7 @ ((unsigned)&LATB*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned LATB0 : 1;
unsigned LATB1 : 1;
unsigned LATB2 : 1;
unsigned LATB3 : 1;
unsigned LATB4 : 1;
unsigned LATB5 : 1;
unsigned LATB6 : 1;
unsigned LATB7 : 1;
};
} LATBbits @ 0x10D;
#endif
// Register: LATC
volatile unsigned char LATC @ 0x10E;
// bit and bitfield definitions
volatile bit LATC0 @ ((unsigned)&LATC*8)+0;
volatile bit LATC1 @ ((unsigned)&LATC*8)+1;
volatile bit LATC2 @ ((unsigned)&LATC*8)+2;
volatile bit LATC3 @ ((unsigned)&LATC*8)+3;
volatile bit LATC4 @ ((unsigned)&LATC*8)+4;
volatile bit LATC5 @ ((unsigned)&LATC*8)+5;
volatile bit LATC6 @ ((unsigned)&LATC*8)+6;
volatile bit LATC7 @ ((unsigned)&LATC*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned LATC0 : 1;
unsigned LATC1 : 1;
unsigned LATC2 : 1;
unsigned LATC3 : 1;
unsigned LATC4 : 1;
unsigned LATC5 : 1;
unsigned LATC6 : 1;
unsigned LATC7 : 1;
};
} LATCbits @ 0x10E;
#endif
// Register: LATE
volatile unsigned char LATE @ 0x110;
// bit and bitfield definitions
// Register: BORCON
// Brown-out Reset Control Register
volatile unsigned char BORCON @ 0x116;
// bit and bitfield definitions
// Brown-out Reset Circuit Ready Status bit
volatile bit BORRDY @ ((unsigned)&BORCON*8)+0;
// Software Brown Out Reset Enable bit
volatile bit SBOREN @ ((unsigned)&BORCON*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned BORRDY : 1;
unsigned : 6;
unsigned SBOREN : 1;
};
} BORCONbits @ 0x116;
#endif
// Register: FVRCON
// Voltage Reference Control Register 0
volatile unsigned char FVRCON @ 0x117;
// bit and bitfield definitions
// A/D Converter Fixed Voltage Reference Selection
volatile bit ADFVR0 @ ((unsigned)&FVRCON*8)+0;
// A/D Converter Fixed Voltage Reference Selection
volatile bit ADFVR1 @ ((unsigned)&FVRCON*8)+1;
// Fixed Voltage Reference Ready Flag
volatile bit FVRRDY @ ((unsigned)&FVRCON*8)+6;
// Fixed Voltage Reference Enable
volatile bit FVREN @ ((unsigned)&FVRCON*8)+7;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned ADFVR0 : 1;
unsigned ADFVR1 : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned : 1;
unsigned FVRRDY : 1;
unsigned FVREN : 1;
};
struct {
unsigned ADFVR : 2;
unsigned CDAFVR : 2;
};
} FVRCONbits @ 0x117;
#endif
//
// Special function register definitions: Bank 3
//
// Register: ANSELA
volatile unsigned char ANSELA @ 0x18C;
// bit and bitfield definitions
volatile bit ANSA0 @ ((unsigned)&ANSELA*8)+0;
volatile bit ANSA1 @ ((unsigned)&ANSELA*8)+1;
volatile bit ANSA2 @ ((unsigned)&ANSELA*8)+2;
volatile bit ANSA3 @ ((unsigned)&ANSELA*8)+3;
volatile bit ANSA5 @ ((unsigned)&ANSELA*8)+5;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned ANSA0 : 1;
unsigned ANSA1 : 1;
unsigned ANSA2 : 1;
unsigned ANSA3 : 1;
unsigned : 1;
unsigned ANSA5 : 1;
unsigned : 1;
unsigned : 1;
};
struct {
unsigned ANSELA : 6;
};
} ANSELAbits @ 0x18C;
#endif
// Register: ANSELB
volatile unsigned char ANSELB @ 0x18D;
// bit and bitfield definitions
volatile bit ANSB0 @ ((unsigned)&ANSELB*8)+0;
volatile bit ANSB1 @ ((unsigned)&ANSELB*8)+1;
volatile bit ANSB2 @ ((unsigned)&ANSELB*8)+2;
volatile bit ANSB3 @ ((unsigned)&ANSELB*8)+3;
volatile bit ANSB4 @ ((unsigned)&ANSELB*8)+4;
volatile bit ANSB5 @ ((unsigned)&ANSELB*8)+5;
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned ANSB0 : 1;
unsigned ANSB1 : 1;
unsigned ANSB2 : 1;
unsigned ANSB3 : 1;
unsigned ANSB4 : 1;
unsigned ANSB5 : 1;
unsigned : 2;
};
struct {
unsigned ANSELB : 6;
};
} ANSELBbits @ 0x18D;
#endif
// bit and bitfield definitions
// Register: PMADRL
volatile unsigned char PMADRL @ 0x191;
// bit and bitfield definitions
// Register: PMADRH
volatile unsigned char PMADRH @ 0x192;
// bit and bitfield definitions
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned PMADRH : 7;
};
} PMADRHbits @ 0x192;
#endif
// Register: PMADR
volatile unsigned int PMADR @ 0x191;
// bit and bitfield definitions
// Register: PMDATL
volatile unsigned char PMDATL @ 0x193;
// bit and bitfield definitions
// Register: PMDATH
volatile unsigned char PMDATH @ 0x194;
// bit and bitfield definitions
#ifndef _LIB_BUILD
volatile union {
struct {
unsigned PMDATH : 6;
};
} PMDATHbits @ 0x194;
#endif
// Register: PMDAT
volatile unsigned int PMDAT @ 0x193;
// Register: PMCON1
volatile unsigned char PMCON1 @ 0x195;
// bit and bitfield definitions
// Read Control bit
volatile bit RD @ ((unsigned)&PMCON1*8)+0;
// Write Control bit
volatile bit WR @ ((unsigned)&PMCON1*8)+1;
// Program/Erase Enable bit
volatile bit WREN @ ((unsigned)&PMCON1*8)+2;
// Sequence Error Flag bit
volatile bit WRERR @ ((unsigned)&PMCON1*8)+3;
// Program FLASH Erase Enable bit
volatile bit FREE @ ((unsigned)&PMCON1*8)+4;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -