📄 ir_test.lis
字号:
0104 01E0 ldi R16,1
0106 10E0 ldi R17,0
0108 .dbline 43
0108 ; bitcnt++;
0108 80910100 lds R24,_bitcnt
010C 8F5F subi R24,255 ; addi 1
010E 80930100 sts _bitcnt,R24
0112 .dbline 44
0112 ; if(bitcnt<16) //开始接收前16位
0112 8031 cpi R24,16
0114 50F4 brsh L28
0116 X10:
0116 .dbline 45
0116 ; {
0116 .dbline 46
0116 ; user_code++;
0116 80910200 lds R24,_user_code
011A 8F5F subi R24,255 ; addi 1
011C 80930200 sts _user_code,R24
0120 .dbline 47
0120 ; user_code<<=1;
0120 282E mov R2,R24
0122 220C lsl R2
0124 20920200 sts _user_code,R2
0128 .dbline 48
0128 ; }
0128 3BC0 xjmp L27
012A L28:
012A .dbline 49
012A ; else if(bitcnt==16)
012A 80910100 lds R24,_bitcnt
012E 8031 cpi R24,16
0130 31F4 brne L30
0132 X11:
0132 .dbline 50
0132 ; user_code++;
0132 80910200 lds R24,_user_code
0136 8F5F subi R24,255 ; addi 1
0138 80930200 sts _user_code,R24
013C 31C0 xjmp L27
013E L30:
013E .dbline 51
013E ; else if(bitcnt<32) //开始接收后16位
013E 80910100 lds R24,_bitcnt
0142 8032 cpi R24,32
0144 50F4 brsh L32
0146 X12:
0146 .dbline 52
0146 ; {
0146 .dbline 53
0146 ; operate_code++;
0146 80910300 lds R24,_operate_code
014A 8F5F subi R24,255 ; addi 1
014C 80930300 sts _operate_code,R24
0150 .dbline 54
0150 ; operate_code<<=1;
0150 282E mov R2,R24
0152 220C lsl R2
0154 20920300 sts _operate_code,R2
0158 .dbline 55
0158 ; }
0158 23C0 xjmp L27
015A L32:
015A .dbline 56
015A ; else if(bitcnt>=32)
015A 80910100 lds R24,_bitcnt
015E 8032 cpi R24,32
0160 F8F0 brlo L27
0162 X13:
0162 .dbline 57
0162 ; {
0162 .dbline 58
0162 ; operate_code++;
0162 80910300 lds R24,_operate_code
0166 8F5F subi R24,255 ; addi 1
0168 80930300 sts _operate_code,R24
016C .dbline 59
016C ; ir_rx_complete_flag=1;//接收完最后一位
016C 81E0 ldi R24,1
016E 80930000 sts _ir_rx_complete_flag,R24
0172 .dbline 60
0172 ; bitcnt=40;
0172 88E2 ldi R24,40
0174 80930100 sts _bitcnt,R24
0178 .dbline 61
0178 ; return;
0178 13C0 xjmp L16
017A L26:
017A .dbline 64
017A ; }
017A ; }
017A ; else if(temp>10000&&temp<15000) //判断引导码信号,返回,等待下次开始接收
017A 80E1 ldi R24,10000
017C 97E2 ldi R25,39
017E 8017 cp R24,R16
0180 9107 cpc R25,R17
0182 70F4 brsh L36
0184 X14:
0184 0839 cpi R16,152
0186 EAE3 ldi R30,58
0188 1E07 cpc R17,R30
018A 50F4 brsh L36
018C X15:
018C .dbline 65
018C ; {
018C .dbline 66
018C ; codebegin=1;
018C 81E0 ldi R24,1
018E 80930400 sts _codebegin,R24
0192 .dbline 67
0192 ; bitcnt=0;
0192 2224 clr R2
0194 20920100 sts _bitcnt,R2
0198 .dbline 68
0198 ; user_code=0;
0198 20920200 sts _user_code,R2
019C .dbline 69
019C ; operate_code=0;
019C 20920300 sts _operate_code,R2
01A0 .dbline 70
01A0 ; }
01A0 L36:
01A0 L27:
01A0 L19:
01A0 .dbline -2
01A0 L16:
01A0 .dbline 0 ; func end
01A0 1990 ld R1,y+
01A2 1FBE out 0x3f,R1
01A4 E991 ld R30,y+
01A6 9991 ld R25,y+
01A8 8991 ld R24,y+
01AA 3991 ld R19,y+
01AC 2991 ld R18,y+
01AE 1991 ld R17,y+
01B0 0991 ld R16,y+
01B2 3990 ld R3,y+
01B4 2990 ld R2,y+
01B6 1990 ld R1,y+
01B8 1895 reti
01BA .dbsym r newFall 18 i
01BA .dbsym r temp 16 i
01BA .dbend
01BA .dbfunc e get_ir_code _get_ir_code fV
.even
01BA _get_ir_code::
01BA 4A93 st -y,R20
01BC 5A93 st -y,R21
01BE 2297 sbiw R28,2
01C0 .dbline -1
01C0 .dbline 74
01C0 ; }
01C0 ;
01C0 ; void get_ir_code(void)
01C0 ; {
01C0 .dbline 75
01C0 ; if(ir_rx_complete_flag==1)
01C0 80910000 lds R24,_ir_rx_complete_flag
01C4 8130 cpi R24,1
01C6 09F0 breq X66
01C8 D6C1 xjmp L39
01CA X66:
01CA X19:
01CA .dbline 76
01CA ; {
01CA .dbline 77
01CA ; if((codebegin==1)&&(bitcnt==40))
01CA 80910400 lds R24,_codebegin
01CE 8130 cpi R24,1
01D0 09F0 breq X67
01D2 D1C1 xjmp L41
01D4 X67:
01D4 X20:
01D4 80910100 lds R24,_bitcnt
01D8 8832 cpi R24,40
01DA 09F0 breq X68
01DC CCC1 xjmp L41
01DE X68:
01DE X21:
01DE .dbline 78
01DE ; {
01DE .dbline 79
01DE ; switch(operate_code)
01DE 40910300 lds R20,_operate_code
01E2 5527 clr R21
01E4 4438 cpi R20,132
01E6 E0E0 ldi R30,0
01E8 5E07 cpc R21,R30
01EA 09F4 brne X69
01EC E9C0 xjmp L47
01EE X69:
01EE X22:
01EE 84E8 ldi R24,132
01F0 90E0 ldi R25,0
01F2 8417 cp R24,R20
01F4 9507 cpc R25,R21
01F6 0CF4 brge X70
01F8 6BC0 xjmp L75
01FA X70:
01FA X23:
01FA L74:
01FA 4833 cpi R20,56
01FC E0E0 ldi R30,0
01FE 5E07 cpc R21,R30
0200 09F4 brne X71
0202 94C1 xjmp L73
0204 X71:
0204 X24:
0204 88E3 ldi R24,56
0206 90E0 ldi R25,0
0208 8417 cp R24,R20
020A 9507 cpc R25,R21
020C 0CF4 brge X72
020E 30C0 xjmp L77
0210 X72:
0210 X25:
0210 L76:
0210 4831 cpi R20,24
0212 E0E0 ldi R30,0
0214 5E07 cpc R21,R30
0216 09F4 brne X73
0218 35C1 xjmp L61
021A X73:
021A X26:
021A 88E1 ldi R24,24
021C 90E0 ldi R25,0
021E 8417 cp R24,R20
0220 9507 cpc R25,R21
0222 84F0 brlt L79
0224 X27:
0224 L78:
0224 4430 cpi R20,4
0226 E0E0 ldi R30,0
0228 5E07 cpc R21,R30
022A 09F4 brne X74
022C C2C0 xjmp L46
022E X74:
022E X28:
022E 4430 cpi R20,4
0230 E0E0 ldi R30,0
0232 5E07 cpc R21,R30
0234 0CF4 brge X75
0236 80C1 xjmp L44
0238 X75:
0238 X29:
0238 L80:
0238 4431 cpi R20,20
023A E0E0 ldi R30,0
023C 5E07 cpc R21,R30
023E 09F4 brne X76
0240 F0C0 xjmp L54
0242 X76:
0242 X30:
0242 7AC1 xjmp L44
0244 L79:
0244 4432 cpi R20,36
0246 E0E0 ldi R30,0
0248 5E07 cpc R21,R30
024A 09F4 brne X77
024C CEC0 xjmp L50
024E X77:
024E X31:
024E 84E2 ldi R24,36
0250 90E0 ldi R25,0
0252 8417 cp R24,R20
0254 9507 cpc R25,R21
0256 34F0 brlt L82
0258 X32:
0258 L81:
0258 4032 cpi R20,32
025A E0E0 ldi R30,0
025C 5E07 cpc R21,R30
025E 09F4 brne X78
0260 26C1 xjmp L64
0262 X78:
0262 X33:
0262 6AC1 xjmp L44
0264 L82:
0264 4D32 cpi R20,45
0266 E0E0 ldi R30,0
0268 5E07 cpc R21,R30
026A 09F4 brne X79
026C 12C1 xjmp L62
026E X79:
026E X34:
026E 64C1 xjmp L44
0270 L77:
0270 4934 cpi R20,73
0272 E0E0 ldi R30,0
0274 5E07 cpc R21,R30
0276 09F4 brne X80
0278 E9C0 xjmp L57
027A X80:
027A X35:
027A 89E4 ldi R24,73
027C 90E0 ldi R25,0
027E 8417 cp R24,R20
0280 9507 cpc R25,R21
0282 84F0 brlt L84
0284 X36:
0284 L83:
0284 4E33 cpi R20,62
0286 E0E0 ldi R30,0
0288 5E07 cpc R21,R30
028A 09F4 brne X81
028C 1EC1 xjmp L66
028E X81:
028E X37:
028E 4E33 cpi R20,62
0290 E0E0 ldi R30,0
0292 5E07 cpc R21,R30
0294 0CF4 brge X82
0296 50C1 xjmp L44
0298 X82:
0298 X38:
0298 L85:
0298 4434 cpi R20,68
029A E0E0 ldi R30,0
029C 5E07 cpc R21,R30
029E 09F4 brne X83
02A0 96C0 xjmp L48
02A2 X83:
02A2 X39:
02A2 4AC1 xjmp L44
02A4 L84:
02A4 4436 cpi R20,100
02A6 E0E0 ldi R30,0
02A8 5E07 cpc R21,R30
02AA 09F4 brne X84
02AC ACC0 xjmp L52
02AE X84:
02AE X40:
02AE 84E6 ldi R24,100
02B0 90E0 ldi R25,0
02B2 8417 cp R24,R20
02B4 9507 cpc R25,R21
02B6 34F0 brlt L87
02B8 X41:
02B8 L86:
02B8 4A35 cpi R20,90
02BA E0E0 ldi R30,0
02BC 5E07 cpc R21,R30
02BE 09F4 brne X85
02C0 19C1 xjmp L69
02C2 X85:
02C2 X42:
02C2 3AC1 xjmp L44
02C4 L87:
02C4 4837 cpi R20,120
02C6 E0E0 ldi R30,0
02C8 5E07 cpc R21,R30
02CA 09F4 brne X86
02CC C6C0 xjmp L58
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -