📄 接受.lis
字号:
0190 5527 clr R21
0192 .dbline 197
0192 ; RFXX_WRT_CMD(0xCE88);//reset FIFO for next frame recognition
0192 08E8 ldi R16,52872
0194 1EEC ldi R17,206
0196 3CDF rcall _RFXX_WRT_CMD
0198 .dbline 198
0198 ; RFXX_WRT_CMD(0xCE8B);
0198 0BE8 ldi R16,52875
019A 1EEC ldi R17,206
019C 39DF rcall _RFXX_WRT_CMD
019E .dbline 200
019E ;
019E ; ch0=RF_RXBUF[0];
019E 20900400 lds R2,_RF_RXBUF
01A2 20920300 sts _ch0,R2
01A6 .dbline 201
01A6 ; ch1=RF_RXBUF[1];
01A6 20900500 lds R2,_RF_RXBUF+1
01AA 20920200 sts _ch1,R2
01AE .dbline 202
01AE ; ch2=RF_RXBUF[2];
01AE 20900600 lds R2,_RF_RXBUF+2
01B2 20920100 sts _ch2,R2
01B6 .dbline 203
01B6 ; ch3=RF_RXBUF[3];
01B6 20900700 lds R2,_RF_RXBUF+3
01BA 20920000 sts _ch3,R2
01BE .dbline 205
01BE ;
01BE ; Transmit(ch0);
01BE 00910300 lds R16,_ch0
01C2 61DF rcall _Transmit
01C4 .dbline 206
01C4 ; Transmit(ch1);
01C4 00910200 lds R16,_ch1
01C8 5EDF rcall _Transmit
01CA .dbline 207
01CA ; Transmit(ch2);
01CA 00910100 lds R16,_ch2
01CE 5BDF rcall _Transmit
01D0 .dbline 208
01D0 ; Transmit(ch3);
01D0 00910000 lds R16,_ch3
01D4 58DF rcall _Transmit
01D6 .dbline 210
01D6 ;
01D6 ; for(p=0;p<55;p++)
01D6 6627 clr R22
01D8 7727 clr R23
01DA 0DC0 rjmp L60
01DC L57:
01DC .dbline 211
01DC ; for(q=0;q<123;q++)
01DC AA24 clr R10
01DE BB24 clr R11
01E0 03C0 rjmp L64
01E2 L61:
01E2 .dbline 212
01E2 ; ;
01E2 L62:
01E2 .dbline 211
01E2 C501 movw R24,R10
01E4 0196 adiw R24,1
01E6 5C01 movw R10,R24
01E8 L64:
01E8 .dbline 211
01E8 C501 movw R24,R10
01EA 8B37 cpi R24,123
01EC E0E0 ldi R30,0
01EE 9E07 cpc R25,R30
01F0 C0F3 brlo L61
01F2 X13:
01F2 L58:
01F2 .dbline 210
01F2 6F5F subi R22,255 ; offset = 1
01F4 7F4F sbci R23,255
01F6 L60:
01F6 .dbline 210
01F6 6733 cpi R22,55
01F8 E0E0 ldi R30,0
01FA 7E07 cpc R23,R30
01FC 78F3 brlo L57
01FE X14:
01FE .dbline 213
01FE ; }
01FE L52:
01FE .dbline 214
01FE ; count1++;
01FE 80910000 lds R24,_count1
0202 90910100 lds R25,_count1+1
0206 0196 adiw R24,1
0208 90930100 sts _count1+1,R25
020C 80930000 sts _count1,R24
0210 .dbline 215
0210 ; if(count1==6)
0210 8630 cpi R24,6
0212 E0E0 ldi R30,0
0214 9E07 cpc R25,R30
0216 09F0 breq X25
0218 76C0 rjmp L65
021A X25:
021A X15:
021A .dbline 216
021A ; {
021A .dbline 217
021A ; PORTB^=0x01;
021A 81E0 ldi R24,1
021C 28B2 in R2,0x18
021E 2826 eor R2,R24
0220 28BA out 0x18,R2
0222 .dbline 218
0222 ; count1=0;
0222 2224 clr R2
0224 3324 clr R3
0226 30920100 sts _count1+1,R3
022A 20920000 sts _count1,R2
022E .dbline 219
022E ; count2++;
022E 80910200 lds R24,_count2
0232 90910300 lds R25,_count2+1
0236 0196 adiw R24,1
0238 90930300 sts _count2+1,R25
023C 80930200 sts _count2,R24
0240 .dbline 220
0240 ; if(count2==760) //20ms
0240 883F cpi R24,248
0242 E2E0 ldi R30,2
0244 9E07 cpc R25,R30
0246 49F4 brne L67
0248 X16:
0248 .dbline 221
0248 ; {
0248 .dbline 222
0248 ; PORTB^=0x02;
0248 82E0 ldi R24,2
024A 28B2 in R2,0x18
024C 2826 eor R2,R24
024E 28BA out 0x18,R2
0250 .dbline 223
0250 ; count2=0;
0250 2224 clr R2
0252 30920300 sts _count2+1,R3
0256 20920200 sts _count2,R2
025A .dbline 224
025A ; }
025A L67:
025A .dbline 225
025A ; if(count2<38) //1ms
025A 80910200 lds R24,_count2
025E 90910300 lds R25,_count2+1
0262 8632 cpi R24,38
0264 E0E0 ldi R30,0
0266 9E07 cpc R25,R30
0268 20F4 brsh L69
026A X17:
026A .dbline 226
026A ; {
026A .dbline 227
026A ; PORTD|=0xE0;
026A 82B3 in R24,0x12
026C 806E ori R24,224
026E 82BB out 0x12,R24
0270 .dbline 228
0270 ; }
0270 23C0 rjmp L70
0272 L69:
0272 .dbline 230
0272 ; else
0272 ; {
0272 .dbline 231
0272 ; temp=count2/3;
0272 23E0 ldi R18,3
0274 30E0 ldi R19,0
0276 00910200 lds R16,_count2
027A 10910300 lds R17,_count2+1
027E 00D0 rcall div16u
0280 5801 movw R10,R16
0282 .dbline 232
0282 ; if(temp<ch0) PORTD|=0x20;
0282 20900300 lds R2,_ch0
0286 3324 clr R3
0288 0215 cp R16,R2
028A 1305 cpc R17,R3
028C 10F4 brsh L71
028E X18:
028E .dbline 232
028E 959A sbi 0x12,5
0290 01C0 rjmp L72
0292 L71:
0292 .dbline 233
0292 ; else PORTD&=~0x20;
0292 9598 cbi 0x12,5
0294 L72:
0294 .dbline 235
0294 ;
0294 ; if(temp<ch1) PORTD|=0x40;
0294 20900200 lds R2,_ch1
0298 3324 clr R3
029A A214 cp R10,R2
029C B304 cpc R11,R3
029E 10F4 brsh L73
02A0 X19:
02A0 .dbline 235
02A0 969A sbi 0x12,6
02A2 01C0 rjmp L74
02A4 L73:
02A4 .dbline 236
02A4 ; else PORTD&=~0x40;
02A4 9698 cbi 0x12,6
02A6 L74:
02A6 .dbline 238
02A6 ;
02A6 ; if(temp<ch3) PORTD|=0x80;
02A6 20900000 lds R2,_ch3
02AA 3324 clr R3
02AC A214 cp R10,R2
02AE B304 cpc R11,R3
02B0 10F4 brsh L75
02B2 X20:
02B2 .dbline 238
02B2 979A sbi 0x12,7
02B4 01C0 rjmp L76
02B6 L75:
02B6 .dbline 239
02B6 ; else PORTD&=~0x80;
02B6 9798 cbi 0x12,7
02B8 L76:
02B8 .dbline 240
02B8 ; }
02B8 L70:
02B8 .dbline 241
02B8 ; speed++;
02B8 80910400 lds R24,_speed
02BC 90910500 lds R25,_speed+1
02C0 0196 adiw R24,1
02C2 90930500 sts _speed+1,R25
02C6 80930400 sts _speed,R24
02CA .dbline 242
02CA ; if(speed>255)
02CA 8FEF ldi R24,255
02CC 90E0 ldi R25,0
02CE 20900400 lds R2,_speed
02D2 30900500 lds R3,_speed+1
02D6 8215 cp R24,R2
02D8 9305 cpc R25,R3
02DA 40F4 brsh L77
02DC X21:
02DC .dbline 243
02DC ; {
02DC .dbline 244
02DC ; speed=0;
02DC 2224 clr R2
02DE 3324 clr R3
02E0 30920500 sts _speed+1,R3
02E4 20920400 sts _speed,R2
02E8 .dbline 245
02E8 ; PORTC&=~0x10;
02E8 AC98 cbi 0x15,4
02EA .dbline 246
02EA ; }
02EA 0DC0 rjmp L78
02EC L77:
02EC .dbline 247
02EC ; else if(speed<ch2)
02EC 20900100 lds R2,_ch2
02F0 3324 clr R3
02F2 40900400 lds R4,_speed
02F6 50900500 lds R5,_speed+1
02FA 4214 cp R4,R2
02FC 5304 cpc R5,R3
02FE 10F4 brsh L79
0300 X22:
0300 .dbline 248
0300 ; { PORTC|=0x10;}
0300 .dbline 248
0300 AC9A sbi 0x15,4
0302 .dbline 248
0302 01C0 rjmp L80
0304 L79:
0304 .dbline 250
0304 ; else
0304 ; { PORTC&=~0x10; }
0304 .dbline 250
0304 AC98 cbi 0x15,4
0306 .dbline 250
0306 L80:
0306 L78:
0306 .dbline 251
0306 ; }
0306 L65:
0306 .dbline 253
0306 ;
0306 ; }//while1
0306 L47:
0306 .dbline 190
0306 3CCF rjmp L50
0308 X23:
0308 .dbline -2
0308 L37:
0308 .dbline 0 ; func end
0308 0895 ret
030A .dbsym r counter 10 i
030A .dbsym r temp 10 i
030A .dbsym r i 20 i
030A .dbsym r p 22 i
030A .dbsym r q 10 i
030A .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\915M\接受\接受.c
0000 _ch3::
0000 .blkb 1
0001 .dbsym e ch3 _ch3 c
0001 _ch2::
0001 .blkb 1
0002 .dbsym e ch2 _ch2 c
0002 _ch1::
0002 .blkb 1
0003 .dbsym e ch1 _ch1 c
0003 _ch0::
0003 .blkb 1
0004 .dbsym e ch0 _ch0 c
0004 _RF_RXBUF::
0004 .blkb 4
0008 .dbsym e RF_RXBUF _RF_RXBUF A[4:4]c
0008 ; }//main
0008 ;
0008 ;
0008 ;
0008 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -