使用以下代码在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单片机蜂鸣器播放《只因你太美》代码相关推荐

  1. 51单片机蜂鸣器播放天空之城

    51单片机蜂鸣器播放天空之城 附:天空之城乐谱 第三张图片中65行46968改为64968,希望凉解.(由于本人对乐谱知之甚少,上述有关音符代码由网络提供.如有错误,敬请雅正.)

  2. 51单片机蜂鸣器播放音乐C语言程序实例,基于proteus的51单片机仿真实例八十八、用蜂鸣器播放一段音乐应用实例...

    1.前面我们已经学习了如何让单片机控制蜂鸣器发出不同的声音.现在我们更进一步,让单片机控制蜂鸣器发出再复杂一些的声音:模拟乐音输出 2.关于音乐的乐谱和节拍这些知识,我们将在下一节进一步说明 3.在k ...

  3. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...

    /************************************************************************ [文件名]  C51音乐程序(八月桂花) [功能]  ...

  4. 51单片机 蜂鸣器播放提示音

    主函数 #include <REGX52.H> #include "Delay.h" #include "Key.h" #include " ...

  5. 利用51单片机演奏《猪猪侠》

    今天的目标很明确,那就是我们如何使用51单片机演奏一首音乐. 先听一下演奏效果: 51单片机播放<猪猪侠>音乐(音频) 1.有一个很重要的问题,那就是如何将乐谱转换51单片机的16进制或十 ...

  6. MCU-51:单片机蜂鸣器播放孤勇者

    目录 一.蜂鸣器介绍 二.驱动电路 2.1 三极管驱动 2.2 集成电路驱动 三.蜂鸣器播放音乐 3.1 键盘与音符对照 3.2 音符与频率对照 四.孤勇者乐谱 五.代码演示 前面学习了 MCU-51 ...

  7. 利用51单片机制作一个秒表的详细过程

    利用51单片机制作一个秒表的详细过程 前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大 ...

  8. 51单片机音乐播放器+Proteus仿真

    51单片机音乐播放器+Proteus仿真 Proteus仿真 由于是音频效果,只做截图展示 主程序代码 #include <REG52.H> #include "SoundPla ...

  9. c51单片机秒表程序c语言,利用51单片机制作秒表的详细过程

    前面的话: 和很多朋友一样,在学51单片机的过程中我们肯定会涉及到制作一个秒表,牵涉到把单片机的多个部分组合起来使用,这对于我们初学者来说可能显得有些困难,我同大家一样,百思不得其解,最后头都弄大了才 ...

最新文章

  1. IT人不要一直做技术[转载]
  2. 1.0 深度学习回顾与PyTorch简介 - PyTorch学习笔记
  3. 2-SAT适定性(Satisfiability)问题知识点详解
  4. 怎样改动SharePoint管理中心的语言
  5. APP发布Xcode7
  6. linux如何抓取本地socket,linux 本地socket
  7. 机器学习火热,SQL 开发人员有何用?
  8. nditer —— numpy.ndarray 多维数组的迭代
  9. c语言变量按作用域分类,C语言总结之变量的种类
  10. python 科研统计_Python科研统计作图Plotnine+Seaborn+matplotlib替代R ggplot2系列!(二)...
  11. dosbox 实现程序编译
  12. c语言 虚拟示波器软件下载,虚拟示波器软件(示波器工具)V3.1 官方版
  13. stm32cube 和 RTX v5一起用的方法
  14. HTML+JavaScript简单搜索功能实现
  15. 限时秒杀┃“探月计划”来袭,美国米德天文望远镜助孩子观月赏月
  16. 恒压板框过滤实验数据处理_沈阳板框滤布用途,板式过滤器,详情了解
  17. Linux 高并发服务器开发
  18. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...
  19. allure如何设置新logo
  20. WORD中怎样替换文字格式?

热门文章

  1. Spark GraphX 自带的图算法
  2. 前期绑定 和 后期绑定
  3. 嵌入式课程之C语言知识点
  4. 关于大数据技术原理与应用的学习(3)
  5. 图形学实验零 读取三角网格并交互
  6. 视频教程-Access2013数据库入门教程3查询部分-MySQL
  7. JavaScript-DOM-文本节点
  8. arcGIS10安装出现错误1911出现无法注册的dll文件库
  9. Android Recovery升级原理
  10. N73主相机无法打开解决方法