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