精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

基于51單片機(jī)的蜂鳴器設(shè)計(jì)

天才小貍花 ? 來源:Sigle_chip ? 作者:Sigle_chip ? 2022-09-03 10:00 ? 次閱讀

導(dǎo)語

蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于各類等電子產(chǎn)品中作發(fā)聲器件,相對(duì)于揚(yáng)聲器控制簡(jiǎn)單,方便使用。

臺(tái)式電腦的主機(jī)開機(jī)會(huì)"滴"一聲、洗衣機(jī)按下按鍵及洗衣完成都會(huì)有聲響,以上這些聲音都是通過蜂鳴器來發(fā)出的,通過這些可與用戶形成一定的交互。

蜂鳴器

分為壓電式蜂鳴器和電磁式蜂鳴器兩種,壓電式蜂鳴器通過壓電材料和金屬片兩端施加上一個(gè)電壓后,由于壓電效應(yīng),蜂鳴片就會(huì)產(chǎn)生機(jī)械變形而發(fā)出聲響。

電磁式蜂鳴器按照其內(nèi)部是否集成了震蕩源可分為有源蜂鳴器,和無源蜂鳴器,利用電磁線圈對(duì)蜂鳴片的作用來發(fā)聲的電子響訊器。

其有源蜂鳴器由于內(nèi)部集成了震蕩源,在蜂鳴器上電后就會(huì)以一定的頻率發(fā)出響聲。而無源蜂鳴器則需要使用方波去驅(qū)動(dòng)它。其有源蜂鳴器價(jià)格高于無源蜂鳴器。

但無源蜂鳴器可控聲音頻率,達(dá)到一定程度的音樂盒效果。

我們經(jīng)常使用的為有源式蜂鳴器,蜂鳴器作為電磁感性器件,其驅(qū)動(dòng)需要較大的電流,而IO的輸出電流能力有限,因此需要搭配外圍電路對(duì)其進(jìn)行控制,常見的方式有三極管。

通過三極管的使得蜂鳴器工作,同時(shí)在蜂鳴器兩端并聯(lián)二極管,以保證在關(guān)斷感性原件蜂鳴器時(shí)減小對(duì)電路的沖擊。

無源代碼

元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。

無源驅(qū)動(dòng)

#include //此文件中定義了單片機(jī)的一些特殊功能寄存器

sbit beep= P1^5; //定義蜂鳴器的引腳

void Delay_10us(unsignedint time)
{
while(time--);
}

void Simulate_Pwm(unsignedchar period,unsignedchar duty)
{
unsignedchar low= period/100* duty;//低電平延時(shí)時(shí)間
unsignedchar high= period- low; //高電平延時(shí)時(shí)間

beep =0; //蜂鳴器IO電平置低
Delay_10us(low);//低電平延時(shí)時(shí)間

beep =1; //蜂鳴器IO電平置高
Delay_10us(high);//高電平延時(shí)時(shí)間
}

void main()
{
while(1)
{
//使用模擬PWM控制蜂鳴器
Simulate_Pwm(100,50); //周期100*10us,占空比50%——頻率:1KHz
}
}

元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。

兩只老虎

#include

sbit BUZZ= P1^5;//蜂鳴器控制引腳

unsignedint code NoteFrequ[]={//中音 1-7和高音 1-7對(duì)應(yīng)頻率列表
523,587,659,698,784,880,988,//中音 1-7
1047,1175,1319,1397,1568,1760,1976//高音 1-7
};

unsignedint code NoteReload[]={//中音 1-7和高音 1-7對(duì)應(yīng)的定時(shí)器重載值
65536-(11059200/12)/(523*2),//中音 1
65536-(11059200/12)/(587*2),//2
65536-(11059200/12)/(659*2),//3
65536-(11059200/12)/(698*2),//4
65536-(11059200/12)/(784*2),//5
65536-(11059200/12)/(880*2),//6
65536-(11059200/12)/(988*2),//7
65536-(11059200/12)/(1047*2),//高音 1
65536-(11059200/12)/(1175*2),//2
65536-(11059200/12)/(1319*2),//3
65536-(11059200/12)/(1397*2),//4
65536-(11059200/12)/(1568*2),//5
65536-(11059200/12)/(1760*2),//6
65536-(11059200/12)/(1976*2),//7
};

bit enable=1;//蜂鳴器發(fā)聲使能標(biāo)志
bit tmrflag=0;//定時(shí)器中斷完成標(biāo)志

unsignedchar T0RH=0xFF;//T0重載值的高字節(jié)
unsignedchar T0RL=0x00;//T0重載值的低字節(jié)

void PlayTwoTiger();

void main()
{
unsignedint i;

EA =1;//使能全局中斷
TMOD =0x01;//配置 T0工作在模式 1
TH0 = T0RH;
TL0 = T0RL;
ET0 =1;//使能 T0中斷
TR0 =1;//啟動(dòng) T0

while(1)
{
PlayTwoTiger();//播放樂曲--兩支老虎
for(i=0; i<40000; i++);?//停止一段時(shí)間?
}
}

/*兩只老虎樂曲播放函數(shù) */
void PlayTwoTiger()
{
unsignedchar beat;//當(dāng)前節(jié)拍索引
unsignedchar note;//當(dāng)前節(jié)拍對(duì)應(yīng)的音符
unsignedint time=0;//當(dāng)前節(jié)拍計(jì)時(shí)
unsignedint beatTime=0;//當(dāng)前節(jié)拍總時(shí)間
unsignedint soundTime=0;//當(dāng)前節(jié)拍需發(fā)聲時(shí)間
//兩只老虎音符表
unsignedchar code TwoTigerNote[]={
1,2,3,1,1,2,3,1,3,4,5,3,4,5,
5,6,5,4,3,1,5,6,5,4,3,1,1,5,1,1,5,1,
};

//兩只老虎節(jié)拍表,4表示一拍,1就是 1/4拍,8就是 2拍
unsignedchar code TwoTigerBeat[]={
4,4,4,4,4,4,4,4,4,4,8,4,4,8,
3,1,3,1,4,4,3,1,3,1,4,4,4,4,8,4,4,8,
};

for(beat=0; beat//用節(jié)拍索引作為循環(huán)變量
{
while(!tmrflag);//每次定時(shí)器中斷完成后,檢測(cè)并處理節(jié)拍
tmrflag =0;
if(time==0)//當(dāng)前節(jié)拍播完則啟動(dòng)一個(gè)新節(jié)拍
{
note = TwoTigerNote[beat]-1;
T0RH = NoteReload[note]>>8;
T0RL = NoteReload[note];
//計(jì)算節(jié)拍總時(shí)間,右移 2位相當(dāng)于除 4,移位代替除法可以加快執(zhí)行速度
beatTime =(TwoTigerBeat[beat]* NoteFrequ[note])>>2;
//計(jì)算發(fā)聲時(shí)間,為總時(shí)間的 0.75,移位原理同上
soundTime = beatTime-(beatTime>>2);
enable =1;//指示蜂鳴器開始發(fā)聲
time++;
}
else//當(dāng)前節(jié)拍未播完則處理當(dāng)前節(jié)拍
{
if(time>= beatTime)//當(dāng)前持續(xù)時(shí)間到達(dá)節(jié)拍總時(shí)間時(shí)歸零,
{//并遞增節(jié)拍索引,以準(zhǔn)備啟動(dòng)新節(jié)拍
time =0;
beat++;
}
else//當(dāng)前持續(xù)時(shí)間未達(dá)到總時(shí)間時(shí),
{
time++;//累加時(shí)間計(jì)數(shù)
if(time== soundTime)//到達(dá)發(fā)聲時(shí)間后,指示關(guān)閉蜂鳴器,
{//插入 0.25*總時(shí)間的靜音間隔,
enable =0;//用以區(qū)分連續(xù)的兩個(gè)節(jié)拍
}
}
}
}
}

/* T0中斷服務(wù)函數(shù),用于控制蜂鳴器發(fā)聲 */
void InterruptTimer0() interrupt1
{
TH0 = T0RH;//重新加載重載值
TL0 = T0RL;
tmrflag =1;
if(enable)//使能時(shí)反轉(zhuǎn)蜂鳴器控制電平
BUZZ =~BUZZ;
else//未使能時(shí)關(guān)閉蜂鳴器
BUZZ =1;
}(twotigernote);)

元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。

//《世上只有媽媽好》數(shù)據(jù)表 元器件是電路良好運(yùn)行的基本保證,找元器件現(xiàn)貨上唯樣商城,原廠授權(quán)正品保障,品類齊全。
codeunsignedchar sszymmh[]={
6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,5,2,1,
//一個(gè)音符有三個(gè)數(shù)字。前為第幾個(gè)音、中為第幾個(gè)八度、后為時(shí)長(zhǎng)(以半拍為單位)。
//6, 2, 3分別代表:6,中音,3個(gè)半拍;
//5, 2, 1分別代表:5,中音,1個(gè)半拍;
//3, 2, 2分別代表:3,中音,2個(gè)半拍;
//5, 2, 2分別代表:5,中音,2個(gè)半拍;
//1, 3, 2分別代表:1,高音,2個(gè)半拍;
//
6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,
6,1,1,5,2,1,3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,
5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,
2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0};



//《煙花易冷》
unsignedchar code song1[]={
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};

有源的也可以試試!

聲明:本文內(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)投訴
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    273

    文章

    5697

    瀏覽量

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

    關(guān)注

    12

    文章

    889

    瀏覽量

    45869
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求教,怎樣控制51單片機(jī)蜂鳴器發(fā)出不同頻率的聲音

    怎樣控制51單片機(jī)蜂鳴器發(fā)出不同頻率的聲音,比如“滴滴”“滴答”聲?
    發(fā)表于 03-19 22:14

    51單片機(jī)蜂鳴器怎么響出不同頻率的聲音?

    51單片機(jī)蜂鳴器怎么響出不同頻率的聲音
    發(fā)表于 11-01 07:29

    51單片機(jī) 蜂鳴器音樂實(shí)驗(yàn)(致愛麗絲)

    51單片機(jī)_蜂鳴器音樂實(shí)驗(yàn)(致愛麗絲)
    發(fā)表于 12-17 21:59 ?62次下載

    51單片機(jī)蜂鳴器和繼電器的詳細(xì)資料和程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)蜂鳴器和繼電器的詳細(xì)資料說明。
    發(fā)表于 08-30 17:28 ?6次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>蜂鳴器</b>和繼電器的詳細(xì)資料和程序免費(fèi)下載

    使用51單片機(jī)應(yīng)用蜂鳴器的電路圖和程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)應(yīng)用蜂鳴器的電路圖和程序免費(fèi)下載。
    發(fā)表于 08-01 17:34 ?17次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>應(yīng)用<b class='flag-5'>蜂鳴器</b>的電路圖和程序免費(fèi)下載

    51單片機(jī)蜂鳴器程序和蜂鳴器間斷發(fā)聲的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)蜂鳴器程序和蜂鳴器間斷發(fā)聲的程序免費(fèi)下載。
    發(fā)表于 07-26 17:36 ?15次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>蜂鳴器</b>程序和<b class='flag-5'>蜂鳴器</b>間斷發(fā)聲的程序免費(fèi)下載

    51單片機(jī)——蜂鳴器的使用

    蜂鳴器種類蜂鳴器分為有源蜂鳴器和無源蜂鳴器: 判斷有源蜂鳴器和無源蜂鳴器可用萬用表電阻檔Rxl檔
    發(fā)表于 11-11 14:36 ?14次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>——<b class='flag-5'>蜂鳴器</b>的使用

    51單片機(jī)蜂鳴器演奏《我和我的祖國》

    由于同學(xué)的需要,于是用51單片機(jī)蜂鳴器功能譜了一首《我和我的祖國》,下面是全部的代碼:#include <reg52.h>sbit beep = P1^5
    發(fā)表于 11-11 17:06 ?36次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>蜂鳴器</b>演奏《我和我的祖國》

    51 單片機(jī) 蜂鳴器

    普中51單片機(jī)中的蜂鳴器sbit與define的區(qū)別sbit 是定義 位 ,就是說只能 用于 位, 編譯器 會(huì)檢測(cè)的。define 就是簡(jiǎn)單的 文字替換,用途廣無源蜂鳴器與有源
    發(fā)表于 11-11 17:36 ?66次下載
    <b class='flag-5'>51</b> <b class='flag-5'>單片機(jī)</b> <b class='flag-5'>蜂鳴器</b>

    51單片機(jī)蜂鳴器

    蜂鳴器實(shí)驗(yàn)蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要
    發(fā)表于 11-11 20:51 ?2次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>蜂鳴器</b>

    51單片機(jī)蜂鳴器

    51單片機(jī)蜂鳴器51單片機(jī)蜂鳴器1 蜂鳴器
    發(fā)表于 11-23 16:20 ?33次下載
    【<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>】<b class='flag-5'>蜂鳴器</b>

    51單片機(jī)蜂鳴器實(shí)驗(yàn)

    之間。2.要實(shí)現(xiàn)蜂鳴器的控制,我們能否 直接使用 STC89CXX 的 IO 口驅(qū)動(dòng)呢?答案是否定的, 因?yàn)?b class='flag-5'>51單片機(jī) IO 口的驅(qū) 動(dòng)能力較弱(即使外接上拉電阻),而蜂鳴器驅(qū)動(dòng)需
    發(fā)表于 11-23 16:22 ?3次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>蜂鳴器</b>實(shí)驗(yàn)

    51單片機(jī)——蜂鳴器

    。多諧振蕩器由晶體管或集成電路構(gòu)成,當(dāng)接通電源后(1.5到15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。有源蜂鳴器:通過單片機(jī)的管腳經(jīng)過...
    發(fā)表于 11-23 16:22 ?12次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>——<b class='flag-5'>蜂鳴器</b>

    51單片機(jī) 蜂鳴器

    蜂鳴器分為有源蜂鳴器和無源蜂鳴器有源蜂鳴器:內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫。無源蜂鳴器:內(nèi)部不帶震蕩源,用直流信號(hào)無法令其鳴叫,必須用2
    發(fā)表于 11-23 17:06 ?13次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b> <b class='flag-5'>蜂鳴器</b>

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

    基于51單片機(jī)蜂鳴器播放音樂例程源代碼
    發(fā)表于 05-12 16:16 ?57次下載