TDA2030功放電路圖 電動(dòng)車(chē)充電器電路圖 電子電路 功放電路 電子制作 集成塊資料 電子報 pcb 變壓器 元器件知識 逆變器電路圖 電路圖 開(kāi)關(guān)電源電路圖 傳感器技術(shù) led 電磁兼容
電子電路圖
當前位置: 首頁(yè) > 電子電路 > 設計編程

如何有效編程單片機有源蜂鳴器驅動(dòng)

時(shí)間:2019-01-14 13:26:09來(lái)源:網(wǎng)絡(luò ) 作者:admin 點(diǎn)擊:
蜂鳴器是很常見(jiàn)的設備,分為無(wú)源和有源兩種。根據項目需求選擇不同類(lèi)型的蜂鳴器。最近的項目里有用到有源蜂鳴器對有源蜂鳴器。還是老一套,把電路板畫(huà)完,接著(zhù)編程。在項目

蜂鳴器是很常見(jiàn)的設備,分為無(wú)源和有源兩種。根據項目需求選擇不同類(lèi)型的蜂鳴器。最近的項目里有用到有源蜂鳴器對有源蜂鳴器。還是老一套,把電路板畫(huà)完,接著(zhù)編程。

在項目中原理圖如下:

如果不能保證I/O的輸出性能可以根據情況增加上拉或者下拉電阻。

切入正題:在程序里面這個(gè)蜂鳴器的驅動(dòng)就是個(gè)高低電平驅動(dòng)。高電平三極管導通、蜂鳴器發(fā)聲,低電平三極管關(guān)斷、蜂鳴器不發(fā)聲。這的確很簡(jiǎn)單,程序上最開(kāi)始我是這樣寫(xiě)的:

當然,如果單片機沒(méi)有很好的I/O跳變函數也可以這樣修改:

這里稍作解釋?zhuān)?/p>

1)

函數功能:蜂鳴器發(fā)聲驅動(dòng)

傳入參數:蜂鳴器發(fā)聲的次數

2)

傳入的次數cnt需要再函數內翻倍。這是因為傳入的參數是想讓蜂鳴器連續的發(fā)cnt聲。但是蜂鳴器除了發(fā)聲還有不發(fā)聲的時(shí)候。也就是說(shuō)蜂鳴器每響一次都需要關(guān)閉一次,如果沒(méi)有關(guān)閉操作肯定就不會(huì )出現響幾聲而是連續的響一聲,這個(gè)也很容易推理。

3)

在while循環(huán)完之后需要加一個(gè)蜂鳴器關(guān)閉操作。

這里假如傳進(jìn)的參數是2,目的是讓蜂鳴器響兩聲。根據程序的執行步驟:

cnt2變成4。

第1次while(4) 蜂鳴器開(kāi) cnt自減到3

第2次while(3) 蜂鳴器關(guān) cnt自減到2

第3次while(2) 蜂鳴器開(kāi) cnt自減到1

第4次while(1) 蜂鳴器關(guān) cnt自減到0

第5次while(0) 跳出while

可以看出其實(shí)在while之后蜂鳴器狀態(tài)已經(jīng)是關(guān)閉的了,但是保險起見(jiàn),確保函數調用完之后蜂鳴器是關(guān)閉的狀態(tài)。比如第一個(gè)函數I/O跳變的就更需要保障了,因為代碼上只能看出跳變,看不到跳變之后的狀態(tài)。

至此,一個(gè)簡(jiǎn)單的蜂鳴器電路和驅動(dòng)程序就都溫習完了,接下來(lái)上干貨:

在寫(xiě)程序的時(shí)候很多時(shí)候講究程序的效率,比如這個(gè)蜂鳴器驅動(dòng),驅動(dòng)過(guò)程中會(huì )降低效率,厲害的人很快能看出來(lái),就是這個(gè)Delay延時(shí)的問(wèn)題。但是上面也說(shuō)了,不延時(shí)也是不行的。所以趨于效率我嘗試著(zhù)換了一種方法驅動(dòng)蜂鳴器。

代碼如下:

實(shí)現起來(lái)也很簡(jiǎn)單,簡(jiǎn)單說(shuō)下原理:

1)首先是提供蜂鳴器驅動(dòng)的I/O配置,

2)其次是定時(shí)器的配置

3)最后是定時(shí)器中斷函數實(shí)現

