微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 音乐播放器怎么做啊。。89C51的!

音乐播放器怎么做啊。。89C51的!

时间:10-02 整理:3721RD 点击:
··不会啊!有没有做过的啊··

我做过。网上有资料的

#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uchar i;
uint t;
/*
uchar a[]={252,252,253,253,253,253,254};
uchar b[]={68,173,10,52,131,200,6};
*/
uchar a[]={252,252,252,252,253,253};
uchar b[]={68,68,173,68,52,10};
//uchar n[]={1,1,2,2,2,4};
uchar n[6];
uchar m[]={1,1,2,2,2,4};
//uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};
sbit  BEEP=P3^6;
void main()
{
        TMOD=0x21;                         //??CT0?¨ê±1¤×÷·?ê?1,??CT1?¨ê±1¤×÷·?ê?2
        EA=1;
        ET0=1;
        ET1=1;                                //IE=0x82 //CPU?a?D??,CT0,ct1?a?D??
        TR1=1;
        TR0=1;
       
        for(i=0;i<=5;i++)
        {
                n[i]=m[i];
        }
       
        i=0;
        t=0;
        TH0=a[i];
        TL0=b[i];
        TH1=0x06;
        TL1=0x06;
        while(1)
        {
        }
}
void t0(void) interrupt 1 using 0
{
                BEEP=~BEEP;
                TH0=a[i];//bu neng qu diao.
                TL0=b[i];//
}
void t1(void) interrupt 3 using 0
{
        t++;
        if(t==1000)
        {
                t=0;
                n[i]--;
                if(n[i]==0)
                {
                        TR0=0;
                        i++;
                        if(i==6)
                        {
                               
                                for(i=0;i<=5;i++)
                                {
                                        n[i]=m[i];
                                }
                               
                                i=0;
                        }
                        TR0=1;
                }
                        TH1=0x06;
                        TL1=0x06;
        }
}
听听我写的

http://bbs.elecfans.com/jishu_549510_1_1.html
这个是我做的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top