📄 sfr_r823.h
字号:
#ifndef SFR_R823_H
#define SFR_R823_H
/************************************************************************************
* *
* File Name : SFR_R823.h *
* Contents : definition of R8C/22 & R8C/23 Group SFR *
* Copyright(C) 2005. Renesas Technology Corp., All rights reserved. *
* Version : 1.20 (06-06-07) *
* rename : ssuaic to ssuic, iic2aic to iicic *
* 1.10 (05-11-30) *
* rename : trdmdr to trdmr, tpsc0-2 to tck0-2, *
* tstop0,1 to csel0,1 *
* 1.00 (05-10-05) *
* *
* note : *
* *
************************************************************************************/
/********************************************************
* declare SFR addresses *
********************************************************/
#pragma ADDRESS pm0_addr 0004H /* Processor mode register 0 */
#pragma ADDRESS pm1_addr 0005H /* Processor mode register 1 */
#pragma ADDRESS cm0_addr 0006H /* System clock control register 0 */
#pragma ADDRESS cm1_addr 0007H /* System clock control register 1 */
#pragma ADDRESS prcr_addr 000AH /* Protect register */
#pragma ADDRESS ocd_addr 000CH /* Oscillation stop detect register */
#pragma ADDRESS wdtr_addr 000DH /* Watchdog timer reset register */
#pragma ADDRESS wdts_addr 000EH /* Watchdog timer start register */
#pragma ADDRESS wdc_addr 000FH /* Watchdog timer control register */
#pragma ADDRESS rmad0_addr 0010H /* Address match interrupt register0 */
#pragma ADDRESS aier_addr 0013H /* Address match interrupt enable register */
#pragma ADDRESS rmad1_addr 0014H /* Address match interrupt register1 */
#pragma ADDRESS cspr_addr 001CH /* Count source protect mode register */
#pragma ADDRESS fra0_addr 0023H /* High-speed on-chip oscillator contorl register 0 */
#pragma ADDRESS fra1_addr 0024H /* High-speed on-chip oscillator contorl register 1 */
#pragma ADDRESS fra2_addr 0025H /* High-speed on-chip oscillator contorl register 2 */
#pragma ADDRESS vca1_addr 0031H /* Voltage detection register 1 */
#pragma ADDRESS vca2_addr 0032H /* Voltage detection register 2 */
#pragma ADDRESS vw1c_addr 0036H /* Voltage monitor 1 circuit control register */
#pragma ADDRESS vw2c_addr 0037H /* Voltage monitor 2 circuit control register */
/* Interrupt control registers */
#pragma ADDRESS c01wkic_addr 0043h /* CAN0 wake up */
#pragma ADDRESS c0recic_addr 0044h /* CAN0 successful reception */
#pragma ADDRESS c0trmic_addr 0045h /* CAN0 successful transmission */
#pragma ADDRESS c01erric_addr 0046h /* CAN0 error */
#pragma ADDRESS trd0ic_addr 0048H /* Timer RD0 */
#pragma ADDRESS trd1ic_addr 0049H /* Timer RD1 */
#pragma ADDRESS treic_addr 004AH /* Timer RE */
#pragma ADDRESS kupic_addr 004DH /* Key input */
#pragma ADDRESS adic_addr 004EH /* A-D conversion */
#pragma ADDRESS ssuic_addr 004FH /* SSU */
#pragma ADDRESS iicic_addr 004FH /* IIC */
#pragma ADDRESS s0tic_addr 0051H /* UART0 transmit */
#pragma ADDRESS s0ric_addr 0052H /* UART0 receive */
#pragma ADDRESS s1tic_addr 0053H /* UART1 transmit */
#pragma ADDRESS s1ric_addr 0054H /* UART1 receive */
#pragma ADDRESS int2ic_addr 0055H /* INT2 */
#pragma ADDRESS traic_addr 0056H /* Timer RA */
#pragma ADDRESS trbic_addr 0058H /* Timer RB */
#pragma ADDRESS int1ic_addr 0059H /* INT1 */
#pragma ADDRESS int3ic_addr 005AH /* INT3 */
#pragma ADDRESS int0ic_addr 005DH /* INT0 */
#pragma ADDRESS u0mr_addr 00A0H /* UART0 transmit/receive mode register */
#pragma ADDRESS u0brg_addr 00A1H /* UART0 bit rate register */
#pragma ADDRESS u0tb_addr 00A2H /* UART0 transmit buffer register */
#pragma ADDRESS u0c0_addr 00A4H /* UART0 transmit/receive control register 0 */
#pragma ADDRESS u0c1_addr 00A5H /* UART0 transmit/receive control register 1 */
#pragma ADDRESS u0rb_addr 00A6H /* UART0 receive buffer register */
#pragma ADDRESS u1mr_addr 00A8H /* UART1 transmit/receive mode register */
#pragma ADDRESS u1brg_addr 00A9H /* UART1 bit rate register */
#pragma ADDRESS u1tb_addr 00AAH /* UART1 transmit buffer register */
#pragma ADDRESS u1c0_addr 00ACH /* UART1 transmit/receive control register 0 */
#pragma ADDRESS u1c1_addr 00ADH /* UART1 transmit/receive control register 1 */
#pragma ADDRESS u1rb_addr 00AEH /* UART1 receive buffer register */
#pragma ADDRESS sscrh_addr 00B8H /* SS control register H */
#pragma ADDRESS iccr1_addr 00B8H /* IIC bus control register 1 */
#pragma ADDRESS sscrl_addr 00B9H /* SS control register L */
#pragma ADDRESS iccr2_addr 00B9H /* IIC bus control register 2 */
#pragma ADDRESS ssmr_addr 00BAH /* SS mode register */
#pragma ADDRESS icmr_addr 00BAH /* IIC bus mode register */
#pragma ADDRESS sser_addr 00BBH /* SS enable register */
#pragma ADDRESS icier_addr 00BBH /* IIC bus interrupt enable register */
#pragma ADDRESS sssr_addr 00BCH /* SS status register */
#pragma ADDRESS icsr_addr 00BCH /* IIC bus status register */
#pragma ADDRESS ssmr2_addr 00BDH /* SS mode register 2 */
#pragma ADDRESS sar_addr 00BDH /* Slave address register */
#pragma ADDRESS sstdr_addr 00BEH /* SS transmit data register */
#pragma ADDRESS icdrt_addr 00BEH /* IIC bus transmit data register */
#pragma ADDRESS ssrdr_addr 00BFH /* SS receive data register */
#pragma ADDRESS icdrr_addr 00BFH /* IIC bus receive data register */
#pragma ADDRESS ad_addr 00C0H /* A-D register */
#pragma ADDRESS adcon2_addr 00D4H /* A-D control register 2 */
#pragma ADDRESS adcon0_addr 00D6H /* A-D control register 0 */
#pragma ADDRESS adcon1_addr 00D7H /* A-D control register 1 */
#pragma ADDRESS p0_addr 00E0H /* Port P0 register */
#pragma ADDRESS p1_addr 00E1H /* Port P1 register */
#pragma ADDRESS pd0_addr 00E2H /* Port P0 direction register */
#pragma ADDRESS pd1_addr 00E3H /* Port P1 direction register */
#pragma ADDRESS p2_addr 00E4H /* Port P2 register */
#pragma ADDRESS p3_addr 00E5H /* Port P3 register */
#pragma ADDRESS pd2_addr 00E6H /* Port P2 direction register */
#pragma ADDRESS pd3_addr 00E7H /* Port P3 direction register */
#pragma ADDRESS p4_addr 00E8H /* Port P4 register */
#pragma ADDRESS pd4_addr 00EAH /* Port P4 direction register */
#pragma ADDRESS p6_addr 00ECH /* Port P6 register */
#pragma ADDRESS pd6_addr 00EEH /* Port P6 direction register */
#pragma ADDRESS u1sr_addr 00F5H /* UART1 function select register */
#pragma ADDRESS pmr_addr 00F8H /* Port mode register */
#pragma ADDRESS inten_addr 00F9H /* External interrupt enable register */
#pragma ADDRESS intf_addr 00FAH /* External interrupt filter select register */
#pragma ADDRESS kien_addr 00FBH /* Key input enable register */
#pragma ADDRESS pur0_addr 00FCH /* Pull-up control register0 */
#pragma ADDRESS pur1_addr 00FDH /* Pull-up control register1 */
#pragma ADDRESS tracr_addr 0100H /* Timer RA control register */
#pragma ADDRESS traioc_addr 0101H /* Timer RA I/O control register */
#pragma ADDRESS tramr_addr 0102H /* Timer RA mode register */
#pragma ADDRESS trapre_addr 0103H /* Timer RA prescaler register */
#pragma ADDRESS tra_addr 0104H /* Timer RA register */
#pragma ADDRESS lincr_addr 0106H /* LIN control register */
#pragma ADDRESS linst_addr 0107H /* LIN status register */
#pragma ADDRESS trbcr_addr 0108H /* Timer RB control register */
#pragma ADDRESS trbocr_addr 0109H /* Timer RB one-shot control register */
#pragma ADDRESS trbioc_addr 010AH /* Timer RB I/O control register */
#pragma ADDRESS trbmr_addr 010BH /* Timer RB mode register */
#pragma ADDRESS trbpre_addr 010CH /* Timer RB prescaler register */
#pragma ADDRESS trbsc_addr 010DH /* Timer RB secondary register */
#pragma ADDRESS trbpr_addr 010EH /* Timer RB primary register */
#pragma ADDRESS tresec_addr 0118H /* Timer RE seconds data register / Timer RE counter data register */
#pragma ADDRESS tremin_addr 0119H /* Timer RE minutes data register / Timer RE compare data register */
#pragma ADDRESS trecr1_addr 011CH /* Timer RE control register1 */
#pragma ADDRESS trecr2_addr 011DH /* Timer RE control register2 */
#pragma ADDRESS trecsr_addr 011EH /* Timer RE count source select register */
#pragma ADDRESS trdstr_addr 0137H /* Timer RD start register */
#pragma ADDRESS trdmr_addr 0138H /* Timer RD mode register */
#pragma ADDRESS trdpmr_addr 0139H /* Timer RD PWM mode register */
#pragma ADDRESS trdfcr_addr 013AH /* Timer RD function control register */
#pragma ADDRESS trdoer1_addr 013BH /* Timer RD output master enable register 1 */
#pragma ADDRESS trdoer2_addr 013CH /* Timer RD output master enable register 2 */
#pragma ADDRESS trdocr_addr 013DH /* Timer RD output control register */
#pragma ADDRESS trddf0_addr 013EH /* Timer RD digital filter function selection register 0 */
#pragma ADDRESS trddf1_addr 013FH /* Timer RD digital filter function selection register 1 */
#pragma ADDRESS trdcr0_addr 0140H /* Timer RD control register 0 */
#pragma ADDRESS trdiora0_addr 0141H /* Timer RD I/O contorol register A0 */
#pragma ADDRESS trdiorc0_addr 0142H /* Timer RD I/O contorol register C0 */
#pragma ADDRESS trdsr0_addr 0143H /* Timer RD status register 0 */
#pragma ADDRESS trdier0_addr 0144H /* Timer RD interrupt enable register 0 */
#pragma ADDRESS trdpocr0_addr 0145H /* Timer RD PWM mode output level control register 0 */
#pragma ADDRESS trd0_addr 0146H /* Timer RD counter 0 */
#pragma ADDRESS trdgra0_addr 0148H /* Timer RD general register A0 */
#pragma ADDRESS trdgrb0_addr 014AH /* Timer RD general register B0 */
#pragma ADDRESS trdgrc0_addr 014CH /* Timer RD general register C0 */
#pragma ADDRESS trdgrd0_addr 014EH /* Timer RD general register D0 */
#pragma ADDRESS trdcr1_addr 0150H /* Timer RD control register 1 */
#pragma ADDRESS trdiora1_addr 0151H /* Timer RD I/O contorol register A1 */
#pragma ADDRESS trdiorc1_addr 0152H /* Timer RD I/O contorol register C1 */
#pragma ADDRESS trdsr1_addr 0153H /* Timer RD status register 1 */
#pragma ADDRESS trdier1_addr 0154H /* Timer RD interrupt enable register 1 */
#pragma ADDRESS trdpocr1_addr 0155H /* Timer RD PWM mode output level control register 1 */
#pragma ADDRESS trd1_addr 0156H /* Timer RD counter 1 */
#pragma ADDRESS trdgra1_addr 0158H /* Timer RD general register A1 */
#pragma ADDRESS trdgrb1_addr 015AH /* Timer RD general register B1 */
#pragma ADDRESS trdgrc1_addr 015CH /* Timer RD general register C1 */
#pragma ADDRESS trdgrd1_addr 015EH /* Timer RD general register D1 */
#pragma ADDRESS fmr4_addr 01B3H /* Flash memory control register 4 */
#pragma ADDRESS fmr1_addr 01B5H /* Flash memory control register 1 */
#pragma ADDRESS fmr0_addr 01B7H /* Flash memory control register 0 */
/* CAN */
#pragma ADDRESS c0mctl 1300h /* CAN0 message control register */
#pragma ADDRESS c0mctl0 1300h /* CAN0 message control register 0 */
#pragma ADDRESS c0mctl1 1301h /* CAN0 message control register 1 */
#pragma ADDRESS c0mctl2 1302h /* CAN0 message control register 2 */
#pragma ADDRESS c0mctl3 1303h /* CAN0 message control register 3 */
#pragma ADDRESS c0mctl4 1304h /* CAN0 message control register 4 */
#pragma ADDRESS c0mctl5 1305h /* CAN0 message control register 5 */
#pragma ADDRESS c0mctl6 1306h /* CAN0 message control register 6 */
#pragma ADDRESS c0mctl7 1307h /* CAN0 message control register 7 */
#pragma ADDRESS c0mctl8 1308h /* CAN0 message control register 8 */
#pragma ADDRESS c0mctl9 1309h /* CAN0 message control register 9 */
#pragma ADDRESS c0mctl10 130ah /* CAN0 message control register 10 */
#pragma ADDRESS c0mctl11 130bh /* CAN0 message control register 11 */
#pragma ADDRESS c0mctl12 130ch /* CAN0 message control register 12 */
#pragma ADDRESS c0mctl13 130dh /* CAN0 message control register 13 */
#pragma ADDRESS c0mctl14 130eh /* CAN0 message control register 14 */
#pragma ADDRESS c0mctl15 130fh /* CAN0 message control register 15 */
#pragma ADDRESS c0ctlr_addr 1310h /* CAN0 control register */
#pragma ADDRESS c0str_addr 1312h /* CAN0 status register */
#pragma ADDRESS c0sstr_addr 1314h /* CAN0 slot status register */
#pragma ADDRESS c0icr_addr 1316h /* CAN0 interrupt control register */
#pragma ADDRESS c0idr_addr 1318h /* CAN0 extended ID register */
#pragma ADDRESS c0conr_addr 131ah /* CAN0 configuration register */
#pragma ADDRESS c0recr_addr 131ch /* CAN0 receive error count register */
#pragma ADDRESS c0tecr_addr 131dh /* CAN0 transmit error count register */
#pragma ADDRESS c0afs_addr 1342h /* CAN0 acceptance filter support register */
#pragma ADDRESS cclkr_addr 135fh /* CAN0/1 clock select register */
#pragma ADDRESS c0slot 1360h /* CAN0 message box :Message Object */
#pragma ADDRESS c0slot0 1360h /* CAN0 message box 0 :Message Object */
#pragma ADDRESS c0slot1 1370h /* CAN0 message box 1 :Message Object */
#pragma ADDRESS c0slot2 1380h /* CAN0 message box 2 :Message Object */
#pragma ADDRESS c0slot3 1390h /* CAN0 message box 3 :Message Object */
#pragma ADDRESS c0slot4 13a0h /* CAN0 message box 4 :Message Object */
#pragma ADDRESS c0slot5 13b0h /* CAN0 message box 5 :Message Object */
#pragma ADDRESS c0slot6 13c0h /* CAN0 message box 6 :Message Object */
#pragma ADDRESS c0slot7 13d0h /* CAN0 message box 7 :Message Object */
#pragma ADDRESS c0slot8 13e0h /* CAN0 message box 8 :Message Object */
#pragma ADDRESS c0slot9 13f0h /* CAN0 message box 9 :Message Object */
#pragma ADDRESS c0slot10 1400h /* CAN0 message box 10:Message Object */
#pragma ADDRESS c0slot11 1410h /* CAN0 message box 11:Message Object */
#pragma ADDRESS c0slot12 1420h /* CAN0 message box 12:Message Object */
#pragma ADDRESS c0slot13 1430h /* CAN0 message box 13:Message Object */
#pragma ADDRESS c0slot14 1440h /* CAN0 message box 14:Message Object */
#pragma ADDRESS c0slot15 1450h /* CAN0 message box 15:Message Object */
#pragma ADDRESS c0gmr 1460h /* CAN0 global mask register */
#pragma ADDRESS c0lmar 1466h /* CAN0 local mask A register */
#pragma ADDRESS c0lmbr 146ch /* CAN0 local mask B 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 register0
------------------------------------------------------*/
union byte_def pm0_addr;
#define pm0 pm0_addr.byte
#define pm03 pm0_addr.bit.b3 /* Software reset bit */
/*------------------------------------------------------
Processor mode register1
------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -