⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threephaseengine12.asm

📁 microchip公司的PICPIC18F系列芯片固件
💻 ASM
📖 第 1 页 / 共 5 页
字号:
PhC_W_FAcc_15_8		EQU	0xCD		;  overwritten every line cycle
PhC_W_FAcc_23_16	EQU	0xCE
PhC_W_FAcc_31_24	EQU	0xCF
PhC_W_FAcc_39_32	EQU	0xD0

PhA_I_Abs_TMax		EQU	0xD1		; Temp value for abs max of ph A current, overwritten every line cycle
PhA_V_Abs_TMax		EQU	0xD2		; Temp value for abs max of ph A voltage, overwritten every line cycle
PhB_I_Abs_TMax		EQU	0xD3		; Temp value for abs max of ph B current, overwritten every line cycle
PhB_V_Abs_TMax		EQU	0xD4		; Temp value for abs max of ph B voltage, overwritten every line cycle
PhC_I_Abs_TMax		EQU	0xD5		; Temp value for abs max of ph C current, overwritten every line cycle
PhC_V_Abs_TMax		EQU	0xD6		; Temp value for abs max of ph C voltage, overwritten every line cycle

PhA_I_Abs_FMax		EQU	0xD7		; Final value for abs max of ph A current, accumulates over LINE_CYC
PhA_V_Abs_FMax		EQU	0xD8		; Final value for abs max of ph A voltage, accumulates over LINE_CYC
PhB_I_Abs_FMax		EQU	0xD9		; Final value for abs max of ph B current, accumulates over LINE_CYC
PhB_V_Abs_FMax		EQU	0xDA		; Final value for abs max of ph B voltage, accumulates over LINE_CYC
PhC_I_Abs_FMax		EQU	0xDB		; Final value for abs max of ph C current, accumulates over LINE_CYC
PhC_V_Abs_FMax		EQU	0xDC		; Final value for abs max of ph C voltage, accumulates over LINE_CYC

Period_F_7_0		EQU	0xDD		; Final value is total period over LINE_CYC line cycles,
Period_F_15_8		EQU	0xDE		;  overwritten every line cycle
Period_F_23_16		EQU	0xDF

FINAL_BANK_END		EQU	0xFF		; End of final bank

; User accessible registers, must start on a 256 byte boundary

USER_BANK1		EQU	0x100		; User bank 1, may be moved

MODE1_7_0		EQU	0x100		; Operating mode register 1
;----Begin Bits----
MODE1_CREEP		EQU	0x00		; Creep is enabled if high
MODE1_SING_PHASE	EQU	0x01		; Multi-point phase corr if low, single point if high
MODE1_ABS		EQU	0x02		; Take positive energy only if high
MODE1_PHA_W_EN		EQU	0x03		; Phase A is enabled for energy acc when high
MODE1_PHB_W_EN		EQU	0x04		; Phase B is enabled for energy acc when high
MODE1_PHC_W_EN		EQU	0x05		; Phase C is enabled for energy acc when high
;----End Bits----

MODE1_15_8		EQU	0x101
;----Begin Bits----
;----End Bits----

STATUS1_7_0		EQU	0x104		; Status register 1
;----Begin Bits----
STAT1_PHC_W_RAW_SIGN	EQU	0x00		; Sign of PHC_W_RAW before absolute value taken (if enabled)
STAT1_PHB_W_RAW_SIGN	EQU	0x01		; Sign of PHB_W_RAW before absolute value taken (if enabled)
STAT1_PHA_W_RAW_SIGN	EQU	0x02		; Sign of PHA_W_RAW before absolute value taken (if enabled)
;----End Bits----

STATUS1_15_8		EQU	0x105
;----Begin Bits----
;----End Bits----

CAL_CONTROL_7_0		EQU	0x108		; Calibration control register 1
;----Begin Bits----
CAL_MODE		EQU	0x00		; Set high for calibration mode
CAL_UPDATE		EQU	0x01		; Set high to initiate LINE_CYC line cycles (goes low when complete)
CAL_DUMMYVAL		EQU	0x02		; Set high to activate simulated calibration
;----End Bits----

CAL_CONTROL_15_8	EQU	0x109
;----Begin Bits----
;----End Bits----

LINE_CYC_7_0		EQU	0x10A		; Line cycles to average for current and voltage
LINE_CYC_15_8		EQU	0x10B

LINE_CYC_CNT_7_0	EQU	0x10C		; Current line cycle count for average
LINE_CYC_CNT_15_8	EQU	0x10D

