class.h
来自「电力变电站RTU监控软件(80C196NT单片机) 遥控」· C头文件 代码 · 共 1,825 行 · 第 1/5 页
H
1,825 行
#define COM_16C554_CSC_DLM 0x001391 /*分频锁存高字节 DLAB=1 */
#define COM_16C554_CSD_BASE 0x001398
#define COM_16C554_CSD_RBR 0x001398 /*接收缓冲寄存器 只读 DLAB=0 */
#define COM_16C554_CSD_THR 0x001398 /*发送保持寄存器 只写 DLAB=0 */
#define COM_16C554_CSD_IER 0x001399 /*中断使能寄存器 DLAB=0 */
#define COM_16C554_CSD_IIR 0x00139A /*中断识别寄存器 只读 */
#define COM_16C554_CSD_FCR 0x00139A /*FIFO控制寄存器 只写 */
#define COM_16C554_CSD_LCR 0x00139B /*线路控制寄存器 */
#define COM_16C554_CSD_MCR 0x00139C /*MODEM控制寄存器 */
#define COM_16C554_CSD_LSR 0x00139D /*线路状态寄存器 */
#define COM_16C554_CSD_MSR 0x00139E /*MODEM状态寄存器 */
#define COM_16C554_CSD_DLL 0x001398 /*分频锁存低字节 DLAB=1 */
#define COM_16C554_CSD_DLM 0x001399 /*分频锁存高字节 DLAB=1 */
#define COM_16C550_BASE 0x0013A0
#define COM_16C550_RBR 0x0013A0 /*接收缓冲寄存器 只读 DLAB=0 */
#define COM_16C550_THR 0x0013A0 /*发送保持寄存器 只写 DLAB=0 */
#define COM_16C550_IER 0x0013A1 /*中断使能寄存器 DLAB=0 */
#define COM_16C550_IIR 0x0013A2 /*中断识别寄存器 只读 */
#define COM_16C550_FCR 0x0013A2 /*FIFO控制寄存器 只写 */
#define COM_16C550_LCR 0x0013A3 /*线路控制寄存器 */
#define COM_16C550_MCR 0x0013A4 /*MODEM控制寄存器 */
#define COM_16C550_LSR 0x0013A5 /*线路状态寄存器 */
#define COM_16C550_MSR 0x0013A6 /*MODEM状态寄存器 */
#define COM_16C550_DLL 0x0013A0 /*分频锁存低字节 DLAB=1 */
#define COM_16C550_DLM 0x0013A1 /*分频锁存高字节 DLAB=1 */
#define PSD_RAM_BASE 0x00A000 /* PSD 4135G2 512K(Main) 32K(Boot) 8K(SRAM) */
#define CY256_RAM_BASE 0xF10000
#define PSD_FLASH_BASE 0x002000
#define PSD_NAIN_BASE 0xF80000
#define YXBV_TOP 0xF7F9FF
#define YXBV_BOTTOM 0xF7F200
#define YSOE_TOP 0xF7EFFF
#define YSOE_BOTTOM 0xF7D000
#define LCDDELAY 50000 /* 50000*50=2500000ms=2500S */
#define PSD_REG_BASE 0x001000 /* PSD 4135G2 512K(Main) 32K(Boot) 8K(SRAM) */
#define PSD_DATAIN_A PSD_REG_BASE +0x00
#define PSD_DATAOUT_A PSD_REG_BASE +0x04
#define PSD_DIRECTION_A PSD_REG_BASE +0x06/*0:inport(default) 1:outport*/
#define PSD_DRIVE_A PSD_REG_BASE +0x08/*0:互补输出(default) 1:开漏输出 */
#define PSD_DATAIN_B PSD_REG_BASE +0x01
#define PSD_DATAOUT_B PSD_REG_BASE +0x05
#define PSD_DIRECTION_B PSD_REG_BASE +0x07/*0:inport(default) 1:outport*/
#define PSD_DRIVE_B PSD_REG_BASE +0x09/*0:互补输出(default) 1:开漏输出 */
#define PSD_DATAIN_C PSD_REG_BASE +0x10
#define PSD_DATAOUT_C PSD_REG_BASE +0x14
#define PSD_DIRECTION_C PSD_REG_BASE +0x16/*0:inport(default) 1:outport*/
#define PSD_DRIVE_C PSD_REG_BASE +0x18/*0:互补输出(default) 1:Slew Rate mode */
#define PSD_DATAIN_D PSD_REG_BASE +0x11
#define PSD_DATAOUT_D PSD_REG_BASE +0x15
#define PSD_DIRECTION_D PSD_REG_BASE +0x17/*0:inport(default) 1:outport*/
#define PSD_DRIVE_D PSD_REG_BASE +0x19/*0:互补输出(default) 1:开漏输出 */
#define PSD_DATAIN_E PSD_REG_BASE +0x30
#define PSD_CONTROL_E PSD_REG_BASE +0x32/* 0:MCU I/O(default) 1:latched adress out mode */
#define PSD_DATAOUT_E PSD_REG_BASE +0x34/* PE.7=LED2 */
#define PSD_DIRECTION_E PSD_REG_BASE +0x36/*0:inport(default) 1:outport*/
#define PSD_DRIVE_E PSD_REG_BASE +0x38/*0:互补输出(default) 1:开漏输出 */
#define PSD_DATAIN_F PSD_REG_BASE +0x40
#define PSD_CONTROL_F PSD_REG_BASE +0x42/* 0:MCU I/O(default) 1:latched adress out mode */
#define PSD_DATAOUT_F PSD_REG_BASE +0x44
#define PSD_DIRECTION_F PSD_REG_BASE +0x46/*0:inport(default) 1:outport*/
#define PSD_DRIVE_F PSD_REG_BASE +0x48/*0:互补输出(default) 1:Slew Rate mode */
#define PSD_DATAIN_G PSD_REG_BASE +0x41
#define PSD_CONTROL_G PSD_REG_BASE +0x43/* 0:MCU I/O(default) 1:latched adress out mode */
#define PSD_DATAOUT_G PSD_REG_BASE +0x45
#define PSD_DIRECTION_G PSD_REG_BASE +0x47/*0:inport(default) 1:outport*/
#define PSD_DRIVE_G PSD_REG_BASE +0x49/*0:互补输出(default) 1:开漏输出 */
#define PSD_MAINPROTECT PSD_REG_BASE +0xC0/*0:no;1:write protected 只读 */
#define PSD_ALTPROTECT PSD_REG_BASE +0xC2/*0:no;1:write protected */
#define PSD_PMMR0 PSD_REG_BASE +0xB0
// power-on default = 0x00
// power-on default = 0x00
// bit 5 - CLKIN input to MCell (1=off)
// bit 4 - CLKIN input to PLD array (1=off)
// bit 3 - PLD turbo mode (ZPSD only) (1=disable)
// bit 1 - APD unit (1=enable)
#define PSD_PMMR2 PSD_REG_BASE +0xB4
// power-on default = 0x00
// bit 6 - DBE input to PLD array (1=off)
// bit 5 - ALE input to PLD array (1=off)
// bit 4 - CNTL2 input to PLD array (1=off)
// bit 3 - CNTL1 input to PLD array (1=off)
// bit 2 - CNTL0 input to PLD array (1=off)
#define PSD_PAGE PSD_REG_BASE +0xE0
#define PSD_VM PSD_REG_BASE +0xE2
#define MEMORY_ID0 PSD_REG_BASE +0xF0 /* 只读 */
#define MEMORY_ID1 PSD_REG_BASE +0xF1 /* 只读 */
#define ADFREQ_COEF 0x13E0 /* */
#define AD7874_CMD 0x13E4 /* */
#define AD7874_DAT 0x13E4 /* */
#define EXINT_INT_BIT 0x4000
#define EPA0_INT_BIT 0x0010
#define EPA1_INT_BIT 0x0008
#define EPA2_INT_BIT 0x0004
#define EPA3_INT_BIT 0x0002
#define EPA4_INT_BIT 0x0001
#define EPA5_INT_BIT 0x0001
#define EPA6_INT_BIT 0x0001
#define EPA7_INT_BIT 0x0001
#define EPA8_INT_BIT 0x0001
#define EPA9_INT_BIT 0x0001
#define EPA4_EPAMASK_BIT 0x8000
#define EPA5_EPAMASK_BIT 0x4000
#define EPA6_EPAMASK_BIT 0x2000
#define EPA7_EPAMASK_BIT 0x1000
#define EPA8_EPAMASK_BIT 0x0800
#define EPA9_EPAMASK_BIT 0x0400
#define EPA0_OVR_BIT 0x0200
#define EPA1_OVR_BIT 0x0100
#define EPA2_OVR_BIT 0x0080
#define EPA3_OVR_BIT 0x0040
#define EPA4_OVR_BIT 0x0020
#define EPA5_OVR_BIT 0x0010
#define EPA6_OVR_BIT 0x0008
#define EPA7_OVR_BIT 0x0004
#define EPA8_OVR_BIT 0x0002
#define EPA9_OVR_BIT 0x0001
#define COMP_CH0_BIT 0x0008
#define COMP_CH1_BIT 0x0004
#define TIMR1_OVR_BIT 0x0002
#define TIMR2_OVR_BIT 0x0001
#define SRXD_INT_BIT 0x10
#define STXD_INT_BIT 0x08
#define CAPTURE 0x00
#define BOTH_EDGE 0x30
#define UP_EDGE 0x20
#define DOWN_EDGE 0x10
#define USE_TIMER1 0x00
#define USE_TIMER2 0x80
#define COMPARE 0x40
#define IGNORES 0x00
#define OVERWRITES 0x01
#define RE_ENABLE 0x08
#define CLR_PIN 0x10
#define SET_PIN 0x20
#define TOGGLE_PIN 0x30
#define RESET_OWN_TIMER 0x01 /* ROT=0 ON/RT=1 */
#define RESET_THE_TIMER 0x03 /* ROT=1 ON/RT=1 */
#define DS12887BASE 0x001100
#define DS_SECOND DS12887BASE+0x00
#define DS_SECONDWARN DS12887BASE+0x01
#define DS_MINUTE DS12887BASE+0x02
#define DS_MINUTEWARN DS12887BASE+0x03
#define DS_HOUR DS12887BASE+0x04
#define DS_HOURWARN DS12887BASE+0x05
#define DS_WEEK DS12887BASE+0x06
#define DS_DATE DS12887BASE+0x07
#define DS_MONTH DS12887BASE+0x08
#define DS_YEAR DS12887BASE+0x09
#define DS_REGA DS12887BASE+0x0A
#define DS_REGB DS12887BASE+0x0B
#define DS_REGC DS12887BASE+0x0C
#define DS_REGD DS12887BASE+0x0D
#define DS_CENTURY DS12887BASE+0x32
#define FLASH_COMMON_MAIN_XAAA 0x9AAA+PSD_MAIN_BASE
#define FLASH_COMMON_MAIN_X554 0x9554+PSD_MAIN_BASE
#define FLASH_COMMON_BOOT_XAAA 0x0AAA+PSD_FLASH_BASE
#define FLASH_COMMON_BOOT_X554 0x0554+PSD_FLASH_BASE
#define LITTLE_ENDIAN // comment out this line if big-endian data format is
// used by MCU. Leave it the way it is if little-endian
// format is used by MCU. See note above.
#ifdef LITTLE_ENDIAN // mask patterns for little-endian MCU format
#define NVM_DATA_POLL 0x0080 // flash status "data poll" bit at DQ7
#define NVM_DATA_TOGGLE 0x0040 // flash status "toggle poll" bit at DQ6
#define NVM_ERROR 0x0020 // flash status "error" bit at DQ5
#else // mask patterns for big-endian MCU format
#define NVM_DATA_POLL 0x8000 // flash status "data poll" bit at DQ15
#define NVM_DATA_TOGGLE 0x4000 // flash status "toggle poll" bit at DQ14
#define NVM_ERROR 0x2000 // flash status "error" bit at DQ13
#endif
#define KEYCONTROL 0x0013C2 /* 0:输入 1: 输出 */
#define KEYDATA 0x0013C0
#define NULLKEY 0xff
#define RESET 0x0A /* 复位键 KEYDATA.8 */
#define F2 0x09 /* 修改键 KEYDATA.8 */
#define F1 0x08 /* 修改键 KEYDATA.8 */
#define OKKEY 0x07 /* 确认键 KEYDATA.7 */
#define ESCKEY 0x06 /* ESC KEYDATA.6 */
#define MINUSKEY 0x05 /* -/复归 KEYDATA.5 */
#define PLUSKEY 0x04 /* +/功能 KEYDATA.4 */
#define RIGHTKEY 0x03 /* Right KEYDATA.3 */
#define DOWNKEY 0x02 /* Down KEYDATA.2 */
#define UPKEY 0x01 /* UP KEYDATA.1 */
#define LEFTKEY 0x00 /* Left KEYDATA.0 */
#define COUNT_ENABLE 0x80
#define COUNT_UP 0x40
#define CLOCK_INTERNAL 0x00
#define DIVIDE_BY_1 0x00
#define DIVIDE_BY_2 0x01
#define DIVIDE_BY_4 0x02
#define LCD_CMD_WR 0x4F /* 0 0 PE.5=LED1=RD/WR PE.4=LED0=D/I */
#define LCD_CMD_RD 0x6F /* 1 0 */
#define LCD_DAT_WR 0x5F /* 0 1 */
#define LCD_DAT_RD 0x7F /* 1 1 */
#define WdogLTaskNo 100
#define WdogHTaskNo 101
#define FALSE 0
#define TRUE 1
#define IGNORE 0
#define ABORT 2
#ifndef __IEC101MODE
#define C_RQ_NA_1_LNKREQ 0 /* 请求链路状态 */
#define M_RQ_NA_1_LNKRES 1 /* 链路状态响应帧 */
#define C_RL_NA_1_SEND 2 /* 复位远方链路 */
#define M_RL_NA_1_CON 3 /* 复位远方链路确认帧 */
#define M_RQ_NA_1_LNKREQ 4 /* 子站请求链路状态 */
#define C_RQ_NA_1_LNKRES 5 /* 主站链路状态响应帧 */
#define M_RL_NA_1_LNKACT 6 /* 子站复位远方链路 */
#define C_RL_NA_1_ACTCON 7 /* 子站复位远方链路确认帧 */
#define C_CON_NA_1 8 /* 主站对子站主动触发帧的确认帧 */
#define M_NV_NA_1 9 /* 无所请求的数据帧 */
#define C_P1_NA_1 10/* 召唤1级数据 */
#define C_P2_NA_1 11/* 召唤2级数据 */
#define C_PA_NA_1 12/* 召唤要求访问位的请求帧 */
#define C_PA_NA_1RES 13/* 召唤要求访问位的响应帧 */
#define C_RP_NA_1ACT 14/* 复位远动终端发送帧 */
#define C_RP_NA_1ACTCON 15/* 复位远动终端确认帧 */
#define C_IC_NA_1ACT 16/* 总召唤命令帧 */
#define C_IC_NA_1ACTCON 17/* 总召唤确认帧 */
#define M_ME_NA_1CYCLIC 18/* 带品质描述的遥测帧 */
#define M_ME_ND_1CYCLIC 19/* 不带品质描述的遥测帧 */
#define M_SP_NA_1CYCLIC 20/* 单点遥信帧 */
#define M_DP_NA_1CYCLIC 21/* 双点遥信帧 */
#define M_ST_NA_1CYCLIC 22/* 变压器分接头帧 */
#define M_BO_NA_1CYCLIC 23/* 远动终端状态帧 */
#define M_BD_NA_1CYCLIC 24/* BCD码响应帧 */
#define M_IC_NA_1ACTTERM 25/* 总召唤结束帧 */
#define C_IC_NA_1CYCLICACT 26/* 分组召唤发送帧 */
#define C_IC_NA_1CYCLICACTCON 27/* 分组召唤响应帧 */
#define M_RL_NA_1 28/* 主站初始化结束响应帧 */
#define M_EI_NA_1 29/* 子站初始化结束帧 */
#define C_CS_NA_1ACT 30/* 时钟同步发送帧 */
#define C_CS_NA_1ACTCON 31/* 时钟同步确认帧 */
#define M_ME_NA_1SPONT 32/* 带品质描述的遥测数据变化响应帧 */
#define M_ME_ND_1SPONT 33/* 不带品质描述的遥测数据变化响应帧 */
#define M_ME_TA_1SPONT 34/* 带时标的遥测数据变化响应帧 */
#define M_ST_NA_1SPONT 35/* 变压器分接头变化响应帧 */
#define M_BD_NA_1SPONT 36/* BCD码变化响应帧 */
#define M_SP_TA_1 37/* 单点信息事件顺序记录帧 */
#define M_DP_TA_1 38/* 双点信息事件顺序记录帧 */
#define M_EP_TA_1 39/* 继电器保护装置单点信息事件顺序记录帧 */
#define M_EP_TB_1 40/* 继电器保护装置 成组启动事件顺序记录帧 */
#define M_EP_TC_1 41/* 继电器保护装置 成组输出电路事件顺序记录帧 */
#define M_ST_TA_1 42/* 带时标的步位置信息(变压器分接头)帧 */
#define M_SP_NA_1SPONT 43/* 单点信息状态变位帧 */
#define M_DP_NA_1SPONT 44/* 双点遥信变位帧 */
#define M_PS_NA_1SPONT 45/* 状态和状态变位的遥信帧 */
#define M_BO_NA_1SPONT 46/* 远动终端状态变化帧 */
#define C_RD_NA_1ACT 47/* 由主站的读命令发送帧 */
#define M_CON_NA_1ACTCON 48/* 读数据命令的确认帧 */
#define M_DATA_NA_1SPONT 49/* 由主站的读命令形成的1级用户数据帧 */
#define C_DC_NA_1ACT 50/* 遥控选择命令 发送帧 */
#define C_DC_NA_1ACTCON 51/* 遥控选择命令 确认帧 */
#define C_DC_NA_1DEACT 52/* 遥控撤消命令 发送帧 */
#define C_DC_NA_1DEACTCON 53/* 遥控撤消命令 确认帧 */
#define C_DC_NA_1EXCO 54/* 遥控执行命令 发送帧 */
#define C_DC_NA_1EXCOCON 55/* 遥控执行命令 确认帧 */
#define C_RC_NA_1ACT 56/* 升降选择命令 发送帧 */
#define C_RC_NA_1ACTCON 57/* 升降选择命令 确认帧 */
#define C_RC_NA_1DEACT 58/* 升降撤消命令 发送帧 */
#define C_RC_NA_1DEACTCON 59/* 升降撤消命令 确认帧 */
#define C_RC_NA_1EXCO 60/* 升降执行命令 发送帧 */
#define C_RC_NA_1EXCOCON 61/* 升降执行命令 确认帧 */
#define C_SE_NA_1ACT 62/* 设点命令 发送帧 */
#define C_SE_NA_1ACTCON 63/* 设点命令 确认帧 */
#define C_CI_NA_1ACT 64/* 冻结和召唤电能脉冲 发送帧 */
#define C_CI_NA_1ACTCON 65/* 冻结和召唤电能脉冲 确认帧 */
#define M_IT_NA_1CYCLIC 66/* 电能脉冲计数量响应帧 */
#define M_IT_TA_1CYCLIC 67/* 带时标电能脉冲计数量响应帧 */
#define C_CI_NA_1ACTTERM 68/* 电能脉冲计数量结束帧 */
#define C_CI_NA_TACT 69/* 分组召唤电能脉冲计数量请求帧 */
#define M_IT_NA_1 70/* 分组召唤电能脉冲计数量响应帧 */
#define M_IT_TA_1 71/* 分组带时标电能脉冲计数量响应帧 */
#define P_ME_NA_1ACT 72/* 设置参数的发送帧 */
#define P_ME_NA_1CON 73/* 设置参数的确认帧 */
#define P_AC_NA_1ACT 74/* 设置激活的发送帧 */
#define P_AC_NA_1CON 75/* 设置激活的确认帧 */
#define C_TS_NA_1ACT 76/* 测试通道发送帧 */
#define C_TS_NA_1ACTCON 77/* 测试通道的确认帧 */
#define F_SC_NA_1ACT 78/* 召唤文件、目录、节和文件选择命令 */
#define F_DR_TA_1ACTCON 79/* 目录响应帧 */
#define F_FR_NA_1ACTCON 80/* 文件准备好确认帧 */
#define F_SR_NA_1ACTCON 81/* 节准备好确认帧 */
#define F_SG_NA_1ACTCON 82/* 段的响应帧 */
#define F_LS_NA_1ACTCON 83/* 最后节、最后段的确认帧 */
#define F_AF_NA_1ACTCON 84/* 文件、节的确认帧 */
#define M_BY_NA_1 85/* 忙帧 */
#define C_CI_NA_1ACTSTS 86/* 主站处于收集电能脉冲 状态 */
#define M_CI_NA_1ACTSTS 87/* 子站电能脉冲计数量响应帧 状态 */
#define M_IT_NA_TA_1 88 /* 分组(带时标)电能脉冲计数量响应帧 */
#define F_ALL_NA_1ACTCON 89 /* 子站文件传输所有确认帧 */
#define M_IC_NA_1ACTSTS 90 /* 子站响应总召唤数据帧 */
#define C_IC_NA_1ACTSTS 91 /* 主站处于总召唤状态 */
#define M_P1_NA_1STS 92/* 子站响应1级数据 */
#define M_P2_NA_1STS 93/* 子站响应2级数据 */
#define HSHUP 0x40 /* 主站向子站传输 主站为启动站 */
#define SHHUP 0x80 /* 子站向主站响应 主站为启动站 */
#define HSSUP 0x00 /* 子站向主站传输 子站为启动站 */
#define SHSUP 0xc0 /* 主站向子站响应 子站为启动站 */
#define __IEC101MODE
#endif
#define PIO_A_DAT 0x13C4 /* 数据总线 */
#define PIO_B_DAT 0x13C5 /* 地址总线 */
#define PIO_A_CMD 0x13C6 /* 0-INPUT 1-OUTPUT */
#define PIO_B_CMD 0x13C7 /* 0-INPUT 1-OUTPUT */
#define PIO_C_DAT 0x13C8
#define PIO_D_DAT 0x13C9
#define PIO_C_CMD 0x13CA /* 0-INPUT 1-OUTPUT */
#define PIO_D_CMD 0x13CB /* 0-INPUT 1-OUTPUT */
#define PTC_A_DAT 0x13CC
#define PTC_B_DAT 0x13CD
#define PTC_A_CMD 0x13CE /* 0-INPUT 1-OUTPUT */
#define PTC_B_CMD 0x13CF /* 0-INPUT 1-OUTPUT */
#define WSR_380H_3FFH 0x17 /* 128 字节 080H-0FFH */
#define WSR_300H_37FH 0x16 /* 128 字节 080H-0FFH */
#define WSR_280H_2FFH 0x15 /* 128 字节 080H-0FFH */
#define WSR_200H_27FH 0x14 /* 128 字节 080H-0FFH */
#define WSR_180H_1FFH 0x13 /* 128 字节 080H-0FFH */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?