📄 necdecode.lis
字号:
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 + -