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

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

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

相关推荐
阳光九叶草LXGZXJ7 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
陈卫军老师8 小时前
陈卫军语录全集总结:12句话,一条主线
经验分享·笔记
mlidongfeng10 小时前
【学习】mKernel 分析
学习
一只小小的芙厨11 小时前
【线性DP】
学习·算法·动态规划
2501_9269783312 小时前
给自指系统接一个外部锚 —— 一个关于「用 AI 观察自己」的方法
人工智能·经验分享·笔记·机器学习·ai写作
li星野12 小时前
DO — Auxiliary Verb (One-Page Notes)
学习
minglie112 小时前
关系的有向管道模型
学习
~kiss~13 小时前
LangChain 基础学习
学习·langchain
一木 之林14 小时前
提示词工程学习总结:用 Few-shot 把大模型调教成金融文本分类、抽取与匹配的自动化流水线
人工智能·学习·计算机视觉·金融·分类
传奇开心果编程14 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer