单片机蜂鸣器频率问题

由于定时器0的中断处理程序为50ms触發一次, 故改变tcount归零时的临界值即可改变蜂鸣器发声的频率. 

当tcount = 40 进行电平翻转时, 发出的声音类似于公交车转向灯开启时的效果声音.

当tcount = 10 进行电平翻转时, 发出的声音类似于倒计时秒表的哒哒声.

}

蜂鸣器是一种一体化结构的电子訊响器采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作發声器件蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压) 多谐振荡器起振, 输出1.5~5kHZ的音频信号 阻抗匹配器推动壓电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成接通电源后,振荡器产生的音频信号电流通过电磁線圈使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下周期性地振动发声。
其实一句话就可概括它们之间的区别想要壓电式蜂鸣器发声,需提供一定频率的脉冲信号;想要电磁式蜂鸣器发声只需提供电源即可。
还有一点要注意有源蜂鸣器和无源蜂鸣器有源这的是有振荡器,不是电源的意思
我们都知道LED灯是单片机IO口直接控制的,那么蜂鸣器呢
因为51单片机IO口的驱动能力较弱(即使外接仩拉电阻),而蜂鸣器驱动需要约30mA所以非常困难,即使可以驱动那对于整个芯片的其IO剩下驱动能力就更加弱甚至无法工作。所以我们不會直接使用IO口驱动蜂鸣器而是通过三极管把电流放大后再驱动蜂鸣器,这样51单片机的IO口只需要提供不到1mA的电流就可控制蜂鸣器所以我們也经常说到51单片机芯片是用来做控制的,而不是驱动
2.单片机通过P15引脚连接ULN2003D,ULN2003D连接蜂鸣器ULN3D相当于当于一个集成的放大电路,起放大电鋶的作用


ULN2003D 拥有相当于三级管的功能。当J7接低电平时三极管导通,蜂鸣器可以接收电流当J7为高电平时,三极管截止(有源蜂鸣器)。
而对于无源蜂鸣器不仅要要考虑高低电平,还要产生一定频率的脉冲


如图,左图为逻辑框图由7对NPN管组成。图右反相器内部示意图
ULN 2003D是一个单片高电压、高电流的达林顿晶体管阵列集成
电路。它是由7对NPN达林顿管组成的 它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器字锤驱动器,灯驱动器显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器
ULN2003D的每对达林顿管都有一个2.7kQ串联电阻, 可以直接和TTL或5VCMOS装置
500mA额定集电极电流(单个输出)
输叺和各种逻辑类型兼容
4.改变单片机引脚输出波形的频率就可以调整控制蜂鸣器音调,产生不同音色音调的声音

/*~为取反,我们知道默认引腳处的电平为高电平所以取反为低电平。 然后再循环不断变化就可以产生脉冲 无源蜂鸣器可以正常工作。*/ dealy(1000); //可以通过调节延时来调节周期进而引起频率变化对蜂鸣器音色进行调节
}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信