普中51单片机学习笔记——蜂鸣器

蜂鸣器如果一直在高或低电平是不会发声的,频率要在1.5kHz到5kHz

代码如下

cpp 复制代码
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit BEEP=P2^5;
void delay_1(u16 ten){
	while(ten--);
}
void main(){
	u16 i=2000;//调节周期次数
	while(1){
		while(i--)
		{
			BEEP=!BEEP;//让BEEP在0和1之间来回切换
			delay_1(100);//调节频率
		}
		i=0;//不让i变负
		BEEP=0;//可以省略
	}
}

调节声音大小需要把while(i--)里的程序变为如下

BEEP=0;

delay_1(50);

BEEP=1;

delay_1(150);

调节高电平持续时间,不过可能觉得不明显

如果在测试过程中觉得蜂鸣器过于响,可以按下开关把单片机暂时关一下

相关推荐
大筒木老辈子19 分钟前
Git笔记---其他常用操作
笔记·git
做cv的小昊1 小时前
科研论文PPT绘图技巧:绘制任意曲线三角形(胖三角形)并制作效果对比图
经验分享·笔记·学习·微软·ai绘画·数据可视化
小呀小萝卜儿1 小时前
2025-11-14 学习记录--Python-使用sklearn+检测 .csv 文件的编码+读取 .csv 文件
python·学习
霖002 小时前
ZYNQ——ultra scale+ IP 核详解与配置
服务器·开发语言·网络·笔记·网络协议·tcp/ip
月下倩影时2 小时前
视觉学习篇——模型推理部署:从“炼丹”到“上桌”
人工智能·深度学习·学习
谅望者2 小时前
数据分析笔记10:数据容器
笔记·数据挖掘·数据分析
谅望者2 小时前
数据分析笔记05:区间估计
笔记·数据挖掘·数据分析
@游子2 小时前
内网渗透笔记-Day2
笔记
河铃旅鹿3 小时前
Android开发-java版:SQLite数据库
android·数据库·笔记·学习·sqlite
optimistic_chen4 小时前
【Java EE进阶 --- SpringBoot】AOP原理
spring boot·笔记·后端·java-ee·开源·aop