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

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

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

相关推荐
丝斯20114 小时前
AI学习笔记整理(70)——AI+CAE
人工智能·笔记·学习
初夏睡觉4 小时前
笔记(动态规划(引入)1)
笔记·算法·动态规划
三万棵雪松4 小时前
【Linux Shell 编程基础学习与实践作业】
linux·运维·网络·学习·嵌入式linux
热爱生活的猴子4 小时前
二分查找类算法题核心笔记
数据结构·笔记·算法
会算数的⑨4 小时前
Spring AI Alibaba 学习(三):Graph Workflow 深度解析(下篇)
java·人工智能·分布式·后端·学习·spring·saa
来两个炸鸡腿5 小时前
【Datawhale组队学习202602】Hello-Agents task03 大语言模型基础
人工智能·学习·语言模型·大模型·智能体
CappuccinoRose5 小时前
HTML语法学习文档(三)
前端·学习·html·html5·标签·实体字符
地球空间-技术小鱼5 小时前
搜罗Linux桌面环境(Desktop Environments)列表
linux·运维·服务器·笔记·学习·ubuntu·debian
联盟大队长5 小时前
Spring学习第一天
学习
蒸蒸yyyyzwd5 小时前
力扣刷题笔记
笔记·算法·leetcode