
首先通过Python 安装 STCFLASH 包(基于STCGAL 开发)
python
pip3 install stcflash
win系统就是
python
pip install stcflash
项目地址: https://github.com/cx693/StcFlash
多的不解释自己的项目!(借鉴了STCGAL)
其次就是 SDCC 解释器
python
macOS: brew install sdcc
linux: sudo apt-get install sdcc
SDCC 与 StcFlash 需要环境变量配置
如果需要运行STC-ISP
MacOs:https://getwhisky.app/

安装后点击点击终端获取权限如果不小心点击不允许(运行这个指令后重新打开Whisky)
bash
tccutil reset AppleEvents
然后安装
bash
brew install winetricks
winetricks mfc42

Liunx:https://geek-blogs.com/blog/exe-linux-run/
(其实Linux与macOS同理 底层都是UNIX)
其次就是 SDCC - 8bit的 Ai8051.h 见文章底部
安装 VsCode + pioformio
开发包无 Ai8051U34K64自定义 board
bash
{
"build": {
"f_cpu": "40000000",
"size_iram": 1024,
"size_xram": 8192,
"size_code": 65536,
"size_heap": 512,
"mcu": "ai8051u-34k64",
"cpu": "mcs51"
},
"frameworks": [],
"upload": {
"maximum_ram_size": 9216,
"maximum_size": 65536,
"protocol": "stcflash",
"stcgal_protocol": "stc8d",
"protocols": [
"stcflash"
]
},
"url": "https://github.com/cx693/StcFlash",
"vendor": "CXi",
"name": "Ai8051U34K64"
}
将json 放入 Users/{YourName}/.platformio/platforms/intel_mcs51/boards 命名为 Ai8051U34K64.json
注意:
platformio.ini
bash
[env:Ai8051U34K64]
platform = intel_mcs51
board = Ai8051U34K64
; 核心:自定义上传指令(替换为你的串口/波特率)
upload_command = stcflash -p /dev/cu.usbserial-21120 -b 115200 $SOURCE
; 可选:关闭上传协议检查(避免警告)
upload_protocol = custom
测试代码点灯!
cpp
#include "Ai8051.h"
#define FOSC 40000000UL
void delay_ms(unsigned int ms)
{
unsigned int i;
do
{
i = FOSC / 10000;
while (--i);
} while (--ms);
}
/**
* @brief 主函数:P20和P21交替闪烁
*/
void main(void)
{
P0M1 = 0; P0M0 = 0xff;
P1M1 = 0; P1M0 = 0xff;
P2M1 = 0; P2M0 = 0xff;
P3M1 = 0; P3M0 = 0xff;
P4M1 = 0; P4M0 = 0xff;
P5M1 = 0; P5M0 = 0xff;
P6M1 = 0; P6M0 = 0xff;
P7M1 = 0; P7M0 = 0xff;
// P0=0XFF; P1=0XFF; P2=0XFF;
// P3=0XFF; P4=0XFF; P5=0XFF;
WTST = 0X00;
delay_ms(1000);
// 死循环实现持续闪烁
while(1)
{
P20 = 1; // P20引脚置高(假设接LED负极,高电平灭;若接正极则相反)
P21 = 0; // P21引脚置低(LED亮)
delay_ms(500); // 延时500毫秒
P20 = 0; // P20引脚置低(LED亮)
P21 = 1; // P21引脚置高(LED灭)
delay_ms(500); // 延时500毫秒
}
}
编译通过后下载卡住哪里 按一下开发版的 RST 按键!

也就是这里按一次复位键!

即可烧写成功!

