⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ledtest.lis

📁 使用ATMEGA128加CH375对U盘扇区进行读写,本程序在ICCAVR上调试,并在相应硬件电路上调试通过!供参考用
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 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 + -