找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17841|回复: 0
收起左侧

单片机有源蜂鸣器试验程序(带电路图)

[复制链接]
ID:321301 发表于 2019-2-23 00:26 | 显示全部楼层 |阅读模式
今天给大家带来的是入门教程:利用stc89c52驱动有源蜂鸣器不同频率发声


蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。结构原理蜂鸣器
1.电压式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声





压电蜂鸣片 [1] 由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
2.电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声

电路原理图如下:
0.png

单片机源程序如下:
  1. #include<reg52.h>
  2. #define on 0
  3. #define off 1
  4. sbit fm = P2^3;
  5. void delay(unsigned int xms)                                
  6. {
  7.         unsigned int i,j;
  8.         for(i=xms;i>0;i--)                      //i=xms????xms??
  9.                 for(j=112;j>0;j--);
  10. }

  11. void main()
  12. {
  13.         while(1)
  14.   {
  15. //第一段渐变式鸣笛 20毫秒→200毫秒→500毫秒→1秒→500毫秒→200毫秒→20毫秒→
  16.     fm = off;
  17.                 delay(20);
  18.                 fm = on;
  19.                 delay(20);
  20.                 fm = off;
  21.                 delay(20);
  22.                 fm = off;
  23.                 delay(20);
  24.                 fm = on;
  25.                 delay(20);
  26.                 fm = off;
  27.                 delay(20);
  28.                 fm = off;
  29.                 delay(20);
  30.                 fm = on;
  31.                 delay(20);
  32.                 fm = off;
  33.                 delay(20);
  34.                 fm = off;
  35.                 delay(20);
  36.                 fm = on;
  37.                 delay(20);
  38.                 fm = off;
  39.                 delay(20);
  40.                 fm = off;
  41.                 delay(20);
  42.                 fm = on;
  43.                 delay(20);
  44.                 fm = off;
  45.                 delay(20);
  46.                 fm = off;
  47.                 delay(20);
  48.                 fm = on;
  49.                 delay(20);
  50.                 fm = off;
  51.                 delay(20);
  52.                 fm = off;
  53.                 delay(20);
  54.                 fm = on;
  55.                 delay(20);
  56.                 fm = off;
  57.                 delay(20);
  58.                 fm = off;
  59.                 delay(20);
  60.                 fm = on;
  61.                 delay(20);
  62.                 fm = off;
  63.                 delay(20);
  64.                 fm = on;
  65.                 delay(20);
  66.                
  67.                
  68.                 fm = off;
  69.                 delay(200);
  70.                 fm = on;
  71.                 delay(200);
  72.                 fm = off;
  73.                 delay(200);
  74.                 fm = off;
  75.                 delay(200);
  76.                 fm = on;
  77.                 delay(200);
  78.                 fm = off;
  79.                 delay(200);
  80.                 fm = off;
  81.                 delay(200);
  82.                 fm = on;
  83.                 delay(200);
  84.                 fm = off;
  85.                 delay(200);
  86.                 fm = off;
  87.                 delay(200);
  88.                 fm = on;
  89.                 delay(200);
  90.                 fm = off;
  91.                 delay(200);
  92.                 fm = off;
  93.                 delay(200);
  94.                 fm = on;
  95.                 delay(200);
  96.                 fm = off;
  97.                 delay(200);
  98.                 fm = off;
  99.                 delay(200);
  100.                 fm = on;
  101.                 delay(200);
  102.                 fm = off;
  103.                 delay(200);
  104.                 fm = off;
  105.                 delay(200);
  106.                 fm = on;
  107.                 delay(200);
  108.                 fm = off;
  109.                 delay(200);
  110.                 fm = off;
  111.                 delay(200);
  112.                 fm = on;
  113.                 delay(200);
  114.                 fm = off;
  115.                 delay(200);
  116.                 fm = on;
  117.                
  118.                 fm = off;
  119.                 delay(500);
  120.                 fm = on;
  121.                 delay(500);
  122.                 fm = off;
  123.                 delay(500);
  124.                 fm = off;
  125.                 delay(500);
  126.                 fm = on;
  127.                 delay(500);
  128.                 fm = off;
  129.                 delay(500);
  130.                 fm = off;
  131.                 delay(500);
  132.                 fm = on;
  133.                 delay(500);
  134.                 fm = off;
  135.                 delay(500);
  136.                 fm = off;
  137.                 delay(500);
  138.                 fm = on;
  139.                 delay(500);
  140.                 fm = off;
  141.                 delay(500);
  142.                 fm = off;
  143.                 delay(500);
  144.                 fm = on;
  145.                 delay(500);
  146.                 fm = off;
  147.                 delay(500);
  148.                 fm = off;
  149.                 delay(500);
  150.                 fm = on;
  151.                 delay(500);
  152.                 fm = off;
  153.                 delay(500);
  154.                 fm = off;
  155.                 delay(500);
  156.                 fm = on;
  157.                 delay(500);
  158.                 fm = off;
  159.                 delay(500);
  160.                 fm = off;
  161.                 delay(500);
  162.                 fm = on;
  163.                 delay(500);
  164.                 fm = off;
  165.                 delay(500);
  166.                 fm = on;
  167.                     
  168.    
  169.                 fm = off;
  170.                 delay(1000);
  171.                 fm = on;
  172.                 delay(1000);
  173.                 fm = off;
  174.                 delay(1000);
  175.                 fm = off;
  176.                 delay(1000);
  177.                 fm = on;
  178.                 delay(1000);
  179.                 fm = off;
  180.                 delay(1000);
  181.                 fm = off;
  182.                 delay(1000);
  183.                 fm = on;
  184.                 delay(1000);
  185.                 fm = off;
  186.                 delay(1000);
  187.                 fm = off;
  188.                 delay(1000);
  189.                 fm = on;
  190.                 delay(1000);
  191.                 fm = off;
  192.                 delay(1000);
  193.                 fm = off;
  194.                 delay(1000);
  195.                 fm = on;
  196.                 delay(1000);
  197.                 fm = off;
  198.                 delay(1000);
  199.                 fm = on;
  200.     delay(1000);               

  201.                
  202.                 fm = off;
  203.                 delay(500);
  204.                 fm = on;
  205.                 delay(500);
  206.                 fm = off;
  207.                 delay(500);
  208.                 fm = off;
  209.                 delay(500);
  210.                 fm = on;
  211.                 delay(500);
  212.                 fm = off;
  213.                 delay(500);
  214.                 fm = off;
  215.                 delay(500);
  216.                 fm = on;
  217.                 delay(500);
  218.                 fm = off;
  219.                 delay(500);
  220.                 fm = off;
  221.                 delay(500);
  222.                 fm = on;
  223.                 delay(500);
  224.                 fm = off;
  225.                 delay(500);
  226.                 fm = off;
  227.                 delay(500);
  228.                 fm = on;
  229.                 delay(500);
  230.                 fm = off;
  231.                 delay(500);
  232.                 fm = off;
  233.                 delay(500);
  234.                 fm = on;
  235.                 delay(500);
  236.                 fm = off;
  237.                 delay(500);
  238.                 fm = off;
  239.                 delay(500);
  240.                 fm = on;
  241.                 delay(500);
  242.                 fm = off;
  243.                 delay(500);
  244.                 fm = off;
  245.                 delay(500);
  246.                 fm = on;
  247.                 delay(500);
  248.                 fm = off;
  249.                 delay(500);
  250.                 fm = on;
  251.                 delay(500);
  252.                
  253.                 fm = off;
  254.                 delay(200);
  255.                 fm = on;
  256.                 delay(200);
  257.                 fm = off;
  258.                 delay(200);
  259.                 fm = off;
  260.                 delay(200);
  261.                 fm = on;
  262.                 delay(200);
  263.                 fm = off;
  264.                 delay(200);
  265.                 fm = off;
  266.                 delay(200);
  267.                 fm = on;
  268.                 delay(200);
  269.                 fm = off;
  270.                 delay(200);
  271.                 fm = off;
  272.                 delay(200);
  273.                 fm = on;
  274.                 delay(200);
  275.                 fm = off;
  276.                 delay(200);
  277.                 fm = off;
  278.                 delay(200);
  279.                 fm = on;
  280.                 delay(200);
  281.                 fm = off;
  282.                 delay(200);
  283.                 fm = off;
  284.                 delay(200);
  285.                 fm = on;
  286.                 delay(200);
  287.                 fm = off;
  288.                 delay(200);
  289.                 fm = off;
  290.                 delay(200);
  291.                 fm = on;
  292.                 delay(200);
  293.                 fm = off;
  294.                 delay(200);
  295.                 fm = off;
  296.                 delay(200);
  297.                 fm = on;
  298.                 delay(200);
  299.                 fm = off;
  300.                 delay(200);
  301.                 fm = on;
  302.     delay(200);
  303.                
  304.                
  305.                 fm = off;
  306.                 delay(20);
  307.                 fm = on;
  308.                 delay(20);
  309.                 fm = off;
  310.                 delay(20);
  311.                 fm = off;
  312.                 delay(20);
  313.                 fm = on;
  314.                 delay(20);
  315.                 fm = off;
  316.                 delay(20);
  317.                 fm = off;
  318.                 delay(20);
  319.                 fm = on;
  320.                 delay(20);
  321.                 fm = off;
  322.                 delay(20);
  323.                 fm = off;
  324.                 delay(20);
  325.                 fm = on;
  326.                 delay(20);
  327.                 fm = off;
  328.                 delay(20);
  329.                 fm = off;
  330.                 delay(20);
  331.                 fm = on;
  332.                 delay(20);
  333.                 fm = off;
  334.                 delay(20);
  335.                 fm = off;
  336.                 delay(20);
  337.                 fm = on;
  338.                 delay(20);
  339.                 fm = off;
  340.                 delay(20);
  341.                 fm = off;
  342.                 delay(20);
  343.                 fm = on;
  344.                 delay(20);
  345.                 fm = off;
  346.                 delay(20);
  347.                 fm = off;
  348.                 delay(20);
  349.                 fm = on;
  350.                 delay(20);
  351.                 fm = off;
  352.                 delay(20);
  353.                 fm = on;
  354.                 delay(20);
  355.         }
  356. }
复制代码

所有资料51hei提供下载:
不同频率的蜂鸣器实验.zip (65.63 KB, 下载次数: 27)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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