📄 sl3010_1.lis
字号:
007E ; }
007E ;
007E ; pa = 0x3f;
007E .dbline 139
007E ; for(timers=0;timers<4;timers++)
007E 80EA ldi R24,160
0080 82BB out 0x12,R24
0082 .dbline 140
0082 ; {
0082 83EC ldi R24,195
0084 8BBB out 0x1b,R24
0086 .dbline -2
0086 .dbline 141
0086 ; PORTA=~pa;
0086 L15:
0086 .dbline 0 ; func end
0086 0895 ret
0088 .dbend
0088 .dbfunc e stop _stop fV
.even
0088 _stop::
0088 .dbline -1
0088 .dbline 144
0088 ; delay_ms(led_delayms/2);
0088 ; pa=pa & (pa>>2);
0088 ; }
0088 .dbline 145
0088 ;
0088 8FEF ldi R24,255
008A 82BB out 0x12,R24
008C .dbline 146
008C ; pa = 0xc0;
008C 8BBB out 0x1b,R24
008E .dbline -2
008E .dbline 147
008E ; for(timers=0;timers<4;timers++)
008E L16:
008E .dbline 0 ; func end
008E 0895 ret
0090 .dbend
0090 .dbfunc e sw_touch _sw_touch fV
.even
0090 _sw_touch::
0090 .dbline -1
0090 .dbline 163
0090 ; {
0090 ; PORTA=~pa;
0090 ; delay_ms(led_delayms/2);
0090 ; pa=pa | (pa>>2);
0090 ; }
0090 ;
0090 ; pa = 0xfc;
0090 ; for(timers=0;timers<4;timers++)
0090 ; {
0090 ; PORTA=~pa;
0090 ; delay_ms(led_delayms/2);
0090 ; pa=pa & (pa<<2);
0090 ; }
0090 ;
0090 ; for(timers=0;;timers++)
0090 ; {
0090 .dbline 164
0090 ; pa = led_data[timers];
0090 83B3 in R24,0x13
0092 8071 andi R24,16
0094 80930D00 sts _sw_in,R24
0098 .dbline 165
0098 ; if(pa == 0x0a){break;}
0098 8823 tst R24
009A C9F4 brne L18
009C .dbline 166
009C ; PORTA = pa;
009C .dbline 167
009C ; delay_ms(led_delayms/2);
009C EBDF rcall _backward
009E .dbline 168
009E ; }
009E 0AEF ldi R16,250
00A0 10E0 ldi R17,0
00A2 C6DF rcall _delay_ms
00A4 .dbline 170
00A4 ;
00A4 ; pa = 0x55;
00A4 80910E00 lds R24,_work_status
00A8 8037 cpi R24,112
00AA 69F4 brne L20
00AC .dbline 171
00AC ; for(timers=0;timers<16;timers++)
00AC .dbline 172
00AC ; {//8 LED 流水灯
00AC EDDF rcall _stop
00AE 0AC0 rjmp L23
00B0 L22:
00B0 .dbline 174
00B0 .dbline 175
00B0 85E5 ldi R24,85
00B2 8BBB out 0x1b,R24
00B4 .dbline 176
00B4 0AEF ldi R16,250
00B6 10E0 ldi R17,0
00B8 BBDF rcall _delay_ms
00BA .dbline 177
00BA 8AEA ldi R24,170
00BC 8BBB out 0x1b,R24
00BE .dbline 178
00BE 0AEF ldi R16,250
00C0 10E0 ldi R17,0
00C2 B6DF rcall _delay_ms
00C4 .dbline 179
00C4 L23:
00C4 .dbline 173
00C4 ; PORTA=pa;
00C4 F5CF rjmp L22
00C6 X1:
00C6 .dbline 180
00C6 ; delay_ms(led_delayms);
00C6 ; pa=~pa;
00C6 ; }
00C6 ;
00C6 ; led_delayms = led_delayms - 200;
00C6 ; if(led_delayms == 200)
00C6 ; {
00C6 L20:
00C6 .dbline 182
00C6 ; led_delayms = 800;
00C6 ; }
00C6 C7DF rcall _turn_left
00C8 .dbline 183
00C8 ; }
00C8 0AEF ldi R16,250
00CA 10E0 ldi R17,0
00CC B1DF rcall _delay_ms
00CE .dbline 184
00CE ; }
00CE L18:
00CE .dbline 186
00CE ;
00CE ; /*******************************************/
00CE 86B3 in R24,0x16
00D0 8077 andi R24,112
00D2 80930D00 sts _sw_in,R24
00D6 .dbline 187
00D6 ; /* 电子音乐演示程序 */
00D6 8035 cpi R24,80
00D8 41F4 brne L25
00DA .dbline 188
00DA ; /*******************************************/
00DA .dbline 189
00DA ; // 在 icc avr 所在目录的 <include>文件夹中有 "sl3010.c" 文件
00DA D1DF rcall _forward
00DC .dbline 190
00DC ; //使用说明:音乐输出端口:PORTC.0,音乐数据存放
00DC 0AEF ldi R16,250
00DE 10E0 ldi R17,0
00E0 A7DF rcall _delay_ms
00E2 .dbline 192
00E2 ; //于AT90S8515 的EEPROM存贮器中。
00E2 ; // 可以用并口下载软件写入新的音乐文件
00E2 B9DF rcall _turn_left
00E4 .dbline 193
00E4 ; //PA口为音乐灯,当不同的音乐节奏,点亮不同的灯。
00E4 0AEF ldi R16,250
00E6 10E0 ldi R17,0
00E8 A3DF rcall _delay_ms
00EA .dbline 194
00EA ;
00EA L25:
00EA .dbline 195
00EA ;
00EA 80910D00 lds R24,_sw_in
00EE 8033 cpi R24,48
00F0 41F4 brne L27
00F2 .dbline 196
00F2 ; /* 音乐数据 */
00F2 .dbline 197
00F2 ; /* 四分之一拍为0x10, 二分之一拍为0x20, 一拍为0x40*/
00F2 C0DF rcall _backward
00F4 .dbline 198
00F4 ; /* 低1-1 2-2 3-3 4-4 5-5 6-6 7-7 */
00F4 0AEF ldi R16,250
00F6 10E0 ldi R17,0
00F8 9BDF rcall _delay_ms
00FA .dbline 200
00FA ; /* 中1-8 2-9 3-A 4-B 5-C 6-D 7-E */
00FA ; /* 高1-F*/
00FA ADDF rcall _turn_left
00FC .dbline 201
00FC ; #pragma data:eeprom
00FC 0AEF ldi R16,250
00FE 10E0 ldi R17,0
0100 97DF rcall _delay_ms
0102 .dbline 202
0102 ; unsigned char sound[]={ 0x2a,0x2a,0x4a,0x2a,0x2a,0x4a,0x2a,0x2c,0x28,0x29,
0102 L27:
0102 .dbline 203
0102 ; 0x4a,0x4a,0x2b,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,
0102 80910D00 lds R24,_sw_in
0106 8036 cpi R24,96
0108 41F4 brne L29
010A .dbline 204
010A ; 0x2a,0x29,0x29,0x28,0x49,0x4c,0x2a,0x2a,0x4a,0x2a,
010A .dbline 205
010A ; 0x2a,0x4a,0x2a,0x2c,0x28,0x29,0x4a,0x4a,0x2b,0x2b,
010A B4DF rcall _backward
010C .dbline 206
010C ; 0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,0x2c,0x2c,0x2b,0x29,
010C 0AEF ldi R16,250
010E 10E0 ldi R17,0
0110 8FDF rcall _delay_ms
0112 .dbline 208
0112 ; 0x48,0x48,
0112 ;
0112 A1DF rcall _turn_left
0114 .dbline 209
0114 ; 0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,0x46,0x46,
0114 0AEF ldi R16,250
0116 10E0 ldi R17,0
0118 8BDF rcall _delay_ms
011A .dbline 210
011A ; 0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,0x4a,0x4a,
011A L29:
011A .dbline 211
011A ; 0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,0x2a,0x28,
011A 80910D00 lds R24,_sw_in
011E 8032 cpi R24,32
0120 F1F4 brne L31
0122 .dbline 212
0122 ; 0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,0x46,0x46,
0122 .dbline 213
0122 ; 0x46,0x46,0x4a,0x2a,0x29,0x28,0x29,0x28,0x27,0x46,
0122 B2DF rcall _stop
0124 .dbline 214
0124 ; 0x46,0x46,0x46,0x4b,0x2b,0x2a,0x29,0x28,0x29,0x2b,
0124 08EE ldi R16,1000
0126 13E0 ldi R17,3
0128 83DF rcall _delay_ms
012A 18C0 rjmp L34
012C L33:
012C .dbline 216
012C ; 0x4a,0x4a,0x4a,0x4b,0x2b,0x2a,0x49,0x29,0x2b,0x4a,
012C ; 0x2a,0x28,0x46,0x48,0x47,0x4a,0x29,0x28,0x27,0x28,
012C .dbline 217
012C ; 0x46,0x46,0x46,0x46,0x00
012C 83B3 in R24,0x13
012E 8071 andi R24,16
0130 80930D00 sts _sw_in,R24
0134 .dbline 218
0134 ; };
0134 8823 tst R24
0136 09F4 brne L36
0138 .dbline 219
0138 ; #pragma data:data
0138 .dbline 219
0138 12C0 rjmp L35
013A L36:
013A .dbline 220
013A ; /* 音阶表 */
013A 85E5 ldi R24,85
013C 8BBB out 0x1b,R24
013E .dbline 221
013E ; const unsigned int TONETABLE[15]={DO,RE,MI,FA,SO,LA,TI,DO_H,
013E 0AEF ldi R16,250
0140 10E0 ldi R17,0
0142 76DF rcall _delay_ms
0144 .dbline 222
0144 ; RE_H,MI_H,FA_H,SO_H,LA_H,TI_H,DO_HH};
0144 8AEA ldi R24,170
0146 8BBB out 0x1b,R24
0148 .dbline 223
0148 ; /* 音阶重装常数 */
0148 0AEF ldi R16,250
014A 10E0 ldi R17,0
014C 71DF rcall _delay_ms
014E .dbline 224
014E ; unsigned int toneconst;
014E 86B3 in R24,0x16
0150 8F70 andi R24,15
0152 80930C00 sts _remote_in,R24
0156 .dbline 225
0156 ;
0156 8823 tst R24
0158 09F0 breq L38
015A .dbline 226
015A ; #pragma interrupt_handler timer1_ovf_isr:iv_TIMER1_OVF
015A .dbline 226
015A 01C0 rjmp L35
015C L38:
015C .dbline 227
015C L34:
015C .dbline 215
015C E7CF rjmp L33
015E L35:
015E .dbline 228
015E L31:
015E .dbline -2
015E .dbline 229
015E ; void timer1_ovf_isr(void)
015E ; {
015E ; TCNT1=toneconst;
015E L17:
015E .dbline 0 ; func end
015E 0895 ret
0160 .dbend
0160 .dbfunc e mic_startup _mic_startup fV
.even
0160 _mic_startup::
0160 .dbline -1
0160 .dbline 232
0160 ; PORTC^=1;
0160 ; }
0160 ;
0160 07C0 rjmp L42
0162 L41:
0162 .dbline 235
0162 ; void music_car(void)
0162 ; {
0162 ; unsigned char temp,temp1;
0162 .dbline 236
0162 ; unsigned int sound_add=0;
0162 83B3 in R24,0x13
0164 8870 andi R24,8
0166 80930B00 sts _mic_in,R24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -