『壹』 51單片機燒錄時蜂鳴器一直響
內部零件損壞。51單片機正常情況是可以使用的,是因為內部零件損壞,從而首談導致的燒猜芹基錄時蜂鳴器一直穗謹響,需要進行維修處理。51單片機是對兼容英特爾8051指令系統的單片機的統稱。
『貳』 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);
}
}
該程序實現蜂鳴器的響和停,程序較為簡單,可以在此基礎上進行擴展。
『叄』 51單片機蜂鳴器發出1KHz的信號的c語言程序
通過中斷的方式,使用定時器0來提供1KHz的方波,蜂鳴器引腳定義為P1.0。代碼如下:
#include
<reg51.h>
#define
u8
unsigned
char
sbit
BEEP=P1^0;
void
main
{
EA=1;//開總中斷
IT0=1;//打開定時器0源中斷允許開關
TMOD=0x01;//選擇定時器0工作在方式0
TR0=1;//啟動定時器0
TH1=(65536-1000)/256;//賦值,定時1ms
TL1=(65536-1000)%256;
while(1)
{;}
}
void
TIM()
interrupt
1
{
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
BEEP=~BEEP;//蜂鳴器引腳輸出1KHz方波
}
『肆』 在51單片機中怎樣讓中斷控制蜂鳴器
讓中斷控制蜂鳴器,用定時器,一種應用是做電子鍾,定點鬧鍾,整點報警都可以。第二種應用,用定時器控制蜂鳴器間斷發聲,產生各種效果。第三種應用是控制無源蜂鳴器,用定時器產生不同頻率的信號,加到蜂鳴器上發出不同音調的聲音。