導航:首頁 > 操作系統 > 單片機蜂鳴器驅動程序

單片機蜂鳴器驅動程序

發布時間:2023-05-12 14:17:59

A. 急求無源蜂鳴器的驅動程序,單片機是51的

無源蜂鳴器驅動薯旦,只需定時將塵衫管腳2端電平取反即可
如讓其響1S,頻率約500HZ,可用軟延時
uint i;
for(i=0;i<1000;i++)
{
P1^0=~P1^0;
delay_ms(1);
}
如果想長時間響,並且還不佔用CPU,可以用定派手腔時器實現定時中斷取反

B. 單片機驅動蜂鳴器的程序,原理不懂,為什麼能用定時器工作方式1來驅動

用定時器的工作方式1是用其16位的數據,也就是說數據范圍是最大的,可以做到頻率更精確,TR0在子程序PlayMusic裡面,因為是播放音樂,所以需要較為嚴格的控制定時器的啟停,所以沒有開始初始化時就打開定時器。

C. 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);

}

  }

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

D. 求51單片機蜂鳴器程序

#include<reg51.h>
sbit buzzer = P1^0 ;聲明區
void delay(int) ;
void pulse_BZ(int,int,int);聲明函數void main(void)
{
while(1)
{
pulse_BZ(500,1,1); 調用發聲
delay(1000); 延時1000 X 0.5ms
pulse_BZ(500,1,1);
delay(1000);
pulse_BZ(500,1,1);
delay(1000);
pulse_BZ(200,1,1);
delay(1000);
pulse_BZ(200,1,1);
delay(1000);
}
}void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<60;j++);
}void pulse_BZ(int count;int TH;int TL)
{
int i;
for(i=o;i<count;i++) //循環count次,時間count x 1ms
{
buzzer=1; //此程序段產生1HZ 信號
delay(TH);
buzzer=0;
delay(TL);
}
}

E. 關於單片機驅動蜂鳴器發出滴滴的聲音的程序怎麼寫

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0;
sbit K1=P1^7;
//發聲函數,注意這里是用揚聲器,不能用普通的蜂鳴器
void Alarm(uchar t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++); //由參數t行成不同的頻率產生不同的聲音
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}

F. 單片機驅動蜂鳴器電路

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

G. 單片機驅動無源蜂鳴器的C程序問題

void delay();
void main()
{
PORTD = 0xFF;
DDRD = 0xFF;//初始化 AVR的不知道是不是這樣的
while(1)
{
int i;
for(i=0;i<3;i++)
{
PORTD=0x01;//蜂鳴器IO
_delay(X);//x為響一次「滴」鍵世的時型亮嫌間
}
PORTD=0x00;
delay(Y);//Y為你所說的 間隔1S想一次(改變Y值 調試你要的1s或用你的延時函數里的
}
}
void delay(int t)
{
int i,j;
for(i=0;i<卜手t;i++)
for(j=0;j<300;j++);
}

H. 怎麼用單片機C語言編寫驅動蜂鳴器發出7個音的電路圖和程序代碼(最好有解釋)。

搜:
基於51單片機的4×4矩陣鍵盤電子琴

網路一下。

I. C51 單片機控制蜂鳴器程序

把2個蜂鳴器的頻率各寫成一個函數。
然後主函數里這樣寫
if (key1 == 0)
"執行1蜂鳴器頻率"

else if (key2 == 0)
"執行2蜂鳴器頻率"

J. 51單片機蜂鳴器程序是什麼

51單片機蜂鳴器程序為:

#include"reg52.h"

typedef unsigned char u8;

typedef unsigned int u16;

sbit beep=P1^5;

void delay(u16 i)

{

while(i--);

}

void main()

{

while(1)

{

beep=~beep;

delay(1000);//控制音調頻率

beep=~beep;/控制聲音大小

delay(10);

}

}

(10)單片機蜂鳴器驅動程序擴展閱讀:

BUZZER蜂鳴器的分類:

1、按其驅動方式的原理分,可分為:有源蜂鳴器(內含驅動線路,也叫自激式蜂鳴器)和無源蜂鳴器(外部驅動,也叫他激式蜂鳴器)。

2、按構造方式的不同,可分為:電磁式蜂鳴器和壓電式蜂鳴器。

3、按封裝的不同,可分為:DIP BUZZER(插針蜂鳴器)和SMD BUZZER(貼片式蜂鳴器)。

4、按電流的不同,可分為:直流蜂鳴器和交流蜂鳴器,其中,以直流最為常見壓電式蜂鳴器,用的是壓電材料,即當受到外力導致壓電材料發生形變時壓電材料會產生電荷。同樣,當通電時壓電材料會發生形變。

電磁式蜂鳴器,主要是利用通電導體會產生磁場的特性,用一個固定的永久磁鐵與通電導體產生磁力推動固定在線圈上的鼓膜。

由於兩種蜂鳴器發音原理不同,壓電式結構簡單耐用但音調單一音色差,適用於報警器等設備。而電磁式由於音色好,所以多用於語音、音樂等設備。

閱讀全文

與單片機蜂鳴器驅動程序相關的資料

熱點內容
安卓抖音顯示沒網路是怎麼回事 瀏覽:817
2d我的世界源碼 瀏覽:618
怎樣製作貼天花板的解壓球 瀏覽:337
伺服器如何打開蘋果 瀏覽:96
高響應比演算法的實現 瀏覽:848
windows寫命令行 瀏覽:61
騰訊天津數據中心伺服器雲空間 瀏覽:974
單片機掃描按鍵 瀏覽:386
如何設置google伺服器 瀏覽:695
linuxtrace工具源碼 瀏覽:178
源碼第二次開發 瀏覽:784
如何獲取網頁php源碼 瀏覽:729
還用飛那麼源碼 瀏覽:204
雲伺服器鏡像可以隨時更換嗎 瀏覽:92
r600a壓縮機多少錢 瀏覽:237
程序員那麼可愛第幾集在重慶相遇 瀏覽:674
上班兩公里源碼 瀏覽:818
南寧溯源碼燕窩訂制 瀏覽:933
在個人文件夾中新建文件 瀏覽:445
中國國家地理pdf下載 瀏覽:108