📄 sfr28.h
字号:
#pragma ADDRESS ictb2_addr 034dH /* Timer B2 interrupt occurrences frequency set counter */
#pragma ADDRESS pdrf_addr 034eH /* Position-data-retain function register */
#pragma ADDRESS ifsr2a_addr 035eH /* Interrupt cause select register 2 */
#pragma ADDRESS ifsr_addr 035fH /* Interrupt cause select register */
#pragma ADDRESS s3trr_addr 0360H /* SI/O3 transmit/receive register */
#pragma ADDRESS s3c_addr 0362H /* SI/O3 control register */
#pragma ADDRESS s3brg_addr 0363H /* SI/O3 bit rate generator */
#pragma ADDRESS s4trr_addr 0364H /* SI/O4 transmit/receive register */
#pragma ADDRESS s4c_addr 0366H /* SI/O4 control register */
#pragma ADDRESS s4brg_addr 0367H /* SI/O4 bit rate generator */
#pragma ADDRESS u2smr4_addr 0374H /* UART2 special mode register 4 */
#pragma ADDRESS u2smr3_addr 0375H /* UART2 special mode register 3 */
#pragma ADDRESS u2smr2_addr 0376H /* UART2 special mode register 2 */
#pragma ADDRESS u2smr_addr 0377H /* UART2 special mode register */
#pragma ADDRESS u2mr_addr 0378H /* UART2 transmit/receive mode register */
#pragma ADDRESS u2brg_addr 0379H /* UART2 bit rate generator */
#pragma ADDRESS u2tb_addr 037aH /* UART2 transmit buffer register */
#pragma ADDRESS u2c0_addr 037cH /* UART2 transmit/receive control register 0 */
#pragma ADDRESS u2c1_addr 037dH /* UART2 transmit/receive control register 1 */
#pragma ADDRESS u2rb_addr 037eH /* UART2 receive buffer register */
#pragma ADDRESS tabsr_addr 0380H /* Count start flag */
#pragma ADDRESS cpsrf_addr 0381H /* Clock prescaler reset flag */
#pragma ADDRESS onsf_addr 0382H /* One-shot start flag */
#pragma ADDRESS trgsr_addr 0383H /* Trigger select register */
#pragma ADDRESS udf_addr 0384H /* Up/down flag */
#pragma ADDRESS ta0_addr 0386H /* Timer A0 register */
#pragma ADDRESS ta1_addr 0388H /* Timer A1 register */
#pragma ADDRESS ta2_addr 038aH /* Timer A2 register */
#pragma ADDRESS ta3_addr 038cH /* Timer A3 register */
#pragma ADDRESS ta4_addr 038eH /* Timer A4 register */
#pragma ADDRESS tb0_addr 0390H /* Timer B0 register */
#pragma ADDRESS tb1_addr 0392H /* Timer B1 register */
#pragma ADDRESS tb2_addr 0394H /* Timer B2 register */
#pragma ADDRESS ta0mr_addr 0396H /* Timer A0 mode register */
#pragma ADDRESS ta1mr_addr 0397H /* Timer A1 mode register */
#pragma ADDRESS ta2mr_addr 0398H /* Timer A2 mode register */
#pragma ADDRESS ta3mr_addr 0399H /* Timer A3 mode register */
#pragma ADDRESS ta4mr_addr 039aH /* Timer A4 mode register */
#pragma ADDRESS tb0mr_addr 039bH /* Timer B0 mode register */
#pragma ADDRESS tb1mr_addr 039cH /* Timer B1 mode register */
#pragma ADDRESS tb2mr_addr 039dH /* Timer B2 mode register */
#pragma ADDRESS tb2sc_addr 039eH /* Timer B2 special mode register */
#pragma ADDRESS u0mr_addr 03a0H /* UART0 transmit/receive mode register */
#pragma ADDRESS u0brg_addr 03a1H /* UART0 bit rate generator */
#pragma ADDRESS u0tb_addr 03a2H /* UART0 transmit buffer register */
#pragma ADDRESS u0c0_addr 03a4H /* UART0 transmit/receive control register 0 */
#pragma ADDRESS u0c1_addr 03a5H /* UART0 transmit/receive control register 1 */
#pragma ADDRESS u0rb_addr 03a6H /* UART0 receive buffer register */
#pragma ADDRESS u1mr_addr 03a8H /* UART1 transmit/receive mode register */
#pragma ADDRESS u1brg_addr 03a9H /* UART1 bit rate generator */
#pragma ADDRESS u1tb_addr 03aaH /* UART1 transmit buffer register */
#pragma ADDRESS u1c0_addr 03acH /* UART1 transmit/receive control register 0 */
#pragma ADDRESS u1c1_addr 03adH /* UART1 transmit/receive control register 1 */
#pragma ADDRESS u1rb_addr 03aeH /* UART1 receive buffer register */
#pragma ADDRESS ucon_addr 03b0H /* UART transmit/receive control register 2 */
#pragma ADDRESS dm0sl_addr 03b8H /* DMA0 request cause select register */
#pragma ADDRESS dm1sl_addr 03baH /* DMA1 request cause select register */
#pragma ADDRESS ad0_addr 03c0H /* A/D register 0 */
#pragma ADDRESS ad1_addr 03c2H /* A/D register 1 */
#pragma ADDRESS ad2_addr 03c4H /* A/D register 2 */
#pragma ADDRESS ad3_addr 03c6H /* A/D register 3 */
#pragma ADDRESS ad4_addr 03c8H /* A/D register 4 */
#pragma ADDRESS ad5_addr 03caH /* A/D register 5 */
#pragma ADDRESS ad6_addr 03ccH /* A/D register 6 */
#pragma ADDRESS ad7_addr 03ceH /* A/D register 7 */
#pragma ADDRESS adtrgcon_addr 03d2H /* A/D trigger control register */
#pragma ADDRESS adstat0_addr 03d3H /* A/D convert status register 0 */
#pragma ADDRESS adcon2_addr 03d4H /* A/D control register 2 */
#pragma ADDRESS adcon0_addr 03d6H /* A/D control register 0 */
#pragma ADDRESS adcon1_addr 03d7H /* A/D control register 1 */
#pragma ADDRESS p0_addr 03e0H /* Port P0 register */
#pragma ADDRESS p1_addr 03e1H /* Port P1 register */
#pragma ADDRESS pd0_addr 03e2H /* Port P0 direction register */
#pragma ADDRESS pd1_addr 03e3H /* Port P1 direction register */
#pragma ADDRESS p2_addr 03e4H /* Port P2 register */
#pragma ADDRESS p3_addr 03e5H /* Port P3 register */
#pragma ADDRESS pd2_addr 03e6H /* Port P2 direction register */
#pragma ADDRESS pd3_addr 03e7H /* Port P3 direction register */
#pragma ADDRESS p6_addr 03ecH /* Port P6 register */
#pragma ADDRESS p7_addr 03edH /* Port P7 register */
#pragma ADDRESS pd6_addr 03eeH /* Port P6 direction register */
#pragma ADDRESS pd7_addr 03efH /* Port P7 direction register */
#pragma ADDRESS p8_addr 03f0H /* Port P8 register */
#pragma ADDRESS p9_addr 03f1H /* Port P9 register */
#pragma ADDRESS pd8_addr 03f2H /* Port P8 direction register */
#pragma ADDRESS pd9_addr 03f3H /* Port P9 direction register */
#pragma ADDRESS p10_addr 03f4H /* Port P10 register */
#pragma ADDRESS pd10_addr 03f6H /* Port P10 direction register */
#pragma ADDRESS pur0_addr 03fcH /* Pull-up control register 0 */
#pragma ADDRESS pur1_addr 03fdH /* Pull-up control register 1 */
#pragma ADDRESS pur2_addr 03feH /* Pull-up control register 2 */
#pragma ADDRESS pcr_addr 03ffH /* Port control register */
/********************************************************
* declare SFR bit *
********************************************************/
struct bit_def {
char b0:1;
char b1:1;
char b2:1;
char b3:1;
char b4:1;
char b5:1;
char b6:1;
char b7:1;
};
union byte_def{
struct bit_def bit;
char byte;
};
/*------------------------------------------------------
Processor mode register 0
------------------------------------------------------*/
union byte_def pm0_addr;
#define pm0 pm0_addr.byte
#define pm03 pm0_addr.bit.b3 /* Software reset bit */
/*------------------------------------------------------
Processor mode register 1
------------------------------------------------------*/
union byte_def pm1_addr;
#define pm1 pm1_addr.byte
#define pm10 pm1_addr.bit.b0 /* Flash data block access bit */
#define pm12 pm1_addr.bit.b2 /* Watchdog timer function select bit */
#define pm17 pm1_addr.bit.b7 /* Wait bit */
/*------------------------------------------------------
System clock control register 0
------------------------------------------------------*/
union byte_def cm0_addr;
#define cm0 cm0_addr.byte
#define cm02 cm0_addr.bit.b2 /* WAIT Mode peripheral function clock stop bit */
#define cm03 cm0_addr.bit.b3 /* Xcin-Xcout drive capacity select bit */
#define cm04 cm0_addr.bit.b4 /* Port Xc select bit */
#define cm05 cm0_addr.bit.b5 /* Main clock stop bit */
#define cm06 cm0_addr.bit.b6 /* Main clock division select bit 0 */
#define cm07 cm0_addr.bit.b7 /* System clock select bit */
/*------------------------------------------------------
System clock control register 1
------------------------------------------------------*/
union byte_def cm1_addr;
#define cm1 cm1_addr.byte
#define cm10 cm1_addr.bit.b0 /* All clock stop control bit */
#define cm11 cm1_addr.bit.b1 /* System clock select bit 1 */
#define cm15 cm1_addr.bit.b5 /* Xin-Xout drive capacity select bit */
#define cm16 cm1_addr.bit.b6 /* Main clock division select bit 1 */
#define cm17 cm1_addr.bit.b7 /* Main clock division select bit 1 */
/*------------------------------------------------------
Address match interrupt enable register
------------------------------------------------------*/
union byte_def aier_addr;
#define aier aier_addr.byte
#define aier0 aier_addr.bit.b0 /* Address match interrupt 0 enable bit */
#define aier1 aier_addr.bit.b1 /* Address match interrupt 1 enable bit */
/*------------------------------------------------------
Protect register
------------------------------------------------------*/
union byte_def prcr_addr;
#define prcr prcr_addr.byte
#define prc0 prcr_addr.bit.b0 /* Enable write to CM0,CM1,CM2,ROCR,PLC0 and PCLKR registers */
#define prc1 prcr_addr.bit.b1 /* Enable write to PM0,PM1,PM2,TB2SC,INVC0 and INVC1 registers */
#define prc2 prcr_addr.bit.b2 /* Enable write to PD9,PACR and S4C registers */
#define prc3 prcr_addr.bit.b3 /* Enable write to VCR2 and D4INT registers */
/*------------------------------------------------------
Oscillation steop detection register
------------------------------------------------------*/
union byte_def cm2_addr;
#define cm2 cm2_addr.byte
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -