(基于江协科技)51单片机入门:9.蜂鸣器

蜂鸣器

蜂鸣器是一种将电信号转换为声音信号的器件

蜂鸣器按驱动方式分可分:

1.有源蜂鸣器

内部自带震荡源,将正负极接上直流电压即可持续发声,频率固定

2.无源蜂鸣器

内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音

蜂鸣器的BZ于步进电机模块接通

ULN2003D

会进行取反 7B 给 1 ,7C收到0

7B 给 0 ,7C收到1

所以7B 给 1 才能驱动蜂鸣器

也就是控制P15,去控制蜂鸣器

低音a为基准频率 440

中音a 是低音的两倍 880

高音 a 是低音的4被 1760

低音a和低音a#的差值是 440*2^(1/12)

1/12=0.083

2^0.083=1.0592

440*1.0592=466.048

1.矩阵按键按下驱动蜂鸣器

cpp 复制代码
#include <REGX52.H>
#include "key.h"
#include "Delay.h"
sbit buzzer = P2^5;

void lig(int num1,int num2)
{
	unsigned char arr[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F };
	switch(num1)
	{
		case 1:P2_4=0,P2_3=0,P2_2=0;break;
		case 2:P2_4=0,P2_3=0,P2_2=1;break;
		case 3:P2_4=0,P2_3=1,P2_2=0;break;
		case 4:P2_4=0,P2_3=1,P2_2=1;break;
		case 5:P2_4=1,P2_3=0,P2_2=0;break;
		case 6:P2_4=1,P2_3=0,P2_2=1;break;
		case 7:P2_4=1,P2_3=1,P2_2=0;break;
		case 8:P2_4=1,P2_3=1,P2_2=1;break;
	}
	P0 = arr[num2];
}


int main()
{
	unsigned char ret_key = 0;
	unsigned int i = 0;
	while(1)
	{
		ret_key = key();
		if(ret_key)
		{
			for(i = 0; i < 500; i++)
			{
					buzzer = !buzzer;
					Delay(1);
			}
		lig(1,ret_key%10);
		}
	}
	return 0;
}
相关推荐
南山电子nscn17 小时前
长晶科技CJA1117B系列低压差、高精度LDO稳压器赋能多元电子设备
科技·ldo稳压器
长江后浪博客19 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
电子制造自留地19 小时前
什么是PCB碳油板:碳浆印刷按键原理与制造工艺
科技·制造·pcb工艺·电路板
单片机仿真设计20 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路20 小时前
单片机·电子时钟
单片机·嵌入式硬件
爱浦路 IPLOOK21 小时前
矿山无人化作业5G专网方案:企业专网核心网络选型分析
网络·分布式·科技·5g·信息与通信
财复视界21 小时前
光智科技从“光学元件”到“稀散金属材料平台”的进化逻辑
大数据·人工智能·科技
qq_1612413521 小时前
北睿科技关于单晶金刚石基底镀膜AL层对激发X射线能谱响应特性的影响研究
科技·半导体
nanoscientific1 天前
空气纳米气泡水强化稻草–猪粪厌氧共消化——通过协同代谢与抗氧化节能实现甲烷增产 59.80%
科技·微纳米气泡
SleepNW_POV1 天前
家居科普|床垫溜边塌陷成因解析与边缘加固床垫选购指南
人工智能·科技·智能家居·睡眠