📄 dzjs01.asm
字号:
add iasum;
sacl iasum;
ia1:
lacc iasum;
sub timer2;进入中断次数
bcnd ib1,LT;
sacl iasum;
lacc iatimer;
add #1;
sacl iatimer;
b ia1;
ib1:
lacc ib;
abs;
add ibsum;
sacl ibsum;
ib2:
lacc ibsum;
sub timer2;进入中断次数
bcnd ic1,LT;
sacl ibsum;
lacc ibtimer;
add #1;
sacl ibtimer;
b ib2;
ic1:
lacc ic;
abs;
add icsum;
sacl icsum;
ic2:
lacc icsum;
sub timer2;进入中断次数
bcnd uab1,LT;
sacl icsum;
lacc ictimer;
add #1;
sacl ictimer;
b ic2;
uab1:
lacc uab;
abs;
add uabsum;
sacl uabsum;
uab2:
lacc uabsum;
sub timer2;进入中断次数
bcnd CURRENT1,LT;
sacl uabsum;
lacc uabtimer;
add #1;
sacl uabtimer;
b uab2;
CURRENT1:
lacc sign;
bcnd CURRENT2,NEQ;
splk #18198,temp2;
lt iatimer;
mpy temp2;
pac;
sach ima,2;
lt ibtimer;
mpy temp2;
pac;
sach imb,2;
lt ictimer;
mpy temp2;
pac;
sach imc,2;
lt uabtimer;
mpy temp2;
pac;
sach uabm,2;
splk #12500,temp1;
lacc temp1;
rpt #15;
subc timer1;
sacl fshow;
lacc timer1;
sacl timer2;
lacc #0;
;sacl iasum;
;sacl ibsum;
;sacl icsum;
sacl iatimer;
sacl ibtimer;
sacl ictimer;
sacl uabtimer;
sacl timer1;
CURRENT2:
;phase current feedback normalization:
lacc kp;
sacl temp;
lt sina;
mpy temp;
pac;
sach iaref,1;
lt sinb;
mpy temp;
pac;
sach ibref,1;
lt sinc;
mpy temp;
pac;
sach icref,1;
lacc iaref;
sub ia;
sacl temp1;
lt temp1
mpy kpdq;
pac;
rpt #5
sfr;
sacl iadiff;
bcnd da1,GT;
abs;
sub PWMPR;
bcnd da2,LEQ;
splk #-800,iadiff;
b da2;
da1: sub PWMPR;
bcnd da2,LEQ;
splk #800,iadiff;
da2: lacc iadiff;
sfr;
add pwmpr2;
sacl uaref;
lacc ibref;
sub ib;
sacl temp1;
lt temp1;
mpy kpdq;
pac;
rpt #5;
sfr;
sacl ibdiff;
bcnd db1,GT;
abs;
sub PWMPR;
bcnd db2,LEQ;
splk #-800,ibdiff;
b db2;
db1: sub PWMPR
bcnd db2,LEQ;
splk #800,ibdiff;
db2: lacc ibdiff;
sfr;
add pwmpr2;
sacl ubref;
lacc icref;
sub ic;
sacl temp1;
lt temp1;
mpy kpdq;
pac;
rpt #5;
sfr;
sacl icdiff;
bcnd dc1,GT;
abs;
sub PWMPR;
bcnd dc2,LEQ;
splk #-800,icdiff;
b dc2;
dc1: sub PWMPR;
bcnd dc2,LEQ;
splk #800,icdiff;
dc2: lacc icdiff;
sfr;
add pwmpr2;
sacl ucref;
bldd uaref,#CMPR1;
bldd ubref,#CMPR2;
bldd ucref,#CMPR3;
ldp #4;
lacc sign;
bcnd ra2,NEQ;
splk #0,t2count;
splk #1,sign;
ra2:
ldp #4;
lacc error;
bcnd ra3,EQ;
splk #0,enable;
nop;
ldp #225;
lacc PADATDIR;
and #0f03h;
sacl PADATDIR;
ra3:
ldp #232;
lacc EVIFRA;
sacl EVIFRA;
mar *,ar7;
mar *+;
lacc *+;
lst #0,*+;
lst #1,*;
clrc INTM;
ret;
PDPINT_ISR:
ldp #225;
splk #0ff00h,PADATDIR;
ldp #4;
splk #1,error;
rpt #50;
nop;
in temp1,UVWERR;
lacc temp1;
and #0fh;
sub #0fh;
bcnd PDP1,EQ;
splk #1,error;
b PDPINTEND;
PDP1:
lacc temp1;
and #20h;
sub #20h;
bcnd PDPINTEND,EQ;
splk #2,error;
b PDPINTEND;
splk #3,error;
; clrc INTM;
PDPINTEND:
nop;
ret;
DISPLAY:
C0:
ldp #4;
lacc key;
add #1;
sacl key;
sub #4000;
bcnd SHOW,NEQ;
lacc error;
bcnd CHANGE2,EQ;
splk #08h,led00;
splk #08h,led01;
splk #08h,led02;
splk #08h,led03;
splk #08h,led04;
splk #08h,led05;
b CHANGE2;
CHANGE2:
nop;
in temp1,CNCIN1;
lacc temp1;
and #0f0h;
sacl temp1;
lacc temp1;
sub #0f0h;
bcnd C1,NEQ;
splk #3000,key;
b SHOW;
C1:
splk #0,key;
lacc temp1;
and #010h;
bcnd C2,EQ;
lacc temp1;
and #020h;
bcnd C3,EQ;
lacc temp1;
and #040h;
bcnd C4,EQ;
lacc temp1;
and #080h;
bcnd C5,EQ;
b SHOW;
C2:
***********press Mode************
lacc led20;
add #10h;
sacl led20;
sub #40h;
bcnd K10,NEQ;
splk #0,led20;
K10:
lacc led20;
bcnd K11,EQ;
sub #10h;
bcnd K12,EQ;
sub #10h;
bcnd K13,EQ;
sub #10h;
bcnd K14,EQ;
K11:
splk #0ah,led00;
splk #0ch,led01;
splk #05h,led02;
splk #08h,led03;
splk #00h,led04;
splk #00h,led05;
splk #06h,led10;
splk #00h,led20;
b SHOW;
K12:
splk #05h,led00; s
splk #10h,led01; h
splk #0fh,led02;
splk #0fh,led03;
splk #00h,led04;
splk #00h,led05;
splk #05h,led10;
b SHOW;
K13:
splk #05h,led00; s
splk #0eh,led01; e
splk #0bh,led02; t
splk #0fh,led03;
splk #00h,led04;
splk #00h,led05;
splk #05h,led10;
b SHOW;
K14:
lacc error;
bcnd SHOW,EQ;
splk #08h,led00;
splk #08h,led01;
splk #08h,led02;
splk #08h,led03;
splk #08h,led04;
splk #08h,led05;
b SHOW;
************led flash left 1************
C3:
lacc runmode;
sub #518;
bcnd C32,NEQ;
lacc fgive;
sub #1;
sacl temp;
lacc temp;
sub #2000;
bcnd C31,GEQ;
splk #2000,fgive;
b C32;
C31:
lacc temp;
sacl fgive;
C32:
lacc led20;
bcnd SHOW,EQ;
sub #11h;
bcnd SHOW,EQ;
lacc led20;
sub #21h;
bcnd K36,EQ;
lacc led10;
sub #1;
sacl led10;
sub #3;
bcnd K35,LEQ;
b SHOW;
K35:
splk #05h,led10;
b SHOW;
K36:
lacc led10;
sub #1;
sacl led10;
bcnd K37,LT;
b SHOW;
K37:
splk #05h,led10;
b SHOW;
*****led value=led value +1****
C4:
lacc runmode;
sub #518;
bcnd C42,NEQ;
lacc fgive;
add #1;
sacl temp;
lacc temp;
sub #10000;
bcnd C41,LT;
splk #10000,fgive;
b C42;
C41:
lacc temp;
sacl fgive;
C42:
lacc led20;
bcnd SHOW,EQ;
lacc led10;
bcnd K20,EQ;
sub #1;
bcnd K21,EQ;
sub #1;
bcnd K22,EQ;
sub #1;
bcnd K23,EQ;
sub #1;
bcnd K24,EQ;
sub #1;
bcnd K25,EQ;
splk #5,led10;
b SHOW;
K20:
lacc led00;
sub #0dh;
bcnd K20_1,EQ;
splk #0dh,led00;
b SHOW;
K20_1:
splk #0fh,led00;
b SHOW;
K21:
lacc led01;
add #1;
sacl led01;
sub #10;
bcnd K21_1,GEQ;
b SHOW;;
K21_1:
splk #0,led01;
b SHOW;
K22:
lacc led02;
add #1;
sacl led02;
sub #10;
bcnd K22_1,GEQ;
b SHOW;
K22_1:
splk #0,led02;
b SHOW;
K23:
lacc led03;
add #1;
sacl led03;
sub #10;
bcnd K23_1,GEQ;
b SHOW;
K23_1:
splk #0,led03;
b SHOW;
K24:
lacc led04;
add #1;
sacl led04;
sub #10;
bcnd K24_1,GEQ;
b SHOW;
K24_1:
splk #0,led04;
b SHOW;
K25:
lacc led05;
add #1;
sacl led05;
sub #10;
bcnd K25_1,GEQ;
b SHOW;
K25_1:
splk #0,led05;
b SHOW;
***************press set*************
C5:
lacc led20;
bcnd SHOW,EQ;
sub #10h;
bcnd K40,EQ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -