嘀聲報(bào)警信號輸出試驗(yàn)
我們將學(xué)習(xí)如何控制蜂鳴器的聲音輸出,這一課我們只輸出一個(gè)頻率的聲音,之后幾課我們將逐步輸出更為復(fù)雜的音樂聲,你甚至可以自己輸入一個(gè)樂譜,直接播放出來。
蜂鳴器有有源和無源的幾種。也稱為直流蜂鳴器和交流蜂鳴器。有源蜂鳴器只要通上直流電,就會(huì)發(fā)出預(yù)定的聲音,比如,連續(xù)嘀聲,或者間斷嘀嘀聲,這種聲音無法控制,頻率也無法改變。一般用在一些簡單應(yīng)用場合。無源蜂鳴器相當(dāng)于一個(gè)簡單的喇叭,通上直流點(diǎn)不會(huì)發(fā)聲,只有通上交流電時(shí),才會(huì)根據(jù)交流點(diǎn)的頻率發(fā)出相應(yīng)的聲音,這種蜂鳴器可以任意控制聲音輸出,但是需要用戶以相應(yīng)的信號驅(qū)動(dòng),工作復(fù)雜一些。
我們的試驗(yàn)使用的是交流蜂鳴器。我們的電路中用P17來驅(qū)動(dòng)。
下面看連續(xù)輸出一個(gè)頻率的例程:
――――――――――――
#define uchar unsigned char //定義一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include
char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的
sbit P10=P1^0; //LED1
sbit K1=P3^2; //K1
sbit BEEP=P1^7; //喇叭輸出腳
//嘀聲報(bào)警信號輸出試驗(yàn)
void main(void) // 主程序
{
uint n;
while(1)
{
for(n=0;n<100;n++); //延時(shí)
BEEP=~BEEP; //取反輸出到喇叭的信號
}
}
―――――――――――――――――――
程序里,在延時(shí)一點(diǎn)時(shí)間之后,就將驅(qū)動(dòng)蜂鳴器的引腳取反,不斷循環(huán),形成一個(gè)交流信號,蜂鳴器也就響了。
請編譯,運(yùn)行??梢月牭桨l(fā)出嘀的連續(xù)的聲音。
作業(yè):改變延時(shí)值,以改變蜂鳴器輸出聲音的頻率。
評論
查看更多