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

📄 necdecode.lis

📁 MCU控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00FE           ;                               i2c_public|=1<<7;
 00FE 80910700          lds R24,_i2c_public
 0102 8068              ori R24,128
 0104 80930700          sts _i2c_public,R24
 0108                   .dbline 165
 0108           ;                               irda_data=ResultNec|(1<<7); //发送键码最高位置1
 0108 80911000          lds R24,_ResultNec
 010C 8068              ori R24,128
 010E 80930600          sts _irda_data,R24
 0112                   .dbline 166
 0112           ;                       }
 0112                   .dbline 167
 0112           ;                 }
 0112 66C0              xjmp L8
 0114           L18:
 0114                   .dbline 169
 0114           ;                 else
 0114           ;                 {
 0114                   .dbline 171
 0114           ;                  // infrared_open_enable=1;////开机
 0114           ;                   if(open_machine_enable==1)
 0114 80910000          lds R24,_open_machine_enable
 0118 8130              cpi R24,1
 011A 09F0              breq X7
 011C 61C0              xjmp L8
 011E           X7:
 011E                   .dbline 172
 011E           ;                       {
 011E                   .dbline 173
 011E           ;                               power_key_open_enable=1;
 011E 81E0              ldi R24,1
 0120 80930C00          sts _power_key_open_enable,R24
 0124                   .dbline 174
 0124           ;                       }        
 0124                   .dbline 175
 0124           ;                 }
 0124                   .dbline 176
 0124           ;               break;
 0124 5DC0              xjmp L8
 0126           L24:
 0126                   .dbline 179
 0126           ;               
 0126           ;               case 51:
 0126           ;                 if(System_State==working)
 0126 80910000          lds R24,_System_State
 012A 8330              cpi R24,3
 012C 09F0              breq X8
 012E 58C0              xjmp L8
 0130           X8:
 0130                   .dbline 180
 0130           ;                 {
 0130                   .dbline 181
 0130           ;                       if(Fac_aging==0xff)
 0130 80910200          lds R24,_Fac_aging
 0134 8F3F              cpi R24,255
 0136 A9F4              brne L27
 0138                   .dbline 182
 0138           ;                       {       
 0138                   .dbline 183
 0138           ;                               if(Fac_mode==0xff)
 0138 80910300          lds R24,_Fac_mode
 013C 8F3F              cpi R24,255
 013E 49F4              brne L29
 0140                   .dbline 184
 0140           ;                               {
 0140                   .dbline 185
 0140           ;                                 Fac_mode=0;
 0140 2224              clr R2
 0142 20920300          sts _Fac_mode,R2
 0146                   .dbline 186
 0146           ;                                 EEPROMwrite(0x90,0x00);
 0146 2227              clr R18
 0148 00E9              ldi R16,144
 014A 10E0              ldi R17,0
 014C 0E940000          xcall _EEPROMwrite
 0150                   .dbline 187
 0150           ;                               }
 0150 08C0              xjmp L30
 0152           L29:
 0152                   .dbline 189
 0152           ;                               else
 0152           ;                               {
 0152                   .dbline 190
 0152           ;                                 Fac_mode=0xff;
 0152 8FEF              ldi R24,255
 0154 80930300          sts _Fac_mode,R24
 0158                   .dbline 191
 0158           ;                                 EEPROMwrite(0x90,0xff);
 0158 2FEF              ldi R18,255
 015A 00E9              ldi R16,144
 015C 10E0              ldi R17,0
 015E 0E940000          xcall _EEPROMwrite
 0162                   .dbline 192
 0162           ;                               }
 0162           L30:
 0162                   .dbline 193
 0162           ;                       }        
 0162           L27:
 0162                   .dbline 195
 0162           ;                 
 0162           ;                 i2c_public|=1<<7;
 0162 80910700          lds R24,_i2c_public
 0166 8068              ori R24,128
 0168 80930700          sts _i2c_public,R24
 016C                   .dbline 196
 016C           ;                 irda_data=ResultNec|(1<<7);
 016C 80911000          lds R24,_ResultNec
 0170 8068              ori R24,128
 0172 80930600          sts _irda_data,R24
 0176                   .dbline 197
 0176           ;                 }       
 0176                   .dbline 199
 0176           ;                 
 0176           ;                 break;
 0176 34C0              xjmp L8
 0178           L31:
 0178                   .dbline 202
 0178           ;                 
 0178           ;               case 52:
 0178           ;                 if(System_State==working)
 0178 80910000          lds R24,_System_State
 017C 8330              cpi R24,3
 017E 81F5              brne L8
 0180                   .dbline 203
 0180           ;                 {
 0180                   .dbline 204
 0180           ;                   if(Fac_mode==0)
 0180 20900300          lds R2,_Fac_mode
 0184 2220              tst R2
 0186 99F4              brne L34
 0188                   .dbline 205
 0188           ;                   {
 0188                   .dbline 206
 0188           ;                         Fac_aging=EEPROMread(0x80);
 0188 00E8              ldi R16,128
 018A 10E0              ldi R17,0
 018C 0E940000          xcall _EEPROMread
 0190 00930200          sts _Fac_aging,R16
 0194                   .dbline 207
 0194           ;                         if(Fac_aging==0)
 0194 0023              tst R16
 0196 31F4              brne L36
 0198                   .dbline 208
 0198           ;                         {
 0198                   .dbline 209
 0198           ;                               EEPROMwrite(0x80,0xff);
 0198 2FEF              ldi R18,255
 019A 00E8              ldi R16,128
 019C 10E0              ldi R17,0
 019E 0E940000          xcall _EEPROMwrite
 01A2                   .dbline 210
 01A2           ;                         }
 01A2 05C0              xjmp L37
 01A4           L36:
 01A4                   .dbline 212
 01A4           ;                         else
 01A4           ;                         {
 01A4                   .dbline 213
 01A4           ;                           EEPROMwrite(0x80,0x00);
 01A4 2227              clr R18
 01A6 00E8              ldi R16,128
 01A8 10E0              ldi R17,0
 01AA 0E940000          xcall _EEPROMwrite
 01AE                   .dbline 214
 01AE           ;                         }  
 01AE           L37:
 01AE                   .dbline 215
 01AE           ;                   }
 01AE           L34:
 01AE                   .dbline 216
 01AE           ;                   i2c_public|=1<<7;
 01AE 80910700          lds R24,_i2c_public
 01B2 8068              ori R24,128
 01B4 80930700          sts _i2c_public,R24
 01B8                   .dbline 217
 01B8           ;           irda_data=ResultNec|(1<<7);
 01B8 80911000          lds R24,_ResultNec
 01BC 8068              ori R24,128
 01BE 80930600          sts _irda_data,R24
 01C2                   .dbline 218
 01C2           ;                 }   
 01C2                   .dbline 219
 01C2           ;                 break;
 01C2 0EC0              xjmp L8
 01C4           L7:
 01C4                   .dbline 223
 01C4 80910000          lds R24,_System_State
 01C8 8330              cpi R24,3
 01CA 51F4              brne L8
 01CC                   .dbline 224
 01CC                   .dbline 225
 01CC 80910700          lds R24,_i2c_public
 01D0 8068              ori R24,128
 01D2 80930700          sts _i2c_public,R24
 01D6                   .dbline 227
 01D6 80911000          lds R24,_ResultNec
 01DA 8068              ori R24,128
 01DC 80930600          sts _irda_data,R24
 01E0                   .dbline 229
 01E0                   .dbline 230
 01E0           L8:
 01E0                   .dbline -2
 01E0           L6:
 01E0 0E940000          xcall pop_gset1
 01E4                   .dbline 0 ; func end
 01E4 0895              ret
 01E6                   .dbend
 01E6                   .dbfunc e Nec_consumer_map _Nec_consumer_map fV
                        .area func_lit(rom, con, rel)
 0000           L54:
 0000 1401              .word `L46
 0002 1401              .word `L46
 0004 1401              .word `L46
 0006 1401              .word `L46
 0008 1401              .word `L46
 000A 1401              .word `L46
 000C 1401              .word `L46
 000E 1401              .word `L46
 0010 1401              .word `L46
 0012 1401              .word `L46
 0014 1401              .word `L46
 0016 1401              .word `L46
 0018 1401              .word `L46
 001A 1401              .word `L46
 001C 1401              .word `L46
 001E 1401              .word `L46
 0020 1401              .word `L46
 0022 1401              .word `L46
 0024 1401              .word `L46
 0026 1401              .word `L46
 0028 1401              .word `L46
 002A 1401              .word `L46
 002C 1401              .word `L46
 002E 1401              .word `L46
 0030 1401              .word `L46
 0032 1401              .word `L46
 0034 1401              .word `L46
 0036 1401              .word `L46
 0038 1401              .word `L46
 003A 1401              .word `L46
 003C 3501              .word `L43
 003E 3501              .word `L43
 0040 3501              .word `L43
 0042 3501              .word `L43
 0044 3501              .word `L43
 0046 3501              .word `L43
 0048 3501              .word `L43
 004A 3501              .word `L43
 004C 3501              .word `L43
 004E 3501              .word `L43
 0050 3501              .word `L43
 0052 3501              .word `L43
 0054 3501              .word `L43
 0056 3501              .word `L43
 0058 3501              .word `L43
 005A 3501              .word `L43
 005C 3501              .word `L43
 005E 3501              .word `L43
 0060 3501              .word `L43
 0062 3501              .word `L43
 0064 3501              .word `L43
 0066 3501              .word `L43
 0068 3501              .word `L43
 006A 3501              .word `L43
 006C 3501              .word `L43
 006E 3501              .word `L43
 0070 3501              .word `L43
 0072 3501              .word `L43
 0074 3501              .word `L43
 0076 3501              .word `L43
 0078 3501              .word `L43
 007A 3501              .word `L43
 007C 3501              .word `L43
 007E 3501              .word `L43
 0080 1901              .word `L47
 0082 3101              .word `L53
 0084 1D01              .word `L48
 0086 2101              .word `L49
 0088 2501              .word `L50
 008A 3501              .word `L43
 008C 3501              .word `L43
 008E 3501              .word `L43
 0090 2901              .word `L51
 0092 2D01              .word `L52
                        .area text(rom, con, rel)
 01E6                   .dbfile G:\McuControl\necdecode.c
                        .even
 01E6           _Nec_consumer_map::
 01E6 0E940000          xcall push_gset1
 01EA                   .dbline -1
 01EA                   .dbline 236
 01EA           ;               
 01EA           ;               
 01EA           ;               default:          //开关机键不申请i2c通讯
 01EA           ;               if(System_State==working)
 01EA           ;               {
 01EA           ;                       i2c_public|=1<<7; //红外键码i2c发送申请
 01EA           ;                       //UDR=rc5_data_cmd;
 01EA           ;                       irda_data=ResultNec|(1<<7); //发送键码最高位置1
 01EA           ; //                    UDR=irda_data;
 01EA           ;         }
 01EA           ;               break;
 01EA           ;         
 01EA           ;         }
 01EA           ;   }
 01EA           ; 
 01EA           ; void Nec_consumer_map()
 01EA           ; {
 01EA                   .dbline 237
 01EA           ;    NecData_Map=NecData[2]; 
 01EA 20901E00          lds R2,_NecData+2
 01EE 20920D00          sts _NecData_Map,R2
 01F2                   .dbline 238
 01F2           ;    switch(NecData_Map)
 01F2 422D              mov R20,R2
 01F4 5527              clr R21
 01F6 4030              cpi R20,0
 01F8 E0E0              ldi R30,0
 01FA 5E07              cpc R21,R30
 01FC 0CF4              brge X10
 01FE 35C0              xjmp L43
 0200           X10:
 0200 89E4              ldi R24,73
 0202 90E0              ldi R25,0
 0204 8417              cp R24,R20
 0206 9507              cpc R25,R21
 0208 0CF4              brge X11
 020A 2FC0              xjmp L43
 020C           X11:
 020C 02E0              ldi R16,2
 020E 10E0              ldi R17,0
 0210 9A01              movw R18,R20
 0212 0E940000          xcall empy16s

⌨️ 快捷键说明

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