STMCU小助手
发布时间:2022-3-20 13:32
|
蜂鸣器在电子产品中很常见,几乎现在的家电中都有,主要用来做声音提示。 蜂鸣器从材料上分可以分为压电式蜂鸣器和电磁式蜂鸣器。 9 y( l8 i9 R I- V 压电式蜂鸣器: 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。 电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 蜂鸣器从驱动方式上可以分为有源蜂鸣器和无源蜂鸣器。 有源蜂鸣器:内部自己带有驱动电路,只要在外部供上点之后,内部电路就会工作,驱动蜂鸣器内部分线圈进行振动,从而发出声音。 无源蜂鸣器:内部没有振荡电路,直接给蜂鸣器供直流电时,蜂鸣器不会响,只有外部给蜂鸣器提供一个方波,蜂鸣器才能发出声音。- ?" r5 {& @8 o. ]7 ? / b* m) g" J1 r& [ 驱动方式: . T2 {1 T/ p' W7 g2 \ 无源蜂鸣器驱动比较简单,直接用单片机IO口给蜂鸣器发送方波信号就行。6 J) F; k, H. w2 _8 P/ o1 V ( V7 t) X6 x1 t1 z4 D4 |
9 e/ I3 G: p& X* P" Y. D4 a 有源蜂鸣器驱动时,外部需要驱动电路。$ y9 \) V& x9 p) X" F2 x 0 b+ ^8 Q, g: K$ e& d
常用的驱动方式就是直接通过三极管来驱动,三极管主要是用来放大电流,因为蜂鸣器响的时候需要的电流比较大,一般单片机口直接提供不了那么大的电流,给蜂鸣器反向并联一个二极管用来延长蜂鸣器的使用寿命。由于蜂鸣器内部有线圈,相当于一个电感,当蜂鸣器关闭的时候,会在线圈上产生一个反向电动势,这个二极管在蜂鸣器关闭的时候可以给线圈进行放电。 用这个驱动电路驱动蜂鸣器的时候,在上电的一瞬间,有时候会听见蜂鸣器嘀的响一声,这时因为在单片机上电时,IO口未初始化之前,有的IO口默认会是高电平,这样当单片机上电的一瞬间,三极管基极就会瞬间又一个高电平,这时候蜂鸣器就会响一声,当IO口初始化完成之后,IO口设置为低电平,这时候三极管不导通,蜂鸣器就不响了,为了避免这种情况发生,一般都会给基极加一个比较大的下拉电阻。( h& d% D) B( b9 r4 I & e$ g' Y5 I$ k) k' K
" B( o+ V) j' p& e9 s) ^ 给基极加一10K的下拉电阻这样在上电的瞬间,这个下拉电阻就会将三极管基极的电平拉为0,在上电的一瞬间蜂鸣器就不会响了。7 e3 z% {1 `- \. }% f1 e # J" v8 H, g2 A 这里驱动蜂鸣器使用的是有源蜂鸣器,虽然驱动电路复杂了一点,但是程序控制比较简单,只需要给IO口高低电平,就可以控制蜂鸣器响或者不响。蜂鸣器初始化代码如下:. ~8 [# S8 m' l
将驱动蜂鸣器的口PB8设置为普通IO口,推挽输出就可以了。要蜂鸣器响的时候,直接给PB8口给高电平就行了。
在主程序中循环的让蜂鸣器一开一关,这样就可以听到蜂鸣器发出的嘀嘀嘀嘀的声音了。: e. E- V' v n1 t6 L! B% n- `2 J 2 M; ], H- `0 I' ?# Z% G! i3 f: r( r |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版