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

📄 iremote_ir.lis

📁 一个用ICCAVR7.0开发的红外线发射程序.单片机是AVR的ATtiny13V.
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00C2           L40:
 00C2                   .dbline 74
 00C2           ;        else{
 00C2                   .dbline 75
 00C2           ;          ir_500us();//1.00ms+0.50ms逻辑高
 00C2 D6DF              rcall _ir_500us
 00C4                   .dbline 76
 00C4           ;          ir_500us();
 00C4 D5DF              rcall _ir_500us
 00C6                   .dbline 77
 00C6           ;          delay_500us();
 00C6 BBDF              rcall _delay_500us
 00C8                   .dbline 78
 00C8           ;        }
 00C8           L41:
 00C8                   .dbline 79
 00C8           ;        kk<<=1;
 00C8 AA0C              lsl R10
 00CA                   .dbline 80
 00CA           ;    }
 00CA           L37:
 00CA                   .dbline 69
 00CA C394              inc R12
 00CC           L39:
 00CC                   .dbline 69
 00CC 8C2D              mov R24,R12
 00CE 8830              cpi R24,8
 00D0 98F3              brlo L36
 00D2           X7:
 00D2                   .dbline 81
 00D2           ;  } 
 00D2           L33:
 00D2                   .dbline 67
 00D2 6395              inc R22
 00D4           L35:
 00D4                   .dbline 67
 00D4 6730              cpi R22,7
 00D6 38F3              brlo L32
 00D8           X8:
 00D8                   .dbline 82
 00D8           ; }
 00D8           L29:
 00D8                   .dbline 61
 00D8 4395              inc R20
 00DA           L31:
 00DA                   .dbline 61
 00DA 4A30              cpi R20,10
 00DC E8F2              brlo L28
 00DE           X9:
 00DE                   .dbline 83
 00DE           ; ir_500us();//0.50ms结束码
 00DE C8DF              rcall _ir_500us
 00E0                   .dbline -2
 00E0           L27:
 00E0                   .dbline 0 ; func end
 00E0 00C0              rjmp pop_xgsetF03C
 00E2                   .dbsym r ii 20 c
 00E2                   .dbsym r mm 22 c
 00E2                   .dbsym r nn 12 c
 00E2                   .dbsym r kk 10 c
 00E2                   .dbend
 00E2                   .dbfunc e main _main fV
 00E2           ;          temp4 -> R14,R15
 00E2           ;          temp3 -> R12,R13
 00E2           ;          temp5 -> R10
 00E2           ;             ID -> y+0
 00E2           ;          temp2 -> y+5
 00E2           ;          temp1 -> y+4
                        .even
 00E2           _main::
 00E2 2697              sbiw R28,6
 00E4                   .dbline -1
 00E4                   .dbline 85
 00E4           ; }
 00E4           ; void main(void){
 00E4                   .dbline 89
 00E4           ; uchar temp1,temp2,temp5;
 00E4           ; uint temp3,temp4;
 00E4           ; ulong ID; 
 00E4           ;  EECR=0;
 00E4 2224              clr R2
 00E6 2CBA              out 0x1c,R2
 00E8 04C0              rjmp L44
 00EA           L43:
 00EA                   .dbline 90
 00EA           ;  while(pw_off_ram==0xaa){
 00EA                   .dbline 91
 00EA           ;    DDRB  = 0b11010111;
 00EA 87ED              ldi R24,215
 00EC 87BB              out 0x17,R24
 00EE                   .dbline 92
 00EE           ;    PW_OFF;WDR();
 00EE C498              cbi 0x18,4
 00F0                   .dbline 92
 00F0 A895              wdr
 00F2                   .dbline 93
 00F2           ;  }
 00F2           L44:
 00F2                   .dbline 90
 00F2 80910000          lds R24,_pw_off_ram
 00F6 8A3A              cpi R24,170
 00F8 C1F3              breq L43
 00FA           X10:
 00FA                   .dbline 94
 00FA           ;  MCUSR=0;
 00FA 2224              clr R2
 00FC 24BE              out 0x34,R2
 00FE                   .dbline 95
 00FE           ;  WDTCR=0x1f;
 00FE 8FE1              ldi R24,31
 0100 81BD              out 0x21,R24
 0102                   .dbline 96
 0102           ;  WDTCR=0x0f;//WD=2Second
 0102 8FE0              ldi R24,15
 0104 81BD              out 0x21,R24
 0106                   .dbline 97
 0106           ;  OCR0A = 0x5D;
 0106 8DE5              ldi R24,93
 0108 86BF              out 0x36,R24
 010A                   .dbline 98
 010A           ;  OCR0B = 0x5D;
 010A 89BD              out 0x29,R24
 010C                   .dbline 99
 010C           ;  TCNT0 = 0xA3; //set count
 010C 83EA              ldi R24,163
 010E 82BF              out 0x32,R24
 0110                   .dbline 100
 0110           ;  TCCR0A = 0x00; 
 0110 2FBC              out 0x2f,R2
 0112                   .dbline 101
 0112           ;  TCCR0B = 0x05; //start timer   
 0112 85E0              ldi R24,5
 0114 83BF              out 0x33,R24
 0116                   .dbline 102
 0116           ;  TIMSK0 = 0x02;
 0116 82E0              ldi R24,2
 0118 89BF              out 0x39,R24
 011A                   .dbline 103
 011A           ;  SEI();  
 011A 7894              sei
 011C                   .dbline 104
 011C           ;  PORTB = 0b11111000; 
 011C 88EF              ldi R24,248
 011E 88BB              out 0x18,R24
 0120                   .dbline 105
 0120           ;  DDRB  = 0b11010111;    
 0120 87ED              ldi R24,215
 0122 87BB              out 0x17,R24
 0124                   .dbline 106
 0124           ;  time_10ms=0;temp1=0;temp2=0;
 0124 20920800          sts _time_10ms,R2
 0128                   .dbline 106
 0128 0024              clr R0
 012A 0C82              std y+4,R0
 012C                   .dbline 106
 012C 0D82              std y+5,R0
 012E           L46:
 012E                   .dbline 107
 012E           ;  do{
 012E                   .dbline 108
 012E           ;    if(temp1!=time_10ms){
 012E 20900800          lds R2,_time_10ms
 0132 0C80              ldd R0,y+4
 0134 0214              cp R0,R2
 0136 31F0              breq L49
 0138           X11:
 0138                   .dbline 108
 0138                   .dbline 109
 0138           ;      temp1=time_10ms;
 0138 2C82              std y+4,R2
 013A                   .dbline 110
 013A           ;      if((PINB&0x08)==0){
 013A B399              sbic 0x16,3
 013C 03C0              rjmp L51
 013E           X12:
 013E                   .dbline 110
 013E                   .dbline 111
 013E           ;          temp2++;
 013E 0D80              ldd R0,y+5
 0140 0394              inc R0
 0142 0D82              std y+5,R0
 0144                   .dbline 112
 0144           ;        }
 0144           L51:
 0144                   .dbline 113
 0144           ;    } 
 0144           L49:
 0144                   .dbline 114
 0144           ;  }while(time_10ms<10);  
 0144           L47:
 0144                   .dbline 114
 0144 80910800          lds R24,_time_10ms
 0148 8A30              cpi R24,10
 014A 88F3              brlo L46
 014C           X13:
 014C                   .dbline 115
 014C           ;  User_ID[0]=EEPROM_read(0x10);
 014C 00E1              ldi R16,16
 014E 68DF              rcall _EEPROM_read
 0150 00930100          sts _User_ID,R16
 0154                   .dbline 116
 0154           ;  User_ID[1]=EEPROM_read(0x11);
 0154 01E1              ldi R16,17
 0156 64DF              rcall _EEPROM_read
 0158 00930200          sts _User_ID+1,R16
 015C                   .dbline 117
 015C           ;  User_ID[2]=EEPROM_read(0x12);
 015C 02E1              ldi R16,18
 015E 60DF              rcall _EEPROM_read
 0160 A02E              mov R10,R16
 0162 A0920300          sts _User_ID+2,R10
 0166                   .dbline 118
 0166           ;  User_ID[3]=EEPROM_read(0x13);
 0166 03E1              ldi R16,19
 0168 5BDF              rcall _EEPROM_read
 016A A02E              mov R10,R16
 016C A0920400          sts _User_ID+3,R10
 0170                   .dbline 119
 0170           ;  User_ID[4]=EEPROM_read(0x14);
 0170 04E1              ldi R16,20
 0172 56DF              rcall _EEPROM_read
 0174 A02E              mov R10,R16
 0176 A0920500          sts _User_ID+4,R10
 017A                   .dbline 120
 017A           ;  User_ID[5]=EEPROM_read(0x15); 
 017A 05E1              ldi R16,21
 017C 51DF              rcall _EEPROM_read
 017E A02E              mov R10,R16
 0180 A0920600          sts _User_ID+5,R10
 0184                   .dbline 121
 0184           ;  EEPROM_read(0x38);
 0184 08E3              ldi R16,56
 0186 4CDF              rcall _EEPROM_read
 0188                   .dbline 122
 0188           ;  EEPROM_read(0x39);  
 0188 09E3              ldi R16,57
 018A 4ADF              rcall _EEPROM_read
 018C                   .dbline 123
 018C           ;  if(temp2>5){ 
 018C 85E0              ldi R24,5
 018E 0D80              ldd R0,y+5
 0190 8015              cp R24,R0
 0192 08F0              brlo X25
 0194 CCC0              rjmp L58
 0196           X25:
 0196           X14:
 0196                   .dbline 123
 0196                   .dbline 124
 0196           ;    temp3=User_ID[2];
 0196 C0900300          lds R12,_User_ID+2
 019A DD24              clr R13
 019C                   .dbline 125
 019C           ;    temp3<<=8;
 019C DC2C              mov R13,R12
 019E CC24              clr R12
 01A0                   .dbline 126
 01A0           ;    temp3|=User_ID[3];
 01A0 20900400          lds R2,_User_ID+3
 01A4 3324              clr R3
 01A6 C228              or R12,R2
 01A8 D328              or R13,R3
 01AA                   .dbline 127
 01AA           ;    temp4=User_ID[4];
 01AA E0900500          lds R14,_User_ID+4
 01AE FF24              clr R15
 01B0                   .dbline 128
 01B0           ;    temp4<<=8;
 01B0 FE2C              mov R15,R14
 01B2 EE24              clr R14
 01B4                   .dbline 129
 01B4           ;    temp4|=User_ID[5];
 01B4 20900600          lds R2,_User_ID+5
 01B8 3324              clr R3
 01BA E228              or R14,R2
 01BC F328              or R15,R3
 01BE                   .dbline 130
 01BE           ;    ID=temp3;
 01BE 2C2C              mov R2,R12
 01C0 3D2C              mov R3,R13
 01C2 4424              clr R4
 01C4 5524              clr R5
 01C6 2882              std y+0,R2
 01C8 3982              std y+1,R3
 01CA 4A82              std y+2,R4
 01CC 5B82              std y+3,R5
 01CE                   .dbline 131
 01CE           ;    ID<<=16;
 01CE 2880              ldd R2,y+0
 01D0 3980              ldd R3,y+1
 01D2 4A80              ldd R4,y+2
 01D4 5B80              ldd R5,y+3
 01D6 422C              mov R4,R2
 01D8 532C              mov R5,R3
 01DA 2224              clr R2
 01DC 3324              clr R3
 01DE 2882              std y+0,R2
 01E0 3982              std y+1,R3
 01E2 4A82              std y+2,R4
 01E4 5B82              std y+3,R5
 01E6                   .dbline 132
 01E6           ;    ID|=temp4; 
 01E6 2E2C              mov R2,R14
 01E8 3F2C              mov R3,R15
 01EA 4424              clr R4
 01EC 5524              clr R5
 01EE 6880              ldd R6,y+0
 01F0 7980              ldd R7,y+1
 01F2 8A80              ldd R8,y+2
 01F4 9B80              ldd R9,y+3
 01F6 6228              or R6,R2
 01F8 7328              or R7,R3
 01FA 8428              or R8,R4
 01FC 9528              or R9,R5
 01FE 6882              std y+0,R6
 0200 7982              std y+1,R7
 0202 8A82              std y+2,R8
 0204 9B82              std y+3,R9
 0206                   .dbline 133
 0206           ;    time_10ms=0;temp1=0;temp2=0;temp5=0;
 0206 2224              clr R2
 0208 20920800          sts _time_10ms,R2
 020C                   .dbline 133
 020C 0024              clr R0
 020E 0C82              std y+4,R0
 0210                   .dbline 133
 0210 0D82              std y+5,R0
 0212                   .dbline 133
 0212 AA24              clr R10
 0214           L64:
 0214                   .dbline 134
 0214           ;    do{
 0214                   .dbline 135
 0214           ;      WDR();
 0214 A895              wdr
 0216                   .dbline 136
 0216           ;      if(temp1!=time_10ms){

⌨️ 快捷键说明

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