<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嘀聲報(bào)警信號(hào)輸出試驗(yàn)

          嘀聲報(bào)警信號(hào)輸出試驗(yàn)

          作者: 時(shí)間:2016-10-29 來(lái)源:網(wǎng)絡(luò) 收藏

          嘀聲輸出試驗(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 //包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件

          char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的

          sbit P10=P1^0; //LED1

          sbit K1=P3^2; //K1

          sbit BEEP=P1^7; //喇叭輸出腳

          //嘀聲輸出試驗(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)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();