?? diy0206_4.lis
字號:
014A L35:
014A .dbline 231
014A L31:
014A .dbline -2
014A .dbline 232
014A ; rst_time=0;
014A ; break;
014A ; case 0x10: // < C >
014A L17:
014A 00D0 rcall pop_gset2
014C .dbline 0 ; func end
014C 0895 ret
014E .dbsym r sw_in 20 c
014E .dbsym r remote_in 22 c
014E .dbend
014E .dbfunc e mic_startup _mic_startup fV
014E ; mic_in -> R16
.even
014E _mic_startup::
014E .dbline -1
014E .dbline 235
014E ; rst_time++;
014E ; break;
014E ; case 0x80: // < D >
014E 04C0 rjmp L45
0150 L44:
0150 .dbline 238
0150 ; rst_time=0;
0150 ; break;
0150 ; }
0150 .dbline 239
0150 ; if(rst_time > 400) // 400*25ms=10s,+1s 看門狗復位
0150 06B3 in R16,0x16
0152 0470 andi R16,4
0154 .dbline 240
0154 ; {
0154 09F4 brne L47
0156 .dbline 240
0156 .dbline 240
0156 01C0 rjmp L46
0158 L47:
0158 .dbline 241
0158 L45:
0158 .dbline 237
0158 FBCF rjmp L44
015A L46:
015A .dbline -2
015A .dbline 242
015A ; PORTA = 0xff;
015A ; watchdog_init();
015A L43:
015A .dbline 0 ; func end
015A 0895 ret
015C .dbsym r mic_in 16 c
015C .dbend
015C .dbfunc e remote_auto_time _remote_auto_time fV
015C ; remote_in -> R16
.even
015C _remote_auto_time::
015C .dbline -1
015C .dbline 259
015C ; while(1);
015C ; }
015C ; if(gzsl == 0x88)
015C ; {
015C ; if(t0_times == 10)
015C ; {
015C ; timers++;
015C ; t0_times = 0;
015C ; pa = led_data[timers];
015C ; if(pa==0x0a){timers=0;}
015C ; PORTA = pa;
015C ; }
015C ; }
015C ; if(gzsl == 0x33)
015C ; {
015C ; sw_touch();
015C ; if(t0_times == 8) //8*25ms=200ms
015C .dbline 261
015C ; {
015C ; t0_times = 0;
015C 06B3 in R16,0x16
015E 007F andi R16,240
0160 .dbline 262
0160 ; remote_in = PINB & 0xF0;
0160 1127 clr R17
0162 0032 cpi R16,32
0164 E0E0 ldi R30,0
0166 1E07 cpc R17,R30
0168 19F1 breq L53
016A 80E2 ldi R24,32
016C 90E0 ldi R25,0
016E 8017 cp R24,R16
0170 9107 cpc R25,R17
0172 7CF0 brlt L67
0174 L66:
0174 0030 cpi R16,0
0176 0107 cpc R16,R17
0178 09F4 brne X4
017A 6AC0 rjmp L51
017C X4:
017C X2:
017C 0030 cpi R16,0
017E E0E0 ldi R30,0
0180 1E07 cpc R17,R30
0182 0CF4 brge X5
0184 65C0 rjmp L50
0186 X5:
0186 L68:
0186 0031 cpi R16,16
0188 E0E0 ldi R30,0
018A 1E07 cpc R17,R30
018C 09F4 brne X6
018E 39C0 rjmp L59
0190 X6:
0190 5FC0 rjmp L50
0192 L67:
0192 0034 cpi R16,64
0194 E0E0 ldi R30,0
0196 1E07 cpc R17,R30
0198 01F1 breq L56
019A 0034 cpi R16,64
019C E0E0 ldi R30,0
019E 1E07 cpc R17,R30
01A0 0CF4 brge X7
01A2 56C0 rjmp L50
01A4 X7:
01A4 L69:
01A4 0038 cpi R16,128
01A6 E0E0 ldi R30,0
01A8 1E07 cpc R17,R30
01AA 09F4 brne X8
01AC 3EC0 rjmp L62
01AE X8:
01AE 50C0 rjmp L50
01B0 X3:
01B0 .dbline 263
01B0 ; sound_1 = remote_in;
01B0 L53:
01B0 .dbline 265
01B0 ; if(sound_2 != sound_1)
01B0 ; {sound_add=0;sound_2 = sound_1;}
01B0 80911500 lds R24,_delay_time2
01B4 90911600 lds R25,_delay_time2+1
01B8 C297 sbiw R24,50
01BA 90931600 sts _delay_time2+1,R25
01BE 80931500 sts _delay_time2,R24
01C2 .dbline 266
01C2 ; switch (remote_in)
01C2 8233 cpi R24,50
01C4 E0E0 ldi R30,0
01C6 9E07 cpc R25,R30
01C8 09F0 breq X9
01CA 42C0 rjmp L51
01CC X9:
01CC .dbline 267
01CC ; {//檢測遙控器是否有鍵按下
01CC .dbline 267
01CC 84E6 ldi R24,100
01CE 90E0 ldi R25,0
01D0 90931600 sts _delay_time2+1,R25
01D4 80931500 sts _delay_time2,R24
01D8 .dbline 267
01D8 .dbline 268
01D8 ; case 0x00:
01D8 3BC0 rjmp L51
01DA L56:
01DA .dbline 270
01DA ; forward(); //前行
01DA ; sound_add=0x00;
01DA 80911700 lds R24,_delay_time1
01DE 90911800 lds R25,_delay_time1+1
01E2 C296 adiw R24,50
01E4 90931800 sts _delay_time1+1,R25
01E8 80931700 sts _delay_time1,R24
01EC .dbline 271
01EC ; temp1=0x00;
01EC 8230 cpi R24,2
01EE E8E0 ldi R30,8
01F0 9E07 cpc R25,R30
01F2 71F5 brne L51
01F4 .dbline 272
01F4 ; break;
01F4 .dbline 272
01F4 80ED ldi R24,2000
01F6 97E0 ldi R25,7
01F8 90931800 sts _delay_time1+1,R25
01FC 80931700 sts _delay_time1,R24
0200 .dbline 272
0200 .dbline 273
0200 ; case 0x20: // < A >
0200 27C0 rjmp L51
0202 L59:
0202 .dbline 275
0202 ; turn_right(); //右轉
0202 ; temp1=sound_right[sound_add];
0202 80911700 lds R24,_delay_time1
0206 90911800 lds R25,_delay_time1+1
020A C297 sbiw R24,50
020C 90931800 sts _delay_time1+1,R25
0210 80931700 sts _delay_time1,R24
0214 .dbline 276
0214 ; break;
0214 8233 cpi R24,50
0216 E0E0 ldi R30,0
0218 9E07 cpc R25,R30
021A D1F4 brne L51
021C .dbline 277
021C ; case 0x40: // < B >
021C .dbline 277
021C 84E6 ldi R24,100
021E 90E0 ldi R25,0
0220 90931800 sts _delay_time1+1,R25
0224 80931700 sts _delay_time1,R24
0228 .dbline 277
0228 .dbline 278
0228 ; backward(); //后退
0228 13C0 rjmp L51
022A L62:
022A .dbline 280
022A ; temp1=sound_back[sound_add];
022A ; break;
022A 80911500 lds R24,_delay_time2
022E 90911600 lds R25,_delay_time2+1
0232 C296 adiw R24,50
0234 90931600 sts _delay_time2+1,R25
0238 80931500 sts _delay_time2,R24
023C .dbline 281
023C ; case 0x10: // < C >
023C 8230 cpi R24,2
023E E8E0 ldi R30,8
0240 9E07 cpc R25,R30
0242 31F4 brne L51
0244 .dbline 282
0244 ; stop(); //停止運動
0244 .dbline 282
0244 80ED ldi R24,2000
0246 97E0 ldi R25,7
0248 90931600 sts _delay_time2+1,R25
024C 80931500 sts _delay_time2,R24
0250 .dbline 282
0250 .dbline 283
0250 ; temp1=sound_stop[sound_add];
0250 .dbline 285
0250 ; break;
0250 ; case 0x80: // < D >
0250 L50:
0250 L51:
0250 .dbline -2
0250 .dbline 287
0250 ; turn_left(); //左轉
0250 ; temp1=sound_left[sound_add];
0250 L49:
0250 .dbline 0 ; func end
0250 0895 ret
0252 .dbsym r remote_in 16 c
0252 .dbend
.area eeprom(rom, con, rel)
0000 .dbfile E:/icc/include/diy0206.c
0000 _sound::
0000 201C .byte 32,28
0002 1D4C .byte 29,'L
0004 4C4C .byte 'L,'L
0006 4C20 .byte 'L,32
0008 2D19 .byte 45,25
000A 1A19 .byte 26,25
000C 1848 .byte 24,'H
000E 4848 .byte 'H,'H
0010 4847 .byte 'H,'G
0012 4746 .byte 'G,'F
0014 4645 .byte 'F,'E
0016 4545 .byte 'E,'E
0018 4545 .byte 'E,'E
001A 4545 .byte 'E,'E
001C 4545 .byte 'E,'E
001E 2324 .byte 35,36
0020 2544 .byte 37,'D
0022 4524 .byte 'E,36
0024 2322 .byte 35,34
0026 4240 .byte 'B,64
0028 4023 .byte 64,35
002A 2221 .byte 34,33
002C 4128 .byte 'A,40
002E 4823 .byte 'H,35
0030 2545 .byte 37,'E
0032 4040 .byte 64,64
0034 2121 .byte 33,33
0036 4221 .byte 'B,33
0038 2141 .byte 33,'A
003A 2028 .byte 32,40
003C 4726 .byte 'G,38
003E 1716 .byte 23,22
0040 1545 .byte 21,'E
0042 4031 .byte 64,49
0044 1121 .byte 17,33
0046 2121 .byte 33,33
0048 2242 .byte 34,'B
004A 4020 .byte 64,32
004C 2323 .byte 35,35
004E 2425 .byte 36,37
0050 2423 .byte 36,35
0052 2425 .byte 36,37
0054 2623 .byte 38,35
0056 2342 .byte 35,'B
0058 4240 .byte 'B,64
005A 2322 .byte 35,34
005C 2141 .byte 33,'A
005E 2828 .byte 40,40
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -