📄 tsf_main.asm
字号:
RET
.endfunc 592,000000000H,1
.sym _GndJzgEn,_GndJzgEn,32,2,0
.globl _GndJzgEn
.func 594
;>>>> void GndJzgEn(void)
******************************************************
* FUNCTION DEF : _GndJzgEn
******************************************************
_GndJzgEn:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PEDATDIR=*PEDATDIR|0x8000;
LARK AR3,28821
LALK 1,15
OR *
SACL *
.line 3
;>>>> *PEDATDIR=*PEDATDIR&0xFF7F;
LACK 65407
AND *
SACL *
.line 4
;>>>> *PADATDIR=*PADATDIR&0xFFDF; //cap3 down
LACK 65503
ADRK 3
AND *
SACL * ,AR1
EPI0_23:
.line 5
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 598,000000000H,1
.sym _UpVtgRes,_UpVtgRes,32,2,0
.globl _UpVtgRes
.func 599
;>>>> void UpVtgRes(void)
******************************************************
* FUNCTION DEF : _UpVtgRes
******************************************************
_UpVtgRes:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 5
;>>>> *PFDATDIR=*PFDATDIR|0x101;
LARK AR3,28822
LACK 257
OR *
SACL * ,AR1
EPI0_24:
.line 6
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 604,000000000H,1
.sym _GndVtgRes,_GndVtgRes,32,2,0
.globl _GndVtgRes
.func 605
;>>>> void GndVtgRes(void)
******************************************************
* FUNCTION DEF : _GndVtgRes
******************************************************
_GndVtgRes:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PFDATDIR=*PFDATDIR|0x0100;
LARK AR3,28822
LACK 256
OR *
SACL *
.line 4
;>>>> *PFDATDIR=*PFDATDIR&0xFFFE;
LACK 65534
AND *
SACL * ,AR1
EPI0_25:
.line 5
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 609,000000000H,1
.sym _UpVtgs,_UpVtgs,32,2,0
.globl _UpVtgs
.func 610
;>>>> void UpVtgs(void)
******************************************************
* FUNCTION DEF : _UpVtgs
******************************************************
_UpVtgs:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 4
;>>>> {*PFDATDIR=*PFDATDIR&0xFDFF;
LARK AR3,28822
LACK 65023
AND *
SACL *
.line 5
;>>>> *PFDATDIR=*PFDATDIR|0x0002;
LACK 2
OR *
SACL * ,AR1
EPI0_26:
.line 6
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 615,000000000H,1
.sym _GndVtgS,_GndVtgS,32,2,0
.globl _GndVtgS
.func 620
;>>>> void GndVtgS(void)
******************************************************
* FUNCTION DEF : _GndVtgS
******************************************************
_GndVtgS:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PFDATDIR=*PFDATDIR&0xFDFD;
LARK AR3,28822
LACK 65021
AND *
SACL * ,AR1
EPI0_27:
.line 3
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 622,000000000H,1
.sym _UpJcqEn,_UpJcqEn,32,2,0
.globl _UpJcqEn
.func 626
;>>>> void UpJcqEn(void)
******************************************************
* FUNCTION DEF : _UpJcqEn
******************************************************
_UpJcqEn:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
LARK AR3,28822
LACK 16
OR *
SACL * ,AR1
EPI0_28:
.line 2
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 627,000000000H,1
.sym _GndJcqEn,_GndJcqEn,32,2,0
.globl _GndJcqEn
.func 630
;>>>> void GndJcqEn(void)
******************************************************
* FUNCTION DEF : _GndJcqEn
******************************************************
_GndJcqEn:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *PFDATDIR=*PFDATDIR&0xFFEF;
LARK AR3,28822
LACK 65519
AND *
SACL * ,AR1
EPI0_29:
.line 7
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 636,000000000H,1
.sym _DisDrive,_DisDrive,32,2,0
.globl _DisDrive
.func 644
;>>>> void DisDrive(void)
******************************************************
* FUNCTION DEF : _DisDrive
******************************************************
_DisDrive:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PADATDIR=*PADATDIR|0x0080;
LARK AR3,28824
LACK 128
OR *
SACL *
.line 3
;>>>> *PBDATDIR=*PBDATDIR|0x000A;
LACK 10
ADRK 2
OR *
SACL * ,AR1
EPI0_30:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 647,000000000H,1
.sym _EnDrive,_EnDrive,32,2,0
.globl _EnDrive
.func 650
;>>>> void EnDrive(void)
******************************************************
* FUNCTION DEF : _EnDrive
******************************************************
_EnDrive:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PADATDIR=*PADATDIR&0xFF7F;
LARK AR3,28824
LACK 65407
AND *
SACL *
.line 3
;>>>> *PBDATDIR=*PBDATDIR&0xFFF5;
LACK 65525
ADRK 2
AND *
SACL * ,AR1
EPI0_31:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 653,000000000H,1
.sym _UpRes,_UpRes,32,2,0
.globl _UpRes
.func 656
;>>>> void UpRes(void)
******************************************************
* FUNCTION DEF : _UpRes
******************************************************
_UpRes:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PBDATDIR=*PBDATDIR&0xFFEF;
LARK AR3,28826
LACK 65519
AND *
SACL * ,AR1
EPI0_32:
.line 3
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 658,000000000H,1
.sym _GndRes,_GndRes,32,2,0
.globl _GndRes
.func 660
;>>>> void GndRes(void)
******************************************************
* FUNCTION DEF : _GndRes
******************************************************
_GndRes:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PBDATDIR=*PBDATDIR|0x0010;
LARK AR3,28826
LACK 16
OR *
SACL * ,AR1
EPI0_33:
.line 3
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 662,000000000H,1
.sym _UpP1,_UpP1,32,2,0
.globl _UpP1
.func 666
;>>>> void UpP1(void)
******************************************************
* FUNCTION DEF : _UpP1
******************************************************
_UpP1:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
LARK AR3,28824
LACK 64
OR *
SACL * ,AR1
EPI0_34:
.line 3
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 668,000000000H,1
.sym _GndP1,_GndP1,32,2,0
.globl _GndP1
.func 669
;>>>> void GndP1(void)
******************************************************
* FUNCTION DEF : _GndP1
******************************************************
_GndP1:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 2
;>>>> {*PADATDIR=*PADATDIR&0xFFBF;
LARK AR3,28824
LACK 65471
AND *
SACL * ,AR1
EPI0_35:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 672,000000000H,1
.sym _timer2_isr,_timer2_isr,32,2,0
.globl _timer2_isr
.func 703
;>>>> interrupt void timer2_isr(void)
******************************************************
* FUNCTION DEF : _timer2_isr
******************************************************
_timer2_isr:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
EPI0_36:
.line 4
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 706,000000000H,1
.sym _ad,_ad,32,2,0
.globl _ad
.func 707
;>>>> void ad(void)
;>>>> { int end_ad,kk,tmp1;
;>>>> static unsigned int tt=0,xxx=0;
;>>>> static int ii=0;
;>>>> static int i=0,j=0;
;>>>> //loop:
;>>>> // end_ad=*ADCTRL2&0x1000; /*wait for the end of conversion of adbit12*/
;>>>> // while(end_ad) goto loop;
;>>>> // *ADCTRL2=*ADCTRL2|0x4000; /*Immediately reset sequencer to state CONV00*/
;>>>> // channel_0=(*RESULT15)>>6; /*Phase B*/
;>>>> // channel_1=(*RESULT7)>>6; /*Phase C*/
;>>>> // channel_2=(*RESULT14)>>6; /*None*/
;>>>> // channel_3=(*RESULT6)>>6; /*Phase A*/
;>>>> // Ad_data[ii]=(*RESULT3)>>6
;>>>> //if(tt<50) tt++ ;
******************************************************
* FUNCTION DEF : _ad
******************************************************
_ad:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+
.sect ".cinit"
.word 1,_tt$1
.word 0
.text
.sym _tt,_tt$1,14,3,16
.sect ".cinit"
.word 1,_xxx$2
.word 0
.text
.sym _xxx,_xxx$2,14,3,16
.sect ".cinit"
.word 1,_ii$3
.word 0
.text
.sym _ii,_ii$3,4,3,16
.sect ".cinit"
.word 1,_i$4
.word 0
.text
.sym _i,_i$4,4,3,16
.sect ".cinit"
.word 1,_j$5
.word 0
.text
.sym _j,_j$5,4,3,16
.sym _end_ad,1,4,1,16
.sym _kk,2,4,1,16
.sym _tmp1,3,4,1,16
.line 22
;>>>> tt=tt+50;
;>>>> //*CMPR1 = 1000;/*pwm_duty;*/ /* set PWM1 duty cycle 563*/
;>>>> //*CMPR2 = 1000;/*pwm_duty;*/
;>>>> //*CMPR3 = 1000;/*pwm_duty;*/
LDPK _tt$1
LAC _tt$1
ADDK 50
SACL _tt$1
.line 26
;>>>> xxx++;
;>>>> //if(qq==1) freq_testing=0;
LAC _xxx$2
ADDK 1
SACL _xxx$2
.line 28
;>>>> if(qq==1)
LAC _qq
SUBK 1
BNZ L22
.line 30
;>>>> if(xxx==12&&>0)
LAC _xxx$2
SUBK 12
BNZ L24
SSXM
LAC _amp
BLEZ L24
.line 32
;>>>> amp--;
SUBK 1
SACL _amp
.line 33
;>>>> xxx=0;
;>>>> else {
LACK 0
SACL _xxx$2
B L24
L22:
.line 38
;>>>> if(xxx==12&&<0x2000)
LAC _xxx$2
SUBK 12
BNZ L24
SSXM
LAC _amp
SUBK 8192
BGEZ L24
.line 40
;>>>> amp=amp+1;
ADDK 8193
SACL _amp
.line 41
;>>>> xxx=0;
LACK 0
SACL _xxx$2
L24:
.line 45
;>>>> Vq_testing = amp;
;>>>> //drive.calc(&drive);
;>>>> // rmpc.target_value = freq_testing;
BLKD #_amp,_Vq_testing
.line 54
;>>>> rmpc.calc((void *)&rmpc);
LALK _rmpc+0
SACL *+
LAC _rmpc+7
CALA
MAR *-
.line 56
;>>>> rg.rmp_freq=rmpc.setpt_value;
LDPK _rmpc+5
BLDD _rmpc+5,#_rg
.line 58
;>>>> rg.calc((void *)&rg);
LALK _rg+0
SACL *+
LAC _rg+6
CALA
MAR *-
.line 63
;>>>> pid_spd.pid_ref_reg1 = 500;
LDPK _pid_spd
SPLK #500,_pid_spd
.line 64
;>>>> pid_spd.pid_fb_reg1 = sp.speed_frq;
BLKD #_sp+4,_pid_spd+1
.line 65
;>>>> pid_spd.calc((void *)&pid_spd);
LALK _pid_spd+0
SACL *+
LAC _pid_spd+11
CALA
MAR *-
.line 69
;>>>> pid_id.pid_ref_reg3 = 0x2000;//0x0
LDPK _pid_id
SPLK #8192,_pid_id
.line 70
;>>>> pid_id.pid_fdb_reg3 = current_DQ.d;
BLKD #_current_DQ,_pid_id+1
.line 71
;>>>> pid_id.calc((void *)&pid_id);
LALK _pid_id+0
SACL *+
LAC _pid_id+18
CALA
MAR *-
.line 73
;>>>> pid_iq.pid_ref_reg3 = pid_spd.pid_out_reg1;
LDPK _pid_spd+10
BLDD _pid_spd+10,#_pid_iq
.line 74
;>>>> pid_iq.pid_fdb_reg3 = current_DQ.q;
BLDD _current_DQ+1,#_pid_iq+1
.line 75
;>>>> pid_iq.calc((void *)&pid_iq);
;>>>> //observe((pid_spd.pid_out_reg3^0x8000)>>4,(pid_spd.pid_fdb_reg3^0x8000)>>4,(pid_iq.pid_out_reg3^0x8000)>>4,(pid_iq.pid_fdb_reg3^0x8000)>>4);
LALK _pid_iq+0
SACL *+
LDPK _pid_iq+18
LAC _pid_iq+18
CALA
MAR *-
.line 78
;>>>> voltage_DQt.D = pid_id.pid_out_reg3;
LDPK _pid_id+12
BLDD _pid_id+12,#_voltage_DQt
.line 79
;>>>> voltage_DQt.Q = pid_iq.pid_out_reg3;
;>>>> //voltage_DQt.theta = 0;
;>>>> //voltage_DQt.theta = fe.theta_r_fe;
;>>>> //voltage_DQt.D = 0;
;>>>> //voltage_DQt.Q = Vq_testing;
BLDD _pid_iq+12,#_voltage_DQt+1
.line 87
;>>>> voltage_DQt.theta = cur.theta_cur_mod;
;>>>> // voltage_DQt.theta = rg.rmp_out;
LDPK _cur+9
BLDD _cur+9,#_voltage_DQt+2
.line 91
;>>>> ipark((void *)&voltage_DQt,(void *)&voltage_dq);
;>>>> // observe((current_DQ.d^0x8000)>>4,(current_DQ.q^0x8000)>>4,(voltage_DQt.D^0x8000)>>4,(voltage_DQt.Q^0x8000)>>4);
LALK _voltage_dq+0
SACL *+
LALK _voltage_DQt+0
SACL *+
CALL _ipark
SBRK 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -