東南西北風

生活就像一杯加了糖的苦咖啡。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

音乐播放系统

Posted on 2009-01-05 10:44  东南西北风  阅读(207)  评论(0)    收藏  举报

 

 1#include<reg51.h>
 2sbit P1_7=P3^0;
 3unsigned int  code pinlu[] = {220,247,262,294,330,349,392,440,494,522};
 4unsigned char code music[]=0x73,0x61,0x42,0x62,0x92,0x71,0x61,0x74,-1};
 5unsigned char th_0,tl_0;
 6void delay(unsigned char time)
 7{
 8    unsigned int j;
 9    while(time--)
10        for(j=0;j<10000;j++);
11}

12void main()
13{
14        unsigned char i;
15        TMOD=1;
16        ET0=1;
17        TR0=1;
18        EA=1;
19        while(1)
20        {
21            while(music[i]!=-1)
22            {
23                th_0=(65536-250000/pinlu[(music[i]/16)])/256;
24                tl_0=(65536-250000/pinlu[(music[i]/16)])%256;
25                delay(music[i]%16);
26                i++;
27            }

28            i=0;
29        }

30}

31void sound() interrupt 1
32{
33    TH0=th_0;
34    TL0=tl_0;
35    P1_7=~P1_7;
36}