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

📄 nec_ir.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 009E 8064              ori R24,64
 00A0 8EBD              out 0x2e,R24
 00A2                   .dbline 77
                       ;         state = LEADER_ON;
 00A2 81E0              ldi R24,1
 00A4 80930100          sts L9,R24
 00A8                   .dbline 78
                       ;         break;
 00A8 05C1              xjmp L15
 00AA                 L18:
 00AA                   .dbline 82
                       ;     case LEADER_ON:
                       ; /* TP0713, timer optimization */
                       ; 
                       ;         ir_falling();//ir_interrupt_set_edge(FALLING_EDGE);
 00AA 8EB5              in R24,0x2e
 00AC 8F7B              andi R24,191
 00AE 8EBD              out 0x2e,R24
 00B0                   .dbline 83
                       ;         state =  ((t0>time_9000_usl) &&( t0<time_9000_ush)) ? LEADER_OFF:IDLE;
 00B0 8CE6              ldi R24,108
 00B2 8417              cp R24,R20
 00B4 28F4              brsh L19
 00B6 4438              cpi R20,132
 00B8 18F4              brsh L19
 00BA 62E0              ldi R22,2
 00BC 70E0              ldi R23,0
 00BE 02C0              xjmp L20
 00C0                 L19:
 00C0 6627              clr R22
 00C2 7727              clr R23
 00C4                 L20:
 00C4 60930100          sts L9,R22
 00C8                   .dbline 84
                       ;         break;
 00C8 F5C0              xjmp L15
 00CA                 L21:
 00CA                   .dbline 86
                       ;     case LEADER_OFF:
                       ;         if (t0 > time_4500_usl && t0 < time_4500_ush) {
 00CA 84E3              ldi R24,52
 00CC 8417              cp R24,R20
 00CE 80F4              brsh L22
 00D0 4434              cpi R20,68
 00D2 70F4              brsh L22
 00D4                   .dbline 86
 00D4                   .dbline 87
                       ;             state = CUSTOM;
 00D4 83E0              ldi R24,3
 00D6 80930100          sts L9,R24
 00DA                   .dbline 88
                       ;             custom = 0;
 00DA 2224              clr R2
 00DC 3324              clr R3
 00DE 30920400          sts L8+1,R3
 00E2 20920300          sts L8,R2
 00E6                   .dbline 89
                       ;             count = 0;
 00E6 20920500          sts L10,R2
 00EA                   .dbline 90
                       ;             repeat_delay = REPEAT_DELAY;
 00EA 80930000          sts L7,R24
 00EE                   .dbline 91
                       ;         } 
 00EE E2C0              xjmp L15
 00F0                 L22:
 00F0                   .dbline 93
                       ;         else 
                       ;         {
 00F0                   .dbline 94
                       ;             if (t0 > time_2250_usl && t0 < time_2250_ush) 
 00F0 8AE1              ldi R24,26
 00F2 8417              cp R24,R20
 00F4 18F5              brsh L24
 00F6 4232              cpi R20,34
 00F8 08F5              brsh L24
 00FA                   .dbline 95
                       ;             {
 00FA                   .dbline 96
                       ;                 if (repeat_delay)
 00FA 20900000          lds R2,L7
 00FE 2220              tst R2
 0100 29F0              breq L26
 0102                   .dbline 97
                       ;                 {
 0102                   .dbline 99
                       ;                     // Delay before sendnig the first repeat
                       ;                     repeat_delay--;
 0102 822D              mov R24,R2
 0104 8150              subi R24,1
 0106 80930000          sts L7,R24
 010A                   .dbline 100
                       ;                 }
 010A 18C0              xjmp L27
 010C                 L26:
 010C                   .dbline 102
                       ;                 else
                       ;                 { // repeat last key
 010C                   .dbline 103
                       ;                     if (valid_repeat) 
 010C 20900200          lds R2,L13
 0110 2220              tst R2
 0112 A1F0              breq L28
 0114                   .dbline 104
                       ;                     {
 0114                   .dbline 105
                       ;                         if(is_repeat_ui_key(key))
 0114 00910200          lds R16,L6
 0118 1127              clr R17
 011A 0E940000          xcall _is_repeat_ui_key
 011E 1801              movw R2,R16
 0120 2220              tst R2
 0122 11F4              brne X3
 0124 3320              tst R3
 0126 51F0              breq L30
 0128                 X3:
 0128                   .dbline 106
                       ;                         {
 0128                   .dbline 108
                       ;                           //dvd_key = key;//|0X8000
                       ;                           key_buff = key;
 0128 20900200          lds R2,L6
 012C 3324              clr R3
 012E 30920100          sts _key_buff+1,R3
 0132 20920000          sts _key_buff,R2
 0136                   .dbline 109
                       ;                           repeat_delay = REPEAT_DELAY;
 0136 83E0              ldi R24,3
 0138 80930000          sts L7,R24
 013C                   .dbline 110
                       ;                         }
 013C                 L30:
 013C                   .dbline 111
                       ;                     }
 013C                 L28:
 013C                   .dbline 112
                       ;                 }
 013C                 L27:
 013C                   .dbline 113
                       ;             }
 013C                 L24:
 013C                   .dbline 117
                       ;             //else
                       ;              // valid_repeat = 0;
                       ;         //set_falling();//ir_interrupt_set_edge(FALLING_EDGE);
                       ;         state = IDLE;
 013C 2224              clr R2
 013E 20920100          sts L9,R2
 0142                   .dbline 118
                       ;         }
 0142                   .dbline 119
                       ;         break;
 0142 B8C0              xjmp L15
 0144                 L32:
 0144                   .dbline 122
                       ;     case CUSTOM:
                       ; /* TP0713, timer optimization */
                       ;         if (t0 > time_1125_usl && t0 < time_1125_ush) {
 0144 8DE0              ldi R24,13
 0146 8417              cp R24,R20
 0148 68F4              brsh L33
 014A 4131              cpi R20,17
 014C 58F4              brsh L33
 014E                   .dbline 122
 014E                   .dbline 123
                       ;             custom <<= 1;   /* a zero bit */
 014E 30900400          lds R3,L8+1
 0152 20900300          lds R2,L8
 0156 220C              lsl R2
 0158 331C              rol R3
 015A 30920400          sts L8+1,R3
 015E 20920300          sts L8,R2
 0162                   .dbline 124
                       ;         } 
 0162 17C0              xjmp L34
 0164                 L33:
 0164                   .dbline 126
                       ;         else 
                       ;         {
 0164                   .dbline 127
                       ;             if (t0 > time_2250_usl && t0 < time_2250_ush) {
 0164 8AE1              ldi R24,26
 0166 8417              cp R24,R20
 0168 70F4              brsh L35
 016A 4232              cpi R20,34
 016C 60F4              brsh L35
 016E                   .dbline 127
 016E                   .dbline 128
                       ;                 custom = (custom << 1) | 1; /* a one bit */
 016E 90910400          lds R25,L8+1
 0172 80910300          lds R24,L8
 0176 880F              lsl R24
 0178 991F              rol R25
 017A 8160              ori R24,1
 017C 90930400          sts L8+1,R25
 0180 80930300          sts L8,R24
 0184                   .dbline 129
                       ;             } 
 0184 06C0              xjmp L36
 0186                 L35:
 0186                   .dbline 130
                       ;             else {
 0186                   .dbline 133
                       ;                 // Garbage ... ignored
                       ;                 //ir_interrupt_set_edge(FALLING_EDGE);
                       ;                 state = IDLE;
 0186 2224              clr R2
 0188 20920100          sts L9,R2
 018C                   .dbline 134
                       ;                 valid_repeat = 0;
 018C 20920200          sts L13,R2
 0190                   .dbline 135
                       ;                 break;
 0190 91C0              xjmp L15
 0192                 L36:
 0192                   .dbline 137
                       ;             }
                       ;         }
 0192                 L34:
 0192                   .dbline 140
                       ; 
                       ;         /* count 16 'custom' bits */
                       ;         if (++count == 16) {
 0192 80910500          lds R24,L10
 0196 8F5F              subi R24,255    ; addi 1
 0198 282E              mov R2,R24
 019A 20920500          sts L10,R2
 019E 8031              cpi R24,16
 01A0 09F0              breq X4
 01A2 88C0              xjmp L15
 01A4                 X4:
 01A4                   .dbline 140
 01A4                   .dbline 141
                       ;             if (custom != G_IR_SYSTEM_CODE) 
 01A4 90910400          lds R25,L8+1
 01A8 80910300          lds R24,L8
 01AC 8F3F              cpi R24,255
 01AE E0E0              ldi R30,0
 01B0 9E07              cpc R25,R30
 01B2 31F0              breq L39
 01B4                   .dbline 142
                       ;             {
 01B4                   .dbline 151
                       ;                 // Noise from other remote ... ignore
                       ; //#ifdef TEST_IR_CODE //CT add for test ir key code in release version  1-3-6 10:18
                       ;     //printf("custom code = ");
                       ;     //debug_out_dwx(custom);
                       ;     //printf("\n");
                       ; //#endif
                       ;                    //key_buff = custom;

⌨️ 快捷键说明

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