📄 main.lis
字号:
0248 5524 clr R5
024A 202A or R2,R16
024C 312A or R3,R17
024E 422A or R4,R18
0250 532A or R5,R19
0252 2082 std z+0,R2
0254 .dbline -2
0254 L2:
0254 0E940000 xcall pop_gset3
0258 2496 adiw R28,4
025A .dbline 0 ; func end
025A 0895 ret
025C .dbsym l uctemp 1 c
025C .dbsym r pucOutBuff 10 pc
025C .dbsym l ulHex 6 l
025C .dbend
025C .dbfunc e OutputFrequency _OutputFrequency fV
025C ; ucFY -> y+5
025C ; ucFX -> y+2
025C ; ulFY -> y+16
025C ; ulFX -> y+12
.even
025C _OutputFrequency::
025C 0E940000 xcall push_arg4
0260 0E940000 xcall push_gset2
0264 2897 sbiw R28,8
0266 .dbline -1
0266 .dbline 56
0266 ;
0266 ; }
0266 ;
0266 ;
0266 ; //输出控制频率
0266 ; //输入参数: ulFX X轴频率,单位kHz
0266 ; // ulFY Y轴频率,单位kHz
0266 ; void OutputFrequency(u32 ulFX,u32 ulFY)
0266 ; {
0266 .dbline 58
0266 40E4 ldi R20,64
0268 5CE9 ldi R21,156
026A 60E0 ldi R22,0
026C 70E0 ldi R23,0
026E FE01 movw R30,R28
0270 2484 ldd R2,z+12
0272 3584 ldd R3,z+13
0274 4684 ldd R4,z+14
0276 5784 ldd R5,z+15
0278 2416 cp R2,R20
027A 3506 cpc R3,R21
027C 4606 cpc R4,R22
027E 5706 cpc R5,R23
0280 70F0 brlo L6
0282 40E7 ldi R20,112
0284 51E1 ldi R21,17
0286 61E0 ldi R22,1
0288 70E0 ldi R23,0
028A FE01 movw R30,R28
028C 2484 ldd R2,z+12
028E 3584 ldd R3,z+13
0290 4684 ldd R4,z+14
0292 5784 ldd R5,z+15
0294 4215 cp R20,R2
0296 5305 cpc R21,R3
0298 6405 cpc R22,R4
029A 7505 cpc R23,R5
029C 08F4 brsh L4
029E L6:
029E .dbline 58
029E ; u8 ucFX[3],ucFY[3];
029E ; if((ulFX<40000)||(ulFX>70000)) return;
029E 47C0 xjmp L3
02A0 L4:
02A0 .dbline 59
02A0 40E4 ldi R20,64
02A2 5CE9 ldi R21,156
02A4 60E0 ldi R22,0
02A6 70E0 ldi R23,0
02A8 FE01 movw R30,R28
02AA 2088 ldd R2,z+16
02AC 3188 ldd R3,z+17
02AE 4288 ldd R4,z+18
02B0 5388 ldd R5,z+19
02B2 2416 cp R2,R20
02B4 3506 cpc R3,R21
02B6 4606 cpc R4,R22
02B8 5706 cpc R5,R23
02BA 70F0 brlo L9
02BC 40E7 ldi R20,112
02BE 51E1 ldi R21,17
02C0 61E0 ldi R22,1
02C2 70E0 ldi R23,0
02C4 FE01 movw R30,R28
02C6 2088 ldd R2,z+16
02C8 3188 ldd R3,z+17
02CA 4288 ldd R4,z+18
02CC 5388 ldd R5,z+19
02CE 4215 cp R20,R2
02D0 5305 cpc R21,R3
02D2 6405 cpc R22,R4
02D4 7505 cpc R23,R5
02D6 08F4 brsh L7
02D8 L9:
02D8 .dbline 59
02D8 ; if((ulFY<40000)||(ulFY>70000)) return;
02D8 2AC0 xjmp L3
02DA L7:
02DA .dbline 61
02DA ;
02DA ; HEX2BCD(ulFX,ucFX);
02DA CE01 movw R24,R28
02DC 0296 adiw R24,2
02DE 9983 std y+1,R25
02E0 8883 std y+0,R24
02E2 FE01 movw R30,R28
02E4 0485 ldd R16,z+12
02E6 1585 ldd R17,z+13
02E8 2685 ldd R18,z+14
02EA 3785 ldd R19,z+15
02EC A0DE xcall _HEX2BCD
02EE .dbline 62
02EE ; HEX2BCD(ulFY,ucFY);
02EE CE01 movw R24,R28
02F0 0596 adiw R24,5
02F2 9983 std y+1,R25
02F4 8883 std y+0,R24
02F6 FE01 movw R30,R28
02F8 0089 ldd R16,z+16
02FA 1189 ldd R17,z+17
02FC 2289 ldd R18,z+18
02FE 3389 ldd R19,z+19
0300 96DE xcall _HEX2BCD
0302 .dbline 68
0302 ;
0302 ;
0302 ;
0302 ;
0302 ;
0302 ; DISABLEXOUT;
0302 1F98 cbi 0x3,7
0304 .dbline 69
0304 ; DISABLEYOUT;
0304 1E98 cbi 0x3,6
0306 .dbline 71
0306 ;
0306 ; SPISend(ucFX[0]);
0306 0A81 ldd R16,y+2
0308 0E940000 xcall _SPISend
030C .dbline 72
030C ; SPISend(ucFX[1]);
030C 0B81 ldd R16,y+3
030E 0E940000 xcall _SPISend
0312 .dbline 73
0312 ; SPISend(ucFX[2]);
0312 0C81 ldd R16,y+4
0314 0E940000 xcall _SPISend
0318 .dbline 74
0318 ; SPISend(ucFY[0]);
0318 0D81 ldd R16,y+5
031A 0E940000 xcall _SPISend
031E .dbline 75
031E ; SPISend(ucFY[1]);
031E 0E81 ldd R16,y+6
0320 0E940000 xcall _SPISend
0324 .dbline 76
0324 ; SPISend(ucFY[2]);
0324 0F81 ldd R16,y+7
0326 0E940000 xcall _SPISend
032A .dbline 78
032A ;
032A ; ENABLEXOUT;
032A 1F9A sbi 0x3,7
032C .dbline 79
032C ; ENABLEYOUT;
032C 1E9A sbi 0x3,6
032E .dbline -2
032E L3:
032E 2896 adiw R28,8
0330 0E940000 xcall pop_gset2
0334 2496 adiw R28,4
0336 .dbline 0 ; func end
0336 0895 ret
0338 .dbsym l ucFY 5 A[3:3]c
0338 .dbsym l ucFX 2 A[3:3]c
0338 .dbsym l ulFY 16 l
0338 .dbsym l ulFX 12 l
0338 .dbend
0338 .dbfunc e OutputFrequency1 _OutputFrequency1 fV
.even
0338 _OutputFrequency1::
0338 .dbline -1
0338 .dbline 84
0338 ; }
0338 ;
0338 ;
0338 ; void OutputFrequency1(void)
0338 ; {
0338 .dbline 86
0338 ;
0338 ; DISABLEXOUT;
0338 1F98 cbi 0x3,7
033A .dbline 87
033A ; DISABLEYOUT;
033A 1E98 cbi 0x3,6
033C .dbline 89
033C ;
033C ; SPISend(0x06);
033C 06E0 ldi R16,6
033E 0E940000 xcall _SPISend
0342 .dbline 90
0342 ; SPISend(0x10);
0342 00E1 ldi R16,16
0344 0E940000 xcall _SPISend
0348 .dbline 91
0348 ; SPISend(0);
0348 0027 clr R16
034A 0E940000 xcall _SPISend
034E .dbline 92
034E ; SPISend(0);
034E 0027 clr R16
0350 0E940000 xcall _SPISend
0354 .dbline 93
0354 ; SPISend(0);
0354 0027 clr R16
0356 0E940000 xcall _SPISend
035A .dbline 94
035A ; SPISend(0);
035A 0027 clr R16
035C 0E940000 xcall _SPISend
0360 .dbline 96
0360 ;
0360 ; ENABLEXOUT;
0360 1F9A sbi 0x3,7
0362 .dbline 97
0362 ; ENABLEYOUT;
0362 1E9A sbi 0x3,6
0364 .dbline -2
0364 L14:
0364 .dbline 0 ; func end
0364 0895 ret
0366 .dbend
0366 .dbfunc e OutputFrequency2 _OutputFrequency2 fV
.even
0366 _OutputFrequency2::
0366 .dbline -1
0366 .dbline 101
0366 ; }
0366 ;
0366 ; void OutputFrequency2(void)
0366 ; {
0366 .dbline 103
0366 ;
0366 ; DISABLEXOUT;
0366 1F98 cbi 0x3,7
0368 .dbline 104
0368 ; DISABLEYOUT;
0368 1E98 cbi 0x3,6
036A .dbline 106
036A ;
036A ; SPISend(0x07);
036A 07E0 ldi R16,7
036C 0E940000 xcall _SPISend
0370 .dbline 107
0370 ; SPISend(0x00);
0370 0027 clr R16
0372 0E940000 xcall _SPISend
0376 .dbline 108
0376 ; SPISend(0x00);
0376 0027 clr R16
0378 0E940000 xcall _SPISend
037C .dbline 109
037C ; SPISend(0);
037C 0027 clr R16
037E 0E940000 xcall _SPISend
0382 .dbline 110
0382 ; SPISend(0);
0382 0027 clr R16
0384 0E940000 xcall _SPISend
0388 .dbline 111
0388 ; SPISend(0);
0388 0027 clr R16
038A 0E940000 xcall _SPISend
038E .dbline 113
038E ;
038E ; ENABLEXOUT;
038E 1F9A sbi 0x3,7
0390 .dbline 114
0390 ; ENABLEYOUT;
0390 1E9A sbi 0x3,6
0392 .dbline -2
0392 L15:
0392 .dbline 0 ; func end
0392 0895 ret
0394 .dbend
0394 .dbfunc e OutputFrequency3 _OutputFrequency3 fV
0394 ; ucFX -> R20
.even
0394 _OutputFrequency3::
0394 0E940000 xcall push_gset1
0398 402F mov R20,R16
039A .dbline -1
039A .dbline 122
039A ; }
039A ;
039A ;
039A ;
039A ;
039A ;
039A ; void OutputFrequency3(u8 ucFX)
039A ; {
039A .dbline 123
039A ; DISABLEXOUT;
039A 1F98 cbi 0x3,7
039C .dbline 124
039C ; DISABLEYOUT;
039C 1E98 cbi 0x3,6
039E .dbline 126
039E ;
039E ; SPISend(0x06);
039E 06E0 ldi R16,6
03A0 0E940000 xcall _SPISend
03A4 .dbline 127
03A4 ; SPISend(ucFX);
03A4 042F mov R16,R20
03A6 0E940000 xcall _SPISend
03AA .dbline 128
03AA ; SPISend(0);
03AA 0027 clr R16
03AC 0E940000 xcall _SPISend
03B0 .dbline 129
03B0 ; SPISend(0);
03B0 0027 clr R16
03B2 0E940000 xcall _SPISend
03B6 .dbline 130
03B6 ; SPISend(0);
03B6 0027 clr R16
03B8 0E940000 xcall _SPISend
03BC .dbline 131
03BC ; SPISend(0);
03BC 0027 clr R16
03BE 0E940000 xcall _SPISend
03C2 .dbline 133
03C2 ;
03C2 ; ENABLEXOUT;
03C2 1F9A sbi 0x3,7
03C4 .dbline 134
03C4 ; ENABLEYOUT;
03C4 1E9A sbi 0x3,6
03C6 .dbline -2
03C6 L16:
03C6 0E940000 xcall pop_gset1
03CA .dbline 0 ; func end
03CA 0895 ret
03CC .dbsym r ucFX 20 c
03CC .dbend
03CC .dbfunc e ulGetFrequency _ulGetFrequency fl
03CC ; ulNextF -> y+8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -