讓蜂鳴器發(fā)出兩種不同的聲調(diào)很容易,只要給蜂鳴器的控制信號發(fā)送不同頻率的脈沖就可以實現(xiàn)了,以下以延時方式來做。
從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站設計、成都網(wǎng)站建設、外貿(mào)網(wǎng)站建設、網(wǎng)站策劃、網(wǎng)頁設計、域名與空間、網(wǎng)頁空間、網(wǎng)絡營銷、VI設計、 網(wǎng)站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。
#includereg51.h
#define
uchar
unsigned
char
#define
uint
unsigned
int
sbit
SPK=P1^0;
sbit
K1=P1^7;
//發(fā)聲函數(shù)
void
Alarm(uchar
t)
{
uchari,j;
for(i=0;i200;i++)
{
SPK=~SPK;
for(j=0;jt;j++);
//由參數(shù)t行成不同的頻率
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
1、無源蜂鳴器,需要外部提供脈沖信號才會發(fā)聲,且聲音會隨脈沖頻率變化而變化。而有源蜂鳴器內(nèi)部有振蕩器,所以只需要提供電壓(高電平)就能發(fā)聲,它們的原理不同。
2、例如定義 一個IO連接蜂鳴器。比如,sbit fmq=P1^0; 再來個500US延時函數(shù)。
void?beep()????//所以會產(chǎn)生1KHZ頻率聲音
{
fmq=0;
delay500us();
fmq=1;
delay500us();????
}
兩個聲音函數(shù)sound(),nosound()和延遲函數(shù)delay()由函數(shù)庫
提供。
函數(shù)名:
sound
功
能:
以指定頻率打開PC揚聲器
用
法:
void
sound(unsigned
frequency);
程序例:
#include
int
main(void)
{
sound(7);
delay(10000);
nosound();
return
0;
}
網(wǎng)頁題目:c語言中聲音函數(shù)單片機中 C語言聲音
轉(zhuǎn)載來于:http://muchs.cn/article46/hjdheg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、全網(wǎng)營銷推廣、微信小程序、小程序開發(fā)、定制開發(fā)、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)