我選用的定時(shí)器是項目單片機中最簡(jiǎn)單的一個(gè)定時(shí)器,配制成1ms中斷,能夠提供溢出中斷。其實(shí)這個(gè)定時(shí)器我常用做計系統運行時(shí)間Systick_ms。但是該項目對這個(gè)系統時(shí)間沒(méi)有用到,那就用這個(gè)定時(shí)器做文章把。

實(shí)現方法:

1、同樣函數在調用蜂鳴器驅動(dòng)的時(shí)候接口是一樣的,傳入的參數還是蜂鳴器的響聲次數。

2、函數體變了,這里改成了兩個(gè)變量的賦值,第一個(gè)BELL_CNT同普通方法中的cnt2,這里不再贅述。第二個(gè)是FLAG_BELL是用來(lái)保存蜂鳴器是否需要驅動(dòng)的狀態(tài)變量。所以既然是調用驅動(dòng)函數,那肯定這個(gè)變量要為真。

3、定時(shí)器中斷函數里面加上了一個(gè)靜態(tài)變量NOW,他的作用就是和Systic_ms產(chǎn)生一個(gè)50ms的時(shí)間片,干嘛用?肯定是給蜂鳴器開(kāi)關(guān)之間的延時(shí)用咯。模擬軟件延時(shí)嘛。然后再來(lái)分析下這段代碼:

1)首先這個(gè)NOW和Systic_ms是無(wú)條件需要賦值保證50ms時(shí)間片的。對應的代碼為NOW=Systick_ms+50;

2)判斷蜂鳴器驅動(dòng)狀態(tài)變量是不是真,如果不為真就關(guān)閉蜂鳴器,這個(gè)也是無(wú)條件的。

3)如果狀態(tài)變量為真:蜂鳴器先跳變Bell_Tog();當然如果沒(méi)有這個(gè)跳變函數也可以用上述的判斷cnt的方法,就不多寫(xiě)了都是一樣的。同時(shí)次數自減BELL_CNT--;同時(shí)判斷是不是減到0了,減到0了說(shuō)明響完了啊,那就把狀態(tài)變量賦值為假。再次進(jìn)來(lái)不管蜂鳴器是開(kāi)著(zhù)的還是關(guān)著(zhù)的都會(huì )執行關(guān)閉操作,這個(gè)跟上面說(shuō)的保險一樣。

4)最后,這兩個(gè)變量用的是全局變量,這里是以結構體的形式呈現的,因為很多情況這兩個(gè)函數不在一個(gè)C里面。如果硬要寫(xiě)在一個(gè)C可以忽略本條。

容-源-電-子-網(wǎng)-為你提供技術(shù)支持

本文地址:http://0u2438cq.cn/dz/22/15474436233078.shtml


本文標簽:


.
頂一下
0%
返回首頁(yè)
0
0%

