📄 iremote_ir.lis
字号:
0216 20900800 lds R2,_time_10ms
021A 0C80 ldd R0,y+4
021C 0214 cp R0,R2
021E A9F0 breq L67
0220 X15:
0220 .dbline 136
0220 .dbline 137
0220 ; temp1=time_10ms;
0220 2C82 std y+4,R2
0222 .dbline 138
0222 ; if((PINB&0x08)==0){
0222 B399 sbic 0x16,3
0224 0DC0 rjmp L69
0226 X16:
0226 .dbline 138
0226 .dbline 139
0226 ; time_10ms=0;
0226 2224 clr R2
0228 20920800 sts _time_10ms,R2
022C .dbline 140
022C ; temp2++;temp5=0;
022C 0D80 ldd R0,y+5
022E 0394 inc R0
0230 0D82 std y+5,R0
0232 .dbline 140
0232 AA24 clr R10
0234 .dbline 141
0234 ; if(temp2>150)temp2=200;
0234 86E9 ldi R24,150
0236 8015 cp R24,R0
0238 40F4 brsh L70
023A X17:
023A .dbline 141
023A 88EC ldi R24,200
023C 8D83 std y+5,R24
023E .dbline 142
023E ; }
023E 05C0 rjmp L70
0240 L69:
0240 .dbline 143
0240 ; else{
0240 .dbline 144
0240 ; temp5++;
0240 A394 inc R10
0242 .dbline 145
0242 ; if(temp5>10)break;
0242 8AE0 ldi R24,10
0244 8A15 cp R24,R10
0246 08F4 brsh L73
0248 X18:
0248 .dbline 145
0248 19C0 rjmp L66
024A L73:
024A .dbline 146
024A ; }
024A L70:
024A .dbline 147
024A ; }
024A L67:
024A .dbline 148
024A ; User_ID[2]++;
024A 80910300 lds R24,_User_ID+2
024E 8F5F subi R24,255 ; addi 1
0250 80930300 sts _User_ID+2,R24
0254 .dbline 149
0254 ; ID++;
0254 41E0 ldi R20,1
0256 50E0 ldi R21,0
0258 60E0 ldi R22,0
025A 70E0 ldi R23,0
025C 2880 ldd R2,y+0
025E 3980 ldd R3,y+1
0260 4A80 ldd R4,y+2
0262 5B80 ldd R5,y+3
0264 240E add R2,R20
0266 351E adc R3,R21
0268 461E adc R4,R22
026A 571E adc R5,R23
026C 2882 std y+0,R2
026E 3982 std y+1,R3
0270 4A82 std y+2,R4
0272 5B82 std y+3,R5
0274 .dbline 150
0274 ; }while(time_10ms<200);
0274 L65:
0274 .dbline 150
0274 80910800 lds R24,_time_10ms
0278 883C cpi R24,200
027A 60F2 brlo L64
027C X19:
027C L66:
027C .dbline 151
027C ; TCCR0B=0;
027C 2224 clr R2
027E 23BE out 0x33,R2
0280 .dbline 152
0280 ; TIMSK0=0;
0280 29BE out 0x39,R2
0282 .dbline 153
0282 ; CLI();
0282 F894 cli
0284 .dbline 154
0284 ; if(temp2>150){
0284 86E9 ldi R24,150
0286 0D80 ldd R0,y+5
0288 8015 cp R24,R0
028A 08F0 brlo X26
028C 71C0 rjmp L100
028E X26:
028E X20:
028E .dbline 154
028E .dbline 155
028E ; temp4=ID;
028E E880 ldd R14,y+0
0290 F980 ldd R15,y+1
0292 .dbline 156
0292 ; temp3=ID>>16;
0292 2880 ldd R2,y+0
0294 3980 ldd R3,y+1
0296 4A80 ldd R4,y+2
0298 5B80 ldd R5,y+3
029A C42C mov R12,R4
029C D52C mov R13,R5
029E .dbline 157
029E ; User_ID[3]=temp3;
029E C0920400 sts _User_ID+3,R12
02A2 .dbline 158
02A2 ; User_ID[2]=(temp3>>8)+User_ID[2];
02A2 20900300 lds R2,_User_ID+2
02A6 3324 clr R3
02A8 4C2C mov R4,R12
02AA 5D2C mov R5,R13
02AC 452C mov R4,R5
02AE 5524 clr R5
02B0 420C add R4,R2
02B2 531C adc R5,R3
02B4 40920300 sts _User_ID+2,R4
02B8 .dbline 159
02B8 ; User_ID[5]=temp4;
02B8 E0920600 sts _User_ID+5,R14
02BC .dbline 160
02BC ; User_ID[4]=temp4>>8;
02BC 2E2C mov R2,R14
02BE 3F2C mov R3,R15
02C0 232C mov R2,R3
02C2 3324 clr R3
02C4 20920500 sts _User_ID+4,R2
02C8 .dbline 161
02C8 ; if(pw_off_ram!=0xaa){
02C8 80910000 lds R24,_pw_off_ram
02CC 8A3A cpi R24,170
02CE 09F4 brne X27
02D0 4FC0 rjmp L100
02D2 X27:
02D2 X21:
02D2 .dbline 161
02D2 .dbline 162
02D2 ; EEPROM_write(0x12,User_ID[2]);
02D2 242D mov R18,R4
02D4 02E1 ldi R16,18
02D6 AADE rcall _EEPROM_write
02D8 .dbline 163
02D8 ; EEPROM_write(0x13,User_ID[3]);
02D8 20910400 lds R18,_User_ID+3
02DC 03E1 ldi R16,19
02DE A6DE rcall _EEPROM_write
02E0 .dbline 164
02E0 ; EEPROM_write(0x14,User_ID[4]);
02E0 20910500 lds R18,_User_ID+4
02E4 04E1 ldi R16,20
02E6 A2DE rcall _EEPROM_write
02E8 .dbline 165
02E8 ; EEPROM_write(0x15,User_ID[5]);
02E8 20910600 lds R18,_User_ID+5
02EC 05E1 ldi R16,21
02EE 9EDE rcall _EEPROM_write
02F0 .dbline 166
02F0 ; EEPROM_write(0x38,0x55);
02F0 25E5 ldi R18,85
02F2 08E3 ldi R16,56
02F4 9BDE rcall _EEPROM_write
02F6 .dbline 167
02F6 ; EEPROM_write(0x39,0xaa);
02F6 2AEA ldi R18,170
02F8 09E3 ldi R16,57
02FA 98DE rcall _EEPROM_write
02FC .dbline 168
02FC ; temp2=0;
02FC 0024 clr R0
02FE 0D82 std y+5,R0
0300 .dbline 169
0300 ; for(temp1=0;temp1<6;temp1++){
0300 0C82 std y+4,R0
0302 0DC0 rjmp L92
0304 L89:
0304 .dbline 169
0304 .dbline 170
0304 ; temp2+=User_ID[temp1];
0304 80E0 ldi R24,<_User_ID
0306 90E0 ldi R25,>_User_ID
0308 EC81 ldd R30,y+4
030A FF27 clr R31
030C E80F add R30,R24
030E F91F adc R31,R25
0310 2080 ldd R2,z+0
0312 0D80 ldd R0,y+5
0314 020C add R0,R2
0316 0D82 std y+5,R0
0318 .dbline 171
0318 ; }
0318 L90:
0318 .dbline 169
0318 0C80 ldd R0,y+4
031A 0394 inc R0
031C 0C82 std y+4,R0
031E L92:
031E .dbline 169
031E 8C81 ldd R24,y+4
0320 8630 cpi R24,6
0322 80F3 brlo L89
0324 X22:
0324 .dbline 172
0324 ; User_ID[6]=temp2;
0324 0D80 ldd R0,y+5
0326 00920700 sts _User_ID+6,R0
032A .dbline 173
032A ; send_code();
032A B3DE rcall _send_code
032C .dbline 174
032C ; }
032C .dbline 175
032C ; }
032C .dbline 176
032C ; }
032C 21C0 rjmp L100
032E L58:
032E .dbline 177
032E ; else{
032E .dbline 178
032E ; TCCR0B=0;
032E 2224 clr R2
0330 23BE out 0x33,R2
0332 .dbline 179
0332 ; TIMSK0=0;
0332 29BE out 0x39,R2
0334 .dbline 180
0334 ; CLI();
0334 F894 cli
0336 .dbline 181
0336 ; temp2=0;
0336 0024 clr R0
0338 0D82 std y+5,R0
033A .dbline 182
033A ; for(temp1=0;temp1<6;temp1++){
033A 0C82 std y+4,R0
033C 0DC0 rjmp L97
033E L94:
033E .dbline 182
033E .dbline 183
033E ; temp2+=User_ID[temp1];
033E 80E0 ldi R24,<_User_ID
0340 90E0 ldi R25,>_User_ID
0342 EC81 ldd R30,y+4
0344 FF27 clr R31
0346 E80F add R30,R24
0348 F91F adc R31,R25
034A 2080 ldd R2,z+0
034C 0D80 ldd R0,y+5
034E 020C add R0,R2
0350 0D82 std y+5,R0
0352 .dbline 184
0352 ; }
0352 L95:
0352 .dbline 182
0352 0C80 ldd R0,y+4
0354 0394 inc R0
0356 0C82 std y+4,R0
0358 L97:
0358 .dbline 182
0358 8C81 ldd R24,y+4
035A 8630 cpi R24,6
035C 80F3 brlo L94
035E X23:
035E .dbline 185
035E ; User_ID[6]=temp2;
035E 0D80 ldd R0,y+5
0360 00920700 sts _User_ID+6,R0
0364 .dbline 186
0364 ; send_code();
0364 96DE rcall _send_code
0366 .dbline 187
0366 ; }
0366 04C0 rjmp L100
0368 L99:
0368 .dbline 188
0368 ; while(1){
0368 .dbline 189
0368 ; pw_off_ram=0xaa;//写入防重复RESET误写码
0368 8AEA ldi R24,170
036A 80930000 sts _pw_off_ram,R24
036E .dbline 190
036E ; PW_OFF;
036E C498 cbi 0x18,4
0370 .dbline 191
0370 ; }
0370 L100:
0370 .dbline 188
0370 FBCF rjmp L99
0372 X24:
0372 .dbline -2
0372 L42:
0372 .dbline 0 ; func end
0372 2696 adiw R28,6
0374 0895 ret
0376 .dbsym r temp4 14 i
0376 .dbsym r temp3 12 i
0376 .dbsym r temp5 10 c
0376 .dbsym l ID 0 l
0376 .dbsym l temp2 5 c
0376 .dbsym l temp1 4 c
0376 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\iRemote_IR\iRemote_IR.c
0000 _pw_off_ram::
0000 .blkb 1
0001 .dbsym e pw_off_ram _pw_off_ram c
0001 _User_ID::
0001 .blkb 7
0008 .dbsym e User_ID _User_ID A[7:7]c
0008 _time_10ms::
0008 .blkb 1
0009 .dbsym e time_10ms _time_10ms c
0009 ; }
0009 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -