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

📄 iremote_ir.lis

📁 一个用ICCAVR7.0开发的红外线发射程序.单片机是AVR的ATtiny13V.
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 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 + -