📄 ledtest.lis
字号:
0354 ; for(i=0; i<n; i++)
0354 4427 clr R20
0356 5527 clr R21
0358 03C0 xjmp L46
035A L43:
035A .dbline 262
035A D7DF xcall _delay_1us
035C L44:
035C .dbline 261
035C 4F5F subi R20,255 ; offset = 1
035E 5F4F sbci R21,255
0360 L46:
0360 .dbline 261
0360 4617 cp R20,R22
0362 5707 cpc R21,R23
0364 D0F3 brlo L43
0366 .dbline -2
0366 L42:
0366 0E940000 xcall pop_gset2
036A .dbline 0 ; func end
036A 0895 ret
036C .dbsym r i 20 i
036C .dbsym r n 22 i
036C .dbend
036C .dbfunc e ShowNumber _ShowNumber fV
036C ; showNum5 -> R12,R13
036C ; showNum4 -> R14,R15
036C ; showNum3 -> y+4
036C ; showNum2 -> y+2
036C ; showNum1 -> y+0
036C ; showNum6 -> R10,R11
036C ; number -> y+16
036C ; y -> R10
036C ; x -> R12
.even
036C _ShowNumber::
036C 0E940000 xcall push_gset5
0370 A22E mov R10,R18
0372 C02E mov R12,R16
0374 2697 sbiw R28,6
0376 .dbline -1
0376 .dbline 269
0376 ; delay_1us();
0376 ; }
0376 ; //-----------------------------------
0376 ; //========================================================
0376 ; // 显示数字
0376 ; //====================================
0376 ; void ShowNumber(uchar x, uchar y,uint number)
0376 ; {
0376 .dbline 271
0376 ; uint showNum1,showNum2,showNum3,showNum4,showNum5,showNum6;
0376 ; SdCmd(0x00,0xCD);LCD_ChkBusy(); //send command normal power mode, Char mode display on, normal display
0376 2DEC ldi R18,205
0378 0027 clr R16
037A 0DDF xcall _SdCmd
037C .dbline 271
037C 44DF xcall _LCD_ChkBusy
037E .dbline 272
037E ; SdCmd(0x60,0x00+x);LCD_ChkBusy(); //set cursor X location to 0
037E 2C2D mov R18,R12
0380 00E6 ldi R16,96
0382 09DF xcall _SdCmd
0384 .dbline 272
0384 40DF xcall _LCD_ChkBusy
0386 .dbline 273
0386 ; SdCmd(0x70,0x00+y);LCD_ChkBusy(); //set cursor Y location to 0
0386 2A2D mov R18,R10
0388 00E7 ldi R16,112
038A 05DF xcall _SdCmd
038C .dbline 273
038C 3CDF xcall _LCD_ChkBusy
038E .dbline 275
038E ;
038E ; showNum1 = (number/100000);
038E 40EA ldi R20,160
0390 56E8 ldi R21,134
0392 61E0 ldi R22,1
0394 70E0 ldi R23,0
0396 2888 ldd R2,y+16
0398 3988 ldd R3,y+17
039A 4424 clr R4
039C 5524 clr R5
039E 7A93 st -y,R23
03A0 6A93 st -y,R22
03A2 5A93 st -y,R21
03A4 4A93 st -y,R20
03A6 8101 movw R16,R2
03A8 9201 movw R18,R4
03AA 0E940000 xcall div32s
03AE 1983 std y+1,R17
03B0 0883 std y+0,R16
03B2 .dbline 276
03B2 ; showNum2 = ((number%100000)/10000);
03B2 40EA ldi R20,160
03B4 56E8 ldi R21,134
03B6 61E0 ldi R22,1
03B8 70E0 ldi R23,0
03BA 2888 ldd R2,y+16
03BC 3988 ldd R3,y+17
03BE 4424 clr R4
03C0 5524 clr R5
03C2 7A93 st -y,R23
03C4 6A93 st -y,R22
03C6 5A93 st -y,R21
03C8 4A93 st -y,R20
03CA 8101 movw R16,R2
03CC 9201 movw R18,R4
03CE 0E940000 xcall mod32s
03D2 40E1 ldi R20,16
03D4 57E2 ldi R21,39
03D6 60E0 ldi R22,0
03D8 70E0 ldi R23,0
03DA 7A93 st -y,R23
03DC 6A93 st -y,R22
03DE 5A93 st -y,R21
03E0 4A93 st -y,R20
03E2 0E940000 xcall div32s
03E6 1B83 std y+3,R17
03E8 0A83 std y+2,R16
03EA .dbline 277
03EA ; showNum3 = ((number%10000)/1000);
03EA 20E1 ldi R18,10000
03EC 37E2 ldi R19,39
03EE 0889 ldd R16,y+16
03F0 1989 ldd R17,y+17
03F2 0E940000 xcall mod16u
03F6 28EE ldi R18,1000
03F8 33E0 ldi R19,3
03FA 0E940000 xcall div16u
03FE 1D83 std y+5,R17
0400 0C83 std y+4,R16
0402 .dbline 278
0402 ; showNum4 = ((number%1000)/100);
0402 28EE ldi R18,1000
0404 33E0 ldi R19,3
0406 0889 ldd R16,y+16
0408 1989 ldd R17,y+17
040A 0E940000 xcall mod16u
040E 24E6 ldi R18,100
0410 30E0 ldi R19,0
0412 0E940000 xcall div16u
0416 7801 movw R14,R16
0418 .dbline 279
0418 ; showNum5 = ((number%100)/10);
0418 24E6 ldi R18,100
041A 30E0 ldi R19,0
041C 0889 ldd R16,y+16
041E 1989 ldd R17,y+17
0420 0E940000 xcall mod16u
0424 2AE0 ldi R18,10
0426 30E0 ldi R19,0
0428 0E940000 xcall div16u
042C 6801 movw R12,R16
042E .dbline 280
042E ; showNum6 = ((number%10)/1);
042E 2AE0 ldi R18,10
0430 30E0 ldi R19,0
0432 0889 ldd R16,y+16
0434 1989 ldd R17,y+17
0436 0E940000 xcall mod16u
043A 5801 movw R10,R16
043C .dbline 282
043C ;
043C ; if(number>=100000)
043C 40EA ldi R20,160
043E 56E8 ldi R21,134
0440 61E0 ldi R22,1
0442 70E0 ldi R23,0
0444 2888 ldd R2,y+16
0446 3988 ldd R3,y+17
0448 4424 clr R4
044A 5524 clr R5
044C 2416 cp R2,R20
044E 3506 cpc R3,R21
0450 4606 cpc R4,R22
0452 5706 cpc R5,R23
0454 44F0 brlt L48
0456 .dbline 283
0456 ; {
0456 .dbline 284
0456 ; showNum1+=48;
0456 8881 ldd R24,y+0
0458 9981 ldd R25,y+1
045A C096 adiw R24,48
045C 9983 std y+1,R25
045E 8883 std y+0,R24
0460 .dbline 285
0460 ; SdData(showNum1);
0460 8C01 movw R16,R24
0462 C0DE xcall _SdData
0464 .dbline 286
0464 ; LCD_ChkBusy();
0464 D0DE xcall _LCD_ChkBusy
0466 .dbline 287
0466 ; }
0466 L48:
0466 .dbline 288
0466 ; if(number>=10000)
0466 8889 ldd R24,y+16
0468 9989 ldd R25,y+17
046A 8031 cpi R24,16
046C E7E2 ldi R30,39
046E 9E07 cpc R25,R30
0470 40F0 brlo L50
0472 .dbline 289
0472 ; {
0472 .dbline 290
0472 ; showNum2+=48;
0472 8A81 ldd R24,y+2
0474 9B81 ldd R25,y+3
0476 C096 adiw R24,48
0478 9B83 std y+3,R25
047A 8A83 std y+2,R24
047C .dbline 291
047C ; SdData(showNum2);
047C 8C01 movw R16,R24
047E B2DE xcall _SdData
0480 .dbline 292
0480 ; LCD_ChkBusy();
0480 C2DE xcall _LCD_ChkBusy
0482 .dbline 293
0482 ; }
0482 L50:
0482 .dbline 294
0482 ; if(number>=1000)
0482 8889 ldd R24,y+16
0484 9989 ldd R25,y+17
0486 883E cpi R24,232
0488 E3E0 ldi R30,3
048A 9E07 cpc R25,R30
048C 40F0 brlo L52
048E .dbline 295
048E ; {
048E .dbline 296
048E ; showNum3+=48;
048E 8C81 ldd R24,y+4
0490 9D81 ldd R25,y+5
0492 C096 adiw R24,48
0494 9D83 std y+5,R25
0496 8C83 std y+4,R24
0498 .dbline 297
0498 ; SdData(showNum3);
0498 8C01 movw R16,R24
049A A4DE xcall _SdData
049C .dbline 298
049C ; LCD_ChkBusy();
049C B4DE xcall _LCD_ChkBusy
049E .dbline 299
049E ; }
049E L52:
049E .dbline 300
049E ; if(number>=100)
049E 8889 ldd R24,y+16
04A0 9989 ldd R25,y+17
04A2 8436 cpi R24,100
04A4 E0E0 ldi R30,0
04A6 9E07 cpc R25,R30
04A8 30F0 brlo L54
04AA .dbline 301
04AA ; {
04AA .dbline 302
04AA ; showNum4+=48;
04AA C701 movw R24,R14
04AC C096 adiw R24,48
04AE 7C01 movw R14,R24
04B0 .dbline 303
04B0 ; SdData(showNum4);
04B0 082F mov R16,R24
04B2 98DE xcall _SdData
04B4 .dbline 304
04B4 ; LCD_ChkBusy();
04B4 A8DE xcall _LCD_ChkBusy
04B6 .dbline 305
04B6 ; }
04B6 L54:
04B6 .dbline 306
04B6 ; if(number>=10)
04B6 8889 ldd R24,y+16
04B8 9989 ldd R25,y+17
04BA 8A30 cpi R24,10
04BC E0E0 ldi R30,0
04BE 9E07 cpc R25,R30
04C0 30F0 brlo L56
04C2 .dbline 307
04C2 ; {
04C2 .dbline 308
04C2 ; showNum5+=48;
04C2 C601 movw R24,R12
04C4 C096 adiw R24,48
04C6 6C01 movw R12,R24
04C8 .dbline 309
04C8 ; SdData(showNum5);
04C8 082F mov R16,R24
04CA 8CDE xcall _SdData
04CC .dbline 310
04CC ; LCD_ChkBusy();
04CC 9CDE xcall _LCD_ChkBusy
04CE .dbline 311
04CE ; }
04CE L56:
04CE .dbline 312
04CE ; showNum6+=48;
04CE C501 movw R24,R10
04D0 C096 adiw R24,48
04D2 5C01 movw R10,R24
04D4 .dbline 313
04D4 ; SdData(showNum6);
04D4 082F mov R16,R24
04D6 86DE xcall _SdData
04D8 .dbline 314
04D8 ; LCD_ChkBusy();
04D8 96DE xcall _LCD_ChkBusy
04DA .dbline -2
04DA L47:
04DA 2696 adiw R28,6
04DC 0E940000 xcall pop_gset5
04E0 .dbline 0 ; func end
04E0 0895 ret
04E2 .dbsym r showNum5 12 i
04E2 .dbsym r showNum4 14 i
04E2 .dbsym l showNum3 4 i
04E2 .dbsym l showNum2 2 i
04E2 .dbsym l showNum1 0 i
04E2 .dbsym r showNum6 10 i
04E2 .dbsym l number 16 i
04E2 .dbsym r y 10 c
04E2 .dbsym r x 12 c
04E2 .dbend
.area data(ram, con, rel)
0002 .dbfile E:\ICC128\2008控制台\2008console0TEST\U盘扇区读写\ledtest.c
0002 L17:
0002 .blkb 11
.area idata
0002 475457202D203230303800 .byte 'G,'T,'W,32,45,32,50,48,48,56,0
.area data(ram, con, rel)
000D .dbfile E:\ICC128\2008控制台\2008console0TEST\U盘扇区读写\ledtest.c
000D L16:
000D .blkb 13
.area idata
000D BCBCCAF5D3D0CFDEB9ABCBBE00 .byte 188,188,202,245,211,208,207,222,185,171,203,190,0
.area data(ram, con, rel)
001A .dbfile E:\ICC128\2008控制台\2008console0TEST\U盘扇区读写\ledtest.c
001A L15:
001A .blkb 7
.area idata
001A BDF0CCD8CEAC00 .byte 189,240,204,216,206,172,0
.area data(ram, con, rel)
0021 .dbfile E:\ICC128\2008控制台\2008console0TEST\U盘扇区读写\ledtest.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -