色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)蜂鳴器播放音樂涉及到的知識(shí)點(diǎn)進(jìn)行重點(diǎn)說明

精通單片機(jī)與嵌入式 ? 來源:精通單片機(jī)與嵌入式 ? 作者:濟(jì)南行遠(yuǎn)智能科技 ? 2022-11-10 09:55 ? 次閱讀

通過開發(fā)板的蜂鳴器播放歌曲在實(shí)際產(chǎn)品設(shè)計(jì)中可能用處不大,但是在一些開發(fā)板中非常常見,其實(shí)看似簡(jiǎn)單的功能涉及到的知識(shí)點(diǎn)還比較多。

本文對(duì)蜂鳴器播放音樂涉及到的知識(shí)點(diǎn)進(jìn)行重點(diǎn)說明。

一:硬件電路

1dc2185c-6084-11ed-8abf-dac502259ad0.png

如上圖所示,是非常常用的三極管驅(qū)動(dòng)蜂鳴器的電路:

當(dāng)P12輸出低電平時(shí),三極管Q1不導(dǎo)通,此時(shí)無電流流過蜂鳴器,蜂鳴器不發(fā)聲。當(dāng)P12輸出高電平時(shí),Q1導(dǎo)通,此時(shí)有電流流過蜂鳴器,蜂鳴器發(fā)聲。

R26是限流電阻,保證流過蜂鳴器的電流不會(huì)超過允許值。

關(guān)于三極管驅(qū)動(dòng)電路的原理講解及更多的優(yōu)化設(shè)計(jì),可在本公眾號(hào)內(nèi)搜索相關(guān)文章自行學(xué)習(xí)。

注意:想要進(jìn)行音樂播放需要使用無源蜂鳴器;關(guān)于無源蜂鳴器與有源蜂鳴器的區(qū)別,可在本公眾號(hào)內(nèi)搜索蜂鳴器相關(guān)的文章進(jìn)行學(xué)習(xí)。

二:有源蜂鳴器與無源蜂鳴器

注意:這里的“源”不是指電源,而是指震蕩源。也就是說,有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫;而無源內(nèi)部不帶震蕩源,所以如果用直流信號(hào)無法令其鳴叫。必須用 2K-5K 的方波去驅(qū)動(dòng)它。

有源蜂鳴器往往比無源的貴,就是因?yàn)槔锩娑鄠€(gè)震蕩電路。

無源蜂鳴器的優(yōu)點(diǎn)是:

便宜

音頻率可控,可以做出“多來米發(fā)索拉西”的效果

在一些特例中,可以和 LED 復(fù)用一個(gè)控制口

有源蜂鳴器的優(yōu)點(diǎn)是:

程序控制方便。

三:蜂鳴器發(fā)聲原理

單片機(jī)驅(qū)動(dòng)無源蜂鳴器的方式有兩種:一種是 PWM 輸出口直接驅(qū)動(dòng),另一種是利用 I/O 定時(shí)翻轉(zhuǎn)電平產(chǎn)生驅(qū)動(dòng)波形對(duì)蜂鳴器進(jìn)行驅(qū)動(dòng)。

PWM 輸出口直接驅(qū)動(dòng)是利用PWM輸出口本身可以輸出一定的方波來直接驅(qū)動(dòng)蜂鳴器。在單片機(jī)的軟件設(shè)置中有幾個(gè)系統(tǒng)寄存器是用來設(shè)置 PWM 口的輸出的,可以設(shè)置占空比、周期等等,通過設(shè)置這些寄存器產(chǎn)生符合蜂鳴器要求的頻率的波形之后,只要打開 PWM 輸出, PWM 輸出口就能輸出該頻率的方波,這個(gè)時(shí)候利用這個(gè)波形就可以驅(qū)動(dòng)蜂鳴器了。

比如頻率為 2000Hz 的蜂鳴器的驅(qū)動(dòng),可以知道周期為 500μs,這樣只需要把 PWM 的周期設(shè)置為 500μs,占空比電平設(shè)置為 250μs,就能產(chǎn)生一個(gè)頻率為 2000Hz 的方波,通過這個(gè)方波再利用三極管就可以去驅(qū)動(dòng)這個(gè)蜂鳴器了。