Ai8051.h 自己通过stc-isp导入!
Ai8051.h(sdcc版本)
cpp
#ifndef __AI8051U_H__
#define __AI8051U_H__
/*
* 【核心用意】
* VS Code 的 IntelliSense(代码智能提示)、Coverity(代码静态分析工具)
* 本身不认识 8051 编译器(SDCC/Keil C51)的专有关键字(如 __sfr、__at、__xdata 等),
* 会误报"未定义标识符";
* 这段代码的作用是:仅在编辑器/静态分析工具解析代码时,为这些专有关键字提供"占位定义",
* 既不影响实际编译,又能让编辑器正常识别这些关键字,消除假报错。
*/
/*
* 条件编译开关:判断当前环境是否是"编辑器解析阶段"而非"实际编译阶段"
* __INTELLISENSE__:VS Code 内置的 IntelliSense 解析器会定义这个宏
* __COVERITY__:Coverity 静态分析工具会定义这个宏
* 只有在这两个工具解析代码时,才执行下面的宏定义
*/
#if defined(__INTELLISENSE__) || defined(__COVERITY__)
/* 1. 为 8051 硬件寄存器关键字提供兼容定义 */
/* __sfr:SDCC/Keil 中用于定义特殊功能寄存器(Special Function Register)的关键字 */
#ifndef __sfr
/* 编辑器解析时,将 __sfr 替换为 "volatile unsigned char":
* - volatile:告诉编译器该变量可能被硬件修改,不要优化
* - unsigned char:8051 寄存器都是 8 位,对应无符号字符型
* 这样编辑器能识别 __sfr 定义的变量是合法的 8 位寄存器 */
#define __sfr volatile unsigned char
#endif
/* __sbit:SDCC/Keil 中用于定义寄存器的某一位(Single Bit)的关键字 */
#ifndef __sbit
/* 编辑器解析时,简化为 unsigned char(实际编译时 Keil/SDCC 会有专用处理) */
#define __sbit volatile unsigned char
#endif
/* __at:SDCC/Keil 中用于指定变量/寄存器绝对地址的关键字(如 __at(0x93) 表示地址 0x93) */
#ifndef __at
/* 编辑器解析时,忽略 __at 关键字(仅保留语法,不处理地址逻辑),
* 因为编辑器不需要知道硬件地址,只需要识别语法合法即可 */
#define __at(x)
#endif
/* 2. 为 8051 存储类型关键字提供兼容定义(8051 有哈佛架构,内存分不同区域) */
/* __xdata:扩展外部数据存储器(外部RAM,最大64KB) */
#ifndef __xdata
#define __xdata // 编辑器解析时为空宏,仅占位,不影响语法检查
#endif
/* __idata:内部间接寻址数据存储器(内部RAM的高128字节) */
#ifndef __idata
#define __idata
#endif
/* __data:内部直接寻址数据存储器(内部RAM的低128字节,最快) */
#ifndef __data
#define __data
#endif
/* __code:程序存储器(ROM/Flash,存储代码或常量) */
#ifndef __code
#define __code
#endif
/* __bit:位寻址变量(8051 特有的位操作类型) */
#ifndef __bit
#define __bit unsigned char // 简化为 unsigned char,让编辑器识别
#endif
/* __near:近程寻址(对应内部RAM,短地址) */
#ifndef __near
#define __near
#endif
/* __far:远程寻址(对应外部RAM,长地址) */
#ifndef __far
#define __far
#endif
/* __banked:银行切换寻址(用于超过64KB的外部RAM,跨存储体访问) */
#ifndef __banked
#define __banked
#endif
#endif // 结束"编辑器/静态分析工具"的条件编译
/////////////////////////////////////////////////
__sfr __at(0x80) P0;
__sbit __at(0x80) P00;
__sbit __at(0x81) P01;
__sbit __at(0x82) P02;
__sbit __at(0x83) P03;
__sbit __at(0x84) P04;
__sbit __at(0x85) P05;
__sbit __at(0x86) P06;
__sbit __at(0x87) P07;
__sfr __at(0x81) SP;
__sfr __at(0x82) DPL;
__sfr __at(0x83) DPH;
__sfr __at(0x84) DPXL;
__sfr __at(0x85) SPH;
__sfr __at(0x87) PCON;
#define SMOD 0x80
#define SMOD0 0x40
#define LVDF 0x20
#define POF 0x10
#define GF1 0x08
#define GF0 0x04
#define PD 0x02
#define IDL 0x01
__sfr __at(0x88) TCON;
__sbit __at(0x8F) TF1;
__sbit __at(0x8E) TR1;
__sbit __at(0x8D) TF0;
__sbit __at(0x8C) TR0;
__sbit __at(0x8B) IE1;
__sbit __at(0x8A) IT1;
__sbit __at(0x89) IE0;
__sbit __at(0x88) IT0;
__sfr __at(0x89) TMOD;
#define T1_GATE 0x80
#define T1_CT 0x40
#define T1_M1 0x20
#define T1_M0 0x10
#define T0_GATE 0x08
#define T0_CT 0x04
#define T0_M1 0x02
#define T0_M0 0x01
__sfr __at(0x8A) TL0;
__sfr __at(0x8B) TL1;
__sfr __at(0x8C) TH0;
__sfr __at(0x8D) TH1;
__sfr __at(0x8E) AUXR;
#define T0x12 0x80
#define T1x12 0x40
#define S1M0x6 0x20
#define T2R 0x10
#define T2_CT 0x08
#define T2x12 0x04
#define EXTRAM 0x02
#define S1BRT 0x01
__sfr __at(0x8F) INTCLKO;
#define EX4 0x40
#define EX3 0x20
#define EX2 0x10
#define T2CLKO 0x04
#define T1CLKO 0x02
#define T0CLKO 0x01
__sfr __at(0x90) P1;
__sbit __at(0x90) P10;
__sbit __at(0x91) P11;
__sbit __at(0x92) P12;
__sbit __at(0x93) P13;
__sbit __at(0x94) P14;
__sbit __at(0x95) P15;
__sbit __at(0x96) P16;
__sbit __at(0x97) P17;
__sfr __at(0x91) P1M1;
__sfr __at(0x92) P1M0;
__sfr __at(0x93) P0M1;
__sfr __at(0x94) P0M0;
__sfr __at(0x95) P2M1;
__sfr __at(0x96) P2M0;
__sfr __at(0x97) AUXR2;
#define RAMTINY 0x80
#define CPUMODE 0x40
#define RAMEXE 0x20
#define CANFD 0x10
#define CANSEL 0x08
#define CAN2EN 0x04
#define CANEN 0x02
#define LINEN 0x01
__sfr __at(0x98) SCON;
__sbit __at(0x9F) SM0;
__sbit __at(0x9E) SM1;
__sbit __at(0x9D) SM2;
__sbit __at(0x9C) REN;
__sbit __at(0x9B) TB8;
__sbit __at(0x9A) RB8;
__sbit __at(0x99) TI;
__sbit __at(0x98) RI;
__sfr __at(0x99) SBUF;
__sfr __at(0x9A) S2CON;
#define S2SM0 0x80
#define S2SM1 0x40
#define S2SM2 0x20
#define S2REN 0x10
#define S2TB8 0x08
#define S2RB8 0x04
#define S2TI 0x02
#define S2RI 0x01
__sfr __at(0x9B) S2BUF;
__sfr __at(0x9D) IRCBAND;
#define USBCKS 0x80
#define USBCKS2 0x40
#define HIRCSEL1 0x02
#define HIRCSEL0 0x01
__sfr __at(0x9E) LIRTRIM;
__sfr __at(0x9F) IRTRIM;
__sfr __at(0xA0) P2;
__sbit __at(0xA0) P20;
__sbit __at(0xA1) P21;
__sbit __at(0xA2) P22;
__sbit __at(0xA3) P23;
__sbit __at(0xA4) P24;
__sbit __at(0xA5) P25;
__sbit __at(0xA6) P26;
__sbit __at(0xA7) P27;
__sfr __at(0xA1) BUS_SPEED;
__sfr __at(0xA2) P_SW1;
#define S1_S1 0x80
#define S1_S0 0x40
#define CAN_S1 0x20
#define CAN_S0 0x10
#define SPI_S1 0x08
#define SPI_S0 0x04
#define LIN_S1 0x02
#define LIN_S0 0x01
__sfr __at(0xA6) VRTRIM;
__sfr __at(0xA8) IE;
__sbit __at(0xAF) EA;
__sbit __at(0xAE) ELVD;
__sbit __at(0xAD) EADC;
__sbit __at(0xAC) ES;
__sbit __at(0xAB) ET1;
__sbit __at(0xAA) EX1;
__sbit __at(0xA9) ET0;
__sbit __at(0xA8) EX0;
__sfr __at(0xA9) SADDR;
__sfr __at(0xAA) WKTCL;
__sfr __at(0xAB) WKTCH;
__sfr __at(0xAC) S3CON;
#define S3SM0 0x80
#define S3ST3 0x40
#define S3SM2 0x20
#define S3REN 0x10
#define S3TB8 0x08
#define S3RB8 0x04
#define S3TI 0x02
#define S3RI 0x01
__sfr __at(0xAD) S3BUF;
__sfr __at(0xAE) TA;
__sfr __at(0xAF) IE2;
#define EUSB 0x80
#define ET4 0x40
#define ET3 0x20
#define ES4 0x10
#define ES3 0x08
#define ET2 0x04
#define ESPI 0x02
#define ES2 0x01
__sfr __at(0xB0) P3;
__sbit __at(0xB0) P30;
__sbit __at(0xB1) P31;
__sbit __at(0xB2) P32;
__sbit __at(0xB3) P33;
__sbit __at(0xB4) P34;
__sbit __at(0xB5) P35;
__sbit __at(0xB6) P36;
__sbit __at(0xB7) P37;
__sbit __at(0xB7) RD;
__sbit __at(0xB6) WR;
__sbit __at(0xB5) T1;
__sbit __at(0xB4) T0;
__sbit __at(0xB3) INT1;
__sbit __at(0xB2) INT0;
__sbit __at(0xB1) TXD;
__sbit __at(0xB0) RXD;
__sfr __at(0xB1) P3M1;
__sfr __at(0xB2) P3M0;
__sfr __at(0xB3) P4M1;
__sfr __at(0xB4) P4M0;
__sfr __at(0xB5) IP2;
#define PUSB 0x80
#define PI2C 0x40
#define PCMP 0x20
#define PX4 0x10
#define PPWMB 0x08
#define PPWMA 0x04
#define PSPI 0x02
#define PS2 0x01
__sfr __at(0xB6) IP2H;
#define PUSBH 0x80
#define PI2CH 0x40
#define PCMPH 0x20
#define PX4H 0x10
#define PPWMBH 0x08
#define PPWMAH 0x04
#define PSPIH 0x02
#define PS2H 0x01
__sfr __at(0xB7) IPH;
#define PPCAH 0x80
#define PLVDH 0x40
#define PADCH 0x20
#define PSH 0x10
#define PT1H 0x08
#define PX1H 0x04
#define PT0H 0x02
#define PX0H 0x01
__sfr __at(0xB8) IP;
__sbit __at(0xBF) PPCA;
__sbit __at(0xBE) PLVD;
__sbit __at(0xBD) PADC;
__sbit __at(0xBC) PS;
__sbit __at(0xBB) PT1;
__sbit __at(0xBA) PX1;
__sbit __at(0xB9) PT0;
__sbit __at(0xB8) PX0;
__sfr __at(0xB9) SADEN;
__sfr __at(0xBA) P_SW2;
#define EAXFR 0x80
#define I2C_S1 0x20
#define I2C_S0 0x10
#define CMPO_S 0x08
#define S4_S 0x04
#define S3_S 0x02
#define S2_S 0x01
__sfr __at(0xBB) P_SW3;
#define I2S_S1 0x80
#define I2S_S0 0x40
#define S2SPI_S1 0x20
#define S2SPI_S0 0x10
#define S1SPI_S1 0x08
#define S1SPI_S0 0x04
#define CAN2_S1 0x02
#define CAN2_S0 0x01
__sfr __at(0xBC) ADC_CONTR;
#define ADC_POWER 0x80
#define ADC_START 0x40
#define ADC_FLAG 0x20
#define ADC_EPWMT 0x10
__sfr __at(0xBD) ADC_RES;
__sfr __at(0xBE) ADC_RESL;
__sfr __at(0xBF) P_SW4;
#define QSPI_S1 0x02
#define QSPI_S0 0x01
__sfr __at(0xC0) P4;
__sbit __at(0xC0) P40;
__sbit __at(0xC1) P41;
__sbit __at(0xC2) P42;
__sbit __at(0xC3) P43;
__sbit __at(0xC4) P44;
__sbit __at(0xC5) P45;
__sbit __at(0xC6) P46;
__sbit __at(0xC7) P47;
__sfr __at(0xC1) WDT_CONTR;
#define WDT_FLAG 0x80
#define EN_WDT 0x20
#define CLR_WDT 0x10
#define IDL_WDT 0x08
__sfr __at(0xC2) IAP_DATA;
__sfr __at(0xC3) IAP_ADDRH;
__sfr __at(0xC4) IAP_ADDRL;
__sfr __at(0xC5) IAP_CMD;
__sfr __at(0xC6) IAP_TRIG;
__sfr __at(0xC7) IAP_CONTR;
#define IAPEN 0x80
#define SWBS 0x40
#define SWRST 0x20
#define CMD_FAIL 0x10
#define SWBS2 0x08
__sfr __at(0xC8) P5;
__sbit __at(0xC8) P50;
__sbit __at(0xC9) P51;
__sbit __at(0xCA) P52;
__sbit __at(0xCB) P53;
__sbit __at(0xCC) P54;
__sbit __at(0xCD) P55;
__sbit __at(0xCE) P56;
__sbit __at(0xCF) P57;
__sfr __at(0xC9) P5M1;
__sfr __at(0xCA) P5M0;
__sfr __at(0xCB) P6M1;
__sfr __at(0xCC) P6M0;
__sfr __at(0xCD) SPSTAT;
#define SPIF 0x80
#define WCOL 0x40
__sfr __at(0xCE) SPCTL;
#define SSIG 0x80
#define SPEN 0x40
#define DORD 0x20
#define MSTR 0x10
#define CPOL 0x08
#define CPHA 0x04
#define SPR1 0x02
#define SPR0 0x01
__sfr __at(0xCF) SPDAT;
__sfr __at(0xD0) PSW;
__sbit __at(0xD7) CY;
__sbit __at(0xD6) AC;
__sbit __at(0xD5) F0;
__sbit __at(0xD4) RS1;
__sbit __at(0xD3) RS0;
__sbit __at(0xD2) OV;
__sbit __at(0xD1) F1;
__sbit __at(0xD0) P;
__sfr __at(0xD1) PSW1;
#define N 0x20
#define Z 0x02
__sfr __at(0xD2) TH4;
__sfr __at(0xD3) TL4;
__sfr __at(0xD4) TH3;
__sfr __at(0xD5) TL3;
__sfr __at(0xD6) TH2;
__sfr __at(0xD7) TL2;
__sfr __at(0xD2) T4H;
__sfr __at(0xD3) T4L;
__sfr __at(0xD4) T3H;
__sfr __at(0xD5) T3L;
__sfr __at(0xD6) T2H;
__sfr __at(0xD7) T2L;
__sfr __at(0xDC) USBCLK;
__sfr __at(0xDD) T3T4M;
__sfr __at(0xDD) T4T3M;
#define T4R 0x80
#define T4_CT 0x40
#define T4x12 0x20
#define T4CLKO 0x10
#define T3R 0x08
#define T3_CT 0x04
#define T3x12 0x02
#define T3CLKO 0x01
__sfr __at(0xDE) ADCCFG;
#define RESFMT 0x20
__sfr __at(0xDF) IP3;
#define PI2S 0x08
#define PRTC 0x04
#define PS4 0x02
#define PS3 0x01
__sfr __at(0xE0) ACC;
__sfr __at(0xE1) P7M1;
__sfr __at(0xE2) P7M0;
__sfr __at(0xE3) DPS;
__sfr __at(0xE6) CMPCR1;
#define CMPEN 0x80
#define CMPIF 0x40
#define PIE 0x20
#define NIE 0x10
#define CMPOE 0x02
#define CMPRES 0x01
__sfr __at(0xE7) CMPCR2;
#define INVCMPO 0x80
#define DISFLT 0x40
__sfr __at(0xE8) P6;
__sbit __at(0xE8) P60;
__sbit __at(0xE9) P61;
__sbit __at(0xEA) P62;
__sbit __at(0xEB) P63;
__sbit __at(0xEC) P64;
__sbit __at(0xED) P65;
__sbit __at(0xEE) P66;
__sbit __at(0xEF) P67;
__sfr __at(0xE9) WTST;
__sfr __at(0xEA) CKCON;
__sfr __at(0xEB) MXAX;
__sfr __at(0xEC) USBDAT;
__sfr __at(0xED) DMAIR;
__sfr __at(0xEE) IP3H;
#define PI2SH 0x08
#define PRTCH 0x04
#define PS4H 0x02
#define PS3H 0x01
__sfr __at(0xEF) AUXINTIF;
#define INT4IF 0x40
#define INT3IF 0x20
#define INT2IF 0x10
#define T4IF 0x04
#define T3IF 0x02
#define T2IF 0x01
__sfr __at(0xF0) B;
__sfr __at(0xF4) USBCON;
#define ENUSB 0x80
#define ENUSBRST 0x40
#define PS2M 0x20
#define PUEN 0x10
#define PDEN 0x08
#define DFREC 0x04
#define DP 0x02
#define DM 0x01
__sfr __at(0xF5) IAP_TPS;
__sfr __at(0xF6) IAP_ADDRE;
__sfr __at(0xF8) P7;
__sbit __at(0xF8) P70;
__sbit __at(0xF9) P71;
__sbit __at(0xFA) P72;
__sbit __at(0xFB) P73;
__sbit __at(0xFC) P74;
__sbit __at(0xFD) P75;
__sbit __at(0xFE) P76;
__sbit __at(0xFF) P77;
__sfr __at(0xFC) USBADR;
__sfr __at(0xFD) S4CON;
#define S4SM0 0x80
#define S4ST4 0x40
#define S4SM2 0x20
#define S4REN 0x10
#define S4TB8 0x08
#define S4RB8 0x04
#define S4TI 0x02
#define S4RI 0x01
__sfr __at(0xFE) S4BUF;
__sfr __at(0xFF) RSTCFG;
#define ENLVR 0x40
#define P47RST 0x10
/////////////////////////////////////////////////
//
//如下特殊功能寄存器位于扩展RAM区域
//访问这些寄存器,需先将EAXFR设置为1,才可正常读写
// EAXFR = 1;
//或者
// P_SW2 |= 0x80;
///////////////////////////////////////////////////
/////////////////////////////////////////////////
//7E:FF00H-7E:FFFFH
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//7E:FE00H-7E:FEFFH
/////////////////////////////////////////////////
__xdata volatile unsigned char __at(0xFE00) CLKSEL;
__xdata volatile unsigned char __at(0xFE01) CLKDIV;
__xdata volatile unsigned char __at(0xFE02) HIRCCR;
__xdata volatile unsigned char __at(0xFE03) XOSCCR;
__xdata volatile unsigned char __at(0xFE04) IRC32KCR;
__xdata volatile unsigned char __at(0xFE05) MCLKOCR;
__xdata volatile unsigned char __at(0xFE06) IRCDB;
__xdata volatile unsigned char __at(0xFE07) IRC48MCR;
__xdata volatile unsigned char __at(0xFE08) X32KCR;
__xdata volatile unsigned char __at(0xFE0B) HSCLKDIV;
__xdata volatile unsigned char __at(0xFE10) P0PU;
__xdata volatile unsigned char __at(0xFE11) P1PU;
__xdata volatile unsigned char __at(0xFE12) P2PU;
__xdata volatile unsigned char __at(0xFE13) P3PU;
__xdata volatile unsigned char __at(0xFE14) P4PU;
__xdata volatile unsigned char __at(0xFE15) P5PU;
__xdata volatile unsigned char __at(0xFE16) P6PU;
__xdata volatile unsigned char __at(0xFE17) P7PU;
__xdata volatile unsigned char __at(0xFE18) P0NCS;
__xdata volatile unsigned char __at(0xFE19) P1NCS;
__xdata volatile unsigned char __at(0xFE1A) P2NCS;
__xdata volatile unsigned char __at(0xFE1B) P3NCS;
__xdata volatile unsigned char __at(0xFE1C) P4NCS;
__xdata volatile unsigned char __at(0xFE1D) P5NCS;
__xdata volatile unsigned char __at(0xFE1E) P6NCS;
__xdata volatile unsigned char __at(0xFE1F) P7NCS;
__xdata volatile unsigned char __at(0xFE20) P0SR;
__xdata volatile unsigned char __at(0xFE21) P1SR;
__xdata volatile unsigned char __at(0xFE22) P2SR;
__xdata volatile unsigned char __at(0xFE23) P3SR;
__xdata volatile unsigned char __at(0xFE24) P4SR;
__xdata volatile unsigned char __at(0xFE25) P5SR;
__xdata volatile unsigned char __at(0xFE26) P6SR;
__xdata volatile unsigned char __at(0xFE27) P7SR;
__xdata volatile unsigned char __at(0xFE28) P0DR;
__xdata volatile unsigned char __at(0xFE29) P1DR;
__xdata volatile unsigned char __at(0xFE2A) P2DR;
__xdata volatile unsigned char __at(0xFE2B) P3DR;
__xdata volatile unsigned char __at(0xFE2C) P4DR;
__xdata volatile unsigned char __at(0xFE2D) P5DR;
__xdata volatile unsigned char __at(0xFE2E) P6DR;
__xdata volatile unsigned char __at(0xFE2F) P7DR;
__xdata volatile unsigned char __at(0xFE30) P0IE;
__xdata volatile unsigned char __at(0xFE31) P1IE;
__xdata volatile unsigned char __at(0xFE32) P2IE;
__xdata volatile unsigned char __at(0xFE33) P3IE;
__xdata volatile unsigned char __at(0xFE34) P4IE;
__xdata volatile unsigned char __at(0xFE35) P5IE;
__xdata volatile unsigned char __at(0xFE36) P6IE;
__xdata volatile unsigned char __at(0xFE37) P7IE;
__xdata volatile unsigned char __at(0xFE40) P0PD;
__xdata volatile unsigned char __at(0xFE41) P1PD;
__xdata volatile unsigned char __at(0xFE42) P2PD;
__xdata volatile unsigned char __at(0xFE43) P3PD;
__xdata volatile unsigned char __at(0xFE44) P4PD;
__xdata volatile unsigned char __at(0xFE45) P5PD;
__xdata volatile unsigned char __at(0xFE46) P6PD;
__xdata volatile unsigned char __at(0xFE47) P7PD;
__xdata volatile unsigned char __at(0xFE48) P0BP;
__xdata volatile unsigned char __at(0xFE49) P1BP;
__xdata volatile unsigned char __at(0xFE4A) P2BP;
__xdata volatile unsigned char __at(0xFE4B) P3BP;
__xdata volatile unsigned char __at(0xFE4C) P4BP;
__xdata volatile unsigned char __at(0xFE4D) P5BP;
__xdata volatile unsigned char __at(0xFE4E) P6BP;
__xdata volatile unsigned char __at(0xFE4F) P7BP;
__xdata volatile unsigned char __at(0xFE50) LCMIFCFG;
__xdata volatile unsigned char __at(0xFE51) LCMIFCFG2;
__xdata volatile unsigned char __at(0xFE52) LCMIFCR;
__xdata volatile unsigned char __at(0xFE53) LCMIFSTA;
__xdata volatile unsigned char __at(0xFE54) LCMIFDATL;
__xdata volatile unsigned char __at(0xFE55) LCMIFDATH;
__xdata volatile unsigned char __at(0xFE56) LCMIFPSCR;
__xdata volatile unsigned char __at(0xFE60) RTCCR;
__xdata volatile unsigned char __at(0xFE61) RTCCFG;
__xdata volatile unsigned char __at(0xFE62) RTCIEN;
__xdata volatile unsigned char __at(0xFE63) RTCIF;
__xdata volatile unsigned char __at(0xFE64) ALAHOUR;
__xdata volatile unsigned char __at(0xFE65) ALAMIN;
__xdata volatile unsigned char __at(0xFE66) ALASEC;
__xdata volatile unsigned char __at(0xFE67) ALASSEC;
__xdata volatile unsigned char __at(0xFE68) INIYEAR;
__xdata volatile unsigned char __at(0xFE69) INIMONTH;
__xdata volatile unsigned char __at(0xFE6A) INIDAY;
__xdata volatile unsigned char __at(0xFE6B) INIHOUR;
__xdata volatile unsigned char __at(0xFE6C) INIMIN;
__xdata volatile unsigned char __at(0xFE6D) INISEC;
__xdata volatile unsigned char __at(0xFE6E) INISSEC;
__xdata volatile unsigned char __at(0xFE6F) INIWEEK;
__xdata volatile unsigned char __at(0xFE6F) RTCWEEK;
__xdata volatile unsigned char __at(0xFE70) RTCYEAR;
__xdata volatile unsigned char __at(0xFE71) RTCMONTH;
__xdata volatile unsigned char __at(0xFE72) RTCDAY;
__xdata volatile unsigned char __at(0xFE73) RTCHOUR;
__xdata volatile unsigned char __at(0xFE74) RTCMIN;
__xdata volatile unsigned char __at(0xFE75) RTCSEC;
__xdata volatile unsigned char __at(0xFE76) RTCSSEC;
__xdata volatile unsigned char __at(0xFE78) T11CR;
__xdata volatile unsigned char __at(0xFE79) T11PS;
__xdata volatile unsigned char __at(0xFE7A) T11H;
__xdata volatile unsigned char __at(0xFE7B) T11L;
__xdata volatile unsigned char __at(0xFE80) I2CCFG;
__xdata volatile unsigned char __at(0xFE81) I2CMSCR;
__xdata volatile unsigned char __at(0xFE82) I2CMSST;
__xdata volatile unsigned char __at(0xFE83) I2CSLCR;
__xdata volatile unsigned char __at(0xFE84) I2CSLST;
__xdata volatile unsigned char __at(0xFE85) I2CSLADR;
__xdata volatile unsigned char __at(0xFE86) I2CTXD;
__xdata volatile unsigned char __at(0xFE87) I2CRXD;
__xdata volatile unsigned char __at(0xFE88) I2CMSAUX;
__xdata volatile unsigned char __at(0xFE89) I2CPSCR;
__xdata volatile unsigned char __at(0xFE90) SPI_CLKDIV;
__xdata volatile unsigned char __at(0xFE91) PWMA_CLKDIV;
__xdata volatile unsigned char __at(0xFE92) PWMB_CLKDIV;
__xdata volatile unsigned char __at(0xFE93) TFPU_CLKDIV;
__xdata volatile unsigned char __at(0xFE94) I2S_CLKDIV;
__xdata volatile unsigned char __at(0xFE99) RSTFLAG;
__xdata volatile unsigned char __at(0xFE9A) RSTCR0;
__xdata volatile unsigned char __at(0xFE9B) RSTCR1;
__xdata volatile unsigned char __at(0xFE9C) RSTCR2;
__xdata volatile unsigned char __at(0xFE9D) RSTCR3;
__xdata volatile unsigned char __at(0xFE9E) RSTCR4;
__xdata volatile unsigned char __at(0xFE9F) RSTCR5;
__xdata volatile unsigned char __at(0xFEA0) TM0PS;
__xdata volatile unsigned char __at(0xFEA1) TM1PS;
__xdata volatile unsigned char __at(0xFEA2) TM2PS;
__xdata volatile unsigned char __at(0xFEA3) TM3PS;
__xdata volatile unsigned char __at(0xFEA4) TM4PS;
__xdata volatile unsigned char __at(0xFEA8) ADCTIM;
__xdata volatile unsigned char __at(0xFEAD) ADCEXCFG;
__xdata volatile unsigned char __at(0xFEAE) CMPEXCFG;
__xdata volatile unsigned char __at(0xFEB0) PWMA_ETRPS;
__xdata volatile unsigned char __at(0xFEB1) PWMA_ENO;
__xdata volatile unsigned char __at(0xFEB2) PWMA_PS;
__xdata volatile unsigned char __at(0xFEB3) PWMA_IOAUX;
__xdata volatile unsigned char __at(0xFEB4) PWMB_ETRPS;
__xdata volatile unsigned char __at(0xFEB5) PWMB_ENO;
__xdata volatile unsigned char __at(0xFEB6) PWMB_PS;
__xdata volatile unsigned char __at(0xFEB7) PWMB_IOAUX;
__xdata volatile unsigned char __at(0xFEB8) PWMA_PS2;
__xdata volatile unsigned char __at(0xFEB9) PWMA_RCRH;
__xdata volatile unsigned char __at(0xFEBA) PWMB_RCRH;
__xdata volatile unsigned char __at(0xFEC0) PWMA_CR1;
__xdata volatile unsigned char __at(0xFEC1) PWMA_CR2;
__xdata volatile unsigned char __at(0xFEC2) PWMA_SMCR;
__xdata volatile unsigned char __at(0xFEC3) PWMA_ETR;
__xdata volatile unsigned char __at(0xFEC4) PWMA_IER;
__xdata volatile unsigned char __at(0xFEC5) PWMA_SR1;
__xdata volatile unsigned char __at(0xFEC6) PWMA_SR2;
__xdata volatile unsigned char __at(0xFEC7) PWMA_EGR;
__xdata volatile unsigned char __at(0xFEC8) PWMA_CCMR1;
__xdata volatile unsigned char __at(0xFEC9) PWMA_CCMR2;
__xdata volatile unsigned char __at(0xFECA) PWMA_CCMR3;
__xdata volatile unsigned char __at(0xFECB) PWMA_CCMR4;
__xdata volatile unsigned char __at(0xFECC) PWMA_CCER1;
__xdata volatile unsigned char __at(0xFECD) PWMA_CCER2;
__xdata volatile unsigned char __at(0xFECE) PWMA_CNTRH;
__xdata volatile unsigned char __at(0xFECF) PWMA_CNTRL;
__xdata volatile unsigned char __at(0xFED0) PWMA_PSCRH;
__xdata volatile unsigned char __at(0xFED1) PWMA_PSCRL;
__xdata volatile unsigned char __at(0xFED2) PWMA_ARRH;
__xdata volatile unsigned char __at(0xFED3) PWMA_ARRL;
__xdata volatile unsigned char __at(0xFED4) PWMA_RCR;
__xdata volatile unsigned char __at(0xFED5) PWMA_CCR1H;
__xdata volatile unsigned char __at(0xFED6) PWMA_CCR1L;
__xdata volatile unsigned char __at(0xFED7) PWMA_CCR2H;
__xdata volatile unsigned char __at(0xFED8) PWMA_CCR2L;
__xdata volatile unsigned char __at(0xFED9) PWMA_CCR3H;
__xdata volatile unsigned char __at(0xFEDA) PWMA_CCR3L;
__xdata volatile unsigned char __at(0xFEDB) PWMA_CCR4H;
__xdata volatile unsigned char __at(0xFEDC) PWMA_CCR4L;
__xdata volatile unsigned char __at(0xFEDD) PWMA_BKR;
__xdata volatile unsigned char __at(0xFEDE) PWMA_DTR;
__xdata volatile unsigned char __at(0xFEDF) PWMA_OISR;
__xdata volatile unsigned char __at(0xFEE0) PWMB_CR1;
__xdata volatile unsigned char __at(0xFEE1) PWMB_CR2;
__xdata volatile unsigned char __at(0xFEE2) PWMB_SMCR;
__xdata volatile unsigned char __at(0xFEE3) PWMB_ETR;
__xdata volatile unsigned char __at(0xFEE4) PWMB_IER;
__xdata volatile unsigned char __at(0xFEE5) PWMB_SR1;
__xdata volatile unsigned char __at(0xFEE6) PWMB_SR2;
__xdata volatile unsigned char __at(0xFEE7) PWMB_EGR;
__xdata volatile unsigned char __at(0xFEE8) PWMB_CCMR1;
__xdata volatile unsigned char __at(0xFEE9) PWMB_CCMR2;
__xdata volatile unsigned char __at(0xFEEA) PWMB_CCMR3;
__xdata volatile unsigned char __at(0xFEEB) PWMB_CCMR4;
__xdata volatile unsigned char __at(0xFEEC) PWMB_CCER1;
__xdata volatile unsigned char __at(0xFEED) PWMB_CCER2;
__xdata volatile unsigned char __at(0xFEEE) PWMB_CNTRH;
__xdata volatile unsigned char __at(0xFEEF) PWMB_CNTRL;
__xdata volatile unsigned char __at(0xFEF0) PWMB_PSCRH;
__xdata volatile unsigned char __at(0xFEF1) PWMB_PSCRL;
__xdata volatile unsigned char __at(0xFEF2) PWMB_ARRH;
__xdata volatile unsigned char __at(0xFEF3) PWMB_ARRL;
__xdata volatile unsigned char __at(0xFEF4) PWMB_RCR;
__xdata volatile unsigned char __at(0xFEF5) PWMB_CCR5H;
__xdata volatile unsigned char __at(0xFEF6) PWMB_CCR5L;
__xdata volatile unsigned char __at(0xFEF7) PWMB_CCR6H;
__xdata volatile unsigned char __at(0xFEF8) PWMB_CCR6L;
__xdata volatile unsigned char __at(0xFEF9) PWMB_CCR7H;
__xdata volatile unsigned char __at(0xFEFA) PWMB_CCR7L;
__xdata volatile unsigned char __at(0xFEFB) PWMB_CCR8H;
__xdata volatile unsigned char __at(0xFEFC) PWMB_CCR8L;
__xdata volatile unsigned char __at(0xFEFD) PWMB_BKR;
__xdata volatile unsigned char __at(0xFEFE) PWMB_DTR;
__xdata volatile unsigned char __at(0xFEFF) PWMB_OISR;
/////////////////////////////////////////////////
//7E:FD00H-7E:FDFFH
/////////////////////////////////////////////////
__xdata volatile unsigned char __at(0xFD00) P0INTE;
__xdata volatile unsigned char __at(0xFD01) P1INTE;
__xdata volatile unsigned char __at(0xFD02) P2INTE;
__xdata volatile unsigned char __at(0xFD03) P3INTE;
__xdata volatile unsigned char __at(0xFD04) P4INTE;
__xdata volatile unsigned char __at(0xFD05) P5INTE;
__xdata volatile unsigned char __at(0xFD06) P6INTE;
__xdata volatile unsigned char __at(0xFD07) P7INTE;
__xdata volatile unsigned char __at(0xFD10) P0INTF;
__xdata volatile unsigned char __at(0xFD11) P1INTF;
__xdata volatile unsigned char __at(0xFD12) P2INTF;
__xdata volatile unsigned char __at(0xFD13) P3INTF;
__xdata volatile unsigned char __at(0xFD14) P4INTF;
__xdata volatile unsigned char __at(0xFD15) P5INTF;
__xdata volatile unsigned char __at(0xFD16) P6INTF;
__xdata volatile unsigned char __at(0xFD17) P7INTF;
__xdata volatile unsigned char __at(0xFD20) P0IM0;
__xdata volatile unsigned char __at(0xFD21) P1IM0;
__xdata volatile unsigned char __at(0xFD22) P2IM0;
__xdata volatile unsigned char __at(0xFD23) P3IM0;
__xdata volatile unsigned char __at(0xFD24) P4IM0;
__xdata volatile unsigned char __at(0xFD25) P5IM0;
__xdata volatile unsigned char __at(0xFD26) P6IM0;
__xdata volatile unsigned char __at(0xFD27) P7IM0;
__xdata volatile unsigned char __at(0xFD30) P0IM1;
__xdata volatile unsigned char __at(0xFD31) P1IM1;
__xdata volatile unsigned char __at(0xFD32) P2IM1;
__xdata volatile unsigned char __at(0xFD33) P3IM1;
__xdata volatile unsigned char __at(0xFD34) P4IM1;
__xdata volatile unsigned char __at(0xFD35) P5IM1;
__xdata volatile unsigned char __at(0xFD36) P6IM1;
__xdata volatile unsigned char __at(0xFD37) P7IM1;
__xdata volatile unsigned char __at(0xFD40) P0WKUE;
__xdata volatile unsigned char __at(0xFD41) P1WKUE;
__xdata volatile unsigned char __at(0xFD42) P2WKUE;
__xdata volatile unsigned char __at(0xFD43) P3WKUE;
__xdata volatile unsigned char __at(0xFD44) P4WKUE;
__xdata volatile unsigned char __at(0xFD45) P5WKUE;
__xdata volatile unsigned char __at(0xFD46) P6WKUE;
__xdata volatile unsigned char __at(0xFD47) P7WKUE;
__xdata volatile unsigned char __at(0xFD50) CCAPM2;
__xdata volatile unsigned char __at(0xFD51) CCAP2L;
__xdata volatile unsigned char __at(0xFD52) CCAP2H;
__xdata volatile unsigned char __at(0xFD53) PCA_PWM2;
__xdata volatile unsigned char __at(0xFD54) CCAPM3;
__xdata volatile unsigned char __at(0xFD55) CCAP3L;
__xdata volatile unsigned char __at(0xFD56) CCAP3H;
__xdata volatile unsigned char __at(0xFD57) PCA_PWM3;
__xdata volatile unsigned char __at(0xFD58) CCAPM0;
__xdata volatile unsigned char __at(0xFD59) CCAP0L;
__xdata volatile unsigned char __at(0xFD5A) CCAP0H;
__xdata volatile unsigned char __at(0xFD5B) PCA_PWM0;
__xdata volatile unsigned char __at(0xFD5C) CCAPM1;
__xdata volatile unsigned char __at(0xFD5D) CCAP1L;
__xdata volatile unsigned char __at(0xFD5E) CCAP1H;
__xdata volatile unsigned char __at(0xFD5F) PCA_PWM1;
__xdata volatile unsigned char __at(0xFD60) PINIPL;
__xdata volatile unsigned char __at(0xFD61) PINIPH;
__xdata volatile unsigned char __at(0xFD64) CCON;
#define CF 0x80
#define CR 0x40
#define CCF2 0x04
#define CCF1 0x02
#define CCF0 0x01
__xdata volatile unsigned char __at(0xFD65) CL;
__xdata volatile unsigned char __at(0xFD66) CH;
__xdata volatile unsigned char __at(0xFD67) CMOD;
#define CIDL 0x80
#define ECF 0x01
__xdata volatile unsigned char __at(0xFD70) UR1TOCR;
__xdata volatile unsigned char __at(0xFD71) UR1TOSR;
__xdata volatile unsigned char __at(0xFD72) UR1TOTH;
__xdata volatile unsigned char __at(0xFD73) UR1TOTL;
__xdata volatile unsigned char __at(0xFD74) UR2TOCR;
__xdata volatile unsigned char __at(0xFD75) UR2TOSR;
__xdata volatile unsigned char __at(0xFD76) UR2TOTH;
__xdata volatile unsigned char __at(0xFD77) UR2TOTL;
__xdata volatile unsigned char __at(0xFD78) UR3TOCR;
__xdata volatile unsigned char __at(0xFD79) UR3TOSR;
__xdata volatile unsigned char __at(0xFD7A) UR3TOTH;
__xdata volatile unsigned char __at(0xFD7B) UR3TOTL;
__xdata volatile unsigned char __at(0xFD7C) UR4TOCR;
__xdata volatile unsigned char __at(0xFD7D) UR4TOSR;
__xdata volatile unsigned char __at(0xFD7E) UR4TOTH;
__xdata volatile unsigned char __at(0xFD7F) UR4TOTL;
__xdata volatile unsigned char __at(0xFD80) SPITOCR;
__xdata volatile unsigned char __at(0xFD81) SPITOSR;
__xdata volatile unsigned char __at(0xFD82) SPITOTH;
__xdata volatile unsigned char __at(0xFD83) SPITOTL;
__xdata volatile unsigned char __at(0xFD84) I2CTOCR;
__xdata volatile unsigned char __at(0xFD85) I2CTOSR;
__xdata volatile unsigned char __at(0xFD86) I2CTOTH;
__xdata volatile unsigned char __at(0xFD87) I2CTOTL;
__xdata volatile unsigned char __at(0xFD88) UR1TOTE;
__xdata volatile unsigned char __at(0xFD89) UR2TOTE;
__xdata volatile unsigned char __at(0xFD8A) UR3TOTE;
__xdata volatile unsigned char __at(0xFD8B) UR4TOTE;
__xdata volatile unsigned char __at(0xFD8C) SPITOTE;
__xdata volatile unsigned char __at(0xFD8D) I2CTOTE;
__xdata volatile unsigned char __at(0xFD98) I2SCR;
__xdata volatile unsigned char __at(0xFD99) I2SSR;
__xdata volatile unsigned char __at(0xFD9A) I2SDRH;
__xdata volatile unsigned char __at(0xFD9B) I2SDRL;
__xdata volatile unsigned char __at(0xFD9C) I2SPRH;
__xdata volatile unsigned char __at(0xFD9D) I2SPRL;
__xdata volatile unsigned char __at(0xFD9E) I2SCFGH;
__xdata volatile unsigned char __at(0xFD9F) I2SCFGL;
__xdata volatile unsigned char __at(0xFDA0) I2SMD;
__xdata volatile unsigned char __at(0xFDA1) I2SMCKDIV;
__xdata volatile unsigned char __at(0xFDA8) CRECR;
__xdata volatile unsigned char __at(0xFDA9) CRECNTH;
__xdata volatile unsigned char __at(0xFDAA) CRECNTL;
__xdata volatile unsigned char __at(0xFDAB) CRERES;
__xdata volatile unsigned char __at(0xFDB4) S2CFG;
__xdata volatile unsigned char __at(0xFDB5) S2ADDR;
__xdata volatile unsigned char __at(0xFDB6) S2ADEN;
__xdata volatile unsigned char __at(0xFDC0) USARTCR1;
__xdata volatile unsigned char __at(0xFDC1) USARTCR2;
__xdata volatile unsigned char __at(0xFDC2) USARTCR3;
__xdata volatile unsigned char __at(0xFDC3) USARTCR4;
__xdata volatile unsigned char __at(0xFDC4) USARTCR5;
__xdata volatile unsigned char __at(0xFDC5) USARTGTR;
__xdata volatile unsigned char __at(0xFDC6) USARTBRH;
__xdata volatile unsigned char __at(0xFDC7) USARTBRL;
__xdata volatile unsigned char __at(0xFDC8) USART2CR1;
__xdata volatile unsigned char __at(0xFDC9) USART2CR2;
__xdata volatile unsigned char __at(0xFDCA) USART2CR3;
__xdata volatile unsigned char __at(0xFDCB) USART2CR4;
__xdata volatile unsigned char __at(0xFDCC) USART2CR5;
__xdata volatile unsigned char __at(0xFDCD) USART2GTR;
__xdata volatile unsigned char __at(0xFDCE) USART2BRH;
__xdata volatile unsigned char __at(0xFDCF) USART2BRL;
#define CHIPID ( (unsigned char volatile xdata *)0xfde0)
__xdata volatile unsigned char __at(0xFDE0) CHIPID0;
__xdata volatile unsigned char __at(0xFDE1) CHIPID1;
__xdata volatile unsigned char __at(0xFDE2) CHIPID2;
__xdata volatile unsigned char __at(0xFDE3) CHIPID3;
__xdata volatile unsigned char __at(0xFDE4) CHIPID4;
__xdata volatile unsigned char __at(0xFDE5) CHIPID5;
__xdata volatile unsigned char __at(0xFDE6) CHIPID6;
__xdata volatile unsigned char __at(0xFDE7) CHIPID7;
__xdata volatile unsigned char __at(0xFDE8) CHIPID8;
__xdata volatile unsigned char __at(0xFDE9) CHIPID9;
__xdata volatile unsigned char __at(0xFDEA) CHIPID10;
__xdata volatile unsigned char __at(0xFDEB) CHIPID11;
__xdata volatile unsigned char __at(0xFDEC) CHIPID12;
__xdata volatile unsigned char __at(0xFDED) CHIPID13;
__xdata volatile unsigned char __at(0xFDEE) CHIPID14;
__xdata volatile unsigned char __at(0xFDEF) CHIPID15;
__xdata volatile unsigned char __at(0xFDF0) CHIPID16;
__xdata volatile unsigned char __at(0xFDF1) CHIPID17;
__xdata volatile unsigned char __at(0xFDF2) CHIPID18;
__xdata volatile unsigned char __at(0xFDF3) CHIPID19;
__xdata volatile unsigned char __at(0xFDF4) CHIPID20;
__xdata volatile unsigned char __at(0xFDF5) CHIPID21;
__xdata volatile unsigned char __at(0xFDF6) CHIPID22;
__xdata volatile unsigned char __at(0xFDF7) CHIPID23;
__xdata volatile unsigned char __at(0xFDF8) CHIPID24;
__xdata volatile unsigned char __at(0xFDF9) CHIPID25;
__xdata volatile unsigned char __at(0xFDFA) CHIPID26;
__xdata volatile unsigned char __at(0xFDFB) CHIPID27;
__xdata volatile unsigned char __at(0xFDFC) CHIPID28;
__xdata volatile unsigned char __at(0xFDFD) CHIPID29;
__xdata volatile unsigned char __at(0xFDFE) CHIPID30;
__xdata volatile unsigned char __at(0xFDFF) CHIPID31;
/////////////////////////////////////////////////
//7E:FC00H-7E:FCFFH
/////////////////////////////////////////////////
/////////////////////////////////////////////////
//7E:FB00H-7E:FBFFH
/////////////////////////////////////////////////
#define CHIPIDX ( (unsigned char volatile xdata *)0xfbd0)
__xdata volatile unsigned char __at(0xFBD0) CHIPIDX0;
__xdata volatile unsigned char __at(0xFBD1) CHIPIDX1;
__xdata volatile unsigned char __at(0xFBD2) CHIPIDX2;
__xdata volatile unsigned char __at(0xFBD3) CHIPIDX3;
__xdata volatile unsigned char __at(0xFBD4) CHIPIDX4;
__xdata volatile unsigned char __at(0xFBD5) CHIPIDX5;
__xdata volatile unsigned char __at(0xFBD6) CHIPIDX6;
__xdata volatile unsigned char __at(0xFBD7) CHIPIDX7;
__xdata volatile unsigned char __at(0xFBD8) CHIPIDX8;
__xdata volatile unsigned char __at(0xFBD9) CHIPIDX9;
__xdata volatile unsigned char __at(0xFBDA) CHIPIDX10;
__xdata volatile unsigned char __at(0xFBDB) CHIPIDX11;
__xdata volatile unsigned char __at(0xFBDC) CHIPIDX12;
__xdata volatile unsigned char __at(0xFBDD) CHIPIDX13;
__xdata volatile unsigned char __at(0xFBDE) CHIPIDX14;
__xdata volatile unsigned char __at(0xFBDF) CHIPIDX15;
__xdata volatile unsigned char __at(0xFBE0) CHIPIDX16;
__xdata volatile unsigned char __at(0xFBE1) CHIPIDX17;
__xdata volatile unsigned char __at(0xFBE2) CHIPIDX18;
__xdata volatile unsigned char __at(0xFBE3) CHIPIDX19;
__xdata volatile unsigned char __at(0xFBE4) CHIPIDX20;
__xdata volatile unsigned char __at(0xFBE5) CHIPIDX21;
__xdata volatile unsigned char __at(0xFBE6) CHIPIDX22;
__xdata volatile unsigned char __at(0xFBE7) CHIPIDX23;
__xdata volatile unsigned char __at(0xFBE8) CHIPIDX24;
__xdata volatile unsigned char __at(0xFBE9) CHIPIDX25;
__xdata volatile unsigned char __at(0xFBEA) CHIPIDX26;
__xdata volatile unsigned char __at(0xFBEB) CHIPIDX27;
__xdata volatile unsigned char __at(0xFBEC) CHIPIDX28;
__xdata volatile unsigned char __at(0xFBED) CHIPIDX29;
__xdata volatile unsigned char __at(0xFBEE) CHIPIDX30;
__xdata volatile unsigned char __at(0xFBEF) CHIPIDX31;
__xdata volatile unsigned char __at(0xFBF0) HSPWMA_CFG;
__xdata volatile unsigned char __at(0xFBF1) HSPWMA_ADR;
__xdata volatile unsigned char __at(0xFBF2) HSPWMA_DAT;
__xdata volatile unsigned char __at(0xFBF3) HSPWMA_ADRH;
__xdata volatile unsigned char __at(0xFBF4) HSPWMB_CFG;
__xdata volatile unsigned char __at(0xFBF5) HSPWMB_ADR;
__xdata volatile unsigned char __at(0xFBF6) HSPWMB_DAT;
__xdata volatile unsigned char __at(0xFBF7) HSPWMB_ADRH;
__xdata volatile unsigned char __at(0xFBF8) HSSPI_CFG;
__xdata volatile unsigned char __at(0xFBF9) HSSPI_CFG2;
__xdata volatile unsigned char __at(0xFBFA) HSSPI_STA;
__xdata volatile unsigned char __at(0xFBFB) HSSPI_PSCR;
/////////////////////////////////////////////////
//7E:FA00H-7E:FAFFH
/////////////////////////////////////////////////
__xdata volatile unsigned char __at(0xFA00) DMA_M2M_CFG;
__xdata volatile unsigned char __at(0xFA01) DMA_M2M_CR;
__xdata volatile unsigned char __at(0xFA02) DMA_M2M_STA;
__xdata volatile unsigned char __at(0xFA03) DMA_M2M_AMT;
__xdata volatile unsigned char __at(0xFA04) DMA_M2M_DONE;
__xdata volatile unsigned char __at(0xFA05) DMA_M2M_TXAH;
__xdata volatile unsigned char __at(0xFA06) DMA_M2M_TXAL;
__xdata volatile unsigned char __at(0xFA07) DMA_M2M_RXAH;
__xdata volatile unsigned char __at(0xFA08) DMA_M2M_RXAL;
__xdata volatile unsigned char __at(0xFA10) DMA_ADC_CFG;
__xdata volatile unsigned char __at(0xFA11) DMA_ADC_CR;
__xdata volatile unsigned char __at(0xFA12) DMA_ADC_STA;
__xdata volatile unsigned char __at(0xFA13) DMA_ADC_AMT;
__xdata volatile unsigned char __at(0xFA14) DMA_ADC_DONE;
__xdata volatile unsigned char __at(0xFA17) DMA_ADC_RXAH;
__xdata volatile unsigned char __at(0xFA18) DMA_ADC_RXAL;
__xdata volatile unsigned char __at(0xFA19) DMA_ADC_CFG2;
__xdata volatile unsigned char __at(0xFA1A) DMA_ADC_CHSW0;
__xdata volatile unsigned char __at(0xFA1B) DMA_ADC_CHSW1;
__xdata volatile unsigned char __at(0xFA1E) DMA_ADC_ITVH;
__xdata volatile unsigned char __at(0xFA1F) DMA_ADC_ITVL;
__xdata volatile unsigned char __at(0xFA20) DMA_SPI_CFG;
__xdata volatile unsigned char __at(0xFA21) DMA_SPI_CR;
__xdata volatile unsigned char __at(0xFA22) DMA_SPI_STA;
__xdata volatile unsigned char __at(0xFA23) DMA_SPI_AMT;
__xdata volatile unsigned char __at(0xFA24) DMA_SPI_DONE;
__xdata volatile unsigned char __at(0xFA25) DMA_SPI_TXAH;
__xdata volatile unsigned char __at(0xFA26) DMA_SPI_TXAL;
__xdata volatile unsigned char __at(0xFA27) DMA_SPI_RXAH;
__xdata volatile unsigned char __at(0xFA28) DMA_SPI_RXAL;
__xdata volatile unsigned char __at(0xFA29) DMA_SPI_CFG2;
__xdata volatile unsigned char __at(0xFA2E) DMA_SPI_ITVH;
__xdata volatile unsigned char __at(0xFA2F) DMA_SPI_ITVL;
__xdata volatile unsigned char __at(0xFA30) DMA_UR1T_CFG;
__xdata volatile unsigned char __at(0xFA31) DMA_UR1T_CR;
__xdata volatile unsigned char __at(0xFA32) DMA_UR1T_STA;
__xdata volatile unsigned char __at(0xFA33) DMA_UR1T_AMT;
__xdata volatile unsigned char __at(0xFA34) DMA_UR1T_DONE;
__xdata volatile unsigned char __at(0xFA35) DMA_UR1T_TXAH;
__xdata volatile unsigned char __at(0xFA36) DMA_UR1T_TXAL;
__xdata volatile unsigned char __at(0xFA38) DMA_UR1R_CFG;
__xdata volatile unsigned char __at(0xFA39) DMA_UR1R_CR;
__xdata volatile unsigned char __at(0xFA3A) DMA_UR1R_STA;
__xdata volatile unsigned char __at(0xFA3B) DMA_UR1R_AMT;
__xdata volatile unsigned char __at(0xFA3C) DMA_UR1R_DONE;
__xdata volatile unsigned char __at(0xFA3D) DMA_UR1R_RXAH;
__xdata volatile unsigned char __at(0xFA3E) DMA_UR1R_RXAL;
__xdata volatile unsigned char __at(0xFA40) DMA_UR2T_CFG;
__xdata volatile unsigned char __at(0xFA41) DMA_UR2T_CR;
__xdata volatile unsigned char __at(0xFA42) DMA_UR2T_STA;
__xdata volatile unsigned char __at(0xFA43) DMA_UR2T_AMT;
__xdata volatile unsigned char __at(0xFA44) DMA_UR2T_DONE;
__xdata volatile unsigned char __at(0xFA45) DMA_UR2T_TXAH;
__xdata volatile unsigned char __at(0xFA46) DMA_UR2T_TXAL;
__xdata volatile unsigned char __at(0xFA48) DMA_UR2R_CFG;
__xdata volatile unsigned char __at(0xFA49) DMA_UR2R_CR;
__xdata volatile unsigned char __at(0xFA4A) DMA_UR2R_STA;
__xdata volatile unsigned char __at(0xFA4B) DMA_UR2R_AMT;
__xdata volatile unsigned char __at(0xFA4C) DMA_UR2R_DONE;
__xdata volatile unsigned char __at(0xFA4D) DMA_UR2R_RXAH;
__xdata volatile unsigned char __at(0xFA4E) DMA_UR2R_RXAL;
__xdata volatile unsigned char __at(0xFA50) DMA_UR3T_CFG;
__xdata volatile unsigned char __at(0xFA51) DMA_UR3T_CR;
__xdata volatile unsigned char __at(0xFA52) DMA_UR3T_STA;
__xdata volatile unsigned char __at(0xFA53) DMA_UR3T_AMT;
__xdata volatile unsigned char __at(0xFA54) DMA_UR3T_DONE;
__xdata volatile unsigned char __at(0xFA55) DMA_UR3T_TXAH;
__xdata volatile unsigned char __at(0xFA56) DMA_UR3T_TXAL;
__xdata volatile unsigned char __at(0xFA58) DMA_UR3R_CFG;
__xdata volatile unsigned char __at(0xFA59) DMA_UR3R_CR;
__xdata volatile unsigned char __at(0xFA5A) DMA_UR3R_STA;
__xdata volatile unsigned char __at(0xFA5B) DMA_UR3R_AMT;
__xdata volatile unsigned char __at(0xFA5C) DMA_UR3R_DONE;
__xdata volatile unsigned char __at(0xFA5D) DMA_UR3R_RXAH;
__xdata volatile unsigned char __at(0xFA5E) DMA_UR3R_RXAL;
__xdata volatile unsigned char __at(0xFA60) DMA_UR4T_CFG;
__xdata volatile unsigned char __at(0xFA61) DMA_UR4T_CR;
__xdata volatile unsigned char __at(0xFA62) DMA_UR4T_STA;
__xdata volatile unsigned char __at(0xFA63) DMA_UR4T_AMT;
__xdata volatile unsigned char __at(0xFA64) DMA_UR4T_DONE;
__xdata volatile unsigned char __at(0xFA65) DMA_UR4T_TXAH;
__xdata volatile unsigned char __at(0xFA66) DMA_UR4T_TXAL;
__xdata volatile unsigned char __at(0xFA68) DMA_UR4R_CFG;
__xdata volatile unsigned char __at(0xFA69) DMA_UR4R_CR;
__xdata volatile unsigned char __at(0xFA6A) DMA_UR4R_STA;
__xdata volatile unsigned char __at(0xFA6B) DMA_UR4R_AMT;
__xdata volatile unsigned char __at(0xFA6C) DMA_UR4R_DONE;
__xdata volatile unsigned char __at(0xFA6D) DMA_UR4R_RXAH;
__xdata volatile unsigned char __at(0xFA6E) DMA_UR4R_RXAL;
__xdata volatile unsigned char __at(0xFA70) DMA_LCM_CFG;
__xdata volatile unsigned char __at(0xFA71) DMA_LCM_CR;
__xdata volatile unsigned char __at(0xFA72) DMA_LCM_STA;
__xdata volatile unsigned char __at(0xFA73) DMA_LCM_AMT;
__xdata volatile unsigned char __at(0xFA74) DMA_LCM_DONE;
__xdata volatile unsigned char __at(0xFA75) DMA_LCM_TXAH;
__xdata volatile unsigned char __at(0xFA76) DMA_LCM_TXAL;
__xdata volatile unsigned char __at(0xFA77) DMA_LCM_RXAH;
__xdata volatile unsigned char __at(0xFA78) DMA_LCM_RXAL;
__xdata volatile unsigned char __at(0xFA7E) DMA_LCM_ITVH;
__xdata volatile unsigned char __at(0xFA7F) DMA_LCM_ITVL;
__xdata volatile unsigned char __at(0xFA80) DMA_M2M_AMTH;
__xdata volatile unsigned char __at(0xFA81) DMA_M2M_DONEH;
__xdata volatile unsigned char __at(0xFA82) DMA_ADC_AMTH;
__xdata volatile unsigned char __at(0xFA83) DMA_ADC_DONEH;
__xdata volatile unsigned char __at(0xFA84) DMA_SPI_AMTH;
__xdata volatile unsigned char __at(0xFA85) DMA_SPI_DONEH;
__xdata volatile unsigned char __at(0xFA86) DMA_LCM_AMTH;
__xdata volatile unsigned char __at(0xFA87) DMA_LCM_DONEH;
__xdata volatile unsigned char __at(0xFA88) DMA_UR1T_AMTH;
__xdata volatile unsigned char __at(0xFA89) DMA_UR1T_DONEH;
__xdata volatile unsigned char __at(0xFA8A) DMA_UR1R_AMTH;
__xdata volatile unsigned char __at(0xFA8B) DMA_UR1R_DONEH;
__xdata volatile unsigned char __at(0xFA8C) DMA_UR2T_AMTH;
__xdata volatile unsigned char __at(0xFA8D) DMA_UR2T_DONEH;
__xdata volatile unsigned char __at(0xFA8E) DMA_UR2R_AMTH;
__xdata volatile unsigned char __at(0xFA8F) DMA_UR2R_DONEH;
__xdata volatile unsigned char __at(0xFA90) DMA_UR3T_AMTH;
__xdata volatile unsigned char __at(0xFA91) DMA_UR3T_DONEH;
__xdata volatile unsigned char __at(0xFA92) DMA_UR3R_AMTH;
__xdata volatile unsigned char __at(0xFA93) DMA_UR3R_DONEH;
__xdata volatile unsigned char __at(0xFA94) DMA_UR4T_AMTH;
__xdata volatile unsigned char __at(0xFA95) DMA_UR4T_DONEH;
__xdata volatile unsigned char __at(0xFA96) DMA_UR4R_AMTH;
__xdata volatile unsigned char __at(0xFA97) DMA_UR4R_DONEH;
__xdata volatile unsigned char __at(0xFA98) DMA_I2CT_CFG;
__xdata volatile unsigned char __at(0xFA99) DMA_I2CT_CR;
__xdata volatile unsigned char __at(0xFA9A) DMA_I2CT_STA;
__xdata volatile unsigned char __at(0xFA9B) DMA_I2CT_AMT;
__xdata volatile unsigned char __at(0xFA9C) DMA_I2CT_DONE;
__xdata volatile unsigned char __at(0xFA9D) DMA_I2CT_TXAH;
__xdata volatile unsigned char __at(0xFA9E) DMA_I2CT_TXAL;
__xdata volatile unsigned char __at(0xFAA0) DMA_I2CR_CFG;
__xdata volatile unsigned char __at(0xFAA1) DMA_I2CR_CR;
__xdata volatile unsigned char __at(0xFAA2) DMA_I2CR_STA;
__xdata volatile unsigned char __at(0xFAA3) DMA_I2CR_AMT;
__xdata volatile unsigned char __at(0xFAA4) DMA_I2CR_DONE;
__xdata volatile unsigned char __at(0xFAA5) DMA_I2CR_RXAH;
__xdata volatile unsigned char __at(0xFAA6) DMA_I2CR_RXAL;
__xdata volatile unsigned char __at(0xFAA8) DMA_I2CT_AMTH;
__xdata volatile unsigned char __at(0xFAA9) DMA_I2CT_DONEH;
__xdata volatile unsigned char __at(0xFAAA) DMA_I2CR_AMTH;
__xdata volatile unsigned char __at(0xFAAB) DMA_I2CR_DONEH;
__xdata volatile unsigned char __at(0xFAAD) DMA_I2C_CR;
__xdata volatile unsigned char __at(0xFAAE) DMA_I2C_ST1;
__xdata volatile unsigned char __at(0xFAAF) DMA_I2C_ST2;
__xdata volatile unsigned char __at(0xFAB0) DMA_I2ST_CFG;
__xdata volatile unsigned char __at(0xFAB1) DMA_I2ST_CR;
__xdata volatile unsigned char __at(0xFAB2) DMA_I2ST_STA;
__xdata volatile unsigned char __at(0xFAB3) DMA_I2ST_AMT;
__xdata volatile unsigned char __at(0xFAB4) DMA_I2ST_DONE;
__xdata volatile unsigned char __at(0xFAB5) DMA_I2ST_TXAH;
__xdata volatile unsigned char __at(0xFAB6) DMA_I2ST_TXAL;
__xdata volatile unsigned char __at(0xFAB8) DMA_I2SR_CFG;
__xdata volatile unsigned char __at(0xFAB9) DMA_I2SR_CR;
__xdata volatile unsigned char __at(0xFABA) DMA_I2SR_STA;
__xdata volatile unsigned char __at(0xFABB) DMA_I2SR_AMT;
__xdata volatile unsigned char __at(0xFABC) DMA_I2SR_DONE;
__xdata volatile unsigned char __at(0xFABD) DMA_I2SR_RXAH;
__xdata volatile unsigned char __at(0xFABE) DMA_I2SR_RXAL;
__xdata volatile unsigned char __at(0xFAC0) DMA_I2ST_AMTH;
__xdata volatile unsigned char __at(0xFAC1) DMA_I2ST_DONEH;
__xdata volatile unsigned char __at(0xFAC2) DMA_I2SR_AMTH;
__xdata volatile unsigned char __at(0xFAC3) DMA_I2SR_DONEH;
__xdata volatile unsigned char __at(0xFAC4) DMA_I2C_ITVH;
__xdata volatile unsigned char __at(0xFAC5) DMA_I2C_ITVL;
__xdata volatile unsigned char __at(0xFAC6) DMA_I2S_ITVH;
__xdata volatile unsigned char __at(0xFAC7) DMA_I2S_ITVL;
__xdata volatile unsigned char __at(0xFAC8) DMA_UR1_ITVH;
__xdata volatile unsigned char __at(0xFAC9) DMA_UR1_ITVL;
__xdata volatile unsigned char __at(0xFACA) DMA_UR2_ITVH;
__xdata volatile unsigned char __at(0xFACB) DMA_UR2_ITVL;
__xdata volatile unsigned char __at(0xFACC) DMA_UR3_ITVH;
__xdata volatile unsigned char __at(0xFACD) DMA_UR3_ITVL;
__xdata volatile unsigned char __at(0xFACE) DMA_UR4_ITVH;
__xdata volatile unsigned char __at(0xFACF) DMA_UR4_ITVL;
__xdata volatile unsigned char __at(0xFAD0) DMA_QSPI_CFG;
__xdata volatile unsigned char __at(0xFAD1) DMA_QSPI_CR;
__xdata volatile unsigned char __at(0xFAD2) DMA_QSPI_STA;
__xdata volatile unsigned char __at(0xFAD3) DMA_QSPI_AMT;
__xdata volatile unsigned char __at(0xFAD4) DMA_QSPI_DONE;
__xdata volatile unsigned char __at(0xFAD5) DMA_QSPI_TXAH;
__xdata volatile unsigned char __at(0xFAD6) DMA_QSPI_TXAL;
__xdata volatile unsigned char __at(0xFAD7) DMA_QSPI_RXAH;
__xdata volatile unsigned char __at(0xFAD8) DMA_QSPI_RXAL;
__xdata volatile unsigned char __at(0xFADB) DMA_QSPI_AMTH;
__xdata volatile unsigned char __at(0xFADC) DMA_QSPI_DONEH;
__xdata volatile unsigned char __at(0xFADE) DMA_QSPI_ITVH;
__xdata volatile unsigned char __at(0xFADF) DMA_QSPI_ITVL;
__xdata volatile unsigned char __at(0xFAF0) DMA_P2P_CR1;
__xdata volatile unsigned char __at(0xFAF1) DMA_P2P_CR2;
__xdata volatile unsigned char __at(0xFAF8) DMA_ARB_CFG;
__xdata volatile unsigned char __at(0xFAF9) DMA_ARB_STA;
/////////////////////////////////////////////////
//7E:F900H-7E:F9FFH
/////////////////////////////////////////////////
__xdata volatile unsigned char __at(0xF900) QSPI_CR1;
__xdata volatile unsigned char __at(0xF901) QSPI_CR2;
__xdata volatile unsigned char __at(0xF902) QSPI_CR3;
__xdata volatile unsigned char __at(0xF903) QSPI_CR4;
__xdata volatile unsigned char __at(0xF904) QSPI_DCR1;
__xdata volatile unsigned char __at(0xF905) QSPI_DCR2;
__xdata volatile unsigned char __at(0xF906) QSPI_SR1;
__xdata volatile unsigned char __at(0xF907) QSPI_SR2;
__xdata volatile unsigned char __at(0xF908) QSPI_FCR;
__xdata volatile unsigned char __at(0xF909) QSPI_HCR1;
__xdata volatile unsigned char __at(0xF90A) QSPI_HCR2;
__xdata volatile unsigned char __at(0xF910) QSPI_DLR1;
__xdata volatile unsigned char __at(0xF911) QSPI_DLR2;
__xdata volatile unsigned char __at(0xF914) QSPI_CCR1;
__xdata volatile unsigned char __at(0xF915) QSPI_CCR2;
__xdata volatile unsigned char __at(0xF916) QSPI_CCR3;
__xdata volatile unsigned char __at(0xF917) QSPI_CCR4;
__xdata volatile unsigned char __at(0xF918) QSPI_AR1;
__xdata volatile unsigned char __at(0xF919) QSPI_AR2;
__xdata volatile unsigned char __at(0xF91A) QSPI_AR3;
__xdata volatile unsigned char __at(0xF91B) QSPI_AR4;
__xdata volatile unsigned char __at(0xF91C) QSPI_ABR;
__xdata volatile unsigned char __at(0xF920) QSPI_DR;
__xdata volatile unsigned char __at(0xF924) QSPI_PSMKR1;
__xdata volatile unsigned char __at(0xF928) QSPI_PSMAR1;
__xdata volatile unsigned char __at(0xF92C) QSPI_PIR1;
__xdata volatile unsigned char __at(0xF92D) QSPI_PIR2;
__xdata volatile unsigned char __at(0xF930) PWMA_ENO2;
__xdata volatile unsigned char __at(0xF931) PWMA_IOAUX2;
__xdata volatile unsigned char __at(0xF932) PWMA_CR3;
__xdata volatile unsigned char __at(0xF933) PWMA_SR3;
__xdata volatile unsigned char __at(0xF934) PWMA_CCER3;
__xdata volatile unsigned char __at(0xF938) PWMA_CCMR1X;
__xdata volatile unsigned char __at(0xF939) PWMA_CCMR2X;
__xdata volatile unsigned char __at(0xF93A) PWMA_CCMR3X;
__xdata volatile unsigned char __at(0xF93B) PWMA_CCMR4X;
__xdata volatile unsigned char __at(0xF93C) PWMA_CCMR5;
__xdata volatile unsigned char __at(0xF93D) PWMA_CCMR5X;
__xdata volatile unsigned char __at(0xF93E) PWMA_CCMR6;
__xdata volatile unsigned char __at(0xF93F) PWMA_CCMR6X;
__xdata volatile unsigned char __at(0xF940) PWMA_CCR5H;
__xdata volatile unsigned char __at(0xF941) PWMA_CCR5L;
__xdata volatile unsigned char __at(0xF942) PWMA_CCR5X;
__xdata volatile unsigned char __at(0xF943) PWMA_CCR6H;
__xdata volatile unsigned char __at(0xF944) PWMA_CCR6L;
__xdata volatile unsigned char __at(0xF948) PWMA_DER;
__xdata volatile unsigned char __at(0xF949) PWMA_DBA;
__xdata volatile unsigned char __at(0xF94A) PWMA_DBL;
__xdata volatile unsigned char __at(0xF94B) PWMA_DMACR;
__xdata volatile unsigned char __at(0xF980) DMA_PWMAT_CFG;
__xdata volatile unsigned char __at(0xF981) DMA_PWMAT_CR;
__xdata volatile unsigned char __at(0xF982) DMA_PWMAT_STA;
__xdata volatile unsigned char __at(0xF984) DMA_PWMAT_AMTH;
__xdata volatile unsigned char __at(0xF985) DMA_PWMAT_AMT;
__xdata volatile unsigned char __at(0xF986) DMA_PWMAT_DONEH;
__xdata volatile unsigned char __at(0xF987) DMA_PWMAT_DONE;
__xdata volatile unsigned char __at(0xF988) DMA_PWMAT_TXAH;
__xdata volatile unsigned char __at(0xF989) DMA_PWMAT_TXAL;
__xdata volatile unsigned char __at(0xF98E) DMA_PWMA_ITVH;
__xdata volatile unsigned char __at(0xF98F) DMA_PWMA_ITVL;
__xdata volatile unsigned char __at(0xF990) DMA_PWMAR_CFG;
__xdata volatile unsigned char __at(0xF991) DMA_PWMAR_CR;
__xdata volatile unsigned char __at(0xF992) DMA_PWMAR_STA;
__xdata volatile unsigned char __at(0xF994) DMA_PWMAR_AMTH;
__xdata volatile unsigned char __at(0xF995) DMA_PWMAR_AMT;
__xdata volatile unsigned char __at(0xF996) DMA_PWMAR_DONEH;
__xdata volatile unsigned char __at(0xF997) DMA_PWMAR_DONE;
__xdata volatile unsigned char __at(0xF998) DMA_PWMAR_RXAH;
__xdata volatile unsigned char __at(0xF999) DMA_PWMAR_RXAL;
/////////////////////////////////////////////////
//USB Control Regiter
/////////////////////////////////////////////////
#define USBBASE 0
#define FADDR (USBBASE + 0)
#define UPDATE 0x80
#define POWER (USBBASE + 1)
#define ISOUD 0x80
#define USBRST 0x08
#define USBRSU 0x04
#define USBSUS 0x02
#define ENSUS 0x01
#define INTRIN1 (USBBASE + 2)
#define EP5INIF 0x20
#define EP4INIF 0x10
#define EP3INIF 0x08
#define EP2INIF 0x04
#define EP1INIF 0x02
#define EP0IF 0x01
#define INTROUT1 (USBBASE + 4)
#define EP5OUTIF 0x20
#define EP4OUTIF 0x10
#define EP3OUTIF 0x08
#define EP2OUTIF 0x04
#define EP1OUTIF 0x02
#define INTRUSB (USBBASE + 6)
#define SOFIF 0x08
#define RSTIF 0x04
#define RSUIF 0x02
#define SUSIF 0x01
#define INTRIN1E (USBBASE + 7)
#define EP5INIE 0x20
#define EP4INIE 0x10
#define EP3INIE 0x08
#define EP2INIE 0x04
#define EP1INIE 0x02
#define EP0IE 0x01
#define INTROUT1E (USBBASE + 9)
#define EP5OUTIE 0x20
#define EP4OUTIE 0x10
#define EP3OUTIE 0x08
#define EP2OUTIE 0x04
#define EP1OUTIE 0x02
#define INTRUSBE (USBBASE + 11)
#define SOFIE 0x08
#define RSTIE 0x04
#define RSUIE 0x02
#define SUSIE 0x01
#define FRAME1 (USBBASE + 12)
#define FRAME2 (USBBASE + 13)
#define INDEX (USBBASE + 14)
#define INMAXP (USBBASE + 16)
#define CSR0 (USBBASE + 17)
#define SSUEND 0x80
#define SOPRDY 0x40
#define SDSTL 0x20
#define SUEND 0x10
#define DATEND 0x08
#define STSTL 0x04
#define IPRDY 0x02
#define OPRDY 0x01
#define INCSR1 (USBBASE + 17)
#define INCLRDT 0x40
#define INSTSTL 0x20
#define INSDSTL 0x10
#define INFLUSH 0x08
#define INUNDRUN 0x04
#define INFIFONE 0x02
#define INIPRDY 0x01
#define INCSR2 (USBBASE + 18)
#define INAUTOSET 0x80
#define INISO 0x40
#define INMODEIN 0x20
#define INMODEOUT 0x00
#define INENDMA 0x10
#define INFCDT 0x08
#define OUTMAXP (USBBASE + 19)
#define OUTCSR1 (USBBASE + 20)
#define OUTCLRDT 0x80
#define OUTSTSTL 0x40
#define OUTSDSTL 0x20
#define OUTFLUSH 0x10
#define OUTDATERR 0x08
#define OUTOVRRUN 0x04
#define OUTFIFOFUL 0x02
#define OUTOPRDY 0x01
#define OUTCSR2 (USBBASE + 21)
#define OUTAUTOCLR 0x80
#define OUTISO 0x40
#define OUTENDMA 0x20
#define OUTDMAMD 0x10
#define COUNT0 (USBBASE + 22)
#define OUTCOUNT1 (USBBASE + 22)
#define OUTCOUNT2 (USBBASE + 23)
#define FIFO0 (USBBASE + 32)
#define FIFO1 (USBBASE + 33)
#define FIFO2 (USBBASE + 34)
#define FIFO3 (USBBASE + 35)
#define FIFO4 (USBBASE + 36)
#define FIFO5 (USBBASE + 37)
#define UTRKCTL (USBBASE + 48)
#define UTRKSTS (USBBASE + 49)
/////////////////////////////////////////////////
//Interrupt Vector
/////////////////////////////////////////////////
#define INT0_VECTOR 0 //0003H
#define TMR0_VECTOR 1 //000BH
#define INT1_VECTOR 2 //0013H
#define TMR1_VECTOR 3 //001BH
#define UART1_VECTOR 4 //0023H
#define ADC_VECTOR 5 //002BH
#define LVD_VECTOR 6 //0033H
#define PCA_VECTOR 7 //003BH
#define UART2_VECTOR 8 //0043H
#define SPI_VECTOR 9 //004BH
#define INT2_VECTOR 10 //0053H
#define INT3_VECTOR 11 //005BH
#define TMR2_VECTOR 12 //0063H
#define USER_VECTOR 13 //006BH
#define INT4_VECTOR 16 //0083H
#define UART3_VECTOR 17 //008BH
#define UART4_VECTOR 18 //0093H
#define TMR3_VECTOR 19 //009BH
#define TMR4_VECTOR 20 //00A3H
#define CMP_VECTOR 21 //00ABH
#define I2C_VECTOR 24 //00C3H
#define USB_VECTOR 25 //00CBH
#define PWMA_VECTOR 26 //00D3H
#define PWMB_VECTOR 27 //00DBH
#define RTC_VECTOR 36 //0123H
#define P0INT_VECTOR 37 //012BH
#define P1INT_VECTOR 38 //0133H
#define P2INT_VECTOR 39 //013BH
#define P3INT_VECTOR 40 //0143H
#define P4INT_VECTOR 41 //014BH
#define P5INT_VECTOR 42 //0153H
#define P6INT_VECTOR 43 //015BH
#define P7INT_VECTOR 44 //0163H
#define DMA_M2M_VECTOR 47 //017BH
#define DMA_ADC_VECTOR 48 //0183H
#define DMA_SPI_VECTOR 49 //018BH
#define DMA_UR1T_VECTOR 50 //0193H
#define DMA_UR1R_VECTOR 51 //019BH
#define DMA_UR2T_VECTOR 52 //01A3H
#define DMA_UR2R_VECTOR 53 //01ABH
#define DMA_UR3T_VECTOR 54 //01B3H
#define DMA_UR3R_VECTOR 55 //01BBH
#define DMA_UR4T_VECTOR 56 //01C3H
#define DMA_UR4R_VECTOR 57 //01CBH
#define DMA_LCM_VECTOR 58 //01D3H
#define LCM_VECTOR 59 //01DBH
#define DMA_I2CT_VECTOR 60 //01E3H
#define DMA_I2CR_VECTOR 61 //01EBH
#define I2S_VECTOR 62 //01F3H
#define DMA_I2ST_VECTOR 63 //01FBH
#define DMA_I2SR_VECTOR 64 //0203H
#define DMA_QSPI_VECTOR 65 //020BH
#define QSPI_VECTOR 66 //0213H
#define TMR11_VECTOR 67 //021BH
#define DMA_PWMAT_VECTOR 72 //0243H
#define DMA_PWMAR_VECTOR 73 //024BH
/////////////////////////////////////////////////
#define EAXSFR() P_SW2 |= 0x80 /* MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR) */
#define EAXRAM() P_SW2 &= ~0x80 /* MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展RAM(XRAM) */
/////////////////////////////////////////////////
#define NOP1() _nop_()
#define NOP2() NOP1(),NOP1()
#define NOP3() NOP2(),NOP1()
#define NOP4() NOP3(),NOP1()
#define NOP5() NOP4(),NOP1()
#define NOP6() NOP5(),NOP1()
#define NOP7() NOP6(),NOP1()
#define NOP8() NOP7(),NOP1()
#define NOP9() NOP8(),NOP1()
#define NOP10() NOP9(),NOP1()
#define NOP11() NOP10(),NOP1()
#define NOP12() NOP11(),NOP1()
#define NOP13() NOP12(),NOP1()
#define NOP14() NOP13(),NOP1()
#define NOP15() NOP14(),NOP1()
#define NOP16() NOP15(),NOP1()
#define NOP17() NOP16(),NOP1()
#define NOP18() NOP17(),NOP1()
#define NOP19() NOP18(),NOP1()
#define NOP20() NOP19(),NOP1()
#define NOP21() NOP20(),NOP1()
#define NOP22() NOP21(),NOP1()
#define NOP23() NOP22(),NOP1()
#define NOP24() NOP23(),NOP1()
#define NOP25() NOP24(),NOP1()
#define NOP26() NOP25(),NOP1()
#define NOP27() NOP26(),NOP1()
#define NOP28() NOP27(),NOP1()
#define NOP29() NOP28(),NOP1()
#define NOP30() NOP29(),NOP1()
#define NOP31() NOP30(),NOP1()
#define NOP32() NOP31(),NOP1()
#define NOP33() NOP32(),NOP1()
#define NOP34() NOP33(),NOP1()
#define NOP35() NOP34(),NOP1()
#define NOP36() NOP35(),NOP1()
#define NOP37() NOP36(),NOP1()
#define NOP38() NOP37(),NOP1()
#define NOP39() NOP38(),NOP1()
#define NOP40() NOP39(),NOP1()
#define NOP(N) NOP##N()
/////////////////////////////////////////////////
#endif