4-C51-蜂鸣器

以下是高低电平持续时间各为1ms,一个周期是2ms,由公式T=1/f(f为频率)=2ms=1000/f,所以f为500HZ。知道了以上上面的知识后,我们还需要知道一个公式T=1/f(f为频率),蜂鸣器是靠高低电信号,方波开发出声音的.以下是音乐盒仅个人参考(详细有需要私信我)以下是涉及到的原理图;以下是实现两种频率声音。
摘要由CSDN通过智能技术生成

概要

蜂鸣器使用

技术解释

蜂鸣器发声的频率
在这里插入图片描述
各个音调的频率
在这里插入图片描述
知道了以上上面的知识后,我们还需要知道一个公式T=1/f(f为频率),蜂鸣器是靠高低电信号,方波开发出声音的.

以下是涉及到的原理图;
在这里插入图片描述
在这里插入图片描述

技术细节

以下是高低电平持续时间各为1ms,一个周期是2ms,由公式T=1/f(f为频率)=2ms=1000/f,所以f为500HZ

#include <REGX52.H>
#include "DelayXms.H"
sbit BUZZER = P2^5;

void main(){
   
	
	while(1)
	{
   
		BUZZER = ~BUZZER;
		DelayXms(1);
	}

}

以下是实现两种频率声音

#include <REGX52.H>
#include "DelayXms.H"
sbit BUZZER = P2^5;

void main(){
   
	unsigned int i;
	while(1)
	{
   
		for(i=0;i<100;i++)
		{
   
			BUZZER = ~BUZZER;
		  DelayXms(1);
		}
		for(i=0;i<100;i++)
		{
   
			BUZZER = ~BUZZER;
		  DelayXms(3);
		}
		
	}

}

以下是音乐盒仅个人参考(详细有需要私信我)

#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__

#include <REGX51.H>

//**************************************************************************

#define SYSTEM_OSC 		11059200//12000000	//??????12000000HZ
#define SOUND_SPACE 	4/5 		//?????????????,//?4?????
sbit    BeepIO    =   	P2^5;		//??????

unsigned int  code FreTab[12]  = {
    262,277,294,311,330,349,369,392,415,440,466,494 }; //?????
unsigned char code SignTab[7]  = {
    0,2,4,5,7,9,11 }; 								  //1~7????????
unsigned char code LengthTab[7]= {
    1,2,4,8,16,32,64 };						
unsigned char Sound_Temp_TH0,Sound_Temp_TL0;	//????????? 
unsigned char Sound_Temp_TH1,Sound_Temp_TL1;	//?????????
//**************************************************************************
unsigned char code Music_Girl[]={
    0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,
                                  0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,
                                  0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,
                                  0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,
                                  0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,
                                  0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,
                                  0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,
                                  0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,
                                  0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,
                                  0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,
                                  0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,
                                  0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,
                                  0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
                                  0x1A,0x03, 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值