PHA_I_RMS_RAW2_7_0	EQU	0x110		; Left adjusted Phase A current squared,
PHA_I_RMS_RAW2_15_8	EQU	0x111		;  final sum over LINE_CYC line cycles
PHA_I_RMS_RAW2_23_16	EQU	0x112
PHA_I_RMS_RAW2_31_24	EQU	0x113
PHA_I_RMS_RAW2_39_32	EQU	0x114
PHA_I_RMS_RAW2_47_40	EQU	0x115

PHA_I_RMS_RAW_7_0	EQU	0x116		; Phase A RMS current
PHA_I_RMS_RAW_15_8	EQU	0x117

PHA_I_RMS_7_0		EQU	0x118		; Phase A current in X A/LSB
PHA_I_RMS_15_8		EQU	0x119

PHA_V_RMS_RAW2_7_0	EQU	0x11A		; Left adjusted Phase A voltage squared,
PHA_V_RMS_RAW2_15_8	EQU	0x11B		;  final sum over LINE_CYC line cycles
PHA_V_RMS_RAW2_23_16	EQU	0x11C
PHA_V_RMS_RAW2_31_24	EQU	0x11D
PHA_V_RMS_RAW2_39_32	EQU	0x11E
PHA_V_RMS_RAW2_47_40	EQU	0x11F

PHA_V_RMS_RAW_7_0	EQU	0x120		; Phase A RMS voltage
PHA_V_RMS_RAW_15_8	EQU	0x121

PHA_V_RMS_7_0		EQU	0x122		; Phase A voltage in X V/LSB
PHA_V_RMS_15_8		EQU	0x123

PHB_I_RMS_RAW2_7_0	EQU	0x124		; Left adjusted Phase B current squared,
PHB_I_RMS_RAW2_15_8	EQU	0x125		;  final sum over LINE_CYC line cycles
PHB_I_RMS_RAW2_23_16	EQU	0x126
PHB_I_RMS_RAW2_31_24	EQU	0x127
PHB_I_RMS_RAW2_39_32	EQU	0x128
PHB_I_RMS_RAW2_47_40	EQU	0x129

PHB_I_RMS_RAW_7_0	EQU	0x12A		; Phase B RMS current
PHB_I_RMS_RAW_15_8	EQU	0x12B

PHB_I_RMS_7_0		EQU	0x12C		; Phase B current in X A/LSB
PHB_I_RMS_15_8		EQU	0x12D

PHB_V_RMS_RAW2_7_0	EQU	0x12E		; Left adjusted Phase B voltage squared,
PHB_V_RMS_RAW2_15_8	EQU	0x12F		;  final sum over LINE_CYC line cycles
PHB_V_RMS_RAW2_23_16	EQU	0x130
PHB_V_RMS_RAW2_31_24	EQU	0x131
PHB_V_RMS_RAW2_39_32	EQU	0x132
PHB_V_RMS_RAW2_47_40	EQU	0x133

PHB_V_RMS_RAW_7_0	EQU	0x134		; Phase B RMS voltage
PHB_V_RMS_RAW_15_8	EQU	0x135

PHB_V_RMS_7_0		EQU	0x136		; Phase B voltage in X V/LSB
PHB_V_RMS_15_8		EQU	0x137

PHC_I_RMS_RAW2_7_0	EQU	0x138		; Left adjusted Phase C current squared,
PHC_I_RMS_RAW2_15_8	EQU	0x139		;  final sum over LINE_CYC line cycles
PHC_I_RMS_RAW2_23_16	EQU	0x13A
PHC_I_RMS_RAW2_31_24	EQU	0x13B
PHC_I_RMS_RAW2_39_32	EQU	0x13C
PHC_I_RMS_RAW2_47_40	EQU	0x13D

PHC_I_RMS_RAW_7_0	EQU	0x13E		; Phase C RMS current
PHC_I_RMS_RAW_15_8	EQU	0x13F

PHC_I_RMS_7_0		EQU	0x140		; Phase C current in X A/LSB
PHC_I_RMS_15_8		EQU	0x141

PHC_V_RMS_RAW2_7_0	EQU	0x142		; Left adjusted Phase C voltage squared,
PHC_V_RMS_RAW2_15_8	EQU	0x143		;  final sum over LINE_CYC line cycles
PHC_V_RMS_RAW2_23_16	EQU	0x144
PHC_V_RMS_RAW2_31_24	EQU	0x145
PHC_V_RMS_RAW2_39_32	EQU	0x146
PHC_V_RMS_RAW2_47_40	EQU	0x147

