📄 音乐跑马灯.lst
字号:
175 1 }
176
177 //Mode 6
178 void Mode_6(void)
179 {
C51 COMPILER V8.02 __乐跑马灯 12/14/2008 18:54:51 PAGE 4
180 1 if(LEDDirection)
181 1 LEDShow(~(0x000F<<LEDIndex));
182 1 else
183 1 LEDShow(~(0xF000>>LEDIndex));
184 1 if(LEDIndex==15)
185 1 LEDDirection = !LEDDirection;
186 1 LEDIndex = (LEDIndex+1)%16;
187 1 }
188
189 //Mode 7
190 void Mode_7(void)
191 {
192 1 if(LEDDirection)
193 1 LEDShow(0x003F<<LEDIndex);
194 1 else
195 1 LEDShow(0xFC00>>LEDIndex);
196 1 if(LEDIndex==9)
197 1 LEDDirection = !LEDDirection;
198 1 LEDIndex = (LEDIndex+1)%10;
199 1 }
200
201 //Mode 8
202 void Mode_8(void)
203 {
204 1 LEDShow(++LEDIndex);
205 1 }
206
207 void Timer0EventRun(void)
208 {
209 1 if(RunMode==0x00)
210 1 {
211 2 Mode_0();
212 2 }
213 1 else if(RunMode ==0x01)
214 1 {
215 2 Mode_1();
216 2 }
217 1 else if(RunMode ==0x02)
218 1 {
219 2 Mode_2();
220 2 }
221 1 else if(RunMode ==0x03)
222 1 {
223 2 Mode_3();
224 2 }
225 1 else if(RunMode ==0x04)
226 1 {
227 2 Mode_4();
228 2 }
229 1 else if(RunMode ==0x05)
230 1 {
231 2 Mode_5();
232 2 }
233 1 else if(RunMode ==0x06)
234 1 {
235 2 Mode_6();
236 2 }
237 1 else if(RunMode ==0x07)
238 1 {
239 2 Mode_7();
240 2 }
241 1 else if(RunMode ==0x08)
C51 COMPILER V8.02 __乐跑马灯 12/14/2008 18:54:51 PAGE 5
242 1 {
243 2 Mode_8();
244 2 }
245 1 }
246
247 void Timer2(void) interrupt 5 using 3
248 {
249 1 TF2 = 0; //中断标志清除( Timer2 必须软件清标志!)
250 1 if(++Timer0Count>=SystemSpeed)
251 1 {
252 2 Timer0Count = 0;
253 2 Timer0EventRun();
254 2 }
255 1 }
256 unsigned char MusicIndex = 0;
257 void KeyDispose(unsigned char Key)
258 {
259 1 if(Key&0x01)
260 1 {
261 2 LEDDirection = 1;
262 2 LEDIndex = 0;
263 2 LEDFlag = 1;
264 2 RunMode = (RunMode+1)%10;
265 2 Display(RunMode);
266 2 if(RunMode==0x09)
267 2 TR2 = 0;
268 2 else
269 2 TR2 = 1;
270 2 }
271 1 if(Key&0x02)
272 1 {
273 2 if(RunMode==0x09)
274 2 {
275 3 MusicIndex =(MusicIndex+MUSICNUMBER-1)%MUSICNUMBER;
276 3 }
277 2 else
278 2 {
279 3 if(SystemSpeedIndex>0)
280 3 {
281 4 --SystemSpeedIndex;
282 4 SetSpeed(SystemSpeedIndex);
283 4 }
284 3 else
285 3 {
286 4 LEDFlash(6);
287 4 }
288 3 }
289 2 }
290 1 if(Key&0x04)
291 1 {
292 2 if(RunMode==0x09)
293 2 {
294 3 MusicIndex =(MusicIndex+1)%MUSICNUMBER;
295 3 }
296 2 else
297 2 {
298 3 if(SystemSpeedIndex<28)
299 3 {
300 4 ++SystemSpeedIndex;
301 4 SetSpeed(SystemSpeedIndex);
302 4 }
303 3 else
C51 COMPILER V8.02 __乐跑马灯 12/14/2008 18:54:51 PAGE 6
304 3 {
305 4 LEDFlash(6);
306 4 }
307 3 }
308 2 }
309 1 }
310 //*****************************Music******************************************************
311
312 //生日快乐
313 unsigned char code Music_0[]={ 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
314 0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
315 0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
316 0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
317 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
318 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
319 0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
320 0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
321 0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
322 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
323 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
324 0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
325 0x16,0x02, 0x15,0x01, 0x0F,0x03, 0x0F,0x03, 0x19,0x02,
326 0x17,0x02, 0x15,0x02, 0x11,0x02, 0x10,0x02, 0x18,0x03,
327 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x02, 0x15,0x01,
328 0x00,0x00 };
329
330
331
332 //圣诞歌
333 unsigned char code Music_1[]={ 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x0F,0x16,
334 0x0F,0x04, 0x10,0x04, 0x0F,0x03, 0x17,0x03, 0x16,0x03,
335 0x15,0x03, 0x10,0x16, 0x10,0x04, 0x15,0x04, 0x10,0x03,
336 0x18,0x03, 0x17,0x03, 0x16,0x03, 0x11,0x66, 0x0F,0x03,
337 0x19,0x03, 0x19,0x03, 0x18,0x03, 0x16,0x03, 0x17,0x66,
338 0x15,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03,
339 0x0F,0x16, 0x0F,0x04, 0x10,0x04, 0x0F,0x03, 0x17,0x03,
340 0x16,0x03, 0x15,0x03, 0x10,0x16, 0x10,0x04, 0x15,0x04,
341 0x10,0x03, 0x18,0x03, 0x17,0x03, 0x16,0x03, 0x19,0x03,
342 0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x19,0x03,
343 0x18,0x03, 0x16,0x03, 0x15,0x01, 0x17,0x03, 0x17,0x03,
344 0x17,0x02, 0x17,0x03, 0x17,0x03, 0x17,0x02, 0x17,0x03,
345 0x19,0x03, 0x15,0x03, 0x16,0x03, 0x17,0x02, 0x18,0x03,
346 0x18,0x03, 0x18,0x02, 0x18,0x03, 0x17,0x03, 0x17,0x02,
347 0x17,0x03, 0x16,0x03, 0x16,0x03, 0x15,0x03, 0x16,0x02,
348 0x19,0x02, 0x17,0x03, 0x17,0x03, 0x17,0x02, 0x17,0x03,
349 0x17,0x03, 0x17,0x02, 0x17,0x03, 0x19,0x03, 0x15,0x03,
350 0x16,0x03, 0x17,0x02, 0x18,0x03, 0x18,0x03, 0x18,0x02,
351 0x18,0x03, 0x17,0x03, 0x17,0x02, 0x19,0x03, 0x19,0x03,
352 0x18,0x03, 0x16,0x03, 0x15,0x01, 0x00,0x00 };
353 //元旦快乐
354 unsigned char code Music_2[]={ 0x0F,0x02, 0x15,0x02, 0x15,0x03, 0x16,0x03, 0x15,0x03,
355 0x11,0x03, 0x10,0x02, 0x10,0x02, 0x10,0x02, 0x16,0x02,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -