日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于C51控制蜂鸣器

發(fā)布時(shí)間:2023/12/9 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于C51控制蜂鸣器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

🐋 前言:本實(shí)驗(yàn)基于STC89C52RC單片機(jī),根據(jù)電路原理圖編程控制蜂鳴器。由于51系列單片機(jī)結(jié)構(gòu)大同小異,讀者可根據(jù)此博客舉一反三,實(shí)現(xiàn)所需完成的功能。


🐬 目錄:

  • 一、蜂鳴器介紹
  • 二、電路原理圖分析
  • 三、實(shí)現(xiàn)蜂鳴器鳴叫

🐇 實(shí)驗(yàn)所選單片機(jī)及結(jié)構(gòu)展示(以普中C51為例,其他大同小異),本實(shí)驗(yàn)所操作的蜂鳴器位于圖中序號(hào)?位置

一、蜂鳴器介紹

🐪 蜂鳴器按照驅(qū)動(dòng)方式的原理可分為有源蜂鳴器(內(nèi)含驅(qū)動(dòng)線(xiàn)路)和無(wú)源蜂鳴器(外部驅(qū)動(dòng))。這里說(shuō)的有源和無(wú)源,并不是指電源的意思,而是指蜂鳴器內(nèi)部是否含有振蕩電路,有源蜂鳴器內(nèi)部自帶振蕩電路,只需提供電源即可發(fā)聲;而無(wú)源蜂鳴器則需提供一定頻率的脈沖信號(hào)才能發(fā)聲,頻率大小通常在1.5-5KHZ之間,蜂鳴器實(shí)物圖如下圖所示:

🐪 區(qū)分有源與無(wú)源蜂鳴器:將兩種蜂鳴器的引腳朝上放置,有綠色電路板的一種是無(wú)源蜂鳴器,沒(méi)有電路板而用黑膠封閉的是有源蜂鳴器
🐪 對(duì)于無(wú)源蜂鳴器,如果改變頻率就可以調(diào)節(jié)蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。如果改變輸出電平的高低電平占空比,則可以改變蜂鳴器聲音大小


二、電路原理圖分析

🐎 對(duì)于本實(shí)驗(yàn)要實(shí)現(xiàn)蜂鳴器的控制,我們不能直接使用單片機(jī)的IO口驅(qū)動(dòng)。因?yàn)?1單片機(jī)IO口的驅(qū)動(dòng)能力較弱(即使外接上拉電阻),而蜂鳴器驅(qū)動(dòng)需要約30mA,所以非常困難。本實(shí)驗(yàn)所用開(kāi)發(fā)版上蜂鳴器模塊電路如下圖所示:

🐎 51單片機(jī)主要用來(lái)控制而非驅(qū)動(dòng),直接使用芯片的GPIO管腳去驅(qū)動(dòng)大功率器件,要么將芯片燒壞,要么就驅(qū)動(dòng)不起來(lái)。所以要驅(qū)動(dòng)大功率器件,就必須搭建驅(qū)動(dòng)電路,開(kāi)發(fā)板上板載的驅(qū)動(dòng)芯片是ULN2003D.由上圖可知,ULN2003D控制蜂鳴器的輸入口與單片機(jī)的P2.5連接,對(duì)應(yīng)輸出為OUT5。通過(guò)ULN2003D,GPIO管腳就可以控制蜂鳴器。

🐎 本實(shí)驗(yàn)所用蜂鳴器為無(wú)源蜂鳴器,要使其發(fā)聲,需輸入指定頻率的脈沖,即高低電平


三、實(shí)現(xiàn)蜂鳴器鳴叫

🌿 要實(shí)現(xiàn)無(wú)源蜂鳴器的鳴叫,需要向蜂鳴器輸入指定頻率的脈沖信號(hào),無(wú)源蜂鳴器的指定頻率為1.5-5KHZ,則周期為0.2ms-66.6ms.即每隔0.2ms-66.6ms內(nèi)將高低電平翻轉(zhuǎn)一次即可控制蜂鳴器鳴叫。


🌿 基于以上分析,可以很容易編程控制蜂鳴器鳴叫

/************************************************************************************* * 實(shí)驗(yàn)名稱(chēng):蜂鳴器實(shí)驗(yàn) * 實(shí)驗(yàn)現(xiàn)象:下載程序后蜂鳴器發(fā)出聲音,一段時(shí)間后關(guān)閉 ***************************************************************************************/ #include "reg52.h"typedef unsigned int u16; //對(duì)系統(tǒng)默認(rèn)數(shù)據(jù)類(lèi)型進(jìn)行重定義 typedef unsigned char u8;sbit BEEP=P2^5; //將P2.5管腳定義為BEEP/******************************************************************************* * 函數(shù)名 : delay_10us * 函數(shù)功能 : 延時(shí)函數(shù),ten_us=1時(shí),大約延時(shí)10us *******************************************************************************/ void delay_10us(u16 ten_us) {while(ten_us--); }void main() { u16 i=2000;while(1){while(i--)//循環(huán)2000次{BEEP=!BEEP;//產(chǎn)生一定頻率的脈沖信號(hào),1ms翻轉(zhuǎn)一次delay_10us(100);}i=0;//清零BEEP=0;//關(guān)閉蜂鳴器} }

感謝觀看,如對(duì)內(nèi)容有疑惑或補(bǔ)充,歡迎留言討論,共同進(jìn)步!!!

總結(jié)

以上是生活随笔為你收集整理的基于C51控制蜂鸣器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。