利用51单片机蜂鸣器播放《只因你太美》代码
使用以下代码在51单片机上控制蜂鸣器播放“只因你太美”的音乐:
#include <reg51.h>
#include <intrins.h>#define uchar unsigned char
#define uint unsigned intsbit Buzzer = P3^7; // 定义蜂鸣器引脚为P3.7// “只因你太美”的音符频率数组
uint Music[] = {784, 784, 1047, 784, 523, 523, 784, 784,1047, 784, 523, 523, 494, 494, 784, 784,1047, 1047, 784, 1047, 784, 523, 523, 784,1047, 784, 523, 523, 494, 494, 784, 784,1047, 1047, 784, 1047, 784, 523, 523, 784,1047, 784, 523, 523, 494, 494, 784, 784,1047, 1047, 784, 1047, 784, 523, 523, 784,1047, 784, 523, 523, 494, 494, 0
};// “只因你太美”的拍数数组
uint Beat[] = {1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 2
};// 延时函数,使用for循环延时t毫秒
void Delay_ms(uint t)
{uint i, j;for (i = t; i > 0; i--)for (j = 110; j > 0; j--);
}// 播放音符函数,播放音符freq,播放时长time
void PlayTone(uint freq, uint time)
{uint i;for (i = 0; i < time; i++){Buzzer = 1;Delay_ms(_nop_());Buzzer = 0;Delay_ms(1000 / freq / 2 - 1);}
}void main()
{uint i = 0;while (Music[i] != 0) // 当音符数组未结束时,循环播放音乐{PlayTone(Music[i], Beat[i]); // 播放音符Delay_ms(100); // 间隔100毫秒i++;}
}
请注意,在使用代码前,您需要确保蜂鸣器已经正确接线。希望代码对您有所帮助。
利用51单片机蜂鸣器播放《只因你太美》代码相关推荐
- 51单片机蜂鸣器播放天空之城
51单片机蜂鸣器播放天空之城 附:天空之城乐谱 第三张图片中65行46968改为64968,希望凉解.(由于本人对乐谱知之甚少,上述有关音符代码由网络提供.如有错误,敬请雅正.)
- 51单片机蜂鸣器播放音乐C语言程序实例,基于proteus的51单片机仿真实例八十八、用蜂鸣器播放一段音乐应用实例...
1.前面我们已经学习了如何让单片机控制蜂鸣器发出不同的声音.现在我们更进一步,让单片机控制蜂鸣器发出再复杂一些的声音:模拟乐音输出 2.关于音乐的乐谱和节拍这些知识,我们将在下一节进一步说明 3.在k ...
- 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...
/************************************************************************ [文件名] C51音乐程序(八月桂花) [功能] ...
- 51单片机 蜂鸣器播放提示音
主函数 #include <REGX52.H> #include "Delay.h" #include "Key.h" #include " ...
- 利用51单片机演奏《猪猪侠》
今天的目标很明确,那就是我们如何使用51单片机演奏一首音乐. 先听一下演奏效果: 51单片机播放<猪猪侠>音乐(音频) 1.有一个很重要的问题,那就是如何将乐谱转换51单片机的16进制或十 ...
- MCU-51:单片机蜂鸣器播放孤勇者
目录 一.蜂鸣器介绍 二.驱动电路 2.1 三极管驱动 2.2 集成电路驱动 三.蜂鸣器播放音乐 3.1 键盘与音符对照 3.2 音符与频率对照 四.孤勇者乐谱 五.代码演示 前面学习了 MCU-51 ...
- 利用51单片机制作一个秒表的详细过程
利用51单片机制作一个秒表的详细过程 前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大 ...
- 51单片机音乐播放器+Proteus仿真
51单片机音乐播放器+Proteus仿真 Proteus仿真 由于是音频效果,只做截图展示 主程序代码 #include <REG52.H> #include "SoundPla ...
- c51单片机秒表程序c语言,利用51单片机制作秒表的详细过程
前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大家一样,百思不得其解,最后头都弄大了才 ...
最新文章
- IT人不要一直做技术[转载]
- 1.0 深度学习回顾与PyTorch简介 - PyTorch学习笔记
- 2-SAT适定性(Satisfiability)问题知识点详解
- 怎样改动SharePoint管理中心的语言
- APP发布Xcode7
- linux如何抓取本地socket,linux 本地socket
- 机器学习火热,SQL 开发人员有何用?
- nditer —— numpy.ndarray 多维数组的迭代
- c语言变量按作用域分类,C语言总结之变量的种类
- python 科研统计_Python科研统计作图Plotnine+Seaborn+matplotlib替代R ggplot2系列!(二)...
- dosbox 实现程序编译
- c语言 虚拟示波器软件下载,虚拟示波器软件(示波器工具)V3.1 官方版
- stm32cube 和 RTX v5一起用的方法
- HTML+JavaScript简单搜索功能实现
- 限时秒杀┃“探月计划”来袭,美国米德天文望远镜助孩子观月赏月
- 恒压板框过滤实验数据处理_沈阳板框滤布用途,板式过滤器,详情了解
- Linux 高并发服务器开发
- win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...
- allure如何设置新logo
- WORD中怎样替换文字格式?