?? gb.s
字號:
inc R12
.dbline 383
; clrout(1);
ldi R16,1
xcall _clrout
.dbline 384
; pfcz[0].zznum++;
lds R24,_pfcz+5
subi R24,255 ; addi 1
sts _pfcz+5,R24
.dbline 385
; if (be10) {zzcode=0x06f;pfcz[0].zzco=2;}
lds R2,_be10
tst R2
breq L179
.dbline 385
.dbline 385
ldi R24,111
sts _zzcode,R24
.dbline 385
ldi R24,2
sts _pfcz+6,R24
.dbline 385
xjmp L180
L179:
.dbline 386
; else {zzcode=0x0Af;pfcz[0].zzco=3;}
.dbline 386
ldi R24,175
sts _zzcode,R24
.dbline 386
ldi R24,3
sts _pfcz+6,R24
.dbline 386
L180:
.dbline 387
; }
.dbline 388
; }
L173:
.dbline 391
;
;
; if (be20&be21^pfcz[1].he)
lds R2,_be21
lds R3,_be20
and R3,R2
lds R2,_pfcz+8+1
eor R3,R2
breq L183
.dbline 392
; {
.dbline 393
; if ((t1!=2)&&(t1!=0)&&(t1<5))
mov R24,R12
cpi R24,2
breq L187
tst R24
breq L187
cpi R24,5
brsh L187
.dbline 394
; {
.dbline 395
; PORTC &=0X0F0;
in R24,0x15
andi R24,240
out 0x15,R24
.dbline 396
; cutpulse=0;
clr R2
sts _cutpulse,R2
.dbline 397
; return ;
xjmp L65
L187:
.dbline 400
; }
; else
; {PORTB^=(1<<6); //DISP TO PLAT
.dbline 400
ldi R24,64
in R2,0x18
eor R2,R24
out 0x18,R2
.dbline 401
; t1=2;
ldi R24,2
mov R12,R24
.dbline 402
; clrout(2);
ldi R16,2
xcall _clrout
.dbline 403
; pfcz[1].zznum++; //1011 3ov //0111 4ov
lds R24,_pfcz+8+5
subi R24,255 ; addi 1
sts _pfcz+8+5,R24
.dbline 404
; if(be20) {zzcode=0x5f;pfcz[1].zzco=2;} //1110 1ov
lds R2,_be20
tst R2
breq L191
.dbline 404
.dbline 404
ldi R24,95
sts _zzcode,R24
.dbline 404
ldi R24,2
sts _pfcz+8+6,R24
.dbline 404
xjmp L192
L191:
.dbline 405
; else {zzcode=0x9f;pfcz[1].zzco=3;} //1101 2ov
.dbline 405
ldi R24,159
sts _zzcode,R24
.dbline 405
ldi R24,3
sts _pfcz+8+6,R24
.dbline 405
L192:
.dbline 406
; }
.dbline 407
; }
L183:
.dbline 410
;
; //0110 be1 no pulse
; if (be30&be31^pfcz[2].he) //0101 be2 no pulse
lds R2,_be31
lds R3,_be30
and R3,R2
lds R2,_pfcz+16+1
eor R3,R2
breq L197
.dbline 411
; {
.dbline 412
; if ((t1!=3)&&(t1!=0)&&(t1<5))
mov R24,R12
cpi R24,3
breq L201
tst R24
breq L201
cpi R24,5
brsh L201
.dbline 413
; { PORTC &=0X0F0;
.dbline 413
in R24,0x15
andi R24,240
out 0x15,R24
.dbline 414
; cutpulse=0;
clr R2
sts _cutpulse,R2
.dbline 415
; return ;
xjmp L65
L201:
.dbline 418
; } //0100 be3 no pulse
; else
; { PORTB^=(1<<6); //DISP TO PLAT
.dbline 418
ldi R24,64
in R2,0x18
eor R2,R24
out 0x18,R2
.dbline 419
; t1=3;
ldi R24,3
mov R12,R24
.dbline 420
; pfcz[2].zznum++;
lds R24,_pfcz+16+5
subi R24,255 ; addi 1
sts _pfcz+16+5,R24
.dbline 421
; clrout(3); //0000 be4 no pulse
ldi R16,3
xcall _clrout
.dbline 422
; if(be30) {zzcode=0x04f;pfcz[2].zzco=2;} //1010 pulse1 no be1
lds R2,_be30
tst R2
breq L205
.dbline 422
.dbline 422
ldi R24,79
sts _zzcode,R24
.dbline 422
ldi R24,2
sts _pfcz+16+6,R24
.dbline 422
xjmp L206
L205:
.dbline 423
; else {zzcode=0x0Cf;pfcz[2].zzco=3;} //1001 pulse2
.dbline 423
ldi R24,207
sts _zzcode,R24
.dbline 423
ldi R24,3
sts _pfcz+16+6,R24
.dbline 423
L206:
.dbline 424
; } //1100 pulse3
.dbline 425
; }
L197:
.dbline 429
;
;
; //1000 pulse4
; if (be40&be41^pfcz[3].he)
lds R2,_be41
lds R3,_be40
and R3,R2
lds R2,_pfcz+24+1
eor R3,R2
breq L211
.dbline 430
; {
.dbline 431
; if ((t1!=4)&&(t1!=0)&&(t1<5))
mov R24,R12
cpi R24,4
breq L215
tst R24
breq L215
cpi R24,5
brsh L215
.dbline 432
; { PORTC &=0X0F0;
.dbline 432
in R24,0x15
andi R24,240
out 0x15,R24
.dbline 433
; cutpulse=0;
clr R2
sts _cutpulse,R2
.dbline 434
; return ;
xjmp L65
L215:
.dbline 437
; }
; else
; {
.dbline 438
; PORTB^=(1<<6); // DISP TO PLAT
ldi R24,64
in R2,0x18
eor R2,R24
out 0x18,R2
.dbline 439
; clrout(4);
ldi R16,4
xcall _clrout
.dbline 440
; pfcz[3].zznum++;
lds R24,_pfcz+24+5
subi R24,255 ; addi 1
sts _pfcz+24+5,R24
.dbline 441
; if(be40) {zzcode=0x0f;pfcz[3].zzco=2;}
lds R2,_be40
tst R2
breq L219
.dbline 441
.dbline 441
ldi R24,15
sts _zzcode,R24
.dbline 441
ldi R24,2
sts _pfcz+24+6,R24
.dbline 441
xjmp L220
L219:
.dbline 442
; else {zzcode=0x8f;pfcz[3].zzco=3;}
.dbline 442
ldi R24,143
sts _zzcode,R24
.dbline 442
ldi R24,3
sts _pfcz+24+6,R24
.dbline 442
L220:
.dbline 443
; }
.dbline 444
; }
L211:
.dbline 449
;
;
;
;
; if(!yubei)
lds R2,_yubei
tst R2
brne L225
.dbline 450
; {
.dbline 451
; PORTC &=0X0F0;
in R24,0x15
andi R24,240
out 0x15,R24
.dbline 452
; for(k1=0;k1<=3;k1++)
clr R10
xjmp L230
L227:
.dbline 453
ldi R24,8
mul R24,R10
movw R30,R0
ldi R24,<_pfcz+1
ldi R25,>_pfcz+1
add R30,R24
adc R31,R25
clr R2
std z+0,R2
L228:
.dbline 452
inc R10
L230:
.dbline 452
ldi R24,3
cp R24,R10
brsh L227
.dbline 454
; pfcz[k1].he=0;
; return ;
xjmp L65
L225:
.dbline 459
; }
;
;
; //if((zznum)&&(zznum<5)) PORTB|=(1<<6);
; errzs=0;
clr R12
.dbline 460
; for(i1=0;i1<=3;i1++)
clr R14
xjmp L235
L232:
.dbline 461
; {
.dbline 462
; if(pfcz[i1].zznum>errcount)
ldi R24,8
mul R24,R14
movw R30,R0
ldi R24,<_pfcz+5
ldi R25,>_pfcz+5
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,5
cp R24,R2
brsh L236
.dbline 463
; {
.dbline 464
; clrout(pfcz[i1].s);
ldi R24,8
mul R24,R14
movw R30,R0
ldi R24,<_pfcz
ldi R25,>_pfcz
add R30,R24
adc R31,R25
ldd R16,z+0
xcall _clrout
.dbline 465
; ++errzs;
inc R12
.dbline 466
; if(errzs>=2) {PORTC &=0X0F0; cutpulse=0;}
mov R24,R12
cpi R24,2
brsh X7
xjmp L233
X7:
.dbline 466
.dbline 466
in R24,0x15
andi R24,240
out 0x15,R24
.dbline 466
clr R2
sts _cutpulse,R2
.dbline 466
.dbline 467
; continue;
xjmp L233
L236:
.dbline 470
; }
;
; if(!(pfcz[i1].he)&&pfcz[i1].qs&&(pfcz[i1].zznum<errcount))
ldi R24,8
mul R24,R14
ldi R24,<_pfcz+1
ldi R25,>_pfcz+1
movw R30,R0
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L241
ldi R24,<_pfcz+2
ldi R25,>_pfcz+2
movw R30,R0
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
breq L241
ldi R24,<_pfcz+5
ldi R25,>_pfcz+5
movw R30,R0
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,5
brsh L241
.dbline 471
; {tounum=pfcz[i1].s;break;}
.dbline 471
ldi R24,8
mul R24,R14
movw R30,R0
ldi R24,<_pfcz
ldi R25,>_pfcz
add R30,R24
adc R31,R25
ldd R2,z+0
sts _tounum,R2
.dbline 471
xjmp L234
L241:
.dbline 472
L233:
.dbline 460
inc R14
L235:
.dbline 460
ldi R24,3
cp R24,R14
brlo X8
xjmp L232
X8:
L234:
.dbline 475
; }
;
;
; for(i3=0;i3<=3;i3++)
clr R10
xjmp L249
L246:
.dbline 476
; {
.dbline 477
; if(pfcz[i3].he)
ldi R24,8
mul R24,R10
movw R30,R0
ldi R24,<_pfcz+1
ldi R25,>_pfcz+1
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
breq L250
.dbline 478
; { qenum=pfcz[i3].s;
.dbline 478
ldi R24,8
mul R24,R10
movw R30,R0
ldi R24,<_pfcz
ldi R25,>_pfcz
add R30,R24
adc R31,R25
ldd R2,z+0
sts _qenum,R2
.dbline 479
; break;
xjmp L248
L250:
.dbline 481
L247:
.dbline 475
inc R10
L249:
.dbline 475
ldi R24,3
cp R24,R10
brsh L246
L248:
.dbline 485
; }
; }
;
;
;
; if (count==zouqi)
ldi R20,44
ldi R21,1
ldi R22,0
ldi R23,0
lds R4,_count+2
lds R5,_count+2+1
lds R2,_count
lds R3,_count+1
cp R2,R20
cpc R3,R21
cpc R4,R22
cpc R5,R23
breq X9
xjmp L253
X9:
.dbline 486
; {
.dbline 487
; count=0;
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
sts _count+1,R21
sts _count,R20
sts _count+2+1,R23
sts _count+2,R22
.dbline 488
; inkg();
xcall _inkg
.dbline 489
; pfcz[0].qs=qs10;pfcz[1].qs=qs20;pfcz[2].qs=qs30;pfcz[3].qs=qs40;//test
lds R2,_qs10
sts _pfcz+2,R2
.dbline 489
lds R2,_qs20
sts _pfcz+8+2,R2
.dbline 489
lds R2,_qs30
sts _pfcz+16+2,R2
.dbline 489
lds R2,_qs40
sts _pfcz+24+2,R2
.dbline 494
;
; // PORTA=be10|(be20<<1)|(be30<<2)|(be40<<3)|(qs10<<4)|(qs20<<5)|(qs30<<6)|(qs40<<7);//test
; //count2++;//write realse
;
; temppha=((phamax_1+phamax_2)>>1);
lds R2,_phamax_2
lds R3,_phamax_2+1
lds R4,_phamax_1
lds R5,_phamax_1+1
add R4,R2
adc R5,R3
lsr R5
ror R4
movw R2,R4
clr R4
clr R5
movw R30,R28
std z+12,R2
std z+13,R3
std z+14,R4
std z+15,R5
.dbline 495
; tphase=(unsigned char) ((temppha*37)>>11);//8M\8
movw R30,R28
ldd R2,z+12
ldd R3,z+13
ldd R4,z+14
ldd R5,z+15
ldi R20,37
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
xcall empy32u
ldi R24,11
ldi R25,0
st -y,R24
xcall lsr32
mov R10,R16
.dbline 499
; //tphase=((temppha*320)>>10);//div 14.7456\256 to degree
; //if(count2==5)
; //EEPROMwrite(0x10,tphase);//when realse cut
; tphase-=phaserr;//when realse
lds R2,_phaserr
sub R10,R2
.dbline 503
; //if(count2==7)
; //outled(EEPROMread(0x10));
;
; if (tphase>180) tphase=180;
ldi R24,180
cp R24,R10
brsh L262
.dbline 503
mov R10,R24
L262:
.dbline 504
; tempi=((imax_1+imax_2)>>1);
lds R2,_imax_2
lds R3,_imax_2+1
lds R4,_imax_1
lds R5,_imax_1+1
add R4,R2
adc R5,R3
lsr R5
ror R4
movw R2,R4
clr R4
clr R5
movw R30,R28
std z+8,R2
std z+9,R3
std z+10,R4
std z+11,R5
.dbline 505
; tempu=((umax_1+umax_2)>>1);
lds R2,_umax_2
lds R3,_umax_2+1
lds R4,_umax_1
lds R5,_umax_1+1
add R4,R2
adc R5,R3
lsr R5
ror R4
movw R2,R4
clr R4
clr R5
movw R30,R28
std z+4,R2
std z+5,R3
std z+6,R4
std z+7,R5
.dbline 506
; tempui=(tempi*tempu)>>8;
movw R30,R28
ldd R2,z+4
ldd R3,z+5
ldd R4,z+6
ldd R5,z+7
movw R30,R28
ldd R6,z+8
ldd R7,z+9
ldd R8,z+10
ldd R9,z+11
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R6
movw R18,R8
xcall empy32u
ldi R24,8
ldi R25,0
st -y,R24
xcall lsr32
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 507
; tempui=(tempui*xishu)>>8;
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
ldi R20,160
ldi R21,15
ldi R22,0
ldi R23,0
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R20
movw R18,R22
xcall empy32u
ldi R24,8
ldi R25,0
st -y,R24
xcall lsr32
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 508
; tempui=((tempui*sincode[tphase])>>13);
ldi R24,2
mul R24,R10
movw R30,R0
ldi R24,<_sincode
ldi R25,>_sincode
add R30,R24
adc R31,R25
ldd R2,z+0
ldd R3,z+1
clr R4
clr R5
movw R30,R28
ldd R6,z+0
ldd R7,z+1
ldd R8,z+2
ldd R9,z+3
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R16,R6
movw R18,R8
xcall empy32u
ldi R24,13
ldi R25,0
st -y,R24
xcall lsr32
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
L264:
.dbline 511
;
; //tj:if(( tempui>=outup) && yubei && cutpulse && (tempu<unetmax) )
; tj:if(( tempui>=outup) && yubei && cutpulse )
ldi R20,224
ldi R21,1
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
cp R2,R20
cpc R3,R21
cpc R4,R22
cpc R5,R23
brlo L265
lds R2,_yubei
tst R2
breq L265
lds R2,_cutpulse
tst R2
breq L265
.dbline 512
; {
.dbline 513
; out(tounum);
lds R16,_tounum
xcall _out
.dbline 514
; }
L265:
.dbline 516
;
; if( tempui<=outdown)
ldi R20,120
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -