嘀聲報(bào)警信號(hào)輸出試驗(yàn)
嘀聲報(bào)警信號(hào)輸出試驗(yàn)
本文引用地址:http://www.ex-cimer.com/article/201610/307634.htm我們將學(xué)習(xí)如何控制蜂鳴器的聲音輸出,這一課我們只輸出一個(gè)頻率的聲音,之后幾課我們將逐步輸出更為復(fù)雜的音樂(lè)聲,你甚至可以自己輸入一個(gè)樂(lè)譜,直接播放出來(lái)。
蜂鳴器有有源和無(wú)源的幾種。也稱(chēng)為直流蜂鳴器和交流蜂鳴器。有源蜂鳴器只要通上直流電,就會(huì)發(fā)出預(yù)定的聲音,比如,連續(xù)嘀聲,或者間斷嘀嘀聲,這種聲音無(wú)法控制,頻率也無(wú)法改變。一般用在一些簡(jiǎn)單應(yīng)用場(chǎng)合。無(wú)源蜂鳴器相當(dāng)于一個(gè)簡(jiǎn)單的喇叭,通上直流點(diǎn)不會(huì)發(fā)聲,只有通上交流電時(shí),才會(huì)根據(jù)交流點(diǎn)的頻率發(fā)出相應(yīng)的聲音,這種蜂鳴器可以任意控制聲音輸出,但是需要用戶(hù)以相應(yīng)的信號(hào)驅(qū)動(dòng),工作復(fù)雜一些。
我們的試驗(yàn)使用的是交流蜂鳴器。我們的電路中用P17來(lái)驅(qū)動(dòng)。
下面看連續(xù)輸出一個(gè)頻率的例程:
DDDDDDDDDDDD
#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)警信號(hào)輸出試驗(yàn)
void main(void) // 主程序
{
uint n;
while(1)
{
for(n=0;n100;n++); //延時(shí)
BEEP=~BEEP; //取反輸出到喇叭的信號(hào)
}
}
DDDDDDDDDDDDDDDDDDD
程序里,在延時(shí)一點(diǎn)時(shí)間之后,就將驅(qū)動(dòng)蜂鳴器的引腳取反,不斷循環(huán),形成一個(gè)交流信號(hào),蜂鳴器也就響了。
請(qǐng)編譯,運(yùn)行??梢月?tīng)到發(fā)出嘀的連續(xù)的聲音。
作業(yè):改變延時(shí)值,以改變蜂鳴器輸出聲音的頻率。
評(píng)論