📄 tsf_main.asm
字号:
.word 0
.word 0
.word 0
.word 0
.word 0
.word _phase_voltage_calc+0
IS7 .set 10
.sym _volt,_volt,8,2,160,.fake8
.globl _volt
.word IS8,_pid_id
.word 0
.word 0
.word 0
.word 5883
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 12288
.word -12289
.word 0
.word 0
.word 2000
.word 30421
.word 0
.word 0
.word _pid_reg3_calc+0
IS8 .set 19
.sym _pid_id,_pid_id,8,2,304,.fake5
.globl _pid_id
.word IS9,_pid_iq
.word 0
.word 0
.word 0
.word 5883
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 12288
.word -12289
.word 0
.word 0
.word 2000
.word 30421
.word 0
.word 0
.word _pid_reg3_calc+0
IS9 .set 19
.sym _pid_iq,_pid_iq,8,2,304,.fake5
.globl _pid_iq
.word IS10,_pid_spd
.word 0
.word 0
.word 8704
.word 48
.word -8531
.word 0
.word 32767
.word -256
.word 0
.word 0
.word 0
.word _pid_reg1_calc+0
IS10 .set 12
.sym _pid_spd,_pid_spd,8,2,192,.fake6
.globl _pid_spd
.word IS11,_ilg2_vdc
.word 8191
.word 0
.word 0
.word 8191
.word 0
.word 0
.word 8191
.word 0
.word 0
.word 0
.word 3378
.word _F2407_ileg2_dcbus_drv_init+0
.word _F2407_ileg2_dcbus_drv_read+0
IS11 .set 13
.sym _ilg2_vdc,_ilg2_vdc,8,2,208,.fake3
.globl _ilg2_vdc
.word IS12,_qep1
.word 0
.word 0
.word 0
.word 16776
.word 0
.word 4
.word 0
.word 0
.word 0
.word _F2407_EV1_qep_theta_calc+0
.word _F2407_EV1_QEP_Init+0
.word _F2407_EV1_QEP_Index_Handle+0
IS12 .set 12
.sym _qep1,_qep1,8,2,192,.fake4
.globl _qep1
.word IS13,_sp
.word 0
.word 6400
.word 0
.word 22261
.word 0
.word 10507
.word 7200
.word 0
.word _speed_frq+0
IS13 .set 9
.sym _sp,_sp,8,2,144,.fake7
.globl _sp
.word IS14,_fe
.word 0
.word 0
.word 0
.word 32651
.word 0
.word 117
.word 0
.word 0
.word 31203
.word 3209
.word 0
.word 0
.word 0
.word 4096
.word 0
.word 0
.word 0
.word 2816
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 4881
.word 683
.word 0
.word 0
.word 0
.word 0
.word 3370
.word 17206
.word 0
.word 0
.word _aci_fe_calc+0
IS14 .set 35
.sym _fe,_fe,8,2,560,.fake9
.globl _fe
.word IS15,_cur
.word 0
.word 0
.word 0
.word 0
.word 156
.word 309
.word 0
.word 656
.word 0
.word 16383
.word _cur_mod_calc+0
IS15 .set 11
.sym _cur,_cur,8,2,176,.fake16
.globl _cur
.globl _voltage_dq
.globl _current_dq
.globl _current_DQ
.globl _voltage_DQt
.globl _current_dqt
.globl _current_abc
.word 1,_freq_testing
.word 2304
.sym _freq_testing,_freq_testing,14,2,16
.globl _freq_testing
.word 1,_Vd_testing
.word 8191
.sym _Vd_testing,_Vd_testing,14,2,16
.globl _Vd_testing
.word 1,_Vq_testing
.word 0
.sym _Vq_testing,_Vq_testing,14,2,16
.globl _Vq_testing
.word 1,_speed_ref
.word 1280
.sym _speed_ref,_speed_ref,14,2,16
.globl _speed_ref
.text
.sym _main,_main,32,2,0
.globl _main
.func 182
;>>>> void main(void)
;>>>> int jj;
;>>>> int s1,s2,s3,s_t,s_c,s_v,flag;
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,9
LAR AR0,*0+,AR3
.sym _jj,1,4,1,16
.sym _s1,2,4,1,16
.sym _s2,3,4,1,16
.sym _s3,4,4,1,16
.sym _s_t,5,4,1,16
.sym _s_c,6,4,1,16
.sym _s_v,7,4,1,16
.sym _flag,8,4,1,16
.line 6
;>>>> *IMR = 0x0000;
LARK AR3,4
LACK 0
SACL * ,AR1
.line 7
;>>>> sysinit();
CALL _sysinit
.line 8
;>>>> delay();
CALL _delay
.line 9
;>>>> delay();
CALL _delay
.line 10
;>>>> delay();
CALL _delay
.line 11
;>>>> delay();
CALL _delay
.line 12
;>>>> fira.dbuffer_ptr=&fira.dbuffer[0];
LALK _fira+5
LDPK _fira+1
SACL _fira+1
.line 13
;>>>> fira.coeff_ptr=&fira.coeff[0];
LALK _fira+25
SACL _fira
.line 14
;>>>> fira.init(&fira);
LALK _fira+0
SACL *+
LAC _fira+46
CALA
MAR *-
.line 15
;>>>> firb.dbuffer_ptr=&firb.dbuffer[0];
LALK _firb+5
LDPK _firb+1
SACL _firb+1
.line 16
;>>>> firb.coeff_ptr=&firb.coeff[0];
LALK _firb+25
SACL _firb
.line 17
;>>>> firb.init(&firb);
LALK _firb+0
SACL *+
LAC _firb+46
CALA
MAR *-,AR2
.line 18
;>>>> jj=1;
;>>>> // pid_id.Kp_reg3 = 21178; /* Q15 */
;>>>> // pid_id.Ki_reg3 = 5592; /* Q31-16bit */
;>>>> // pid_id.Kd_reg3 = 0; /* Q14 */
;>>>> // pid_id.Kc_reg3 = 20281; /* Q15 */
;>>>> // pid_id.pid_out_max = 0x4000; /* Q15 */
;>>>> // pid_id.pid_out_min = 0xC000; /* Q15 */
;>>>> // pid_iq.Kp_reg3 = 21178; /* Q15 */
;>>>> // pid_iq.Ki_reg3 = 5592; /* Q31-16bit */
;>>>> // pid_iq.Kd_reg3 = 0; /* Q14 */
;>>>> // pid_iq.Kc_reg3 = 20281; /* Q15 */
;>>>> // pid_iq.pid_out_max = 0x6500; /* Q15 */
;>>>> // pid_iq.pid_out_min = 0x9B00; /* Q15 */
LACK 1
LARK AR2,1
MAR *0+
SACL * ,AR1
.line 41
;>>>> current_DQ.d=0;
LACK 0
LDPK _current_DQ
SACL _current_DQ
.line 42
;>>>> current_DQ.q=0;
SACL _current_DQ+1
.line 44
;>>>> ilg2_vdc.Ch_sel=0x067f;
LDPK _ilg2_vdc+10
SPLK #1663,_ilg2_vdc+10
.line 45
;>>>> ilg2_vdc.Imeas_a_offset=0;//-400;
LDPK _ilg2_vdc+1
SACL _ilg2_vdc+1
.line 46
;>>>> ilg2_vdc.Imeas_b_offset=0;//-400;
LDPK _ilg2_vdc+4
SACL _ilg2_vdc+4
.line 47
;>>>> ilg2_vdc.init(&ilg2_vdc);
LALK _ilg2_vdc+0
SACL *+
LAC _ilg2_vdc+11
CALA
MAR *-
.line 48
;>>>> qep1.init(&qep1);
LALK _qep1+0
SACL *+
LDPK _qep1+10
LAC _qep1+10
CALA
MAR *-,AR0
.line 50
;>>>> DAC0=0;
LACK 0
SACL *
OUT * ,08018h
.line 51
;>>>> DAC1=0;
SACL *
OUT * ,08019h
.line 52
;>>>> DAC2=0;
SACL *
OUT * ,0801ah
.line 53
;>>>> DAC3=0;
SACL *
OUT * ,0801bh
.line 54
;>>>> DAOUT=3;
;>>>> while(1)
LACK 3
SACL *
OUT * ,08020h,AR2
LARK AR2,2
MAR *0+,AR3
L1:
.line 57
;>>>> { s1=*PFDATDIR&0x0004;
LARK AR3,28822
LACK 4
AND * ,AR2
SACL *+,AR3
.line 58
;>>>> s2=*PFDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL *+,AR3
.line 59
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
SACL *
.line 60
;>>>> if(s1==0x0000)
SBRK 2
LAC *
BNZ L3
.line 61
;>>>> {GndJcqEn();
CALL _GndJcqEn,AR1
.line 62
;>>>> Led1On();
;>>>> //UpJzgEn();
CALL _Led1On
.line 64
;>>>> break;}
B L2
L3:
.line 66
;>>>> while(1)
MAR * ,AR3
B L1
L2:
L4:
.line 68
;>>>> { s1=*PFDATDIR&0x0004;
LARK AR3,28822
LACK 4
MAR * ,AR3
AND * ,AR2
LARK AR2,2
MAR *0+
SACL *+,AR3
.line 69
;>>>> s2=*PFDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL *+,AR3
.line 70
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
SACL *
.line 76
;>>>> if(s3==0x000)
LAC *
BNZ L6
.line 78
;>>>> GndJzgEn();
CALL _GndJzgEn,AR1
.line 79
;>>>> Led3On();
CALL _Led3On
.line 80
;>>>> break;
B L5
L6:
.line 83
SBRK 2
MAR * ,AR3
B L4
L5:
.line 108
;>>>> asm(" CLRC INTM");
;>>>> //pwm.init(&pwm);
;>>>> while(1)
CLRC INTM
MAR * ,AR3
L7:
.line 127
;>>>> s1=*PFDATDIR&0x0004;
;>>>> //s2=*PFDATDIR&0x0020;
LARK AR3,28822
LACK 4
AND * ,AR2
LARK AR2,2
MAR *0+
SACL * ,AR3
.line 129
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
ADRK 2
SACL * ,AR3
.line 130
;>>>> s_t=*PBDATDIR&0x0080;
LACK 128
ADRK 4
AND * ,AR2
MAR *+
SACL *+,AR3
.line 131
;>>>> s_c=*PBDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL * ,AR3
.line 132
;>>>> s_v=*PFDATDIR&0x0002;
;>>>> while(1)
LACK 2
SBRK 4
AND * ,AR2
MAR *+
SACL *
SBRK 4
MAR * ,AR3
L9:
.line 137
;>>>> {s2=*PFDATDIR&0x0020;
LARK AR3,28822
LACK 32
AND * ,AR2
SACL *
.line 138
;>>>> if(s2==0x000)
LAC *
BNZ L11
.line 140
;>>>> {delay();
CALL _delay,AR1
.line 141
;>>>> s2=*PFDATDIR&0x0020;
LARK AR3,28822
LACK 32
MAR * ,AR3
AND * ,AR2
LARK AR2,3
MAR *0+
SACL *
.line 142
;>>>> if(s2==0x000)
LAC *
BNZ L11
.line 144
;>>>> qq=1;
LACK 1
LDPK _qq
SACL _qq
.line 145
;>>>> Led1Off();
CALL _Led1Off,AR1
.line 146
;>>>> Led3Off();
CALL _Led3Off
.line 147
;>>>> Led2On();
CALL _Led2On
.line 148
;>>>> break;
B L10
L11:
.line 152
;>>>> while(1)
MAR * ,AR3
B L9
L10:
L13:
.line 156
;>>>> s1=*PFDATDIR&0x0004;
LARK AR3,28822
LACK 4
MAR * ,AR3
AND * ,AR2
LARK AR2,2
MAR *0+
SACL *+,AR3
.line 157
;>>>> s2=*PFDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL *+,AR3
.line 158
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
SACL *-
.line 161
;>>>> if(s2==0x0000&&s3==0x0000&&(amp==0))
LAC *
BNZ L15
MAR *+
LAC *
BNZ L15
LDPK _amp
LAC _amp
BNZ L15
.line 163
;>>>> {asm(" setc INTM ");
setc INTM
.line 164
;>>>> Led2Off();
CALL _Led2Off,AR1
.line 165
;>>>> qq=0;
LACK 0
LDPK _qq
SACL _qq
.line 166
;>>>> break;
B L14
L15:
.line 168
;>>>> while(1)
MAR * ,AR3
B L13
L14:
L16:
.line 171
;>>>> { s1=*PFDATDIR&0x0004;
LARK AR3,28822
LACK 4
MAR * ,AR3
AND * ,AR2
LARK AR2,2
MAR *0+
SACL *+,AR3
.line 172
;>>>> s2=*PFDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL *+,AR3
.line 173
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
SACL *
.line 174
;>>>> if(s1==0x0000)
SBRK 2
LAC *
BNZ L18
.line 175
;>>>> {GndJcqEn();
CALL _GndJcqEn,AR1
.line 176
;>>>> Led1On();
;>>>> //UpJzgEn();
CALL _Led1On
.line 178
;>>>> break;}
B L17
L18:
.line 180
;>>>> while(1)
MAR * ,AR3
B L16
L17:
L19:
.line 182
;>>>> { s1=*PFDATDIR&0x0004;
LARK AR3,28822
LACK 4
MAR * ,AR3
AND * ,AR2
LARK AR2,2
MAR *0+
SACL *+,AR3
.line 183
;>>>> s2=*PFDATDIR&0x0020;
LACK 32
AND * ,AR2
SACL *+,AR3
.line 184
;>>>> s3=*PFDATDIR&0x0008;
LACK 8
AND * ,AR2
SACL *
.line 190
;>>>> if(s3==0x000)
LAC *
BNZ L21
.line 192
;>>>> GndJzgEn();
CALL _GndJzgEn,AR1
.line 193
;>>>> Led3On();
CALL _Led3On
.line 194
;>>>> asm(" CLRC INTM");
CLRC INTM
.line 195
;>>>> break;
B L20
L21:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -