?? diy0206_4.lst
字號:
03FD E284 LDI R24,0x24
03FE E093 LDI R25,3
03FF 90200060 LDS R2,0x60
0401 90300061 LDS R3,0x61
0403 0E28 ADD R2,R24
0404 1E39 ADC R3,R25
0405 2DE2 MOV R30,R2
0406 2DF3 MOV R31,R3
0407 95C8 LPM
0408 92000073 STS _temp1,R0
(0284) break;
040A C00E RJMP 0x0419
(0285) case 0x80: // < D >
(0286) turn_left(); //左轉
040B DDEA RCALL _turn_left
(0287) temp1=sound_left[sound_add];
040C E38C LDI R24,0x3C
040D E093 LDI R25,3
040E 90200060 LDS R2,0x60
0410 90300061 LDS R3,0x61
0412 0E28 ADD R2,R24
0413 1E39 ADC R3,R25
0414 2DE2 MOV R30,R2
0415 2DF3 MOV R31,R3
0416 95C8 LPM
0417 92000073 STS _temp1,R0
(0288) break;
(0289) }
(0290) }
(0291) }
(0292) if(gzsl == 0x11)
0419 91800067 LDS R24,_gzsl
041B 3181 CPI R24,0x11
041C F489 BNE 0x042E
(0293) {
(0294) if(t0_times == delay_time1) //delay_time1*25ms
041D 9020007B LDS R2,_delay_time1
041F 9030007C LDS R3,_delay_time1+1
0421 90400066 LDS R4,_t0_times
0423 2455 CLR R5
0424 1442 CP R4,R2
0425 0453 CPC R5,R3
0426 F439 BNE 0x042E
(0295) {
(0296) t0_times = 0;
0427 2422 CLR R2
0428 92200066 STS _t0_times,R2
(0297) gzsl = 0x22;
042A E282 LDI R24,0x22
042B 93800067 STS _gzsl,R24
(0298) forward();
042D DDDC RCALL _forward
(0299) }
(0300) }
(0301) if(gzsl == 0x22)
042E 91800067 LDS R24,_gzsl
0430 3282 CPI R24,0x22
0431 F489 BNE 0x0443
(0302) {
(0303) if(t0_times == delay_time2) //delay_time2*25ms
0432 90200079 LDS R2,_delay_time2
0434 9030007A LDS R3,_delay_time2+1
0436 90400066 LDS R4,_t0_times
0438 2455 CLR R5
0439 1442 CP R4,R2
043A 0453 CPC R5,R3
043B F439 BNE 0x0443
(0304) {
(0305) t0_times = 0;
043C 2422 CLR R2
043D 92200066 STS _t0_times,R2
(0306) gzsl = 0x11;
043F E181 LDI R24,0x11
0440 93800067 STS _gzsl,R24
(0307) turn_right();
0442 DDAE RCALL _turn_right
(0308) }
(0309) }
(0310) if(gzsl == 0x44)
0443 91800067 LDS R24,_gzsl
0445 3484 CPI R24,0x44
0446 F009 BEQ 0x0448
0447 C06A RJMP 0x04B2
(0311) {
(0312) sw_touch();
0448 DDCA RCALL _sw_touch
(0313) pc = PINC & 0xE0;
0449 B383 IN R24,P13
044A 7E80 ANDI R24,0xE0
044B 93800070 STS _pc,R24
(0314) if(pc == 0xE0)
044D 3E80 CPI R24,0xE0
044E F491 BNE 0x0461
(0315) {
(0316) stop();
044F DDBF RCALL _stop
(0317) t0_times = 0;timers = 0x22;
0450 2422 CLR R2
0451 92200066 STS _t0_times,R2
0453 E282 LDI R24,0x22
0454 9380006D STS _timers,R24
(0318) temp1=EEPROMread((int)&sound[sound_add]);
0456 E081 LDI R24,1
0457 E090 LDI R25,0
0458 91000060 LDS R16,0x60
045A 91100061 LDS R17,0x61
045C 0F08 ADD R16,R24
045D 1F19 ADC R17,R25
045E D4B6 RCALL _EEPROMread
045F 93000073 STS _temp1,R16
(0319) }
(0320) if(pc == 0x40 || pc == 0x80 || pc == 0x20 || pc == 0xc0 || pc == 0x60)
0461 91800070 LDS R24,_pc
0463 3480 CPI R24,0x40
0464 F041 BEQ 0x046D
0465 3880 CPI R24,0x80
0466 F031 BEQ 0x046D
0467 3280 CPI R24,0x20
0468 F021 BEQ 0x046D
0469 3C80 CPI R24,0xC0
046A F011 BEQ 0x046D
046B 3680 CPI R24,0x60
046C F431 BNE 0x0473
(0321) {
(0322) timers=0x55;
046D E585 LDI R24,0x55
046E 9380006D STS _timers,R24
(0323) t0_times = 0;
0470 2422 CLR R2
0471 92200066 STS _t0_times,R2
(0324) }
(0325) if(timers == 0x55)
0473 9180006D LDS R24,_timers
0475 3585 CPI R24,0x55
0476 F589 BNE 0x04A8
(0326) {
(0327) if(t0_times < 16) //16*25ms=400ms
0477 91800066 LDS R24,_t0_times
0479 3180 CPI R24,0x10
047A F470 BCC 0x0489
(0328) {
(0329) backward();
047B DD89 RCALL _backward
(0330) temp1=sound_back[sound_add];
047C E08C LDI R24,0xC
047D E093 LDI R25,3
047E 90200060 LDS R2,0x60
0480 90300061 LDS R3,0x61
0482 0E28 ADD R2,R24
0483 1E39 ADC R3,R25
0484 2DE2 MOV R30,R2
0485 2DF3 MOV R31,R3
0486 95C8 LPM
0487 92000073 STS _temp1,R0
(0331) }
(0332) if(t0_times > 16 && t0_times < 24) //8*25ms=200ms
0489 E180 LDI R24,0x10
048A 90200066 LDS R2,_t0_times
048C 1582 CP R24,R2
048D F488 BCC 0x049F
048E 2D82 MOV R24,R2
048F 3188 CPI R24,0x18
0490 F470 BCC 0x049F
(0333) {
(0334) turn_left();
0491 DD64 RCALL _turn_left
(0335) temp1=sound_back[sound_add];
0492 E08C LDI R24,0xC
0493 E093 LDI R25,3
0494 90200060 LDS R2,0x60
0496 90300061 LDS R3,0x61
0498 0E28 ADD R2,R24
0499 1E39 ADC R3,R25
049A 2DE2 MOV R30,R2
049B 2DF3 MOV R31,R3
049C 95C8 LPM
049D 92000073 STS _temp1,R0
(0336) }
(0337) if(t0_times == 24)
049F 91800066 LDS R24,_t0_times
04A1 3188 CPI R24,0x18
04A2 F429 BNE 0x04A8
(0338) {
(0339) timers = 0;
04A3 2422 CLR R2
04A4 9220006D STS _timers,R2
(0340) t0_times = 0;
04A6 92200066 STS _t0_times,R2
(0341) }
(0342) }
(0343) if(timers != 0x55 && timers != 0x22)
04A8 9180006D LDS R24,_timers
04AA 3585 CPI R24,0x55
04AB F031 BEQ 0x04B2
04AC 3282 CPI R24,0x22
04AD F021 BEQ 0x04B2
(0344) {
(0345) forward();
04AE DD5B RCALL _forward
(0346) temp1 = 0;
04AF 2422 CLR R2
04B0 92200073 STS _temp1,R2
(0347) }
(0348) }
(0349) if(gzsl == 0x55)
04B2 91800067 LDS R24,_gzsl
04B4 3585 CPI R24,0x55
04B5 F009 BEQ 0x04B7
04B6 C0A3 RJMP 0x055A
(0350) {
(0351) if(t0_times == 4) //4*25ms=100ms 掃描一次
04B7 91800066 LDS R24,_t0_times
04B9 3084 CPI R24,4
04BA F009 BEQ 0x04BC
04BB C09E RJMP 0x055A
(0352) {
(0353) t0_times = 0;
04BC 2422 CLR R2
04BD 92200066 STS _t0_times,R2
(0354) remote_in = PINB & 0xF0;
04BF B386 IN R24,P16
04C0 7F80 ANDI R24,0xF0
04C1 9380006E STS _remote_in,R24
(0355) switch (remote_in)
04C3 2F48 MOV R20,R24
04C4 2755 CLR R21
04C5 3240 CPI R20,0x20
04C6 E0E0 LDI R30,0
04C7 075E CPC R21,R30
04C8 F0B9 BEQ 0x04E0
04C9 E280 LDI R24,0x20
04CA E090 LDI R25,0
04CB 1784 CP R24,R20
04CC 0795 CPC R25,R21
04CD F02C BLT 0x04D3
04CE 3140 CPI R20,0x10
04CF E0E0 LDI R30,0
04D0 075E CPC R21,R30
04D1 F111 BEQ 0x04F4
04D2 C034 RJMP 0x0507
04D3 3440 CPI R20,0x40
04D4 E0E0 LDI R30,0
04D5 075E CPC R21,R30
04D6 F099 BEQ 0x04EA
04D7 3440 CPI R20,0x40
04D8 E0E0 LDI R30,0
04D9 075E CPC R21,R30
04DA F164 BLT 0x0507
04DB 3840 CPI R20,0x80
04DC E0E0 LDI R30,0
04DD 075E CPC R21,R30
04DE F0F9 BEQ 0x04FE
04DF C027 RJMP 0x0507
(0356) {//檢測遙控器是否有鍵按下
(0357) case 0x20: // < A >
(0358) sound_add=0;
04E0 2422 CLR R2
04E1 2433 CLR R3
04E2 92300061 STS 0x61,R3
04E4 92200060 STS 0x60,R2
(0359) sound_1 = 0x11;
04E6 E181 LDI R24,0x11
04E7 93800065 STS _sound_1,R24
(0360) break;
04E9 C01D RJMP 0x0507
(0361) case 0x40: // < B >
(0362) sound_add=0;
04EA 2422 CLR R2
04EB 2433 CLR R3
04EC 92300061 STS 0x61,R3
04EE 92200060 STS 0x60,R2
(0363) sound_1 = 0x22;
04F0 E282 LDI R24,0x22
04F1 93800065 STS _sound_1,R24
(0364) break;
04F3 C013 RJMP 0x0507
(0365) case 0x10: // < C >
(0366) sound_add=0;
04F4 2422 CLR R2
04F5 2433 CLR R3
04F6 92300061 STS 0x61,R3
04F8 92200060 STS 0x60,R2
(0367) sound_1 = 0x33;
04FA E383 LDI R24,0x33
04FB 93800065 STS _sound_1,R24
(0368) break;
04FD C009 RJMP 0x0507
(0369) case 0x80: // < D >
(0370) sound_add=0;
04FE 2422 CLR R2
04FF 2433 CLR R3
0500 92300061 STS 0x61,R3
0502 92200060 STS 0x60,R2
(0371) sound_1 = 0x44;
0504 E484 LDI R24,0x44
0505 93800065 STS _sound_1,R24
(0372) break;
(0373) }
(0374) if(sound_1 == 0x11)
0507 91800065 LDS R24,_sound_1
0509 3181 CPI R24,0x11
050A F469 BNE 0x0518
(0375) {
(0376) temp1 = music_11[sound_add];
050B EB86 LDI R24,0xB6
050C E090 LDI R25,0
050D 90200060 LDS R2,0x60
050F 90300061 LDS R3,0x61
0511 0E28 ADD R2,R24
0512 1E39 ADC R3,R25
0513 2DE2 MOV R30,R2
0514 2DF3 MOV R31,R3
0515 95C8 LPM
0516 92000073 STS _temp1,R0
(0377) }
(0378) if(sound_1 == 0x22)
0518 91800065 LDS R24,_sound_1
051A 3282 CPI R24,0x22
051B F469 BNE 0x0529
(0379) {
(0380) temp1 = music_22[sound_add];
051C E588 LDI R24,0x58
051D E091 LDI R25,1
051E 90200060 LDS R2,0x60
0520 90300061 LDS R3,0x61
0522 0E28 ADD R2,R24
0523 1E39 ADC R3,R25
0524 2DE2 MOV R30,R2
0525 2DF3 MOV R31,R3
0526 95C8 LPM
0527 92000073 STS _temp1,R0
(0381) }
(0382) if(sound_1 == 0x33)
0529 91800065 LDS R24,_sound_1
052B 3383 CPI R24,0x33
052C F469 BNE 0x053A
(0383) {
(0384) temp1 = music_33[sound_add];
052D EB88 LDI R24,0xB8
052E E091 LDI R25,1
052F 90200060 LDS R2,0x60
0531 90300061 LDS R3,0x61
0533 0E28 ADD R2,R24
0534 1E39 ADC R3,R25
0535 2DE2 MOV R30,R2
0536 2DF3 MOV R31,R3
0537 95C8 LPM
0538 92000073 STS _temp1,R0
(0385) }
(0386) if(sound_1 == 0x44)
053A 91800065 LDS R24,_sound_1
053C 3484 CPI R24,0x44
053D F469 BNE 0x054B
(0387) {
(0388) temp1 = music_44[sound_add];
053E E48A LDI R24,0x4A
053F E092 LDI R25,2
0540 90200060 LDS R2,0x60
0542 90300061 LDS R3,0x61
0544 0E28 ADD R2,R24
0545 1E39 ADC R3,R25
0546 2DE2 MOV R30,R2
0547 2DF3 MOV R31,R3
0548 95C8 LPM
0549 92000073 STS _temp1,R0
(0389) }
(0390) if(sound_1 == 0x88)
054B 91800065 LDS R24,_sound_1
054D 3888 CPI R24,0x88
054E F459 BNE 0x055A
(0391) {
(0392) temp1=EEPROMread((int)&sound[sound_add]);
054F E081 LDI R24,1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -