下面是一段个完整的程序,有两首歌曲编码,看看可以吗?

#include "reg52.h"

unsigned char Count;

sbit _Speak =P2^3 ;//讯响器控制脚

unsigned char code SONG[] ={ //祝你平安

0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,

0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,

0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,

0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,

0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,

0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,

0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,

0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,

0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,

0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,

0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,

0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,

0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,

0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,

//路边的野华不要采

0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,

0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,

0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,

0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,

0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,

0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,

0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,

0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,

0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,

0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,

0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,

0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,

};

void Time0_Init()

{

TMOD = 0x01;

IE = 0x82;

TH0 = 0xD8;

TL0 = 0xEF;//12MZ晶振,10ms

}

void Time0_Int() interrupt 1

{

TH0 = 0xD8;

TL0 = 0xEF;

Count++;//长度加1

}

/*-------------------------------------------------

功能:1MS延时子程序

-------------------------------------------------*/

void Delay_xMs(unsigned int x)

{

unsigned int i,j;

for( i =0;i < x;i++ )

{

for( j =0;j<3;j++ );

}

}

/*-------------------------------------------------

功能:歌曲播放子程序i为播放哪一段曲目

-------------------------------------------------*/

void Play_Song(unsigned char i)

{

unsigned char Temp1,Temp2;

unsigned int Addr;

Count = 0;//中断计数器清0

Addr = i * 217;

while(1)

{

Temp1 = SONG[Addr++];

if ( Temp1 == 0xFF ) //休止符

{

TR0 = 0;

Delay_xMs(100);

}

else if ( Temp1 == 0x00 ) //歌曲结束符

{

return;

}

else

{

Temp2 = SONG[Addr++];

TR0 = 1;

while(1)

{

_Speak = ~_Speak;

Delay_xMs(Temp1);

if ( Temp2 == Count )

{

Count = 0;

break;

}

}

}

}

}

/*-------------------------------------------------

功能:主程序

-------------------------------------------------*/

void main()

{

Time0_Init();//定时器0中断初始化

while(1)

{

Play_Song(0);//播放

}

}

取消

评论

好听的歌曲单片机c语言程序,用c语言在单片机AT89C51编写音乐程序,求程序,求求你们了...相关推荐

  1. c语言编程使蜂鸣器音乐,求: 用51单片机c语言操作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!...

    满意答案 yxy777li 推荐于 2017.10.05 采纳率:59%    等级:12 已帮助:8867人 #include sbit speaker=P1^2; unsigned char ti ...

  2. 程序员访谈_可以用PHP编写出色的应用程序-访谈系列

    程序员访谈 I read an old post, circa 2010, on the MailChimp blog a little while ago, about their experien ...

  3. vs2010c语言运行按钮在哪,Visual C++2010如何编写并运行C++程序,vc2010编译按钮在哪里...

    Visual C++2010如何编写并运行C++程序如何在visual c 2010中编写和运行c程序,Visual C 2010中C程序的编写和运行方法:首先打开编辑器,新建一个项目,输入名称和保存 ...

  4. python怎么调用c语言_Python调用C语言程序方法解析

    Python调用C语言程序方法解析 首先我们需要将编写好的c程序文件编译为动态库文件(后缀名为.so) 使用下面的命令: gcc 原文件名.c -shared -o 新文件名.so 然后在python ...

  5. springboot+音乐播放小程序 毕业设计-附源码191730

    Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器,系统为人们提供了方便快捷.即用即搜的音乐搜索播放服务,包括音乐资讯.音乐搜索.新歌榜单.注册登录.论坛 ...

  6. 计算机毕业设计php+vue基于微信小程序的叽喳音乐播放小程序

    项目介绍 随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展.如何充分利用互联网,这是大家共同关心的问题.本文主要介绍了关于叽喳音乐微信小程序的实现方法,设计规划 ...

  7. Java调用OpenDDS(3)-自己编写调用OpenDDS的程序

    第2篇消化理解了OpenDDS自带的Messager示例程序,这一篇就开始编写自己的OpenDDS程序. 提纲 1.编写IDL文件 2.将IDL编译为C++代码 3.将已生成代码编译为Java代码 4 ...

  8. 好听的歌曲单片机c语言程序,单片机C语言程序举例(三)

    原标题:单片机C语言程序举例(三) 14.音乐播放 //此程序在硬件上调试通过 //本程序的晶振采用11.0592M #include sbit speaker=P1^2; unsigned char ...

  9. 好听的歌曲单片机c语言程序,单片机C语言程序设计:播放生日快乐歌

    /* 名称:播放音乐 说明:程序运行时播放生日快乐歌, 未使用定时器中断,所有频率完全用延时实现 */ #includereg51.h> #define uchar unsigned char ...

最新文章

  1. Apache2.2中文手册
  2. 如何批量创建网页的快捷方式
  3. Flask的上下文管理机制
  4. android os一直唤醒,Android保持屏幕常亮唤醒状态
  5. 当容器应用越发广泛,我们又该如何监测容器?
  6. jvisualvm远程监控Tomcat
  7. 软工实践练习一——使用Git进行代码管理心得
  8. 【渝粤教育】国家开放大学2018年秋季 0716-22T工程建设法规 参考试题
  9. 【OS学习笔记】十五 保护模式三:保护模式下的内存访问机制
  10. 信息学奥赛一本通 2025:【例4.11】体操队
  11. 关于物联网规则引擎技术,你想要知道的都在这儿!
  12. linux下不同tomcat使用不同的jdk版本
  13. 【Multisim】导入spice器件详细教程以及库资源分享
  14. MarkDown下载及学习笔记
  15. Maven整合SSM项目(七)
  16. 【Numpy】用Python求解数独
  17. e-mobile服务器地址显示无法登陆,E-Mobile服务器安装设置手册.doc
  18. 日历签到 mysql_php+mysql+jquery实现日历签到功能的方法
  19. 【转载】NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法...
  20. (转帖)互联网协会与IDGVC发布Web2.0 100

热门文章

  1. 2021-2025年中国SWIR-InGaAs光电二极管线阵行业市场供需与战略研究报告
  2. DIY蓝牙键盘(2) - 理解HID报文描述符
  3. 一般纳税人什么意思(为什么一般纳税人认定500万)
  4. 周志华西瓜书学习笔记(一)
  5. 2016-2017年江苏省留学生创业优惠政策及创业补贴
  6. 【HTML】简单的书签式菜单选择设置
  7. Linux Shell学习笔记:exit退出状态代码
  8. java报错java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that
  9. Java多线程编程(3)
  10. 【实战】如何避免背锅?