功能:按一下开关后,单片机控制蜂鸣器唱生日快乐歌曲
PROTEUS 和51单片机教程



单片机控制蜂鸣器唱生日快乐歌曲 程序源代码如下:

/*
生日歌
*/
#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;

sbit K1 = P1^0;
sbit BUZZER = P3^0;

code uint8 SONG_TONE[]=
{
212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0
};
code uint8 SONG_LONG[]=
{
9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0
};

void delay(uint16 x)
{
uint16 i,j;
for(i = x; i > 0; i --)
for(j = 114; j > 0; j --);
}

void PlayMusic()
{
uint16 i =0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{
for(j=0;j<SONG_LONG[i]*20;j++)
{
BUZZER = ~BUZZER;
for(k=0;k<SONG_TONE[i]/3;k++);
}
delay(10);
i++;
}
}

void main()
{
P1 = 0xFF;
while(1)
{
if(K1==1)
{
PlayMusic();
delay(1000);
}
}
}

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 软件或者视频教程,例程,请在下方留言或者私信我,看到后会第一时间回复。

谢谢!

单片机控制蜂鸣器唱生日快乐歌曲 PROTEUS 和51单片机教程(附仿真文件+源代码)相关推荐

  1. 51单片机控制的LOVE心形创意彩灯 PROTEUS 和51单片机教程(附仿真文件+源代码)

    51单片机控制的LOVE心形创意彩灯 PROTEUS 和51单片机教程附仿真文件截图 单片机控制的LOVE心形创意彩灯 参考源代码 ORG 0000H LJMP START ORG 0030H ;初始 ...

  2. 51单片机 16X192点阵程序动态显示汉字 PROTEUS 和51单片机教程(附仿真文件+源代码)

    51单片机 16X192点阵程序动态显示任意汉字 程序参考源代码如下: #include<AT89X52.H> sbit ST=P3^5; sbit E1=P3^4; sbit MR=P3 ...

  3. 单片机控制灯光亮度c语言程序,基于51单片机控制LED灯光亮度并报警

    利用pwm控制led灯光亮度大小.可以显示许多亮度等级 到最低或者最高亮度等级会发出报警.设计思路: LED一般是恒流操作的,如何改变LED的亮度呢?答案就是PWM控制.在一定的频率的方波中,调整高电 ...

  4. 单片机四线步进电机驱动 PROTEUS 和51单片机教程(附仿真文件+源代码)

    单片机四线步进电机驱动 程序功能: 当按下SW1时步进电机正转,按下SW2后步进电机反转,并可以根据源码任意调节旋转速度和每一个脉冲旋转角度 程序参考源代码如下: /C语言程序:/ #include ...

  5. 数码管显示拨码开关编码 PROTEUS 和51单片机教程(附仿真文件+源代码)

    功能: 数码管显示拨码开关编码 (当八个拨码开关拨到不同位置时候,三位数码管会显示不同的编码 供参考代码如下: /* 数码管显示拨码开关编码 */ #include <reg51.h> t ...

  6. 51单片机控制蜂鸣器发SOS国际求救信号声音实验

    说明:本文是51单片机控制蜂鸣器发声实验的高级版,和上个实验差不多,上个实验是控制蜂鸣器发声,本实验可以理解为控制蜂鸣器间断发出不同长度的声音,本文同样重在夯实基础,如果是大神,请自觉飘过. 好了我们 ...

  7. 51单片机蜂鸣器演奏《小苹果》C语言程序,单片机控制蜂鸣器演奏音阶实例

    单片机可以控制蜂鸣器发声音 蜂鸣器是非常常见的发音元器,音乐卡.报警装置.电子琴.各种小家电等都会用到.单片机的PWM功能可以设置输出不同频率的信号,所以我们可以利用单片机的PWM控制三极管的通断来推 ...

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

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

  9. 51单片机控制的数字温度计 PROTEUS 和51单片机教程

    51单片机控制的数字温度计 总览部分 MCU部分 显示部分 开仿真以后实时显示温度 因为这个程序比较简单,我就直接上代码了,有不明白的请看我以前的文章,谢谢哦! 参考代码如下: #include &q ...

最新文章

  1. Protobuf序列化的原理-负数的存储
  2. C#条件运算符if-else的简化格式
  3. Python存储生成的决策树——pickle模块
  4. 数据库实例服务被误删后
  5. ant-design-vue 快速入手及常用标签
  6. MySql关键字-保留字
  7. 一文了解元宇宙最新发展
  8. java图片填充父容器_java相关:spring的父子容器及配置详解
  9. Joyoshare UltFix快速修复iPhone黑屏死机的问题
  10. extjs引入html,ExtJs教程第一集 搭建ext环境后的第一个hello World
  11. 时间序列分析——自回归移动平均(ARMA)模型
  12. thrift0.8.0支持win7的方法
  13. AJAX框架构图插画,Zend Framework框架中实现Ajax的方法示例
  14. 【脑洞大开】智慧海洋网课答案
  15. 从0开发豆果美食小程序——tag组件
  16. 全球与中国服装测试、检验及认证市场深度研究分析报告
  17. C# NPOI 和 CSV 导出Excel 功能实现
  18. 百新谷PCB在线下单+ERP智能生产管理系统--实施篇
  19. 计算机专业知识面狭窄,软件学院“计算机基础”实验教学改革探索
  20. 极米Z6X Pro值得购买吗?这篇评测告诉你

热门文章

  1. 小程序「答题小助手」已经上线,欢迎你来答题挑战
  2. 【易购管理系统】商品列表
  3. 今天分享5个有趣的手机App
  4. 苹果cms第三方登录QQ互联正确回调设置方法
  5. C#数据库操作步骤,详细
  6. python导入数据库操作
  7. Android 将asserts文件夹内文件写入SD卡中
  8. 伊家田园与湖南亚美生物达成合作,携手打造垂直农业新社交电商
  9. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)
  10. html语言怎么改变文字大小,如何设置css中字体大小?