娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于51單片機8音鍵電子琴DIY制作

發布者:頤真閣最新更新時間:2019-10-25 來源: 51hei關鍵字:51單片機  8音鍵  電子琴 手機看文章 掃描二維碼
隨時隨地手機看文章


單片機程序如下:

/**************************************************************

程序名稱:模擬電子

**************************************************************/ 

#include                                     //定義頭文件

#define uchar unsigned char                        //宏定義

#define led P0                                        //定義LED等位P0口

#define sw_port P1                                //中間變量。。。使按鍵和led對應

sbit buzzer=P2^7;                                //揚聲器管腳

sbit key1=P3^2;                                        //播放音樂與彈奏歌曲轉換

sbit key3=P3^4;                                        //掉電存儲按鍵

sbit key4=P3^5;                 //播放掉電存儲的歌曲                                         

sbit keybofang=P3^3;                        //播放剛才彈奏的歌曲

sbit key7=P3^0;                                        //音調鍵。。。 和  歌曲鍵

sbit key8=P3^1;                                        //音調鍵。。。 和  歌曲鍵

sbit key6=P1^7;

sbit key5=P1^6;                                   

sbit sda=P1^1;                                              //24c02數據線  

sbit scl=P1^0;                                        //24c02時鐘線

uchar keyd,i,keys,b;                                  //定義變量

uchar tone_H;                                        //定義變量

uchar tone_L;                                        //定義變量

void beat_125(unsigned char);                        //聲明函數

uchar code beat1[]={16,8,8,8,8,4,4,16,8,4,4,8,4,4,4,        //歌曲1節拍 

4,4,4,16,16,8,8,4,4,12,8,16,16,8,4,4,4,4,16};

uchar code song1[]={6,5,3,5,7,6,5,6,3,5,6,5,3,                //歌曲1簡譜

2,1,6,5,3,2,2,3,5,5,6,3,2,1,5,3,2,1,6,1,1,15};


uchar code beat2[]={7,7,7, 7,8,9, 1,2,3, 6,2,4, 4,4,4, 12,         //歌曲二節拍

8,2,2, 4,4,4, 8,2,2, 4,4,4, 2,2,4,4, 12,};

uchar code song2[]={1,2,8, 8,5,1, 3,3,3, 5,4,3,                //歌曲二簡譜

5,4,3, 2, 2,1,0, 1,2,3, 4,3,2, 3,4,5, 5,4,3, 2,1,15};


uchar code beat4[]={4,4,4, 6,2,4, 4,4,4, 6,2,4, 4,4,4, 12, 

8,2,2, 4,4,4, 8,2,2, 4,4,4, 2,2,4,4, 12,};

uchar code song4[]={1,1,1, 3,2,1, 3,3,3, 5,4,3,

5,4,3, 2, 2,1,0, 1,2,3, 4,3,2, 3,4,5, 5,4,3, 2,1, 15};


uchar code tone[]={115,102,91,86,77,68,61,57};                //歌曲音調

unsigned int code tone1[]={1012,956,852,759,716,638,568,506,478,426,379,531,10}; //歌曲音調

uchar song3[43];                                              //定義空數組

void play(uchar*,uchar*);                                  //演奏歌曲函數

void delay8um(uchar);                                          //第一8um延時函數

void sound(uchar);                                        //彈奏發聲函數

/*******************************************

函數功能:節拍的延時的基本單位,用于24c08簡單延時

******************************************/                                         

void delay()                                                //簡單延時函數

{;;}

/*******************************************

函數功能:節拍的延時的基本單位,延時1ms

******************************************/

void delay1ms(uchar x)                                          //1um延時函數

{

        uchar j;

        while(x--)

                for(j=120;j>0;j--);

}

/**************************************************************

函數功能:24c02驅動程序      用IIC總線進行傳輸

**************************************************************/ 

void init_c02()                                                //24c02初始化

{

        sda=1;

        delay();

        scl=1;

        delay();

}

void start_c02()                                             //24c02的啟動信號

{

        scl=1;

        delay();          

        sda=1;         

        delay();

        sda=0;

        delay();


}

void stop_c02()                                                   //24c02停止信號

{

        sda=0;

        delay();

        scl=1;

        delay();

        sda=1;

        delay();

}

void response_c02()                                        //24c02的應答信號

{

        uchar i;

        scl=1;

        delay();

        while((sda==1)&&(i<250))i++;

        scl=0;

        delay();

}

void write_c02byte(uchar date)                                    //對24c02寫一個字節

{

        uchar i,temp;

        temp=date;

        for(i=0;i<8;i++)

        {        

                temp=temp<<1;

                scl=0;

                delay();

                sda=CY;

                delay();

                scl=1;

                delay();

        }

        scl=0;

        delay();

        sda=1;

        delay();

}

uchar read_c02byte()                                        //對24c02讀一個字節

{

         uchar i,k;

         scl=0;

         delay();

         sda=1;

         delay();

         for(i=0;i<8;i++)

         {

                 scl=1;

                delay();

                k=(k<<1)|sda;

                scl=0;

                delay();

        }

        return k;

}

void write_addc02(uchar address,uchar date)                //對24c02寫一個數據        

{

        start_c02();

         write_c02byte(0xa0);

        response_c02();

        write_c02byte(address);

        response_c02();

        write_c02byte(date);

        response_c02();

        stop_c02();

}

uchar read_addc02(uchar address)                        //從24c02讀一個數據

{

        uchar date;

        start_c02();

        write_c02byte(0xa0);

[1] [2] [3] [4] [5]
關鍵字:51單片機  8音鍵  電子琴 引用地址:基于51單片機8音鍵電子琴DIY制作

上一篇:單片機RFID高頻RC632讀卡程序,14443A,B.15693,都有
下一篇:ESP8266模塊與單片機的通信程序(硬件與軟件詳解)

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 湟源县| 佛教| 亳州市| 区。| 曲沃县| 彭阳县| 乌兰县| 南涧| 锦屏县| 和田县| 巴彦淖尔市| 砚山县| 通化县| 高雄县| 富顺县| 虎林市| 醴陵市| 肥东县| 江陵县| 桑日县| 建瓯市| 奈曼旗| 东丰县| 威海市| 资溪县| 望城县| 西乌珠穆沁旗| 和平县| 阳春市| 高邮市| 开化县| 西青区| 新宾| 临夏市| 石楼县| 鄯善县| 镇原县| 林芝县| 衡阳市| 星子县| 徐州市|