找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8968|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机蜂鸣器仿真图+程序代码

[复制链接]
跳转到指定楼层
楼主
蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。

有源蜂鸣器和无源蜂鸣器的区别:
这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。

单片机源程序如下:
  1. #include<reg51.h>
  2. sbit sound=P1^7;
  3. #define f1(a) (65536-a)/256
  4. #define f2(a) (65536-a)%256
  5. unsigned int i=500;
  6. unsigned int j=0;

  7. void main(void)
  8. {
  9.    TMOD=0x10;
  10.    TH1=f1(i);
  11.    TL1=f2(i);
  12.    EA=1;
  13.    ET1=1;
  14.    TR1=1;
  15.    while(1)
  16.    {
  17.      i=460;
  18.          while(j<20000);
  19.          j=0;
  20.          i=360;
  21.          while(j<20000);
  22.          j=0;
  23.          }
  24.          }
  25.          void TT1(void) interrupt 3 using 0
  26.          {
  27.             TR1=0;
  28.                 sound=~sound;
  29.                 TH1=f1(i);
  30.                 TL1=f2(i);
  31.                 j++;
  32.                 TR1=1;
  33.                 }
复制代码

所有资料51hei提供下载:
蜂鸣器.rar (11.04 KB, 下载次数: 80)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:774167 发表于 2020-6-19 16:40 | 只看该作者
这个可以直接接在P1.7上吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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