而利用 I/O 定時(shí)翻轉(zhuǎn)電平來產(chǎn)生驅(qū)動(dòng)波形的方式會(huì)比較麻煩一點(diǎn),必須利用定時(shí)器來做定時(shí),通過定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這個(gè)波形就可以用來驅(qū)動(dòng)蜂鳴器了。

比如為 2500Hz 的蜂鳴器的驅(qū)動(dòng),可以知道周期為 400μs,這樣只需要驅(qū)動(dòng)蜂鳴器的 I/O 口每 200μs 翻轉(zhuǎn)一次電平就可以產(chǎn)生一個(gè)頻率為 2500Hz,占空比為/2 的方波,再通過三極管放大就可以驅(qū)動(dòng)這個(gè)蜂鳴器了。

其實(shí)兩種驅(qū)動(dòng)方式本質(zhì)上都是給蜂鳴器一定頻率的信號(hào),蜂鳴器的發(fā)聲頻率等于驅(qū)動(dòng)方波的頻率。

下面貼出來蜂鳴器發(fā)聲的相關(guān)函數(shù)。

//Buzzer初始化
void buzzerInit(void)
{
    TR0 = 0;
    TF0 = 0;
    TMOD |= 0x01;                                       //  設(shè)置新模式:16位定時(shí)模式
    BUZZ = 1;
    ET0 = 1;
    EA = 1;
}


//  Buzzer發(fā)出指定頻率的聲音
//  uiFreq是發(fā)聲頻率,單位:Hz
void buzzerSound(unsigned int uiFreq)
{
    //  限定頻率范圍在20~20000Hz之間
    if (uiFreq < 20) {
        buzzerQuiet();
        return;
    }
    if (uiFreq > 20000) uiFreq = 20000;


    //  計(jì)算Timer0裝載值
    TL0_Load = LOW_BYTE(65536UL - CPUCLK / (uiFreq * 2));
    TH0_Load = HIGH_BYTE(65536UL - CPUCLK / (uiFreq * 2));


    //  啟動(dòng)Timer
    TL0 = 0xF0;
    TH0 = 0xFF;
    TR0 = 1;
}


//  蜂鳴器停止發(fā)聲
void buzzerQuiet(void)
{
    TR0 = 0;
    TF0 = 0;
    BUZZ = 1;
}

四:蜂鳴器演奏樂曲

1e426796-6084-11ed-8abf-dac502259ad0.png

上圖是《化蝶》的樂譜。

簡(jiǎn)譜是大眾化的音樂記譜方式,比較容易理解和掌握。我們可以把一首樂譜(score)看成是由若干個(gè)基本的音符(note)單元組成。

一個(gè)音符由音名和時(shí)值組成。音名就是低音、中音、高音的 1234567(唱作 do re mi fa sol la si),其本質(zhì)是音符的發(fā)聲頻率。

可以在程序中用L1~L7、M1~M7、H1~H7 定義低音、中音、高音所對(duì)應(yīng)的發(fā)聲頻率。

時(shí)值是音符的發(fā)聲時(shí)間長(zhǎng)短,有全音符、二分音符、四分音符……等等

音符可以后綴一個(gè)“符點(diǎn)”,表示時(shí)值增加 1/2,特殊地,二分音符加符點(diǎn)時(shí)用“-”代替圓點(diǎn)。參見下表的描述。

1e547abc-6084-11ed-8abf-dac502259ad0.png

在程序中定義一個(gè)音符結(jié)構(gòu)體tNote,有兩個(gè)數(shù)據(jù)成員:音名mName和時(shí)值mTime。

再使用該結(jié)構(gòu)體定義一個(gè)tNote型常量數(shù)表MyScore[ ],用來保存實(shí)際樂譜轉(zhuǎn)換成tNote格式的數(shù)據(jù)。

