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

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

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

相关推荐
海兰7 分钟前
【第39篇】spring-ai-alibaba-graph-example学习路径概览
人工智能·spring boot·学习·spring·spring ai
wuxinyan12321 分钟前
大模型学习之路008:RAG 零基础入门教程(第五篇):完整 Naive RAG 系统搭建与评估
人工智能·学习·rag
小新同学^O^21 分钟前
简单学习 --> Docker容器
学习·docker·容器
西梅汁22 分钟前
C++ 桥接模式(结构型)
笔记
即将进化成人机24 分钟前
乡治通——议题审核、议程和日志管理
windows·笔记
2601_9521963635 分钟前
经济学专业学习数据分析的价值
学习·数据挖掘·数据分析
墨倾许1 小时前
从零搭建运维学习环境(2026):WSL + Docker + Git + VS Code 完全指南
运维·git·学习·docker·容器·bash
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.05.09 题目:1914. 循环轮转矩阵
笔记·leetcode·矩阵
chushiyunen1 小时前
influxdb数据库笔记
笔记·时序数据库
月白风清江有声1 小时前
下载电影开字幕(不是实时的ployer)
linux·学习