找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: QWE4562012
打印 上一主题 下一主题
收起左侧

关于单片机控制无源蜂鸣器驱动电路

  [复制链接]
41#
ID:595237 发表于 2020-9-14 19:24 | 只看该作者
以前的硬件方式:
用1个直径10*高度15mm三脚的绕线电感,103电容,几个三极管与电阻电容,
就用单片机开关一下三极管也声音响的车喇叭一样,可能达到80--90db。
有电容,开关一下,有延时,就不停的响。
软件不懂,以前就这样硬件用过。里面需要一定空间,
现在的报警器可能还是用这样的硬件的才声音好响。
回复

使用道具 举报

42#
ID:595237 发表于 2020-9-14 19:41 | 只看该作者
一个IO驱动.jpg    这个电路是驱动轰鸣器的,不是轰鸣片
这样的:

蜂鸣片8.jpg (21.13 KB, 下载次数: 66)

蜂鸣片8.jpg

蜂鸣片4.jpg (1.96 KB, 下载次数: 49)

蜂鸣片4.jpg
回复

使用道具 举报

43#
ID:668004 发表于 2020-9-15 18:32 | 只看该作者
wulin 发表于 2020-9-14 18:59
这段代码DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);两条指令之间会有时间差,做不 ...

总线操作方法?我怎么跟他说呢?他这里是直接操作的库函数是吗
回复

使用道具 举报

44#
ID:668004 发表于 2020-9-15 18:33 | 只看该作者
ice615 发表于 2020-9-12 14:07
一个软件问题讨论了五六天也不见把程序贴上来

兄弟  程序它来了  有空看下   
回复

使用道具 举报

45#
ID:213173 发表于 2020-9-15 19:29 | 只看该作者
QWE4562012 发表于 2020-9-15 18:32
总线操作方法?我怎么跟他说呢?他这里是直接操作的库函数是吗

由于你发的代码不全,控制蜂鸣器端口翻转的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很难用简单几句话表述清楚,直接给你写个示例程序,稍有点C言语基础就能看明白,既可以用仿真软件仿真运行,也可以搭建实际电路测试。至于使用的端口不同,略改一下即可。有详细注释,别说还是看不懂。
  1. //以51系列单片机,晶振12MHz为基础编写的测试程序
  2. //蜂鸣器驱动端口P2.0、P2.1,可以根据实际管脚修改
  3. //按键程序作为测试蜂鸣器使用,每按一次响铃1/4秒
  4. #include <reg52.h>
  5. #include <intrins.h>
  6. #define uint unsigned int
  7. #define uchar unsigned char

  8. sbit key=P2^2;

  9. bit flag=0;

  10. void Delay115us()                //@12.000MHz
  11. {
  12.         uchar i;
  13.         i=55;
  14.         while(--i);
  15. }

  16. void key_scan()
  17. {
  18.         static uchar temp=0; //消抖计数
  19.         static bit sign=0;        //按键状态记忆
  20.         if(!key)
  21.         {
  22.                 if(++temp==100 && sign==0)
  23.                 {
  24.                         sign=1;
  25.                         flag=1;//开启蜂鸣器
  26.                 }
  27.         }
  28.         else
  29.         {
  30.                 temp=0;
  31.                 sign=0;
  32.         }
  33. }

  34. void Beep()//频率4KHz/周期250us
  35. {
  36.         uint i;
  37.         if(flag)
  38.         {
  39.                 P2|=0x01;//蜂鸣器端口置位,P2.0=1、P2.1=0,不影响P2其它端口状态
  40.                 for(i=0;i<2000;i++)//响铃1/4秒
  41.                 {
  42.                         if(i%2==0)
  43.                                 P2+=0x01;//P2.0、P2.1同步翻转,不影响P2其它端口状态
  44.                         else
  45.                         {
  46.                                 P2-=0x01;//P2.0、P2.1同步翻转,不影响P2其它端口状态
  47.                                 _nop_(); //补偿2us,正负半周脉冲等宽
  48.                                 _nop_();
  49.                         }
  50.                         Delay115us();
  51.                 }
  52.                 P2&=0xfc;//蜂鸣器端口复位清0,不影响P2其它端口状态
  53.                 flag=0;        //关闭蜂鸣器
  54.         }
  55. }

  56. void main()
  57. {
  58.         P2&=0xfc;//初始化蜂鸣器端口P2.0、P2.1清0。
  59.         while(1)
  60.         {
  61.                 key_scan();
  62.                 Beep();
  63.         }        
  64. }
复制代码
回复

使用道具 举报

46#
ID:668004 发表于 2020-9-16 18:09 | 只看该作者
wulin 发表于 2020-9-14 18:59
这段代码DrvGPIO_PT9_EnableOUTPUT(0x01);DrvGPIO_PT9_EnableOUTPUT(0x02);两条指令之间会有时间差,做不 ...

要用总线操作方法使2个端口同时翻转。--------------------具体如何做?方法说下
回复

使用道具 举报

47#
ID:668004 发表于 2020-9-16 18:12 | 只看该作者
juncedz 发表于 2020-9-14 19:24
以前的硬件方式:
用1个直径10*高度15mm三脚的绕线电感,103电容,几个三极管与电阻电容,
就用单片机开 ...

空间和成本      所以用的是压电的无源  因为体积比较小      你那种应该是大才产品   直接用的喇叭吧?或者是电磁式的   
回复

使用道具 举报

48#
ID:668004 发表于 2020-9-16 18:14 | 只看该作者
juncedz 发表于 2020-9-14 19:41
一个IO驱动.jpg    这个电路是驱动轰鸣器的,不是轰鸣片
这样的:

你好   用了三端电感?产品空间很小  不可能放这么大插件电感的。。。还有你这种是有源蜂鸣器吧
回复

使用道具 举报

49#
ID:668004 发表于 2020-9-16 18:15 | 只看该作者
wulin 发表于 2020-9-15 19:29
由于你发的代码不全,控制蜂鸣器端口翻转的核心部分看不到,只能猜想是用的Px的Px.0和Px.1。所以很难用简 ...

谢谢大神  不甚感激  
回复

使用道具 举报

50#
ID:582903 发表于 2020-9-17 11:37 | 只看该作者
交流、频率
回复

使用道具 举报

51#
ID:595237 发表于 2020-9-17 23:09 | 只看该作者
QWE4562012 发表于 2020-9-16 18:14
你好   用了三端电感?产品空间很小  不可能放这么大插件电感的。。。还有你这种是有源蜂鸣器吧

是轰鸣片,         基本上报警声音响的都是用这样的,并且拆开看了好多。

如果没有空间,也没办法,  单片机直接二口能够驱动轰鸣片发声音没有看过,

不过那些音乐片  是直接有 io口 驱动 小喇叭的。声音也可以的,
回复

使用道具 举报

52#
ID:668004 发表于 2020-9-22 18:25 | 只看该作者
juncedz 发表于 2020-9-17 23:09
是轰鸣片,         基本上报警声音响的都是用这样的,并且拆开看了好多。

如果没有空间,也没办法,  ...

无源的就是这样驱动的  推挽  最大的功率
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表