標(biāo)題: stm32F4驅(qū)動蜂鳴器有關(guān)問題 [打印本頁]

作者: yezhaowei    時間: 2021-2-7 10:59
標(biāo)題: stm32F4驅(qū)動蜂鳴器有關(guān)問題
某個寶買了一個有源蜂鳴器模塊。在stm32F4的板子上直接置高電平 GPIO_SetBits(GPIOF,GPIO_Pin_8); 蜂鳴器就會很響。

但是在51單片機(jī)上 sbit beep=P1^5; beep=1就不會響,一定要取反加個延時 這樣: beep = ~beep;  delay(10);才會響,而且比較小聲。這是為什么呢?


我個人想實(shí)現(xiàn)按鍵一次蜂鳴器響一次,在STM32可以聽到很大聲,在51單片機(jī)基本上就一點(diǎn)點(diǎn)聲幾乎聽不見。

作者: yezhaowei    時間: 2021-2-7 11:07
是不是51單片機(jī)給的高電平不夠高?
作者: slf252    時間: 2021-2-7 13:06
最好通過三極管來驅(qū)動,單片機(jī)的IO口驅(qū)動電流比較小
作者: 學(xué)生1    時間: 2021-2-7 13:39
蜂鳴器依靠振動發(fā)出聲響,振動頻率不同,聲音效果也不一樣,beep直接等于1,輸出電平不發(fā)生改變,就不能讓蜂鳴器發(fā)聲,beep=~beep時,高低電平不斷改變,使蜂鳴器產(chǎn)生振動從而發(fā)出聲音,聲音效果不僅和電平高低有關(guān)還與高低電平變化頻率有關(guān)
作者: 小文文    時間: 2021-2-7 14:44
本帖最后由 小文文 于 2021-2-7 14:53 編輯

蜂鳴器分有源和無源蜂鳴器,有源蜂鳴器直接給他上電就可以響,無源呢是靠震動響的,所以得高低電平不斷出現(xiàn),聲調(diào)的高低和頻率有關(guān)也就是你給得延時多久有關(guān)。蜂鳴器是需要驅(qū)動的,單片機(jī)出來的信號電流太小了,你得加個驅(qū)動放大電路,三極管就可以。你可以到網(wǎng)百度一下,單片機(jī)接無源蜂鳴器原理圖。
作者: taotie    時間: 2021-2-7 15:24
51端口提供的電流很小,蜂鳴器直接端口會將電壓拉低。加一個三極管擴(kuò)流就OK了
作者: Hephaestus    時間: 2021-2-7 15:31
你去查下51的高電平輸出能力。原始版本51用輸出弱上拉實(shí)現(xiàn)雙向口,即可以輸入也可以輸出,肯定推不動蜂鳴器,F(xiàn)代51很可能大不一樣了,可以設(shè)置強(qiáng)推挽模式。這需要你自己去查你用的51具體手冊了。
作者: cheney03    時間: 2021-2-8 09:00
跟IO口的驅(qū)動能力有關(guān),不同單片機(jī)IO口輸出電流有差異。
作者: TTQ001    時間: 2021-2-9 09:57
STM32具有比51系列單片機(jī)更好的電流驅(qū)動能力
作者: amandv    時間: 2021-2-12 15:25
51的引腳設(shè)置成強(qiáng)推挽輸出




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1