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

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

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

相关推荐
xyx-3v23 分钟前
RK3506G移植APM飞控的可行性
单片机·学习
IMPYLH33 分钟前
Lua 的 Math(数学) 模块
开发语言·笔记·lua
EmmaXLZHONG35 分钟前
Notes of Software Engineering Ninth Edition(软件工程第九版笔记)
笔记·软件工程
free-elcmacom43 分钟前
机器学习高阶教程<6>推荐系统高阶修炼手册:混排、多任务与在线学习,解锁精准推荐新境界
人工智能·python·学习·算法·机器学习·机器人
断剑zou天涯43 分钟前
【算法笔记】AC自动机
java·笔记·算法
崇山峻岭之间1 小时前
Matlab学习记录06
前端·学习·matlab
黑客思维者1 小时前
机器学习008:监督学习【回归算法】(逻辑回归)--AI世界的“是非判断题大师”
人工智能·学习·机器学习·逻辑回归
山土成旧客1 小时前
【Python学习打卡-Day24】从不可变元组到漫游文件系统:掌握数据结构与OS模块
数据结构·python·学习
小徐不会敲代码~1 小时前
Vue3 学习 4
前端·vue.js·学习
MarkHD1 小时前
智能体在车联网中的应用:第5天 车联网导论与体系认知:驶向智能出行的未来
学习