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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1986|回復: 2
打印 上一主題 下一主題
收起左側

51單片機proteus仿真電子琴生日快樂

[復制鏈接]
跳轉到指定樓層
樓主
ID:550077 發表于 2019-6-27 20:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
原C程序代碼如下:僅供學習之用!!!
#include<reg52.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int

sbit SPK = P2^7;

uchar tone_h;                //高音
uchar tone_l;                //低音
uint note = 1;                //音符
uchar beat;                        //節拍

uchar code chuzhi[3][16]={  //音調對應的計數初值
         0xff,0xff,//占0位
         0xf8,0x8c,//低1  
         0xf9,0x5b,//  2                
         0xfa,0x15,//  3                
         0xfa,0x67,//  4                
         0xfb,0x04,//  5                
         0xfb,0x90,//  6                
         0xfc,0x0c,//低7
       
         0xff,0xff,//占0位
         0xfc,0x44,//中1   
         0xfc,0xac,//  2
         0xfd,0x09,//  3
         0xfd,0x34,//  4
         0xfd,0x82,//  5
         0xfd,0xc8,//  6
         0xfe,0x06,//中7   
       
         0xff,0xff,//占0位
         0xfe,0x22,//高1                           
         0xfe,0x56,//        2               
         0xfe,0x85,//        3               
         0xfe,0x9a,//        4               
         0xfe,0xc1,//        5               
         0xfe,0xe4,//        6               
         0xff,0x03 //高7                            
        };       

//****** 測試曲譜 ****** 個位:音調 ,十位:低中高音 對應 0 1 2,千百位:節拍 1~16
uint code test2[] = {        120, //曲速 暫時未用到
        401,402,403,404,405,406,407,
        611,612,613,614,615,616,617,
        821,822,823,824,825,826,827,
        0xffff        //0xffff表示結尾
};

//****** 生日快樂 ******
uint code test[] = { 120,
        205,205,406,405,411,807,
        205,205,406,405,412,811,
        205,205,415,413,411,407,406,
        314,114,413,411,413,812,
        305,105,406,405,411,807,
        305,105,406,405,412,811,
        305,105,415,413,411,
        407,406,314,114,413,411,412,811,410,
        0xffff       
};
       
void delayms(uint ms)          /*ms 等于1時,延時1ms 等于2時,延時2ms,以此類推*/
{       
        uchar a,b,c;                                   //+3
        while(ms--)
    {
         for(c=1;c>0;c--)                        //         1+2 = 3
        for(b=142;b>0;b--)                  //        1*( 1+142*2)) = 285       
            for(a=2;a>0;a--);        //         142*(1+2*2) = 710
        }
}

void delay125ms(uint pai)  //延時 ?*125ms 即?個節拍
{
    uchar a,b,c;
        while(pai--)
        {
        for(c=239;c>0;c--)
                for(b=104;b>0;b--)
                        for(a=1;a>0;a--);
        }
}
void timer0() interrupt 1
{
        TH0 = tone_h;
        TL0 = tone_l;
        SPK = ~SPK;
}


void timer_init()
{
        EA = 1;
        ET0 = 1;
        PT0 = 1;
        TMOD = 0x11;
        TH0 = 255;
        TL0 = 255;
}
void main()
{       
        timer_init();
        note = 1;
       
        while(1)
        {       
                if(test[note] == 0xffff)
                {       
                        note = 1;
                }               
                if(test[note]%10 != 0)        //音調不為0 【音調為0時表示不發聲,但有節拍】
                {
                        tone_h = TH0 = chuzhi[test[note]%100/10][(test[note]%10)*2 ];                //音調高位
                        tone_l = TL0 = chuzhi[test[note]%100/10][(test[note]%10)*2 + 1];        //音調低位
                        TR0 = 1;
                }
                delay125ms(test[note]/100);        //節拍
                TR0 = 0;
                delayms(30);
                note++;                        //下一個音符
               
        }
       
}

生日快樂歌proteus仿真.rar

40.6 KB, 下載次數: 37, 下載積分: 黑幣 -5

51單片機仿真實例

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:582362 發表于 2019-7-11 15:53 | 只看該作者
謝謝樓主
回復

使用道具 舉報

板凳
ID:399007 發表于 2019-8-6 22:06 | 只看該作者
你的樂譜初值是什么軟件得到的?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久久久午夜片 | 国产 日韩 欧美 在线 | 精品视频免费 | 国产99久久久久 | www.se91| 少妇一级淫片免费放播放 | 奇米四色在线观看 | 亚洲综合在线视频 | 久久久久久影院 | 影音先锋中文字幕在线观看 | 日韩在线精品强乱中文字幕 | 天天插天天射天天干 | 青青草这里只有精品 | 亚洲五码在线 | 日韩一区二区三区在线视频 | 欧美色a v| 日韩精品久久久久 | 久久精品国产99国产 | 久久久久亚洲精品 | 一区二区三区在线播放 | 国产激情精品 | 琪琪午夜伦伦电影福利片 | 人人叉 | 一区二区三区在线 | 在线一区二区三区 | 免费亚洲成人 | av网站在线播放 | 91精品国产91久久久久久最新 | 亚洲高清成人 | 久久免费小视频 | 国产精品一区二区福利视频 | 天天操天天天干 | 国产精品不卡一区 | 亚洲欧美日韩精品久久亚洲区 | 久久aⅴ乱码一区二区三区 91综合网 | 粉嫩高清一区二区三区 | 91中文| 国产精品色婷婷久久58 | 国产精品亚洲综合 | 国产成人一区 | 午夜影院在线观看免费 |