------分隔線(xiàn)----------------------------

    猜你感興趣:

  • 可編程展頻振蕩器 YSO171PS系列

    展頻晶振(Spread Spectrum Crystal Oscillator,簡(jiǎn)稱(chēng)SSXO)應運而生。展頻晶振是一種特殊類(lèi)型的晶體振蕩器,主要依托于擴展頻譜技術(shù)。這項技術(shù)在抗干擾通信中有著(zhù)廣泛的應用
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 分享 | 可編程晶振芯片幾個(gè)知識點(diǎn)

    什么是可編程晶振?可編程晶振多為有源晶振,由兩個(gè)芯片組成;一個(gè)是全硅MEMS諧振器,一個(gè)是具有溫補功能的芯片,可以啟動(dòng)電路鎖相環(huán)CMOS。它采用標準化的半導體芯片MCM封裝?梢圆捎萌詣(dòng)標準半導體制造工藝
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 高頻靈活定制-存儲與計算 可編程差分振蕩器YSO210PR應

    可編程差分振蕩器 YSO210PR在機器人的智能視覺(jué)控制、工業(yè)屏、望遠鏡等領(lǐng)域具有顯著(zhù)優(yōu)勢。其高精度、穩定性和靈活的定制特性使得YSO210PR成為了機器人應用中不可或缺的元器件,為機器人技術(shù)的發(fā)展和應用提供了強有力的支持。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 智能終端通信利器:低抖動(dòng)YSO690PR可編程天線(xiàn)完美融合

    在通信科技的推動(dòng)下,智能終端天線(xiàn)和低抖動(dòng)晶振不斷創(chuàng )新,將引領(lǐng)通信產(chǎn)業(yè)進(jìn)入新的時(shí)代。YSO690PR系列作為高性能智能終端通信利器,將為各類(lèi)智能終端設備提供更加穩定和高效的通信支持,推動(dòng)科技的蓬勃發(fā)展。無(wú)論是日常生活還是工業(yè)應用,這些優(yōu)秀的技術(shù)將為人們帶來(lái)更加便捷、智能的通信體驗。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 可見(jiàn)光紅外模塊性能:低抖動(dòng)石英可編程晶振QMEMS振蕩器

    ​YSO690PR穩定可靠的低抖動(dòng)石英可編程晶振,確?梢(jiàn)光紅外模塊應用在各種環(huán)境和條件下都能提供出色的性能和精確的頻率輸出。讓QMEMS振蕩器YSO690PR成為交換機、對講機、充電樁、打印機等行業(yè)的理想選擇!

    關(guān)鍵詞:   所屬欄目:電子基礎

  • BMS電池管理系統的智能守護者:YSO110TR高精度全溫范圍

    電壓有源晶振 YSO110TR的優(yōu)勢在于其高精度和穩定性。10MHz的頻率下,其全溫范圍內總頻差僅為±30PPM,這意味著(zhù)即使在嚴酷的環(huán)境條件下,晶振的頻率波動(dòng)也非常小,保證了BMS系統的高精度控制和穩定性。無(wú)論是在高溫還是低溫環(huán)境中,YSO110TR都能保持可靠的性能,為電池管理系統提供持久穩定的時(shí)鐘信號
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 工業(yè)相機解決方案:低功耗16位數模轉換芯片+負壓線(xiàn)性穩

    在工業(yè)相機行業(yè)中,石英可編程晶振扮演著(zhù)至關(guān)重要的角色。為了滿(mǎn)足不同應用需求,YXC引入了低抖動(dòng)石英可編程晶振QMEMS振蕩器YSO690PR,為工業(yè)相機的穩定運行提供了理想解決方案。


    關(guān)鍵詞:   所屬欄目:電子基礎

  • 溫度采集器選YXC揚興科技:YSO110TR低啟動(dòng)時(shí)間與多電壓

    作為溫度采集器的關(guān)鍵組成部分之一,晶振在保證采集器的精確性和可靠性方面發(fā)揮著(zhù)重要的角色。在這一背景下,YXC揚興科技推出了旗下的產(chǎn)品系列之一——YSO110TR寬電壓有源晶振,為溫度采集器行業(yè)提供了高品質(zhì)的解決方案。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 性能高的服務(wù)器—寬電壓有源晶振YSO110TR 25MHZ

    YSO110TR寬電壓有源晶振是服務(wù)器中不可或缺的關(guān)鍵組件,其高精度、高穩定性、多電壓兼容性和工業(yè)級耐溫特性,使其成為服務(wù)器領(lǐng)域的優(yōu)質(zhì)選擇。無(wú)論是拼接屏控制器、充電樁、光伏逆變器、360后視鏡、攝像頭、手機屏、筆電顯卡、交換機、路由器還是光模塊等應用,YSO110TR都能為服務(wù)器提供卓越的性能和可靠性保障,助力服務(wù)器行業(yè)不斷發(fā)展進(jìn)步。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 可編程晶振選型應該注意事項

    現在晶振廣泛應用于汽車(chē)電子、安防監控、醫療設備、航空設備、互聯(lián)網(wǎng)設備等智能電子產(chǎn)品中,發(fā)揮著(zhù)重要作用,據說(shuō)市場(chǎng)上85%的電子產(chǎn)品應用于廣泛的領(lǐng)域。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 高性能差分可編程振蕩器,YSO210PR滿(mǎn)足電子通信行業(yè)多

    差分可編程振蕩器 YSO210PR 是一款功能強大的產(chǎn)品,具備10-1500MHz超寬頻率范圍的特點(diǎn),用戶(hù)可以隨意編程頻率,并且實(shí)現精確輸出到小數點(diǎn)后6位的精度。這種高度可編程的特性使得 YSO210PR 在不同應用場(chǎng)景下能夠靈活應對各種頻率要求,無(wú)論是低頻還是高頻應用,都能滿(mǎn)足客戶(hù)的需求。
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 可編程晶振常見(jiàn)問(wèn)題以及使用思路

    可編程晶振。簡(jiǎn)單來(lái)說(shuō)就是一種任意編程頻率的晶振,可以通過(guò)一個(gè)發(fā)生器放大或縮小,有選擇地實(shí)現各種總線(xiàn)頻率。在實(shí)際應用或初步了解中,會(huì )遇到各種各樣的問(wèn)題。以下編輯列出了與SiTime可編程晶振相關(guān)的一些常見(jiàn)問(wèn)題和答案。
    OE和ST功能有什么區別?
    關(guān)鍵詞:   所屬欄目:電子基礎

  • 新手教程:?jiǎn)纹瑱C的學(xué)習實(shí)踐步驟

    運用單片機便是了解單片機硬件結構,以及內部資源的運用,在匯編或C語(yǔ)言中學(xué)會(huì )各種功用的初始化設置,以及完成各種功用的程序編制。 運用按鈕輸入信號,發(fā)光二極管顯現輸出
    關(guān)鍵詞:51單片機PIC單片機單片機   所屬欄目:設計編程

  • 應用單片機實(shí)現CAN總線(xiàn)與LIN總線(xiàn)間的傳輸設計方案

    現場(chǎng)總線(xiàn)技術(shù)已經(jīng)廣泛應用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線(xiàn)由于具有可靠性高、成本低、容易實(shí)現等優(yōu)點(diǎn),在現場(chǎng)總線(xiàn)實(shí)際工程應用中占有了較大份額。
    關(guān)鍵詞:單片機   所屬欄目:設計編程

  • 學(xué)習單片機可不可以只用軟件仿真而不做實(shí)驗

    我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實(shí)現上由于學(xué)生學(xué)習時(shí)間寶貴,焊接一套單片機實(shí)驗板又比較花時(shí)間,并且實(shí)驗項目太多,所以為了
    關(guān)鍵詞:PIC單片機51單片機單片機   所屬欄目:設計編程

  • 怎樣選擇最適合的單片機

    對于新手來(lái)說(shuō),首先根據自己學(xué)的什么樣單片機就選什么類(lèi)型的單片機,熟悉什么類(lèi)型的單片機就選什么類(lèi)型的單片機。因為單片機不僅要設計電路,還要設計控制軟件。選自己熟悉的單片機上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機。
    關(guān)鍵詞:   所屬欄目:設計編程

  • 單片機晶振的作用是什么

    單片機晶振的作用是什么
    在初學(xué)單片機的時(shí)候,總是伴隨很多有關(guān)于晶振的問(wèn)題,其實(shí)晶振就是如同人的心臟,是血液的脈搏,把單片機的晶振問(wèn)題搞明白了,51單片機的其他問(wèn)題
    關(guān)鍵詞:51單片機PIC單片機單片機   所屬欄目:設計編程

  • 用keil軟件編寫(xiě)單片機程序的步驟

    Keil單片機編程軟件Keil C51是單片機C語(yǔ)言軟件開(kāi)發(fā)系統,與匯編相比,C語(yǔ)言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
    關(guān)鍵詞:51單片機PIC單片機   所屬欄目:設計編程

  • 詳解51單片機運行過(guò)程

    詳解51單片機運行過(guò)程 注:1.ROM:只讀存儲器,單片機的只讀存儲區大多用于存儲程序固又稱(chēng)程序存儲器。51單片機是EPROM,所謂的EPROM是可擦除的只
    關(guān)鍵詞:   所屬欄目:設計編程

  • pic單片機和c51有什么區別

    pic單片機和c51有什么區別(區別1)總線(xiàn)結構:MCS-51單片機的總線(xiàn)結構是馮-諾依曼型,計算機在同一個(gè)存儲空間取指令和數據,兩者不能同時(shí)進(jìn)行;而PIC單片機的總線(xiàn)結構是哈佛結構
    關(guān)鍵詞:單片機PIC單片機51單片機   所屬欄目:設計編程

發(fā)表評論
請自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規,嚴禁發(fā)布色情、暴力、反動(dòng)的言論。
表情:
名稱(chēng): E-mail: 驗證碼: 匿名發(fā)表
發(fā)布文章,推廣自己產(chǎn)品。
国产成人精品免高潮在线观看_免费人成视频观看18_亚洲AV乱码一区二区三区林ゆな_91精品国产91久久久