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

📄 lyj.lis

📁 /*红外解码的方法 NEC格式 upd6121 1、9Ms的高电平启动头
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0342                   .dbline -2
 0342           L40:
 0342                   .dbline 0 ; func end
 0342 0895              ret
 0344                   .dbsym r iPos 16 c
 0344                   .dbsym r iNowBit 18 c
 0344                   .dbend
 0344                   .dbfunc e CheckIrCmd _CheckIrCmd fV
 0344           ;              i -> R16
                        .even
 0344           _CheckIrCmd::
 0344                   .dbline -1
 0344                   .dbline 331
 0344           ;      default:
 0344           ;                 iIrMode=0;
 0344           ;                 break;
 0344           ;    }
 0344           ; }
 0344           ; 
 0344           ; //对红外命令判断操作
 0344           ; void CheckIrCmd()
 0344           ; {uchar i;
 0344                   .dbline 332
 0344           ;    bIrCmdOk=0;
 0344 2224              clr R2
 0346 20920B00          sts _bIrCmdOk,R2
 034A                   .dbline 333
 034A           ;    if (iIrData[0]!=(~iIrData[1]))
 034A 20900100          lds R2,_iIrData+1
 034E 2094              com R2
 0350 30900000          lds R3,_iIrData
 0354 3214              cp R3,R2
 0356 09F0              breq L77
 0358                   .dbline 334
 0358           ;    { return;//custom码就不对
 0358                   .dbline 334
 0358 46C0              rjmp L76
 035A           L77:
 035A                   .dbline 336
 035A           ;    }
 035A           ;    if (iIrData[2]!=(~iIrData[3])) return;//按键码不对
 035A 20900300          lds R2,_iIrData+3
 035E 2094              com R2
 0360 30900200          lds R3,_iIrData+2
 0364 3214              cp R3,R2
 0366 09F0              breq L80
 0368                   .dbline 336
 0368 3EC0              rjmp L76
 036A           L80:
 036A                   .dbline 338
 036A           ;    
 036A           ;    i=iIrData[2]&0x0f;
 036A 00910200          lds R16,_iIrData+2
 036E 0F70              andi R16,15
 0370                   .dbline 340
 0370           ;    //BeepN(i&0x0f);
 0370           ;    switch (i)
 0370 1127              clr R17
 0372 0230              cpi R16,2
 0374 E0E0              ldi R30,0
 0376 1E07              cpc R17,R30
 0378 49F1              breq L91
 037A 0230              cpi R16,2
 037C E0E0              ldi R30,0
 037E 1E07              cpc R17,R30
 0380 94F1              brlt L85
 0382           L93:
 0382 0730              cpi R16,7
 0384 E0E0              ldi R30,0
 0386 1E07              cpc R17,R30
 0388 D1F0              breq L90
 038A 0A30              cpi R16,10
 038C E0E0              ldi R30,0
 038E 1E07              cpc R17,R30
 0390 49F0              breq L88
 0392 0B30              cpi R16,11
 0394 E0E0              ldi R30,0
 0396 1E07              cpc R17,R30
 0398 59F0              breq L89
 039A 0E30              cpi R16,14
 039C E0E0              ldi R30,0
 039E 1E07              cpc R17,R30
 03A0 E1F0              breq L92
 03A2 21C0              rjmp L85
 03A4           X13:
 03A4                   .dbline 341
 03A4           ;    { case IRSTOP:
 03A4           L88:
 03A4                   .dbline 342
 03A4           ;         bCmdOk=1;iCmd=CSTOP;
 03A4 81E0              ldi R24,1
 03A6 80930C00          sts _bCmdOk,R24
 03AA                   .dbline 342
 03AA 80930900          sts _iCmd,R24
 03AE                   .dbline 343
 03AE           ;         break;
 03AE 1BC0              rjmp L86
 03B0           L89:
 03B0                   .dbline 345
 03B0           ;        case IRUP:
 03B0           ;           bCmdOk=1;iCmd=CUP;
 03B0 81E0              ldi R24,1
 03B2 80930C00          sts _bCmdOk,R24
 03B6                   .dbline 345
 03B6 82E0              ldi R24,2
 03B8 80930900          sts _iCmd,R24
 03BC                   .dbline 346
 03BC           ;               break;
 03BC 14C0              rjmp L86
 03BE           L90:
 03BE                   .dbline 348
 03BE           ;        case IRDOWN:
 03BE           ;           bCmdOk=1;iCmd=CDOWN;
 03BE 81E0              ldi R24,1
 03C0 80930C00          sts _bCmdOk,R24
 03C4                   .dbline 348
 03C4 83E0              ldi R24,3
 03C6 80930900          sts _iCmd,R24
 03CA                   .dbline 349
 03CA           ;               break;
 03CA 0DC0              rjmp L86
 03CC           L91:
 03CC                   .dbline 351
 03CC           ;        case IRLAMP:
 03CC           ;           bCmdOk=1;iCmd=CLAMP;
 03CC 81E0              ldi R24,1
 03CE 80930C00          sts _bCmdOk,R24
 03D2                   .dbline 351
 03D2 84E0              ldi R24,4
 03D4 80930900          sts _iCmd,R24
 03D8                   .dbline 352
 03D8           ;               break;
 03D8 06C0              rjmp L86
 03DA           L92:
 03DA                   .dbline 354
 03DA           ;        case IRDIS:
 03DA           ;           bCmdOk=1;iCmd=CDIS;
 03DA 81E0              ldi R24,1
 03DC 80930C00          sts _bCmdOk,R24
 03E0                   .dbline 354
 03E0 85E0              ldi R24,5
 03E2 80930900          sts _iCmd,R24
 03E6                   .dbline 355
 03E6           ;           break;
 03E6           L85:
 03E6           L86:
 03E6                   .dbline -2
 03E6           L76:
 03E6                   .dbline 0 ; func end
 03E6 0895              ret
 03E8                   .dbsym r i 16 c
 03E8                   .dbend
 03E8                   .dbfunc e CheckStop _CheckStop fV
                        .even
 03E8           _CheckStop::
 03E8                   .dbline -1
 03E8                   .dbline 361
 03E8           ;    }
 03E8           ; }
 03E8           ; 
 03E8           ; //判断限位开关
 03E8           ; void CheckStop()
 03E8           ; {
 03E8                   .dbline 362
 03E8           ;    if (((PIND&(1<<UPX))==0) || ((PIND&(1<<DWNX))==0)) 
 03E8 829B              sbis 0x10,2
 03EA 02C0              rjmp L97
 03EC 8399              sbic 0x10,3
 03EE 04C0              rjmp L95
 03F0           L97:
 03F0                   .dbline 363
 03F0                   .dbline 363
 03F0 13D0              rcall _MotorStop
 03F2                   .dbline 364
 03F2 02E0              ldi R16,2
 03F4 10E0              ldi R17,0
 03F6 2ED0              rcall _BeepN
 03F8                   .dbline 365
 03F8           L95:
 03F8                   .dbline -2
 03F8           L94:
 03F8                   .dbline 0 ; func end
 03F8 0895              ret
 03FA                   .dbend
 03FA                   .dbfunc e TimerFunc _TimerFunc fV
                        .even
 03FA           _TimerFunc::
 03FA                   .dbline -1
 03FA                   .dbline 370
 03FA           ;        { MotorStop();
 03FA           ;            BeepN(2);
 03FA           ;                }
 03FA           ;        
 03FA           ; }
 03FA           ; 
 03FA           ; void TimerFunc()
 03FA           ; {
 03FA                   .dbline 371
 03FA           ;    bTimer=0;
 03FA 2224              clr R2
 03FC 20920D00          sts _bTimer,R2
 0400                   .dbline 372
 0400           ;    CPL(PORTB,LED);
 0400 82E0              ldi R24,2
 0402 28B2              in R2,0x18
 0404 2826              eor R2,R24
 0406 28BA              out 0x18,R2
 0408                   .dbline 376
 0408           ;    //CPL(PORTC,BEEP);
 0408           ;    //CPL(PORTC,LAMP);
 0408           ;    //CPL(PORTD,DOWN);
 0408           ;    WDR();//clear WDT
 0408 A895              wdr
 040A                   .dbline -2
 040A           L98:
 040A                   .dbline 0 ; func end
 040A 0895              ret
 040C                   .dbend
 040C                   .dbfunc e MotorUp _MotorUp fV
                        .even
 040C           _MotorUp::
 040C                   .dbline -1
 040C                   .dbline 380
 040C           ; }
 040C           ; 
 040C           ; void MotorUp()
 040C           ; {
 040C                   .dbline 381
 040C           ;    CLR(PORTD,UP);
 040C 9598              cbi 0x12,5
 040E                   .dbline 382
 040E           ;    SET(PORTD,DOWN);
 040E 969A              sbi 0x12,6
 0410                   .dbline -2
 0410           L99:
 0410                   .dbline 0 ; func end
 0410 0895              ret
 0412                   .dbend
 0412                   .dbfunc e MotorDown _MotorDown fV
                        .even
 0412           _MotorDown::
 0412                   .dbline -1
 0412                   .dbline 386
 0412           ; }
 0412           ; 
 0412           ; void MotorDown()
 0412           ; {
 0412                   .dbline 387
 0412           ;    SET(PORTD,UP);
 0412 959A              sbi 0x12,5
 0414                   .dbline 388
 0414           ;    CLR(PORTD,DOWN);
 0414 9698              cbi 0x12,6
 0416                   .dbline -2
 0416           L100:
 0416                   .dbline 0 ; func end
 0416 0895              ret
 0418                   .dbend
 0418                   .dbfunc e MotorStop _MotorStop fV
                        .even
 0418           _MotorStop::
 0418                   .dbline -1
 0418                   .dbline 392
 0418           ; }
 0418           ; 
 0418           ; void MotorStop()
 0418           ; {
 0418                   .dbline 393
 0418           ;    CLR(PORTD,UP);
 0418 9598              cbi 0x12,5
 041A                   .dbline 394
 041A           ;    CLR(PORTD,DOWN);
 041A 9698              cbi 0x12,6
 041C                   .dbline -2
 041C           L101:
 041C                   .dbline 0 ; func end
 041C 0895              ret
 041E                   .dbend
 041E                   .dbfunc e LampOn _LampOn fV
                        .even
 041E           _LampOn::
 041E                   .dbline -1
 041E                   .dbline 398
 041E           ; }
 041E           ; 
 041E           ; void LampOn()
 041E           ; {
 041E                   .dbline 399
 041E           ;   SET(PORTC,LAMP);
 041E AA9A              sbi 0x15,2
 0420                   .dbline -2
 0420           L102:
 0420                   .dbline 0 ; func end
 0420 0895              ret
 0422                   .dbend
 0422                   .dbfunc e LampOff _LampOff fV
                        .even
 0422           _LampOff::
 0422                   .dbline -1
 0422                   .dbline 403
 0422           ; }
 0422           ; 
 0422           ; void LampOff()
 0422           ; {
 0422                   .dbline 404
 0422           ;   CLR(PORTC,LAMP);
 0422 AA98              cbi 0x15,2
 0424                   .dbline -2
 0424           L103:
 0424                   .dbline 0 ; func end
 0424 0895              ret
 0426                   .dbend
 0426                   .dbfunc e LampOnOff _LampOnOff fV
                        .even
 0426           _LampOnOff::
 0426                   .dbline -1
 0426                   .dbline 408
 0426           ; }
 0426           ; 
 0426           ; void LampOnOff()
 0426           ; {
 0426                   .dbline 409
 0426           ;    CPL(PORTC,LAMP);
 0426 84E0              ldi R24,4
 0428 25B2              in R2,0x15
 042A 2826              eor R2,R24
 042C 25BA              out 0x15,R2
 042E                   .dbline -2
 042E           L104:
 042E                   .dbline 0 ; func end
 042E 0895              ret
 0430                   .dbend
 0430                   .dbfunc e DisOn _DisOn fV
                        .even
 0430           _DisOn::
 0430                   .dbline -1
 0430                   .dbline 413
 0430           ; }
 0430           ; 
 0430           ; void DisOn()
 0430           ; {
 0430                   .dbline 414
 0430           ;   SET(PORTC,DIS);
 0430 AB9A              sbi 0x15,3
 0432                   .dbline -2
 0432           L105:
 0432                   .dbline 0 ; func end
 0432 0895              ret
 0434                   .dbend
 0434                   .dbfunc e DisOff _DisOff fV
                        .even
 0434           _DisOff::
 0434                   .dbline -1
 0434                   .dbline 418
 0434           ; }

⌨️ 快捷键说明

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