PHC_V_RMS_RAW_7_0	EQU	0x148		; Phase C RMS voltage
PHC_V_RMS_RAW_15_8	EQU	0x149

PHC_V_RMS_7_0		EQU	0x14A		; Phase C voltage in X V/LSB
PHC_V_RMS_15_8		EQU	0x14B

I_RMS_7_0		EQU	0x14C		; Phases A+B+C RMS current
I_RMS_15_8		EQU	0x14D

NEUT_I_RMS_RAW2_7_0	EQU	0x150		; Left adjusted neutral line current squared,
NEUT_I_RMS_RAW2_15_8	EQU	0x151		;  final sum over LINE_CYC line cycles
NEUT_I_RMS_RAW2_23_16	EQU	0x152
NEUT_I_RMS_RAW2_31_24	EQU	0x153
NEUT_I_RMS_RAW2_39_32	EQU	0x154
NEUT_I_RMS_RAW2_47_40	EQU	0x155

NEUT_I_RMS_RAW_7_0	EQU	0x156		; Neutral line RMS current
NEUT_I_RMS_RAW_15_8	EQU	0x157

NEUT_I_RMS_7_0		EQU	0x158		; Neutral line current in X A/LSB
NEUT_I_RMS_15_8		EQU	0x159

NEUT_V_RMS_RAW2_7_0	EQU	0x15A		; Left adjusted neutral line voltage squared,
NEUT_V_RMS_RAW2_15_8	EQU	0x15B		;  final sum over LINE_CYC line cycles
NEUT_V_RMS_RAW2_23_16	EQU	0x15C
NEUT_V_RMS_RAW2_31_24	EQU	0x15D
NEUT_V_RMS_RAW2_39_32	EQU	0x15E
NEUT_V_RMS_RAW2_47_40	EQU	0x15F

NEUT_V_RMS_RAW_7_0	EQU	0x160		; Neutral line RMS voltage
NEUT_V_RMS_RAW_15_8	EQU	0x161

NEUT_V_RMS_7_0		EQU	0x162		; Neutral line voltage in X V/LSB
NEUT_V_RMS_15_8		EQU	0x163

PHA_W_RAW_7_0		EQU	0x164		; Phase A raw active power (V * I * period over one line cycle)
PHA_W_RAW_15_8		EQU	0x165
PHA_W_RAW_23_16		EQU	0x166
PHA_W_RAW_31_24		EQU	0x167
PHA_W_RAW_39_32		EQU	0x168
PHA_W_RAW_47_40		EQU	0x169

PHB_W_RAW_7_0		EQU	0x16A		; Phase B raw active power (V * I * period over one line cycle)
PHB_W_RAW_15_8		EQU	0x16B
PHB_W_RAW_23_16		EQU	0x16C
PHB_W_RAW_31_24		EQU	0x16D
PHB_W_RAW_39_32		EQU	0x16E
PHB_W_RAW_47_40		EQU	0x16F

PHC_W_RAW_7_0		EQU	0x170		; Phase C raw active power (V * I * period over one line cycle)
PHC_W_RAW_15_8		EQU	0x171
PHC_W_RAW_23_16		EQU	0x172
PHC_W_RAW_31_24		EQU	0x173
PHC_W_RAW_39_32		EQU	0x174
PHC_W_RAW_47_40		EQU	0x175

PHA_W_7_0		EQU	0x176		; Phase A active power (in X W/LSB), offset and gain corrected,	
PHA_W_15_8		EQU	0x177		;  over one line cycle
PHA_W_23_16		EQU	0x178
PHA_W_31_24		EQU	0x179

PHB_W_7_0		EQU	0x17A		; Phase B active power (in X W/LSB), offset and gain corrected,
PHB_W_15_8		EQU	0x17B		;  over one line cycle
PHB_W_23_16		EQU	0x17C
PHB_W_31_24		EQU	0x17D

PHC_W_7_0		EQU	0x17E		; Phase C active power (in X W/LSB), offset and gain corrected,
PHC_W_15_8		EQU	0x17F		;  over one line cycle
PHC_W_23_16		EQU	0x180
PHC_W_31_24		EQU	0x181

PHA_VA_RAW_7_0		EQU	0x182		; Phase A raw apparent power (VRMS * IRMS * PERIOD over
PHA_VA_RAW_15_8		EQU	0x183		;  LINE_CYC line cycles)
PHA_VA_RAW_23_16	EQU	0x184
PHA_VA_RAW_31_24	EQU	0x185
PHA_VA_RAW_39_32	EQU	0x186
PHA_VA_RAW_47_40	EQU	0x187

