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

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

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

相关推荐
AI即插即用5 分钟前
即插即用系列 | MICCAI EM-Net:融合 Mamba 与频域学习的高效 3D 医学图像分割网络
网络·人工智能·深度学习·神经网络·学习·计算机视觉·视觉检测
Chunyyyen10 分钟前
【第二十六周】OCR学习01
学习·计算机视觉·ocr
AI视觉网奇11 分钟前
图生3d 人脸 算法笔记 2025
笔记·3d
charlie11451419113 分钟前
现代C++工程实践:简单的IniParser4——实现ini_parser
开发语言·c++·笔记·学习·工程
好奇龙猫23 分钟前
【AI学习-comfyUI学习-第十五节-FLUX修复工作流-各个部分学习】
学习
天`南1 小时前
【群智能算法改进】一种改进的金豺优化算法IGJO[1](动态折射反向学习、黄金正弦策略、自适应能量因子)【Matlab代码#94】
学习·算法·matlab
长桥夜波1 小时前
【第二十三周】统计学习复习笔记
笔记·学习
pandarking1 小时前
[CTF]攻防世界:easy_laravel 学习
java·学习·web安全·laravel·ctf
AA陈超1 小时前
LyraStarterGame 5.6 项目学习路径
c++·笔记·学习·lyra
其美杰布-富贵-李1 小时前
Fluent 网格质量全面评估(完整学习笔记)
笔记·学习·cfd·fluent·网格质量