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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機實現電子琴

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 slslhrtd 于 2020-6-13 11:22 編輯

1.使用鍵盤彈奏音樂,7個按鍵控制7中音符(高音)
2.單片機外接7只LED,按鍵放音的同時,按下一個音律按鍵,點亮1只LED,同時閃爍十次后熄滅,按下另一個音律按鍵,點亮2只LED,同時閃爍十次后熄滅,……,按下最后一個按鍵,點亮7只LED,同時閃爍十次后熄滅
3.單片機每次按動音律按鍵,除了點亮對應的燈亮狀態之外,結合音律通過蜂鳴器放音,將音律發聲出來
4.單片機外接第八只按鍵,一旦按下,連續播放一小段音樂。



#include <reg51.h>
        sbit K1=P3^0;
        sbit K2=P3^1;
        sbit K3=P3^2;
        sbit K4=P3^3;
        sbit K5=P3^4;
        sbit K6=P3^5;
        sbit K7=P3^6;
        sbit K8=P3^7;
        sbit fengmingqi=P0^5;
        unsigned char m,n,time;
unsigned char Timer0_H,Timer0_L;
code unsigned char MUSIC[]={
         5,2,1, 3,2,1, 2,2,2, 2,2,4, 3,2,1, 1,2,1, 2,2,1, 3,2,4,
         5,2,1, 3,2,1, 2,2,2, 2,2,2, 5,1,1, 3,2,1, 4,2,1, 3,2,4,
         3,2,1, 3,2,1, 7,2,1, 3,2,1, 2,2,2, 1,2,1, 7,1,1, 1,2,1,
         2,2,1, 3,2,1, 6,2,3, 6,1,1, 1,2,1, 3,2,1, 2,2,1, 6,1,1,
         1,2,1, 7,1,1, 5,1,1, 6,1,6, 5,2,1, 3,2,1, 2,2,2, 2,2,1,
         2,2,1, 3,2,1, 1,2,1, 2,2,1, 3,2,4, 5,2,1, 3,2,1, 2,2,2,
         2,2,1, 2,2,1, 5,1,1, 3,2,1, 4,2,1, 3,2,4, 3,2,1, 3,2,1,
         7,2,3, 3,2,1, 2,2,2, 1,2,1, 7,1,1, 1,2,1, 2,2,1, 3,2,1,
         6,2,3, 6,1,1, 1,2,1, 3,2,1, 2,2,1, 6,1,1, 1,2,1, 7,1,2,
         5,1,2, 6,1,6, 0,0,0 };
code unsigned char FREQH[]={0xF2,0xF3,0xF5,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,};
   void delay(unsigned char m)
   {
                unsigned char n;
                for(m=0;m<250;m++)
                for(n=0;n<250;n++);
   }
void delaymss(unsigned char t)   
{unsigned char t1;
unsigned long t2;
for(t1 = 0; t1 < t; t1++)   
for(t2 = 0; t2 < 8000; t2++);   
TR0 = 0;      
}
void timer0init()
{  
         EA=1;
         ET0=1;         
         TMOD=0X01;
         TH0 = Timer0_H;  
     TL0 = Timer0_L;         
}       
void Song()
{
TH0=Timer0_H;
TL0=Timer0_L;
TR0=1;      
delaymss(time);                    
}
void timer0() interrupt 1 //T0中斷程序,控制發音的音調
{
TR0 = 0;   
  
TH0 = Timer0_H;  //下次的中斷時間, 這個時間, 控制音調高低
TL0 = Timer0_L;       
fengmingqi = !fengmingqi;
TR0 = 1;   
}
   
        void main()
        {
          
            unsigned char a;
                P2=0xff;
                P0=0x00;
                while(1)
                {
                        if(K1==0)
                        {
                                delay(246);
                                if(K1==0)
                                {
                                        TMOD=0x01;
                                        TR0=1;       
                                for(m=0;m<10;m++)
                                        for(n=0;n<10;n++)
                                        {        TH0=0xfe;
                                                TL0=0x21;
                                                do{}
                                                while(!TF0);
                                                fengmingqi=!fengmingqi;
                                                TF0=0;
                                         }
                                                for(a=0;a<10;a++)
                                                {  
                                                P2=0x7f;
                                                delay(0);
                                                P2=0xff;
                                                delay(0);
                                                }               
                                }
                                }       

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品二区 | 精品中文字幕一区二区 | 国产色片在线 | 精品国产一二三区 | 国产黑丝av| 亚洲国产精品va在线看黑人 | 国产精品久久久久无码av | 97久久久久久久久 | 国产精品1区2区3区 欧美 中文字幕 | 国产一二三视频在线观看 | 欧美黄色一区 | 国产精品毛片av一区 | 日日干日日色 | 欧美日韩在线一区二区三区 | 亚州影院 | 日韩一区二区在线看 | 久久久久一区二区三区四区 | 国偷自产av一区二区三区 | 亚洲午夜在线 | 国产精品一区二区三区免费观看 | 国产成人99久久亚洲综合精品 | 99这里只有精品 | 久久999| 中文字幕电影在线观看 | 国产日韩精品一区二区三区 | 男女羞羞视频在线看 | 日韩一区二区三区在线观看视频 | 午夜精品一区二区三区在线观看 | 国产精品久久久久久久久久久免费看 | 中文字幕人成乱码在线观看 | 国产欧美日韩一区二区三区在线 | 999久久 | 999久久久久久久久 国产欧美在线观看 | 亚洲成人av一区二区 | 午夜影院在线观看视频 | 亚洲视频一区在线 | 亚洲国产一区二区三区在线观看 | 亚洲成人免费视频 | www.日韩| 国产亚洲www | 免费成人高清 |