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

如何有效編程單片機有源蜂鳴器驅(qū)動

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

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

在項目中原理圖如下:

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

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

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

這里稍作解釋:

1)

函數(shù)功能:蜂鳴器發(fā)聲驅(qū)動

傳入?yún)?shù):蜂鳴器發(fā)聲的次數(shù)

2)

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

3)

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

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

cnt2變成4。

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

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

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

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

第5次while(0) 跳出while

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

至此,一個簡單的蜂鳴器電路和驅(qū)動程序就都溫習完了,接下來上干貨:

在寫程序的時候很多時候講究程序的效率,比如這個蜂鳴器驅(qū)動,驅(qū)動過程中會降低效率,厲害的人很快能看出來,就是這個Delay延時的問題。但是上面也說了,不延時也是不行的。所以趨于效率我嘗試著換了一種方法驅(qū)動蜂鳴器。

代碼如下:

實現(xiàn)起來也很簡單,簡單說下原理:

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

2)其次是定時器的配置

3)最后是定時器中斷函數(shù)實現(xiàn)

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

實現(xiàn)方法:

1、同樣函數(shù)在調(diào)用蜂鳴器驅(qū)動的時候接口是一樣的,傳入的參數(shù)還是蜂鳴器的響聲次數(shù)。

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

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

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

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

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

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

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

本文地址:http://www.4811775.com/dz/22/15474436233078.shtml


本文標簽:


.
頂一下
0%
返回首頁
0
0%

------分隔線----------------------------

    猜你感興趣:

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

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

  • 分享 | 可編程晶振芯片幾個知識點

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

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

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

  • 智能終端通信利器:低抖動YSO690PR可編程天線完美融合

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

  • 可見光紅外模塊性能:低抖動石英可編程晶振QMEMS振蕩器

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

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

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

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

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

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


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

  • 溫度采集器選YXC揚興科技:YSO110TR低啟動時間與多電壓

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

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

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

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

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

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

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

  • 可編程晶振常見問題以及使用思路

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

  • 新手教程:單片機的學習實踐步驟

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

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

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

  • 學習單片機可不可以只用軟件仿真而不做實驗

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

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

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

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

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

  • 用keil軟件編寫單片機程序的步驟

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

  • 詳解51單片機運行過程

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

  • pic單片機和c51有什么區(qū)別

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

發(fā)表評論
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
表情:
名稱: E-mail: 驗證碼: 匿名發(fā)表
發(fā)布文章,推廣自己產(chǎn)品。
熱門標簽