PHB_VA_RAW_7_0		EQU	0x188		; Phase B raw apparent power (VRMS * IRMS * PERIOD over
PHB_VA_RAW_15_8		EQU	0x189		;  LINE_CYC line cycles)
PHB_VA_RAW_23_16	EQU	0x18A
PHB_VA_RAW_31_24	EQU	0x18B
PHB_VA_RAW_39_32	EQU	0x18C
PHB_VA_RAW_47_40	EQU	0x18D

PHC_VA_RAW_7_0		EQU	0x18E		; Phase C raw apparent power (VRMS * IRMS * PERIOD over
PHC_VA_RAW_15_8		EQU	0x18F		;  LINE_CYC line cycles)
PHC_VA_RAW_23_16	EQU	0x190
PHC_VA_RAW_31_24	EQU	0x191
PHC_VA_RAW_39_32	EQU	0x192
PHC_VA_RAW_47_40	EQU	0x193

PHA_VA_7_0		EQU	0x194		; Phase A apparent power (in X VA/LSB), offset and gain corrected,
PHA_VA_15_8		EQU	0x195		;  over LINE_CYC line cycles)
PHA_VA_23_16		EQU	0x196
PHA_VA_31_24		EQU	0x197

PHB_VA_7_0		EQU	0x198		; Phase B apparent power (in X VA/LSB), offset and gain corrected,
PHB_VA_15_8		EQU	0x199		;  over LINE_CYC line cycles)
PHB_VA_23_16		EQU	0x19A
PHB_VA_31_24		EQU	0x19B

PHC_VA_7_0		EQU	0x19C		; Phase C apparent power (in X VA/LSB), offset and gain corrected,
PHC_VA_15_8		EQU	0x19D		;  over LINE_CYC line cycles)
PHC_VA_23_16		EQU	0x19E
PHC_VA_31_24		EQU	0x19F

PHA_VAR_RAW_7_0		EQU	0x1A0		; Phase A raw reactive power, over LINE_CYC line cycles
PHA_VAR_RAW_15_8	EQU	0x1A1
PHA_VAR_RAW_23_16	EQU	0x1A2
PHA_VAR_RAW_31_24	EQU	0x1A3
PHA_VAR_RAW_39_32	EQU	0x1A4
PHA_VAR_RAW_47_40	EQU	0x1A5

PHB_VAR_RAW_7_0		EQU	0x1A6		; Phase B raw reactive power, over LINE_CYC line cycles
PHB_VAR_RAW_15_8	EQU	0x1A7
PHB_VAR_RAW_23_16	EQU	0x1A8
PHB_VAR_RAW_31_24	EQU	0x1A9
PHB_VAR_RAW_39_32	EQU	0x1AA
PHB_VAR_RAW_47_40	EQU	0x1AB

PHC_VAR_RAW_7_0		EQU	0x1AC		; Phase C raw reactive power, over LINE_CYC line cycles
PHC_VAR_RAW_15_8	EQU	0x1AD
PHC_VAR_RAW_23_16	EQU	0x1AE
PHC_VAR_RAW_31_24	EQU	0x1AF
PHC_VAR_RAW_39_32	EQU	0x1B0
PHC_VAR_RAW_47_40	EQU	0x1B1

PHA_VAR_7_0		EQU	0x1B2		; Phase A reactive power (in X VAR/LSB), offset and gain corrected,
PHA_VAR_15_8		EQU	0x1B3		;  over LINE_CYC line cycles)
PHA_VAR_23_16		EQU	0x1B4
PHA_VAR_31_24		EQU	0x1B5

PHB_VAR_7_0		EQU	0x1B6		; Phase B reactive power (in X VAR/LSB), offset and gain corrected,
PHB_VAR_15_8		EQU	0x1B7		;  over LINE_CYC line cycles)
PHB_VAR_23_16		EQU	0x1B8
PHB_VAR_31_24		EQU	0x1B9

PHC_VAR_7_0		EQU	0x1BA		; Phase C reactive power (in X VAR/LSB), offset and gain corrected,
PHC_VAR_15_8		EQU	0x1BB		;  over LINE_CYC line cycles)
PHC_VAR_23_16		EQU	0x1BC
PHC_VAR_31_24		EQU	0x1BD

PERIOD_7_0		EQU	0x1C0		; Total number of 1.6us clock ticks over last LINE_CYC line cycles
PERIOD_15_8		EQU	0x1C1
PERIOD_23_16		EQU	0x1C2
PERIOD_31_24		EQU	0x1C3

