📄 main.asm
字号:
;D,Q ZHOU DE FENG LIANG ZHI JIE JIN RU 2-3 FAN BIAN HUAN
; LDP #ipark_D
; BLDD #D,ipark_D
; BLDD #Q,ipark_Q
; BLDD #theta,theta_ip
; CALL I_PARK
;========================================================
LDP #Iclark_d
BLDD #ipark_d,Iclark_d
BLDD #ipark_q,Iclark_q
CALL I_CLARKE
SETC SXM
LDP #ia
LACC ia
ADD ib
NEG
SACL ic
;===================================
;ZHEN ZHENG DE ZHI LING DIAN LIU
LDP #Iclark_a
LACC Iclark_a
LDP #ia
SUB ia
LDP #iia
SACL iia
LDP #Iclark_a
LACC Iclark_b
LDP #ia
SUB ib
LDP #iib
SACL iib
LDP #Iclark_a
LACC Iclark_c
LDP #ia
SUB ic
LDP #iic
SACL iic
;========================================================
;========================================================
; XU JIA DE ZHI LING DIAN LIU
; LDP #Iclark_a
; LACC Iclark_a
; LDP #iia_1
; SUB iia_1
; LDP #iia
; SACL iia
; LDP #Iclark_a
; LACC Iclark_b
; LDP #iib_1
; SUB iib_1
; LDP #iia
; SACL iib
; LDP #Iclark_a
; LACC Iclark_c
; LDP #iia_1
; SUB iic_1
; LDP #iia
; SACL iic
;==================================================
LDP #DELTA_IA
BLDD #iia,DELTA_IA
BLDD #iib,DELTA_IB
BLDD #iic,DELTA_IC
CALL CUR_CON
; LDP #iia_1
; BLDD #Iclark_a,iia_1
; BLDD #Iclark_b,iib_1
; BLDD #Iclark_c,iic_1
; LDP #DELTA_IA
; BLDD #Iclark_a,DELTA_IA
; BLDD #Iclark_b,DELTA_IB
; BLDD #Iclark_c,DELTA_IC
; CALL CUR_CON
CLRC SXM
LDP #232
BLDD #Ta,CMPR1
BLDD #Tb,CMPR2
BLDD #Tc,CMPR3
; SPLK #500,CMPR1
; SPLK #500,CMPR2
; SPLK #500,CMPR3
; SETC SXM
; LDP #isa
; LACC isa
; LDP #Iclark_a
; SUB Iclark_a
; LDP #as
; SACL as
; LDP #input1
; BLDD #theta,input1
; BLDD #ifcase,input2
; BLDD #CAPFIFO,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #ia,input1
; BLDD #ib,input2
; BLDD #Iclark_a,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #iia,input1
; BLDD #Ta,input2
; CALL DATA_LOG
; LDP #input1
; BLDD #isa,input1
; BLDD #ib,input2
; BLDD #ia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #isa,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #iia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #Iclark_a,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #isa,input1
; BLDD #ila,input2
; BLDD #Udc,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #Iclark_a,input2
; BLDD #ia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #ila,input1
; BLDD #ilb,input2
; BLDD #theta,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #isb,input1
; BLDD #Udc,input2
; CALL DATA_LOG
; LDP #input1
; BLDD #En0_reg2,input1
; BLDD #Un_reg2,input2
; BLDD #pid_out_reg2,input3
; CALL DATA_LOG
;===========================
; LDP #U
; LACC U
; ADD #1
; SACL U
; AND #1
; BCND TT,EQ
; SPLK #3E9h,CMPR1
; SPLK #3E9h,CMPR2
; SPLK #3E9h,CMPR3
;TT:
; SPLK #0h,CMPR1
; SPLK #0h,CMPR2
; SPLK #0h,CMPR3
;==========================
; LDP #AA
; LACC AA
; NEG
; SACL AA
; LDP #232
; BLDD #AA,CMPR1
; BLDD #AA,CMPR2
; BLDD #AA,CMPR3
; LDP #input1
; BLDD #D,input1
;BLDD #Q,input2
;BLDD #park_D,input3
;CALL DATA_LOG
; ---------------------------------------------------------
;=========================================================
;End main section of ISR
;=========================================================
;Context restore regs
END_ISR:
POINT_PG0
MAR *, AR1 ;make stack pointer active
LACL *- ;Restore Acc low
ADDH *- ;Restore Acc high
LST #0, *- ;load ST0
LST #1, *- ;load ST1
EINT
RET
SUB111 LDP #Udc
LACC Udc
; SUB #4000
SUB #1800;88V
; SUB #5500
; SUB #2000
; SUB #1500
; ABS
; SUB #400
; BCND BWD,GT
BCND BWD,LT
LDP #WDJS
LACC WDJS
ADD #1
SACL WDJS
SUB #1
BCND BWD,LT
LDP #232
SPLK #0000011001100110b,ACTR
; SPLK #0000111111111111b,ACTR
; splk #0,ACTR
LDP #WDPD
SPLK #1,WDPD
BWD NOP
NOP
;===================================
;PID SUH CHU * DING BIAO
; LT pid_out_reg2
; LDP #qxishu
; MPY qxishu
; PAC
; LDP #pid_out_reg2
; SACH pid_out_reg2,1
;==================================
; LDP #A4_ch_sel
; SPLK #5432h,A4_ch_sel
; CALL ADC04U_DRV
; LT C1_out ;wrong spm 0
; MPY wc
; PAC
; LDP #iq
; ADD iq,15
; SACH iqq,1
;=============================================
;Q ZHOU DE FEN LIANG JIA RU YI GE CHANG SHU
; ZHI HOU JIN RU 2-3 FAN BIAN HUAN
; SETC SXM
; LDP #Q
; LACC Q
; LACC #0
; ADD #400
; LDP #qjia
; SACL qjia
;===============================================
;===============================================
;JIANG PID DE SHU CHU JIA DAO D ZHOU SHANG
; LDP #D
; LACC D
; LACC #0
; LDP #pid_out_reg2
; ADD pid_out_reg2
; LDP #D
; SACL D
;=============================================
;============================================
;Q ZHOU JIA RU C BING QIE JIA RU PID FENG LIANG
SETC SXM
LDP #Q
LACC Q
; SUB #1600
; LDP #pid_out_reg2
; ADD pid_out_reg2
; SUB pid_out_reg2
LDP #qjia
SACL qjia
;D ZHOU BU JIA RU REN HE FEN LIANG HUO JIA RU PID
LDP #D
LACC D
; LDP #pid_out_reg2
; SUB pid_out_reg2
LDP #D
SACL D
;=========================================
; PID TIAO JIE O ZHOU FEN LIANG
; LDP #ipark_D
; SPLK #0,ipark_D
; BLDD #pid_out_reg2,ipark_Q
; BLDD #theta,theta_ip
; CALL I_PARK
;===============================================
;==============================================
;PID TIAO JIE D ZHOU FEN LIANG
; LDP #ipark_D
; SPLK #0,ipark_Q
; BLDD #pid_out_reg2,ipark_D
; BLDD #theta,theta_ip
; CALL I_PARK
;================================================
;======================================================
;ZHEN ZHENG DE 2-3 FAN BIAN HUAN
;JIA RU LE YI GE CHANG LIANG
;JIA RU LE PID
LDP #DC_ref
BLDD #Udc,DC_ref
LDP #ipark_D
BLDD #D,ipark_D
BLDD #qjia,ipark_Q
BLDD #sin_theta,sin_theta1
BLDD #cos_theta,cos_theta1
CALL I_PARK
;============================================
;=============================================
;Q ZHOU FAN ZHI JIE JIN RU 2-3
; LDP #ipark_D
; BLDD #Yout_IIR,ipark_Q
; SPLK #0,ipark_D
; CALL I_PARK
;======================================================
;D,Q ZHOU DE FENG LIANG ZHI JIE JIN RU 2-3 FAN BIAN HUAN
; LDP #ipark_D
; BLDD #D,ipark_D
; BLDD #Q,ipark_Q
; BLDD #theta,theta_ip
; CALL I_PARK
;========================================================
LDP #Iclark_d
BLDD #ipark_d,Iclark_d
BLDD #ipark_q,Iclark_q
CALL I_CLARKE
SETC SXM
LDP #ia
LACC ia
ADD ib
NEG
SACL ic
;===================================
;ZHEN ZHENG DE ZHI LING DIAN LIU
LDP #Iclark_a
LACC Iclark_a
LDP #ia
SUB ia
LDP #iia
SACL iia
LDP #Iclark_a
LACC Iclark_b
LDP #ia
SUB ib
LDP #iib
SACL iib
LDP #Iclark_a
LACC Iclark_c
LDP #ia
SUB ic
LDP #iic
SACL iic
;========================================================
;========================================================
; XU JIA DE ZHI LING DIAN LIU
; LDP #Iclark_a
; LACC Iclark_a
; LDP #iia_1
; SUB iia_1
; LDP #iia
; SACL iia
; LDP #Iclark_a
; LACC Iclark_b
; LDP #iib_1
; SUB iib_1
; LDP #iia
; SACL iib
; LDP #Iclark_a
; LACC Iclark_c
; LDP #iia_1
; SUB iic_1
; LDP #iia
; SACL iic
;==================================================
LDP #DELTA_IA
BLDD #iia,DELTA_IA
BLDD #iib,DELTA_IB
BLDD #iic,DELTA_IC
CALL CUR_CON
; LDP #DELTA_IA
; BLDD #Iclark_a,DELTA_IA
; BLDD #Iclark_b,DELTA_IB
; BLDD #Iclark_c,DELTA_IC
; CALL CUR_CON
CLRC SXM
LDP #232
BLDD #Ta,CMPR1
BLDD #Tb,CMPR2
BLDD #Tc,CMPR3
; SETC SXM
; LDP #isa
; LACC isa
; LDP #Iclark_a
; SUB Iclark_a
; LDP #as
; SACL as
; LDP #input1
; BLDD #isa,input1
; BLDD #Iclark_a,input2
; BLDD #as,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #ia,input1
; BLDD #ib,input2
; BLDD #Iclark_a,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #iia,input1
; BLDD #Ta,input2
; CALL DATA_LOG
; LDP #input1
; BLDD #isa,input1
; BLDD #ib,input2
; BLDD #ia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #isa,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #iia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #ia,input2
; BLDD #Iclark_a,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Udc,input1
; BLDD #Iclark_a,input2
; BLDD #ia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #Ta,input1
; BLDD #Iclark_a,input2
; BLDD #ia,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #ila,input1
; BLDD #ilb,input2
; BLDD #theta,input3
; CALL DATA_LOG
; LDP #input1
; BLDD #isb,input1
; BLDD #Udc,input2
; CALL DATA_LOG
; LDP #input1
; BLDD #En0_reg2,input1
; BLDD #Un_reg2,input2
; BLDD #pid_out_reg2,input3
; CALL DATA_LOG
;===========================
; LDP #U
; LACC U
; ADD #1
; SACL U
; AND #1
; BCND TT,EQ
; SPLK #3E9h,CMPR1
; SPLK #3E9h,CMPR2
; SPLK #3E9h,CMPR3
;TT:
; SPLK #0h,CMPR1
; SPLK #0h,CMPR2
; SPLK #0h,CMPR3
;==========================
; LDP #AA
; LACC AA
; NEG
; SACL AA
; LDP #232
; BLDD #AA,CMPR1
; BLDD #AA,CMPR2
; BLDD #AA,CMPR3
; LDP #input1
; BLDD #D,input1
;BLDD #Q,input2
;BLDD #park_D,input3
;CALL DATA_LOG
; ---------------------------------------------------------
;=========================================================
;End main section of ISR
;=========================================================
;Context restore regs
END_ISR1:
POINT_PG0
MAR *, AR1 ;make stack pointer active
LACL *- ;Restore Acc low
ADDH *- ;Restore Acc high
LST #0, *- ;load ST0
LST #1, *- ;load ST1
EINT
RET
;==============================================================================
;==============================================================================
; I S R - PHANTOM
;
; Description: Dummy ISR, used to trap spurious interrupts.
;
; Modifies:
;
; Last Update: 3-26-2001
;==============================================================================
PHANTOM B PHANTOM
PHANTOM1 B PHANTOM1
PHANTOM2 B PHANTOM2
PHANTOM3 B PHANTOM3
PHANTOM4 B PHANTOM4
PHANTOM5 B PHANTOM5
PHANTOM6 B PHANTOM6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -