浅谈压电贴片蜂鸣器的驱动设计
发布时间:
2021-07-05
来源:
输出端口直接驱动压电贴片蜂鸣器是怎样的?
因为PWM只控制固定频率的burge,所以程序系统初始化时可以设置PWM的输出波形。
根据PWM输出周期宽度为10位的数据选择PWM时钟。系统使用4MHz的晶振作为主振荡器。tosc的时间是0.25s。PWM的时钟设置为tosc时,压电贴片蜂鸣器要求的波形周期500s的计数值为500s/0.25s=(2000)10=(7D0H)10。输出周期宽度仅为10位数据,因此,如果选择PWM时钟作为tosc,则压电贴片蜂鸣器无法实现所需的驱动波形。
其中,如果将PWM的时钟设置为4tosc,则PWM的时钟周期为1s,因此与500s相对应的计数值可以计算为500s/1s=(500)10=(1F4)16,即分别设置周期寄存器的高度2位、中4位和低。
通过设置一段时间的平坦宽度来实现。如果压电贴片蜂鸣器选择输出模式作为常规模式,则工作寄存器用于设置宽度。250s的宽度测量仪值为250s/1s=(250)10=(0FA)16。只需在Duty寄存器的高2位、中4位和低4位分别填充0、F和A,将Duty(1/2duty)设置为Duty(1/2duty)。

以后打开压电贴片蜂鸣器输出时,PWM输出端口自然可以输出100Hz的频率和1/2duty的方波。
I/O端口定时翻转级驱动器压电贴片蜂鸣器方法
使用I/O端口定期翻转水平驱动压电贴片蜂鸣器的方法比较简单,只需分析波形即可。驱动信号为周期500s,占Duty1/2占比的方波,每250s只需进行一次平反即可得到驱动蜂鸣器的方波信号。在程序中,使用TIMER0确定时间,将TIMER0的预分频设置为/1,选择TIMER0总是系统时钟(默认振荡器时钟/4),在TIMER0的加载/计数寄存器的高4位和低4位中分别写入00H和06H,即可写入TIMER0在压电贴片蜂鸣器不需要响之前,将I/O端口的电平设置为低电平即可。
介绍了设计模块系统中的两种驱动方法:介绍PWM输出端口驱动压电贴片蜂鸣器的方法,以及介绍I/O端口驱动压电贴片蜂鸣器的方法。因此,为了说明单片机的蜂鸣器驱动,我们将设计以下系统:系统有两个压电贴片蜂鸣器,频率为100Hz,一个由I/O端口控制,另一个由PWM输出端口控制。系统有两个按钮。一个是端口按钮,I/O端口控制蜂鸣器不响时,按一下就会响起I/O端口控制蜂鸣器。再按一次就停止了,另一次是PWM按钮。PWM端口控制压电贴片蜂鸣器不响时,按一下就会响起,再按一次就停止了。




