无源蜂鸣器前面驱动电路的问题 有电路 求帮忙

无源蜂鸣器前面驱动电路的问题 有电路 求帮忙,第1张

无源蜂鸣器需要我们给它提供一个震荡源,也就是一个交流信号。按我的理解电容C8是一个隔直流电容,它让交流通过进入LS1,而直流不不能。
由于无源蜂鸣器没有内部驱动电路。无源蜂鸣器工作的理想输入信号是方波信号,如果给予直流信号,蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。

#include<reg52h>sbit buzzer=P2^0;sbit D1=P1^0;
delay() // 让P10口延时1秒
{ unsigned int i,j;
for (i=0;i<500;i++)
for (j=0;j<358;j++);
}fasheng() //发声子程序
{ unsigned int a,x;
for (a=0;a<2700;a++) //for循环让蜂鸣器发声1秒
{
buzzer=!buzzer;
for (x=0;x<45;x++); //45为蜂鸣器发声频率,可调
}}
void main()
{
while (1)
{
D1=0; //P10口LED点亮
fasheng(); //P20发声1S
D1=1; //P10口LED熄灭
delay(); //延时1秒

}

}

所有信号都是MCU输出的控制信号。具体信号如下。

1、MOT1-4是步进电机驱动信号。输出的是脉冲信号。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

2、MOT5为直流电机驱动信号。

3、JD1 drive为继电器驱动信号。

4、BEEP1为蜂鸣器驱动信号。要使其持续发生输出频率脉冲信号。

不好画图,不过元件也不算多,讲讲你一定会明白的
1:无源蜂鸣器无正负极之分(这个你是知道的),这是很好装接(如果要动手),用三极管推下一下信号
2:NPN管子直接串入集电极,基极加一个电阻既可
2:pnp管子直接串入发射极,基极加一个电阻既可

首先要设置IO口连接PWM功能,应该是P2SEL |= 0x08。然后要初始化TA,初始化TA的方法可以参照以下:
CCR0 = 16; // PWM Period/2
CCTL1 = OUTMOD_6; // CCR1 toggle/set
CCR1 = 16/2; // CCR1 PWM duty cycle
TACTL = TASSEL_1 + MC_3; // ACLK, up-down mode
声音频率应该在1024Hz,可以听出来。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12806136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存