51单片机蜂鸣器应用

蜂鸣器

1.代码

c 复制代码
#include <reg51.h>
#include <intrins.h>
#define u16 unsigned int
#define u8 unsigned char 

sbit BEEP = P2^5;
void delay_50ms(u16 us) {
	while(us--);
}
void main() {
     u16 i = 2000;
	 while(1) {
		while(i--) {
//			BEEP = ~BEEP;
//			delay_50ms(100);		//延时1ms	低电平执行1ms,高电平执行1ms T = 1/0.001 = 1000hz
			BEEP = 0;
			delay_50ms(10);
			BEEP = 1;
			delay_50ms(190);
		}	
		i = 0;
		BEEP = 0;
	 }
}

2.原理图

3.蜂鸣器发声原理

蜂鸣器分为有源和无源蜂鸣器,而有源蜂鸣器发声给它接通电源就可以发声了,而无源蜂鸣器需要给它一个脉冲信号才可以发出声音,就是一个低电平一个高电平,这么一个脉冲信号,对于无源蜂鸣器来说想要蜂鸣器越响则通过占空比控制的,占空比就是在一个周期内,调整高电平与低电平持续的时间从而改变蜂鸣器声音的大小。

用来更改一个周期内高电平与低电平所持续的时间就是占空比,通过调节占空比从而达到控制蜂鸣器声音大小,在代码中调整高电平与低电平持续时间用延时函数控制,例如一个周期内持续时间是2ms,低电平是1ms,高电平是1ms,那么通过延时函数控制低电平延时时间是0.5ms,高电平是1.5ms,那么在一个周期内,低电平持续的时间是0.5ms,高电平持续的时间是1.5ms,改变高低电平持续的时间从而实现控制蜂鸣器发声的大小。

相关推荐
春风解人意几秒前
从零开始学习嵌入式P35----数据库
数据库·嵌入式硬件·学习
单片机仿真设计22 分钟前
【Proteus 仿真】基于 STM32 单片机智能楼宇照明控制系统设计(定制仿真咨询)
stm32·单片机·嵌入式硬件·proteus·毕设
ACP广源盛1392462567338 分钟前
M6/M5 Pro Mac mini 端侧 AI 爆发@ACP#YLB3118 存储扩展芯片在本地 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
HUI-4741 小时前
EG1198|ESOP‑8 高性价比内置 MOS 降压 DC‑DC,10‑120V 小功率车载仪表优选
嵌入式硬件·硬件工程
长江后浪博客12 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计13 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路14 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路17 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
思麟呀17 小时前
嵌入式入门(一)宏观生态到首次烧录
c语言·嵌入式硬件
runningshark17 小时前
SC32L14GR8PJR
单片机·嵌入式硬件