久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1815|回復: 0
收起左側

可編程樂曲演奏器

[復制鏈接]
ID:351679 發表于 2018-6-14 10:51 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit tone=P2^6;

unsigned char timer0h,timer0l,time;
uchar code key[]={
    0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf   
};

uchar code tab[]={
    0xfc,0x43,
    0xfc,0xab,
    0xfd,0x08,
    0xfd,0x32,
    0xfd,0x81,
    0xfd,0xc7,
    0xfe,0x05,
};               

code unsigned char yf[]={
    3,2,2,6,2,2,7,2,2,5,2,2,3,2,2,6,2,2,7,2,2,5,2,2,7,2,2,1,3,2,2,3,4,
    7,2,2,1,3,2,2,3,1,2,3,1,3,3,1,2,3,1,1,3,1,7,2,2,5,2,2,
    2,3,1,3,3,1,2,3,1,1,3,1,7,2,2,5,2,2,6,2,2,2,2,2,5,2,4,6,2,2,2,2,2,5,2,4,
    0,0,0};      

code unsigned char FREQH[]={
    0xF2,0xF3,0xF5,0xF6,0xF7,0xF8,
    0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,
    0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
    0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
};   

code unsigned char FREQL[]={
    0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
    0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,
    0xEE,0x44,0x6B,0xB4,0xF4,0x2D,
    0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};   

uchar j;     
void delay0()
{
    uchar a,b,c;
    for(a=5;a>0;a--)
        for(b=100;b>0;b--)
        for(c=100;c>0;c--);
}
void delay(unsigned char t)
{
    unsigned char t1;
    unsigned long t2;
    for(t1=0;t1<t;t1++)
    {
        for(t2=0;t2<2000;t2++);
    }
    TR0=0;
}

void song()
{
    TH0=timer0h;
    TL0=timer0l;
    TR0=1;
    delay(time);
}
void main()
{
    unsigned char k,i;
    P1=0xff;
    P3=0x00;
    TR0=0;
    if(P1==0x7f)
    {
        TR0=1;
        TMOD=0x01;
        EA=1;
        ET0=1;
        while(1)
        {
            i=0;
            while(i<55){
                k=yf[i]+7*yf[i+1]-1;
                                timer0h=FREQH[k];
                timer0l=FREQL[k];
                time=yf[i+2];
                i=i+3;
                song();
            }
        }
    }
    else{
        TMOD=0x10;
        EA=1;
        ET1=1;
        P1=0xff;
        while(P1!=0xff)
        {
            delay0();
            for(j=0;j<7;j++)
                if(P1==key[j])
            {
                break;
            }
            TH1=tab[2*j];
            TL1=tab[2*j+1];
            TR1=1;
            while(P1!=0xff);
            TR1=0;
        }
    }
}

void t0int()interrupt 1   
{
    TR0=0;
    tone=!tone;
    TH0=timer0h;
    TL0=timer0l;
    TR0=1;
}

void t1int()interrupt 3   
{
    TH1=tab[2*j];
    TL1=tab[2*j+1];
    tone=!tone;
}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91亚洲免费 | 亚洲精品乱码久久久久久9色 | 午夜看片网站 | 亚洲一区中文字幕在线观看 | 99re6在线视频精品免费 | 日韩欧美在线观看一区 | 欧美久久久久久 | 亚洲欧洲激情 | 久草中文在线 | 欧美三区视频 | 欧美性另类 | 亚洲欧美激情视频 | 日本精品一区二区三区在线观看视频 | 国产美女特级嫩嫩嫩bbb片 | 欧美性精品 | 欧美福利网站 | 亚洲精品久久久久久久久久久久久 | 香蕉91| 91看片网址| 女朋友的闺蜜3韩国三级 | 婷婷二区 | 中文字幕一区二区三区四区五区 | 欧美亚洲网站 | 在线观看第一页 | 免费中文字幕日韩欧美 | 日韩欧美在线播放 | 欧美一级免费看 | 国产一级片在线观看视频 | 久久福利电影 | 国产毛片在线看 | 国产日韩精品在线 | 欧美一卡二卡在线观看 | 99精品99久久久久久宅男 | 国产影音先锋 | 国产免费色 | 成人免费网站视频 | 久久网一区二区 | 九九在线| 久久一二| 国产精品99久久久久久动医院 | 亚洲一区二区在线电影 |