蜂鸣器_单片机_普中

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了蜂鸣器_单片机_普中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1 蜂鸣器介绍

       蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于电子产品中作为发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

蜂鸣器_单片机_普中

2 功能要求

   让蜂鸣器(无源蜂鸣器)发出声音,一段时间后再关闭,即让管脚输出一定频率的脉冲信号(高低电平)控制无源蜂鸣器。

3 硬件设计

蜂鸣器_单片机_普中

4 软件设计

4.1 蜂鸣器发出声音

  原理分析:一定频率的脉冲信号(高低电平)控制无源蜂鸣器,频率控制音调;而无源蜂鸣器频率工作范围为1.5-2.5Khz。

 1 #include "reg52.h"
 2 
 3 typedef unsigned char u8;     //对系统默认数据类型重新定义
 4 typedef unsigned int  u16;
 5 
 6 sbit BEEP = P2^5;      //原理图可知,蜂鸣器管脚连接P2.5
 7 
 8 void delay_10us(u16 ten_us)     //当传入ten_us=1,大约延时10us
 9 {
10      while(ten_us--);
11 }
12 
13 void main()
14 {
15     u16 i = 2000;  //循环次数为2000
16     while(1)
17     {
18         while(i--)
19         {
20         BEEP = !BEEP;    //产生一定频率的脉冲
21         delay_10us(100);    //大约延迟100x10us=1ms
22         }
23         i = 0;           //清零
24         BEEP = 0;      //关闭蜂鸣器(无源)
25     }
26 }

现象:使用USB线将开发板和电脑连接成功后,把编译后产生的.hex文件烧入芯片内,可以听到蜂鸣器发出声音,一段时间后关闭。

 4.2 调整蜂鸣器的响度

  原理分析:通过修改输出高低电平的时间,即脉冲的占空比,可改变音量。

 1 #include "reg52.h"
 2 
 3 typedef unsigned char u8;     //对系统默认数据类型重新定义
 4 typedef unsigned int  u16;
 5 
 6 sbit BEEP = P2^5;      //原理图可知,蜂鸣器管脚连接P2.5
 7 
 8 void delay_10us(u16 ten_us)     //当传入ten_us=1,大约延时10us
 9 {
10      while(ten_us--);
11 }
12 
13 void main()
14 {
15     u16 i = 2000;  //循环次数为2000
16     while(1)
17     {
18         while(i--)
19         {
20         BEEP = 1;    
21         delay_10us(190);    //高电平持续时间    
22         BEEP = 0;    
23         delay_10us(10);        //低电平持续时间,通过改变占空比,可调节蜂鸣器的响度
24         }
25         i = 0;           //清零
26         BEEP = 0;      //关闭蜂鸣器(无源)
27     }
28 }

参考资料:(1)普中51单片机课程(A2-A7全系列视频教程)_哔哩哔哩_bilibili;

脚本宝典总结

以上是脚本宝典为你收集整理的蜂鸣器_单片机_普中全部内容,希望文章能够帮你解决蜂鸣器_单片机_普中所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: