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

📄 remote.lis

📁 硬盘MP3播放器-MEGA128-VS1001K-USB-遥控-LCD-ICCAVR代码-硬盘-支持FAT32-单面PCB 第二部分
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0358           L82:
 0358                   .dbline 282
 0358           ; 
 0358           ; if (UpdateLcd == TRUE) LcdUpdate();
 0358 80911C00          lds R24,_UpdateLcd
 035C 8130              cpi R24,1
 035E 09F4              brne L84
 0360                   .dbline 282
 0360 00D0              rcall _LcdUpdate
 0362           L84:
 0362                   .dbline 284
 0362           ;    
 0362           ; tick++;
 0362 80910A00          lds R24,L76
 0366 8F5F              subi R24,255    ; addi 1
 0368 80930A00          sts L76,R24
 036C                   .dbline 285
 036C           ; if (tick < 6) return;
 036C 8630              cpi R24,6
 036E 08F4              brsh L86
 0370                   .dbline 285
 0370 7EC0              rjmp L75
 0372           L86:
 0372                   .dbline 286
 0372           ; tick = 0;
 0372 2224              clr R2
 0374 20920A00          sts L76,R2
 0378                   .dbline 289
 0378           ;    
 0378           ; #ifndef NOTIMEOUT
 0378           ; TimeOut++;
 0378 80910000          lds R24,_TimeOut
 037C 90910100          lds R25,_TimeOut+1
 0380 0196              adiw R24,1
 0382 90930100          sts _TimeOut+1,R25
 0386 80930000          sts _TimeOut,R24
 038A                   .dbline 291
 038A           ; #endif   
 038A           ; Light++;
 038A 80910700          lds R24,_Light
 038E 90910800          lds R25,_Light+1
 0392 0196              adiw R24,1
 0394 90930800          sts _Light+1,R25
 0398 80930700          sts _Light,R24
 039C                   .dbline 294
 039C           ; 
 039C           ; 
 039C           ; if (strlen(&Line[LinePtr][0]) < 14) return;
 039C 10910300          lds R17,_LinePtr
 03A0 08E2              ldi R16,40
 03A2 0102              muls R16,R17
 03A4 8001              movw R16,R0
 03A6 80E0              ldi R24,<_Line
 03A8 90E0              ldi R25,>_Line
 03AA 080F              add R16,R24
 03AC 191F              adc R17,R25
 03AE 00D0              rcall _strlen
 03B0 0E30              cpi R16,14
 03B2 E0E0              ldi R30,0
 03B4 1E07              cpc R17,R30
 03B6 08F4              brsh L88
 03B8                   .dbline 294
 03B8 5AC0              rjmp L75
 03BA           L88:
 03BA                   .dbline 296
 03BA 4427              clr R20
 03BC 09C0              rjmp L93
 03BE           L90:
 03BE                   .dbline 296
 03BE 80E0              ldi R24,<L79
 03C0 90E0              ldi R25,>L79
 03C2 E42F              mov R30,R20
 03C4 FF27              clr R31
 03C6 E80F              add R30,R24
 03C8 F91F              adc R31,R25
 03CA 80E2              ldi R24,32
 03CC 8083              std z+0,R24
 03CE           L91:
 03CE                   .dbline 296
 03CE 4395              inc R20
 03D0           L93:
 03D0                   .dbline 296
 03D0           ;   
 03D0           ; for (j=0;j<14;j++) buffer[j] = ' ';
 03D0 4E30              cpi R20,14
 03D2 A8F3              brlo L90
 03D4                   .dbline 297
 03D4           ; if (i > (strlen(&Line[LinePtr][0]))) i = 0;
 03D4 10910300          lds R17,_LinePtr
 03D8 08E2              ldi R16,40
 03DA 0102              muls R16,R17
 03DC 8001              movw R16,R0
 03DE 80E0              ldi R24,<_Line
 03E0 90E0              ldi R25,>_Line
 03E2 080F              add R16,R24
 03E4 191F              adc R17,R25
 03E6 00D0              rcall _strlen
 03E8 20900B00          lds R2,L77
 03EC 3324              clr R3
 03EE 0215              cp R16,R2
 03F0 1305              cpc R17,R3
 03F2 18F4              brsh L94
 03F4                   .dbline 297
 03F4 2224              clr R2
 03F6 20920B00          sts L77,R2
 03FA           L94:
 03FA                   .dbline 298
 03FA           ; j = strlen(&Line[LinePtr][i]);
 03FA 10910300          lds R17,_LinePtr
 03FE 08E2              ldi R16,40
 0400 0102              muls R16,R17
 0402 1001              movw R2,R0
 0404 80E0              ldi R24,<_Line
 0406 90E0              ldi R25,>_Line
 0408 280E              add R2,R24
 040A 391E              adc R3,R25
 040C 00910B00          lds R16,L77
 0410 1127              clr R17
 0412 020D              add R16,R2
 0414 131D              adc R17,R3
 0416 00D0              rcall _strlen
 0418 402F              mov R20,R16
 041A                   .dbline 299
 041A           ; if (j > 14) j = 14;
 041A 8EE0              ldi R24,14
 041C 8017              cp R24,R16
 041E 08F4              brsh L96
 0420                   .dbline 299
 0420 4EE0              ldi R20,14
 0422           L96:
 0422                   .dbline 300
 0422           ; memcpy(&buffer[0],&Line[LinePtr][i],j);
 0422 242E              mov R2,R20
 0424 3324              clr R3
 0426 3982              std y+1,R3
 0428 2882              std y+0,R2
 042A 10910300          lds R17,_LinePtr
 042E 08E2              ldi R16,40
 0430 0102              muls R16,R17
 0432 1001              movw R2,R0
 0434 80E0              ldi R24,<_Line
 0436 90E0              ldi R25,>_Line
 0438 280E              add R2,R24
 043A 391E              adc R3,R25
 043C 20910B00          lds R18,L77
 0440 3327              clr R19
 0442 220D              add R18,R2
 0444 331D              adc R19,R3
 0446 00E0              ldi R16,<L79
 0448 10E0              ldi R17,>L79
 044A 00D0              rcall _memcpy
 044C                   .dbline 301
 044C           ; buffer[13] = 0x00;
 044C 2224              clr R2
 044E 20920D00          sts L79+13,R2
 0452                   .dbline 302
 0452           ; LcdGotoXY(2,2+LinePtr);
 0452 20910300          lds R18,_LinePtr
 0456 2E5F              subi R18,254    ; addi 2
 0458 02E0              ldi R16,2
 045A 00D0              rcall _LcdGotoXY
 045C                   .dbline 303
 045C           ; LcdStr(1,&buffer[0]);
 045C 20E0              ldi R18,<L79
 045E 30E0              ldi R19,>L79
 0460 01E0              ldi R16,1
 0462 00D0              rcall _LcdStr
 0464                   .dbline 304
 0464           ; i++;
 0464 80910B00          lds R24,L77
 0468 8F5F              subi R24,255    ; addi 1
 046A 80930B00          sts L77,R24
 046E                   .dbline -2
 046E                   .dbline 305
 046E           ; }
 046E           L75:
 046E 2296              adiw R28,2
 0470 00D0              rcall pop_gset1
 0472 00D0              rcall pop_lset
 0474                   .dbline 0 ; func end
 0474 1895              reti
 0476                   .dbsym r j 20 c
 0476                   .dbend
                        .area vector(rom, abs)
                        .org 2
 0002 3BC2              rjmp _int0_isr
                        .area text(rom, con, rel)
 0476                   .dbfile C:\DATA\MP3\Remote\Code\remote.c
                        .area bss(ram, con, rel)
 000E                   .dbfile C:\DATA\MP3\Remote\Code\remote.c
 000E           L100:
 000E                   .blkb 1
                        .area text(rom, con, rel)
 0476                   .dbfile C:\DATA\MP3\Remote\Code\remote.c
 0476                   .dbfunc e int0_isr _int0_isr fV
 0476                   .dbsym s LastKey L100 c
 0476           ;              i -> <dead>
                        .even
 0476           _int0_isr::
 0476 00D0              rcall push_lset
 0478                   .dbline -1
 0478                   .dbline 312
 0478           ; 
 0478           ; //*************************************
 0478           ; // void int0_isr(void)
 0478           ; //*************************************
 0478           ; #pragma interrupt_handler int0_isr:2
 0478           ; void int0_isr(void)
 0478           ; {
 0478                   .dbline 316
 0478           ; static unsigned char LastKey;
 0478           ; unsigned char i;
 0478           ; 
 0478           ; TimeOut = 0;
 0478 2224              clr R2
 047A 3324              clr R3
 047C 30920100          sts _TimeOut+1,R3
 0480 20920000          sts _TimeOut,R2
 0484                   .dbline 318
 0484           ; 
 0484           ; delay_ms(10);
 0484 0AE0              ldi R16,10
 0486 10E0              ldi R17,0
 0488 37D0              rcall _delay_ms
 048A                   .dbline 319
 048A           ; Key = ScanKey();
 048A 04D0              rcall _ScanKey
 048C 00930200          sts _Key,R16
 0490                   .dbline -2
 0490                   .dbline 320
 0490           ; }
 0490           L99:
 0490 00D0              rcall pop_lset
 0492                   .dbline 0 ; func end
 0492 1895              reti
 0494                   .dbsym l i 1 c
 0494                   .dbend
 0494                   .dbfunc e ScanKey _ScanKey fc
                        .even
 0494           _ScanKey::
 0494                   .dbline -1
 0494                   .dbline 336
 0494           ; 
 0494           ; /**********************************************************
 0494           ; 
 0494           ; Name:                 void ScanKey(void)
 0494           ; 
 0494           ; Description:  ScanKeyPad
 0494           ; 
 0494           ; Input:                        none
 0494           ; 
 0494           ; Output:                       none
 0494           ; 
 0494           ; Misc:                 
 0494           ; 
 0494           ; **********************************************************/   
 0494           ; unsigned char ScanKey()
 0494           ; {
 0494                   .dbline 337
 0494           ; if ((!(PINC & SHIFT)) && (!(PINC & UP)) && (!(PINC & DOWN))) return RESET;
 0494 9C99              sbic 0x13,4
 0496 06C0              rjmp L102
 0498 9D99              sbic 0x13,5
 049A 04C0              rjmp L102
 049C 9A99              sbic 0x13,2
 049E 02C0              rjmp L102
 04A0                   .dbline 337
 04A0 06E2              ldi R16,38
 04A2 29C0              rjmp L101
 04A4           L102:
 04A4                   .dbline 339
 04A4           ; 
 04A4           ; if ((!(PINC & SHIFT)) && (!(PINC & UP)))    return SHIFT_UP;
 04A4 9C99              sbic 0x13,4
 04A6 04C0              rjmp L104
 04A8 9D99              sbic 0x13,5
 04AA 02C0              rjmp L104
 04AC                   .dbline 339
 04AC 00E9              ldi R16,144
 04AE 23C0              rjmp L101
 04B0           L104:
 04B0                   .dbline 340
 04B0           ; if ((!(PINC & SHIFT)) && (!(PINC & DOWN)))  return SHIFT_DOWN;
 04B0 9C99              sbic 0x13,4
 04B2 04C0              rjmp L106
 04B4 9A99              sbic 0x13,2
 04B6 02C0              rjmp L106
 04B8                   .dbline 340
 04B8 04E8              ldi R16,132
 04BA 1DC0              rjmp L101
 04BC           L106:
 04BC                   .dbline 341
 04BC           ; if ((!(PINC & SHIFT)) && (!(PINC & RIGHT))) return SHIFT_RIGHT;
 04BC 9C99              sbic 0x13,4
 04BE 04C0              rjmp L108
 04C0 9B99              sbic 0x13,3
 04C2 02C0              rjmp L108
 04C4                   .dbline 341
 04C4 08E8              ldi R16,136
 04C6 17C0              rjmp L101
 04C8           L108:
 04C8                   .dbline 342
 04C8           ; if ((!(PINC & SHIFT)) && (!(PINC & LEFT)))  return SHIFT_LEFT;
 04C8 9C99              sbic 0x13,4
 04CA 04C0              rjmp L110
 04CC 9999              sbic 0x13,1
 04CE 02C0              rjmp L110
 04D0                   .dbline 342
 04D0 02E8              ldi R16,130
 04D2 11C0              rjmp L101
 04D4           L110:
 04D4                   .dbline 344
 04D4           ; 
 04D4           ; if (!(PINC & UP))     return UP;
 04D4 9D99              sbic 0x13,5
 04D6 02C0              rjmp L112
 04D8                   .dbline 344
 04D8 00E2              ldi R16,32
 04DA 0DC0              rjmp L101
 04DC           L112:
 04DC                   .dbline 345
 04DC           ; if (!(PINC & DOWN))   return DOWN;
 04DC 9A99              sbic 0x13,2
 04DE 02C0              rjmp L114
 04E0                   .dbline 345
 04E0 04E0              ldi R16,4
 04E2 09C0              rjmp L101
 04E4           L114:
 04E4                   .dbline 346
 04E4           ; if (!(PINC & RIGHT))  return RIGHT;
 04E4 9B99              sbic 0x13,3
 04E6 02C0              rjmp L116
 04E8                   .dbline 346
 04E8 08E0              ldi R16,8
 04EA 05C0              rjmp L101
 04EC           L116:
 04EC                   .dbline 347
 04EC           ; if (!(PINC & LEFT))   return LEFT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -