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

📄 lyj.lis

📁 /*红外解码的方法 NEC格式 upd6121 1、9Ms的高电平启动头
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0434           ; 
 0434           ; void DisOff()
 0434           ; {
 0434                   .dbline 419
 0434           ;   CLR(PORTC,DIS);
 0434 AB98              cbi 0x15,3
 0436                   .dbline -2
 0436           L106:
 0436                   .dbline 0 ; func end
 0436 0895              ret
 0438                   .dbend
 0438                   .dbfunc e DisOnOff _DisOnOff fV
                        .even
 0438           _DisOnOff::
 0438                   .dbline -1
 0438                   .dbline 423
 0438           ; }
 0438           ; 
 0438           ; void DisOnOff()
 0438           ; {
 0438                   .dbline 424
 0438           ;   CPL(PORTC,DIS);
 0438 88E0              ldi R24,8
 043A 25B2              in R2,0x15
 043C 2826              eor R2,R24
 043E 25BA              out 0x15,R2
 0440                   .dbline -2
 0440           L107:
 0440                   .dbline 0 ; func end
 0440 0895              ret
 0442                   .dbend
 0442                   .dbfunc e BeepOn _BeepOn fV
                        .even
 0442           _BeepOn::
 0442                   .dbline -1
 0442                   .dbline 428
 0442           ; }
 0442           ; 
 0442           ; void BeepOn()
 0442           ; {
 0442                   .dbline 429
 0442           ;   SET(PORTC,BEEP);
 0442 A89A              sbi 0x15,0
 0444                   .dbline -2
 0444           L108:
 0444                   .dbline 0 ; func end
 0444 0895              ret
 0446                   .dbend
 0446                   .dbfunc e BeepOff _BeepOff fV
                        .even
 0446           _BeepOff::
 0446                   .dbline -1
 0446                   .dbline 433
 0446           ; }
 0446           ; 
 0446           ; void BeepOff()
 0446           ; {
 0446                   .dbline 434
 0446           ;    CLR(PORTC,BEEP);
 0446 A898              cbi 0x15,0
 0448                   .dbline -2
 0448           L109:
 0448                   .dbline 0 ; func end
 0448 0895              ret
 044A                   .dbend
 044A                   .dbfunc e Beep _Beep fV
                        .even
 044A           _Beep::
 044A                   .dbline -1
 044A                   .dbline 438
 044A           ; }
 044A           ; 
 044A           ; void Beep()
 044A           ; {
 044A                   .dbline 439
 044A           ;    SET(PORTC,BEEP);
 044A A89A              sbi 0x15,0
 044C                   .dbline 440
 044C           ;    DelayMs(100);
 044C 04E6              ldi R16,100
 044E 2ED0              rcall _DelayMs
 0450                   .dbline 441
 0450           ;    CLR(PORTC,BEEP);
 0450 A898              cbi 0x15,0
 0452                   .dbline -2
 0452           L110:
 0452                   .dbline 0 ; func end
 0452 0895              ret
 0454                   .dbend
 0454                   .dbfunc e BeepN _BeepN fV
 0454           ;              i -> R20
 0454           ;              n -> R22
                        .even
 0454           _BeepN::
 0454 00D0              rcall push_gset2
 0456 602F              mov R22,R16
 0458                   .dbline -1
 0458                   .dbline 445
 0458           ; }
 0458           ; 
 0458           ; void BeepN(uchar n)
 0458           ; {uchar i;
 0458                   .dbline 446
 0458           ;    for (i=0;i<n;i++)
 0458 4427              clr R20
 045A 05C0              rjmp L115
 045C           L112:
 045C                   .dbline 447
 045C                   .dbline 447
 045C F6DF              rcall _Beep
 045E                   .dbline 448
 045E A895              wdr
 0460                   .dbline 449
 0460 04E6              ldi R16,100
 0462 24D0              rcall _DelayMs
 0464                   .dbline 450
 0464           L113:
 0464                   .dbline 446
 0464 4395              inc R20
 0466           L115:
 0466                   .dbline 446
 0466 4617              cp R20,R22
 0468 C8F3              brlo L112
 046A                   .dbline -2
 046A           L111:
 046A 00D0              rcall pop_gset2
 046C                   .dbline 0 ; func end
 046C 0895              ret
 046E                   .dbsym r i 20 c
 046E                   .dbsym r n 22 c
 046E                   .dbend
 046E                   .dbfunc e ReadSN _ReadSN fV
 046E           ;              i -> <dead>
 046E           ;            Buf -> y+2
                        .even
 046E           _ReadSN::
 046E 2A97              sbiw R28,10
 0470                   .dbline -1
 0470                   .dbline 455
 0470           ;    { Beep();
 0470           ;      WDR();
 0470           ;      DelayMs(100);
 0470           ;    }
 0470           ;  
 0470           ; }
 0470           ; 
 0470           ; void ReadSN()
 0470           ; {  char Buf[8],i;
 0470                   .dbline 456
 0470           ;    EEPROMReadBytes( 0x20, Buf,8 );
 0470 88E0              ldi R24,8
 0472 90E0              ldi R25,0
 0474 9983              std y+1,R25
 0476 8883              std y+0,R24
 0478 9E01              movw R18,R28
 047A 2E5F              subi R18,254  ; offset = 2
 047C 3F4F              sbci R19,255
 047E 00E2              ldi R16,32
 0480 10E0              ldi R17,0
 0482 00D0              rcall _EEPROMReadBytes
 0484                   .dbline -2
 0484           L116:
 0484 2A96              adiw R28,10
 0486                   .dbline 0 ; func end
 0486 0895              ret
 0488                   .dbsym l i 3 c
 0488                   .dbsym l Buf 2 A[8:8]c
 0488                   .dbend
 0488                   .dbfunc e WriteSN _WriteSN fV
 0488           ;              i -> <dead>
 0488           ;            Buf -> y+2
                        .even
 0488           _WriteSN::
 0488 2A97              sbiw R28,10
 048A                   .dbline -1
 048A                   .dbline 460
 048A           ; }
 048A           ; 
 048A           ; void WriteSN()
 048A           ; {char Buf[8],i;
 048A                   .dbline 462
 048A           ; 
 048A           ;   EEPROMWriteBytes(0x20, Buf, 8);
 048A 88E0              ldi R24,8
 048C 90E0              ldi R25,0
 048E 9983              std y+1,R25
 0490 8883              std y+0,R24
 0492 9E01              movw R18,R28
 0494 2E5F              subi R18,254  ; offset = 2
 0496 3F4F              sbci R19,255
 0498 00E2              ldi R16,32
 049A 10E0              ldi R17,0
 049C 00D0              rcall _EEPROMWriteBytes
 049E                   .dbline -2
 049E           L117:
 049E 2A96              adiw R28,10
 04A0                   .dbline 0 ; func end
 04A0 0895              ret
 04A2                   .dbsym l i 3 c
 04A2                   .dbsym l Buf 2 A[8:8]c
 04A2                   .dbend
 04A2                   .dbfunc e SystemIni _SystemIni fV
                        .even
 04A2           _SystemIni::
 04A2                   .dbline -1
 04A2                   .dbline 468
 04A2           ;    
 04A2           ; }
 04A2           ; 
 04A2           ; 
 04A2           ; void SystemIni(void)
 04A2           ; {
 04A2                   .dbline 469
 04A2           ;   ReadSN();
 04A2 E5DF              rcall _ReadSN
 04A4                   .dbline 470
 04A4           ;   T0Cnt=T0N;
 04A4 8AE0              ldi R24,10
 04A6 80930A00          sts _T0Cnt,R24
 04AA                   .dbline -2
 04AA           L118:
 04AA                   .dbline 0 ; func end
 04AA 0895              ret
 04AC                   .dbend
 04AC                   .dbfunc e DelayMs _DelayMs fV
 04AC           ;              i -> R20
 04AC           ;             ms -> R22
                        .even
 04AC           _DelayMs::
 04AC 00D0              rcall push_gset2
 04AE 602F              mov R22,R16
 04B0                   .dbline -1
 04B0                   .dbline 475
 04B0           ; }
 04B0           ; 
 04B0           ; 
 04B0           ; void DelayMs(char ms)
 04B0           ; {char i;
 04B0                   .dbline 476
 04B0           ; for (i=0;i<ms;i++)
 04B0 4427              clr R20
 04B2 04C0              rjmp L123
 04B4           L120:
 04B4                   .dbline 477
 04B4                   .dbline 477
 04B4 08EE              ldi R16,1000
 04B6 13E0              ldi R17,3
 04B8 05D0              rcall _DelayUs
 04BA                   .dbline 478
 04BA           L121:
 04BA                   .dbline 476
 04BA 4395              inc R20
 04BC           L123:
 04BC                   .dbline 476
 04BC 4617              cp R20,R22
 04BE D0F3              brlo L120
 04C0                   .dbline 479
 04C0           ;   {DelayUs(1000);
 04C0           ;   }
 04C0           ;   return;
 04C0                   .dbline -2
 04C0           L119:
 04C0 00D0              rcall pop_gset2
 04C2                   .dbline 0 ; func end
 04C2 0895              ret
 04C4                   .dbsym r i 20 c
 04C4                   .dbsym r ms 22 c
 04C4                   .dbend
 04C4                   .dbfunc e DelayUs _DelayUs fV
 04C4           ;              i -> R20,R21
 04C4           ;             us -> R16,R17
                        .even
 04C4           _DelayUs::
 04C4 00D0              rcall push_gset1
 04C6                   .dbline -1
 04C6                   .dbline 483
 04C6           ; }
 04C6           ; 
 04C6           ; void DelayUs(uint us)
 04C6           ; {uint i;
 04C6                   .dbline 485
 04C6           ;   
 04C6           ;   for (i=0;i<us;i++)
 04C6 4427              clr R20
 04C8 5527              clr R21
 04CA 06C0              rjmp L128
 04CC           L125:
 04CC                   .dbline 486
 04CC                   .dbline 486
 04CC 0000              nop
 04CE                   .dbline 486
 04CE 0000              nop
 04D0                   .dbline 486
 04D0 0000              nop
 04D2                   .dbline 486
 04D2 0000              nop
 04D4                   .dbline 487
 04D4           L126:
 04D4                   .dbline 485
 04D4 4F5F              subi R20,255  ; offset = 1
 04D6 5F4F              sbci R21,255
 04D8           L128:
 04D8                   .dbline 485
 04D8 4017              cp R20,R16
 04DA 5107              cpc R21,R17
 04DC B8F3              brlo L125
 04DE                   .dbline -2
 04DE           L124:
 04DE 00D0              rcall pop_gset1
 04E0                   .dbline 0 ; func end
 04E0 0895              ret
 04E2                   .dbsym r i 20 i
 04E2                   .dbsym r us 16 i
 04E2                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\IccAvr\Pei\LYJ\LYJ.c
 0000           _iIrData::
 0000                   .blkb 4
 0004                   .dbsym e iIrData _iIrData A[4:4]c
 0004           _iBitCount::
 0004                   .blkb 1
 0005                   .dbsym e iBitCount _iBitCount c
 0005           _iIrMode::
 0005                   .blkb 1
 0006                   .dbsym e iIrMode _iIrMode c
 0006           _iLow::
 0006                   .blkb 1
 0007                   .dbsym e iLow _iLow c
 0007           _iHight::
 0007                   .blkb 1
 0008                   .dbsym e iHight _iHight c
 0008           _iPreBit::
 0008                   .blkb 1
 0009                   .dbsym e iPreBit _iPreBit c
 0009           _iCmd::
 0009                   .blkb 1
 000A                   .dbsym e iCmd _iCmd c
 000A           _T0Cnt::
 000A                   .blkb 1
 000B                   .dbsym e T0Cnt _T0Cnt c
 000B           _bIrCmdOk::
 000B                   .blkb 1
 000C                   .dbsym e bIrCmdOk _bIrCmdOk c
 000C           _bCmdOk::
 000C                   .blkb 1
 000D                   .dbsym e bCmdOk _bCmdOk c
 000D           _bTimer::
 000D                   .blkb 1
 000E                   .dbsym e bTimer _bTimer c
 000E           _b20ms::
 000E                   .blkb 1
 000F                   .dbsym e b20ms _b20ms c

⌨️ 快捷键说明

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