ENERGY_W_7_0		EQU	0x1C4		; Total raw active energy accumulated so far
ENERGY_W_15_8		EQU	0x1C5
ENERGY_W_23_16		EQU	0x1C6
ENERGY_W_31_24		EQU	0x1C7
ENERGY_W_39_32		EQU	0x1C8
ENERGY_W_47_40		EQU	0x1C9
ENERGY_W_55_48		EQU	0x1CA
ENERGY_W_63_56		EQU	0x1CB

ENERGY_W_Z_7_0		EQU	0x1CC		; Total raw active energy accumulated since the
ENERGY_W_Z_15_8		EQU	0x1CD		;  last read of this register
ENERGY_W_Z_23_16	EQU	0x1CE
ENERGY_W_Z_31_24	EQU	0x1CF
ENERGY_W_Z_39_32	EQU	0x1D0
ENERGY_W_Z_47_40	EQU	0x1D1
ENERGY_W_Z_55_48	EQU	0x1D2
ENERGY_W_Z_63_56	EQU	0x1D3

ENERGY_W_L_RAW_7_0	EQU	0x1D4		; Total raw active energy accumulated over the
ENERGY_W_L_RAW_15_8	EQU	0x1D5		;  last LINE_CYC line cycles
ENERGY_W_L_RAW_23_16	EQU	0x1D6
ENERGY_W_L_RAW_31_24	EQU	0x1D7
ENERGY_W_L_RAW_39_32	EQU	0x1D8
ENERGY_W_L_RAW_47_40	EQU	0x1D9

ENERGY_W_L_7_0		EQU	0x1DA		; Total active energy, in X KWHr/LSB, over
ENERGY_W_L_15_8		EQU	0x1DB		;  the last LINE_CYC line cycles
ENERGY_W_L_23_16	EQU	0x1DC
ENERGY_W_L_31_24	EQU	0x1DD

ENERGY_VA_7_0		EQU	0x1DE		; Total raw apparent energy accumulated so far
ENERGY_VA_15_8		EQU	0x1DF
ENERGY_VA_23_16		EQU	0x1E0
ENERGY_VA_31_24		EQU	0x1E1
ENERGY_VA_39_32		EQU	0x1E2
ENERGY_VA_47_40		EQU	0x1E3
ENERGY_VA_55_48		EQU	0x1E4
ENERGY_VA_63_56		EQU	0x1E5

ENERGY_VA_Z_7_0		EQU	0x1E6		; Total raw apparent energy accumulated since the
ENERGY_VA_Z_15_8	EQU	0x1E7		;  last read of this register
ENERGY_VA_Z_23_16	EQU	0x1E8
ENERGY_VA_Z_31_24	EQU	0x1E9
ENERGY_VA_Z_39_32	EQU	0x1EA
ENERGY_VA_Z_47_40	EQU	0x1EB
ENERGY_VA_Z_55_48	EQU	0x1EC
ENERGY_VA_Z_63_56	EQU	0x1ED

ENERGY_VA_L_RAW_7_0	EQU	0x1EE		; Total raw apparent energy accumlated over
ENERGY_VA_L_RAW_15_8	EQU	0x1EF		;  the last LINE_CYC line cycles
ENERGY_VA_L_RAW_23_16	EQU	0x1F0
ENERGY_VA_L_RAW_31_24	EQU	0x1F1
ENERGY_VA_L_RAW_39_32	EQU	0x1F2
ENERGY_VA_L_RAW_47_40	EQU	0x1F3

ENERGY_VA_L_7_0		EQU	0x1F4		; Total apparent energy, in X KVAHr/LSB, over
ENERGY_VA_L_15_8	EQU	0x1F5		;  the last LINE_CYC line cycles
ENERGY_VA_L_23_16	EQU	0x1F6
ENERGY_VA_L_31_24	EQU	0x1F7

PHA_I_ABS_MAX		EQU	0x1F8		; Maximum absolute value of most significant bytes
PHA_V_ABS_MAX		EQU	0x1F9		;  of ADC readings for current and voltage for all 
PHB_I_ABS_MAX		EQU	0x1FA		;  three phases over the most recent LINE_CYC line
PHB_V_ABS_MAX		EQU	0x1FB		;  cycles
PHC_I_ABS_MAX		EQU	0x1FC
PHC_V_ABS_MAX		EQU	0x1FD

USER_BANK1_END		EQU	0x1FF		; End user bank 1

USER_BANK2		EQU	0x200		; User bank 2, must follow user bank 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -