導航:首頁 > 操作系統 > 低成本單片機蜂鳴器

低成本單片機蜂鳴器

發布時間:2022-11-28 11:19:39

㈠ 怎麼使用單片機控制蜂鳴器發聲

蜂鳴器有兩種,一種是無源的,另一種為有源的,確認的方法為:1)看封裝,如果引腳端為PCB板的,一般為無源的,引腳端為樹脂灌封的,一般為有源的。2)加電實驗,用5V電壓點擊接觸引腳時,只有「噠噠」聲的為無源的,發出一個單音響的為有源的。
兩種蜂鳴器用單片機的控制方法是一樣的,對於無源的,要求單片機送出一組斷續的音頻信號,使蜂鳴器按要求發聲,對於有源蜂鳴器,要求單片機送出一組斷續的電脈沖信號,用於分斷蜂鳴器的通斷狀態,而使有源蜂鳴器發出「嘀...嘀」,「嘀...嘀...嘀」等希望的聲音。
無源蜂鳴器舉例:
/**********************************************************************/
//聲響驅動程序 BELL--整點報時(鬧鍾音兩短一長)
/**********************************************************************/
void Beep(void)
{
uint a;//定義變數用於發聲的長度設置
uchar b;
for(b=2;b>0;b--){
for(a=200;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay_1us(500);//音調設置延時
}
DelayM(1000);
}
for(a=1000;a>0;a--){//第一個聲音的長度
beep = ~beep;//取反揚聲器驅動口,以產生音頻
Delay_1us(500);//音調設置延時
}
beep = 1;//音樂結束後揚聲器關閉
}
有源蜂鳴器舉例:
void main(void)
{
NB=0;//有源蜂鳴器初始不送電
while(1)
{
NB=0;//有源蜂鳴器斷電

delay(300);//停一段時間
NB=1;//有源蜂鳴器送電
delay(1000);//響一段時間
}
}

㈡ 51單片機之蜂鳴器

      蜂鳴器是一種一體化結構的電子訊響器,採用直流電壓供電,廣泛應用於計算機、列印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。我們開發板上常用的蜂鳴器就是常常說的交流蜂鳴器或直流蜂鳴器(自激式蜂鳴器)。 直流蜂鳴器是給一定的驅動直流電壓就會響。而交流蜂鳴器是需要給蜂鳴器一個脈沖才會響。常見的有PWM波控制蜂鳴器的頻率。脈沖就是高低電平的切換,如下圖:一個方波脈沖



我們用單片機的IO口實現一種這樣高低電平的方波,驅動蜂鳴器發音。我們板子上配的就是交流蜂鳴器。

     接下來我們看一下蜂鳴器的硬體電路:



蜂鳴器通過三極體驅動。我們利用杜邦線將蜂鳴器的一端J8連接到板子上P1.5管腳上。



 示常式序:

  #include "reg52.h"

  #include "intrins.h"

  typedef unsigned char uint8;

  typedef unsigned int  uint16;

  sbit beep = P1^5;

  void delay(uint16 i)

  {

  while(i--);

  }

  void main()

  {

while(1)

{

beep = ~beep;

delay(10);

}

  }

該程序實現蜂鳴器的響和停,程序較為簡單,可以在此基礎上進行擴展。

㈢ 無源蜂鳴器需要2K-5K方波驅動才能發聲,那麼,我該如何設計一款低成本的無源蜂鳴器驅動電路呢

為了節約成本,必須和有源蜂鳴器一樣有一個振盪電路,而有源蜂鳴器主要使用LC振盪電路(即用電感L、電容C組成選頻網路的振盪電路)。若實際搭建此電路,電感參數比較難以控制,而且成本較高。此時,自然會想到簡易的由三極體組成的RC振盪電路。

㈣ 關於單片機蜂鳴器外圍電路的工作原理的問題

1.當單片機的p1.7腳為低電平時,三極體Q1飽和導通,蜂鳴器通電鳴響。若單片機的p1.7腳為高電平時,三極體Q1截止,蜂鳴器沒有電流就不鳴響。
2.那個電阻是限流電阻。限制流入單片機的電流。

㈤ 關於單片機的蜂鳴器

蜂鳴器有直流定壓式的,給電就響。如果是這種蜂鳴器,你給的開關頻率快,使蜂鳴器不能正常發聲。
作電子琴的話不能用這種發聲器。應該用揚聲器,音箱上用的,只是功率小些0.8-3W的。

㈥ 單片機蜂鳴器請教大神

#include <reg51.h>
sbit k=P1^1;
sbit beep=P1^5;
#define uint unsigned int
#define uchar unsigned char
void delayms(xms)
{
uint m,n;
for(m=xms;m>0;m--)
for(n=110;n>0;n--);
}
void T0_int() interrupt 1
{
uint i;
TH0=(65536-dls/256;
TL0=(65536-dls)%256;
beep=~beep;
}
void main()
{
uint dls=500;
TMOD=0x01;
TH0=(65536-dls)/256;
TL0=(65536-dls)%256;
TR0=0;
EA=1;
ET0=1;
while(1)
{
TR0=0;
while(k==0)
{
TR0=1;
dls=500;
delay(100);
dls=1000;
delay(200);
}
}
}
}

㈦ 簡易單片機蜂鳴器驅動電路

不會防止單片機IO輸出的電壓被拉低,只能起到保護三極體的作用。因為蜂鳴器是感性負載,在三極體關閉瞬間,會產生反向高壓,電容在這里會吸收這個高壓。

㈧ 單片機蜂鳴器

1、單片機與蜂鳴器連接圖已附.
2、通常P1、P2、P3口都可以用來作為控制,P0口也可以,但因其內部無上拉電阻,所以外接時,應接一1K的上拉電阻,其他一樣。有源蜂鳴器驅動電路設計,無須外加驅動電路。
3、C語言編程為:
#include<reg51.h>//頭文件
sbit d1=P1^2;//位定義,把P1口的P1.2位設為驅動口,當然其它口也可。
void main()//主函數
{
d1=0//單片機默認狀態為1,不用初始化了,此處直接賦值0則可驅動
};
此為最最簡單的電路程序設計。下載後,蜂鳴器一會一直處於鳴叫狀態。
你可以加一個延時函數,再把d1口置高,可讓它,叫一下關閉。也可以加個while(1)大循環,讓它「滴、滴」不停地叫。還可以設置一個按鍵,按一個亮一下。
隨程序的變化,現象也會各不同。

㈨ 單片機驅動蜂鳴器電路

單片機驅動蜂鳴器電路如下:

㈩ 51單片機的蜂鳴器問題

#include<reg51.h>

sbit beep = P1^7;
char sss;
bit bbb;

//*****************************
void sleep(int ms) //延時
{
int i;
for(;ms > 0; ms--) for(i = 0; i < 124; i++);
}
//******************************
void init() //初始化定時器0
{
TMOD = 0x01;
TH0 = (65535 - 50000) / 256;
TL0 = (65535 - 50000) % 256;
TR0 = 1;
ET0 = 1;
EA = 1;
}
//*******************************
void main()
{
char i;
init(); // 中斷
while(1) {
if (bbb) { //蜂鳴器發出多.
bbb = 0;
for (i = 0; i < 124; i++) {
beep = ~beep;
sleep(1);
}
}
}
}
//********************************
void TIMER0() interrupt 1
{
TH0 = (65535 - 50000) / 256;
TL0 = (65535 - 50000) % 256;
sss++;
if (sss == 20) {
sss = 0;
bbb = 1;
}
}
//********************************

閱讀全文

與低成本單片機蜂鳴器相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163