?? diy0206_4.lis
字號:
.module diy0206_4.c
.area text(rom, con, rel)
0000 .dbfile E:/icc/include/diy0206.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 81
0000 ; /*******************************************/
0000 ; /* 廣州天河雙龍電子公司 */
0000 ; /* http://www.sl.com.cn */
0000 ; /* 020-85510191,87578852,87578872 */
0000 ; /* nikko@sl.com.cn */
0000 ; /*******************************************/
0000 ;
0000 ; //遙控器沒有按鍵或者 pd3,pd2,pd1,pd0 短路塊全部接上,全為高電平
0000 ; //機器人運行音樂機器人程序。
0000 ; //PA口為音樂燈,當不同的音樂節奏,點亮不同的燈。
0000 ; //聲控起動音樂機器人程序,未起動時,PA口的8 LED 呈廣告燈效果(霓虹燈)
0000 ; //聲控起動后,機器人開始演奏音樂,同時PA口LED燈根據音樂節拍閃爍
0000 ; //按遙控器上不同的鍵后可改變機器人演奏的樂曲。
0000 ;
0000 ; //將 pd0 接低電平,pd3,pd2,pd1 保持高電平
0000 ; // 或按下遙控器<A>(保持 0.5s) 進入遙控機器人運行環境
0000 ; //聲控起動遙控車程序,未起動時,PA口的8 LED 呈廣告燈效果(霓虹燈)
0000 ; //聲控起動后,機器人開始動作
0000 ; //遙控器無按鍵,機器人直行
0000 ; //按住 < A > 鍵,機器人右轉,同時演奏右轉指示音樂;
0000 ; //按住 < B > 鍵,機器人后退,同時演奏后退指示音樂;
0000 ; //按住 < C > 鍵,機器人停止,同時演奏停止指示音樂;
0000 ; //按住 < D > 鍵,機器人左轉,同時演奏左轉指示音樂;
0000 ; //釋放遙控器按鍵,音樂停止
0000 ;
0000 ; //將 pd1 接低電平,pd3,pd2,pd0 保持高電平
0000 ; // 或按下遙控器<B>(保持 0.5s) 尋跡機器人,探測白底黑線,沿黑線行進
0000 ; //聲控起動尋跡機器人程序,未起動時,PA口的 8 LED 呈廣告燈效果(霓虹燈)
0000 ; //聲控起動后,機器人開始動作,PA口的 8 LED 指示運動狀態
0000 ;
0000 ; //將 pd2 接低電平,pd3,pd1,pd0 保持高電平,只連接pd2的短路塊
0000 ; // 或按下遙控器<C>(保持 0.5s) 機器人避障礙、避懸崖行進
0000 ; //聲控起動避懸崖,壁障礙運行程序,未起動時,PA口的8 LED 呈廣告燈效果(霓虹燈)
0000 ; //聲控起動后,機器人開始動作,PA口的 8 LED 指示運動狀態
0000 ; //探測到邊緣,后退、轉彎,并以伴有音樂提示。
0000 ;
0000 ; //將 pd3 接低電平,pd2,pd1,pd0 保持高電平
0000 ; // 或按下遙控器<D>(保持 0.5s) 機器人按程序設定路線行走,走四方形,同時演奏音樂
0000 ; //自走車 機器人走四方形路線,遙控器調節行走路線
0000 ; //聲控起動機器人按設定路線行走,未起動時,PA口的 8 LED 呈廣告燈效果(霓虹燈)
0000 ; //聲控起動后,機器人開始動作,PA口的 8 LED 指示運動狀態
0000 ;
0000 ; //程序等待聲控起動運行,未啟動運行時機器人運行霓虹車程序。
0000 ; //連續按住遙控器 < C > 鍵超過 10s 起動看門狗,再過 1s 系統復位
0000 ;
0000 ; //將 diy0206.c 文件拷貝到 icc avr 安裝目錄的<include>文件夾
0000 ; //diy0206.c 是diy0206機器人板的子函數庫
0000 ; //程序中調用此文件后 #include <diy0206.c>
0000 ; //可直接調用里面的函數和變量
0000 ;
0000 ; // 最后更新:2003.04.17
0000 ;
0000 ; #include <io8515v.h>
0000 ; #include <macros.h>
0000 ; #include <diy0206.c>
0000 ; #include <eeprom.h>
0000 ;
0000 ; #define xuanya_delayms 300
0000 ; #define cny_delayms 50
0000 ; #define light_delay 100
0000 ;
0000 ; /* 音樂數據 */
0000 ; /* 四分之一拍為0x10, 二分之一拍為0x20, 一拍為0x40 */
0000 ; /* 低1-1 2-2 3-3 4-4 5-5 6-6 7-7 */
0000 ; /* 中1-8 2-9 3-A 4-B 5-C 6-D 7-E */
0000 ; /* 高1-F */
0000 ; #pragma data:eeprom
0000 ; unsigned char sound[]={ //樂曲數據表
0000 ; //情非得以
0000 ; 0x20,0x1c,0x1d,0x4c,0x4c,0x4c,0x4c,0x20,0x2d,0x19,0x1a,0x19,0x18,0x48,0x48,0x48,
0000 ; 0x48,0x47,0x47,0x46,0x46,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,
0000 ;
0000 ; 0x23,0x24,0x25,0x44,0x45,0x24,0x23,0x22,0x42,0x40,0x40,0x23,0x22,0x21,0x41,0x28,
0000 ; 0x48,0x23,0x25,0x45,0x40,0x40,0x21,0x21,0x42,0x21,0x21,0x41,0x20,0x28,0x47,0x26,
0000 ; 0x17,0x16,0x15,0x45,0x40,0x31,0x11,0x21,0x21,0x21,0x22,0x42,0x40,0x20,0x23,0x23,
0000 ; 0x24,0x25,0x24,0x23,0x24,0x25,0x26,0x23,0x23,0x42,0x42,0x40,0x23,0x22,0x21,0x41,
0000 ; 0x28,0x28,0x28,0x23,0x25,0x45,0x45,0x40,0x20,0x25,0x46,0x28,0x28,0x48,0x20,0x29,
0000 ; 0x47,0x26,0x17,0x16,0x15,0x45,0x25,0x25,0x26,0x28,0x18,0x16,0x26,0x28,0x26,0x28,
0000 ; 0x19,0x19,0x49,0x49,0x20,0x25,0x2a,0x18,0x19,0x29,0x28,0x16,0x17,0x16,0x15,0x25,
0000 ; 0x25,0x28,0x29,0x2a,0x29,0x48,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,0x2c,0x1c,0x1a,
0000 ; 0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,0x28,0x26,0x48,
0000 .dbline 82
0000 ; 0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x21,0x18,0x16,0x26,0x28,0x26,0x28,0x29,
0000 8FEF ldi R24,255
0002 8ABB out 0x1a,R24
0004 .dbline 82
0004 8BBB out 0x1b,R24
0006 .dbline 84
0006 ; 0x49,0x49,0x20,0x25,0x28,0x29,0x2a,0x29,0x49,0x28,0x48,0x2c,0x4c,0x4c,0x40,0x2a,
0006 ; 0x2c,0x15,0x1a,0x2a,0x2a,0x29,0x4a,0x2b,0x2a,0x4a,0x4a,0x40,0x2a,0x29,0x29,0x28,
0006 2224 clr R2
0008 27BA out 0x17,R2
000A .dbline 84
000A 88BB out 0x18,R24
000C .dbline 86
000C ; 0x28,0x26,0x28,0x28,0x29,0x26,0x45,0x45,0x40,0x25,0x25,0x26,0x28,0x28,0x26,0x2a,
000C ; 0x19,0x18,0x28,0x18,0x19,0x48,0x48,0x40,0x40,0x40,0x40,0x28,0x48,0x29,0x28,0x28,
000C 81E0 ldi R24,1
000E 84BB out 0x14,R24
0010 .dbline 86
0010 8FEF ldi R24,255
0012 85BB out 0x15,R24
0014 .dbline 88
0014 ; 0x2a,0x1a,0x1a,0x1a,0x18,0x40,0x20,0x26,0x28,0x28,0x28,0x26,0x28,0x48,0x26,0x25,
0014 ; 0x45,0x45,0x40,0x40,0x40,0x28,0x48,0x28,0x28,0x1c,0x1d,0x2d,0x2c,0x28,0x28,0x28,
0014 80EF ldi R24,240
0016 81BB out 0x11,R24
0018 .dbline 88
0018 8FEF ldi R24,255
001A 82BB out 0x12,R24
001C .dbline -2
001C .dbline 90
001C ; 0x20,0x26,0x19,0x1a,0x29,0x19,0x18,0x28,0x28,0x26,0x21,0x29,0x49,0x49,0x40,0x20,
001C ; 0x28,0x29,0x2a,0x4a,0x4a,0x20,0x25,0x28,0x29,0x48,0x48,0x48,0x25,0x25,0x26,0x28,
001C L1:
001C .dbline 0 ; func end
001C 0895 ret
001E .dbend
001E .dbfunc e delay_us _delay_us fV
001E ; time -> R16,R17
.even
001E _delay_us::
001E .dbline -1
001E .dbline 93
001E ; 0x28,0x26,0x2a,0x19,0x18,0x28,0x18,0x19,0x49,0x49,0x40,0x40,
001E ;
001E ; 0x00,0x00
001E L3:
001E .dbline 95
001E ; };
001E ; #pragma data:data
001E .dbline 96
001E ; /* 音階表 */
001E 0150 subi R16,1
0020 1040 sbci R17,0
0022 .dbline 97
0022 ; const unsigned int TONETABLE[15]={DO,RE,MI,FA,SO,LA,TI,DO_H,
0022 L4:
0022 .dbline 98
0022 ; RE_H,MI_H,FA_H,SO_H,LA_H,TI_H,DO_HH};
0022 81E0 ldi R24,1
0024 90E0 ldi R25,0
0026 8017 cp R24,R16
0028 9107 cpc R25,R17
002A CCF3 brlt L3
002C .dbline -2
002C .dbline 99
002C ; /* 音階重裝常數 */
002C L2:
002C .dbline 0 ; func end
002C 0895 ret
002E .dbsym r time 16 I
002E .dbend
002E .dbfunc e delay_ms _delay_ms fV
002E ; time -> R20,R21
.even
002E _delay_ms::
002E 00D0 rcall push_gset1
0030 402F mov R20,R16
0032 512F mov R21,R17
0034 .dbline -1
0034 .dbline 102
0034 ; unsigned int toneconst;
0034 ; unsigned int sound_add=0;
0034 ; unsigned int rst_time,delay_time1,delay_time2,led_delayms=600;
0034 05C0 rjmp L8
0036 L7:
0036 .dbline 104
0036 .dbline 105
0036 08EE ldi R16,1000
0038 13E0 ldi R17,3
003A F1DF rcall _delay_us
003C .dbline 106
003C 4150 subi R20,1
003E 5040 sbci R21,0
0040 .dbline 107
0040 L8:
0040 .dbline 103
0040 ; unsigned char temp,temp1;
0040 4030 cpi R20,0
0042 4507 cpc R20,R21
0044 C1F7 brne L7
0046 X0:
0046 .dbline -2
0046 .dbline 108
0046 ; unsigned char pa,pb,pc,pd,remote_in,timers,cny_in,cny_times,cds,pd_select,remote_select;
0046 ; unsigned char gzsl,t0_times;
0046 ; unsigned char sound_1,sound_2;
0046 ;
0046 ; const unsigned char led_data[]=
0046 L6:
0046 00D0 rcall pop_gset1
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbsym r time 20 i
004A .dbend
004A .dbfunc e turn_right _turn_right fV
.even
004A _turn_right::
004A .dbline -1
004A .dbline 111
004A ; {//設置LED廣告燈數據表
004A ; 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,
004A ; 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,
004A .dbline 112
004A ; 0x00,0x18,0x3c,0x7e,0xff,0x7e,0x3c,0x18,
004A 80E9 ldi R24,144
004C 82BB out 0x12,R24
004E .dbline 113
004E ; 0x00,0x18,0x3c,0x7e,0xff,0x7e,0x3c,0x18,
004E 8CEC ldi R24,204
0050 8BBB out 0x1b,R24
0052 .dbline -2
0052 .dbline 114
0052 ; 0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x8f,0xc7,0xe3,0xf1,
0052 L10:
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbend
0054 .dbfunc e turn_left _turn_left fV
.even
0054 _turn_left::
0054 .dbline -1
0054 .dbline 117
0054 ; 0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x8f,0xc7,0xe3,0xf1,
0054 ; 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,
0054 ; 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,
0054 .dbline 118
0054 ; 0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,
0054 80E6 ldi R24,96
0056 82BB out 0x12,R24
0058 .dbline 119
0058 ; 0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,
0058 83E3 ldi R24,51
005A 8BBB out 0x1b,R24
005C .dbline -2
005C .dbline 120
005C ; 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,
005C L11:
005C .dbline 0 ; func end
005C 0895 ret
005E .dbend
005E .dbfunc e turn_right_s _turn_right_s fV
.even
005E _turn_right_s::
005E .dbline -1
005E .dbline 122
005E ;
005E ; 0x0a,0x0a
005E .dbline 123
005E ; };
005E 80E8 ldi R24,128
0060 82BB out 0x12,R24
0062 .dbline 124
0062 ;
0062 8FEC ldi R24,207
0064 8BBB out 0x1b,R24
0066 .dbline -2
0066 .dbline 125
0066 ; const unsigned char music_11[]=
0066 L12:
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbend
0068 .dbfunc e turn_left_s _turn_left_s fV
.even
0068 _turn_left_s::
0068 .dbline -1
0068 .dbline 128
0068 ; {//七子之歌
0068 ; 0x45,0x23,0x25,0x23,0x65,0x26,0x25,0x23,0x26,0x45,0x45,0x41,
0068 ; 0x21,0x22,0x43,0x25,0x23,0x42,0x20,0x23,0x45,0x45,0x25,0x25,
0068 .dbline 129
0068 ; 0x26,0x25,0x23,0x45,0x25,0x26,0x25,0x28,0x26,0x45,0x45,0x41,
0068 80E2 ldi R24,32
006A 82BB out 0x12,R24
006C .dbline 130
006C ; 0x25,0x23,0x22,0x21,0x42,0x23,0x65,0x25,0x22,0x43,0x41,0x41,
006C 83EF ldi R24,243
006E 8BBB out 0x1b,R24
0070 .dbline -2
0070 .dbline 131
0070 ; 0x41,0x41,0x45,0x23,0x25,0x23,0x65,0x26,0x25,0x23,0x26,0x45,
0070 L13:
0070 .dbline 0 ; func end
0070 0895 ret
0072 .dbend
0072 .dbfunc e backward _backward fV
.even
0072 _backward::
0072 .dbline -1
0072 .dbline 134
0072 ; 0x45,0x41,0x21,0x22,0x43,0x25,0x23,0x42,0x20,0x23,0x45,0x45,
0072 ; 0x25,0x25,0x26,0x25,0x23,0x45,0x25,0x26,0x25,0x28,0x26,0x45,
0072 ; 0x45,0x41,0x25,0x23,0x22,0x21,0x42,0x23,0x65,0x25,0x22,0x43,
0072 .dbline 135
0072 ; 0x41,0x41,0x41,0x20,0x25,0x4a,0x29,0x28,0x26,0x25,0x45,0x26,
0072 80E5 ldi R24,80
0074 82BB out 0x12,R24
0076 .dbline 136
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -