51蜂鸣器播放提示音和音乐(完整代码可附赠Proteus仿真)
蜂鸣器播放提示音
#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#include "Nixie.h"
#include "Buzzer.h"
unsigned char KeyNum;
void main()
{
Nixie(1,0);
while(1)
{
KeyNum=Key();
if(KeyNum)
{
Buzzer_Time(100);
Nixie(1,KeyNum);
}
}
}
蜂鸣器播放音乐
#include <REGX52.H>
#include "Delay.h"
#include "Timer0.h"
//蜂鸣器端口定义
sbit Buzzer=P1^5;
//播放速度,值为四分音符的时长(ms)
#define SPEED 500
//音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号#
#define P 0
#define L1 1
#define L1_ 2
#define L2 3
#define L2_ 4
#define L3 5
#define L4 6
#define L4_ 7
#define L5 8
#define L5_ 9
#define L6 10
#define L6_ 11
#define L7 12
#define M1 13
#define M1_ 14
#define M2 15
#define M2_ 16
#define M3 17
#define M4 18
#define M4_ 19
#define M5 20
#define M5_ 21
#define M6 22
#define M6_ 23
#define M7 24
#define H1 25
#define H1_ 26
#define H2 27
#define H2_ 28
#define H3 29
#define H4 30
#define H4_ 31
#define H5 32
#define H5_ 33
#define H6 34
#define H6_ 35
#define H7 36
//索引与频率对照表
unsigned int FreqTable[]={
0,
63628,63731,63835,63928,64021,64103,64185,64260,64331,64400,64463,64528,
64580,64633,64684,64732,64777,64820,64860,64898,64934,64968,65000,65030,
65058,65085,65110,65134,65157,65178,65198,65217,65235,65252,65268,65283,
};
//乐谱
unsigned char code Music[]={
//音符,时值,
//1
P, 4,
P, 4,
P, 4,
M6, 2,
M7, 2,
H1, 4+2,
M7, 2,
H1, 4,
H3, 4,
M7, 4+4+4,
M3, 2,
M3, 2,
//2
M6, 4+2,
M5, 2,
M6, 4,
H1, 4,
M5, 4+4+4,
M3, 4,
M4, 4+2,
M3, 2,
M4, 4,
H1, 4,
//3
M3, 4+4,
P, 2,
H1, 2,
H1, 2,
H1, 2,
M7, 4+2,
M4_,2,
M4_,4,
M7, 4,
M7, 8,
P, 4,
M6, 2,
M7, 2,
//4
H1, 4+2,
M7, 2,
H1, 4,
H3, 4,
M7, 4+4+4,
M3, 2,
M3, 2,
M6, 4+2,
M5, 2,
M6, 4,
H1, 4,
//5
M5, 4+4+4,
M2, 2,
M3, 2,
M4, 4,
H1, 2,
M7, 2+2,
H1, 2+4,
H2, 2,
H2, 2,
H3, 2,
H1, 2+4+4,
//6
H1, 2,
M7, 2,
M6, 2,
M6, 2,
M7, 4,
M5_,4,
M6, 4+4+4,
H1, 2,
H2, 2,
H3, 4+2,
H2, 2,
H3, 4,
H5, 4,
//7
H2, 4+4+4,
M5, 2,
M5, 2,
H1, 4+2,
M7, 2,
H1, 4,
H3, 4,
H3, 4+4+4+4,
//8
M6, 2,
M7, 2,
H1, 4,
M7, 4,
H2, 2,
H2, 2,
H1, 4+2,
M5, 2+4+4,
H4, 4,
H3, 4,
H3, 4,
H1, 4,
//9
H3, 4+4+4,
H3, 4,
H6, 4+4,
H5, 4,
H5, 4,
H3, 2,
H2, 2,
H1, 4+4,
P, 2,
H1, 2,
//10
H2, 4,
H1, 2,
H2, 2,
H2, 4,
H5, 4,
H3, 4+4+4,
H3, 4,
H6, 4+4,
H5, 4+4,
//11
H3, 2,
H2, 2,
H1, 4+4,
P, 2,
H1, 2,
H2, 4,
H1, 2,
H2, 2+4,
M7, 4,
M6, 4+4+4,
P, 4,
0xFF //终止标志
};
unsigned char FreqSelect,MusicSelect;
void main()
{
Timer0Init();
while(1)
{
if(Music[MusicSelect]!=0xFF) //如果不是停止标志位
{
FreqSelect=Music[MusicSelect]; //选择音符对应的频率
MusicSelect++;
Delay(SPEED/4*Music[MusicSelect]); //选择音符对应的时值
MusicSelect++;
TR0=0;
Delay(5); //音符间短暂停顿
TR0=1;
}
else //如果是停止标志位
{
TR0=0;
while(1);
}
}
}
void Timer0_Routine() interrupt 1
{
if(FreqTable[FreqSelect]) //如果不是休止符
{
/*取对应频率值的重装载值到定时器*/
TL0 = FreqTable[FreqSelect]%256; //设置定时初值
TH0 = FreqTable[FreqSelect]/256; //设置定时初值
Buzzer=!Buzzer; //翻转蜂鸣器IO口
}
}
51蜂鸣器播放提示音和音乐(完整代码可附赠Proteus仿真)相关推荐
- 51LED呼吸灯(完整代码可附赠Proteus仿真)
#include <REGX52.H> sbit LED=P2^0; void Delay(unsigned int t) { while(t--); } void main() ...
- 51LCD1602显示屏(完整代码可附赠Proteus仿真)
#include <REGX52.H> #include "LCD1602.h" #include "Delay.h" void main() { ...
- 51单片机 蜂鸣器播放提示音
主函数 #include <REGX52.H> #include "Delay.h" #include "Key.h" #include " ...
- html 消息通知声音,ajax实现web页面的消息实时提醒时播放提示音
在应用系统的开发过程中,经常要使用到新消息的提醒功能,比如说后台有一个告警消息,web页面就会实时的收到这个告警的消息,且发出提示音. 这其实就是涉及到两个方面的知识,一个是http实时消息的推送,在 ...
- php播放一个提示音,ajax实现web页面的消息实时提醒时播放提示音
在应用系统的开发过程中,经常要使用到新消息的提醒功能,比如说后台有一个告警消息,web页面就会实时的收到这个告警的消息,且发出提示音. 这其实就是涉及到两个方面的知识,一个是http实时消息的推送,在 ...
- 如何在html自动播放提示音,ajax实现web页面的消息实时提醒时播放提示音
在应用系统的开发过程中,经常要使用到新消息的提醒功能,比如说后台有一个告警消息,web页面就会实时的收到这个告警的消息,且发出提示音. 这其实就是涉及到两个方面的知识,一个是http实时消息的推送,在 ...
- LabVIEW播放提示声音或者音乐
使用LabVIEW播放提示声音或者音乐,可在LabVIEW中右键鼠标:函数→声音→输出,选择相应的函数,如下图所示: 播放提示声音或者音乐流程为:播放文件.判断播放是否结束以及最后播放结束释放资源,如 ...
- python3 def download_python3下载抖音视频的完整代码
python3下载抖音视频的代码如下所示: # -*- coding:utf-8 -*- from contextlib import closing import requests, json, r ...
- html4播放mp3,在网页播放MP3、WMA音乐的代码
一.在网页播放MP3.WMA音乐的代码(极速模式和兼容模式都显示) border="0" width="460" height="68" t ...
- FPGA VHDL语言实现FIR低通滤波器,包含完整代码,可在modelsim仿真 可仿真
FPGA VHDL语言实现FIR低通滤波器,包含完整代码,可在modelsim仿真 可仿真,可在FPGA开发板硬件实现 ID:94150683735518602yqgo
最新文章
- C#字符串与享元(Flyweight)模式
- caffe 人脸关键点检测_全套 | 人脸检测 人脸关键点检测 人脸卡通化
- Android N混合编译与对热补丁影响深度解析
- Java 集合 ArrayList 需要知道的几个问题
- JS function立即调用的几种写法
- 如何在logcat中获取多个tag标签的过滤信息
- CSS自学笔记(9):CSS拓展(二)
- 神州数码DCWS学习日志
- C#1所搭建的核心基础
- GNU make manual 翻译( 一百八十七)
- python-enurmate
- BeanDefinitionRegistryPostProcessor是什么?
- 锐捷自动定时启动,开机自动认证校园网 教程
- 六、矩阵键盘的扫描原理与基本应用
- java+ElementUI前后端分离旅游项目第五天 移动端开发上
- CubieBoard6(S500,armhf)安装ROS过程
- C语言编程实现Euclid GCD算法 作业
- 内容领先地位无法撼动,腾讯音乐与环球续约将共建新厂牌
- IOS天气预报(美化)
- 当我开始爱自己——卓别林
热门文章
- resnet的演化(res2net,resnext,se-resnet,sk-resnet,resnest)
- microsoft store 安装包_LOL英雄联盟手游官方安装包
- Java常用到的快捷键
- 无水印的html5制作软件,ScreenToGif-开源、简单、无水印的gif动图制作软件
- 远程控制别人计算机,如何远程控制别人的电脑?手把手教你远程操控别人的电脑!...
- 陪集编码(Coset coding)
- java命令执行的三种方式
- 项目日报模板_笔杆子材料:写作技巧之如何写好日报、周报、月报(一)
- 转载:vc6.0 打开文件的时候出现Microsoft Visual C++:MSDEV.EXE 应用程序错误
- 使用js调用摄像头拍照