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

📄 necdecode.lis

📁 MCU控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0446                   .dbline 437
 0446           ;                break; 
 0446 0FC0              xjmp L58
 0448           L104:
 0448                   .dbline 439
 0448           ;       case 83:
 0448           ;                ResultNec=94;
 0448 8EE5              ldi R24,94
 044A 80931000          sts _ResultNec,R24
 044E                   .dbline 440
 044E           ;                break;         
 044E 0BC0              xjmp L58
 0450           L105:
 0450                   .dbline 442
 0450           ;       case 28:
 0450           ;                ResultNec=95;
 0450 8FE5              ldi R24,95
 0452 80931000          sts _ResultNec,R24
 0456                   .dbline 443
 0456           ;                break;         
 0456 07C0              xjmp L58
 0458           L106:
 0458                   .dbline 445
 0458           ;       case 79:
 0458           ;                ResultNec=96;
 0458 80E6              ldi R24,96
 045A 80931000          sts _ResultNec,R24
 045E                   .dbline 446
 045E           ;                break;
 045E 03C0              xjmp L58
 0460           L57:
 0460                   .dbline 448
 0460 8EE7              ldi R24,126
 0462 80931000          sts _ResultNec,R24
 0466                   .dbline 449
 0466           L58:
 0466                   .dbline -2
 0466           L55:
 0466 0E940000          xcall pop_gset1
 046A                   .dbline 0 ; func end
 046A 0895              ret
 046C                   .dbend
 046C                   .dbfunc e Deal_Repeat _Deal_Repeat fV
                        .even
 046C           _Deal_Repeat::
 046C                   .dbline -1
 046C                   .dbline 454
 046C           ;       default:
 046C           ;            ResultNec=126;
 046C           ;                break;                  
 046C           ;    }
 046C           ; }
 046C           ; 
 046C           ; void Deal_Repeat()
 046C           ; {
 046C                   .dbline 455
 046C           ;   if((NecData[1]==0x05)&&(NecData[0]==0x86)) //用户码正确 for bestbuy
 046C 80911D00          lds R24,_NecData+1
 0470 8530              cpi R24,5
 0472 09F5              brne L112
 0474 80911C00          lds R24,_NecData
 0478 8638              cpi R24,134
 047A E9F4              brne L112
 047C                   .dbline 456
 047C           ;   {
 047C                   .dbline 457
 047C           ;       Nec_consumer_map();
 047C B4DE              xcall _Nec_consumer_map
 047E                   .dbline 461
 047E           ;       
 047E           ; //    ResultNec=NecData[2];
 047E           ; //    UDR=0x20;
 047E           ;       irda_num++;  
 047E 80910900          lds R24,_irda_num
 0482 8F5F              subi R24,255    ; addi 1
 0484 80930900          sts _irda_num,R24
 0488                   .dbline 462
 0488           ;       irda_b=1;
 0488 81E0              ldi R24,1
 048A 80930800          sts _irda_b,R24
 048E                   .dbline 463
 048E           ;       if(RepeatControl==3)
 048E 80910500          lds R24,_RepeatControl
 0492 8330              cpi R24,3
 0494 51F4              brne L115
 0496                   .dbline 464
 0496           ;       {
 0496                   .dbline 465
 0496           ;               if(System_State==standby||System_State==working)
 0496 20900000          lds R2,_System_State
 049A 2220              tst R2
 049C 21F0              breq L119
 049E 80910000          lds R24,_System_State
 04A2 8330              cpi R24,3
 04A4 61F5              brne L113
 04A6           L119:
 04A6                   .dbline 466
 04A6           ;               {
 04A6                   .dbline 467
 04A6           ;                  Nec_data_deal_fun();
 04A6 E0DD              xcall _Nec_data_deal_fun
 04A8                   .dbline 468
 04A8           ;               }   
 04A8                   .dbline 469
 04A8           ;       }
 04A8 2AC0              xjmp L113
 04AA           L115:
 04AA                   .dbline 471
 04AA           ;       else
 04AA           ;       {
 04AA                   .dbline 472
 04AA           ;               RepeatControl++;
 04AA 80910500          lds R24,_RepeatControl
 04AE 8F5F              subi R24,255    ; addi 1
 04B0 80930500          sts _RepeatControl,R24
 04B4                   .dbline 473
 04B4           ;       }               
 04B4                   .dbline 474
 04B4           ;   }
 04B4 24C0              xjmp L113
 04B6           L112:
 04B6                   .dbline 476
 04B6           ;   else
 04B6           ;   {
 04B6                   .dbline 489
 04B6           ;     
 04B6           ; /*    UDR=0x20;
 04B6           ;       while(!(UCSRA&(1<<UDRE)));
 04B6           ;       UDR=NecData[0];
 04B6           ;       while(!(UCSRA&(1<<UDRE)));
 04B6           ;       UDR=NecData[1];
 04B6           ;       while(!(UCSRA&(1<<UDRE)));
 04B6           ;       UDR=NecData[2];
 04B6           ;       while(!(UCSRA&(1<<UDRE)));
 04B6           ;       UDR=NecData[3];
 04B6           ; */    
 04B6           ;       
 04B6           ;       if((NecData[1]==0xfc)&&(NecData[0]==0x00)) //用户码正确 for fac
 04B6 80911D00          lds R24,_NecData+1
 04BA 8C3F              cpi R24,252
 04BC 01F5              brne L120
 04BE 20901C00          lds R2,_NecData
 04C2 2220              tst R2
 04C4 E1F4              brne L120
 04C6                   .dbline 490
 04C6           ;       {
 04C6                   .dbline 491
 04C6           ;          Nec_fac_map();
 04C6 D7DE              xcall _Nec_fac_map
 04C8                   .dbline 495
 04C8           ;       
 04C8           ; //    ResultNec=NecData[2];
 04C8           ; //    UDR=0x20;
 04C8           ;          irda_num++;  
 04C8 80910900          lds R24,_irda_num
 04CC 8F5F              subi R24,255    ; addi 1
 04CE 80930900          sts _irda_num,R24
 04D2                   .dbline 496
 04D2           ;          irda_b=1;
 04D2 81E0              ldi R24,1
 04D4 80930800          sts _irda_b,R24
 04D8                   .dbline 497
 04D8           ;          if(RepeatControl==3)
 04D8 80910500          lds R24,_RepeatControl
 04DC 8330              cpi R24,3
 04DE 51F4              brne L123
 04E0                   .dbline 498
 04E0           ;          {
 04E0                   .dbline 499
 04E0           ;                if(System_State==standby||System_State==working)
 04E0 20900000          lds R2,_System_State
 04E4 2220              tst R2
 04E6 21F0              breq L127
 04E8 80910000          lds R24,_System_State
 04EC 8330              cpi R24,3
 04EE 39F4              brne L124
 04F0           L127:
 04F0                   .dbline 500
 04F0           ;                {
 04F0                   .dbline 501
 04F0           ;                   Nec_data_deal_fun();
 04F0 BBDD              xcall _Nec_data_deal_fun
 04F2                   .dbline 502
 04F2           ;                }      
 04F2                   .dbline 503
 04F2           ;          }
 04F2 05C0              xjmp L124
 04F4           L123:
 04F4                   .dbline 505
 04F4           ;          else
 04F4           ;        {
 04F4                   .dbline 506
 04F4           ;        RepeatControl++;
 04F4 80910500          lds R24,_RepeatControl
 04F8 8F5F              subi R24,255    ; addi 1
 04FA 80930500          sts _RepeatControl,R24
 04FE                   .dbline 507
 04FE           ;        }              
 04FE           L124:
 04FE                   .dbline 508
 04FE           ;     }
 04FE           L120:
 04FE                   .dbline 509
 04FE           ;   }   
 04FE           L113:
 04FE                   .dbline 510
 04FE           ;   HasR_Head_Reset_Nec_receive();
 04FE 9FDD              xcall _HasR_Head_Reset_Nec_receive
 0500                   .dbline -2
 0500           L111:
 0500                   .dbline 0 ; func end
 0500 0895              ret
 0502                   .dbend
 0502                   .dbfunc e Nec_Decode _Nec_Decode fV
                        .even
 0502           _Nec_Decode::
 0502                   .dbline -1
 0502                   .dbline 513
 0502           ; }
 0502           ; void Nec_Decode()
 0502           ; {
 0502                   .dbline 516
 0502           ;        
 0502           ; //  if(((NecData[1]==0xbf)||(NecData[1]==0xfc))&&(NecData[0]==0x00)) //用户码正确 for hisense
 0502           ;   if((NecData[1]==0x05)&&(NecData[0]==0x86)) //用户码正确 for bestbuy
 0502 80911D00          lds R24,_NecData+1
 0506 8530              cpi R24,5
 0508 B9F4              brne L129
 050A 80911C00          lds R24,_NecData
 050E 8638              cpi R24,134
 0510 99F4              brne L129
 0512                   .dbline 517
 0512           ;   {
 0512                   .dbline 522
 0512           ; //    UDR=0x66;
 0512           ; //    while(!(UCSRA&(1<<UDRE)));
 0512           ; //    UDR=NecData[2];
 0512           ;       
 0512           ;       Nec_consumer_map();
 0512 69DE              xcall _Nec_consumer_map
 0514                   .dbline 525
 0514           ; //    ResultNec=NecData[2];
 0514           ; //    UDR=0x10;
 0514           ;       irda_num++;  
 0514 80910900          lds R24,_irda_num
 0518 8F5F              subi R24,255    ; addi 1
 051A 80930900          sts _irda_num,R24
 051E                   .dbline 526
 051E           ;       irda_b=1;
 051E 81E0              ldi R24,1
 0520 80930800          sts _irda_b,R24
 0524                   .dbline 527
 0524           ;       if(System_State==standby||System_State==working)
 0524 20900000          lds R2,_System_State
 0528 2220              tst R2
 052A 21F0              breq L134
 052C 80910000          lds R24,_System_State
 0530 8330              cpi R24,3
 0532 E1F4              brne L130
 0534           L134:
 0534                   .dbline 528
 0534           ;       {
 0534                   .dbline 529
 0534           ;       Nec_data_deal_fun();
 0534 99DD              xcall _Nec_data_deal_fun
 0536                   .dbline 530
 0536           ;       }               
 0536                   .dbline 531
 0536           ;   }
 0536 1AC0              xjmp L130
 0538           L129:
 0538                   .dbline 533
 0538           ;   else
 0538           ;   {
 0538                   .dbline 535
 0538           ; 
 0538           ;     if((NecData[1]==0xfc)&&(NecData[0]==0x00)) //用户码正确 for bestbuy
 0538 80911D00          lds R24,_NecData+1
 053C 8C3F              cpi R24,252
 053E B1F4              brne L135
 0540 20901C00          lds R2,_NecData
 0544 2220              tst R2
 0546 91F4              brne L135
 0548                   .dbline 536
 0548           ;     {
 0548                   .dbline 538
 0548           ; //      UDR=0x10;
 0548           ;         Nec_fac_map();                
 0548 96DE              xcall _Nec_fac_map
 054A                   .dbline 541
 054A           ; //      ResultNec=NecData[2];
 054A           ; //    UDR=0x10;
 054A           ;         irda_num++;  
 054A 80910900          lds R24,_irda_num
 054E 8F5F              subi R24,255    ; addi 1
 0550 80930900          sts _irda_num,R24
 0554                   .dbline 542
 0554           ;         irda_b=1;
 0554 81E0              ldi R24,1
 0556 80930800          sts _irda_b,R24
 055A                   .dbline 543
 055A           ;         if(System_State==standby||System_State==working)
 055A 20900000          lds R2,_System_State
 055E 2220              tst R2
 0560 21F0              breq L140
 0562 80910000          lds R24,_System_State
 0566 8330              cpi R24,3
 0568 09F4              brne L138
 056A           L140:
 056A                   .dbline 544
 056A           ;         {
 056A                   .dbline 545
 056A           ;            Nec_data_deal_fun();
 056A 7EDD              xcall _Nec_data_deal_fun
 056C                   .dbline 546
 056C           ;       }                
 056C           L138:
 056C                   .dbline 547
 056C           ;       }         
 056C           L135:
 056C                   .dbline 548
 056C           ;   }
 056C           L130:
 056C                   .dbline 549
 056C           ;   HasR_Head_Reset_Nec_receive();
 056C 68DD              xcall _HasR_Head_Reset_Nec_receive
 056E                   .dbline -2
 056E           L128:
 056E                   .dbline 0 ; func end
 056E 0895              ret
 0570                   .dbend
 0570                   .dbfunc e RepeatReceive _RepeatReceive fV
      

⌨️ 快捷键说明

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