烽火社区

标题: 51 播放歌曲 <<祝你平安>> 实验(三) [打印本页]

作者: picq    时间: 2015-1-3 08:28 AM
看看                                                                                                                                                                       
作者: yumuzi    时间: 2015-1-5 05:40 AM
是否                                                                                                                                                                       
作者: sodohe    时间: 2015-1-14 09:10 AM
顶,谢谢了                                                                                                                                                                       
作者: yangtao0618    时间: 2015-1-17 08:29 AM
多谢!                                                                                                                                                                       
作者: fjxmhzg    时间: 2015-1-17 11:13 AM
看看                                                                                                                                                                       
作者: hnhy0394hdmht    时间: 2015-1-17 12:03 PM
不错                                                                                                                                                                       
作者: tuqiuxiangshu    时间: 2015-1-17 03:04 PM
look look                                                                                                                                                                       
作者: 微笑的刺客    时间: 2015-1-17 03:54 PM
好                                                                                                                                                                       
作者: ryw8500    时间: 2015-1-17 04:34 PM
分享                                                                                                                                                                       
作者: 独醉    时间: 2015-1-17 07:31 PM
good                                                                                                                                                                       
作者: sodohe    时间: 2015-1-17 08:51 PM
听听                                                                                                                                                                       
作者: chejian789456    时间: 2015-1-17 11:24 PM
11                                                                                                                                                                       
作者: picq    时间: 2015-1-18 01:29 AM
为什么我电路不成功?!                                                                                                                                                                       
作者: emperoryp    时间: 2015-1-18 03:19 AM
loiu                                                                                                                                                                       
作者: 300c    时间: 2015-1-18 05:26 AM
谢谢                                                                                                                                                                       
作者: ryw8500    时间: 2015-1-18 08:37 AM
现在有时间了玩玩                                                                                                                                                                       
作者: boy2    时间: 2015-1-18 09:14 AM
感觉这个楼主很牛                                                                                                                                                                       
作者: cliff_w    时间: 2015-1-18 10:35 AM
学习中                                                                                                                                                                       
作者: sdjntl    时间: 2015-1-18 01:27 PM
wo ye kan kan


作者: w48720770daich    时间: 2015-1-18 03:44 PM
谢谢了                                                                                                                                                                       
作者: peiying    时间: 2015-1-18 04:38 PM
好东西                                                                                                                                                                       
作者: 300c    时间: 2015-1-18 05:59 PM
51 播放歌曲 <<祝你平安>> 实验(三)
作者: emperoryp    时间: 2015-1-18 07:32 PM
谢谢你啊!                                                                                                                                                                       
作者: shijin    时间: 2015-1-18 08:36 PM
好东西啊                                                                                                                                                                       
作者: 954934046    时间: 2015-1-18 09:31 PM
谢谢                                                                                                                                                                       
作者: ldf1987    时间: 2015-1-18 11:46 PM
51 播放歌曲 <<祝你平安>> 实验(三)
作者: emperoryp    时间: 2015-1-19 01:06 AM
不错                                                                                                                                                                       
作者: zouweijun2006    时间: 2015-1-19 02:07 AM
look look                                                                                                                                                                       
作者: lanhaitun    时间: 2015-3-15 12:43 PM
51 播放歌曲 <<祝你平安>> 实验(三) 精华帖
作者: kalimis震哥    时间: 2015-3-16 03:39 AM
gnc                                                                                                                                                                       
作者: weiweiwyj    时间: 2015-3-26 09:32 AM
学习一下LZ的源程序,谢谢                                                                                                                                                                       
作者: ldf1987    时间: 2015-3-31 02:36 AM
代码好多.                                                                                                                                                                       
作者: ryw8500    时间: 2015-4-7 04:19 AM
很好,谢谢楼主!!!                                                                                                                                                                       
作者: fuconghua2422    时间: 2015-4-14 08:31 AM
谢谢                                                                                                                                                                       
作者: yangtao0618    时间: 2015-4-14 10:18 AM
谢谢了                                                                                                                                                                       
作者: 正点原子    时间: 2015-5-4 10:33 AM
标题: 51 播放歌曲 <<祝你平安>> 实验(三)
[attach]10557[/attach]
这个实验通过按键,控制蜂鸣器产生一首歌曲播放,详情见
附件.
平台:FDR51开发板
#include
#include"key.h"
/*************************************************************************
IO口宏定义区
**************************************************************************/
sbit beep="P3"^7;
/************************************************************************
音乐编码存储区
格式为:音调 播放时间 音调 播放时间。。。。。。。。。。。。。。。。。
**************************************************************************/
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,0x0,
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,0x6,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};
/***************************************************************
全局变量声明区
****************************************************************/
unsigned char Count="0";
/*********************************************************************
定时器0中断初始化函数
**********************************************************************/
void Time0_Init()
{
TMOD = 0x01;
IE = 0x82;
TH0 = 0xD8;
TL0 = 0xEF; //12MZ晶振,10ms
}
/*************************************************************************
定时器0中断处理函数
**************************************************************************/
void Time0_Int() interrupt 1
{
TH0 = 0xD8;
TL0 = 0xEF;
Count++; //长度加1
}
/*********************************************************************************
延时函数
*********************************************************************************/
void Delay_xMs(unsigned char x)
{
unsigned char i,j;
for( i =0;i < x;i++ )
{
for( j =0;j<3;j++ );
}
}
/*********************************************************************************
放音子函数
参数:frequence 决定音乐声调的变量
length 决定某个音调播放的时间
*********************************************************************************/
void beeping(unsigned char frequence,unsigned char length)
{
TR0=1;
while(1)
{
beep = !beep;
Delay_xMs(frequence);
if ( length == Count )
{
Count = 0;
break;
}
}
TR0=0;
beep=1; //关蜂鸣器
}
/********************************************************************************
放音主函数
*********************************************************************************/
void Play_Song()
{
unsigned char Temp1,key=0;
unsigned int Addr,Count = 0; //中断计数器清0
while(1)
{
key="255";//getch(); //按键扫描
if(key!=255)break; //若按下13,停止放音
Temp1 = SONG[Addr++];
if ( Temp1 == 0xFF ) //休止符
{
TR0 = 0;
Delay_xMs(100);
}
else
{
if ( Temp1 == 0x00 ) //歌曲结束符
{
return;
}
else
{
beeping(Temp1,SONG[Addr++]);
}
}
}
}
/****************************************************
程序主函数
*****************************************************/
void main()
{
unsigned char k="0";
Time0_Init(); //初始化定时器0
while(1)
{
//k=getch();
if(k!=255)Play_Song();
}
}

作者: emperoryp    时间: 2015-5-22 01:44 AM
51 播放歌曲 <<祝你平安>> 实验(三) 精华帖
作者: 954934046    时间: 2015-6-7 09:24 AM
看看是什么好东东                                                                                                                                                                       
作者: peiying    时间: 2015-6-20 11:34 AM
谢谢                                                                                                                                                                       
作者: w48720770daich    时间: 2015-9-2 12:50 PM
<<祝你平安
作者: fjxmhzg    时间: 2015-9-3 09:45 AM
hao                                                                                                                                                                       
作者: boy2    时间: 2015-10-19 09:08 AM
正在学习这个,谢谢了!                                                                                                                                                                       
作者: cliff_w    时间: 2015-12-22 06:58 AM
看卡                                                                                                                                                                       
作者: beyong    时间: 2015-12-29 01:34 AM
谢谢                                                                                                                                                                       




欢迎光临 烽火社区 (https://bbs.cnecport.com/) Powered by Discuz! X3.2