普中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);

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

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

相关推荐
Slow菜鸟18 分钟前
AI学习篇(四) | AI设计类Skills推荐清单(2026年)
人工智能·学习
freexyn18 分钟前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
念恒1230622 分钟前
Python(列表进阶)
python·学习
QYQ_11272 小时前
嵌入式学习——杂项设备、Platform总线和设备树源文件
学习
IT摆渡者2 小时前
linux 系统安全检查
运维·网络·经验分享·笔记
wuxinyan1233 小时前
大模型学习之路03:提示工程从入门到精通(第三篇)
人工智能·python·学习
十安_数学好题速析4 小时前
【多选】曲线方程:四步避坑判断曲线类型
笔记·学习·高考
千寻girling4 小时前
五一劳动节快乐 [特殊字符][特殊字符][特殊字符]
java·c++·git·python·学习·github·php
波特率1152005 小时前
git指令学习
git·学习
eLIN TECE5 小时前
Golang 构建学习
开发语言·学习·golang