有了上述一點(diǎn)點(diǎn)樂譜基礎(chǔ)知識(shí),我們就可以很方便地編輯這個(gè)數(shù)表了。比如音符“3-”轉(zhuǎn)換為“{L3, T/2}”,音符“3.”轉(zhuǎn)換為“{M3, T/4+T/8}”,等等。感興趣的同學(xué)可以自行補(bǔ)充上面簡(jiǎn)譜中的內(nèi)容。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 三極管
    +關(guān)注

    關(guān)注

    143

    文章

    3622

    瀏覽量

    122246
  • 驅(qū)動(dòng)電路
    +關(guān)注

    關(guān)注

    153

    文章

    1533

    瀏覽量

    108679
  • 蜂鳴器
    +關(guān)注

    關(guān)注

    12

    文章

    893

    瀏覽量

    46050

原文標(biāo)題:想用蜂鳴器聽個(gè)曲兒,你至少需要掌握這些知識(shí)!不來聽聽開發(fā)板播放的《梁祝》?

文章出處:【微信號(hào):精通單片機(jī)與嵌入式,微信公眾號(hào):精通單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)教高手:如何實(shí)現(xiàn)編程播放音樂

    老請(qǐng)高手:如何實(shí)現(xiàn)編程播放音樂?比如我們用51單片機(jī)可以作蜂鳴器發(fā)聲實(shí)驗(yàn),我想怎么能讓他播放音樂?比如有些禮盒打開就播放音樂,不知道那個(gè)是怎么實(shí)現(xiàn)控制的?!謝謝!
    發(fā)表于 07-18 10:44

    蜂鳴器播放音樂程序軟件

    蜂鳴器播放音樂程序軟件
    發(fā)表于 07-25 11:59

    ARM之蜂鳴器播放音樂

    蜂鳴器介紹,蜂鳴器發(fā)生的原理,PWM原理,編程實(shí)現(xiàn)蜂鳴器播放音樂資料在壓縮包里
    發(fā)表于 11-16 16:53

    STM32控制蜂鳴器播放音樂的原理是什么?

    STM32控制蜂鳴器播放音樂的原理是什么?如何使用通用定時(shí)器TIM4實(shí)現(xiàn)無中斷的微秒級(jí)延時(shí)函數(shù)?如何使用系統(tǒng)滴答時(shí)鐘Systick實(shí)現(xiàn)帶有中斷的輸出控制?
    發(fā)表于 11-16 07:23

    了解蜂鳴器可以播放音樂的原理

    一.音樂播放原理蜂鳴器分為有源和無源,經(jīng)測(cè)試均可正常播放音樂。(網(wǎng)上有些回答說有源不可播放)首先需要了解
    發(fā)表于 11-22 07:17

    播放音樂蜂鳴器提示音相關(guān)資料分享

    蜂鳴器提示音 播放音樂蜂鳴器提示音播放音樂蜂鳴器提示音Buzzer.c#include//蜂鳴器
    發(fā)表于 01-19 07:30

    蜂鳴器播放音樂

    慧凈HL-1 配套C實(shí)驗(yàn)例程100例【實(shí)驗(yàn)30】蜂鳴器播放音樂),很好的C51學(xué)習(xí)資料程序。
    發(fā)表于 03-21 16:21 ?41次下載

    蜂鳴器播放音樂程序

    蜂鳴器播放音樂程序,有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 04-27 16:18 ?34次下載

    HL開發(fā)板的蜂鳴器播放音樂學(xué)習(xí)程序

    HL開發(fā)板【實(shí)驗(yàn)30】蜂鳴器播放音樂,單片機(jī)學(xué)習(xí)程序,很好的學(xué)習(xí)資料。
    發(fā)表于 09-01 11:50 ?16次下載

    蜂鳴器播放音樂C語(yǔ)言程序免費(fèi)下載

    本文檔的作用內(nèi)容詳細(xì)介紹的是蜂鳴器播放音樂C語(yǔ)音程序免費(fèi)下載(包含了播放生日快樂歌曲的詳細(xì)設(shè)計(jì)資料)
    發(fā)表于 09-13 15:26 ?46次下載
    <b class='flag-5'>蜂鳴器</b><b class='flag-5'>播放音樂</b>C語(yǔ)言程序免費(fèi)下載

    蜂鳴器播放音樂設(shè)計(jì)與實(shí)現(xiàn)(附源碼)

    蜂鳴器播放音樂設(shè)計(jì)與實(shí)現(xiàn)(附源碼)
    發(fā)表于 04-24 11:00 ?90次下載
    <b class='flag-5'>蜂鳴器</b><b class='flag-5'>播放音樂</b>設(shè)計(jì)與實(shí)現(xiàn)(附源碼)

    51單片機(jī)(二十七)—— 蜂鳴器播放音樂

    1、實(shí)驗(yàn)原理介紹 蜂鳴器是電路中經(jīng)常使用的發(fā)聲器件,我們一般使用蜂鳴器發(fā)出“嘀嘀”的聲音,用它作為提示音。有沒有想過用蜂鳴器還可以播放音樂呢? 本文使用
    發(fā)表于 11-22 17:21 ?14次下載
    51單片機(jī)(二十七)—— <b class='flag-5'>蜂鳴器</b><b class='flag-5'>播放音樂</b>

    【學(xué)習(xí)心得】蜂鳴器播放音樂

    以下是學(xué)習(xí)STM32控制蜂鳴器時(shí)的一些心得體會(huì),我也是綜合各種資料寫出來的。蜂鳴器是一種很常見的電子元件,一般也就發(fā)出滴滴的聲音。但自從在網(wǎng)上看到各種用蜂鳴器播放音樂的實(shí)例,我就對(duì)
    發(fā)表于 11-23 18:21 ?65次下載
    【學(xué)習(xí)心得】<b class='flag-5'>蜂鳴器</b><b class='flag-5'>播放音樂</b>

    STM32 控制蜂鳴器播放音樂的原理和實(shí)例

    STM32 控制蜂鳴器播放音樂的原理和實(shí)例本文通過將樂譜里的每個(gè)音符的聲音頻率和聲音時(shí)長(zhǎng)保存在兩個(gè)數(shù)組里面。1.使用通用定時(shí)器TIM4實(shí)現(xiàn)無中斷的微秒級(jí)延時(shí)函數(shù),控制每個(gè)音符的發(fā)聲時(shí)長(zhǎng)。2.使用系統(tǒng)
    發(fā)表于 12-03 15:06 ?51次下載
    STM32 控制<b class='flag-5'>蜂鳴器</b><b class='flag-5'>播放音樂</b>的原理和實(shí)例

    基于51單片機(jī)的蜂鳴器播放音樂源代碼

    基于51單片機(jī)的蜂鳴器播放音樂例程源代碼
    發(fā)表于 05-12 16:16 ?68次下載
    主站蜘蛛池模板: 国精一区二区AV在线观看网站| 在线观看国产日韩| 少妇高潮久久久久7777| 亚洲欧洲精品A片久久99| 99re2.久久热最新地址| 国产亚洲一区二区三区啪| 欧美成人亚洲高清在线观看| 亚洲AV无码A片在线观看蜜桃| 99久久精品国产国产毛片| 国产视频这里只有精品| 漂亮妈妈中文字幕版| 一本道色播| 国产精品午夜小视频观看| 奶大B紧17p| 一个色综合久久| 国产精品久久久久久无码专区| 男女床上黄色| 亚洲伊人久久综合影院2021| 被免费网站在线视频| 恋孩癖网站大全在线观看| 晓雪老师我要进你里面好爽| 芭乐视频免费资源在线观看| 毛片免费观看的视频| 亚洲综合视频| 好男人资源免费观看1| 午夜一级毛片看看| 俄罗斯性孕妇孕交| 青青草原国产在线观看| 99久久精品久久久久久清纯| 久久精品黄色| 亚洲最大成人| 吉吉av电影| 亚洲免费国产| 三级视频黄色| 超碰在线视频| 日韩男明星| 丰满老熟好大bbbxxx| 日韩亚洲国产中文字幕欧美| 岛国精品在线观看| 色吧最新网址| 国产精品免费大片|