找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 18777|回復(fù): 0
收起左側(cè)

單片機(jī)有源蜂鳴器試驗(yàn)程序(帶電路圖)

[復(fù)制鏈接]
ID:321301 發(fā)表于 2019-2-23 00:26 | 顯示全部樓層 |閱讀模式
今天給大家?guī)?lái)的是入門教程:利用stc89c52驅(qū)動(dòng)有源蜂鳴器不同頻率發(fā)聲


蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“ZZG”、“LB”、“JD”等)表示。結(jié)構(gòu)原理蜂鳴器
1.電壓式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。
多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.5~15V直流工作電壓),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲





壓電蜂鳴片 [1] 由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。
2.電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。
接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲

電路原理圖如下:
0.png

單片機(jī)源程序如下:
  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. }
復(fù)制代碼

所有資料51hei提供下載:
不同頻率的蜂鳴器實(shí)驗(yàn).zip (65.63 KB, 下載次數(shù): 27)





評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表