亚洲免费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單片機系列
        国产美腿丝袜一区二区| 老熟女多次高潮露脸视频| 香蕉视频免费在线| 少妇爽到爆视频网站免费| 丝袜美腿在线播放一区二区| 在线观看免费日韩精品| 亚洲精品成人网站在线播放 | 亚洲乱码中文字幕综合| 国产主播在线 | 中文| 日本高清视频在线一区二区三区| 成人爽a毛片在线播放| 人妻中文字幕在线网站| 亚洲熟女乱色综合亚洲av| 456亚洲老头视频| 日本午夜理伦三级好看| 久久精品一区二区熟女| 午夜成人理论福利片| 内谢少妇xxxxx8老少交| 久久精品国产亚洲一区二区| av手机天堂在线观看| 国产一级二级三级在线观看av| 女人被爽到高潮视频免费国产| 熟妇人妻av无码一区二区三区| 亚洲欧洲日产国码无码| 色综合中文字幕综合网| 99久久精品费精品国产一区二| 偷偷色噜狠狠狠狠的777米奇| 国内少妇偷人精品视频免费| 国内精品人人妻少妇视频| 久久精品女同亚洲女同| 久久久中日ab精品综合| 丰满人妻被中出中文字幕| 亚洲精品国产不卡在线观看| 激情五月开心五月av| 狠狠色狠狠色综合网| 四虎影视在线影院在线观看 | 精品国产又大又黄又粗av| 加勒比婷婷色综合久久| 娜娜麻豆国产电影| 亚洲日韩乱码中文无码蜜桃臀| 亚洲中文字幕无线乱码va|