📄 io_map.h
字号:
byte KBIPE3 :1; /* Keyboard Pin Enable for Port A Bit 3 */
byte KBIPE4 :1; /* Keyboard Pin Enable for Port A Bit 4 */
byte KBIPE5 :1; /* Keyboard Pin Enable for Port A Bit 5 */
byte KBIPE6 :1; /* Keyboard Pin Enable for Port A Bit 6 */
byte KBIPE7 :1; /* Keyboard Pin Enable for Port A Bit 7 */
} Bits;
} KBIPESTR;
extern volatile KBIPESTR _KBIPE @0x0000000D;
#define KBIPE _KBIPE.Byte
#define KBIPE_KBIPE0 _KBIPE.Bits.KBIPE0
#define KBIPE_KBIPE1 _KBIPE.Bits.KBIPE1
#define KBIPE_KBIPE2 _KBIPE.Bits.KBIPE2
#define KBIPE_KBIPE3 _KBIPE.Bits.KBIPE3
#define KBIPE_KBIPE4 _KBIPE.Bits.KBIPE4
#define KBIPE_KBIPE5 _KBIPE.Bits.KBIPE5
#define KBIPE_KBIPE6 _KBIPE.Bits.KBIPE6
#define KBIPE_KBIPE7 _KBIPE.Bits.KBIPE7
#define KBIPE_KBIPE0_MASK 0x01
#define KBIPE_KBIPE1_MASK 0x02
#define KBIPE_KBIPE2_MASK 0x04
#define KBIPE_KBIPE3_MASK 0x08
#define KBIPE_KBIPE4_MASK 0x10
#define KBIPE_KBIPE5_MASK 0x20
#define KBIPE_KBIPE6_MASK 0x40
#define KBIPE_KBIPE7_MASK 0x80
/*** KBIES - KBI Edge Select Register; 0x0000000E ***/
typedef union {
byte Byte;
struct {
byte KBEDG0 :1; /* Keyboard Edge Select Bit 0 */
byte KBEDG1 :1; /* Keyboard Edge Select Bit 1 */
byte KBEDG2 :1; /* Keyboard Edge Select Bit 2 */
byte KBEDG3 :1; /* Keyboard Edge Select Bit 3 */
byte KBEDG4 :1; /* Keyboard Edge Select Bit 4 */
byte KBEDG5 :1; /* Keyboard Edge Select Bit 5 */
byte KBEDG6 :1; /* Keyboard Edge Select Bit 6 */
byte KBEDG7 :1; /* Keyboard Edge Select Bit 7 */
} Bits;
} KBIESSTR;
extern volatile KBIESSTR _KBIES @0x0000000E;
#define KBIES _KBIES.Byte
#define KBIES_KBEDG0 _KBIES.Bits.KBEDG0
#define KBIES_KBEDG1 _KBIES.Bits.KBEDG1
#define KBIES_KBEDG2 _KBIES.Bits.KBEDG2
#define KBIES_KBEDG3 _KBIES.Bits.KBEDG3
#define KBIES_KBEDG4 _KBIES.Bits.KBEDG4
#define KBIES_KBEDG5 _KBIES.Bits.KBEDG5
#define KBIES_KBEDG6 _KBIES.Bits.KBEDG6
#define KBIES_KBEDG7 _KBIES.Bits.KBEDG7
#define KBIES_KBEDG0_MASK 0x01
#define KBIES_KBEDG1_MASK 0x02
#define KBIES_KBEDG2_MASK 0x04
#define KBIES_KBEDG3_MASK 0x08
#define KBIES_KBEDG4_MASK 0x10
#define KBIES_KBEDG5_MASK 0x20
#define KBIES_KBEDG6_MASK 0x40
#define KBIES_KBEDG7_MASK 0x80
/*** IRQSC - Interrupt Request Status and Control Register; 0x0000000F ***/
typedef union {
byte Byte;
struct {
byte IRQMOD :1; /* IRQ Detection Mode */
byte IRQIE :1; /* IRQ Interrupt Enable */
byte IRQACK :1; /* IRQ Acknowledge */
byte IRQF :1; /* IRQ Flag */
byte IRQPE :1; /* IRQ Pin Enable */
byte :1;
byte IRQPDD :1; /* Interrupt Request (IRQ) Pull Device Disable */
byte :1;
} Bits;
} IRQSCSTR;
extern volatile IRQSCSTR _IRQSC @0x0000000F;
#define IRQSC _IRQSC.Byte
#define IRQSC_IRQMOD _IRQSC.Bits.IRQMOD
#define IRQSC_IRQIE _IRQSC.Bits.IRQIE
#define IRQSC_IRQACK _IRQSC.Bits.IRQACK
#define IRQSC_IRQF _IRQSC.Bits.IRQF
#define IRQSC_IRQPE _IRQSC.Bits.IRQPE
#define IRQSC_IRQPDD _IRQSC.Bits.IRQPDD
#define IRQSC_IRQMOD_MASK 0x01
#define IRQSC_IRQIE_MASK 0x02
#define IRQSC_IRQACK_MASK 0x04
#define IRQSC_IRQF_MASK 0x08
#define IRQSC_IRQPE_MASK 0x10
#define IRQSC_IRQPDD_MASK 0x40
/*** ADCSC1 - Status and Control Register; 0x00000010 ***/
typedef union {
byte Byte;
struct {
byte ADCH0 :1; /* Input Channel Select Bit 0 */
byte ADCH1 :1; /* Input Channel Select Bit 1 */
byte ADCH2 :1; /* Input Channel Select Bit 2 */
byte ADCH3 :1; /* Input Channel Select Bit 3 */
byte ADCH4 :1; /* Input Channel Select Bit 4 */
byte ADCO :1; /* Continuous Conversion Enable */
byte AIEN :1; /* Interrupt Enable */
byte COCO :1; /* Conversion Complete Flag */
} Bits;
struct {
byte grpADCH :5;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCSC1STR;
extern volatile ADCSC1STR _ADCSC1 @0x00000010;
#define ADCSC1 _ADCSC1.Byte
#define ADCSC1_ADCH0 _ADCSC1.Bits.ADCH0
#define ADCSC1_ADCH1 _ADCSC1.Bits.ADCH1
#define ADCSC1_ADCH2 _ADCSC1.Bits.ADCH2
#define ADCSC1_ADCH3 _ADCSC1.Bits.ADCH3
#define ADCSC1_ADCH4 _ADCSC1.Bits.ADCH4
#define ADCSC1_ADCO _ADCSC1.Bits.ADCO
#define ADCSC1_AIEN _ADCSC1.Bits.AIEN
#define ADCSC1_COCO _ADCSC1.Bits.COCO
#define ADCSC1_ADCH _ADCSC1.MergedBits.grpADCH
#define ADCSC1_ADCH0_MASK 0x01
#define ADCSC1_ADCH1_MASK 0x02
#define ADCSC1_ADCH2_MASK 0x04
#define ADCSC1_ADCH3_MASK 0x08
#define ADCSC1_ADCH4_MASK 0x10
#define ADCSC1_ADCO_MASK 0x20
#define ADCSC1_AIEN_MASK 0x40
#define ADCSC1_COCO_MASK 0x80
#define ADCSC1_ADCH_MASK 0x1F
#define ADCSC1_ADCH_BITNUM 0x00
/*** ADCSC2 - Status and Control Register 2; 0x00000011 ***/
typedef union {
byte Byte;
struct {
byte :1;
byte :1;
byte :1;
byte :1;
byte ACFGT :1; /* Compare Function Greater Than Enable */
byte ACFE :1; /* Compare Function Enable */
byte ADTRG :1; /* Conversion Trigger Select */
byte ADACT :1; /* Conversion Active */
} Bits;
} ADCSC2STR;
extern volatile ADCSC2STR _ADCSC2 @0x00000011;
#define ADCSC2 _ADCSC2.Byte
#define ADCSC2_ACFGT _ADCSC2.Bits.ACFGT
#define ADCSC2_ACFE _ADCSC2.Bits.ACFE
#define ADCSC2_ADTRG _ADCSC2.Bits.ADTRG
#define ADCSC2_ADACT _ADCSC2.Bits.ADACT
#define ADCSC2_ACFGT_MASK 0x10
#define ADCSC2_ACFE_MASK 0x20
#define ADCSC2_ADTRG_MASK 0x40
#define ADCSC2_ADACT_MASK 0x80
/*** ADCR - ADC10 Result Data Right Justified; 0x00000012 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** ADCRH - ADC10 Result Data Right Justified High; 0x00000012 ***/
union {
byte Byte;
struct {
byte ADR8 :1; /* ADC10 Result Data Bit 8 */
byte ADR9 :1; /* ADC10 Result Data Bit 9 */
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADR_8 :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCRHSTR;
#define ADCRH _ADCR.Overlap_STR.ADCRHSTR.Byte
#define ADCRH_ADR8 _ADCR.Overlap_STR.ADCRHSTR.Bits.ADR8
#define ADCRH_ADR9 _ADCR.Overlap_STR.ADCRHSTR.Bits.ADR9
#define ADCRH_ADR_8 _ADCR.Overlap_STR.ADCRHSTR.MergedBits.grpADR_8
#define ADCRH_ADR ADCRH_ADR_8
#define ADCRH_ADR8_MASK 0x01
#define ADCRH_ADR9_MASK 0x02
#define ADCRH_ADR_8_MASK 0x03
#define ADCRH_ADR_8_BITNUM 0x00
/*** ADCRL - ADC10 Result Data Right Justified Low; 0x00000013 ***/
union {
byte Byte;
struct {
byte ADR0 :1; /* ADC10 Result Data Bit 0 */
byte ADR1 :1; /* ADC10 Result Data Bit 1 */
byte ADR2 :1; /* ADC10 Result Data Bit 2 */
byte ADR3 :1; /* ADC10 Result Data Bit 3 */
byte ADR4 :1; /* ADC10 Result Data Bit 4 */
byte ADR5 :1; /* ADC10 Result Data Bit 5 */
byte ADR6 :1; /* ADC10 Result Data Bit 6 */
byte ADR7 :1; /* ADC10 Result Data Bit 7 */
} Bits;
} ADCRLSTR;
#define ADCRL _ADCR.Overlap_STR.ADCRLSTR.Byte
#define ADCRL_ADR0 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR0
#define ADCRL_ADR1 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR1
#define ADCRL_ADR2 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR2
#define ADCRL_ADR3 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR3
#define ADCRL_ADR4 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR4
#define ADCRL_ADR5 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR5
#define ADCRL_ADR6 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR6
#define ADCRL_ADR7 _ADCR.Overlap_STR.ADCRLSTR.Bits.ADR7
#define ADCRL_ADR0_MASK 0x01
#define ADCRL_ADR1_MASK 0x02
#define ADCRL_ADR2_MASK 0x04
#define ADCRL_ADR3_MASK 0x08
#define ADCRL_ADR4_MASK 0x10
#define ADCRL_ADR5_MASK 0x20
#define ADCRL_ADR6_MASK 0x40
#define ADCRL_ADR7_MASK 0x80
} Overlap_STR;
} ADCRSTR;
extern volatile ADCRSTR _ADCR @0x00000012;
#define ADCR _ADCR.Word
/*** ADCCV - Compare Value Register; 0x00000014 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** ADCCVH - Compare Value Register High; 0x00000014 ***/
union {
byte Byte;
struct {
byte ADCV8 :1; /* Compare Function Value 8 */
byte ADCV9 :1; /* Compare Function Value 9 */
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} Bits;
struct {
byte grpADCV_8 :2;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
byte :1;
} MergedBits;
} ADCCVHSTR;
#define ADCCVH _ADCCV.Overlap_STR.ADCCVHSTR.Byte
#define ADCCVH_ADCV8 _ADCCV.Overlap_STR.ADCCVHSTR.Bits.ADCV8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -