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

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

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

相关推荐
咸鱼翻身小阿橙39 分钟前
现在这个四通道出现的问题
学习
wgego2 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
云贝教育-郑老师2 小时前
OceanBase 是如何搞定海量数据分片(Sharding)的?
学习·oceanbase·dba
编程圈子3 小时前
电机驱动开发学习23. 保护体系与故障状态机
驱动开发·学习
别动我齐刘海4 小时前
Day6 unitree_G1人形机器人GMR—— MotionInput
c语言·c++·人工智能·学习·机器学习·机器人·github
神秘的MT5 小时前
C# WinForm Socket 服务器 + 串口转发
服务器·网络·学习·c#
依然范特东5 小时前
强化学习笔记6--IS、PPO、TD、DQN、Actor-Critic
笔记·算法
zzzll11115 小时前
0基础入门大模型:一份清晰的学习路线图
人工智能·学习·chatgpt
正经人_x6 小时前
学习日记48:DenseCLIP
学习
DevangLic6 小时前
monkeycode-使用说明
学习·ai