亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于單片機音樂播放器設(shè)計

        2018-01-02 11:20:52王怡
        科學(xué)與財富 2018年32期
        關(guān)鍵詞:蜂鳴器單片機軟件

        王怡

        摘 要:在工業(yè)控制現(xiàn)場,監(jiān)測結(jié)果通常要以聲音的形式進行播報,以提醒操作人員進行處理。蜂鳴器是一種簡單可靠,成本低廉的聲音播報設(shè)備。本文介紹了一種以51單片機作為控制核心,以蜂鳴器為發(fā)聲器件的音樂播放器的設(shè)計。首先介紹了該裝置的硬件構(gòu)成及設(shè)計原理,其次介紹了軟件設(shè)計的基本原理。

        關(guān)鍵詞:蜂鳴器;音樂播放;單片機;軟件;硬件設(shè)計原理

        Abstract: In the field of industrial control, monitoring results are usually broadcast in the form of sound to remind operators to process. Buzzer is a simple, reliable, low-cost audio broadcasting device. This paper introduces the design of a music player based on the 51 MCU as the control core and the buzzer as the voice producing device. First, the hardware structure and design principle of the device are introduced. Secondly, the basic principle of software design is introduced.

        Keywords: Buzzer; music player; MCU; software; hardware; design principle

        引言

        蜂鳴器是一種簡單可靠,成本低廉的聲音播報設(shè)備。在一些要求比較簡單的場合,只要蜂鳴器具備發(fā)聲和不發(fā)生兩種特性,就能解決問題。而在一些要求比較高的場合,則需要蜂鳴器發(fā)出不同曲調(diào)不同長度的聲音以對不同情況進行播報。本文所介紹的,就是一款能利用蜂鳴器播放音樂的裝置。

        1 總體架構(gòu)

        本裝置的核心是一顆51單片機,聲音播報設(shè)備是一顆無源蜂鳴器。蜂鳴器能在單片機的控制下播放音樂。同時,電路板上還有一個行列式鍵盤,可以通過鍵盤按鍵的輸入來控制音樂播放的速度以及選擇不同的音樂進行播放。

        2 硬件電路設(shè)計原理

        (1)蜂鳴器驅(qū)動電路設(shè)計

        蜂鳴器輸入端所需要的驅(qū)動電流視具體型號不同,一般從十幾毫安到幾十毫安不等。51單片機并行I/O口的驅(qū)動能力則從幾毫安到十幾毫安不等。因此,通常需要在單片機的并行I/O口和蜂鳴器的輸入端之間加上可以放大驅(qū)動電流的電路。三級管或場效應(yīng)管是一個不錯的選擇,其驅(qū)動原理簡單,價格也低廉。具體的電路設(shè)計如圖1所示:

        (2)行列式鍵盤掃描電路設(shè)計

        本裝置除了能播放音樂片段之外,還有如選歌、快進、慢進、暫停、播放等控制功能。這些操作需要通過鍵盤操作進行輸入。本設(shè)計選用了16鍵的4×4行列式鍵盤。該鍵盤的具體電路設(shè)計如圖2所示:

        3 軟件設(shè)計原理

        樂曲的播放需要實現(xiàn)曲調(diào)和節(jié)拍的控制。不同曲調(diào)的播放通過向蜂鳴器發(fā)出不同頻率的方波就可以實現(xiàn)。比如:要讓蜂鳴器發(fā)出低音的1,只要向蜂鳴器發(fā)送一個262Hz的方波即可。而要發(fā)出中音的3,則要發(fā)送一個659Hz的方波。節(jié)拍就是一個曲調(diào)持續(xù)的時間。因此,樂曲的播放總結(jié)起來其實就是兩個要素:(1)控制單片機I/O口發(fā)出某固定頻率的方波;(2)控制該方波的持續(xù)時間。何時應(yīng)發(fā)出何種頻率的方波,該方波持續(xù)多長時間,由具體樂譜中的曲調(diào)和節(jié)拍決定。軟件設(shè)計時通常直接存儲在不同的數(shù)組中。

        本裝置利用單片機的兩個定時器來分別實現(xiàn)對曲調(diào)和節(jié)拍的控制。這種方法代碼短,對CPU的時間占用率低,是一種十分高效的實現(xiàn)方法?;诖朔椒?,用蜂鳴器播放《上學(xué)歌》的核心代碼如下所示:

        #include

        sbit BELL=P1^2;

        int i_m=0,i_s=0,j_s=0;

        unsigned char t1_cz_1=0XFC,t1_cz_0=0X44;

        unsigned char music_table[]={0xfc,0x44,0xfc,0xac,0xfd,0x09, 0xfc,0x44,0xfd,0x82,0xfd,0xc8, 0xfd,0xc8,0xfe,0x22,0xfd,0xc8,

        0xfd,0x82,0xfd,0xc8,0xfd,0xc8, 0xfe,0x22,0xfd,0x82,0xfd,0xc8,

        0xfd,0x09,0xfd,0xc8,0xfd,0x82, 0xfd,0x09,0xfd,0x82,0xfd,0x09,

        0xfc,0x44,0xfc,0xac,0xfd,0x09, 0xfc,0x44};

        unsigned char step_table[]={5,5,5,5,10,5,5,5,5,10, 5,5,10,5,5,10,5,5,5,5,5,5,5,5,20};

        main()

        {

        TH0=0X70; //T0用于產(chǎn)生基本節(jié)拍,一次中斷0.04s

        TL0=0X00;

        TH1=0XFC; //T1用于產(chǎn)生發(fā)出音符所需的周期性

        TL1=0X44; //脈沖,初始化為中音的"1"(64580d=fc44h)

        TMOD=0X11; //T0、T1均為方式1定時,不用門控

        IE=0X8a; //中斷使能

        TR0=1; //T0、T1開始計數(shù)

        TR1=1;

        while(1)

        }

        void timer0_int() interrupt 1

        {

        int temp;

        TL0=0X70; //重設(shè)初值

        TH0=0X00;

        j_s++;

        temp=step_table[i_s]-j_s;

        if(temp==0)

        {

        i_s++;

        i_m=i_m+2;

        j_s=0;

        if(i_m==50)

        i_m=0;

        if(i_s==25)

        i_s=0;

        }

        t1_cz_1=music_table[i_m];

        t1_cz_0=music_table[i_m+1];

        }

        void timer1_int() interrupt 3

        {

        TH1=t1_cz_1; //重設(shè)初值

        TL1=t1_cz_0;

        BELL=~BELL;

        }

        在以上代碼中,定時計數(shù)器0用于產(chǎn)生節(jié)拍,一次中斷時間設(shè)計為40ms。定時計數(shù)器1用于產(chǎn)生曲調(diào)。樂曲中所有節(jié)拍都是基于定時計數(shù)器0這個40ms的基準時間產(chǎn)生的。而數(shù)組step_table中,則存儲了每一個節(jié)拍對應(yīng)的該基準時間的個數(shù)。當(dāng)一個曲調(diào)對應(yīng)的節(jié)拍時間完成后,在定時計數(shù)器0中,會向存儲定時計數(shù)器1初值的全局變量t1_cz_1和t1_cz_2裝入新的初值。而在定時計數(shù)器1的下一次中斷中,該初值被重裝,新的曲調(diào)便產(chǎn)生了。

        4 結(jié)束語

        本文介紹了一種基于51單片機的音樂播放裝置裝置的設(shè)計。包括該裝置的整體架構(gòu)、以及軟硬件設(shè)計原理的及介紹。該設(shè)計成本低廉,功能也很豐富。

        參考文獻

        [1]Maxim Technology,Datasheet of MAX232,19-0175;Rev 5;10/03.

        [2]張毅剛,彭喜元,彭宇.單片機原理及應(yīng)用[M].高等教育出版社,2009.

        猜你喜歡
        蜂鳴器單片機軟件
        電動自行車產(chǎn)品車速提示音檢測現(xiàn)狀和整改技術(shù)研究(2)
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        掌控板制作簡易鋼琴
        電腦報(2020年12期)2020-06-30 19:56:42
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        單片機驅(qū)動蜂鳴器的程序設(shè)計
        軟件對對碰
        豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
        Microchip推出兩個全新PIC單片機系列
        国产精品一区二区暴白浆| 国产情侣自拍一区视频| 色爱av综合网站| 日日躁夜夜躁狠狠躁超碰97| 亚洲V无码一区二区三区四区观看 久久精品国产亚洲综合色 | 日本女优五十路中文字幕| 久久久精品国产免大香伊| 草草浮力地址线路①屁屁影院| 狠狠色狠狠色综合日日92| 亚洲影院在线观看av| 中文字幕一区二区中文| 精品www日韩熟女人妻| 国产欧美乱夫不卡无乱码| 久久亚洲精品一区二区| 国产视频一区二区在线免费观看| 国产韩国一区二区三区| 99久久精品无码一区二区毛片| 纯爱无遮挡h肉动漫在线播放| 成人片99久久精品国产桃花岛| 美女福利视频网址导航| 狂猛欧美激情性xxxx大豆行情| 亚洲av综合日韩| 欧洲日韩视频二区在线| 五月婷婷丁香视频在线观看| 国产精品女同久久久久电影院| 久久久久久久久久久国产| 456亚洲人成在线播放网站| 少妇熟女天堂网av天堂| 在教室伦流澡到高潮hgl动漫| 天天操夜夜操| 久久久精品人妻一区二区三区日本 | 日韩视频午夜在线观看| 亚洲熟妇无码久久精品| 精品无码国产自产野外拍在线| 色噜噜狠狠色综合欧洲| 无人视频在线播放免费| 精品久久久久久无码中文字幕| 狠狠色狠狠色综合| av天堂在线免费播放| 女人张开腿让男人桶爽| 内射交换多p国产|