📄 sound5008.c
字号:
/****************************************************************/
/* 程序说明 */
/* */
/* BMP5008语音芯片播音程序 */
/* 该程序很奇怪,不用送使能信号就能播放声音 */
/* */
/* 日期:2008,9,14 */
/****************************************************************/
#include "sound5008.h"
unsigned char xdata soundNumPos=0x00;
unsigned char xdata soundNumList[10]={0xee};//0xee为结束标志
void Sound5008Play(unsigned char num)
{
if(num==0||num==0xff)
{
SOUND5008_DATA=num;
return;
}
SOUND5008_DATA=~(num&0x1f);
Delayms(400);
// SOUND5008_PLAY=0;
SOUND5008_DATA=0xff;
}
/****************************************************************************/
//该函数的使用方法:
//将该函数放在while主循环中即可,如果有需要播放的声音,将他们的组合序号放在
//soundNumList数组中,该数组最大容量为10,初始化该数组时,一定要将其最后一个数
//置成0xee做为结束标记
/****************************************************************************/
void Sound5008PlaySome()// using 0
{
char i=0;
while(i++<10)
{
if(soundNumList[soundNumPos]!=0xee) //不是结束标志
{
while(!SOUND5008_TEST_BUSY);//如果空闲
Sound5008Play(soundNumList[soundNumPos]);
soundNumPos++;
}
else
{
soundNumPos=0;
soundNumList[0]=0xee;//如果你需要将同样的播放声音列表播放两遍,可以将该句注释掉,
//但以后每次播放完声音列表之后需要手动清空列表或在下一次播放之前清空列表
break;
}
}
}
/*
unsigned char soundMakeUpList[5];//255以内的数,最大是五个的组合.不够五个的,以0xee结尾
void ComListMakeUP(unsigned char i)//根据数字(最大255)组合出声音列表,如:35,组合成声音列表就是:三 十 五
{
if(i<=10)// <=10的数
{
soundMakeUpList[0]=i;
soundMakeUpList[1]=0xee;
}
else if((i>=11&&i<=20)||(i<100&&i%10==0)) // >=11并<=20的数 和 20,30,40,50,...,90,100
{
if(i/10==1)
{
soundMakeUpList[0]=shi;
soundMakeUpList[1]=i%10;
}
else
{
soundMakeUpList[0]=i/10;
soundMakeUpList[1]=shi;
}
soundMakeUpList[2]=0xee;
}
else if(i<100) // 除上述两类数之外的小于100的数
{
soundMakeUpList[0]=i/10;
soundMakeUpList[1]=shi;
soundMakeUpList[2]=i%10;
soundMakeUpList[3]=0xee;
}
else if(i%100==0)//这里指100和200这两个数
{
soundMakeUpList[0]=i/100;
soundMakeUpList[1]=bai;
soundMakeUpList[2]=0xee;
}
else if((i>=101&&i<=109)||(i>=201&&i<=209))
{
soundMakeUpList[0]=i/100;
soundMakeUpList[1]=bai;
soundMakeUpList[2]=ling;
soundMakeUpList[3]=i%10;
soundMakeUpList[4]=0xee;
}
else if(i%10==0)// 大于100的数中被10整除的数
{
soundMakeUpList[0]=i/100;
soundMakeUpList[1]=bai;
soundMakeUpList[2]=i%100/10;
soundMakeUpList[3]=shi;
soundMakeUpList[4]=0xee;
}
else
{
soundMakeUpList[0]=i/100;
soundMakeUpList[1]=bai;
soundMakeUpList[2]=i%100/10;
soundMakeUpList[3]=shi;
soundMakeUpList[4]=i%10;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -