“串口屏音频播放控制程序,触摸屏mp3音频播放程序代码,工控机触摸屏mp3音频播放程序代码”参数说明
型号: | 串口屏音频播放控制程序 | 规格: | 串口屏音频播放控制程序 |
产量: | 111111 |
“串口屏音频播放控制程序,触摸屏mp3音频播放程序代码,工控机触摸屏mp3音频播放程序代码”详细介绍
串口屏音频播放控制程序,触摸屏mp3音频播放程序代码,工控机触摸屏mp3音频播放程序代码
#include<../SysVar.h>
第一部分,MC8051内部函数/
void RefreshLCD(unsigned char mEn)
{
CmdAdr1=mEn; //命令参数
CmdAdr=1; //命令代码
}
//系统中有一个定时器,用户可以调整它的定时时间间隔。时间间隔以50豪秒为基准单位,比如mMS=50,100,150,200,250,.......1000,....;
void TimerSetTime(unsigned short mMS)
{
CmdAdr2=mMS; //命令参数
CmdAdr3=mMS>>8; //命令参数
CmdAdr=3;
}
//用户可以调用Uart1Send函数来向串口一发送一个dat数据
void Uart1Send(char dat)
{
CmdAdr1=dat; //命令参数
CmdAdr=5; //命令代码
}
//用户可以调用Uart2Send数来向串口二发送一个dat数据
void Uart2Send(char dat)
{
CmdAdr1=dat; //命令参数
CmdAdr=6; //命令代码
}
//void TimerSetTime(unsigned short mMS)
//{
// CmdAdr2=mMS;
// CmdAdr3=mMS>>8;
// CmdAdr=3;
//}
void SetVariable(unsigned int adr,unsigned int nBytes, unsigned char *m_VarP)
{
unsigned int temp=0;
while(nBytes!=temp)
{
XBYTE[adr++]=m_VarP[temp++];
}
}
//PlayAudio播放音频文件
unsigned char PlayAudio(char * mFileName)
{
unsigned char m_GlobalCnt8U;
for(m_GlobalCnt8U=0;m_GlobalCnt8U<128;m_GlobalCnt8U++)
{
if(*mFileName==0)break;
XBYTE[m_UserAdr+m_GlobalCnt8U]=*mFileName;
mFileName++;
}
XBYTE[m_UserAdr+m_GlobalCnt8U]=0;
CmdAdr2=m_UserAdr;
CmdAdr3=m_UserAdr>>8;
CmdAdr1=1;
CmdAdr=0x41;
return CmdAdr1;
}
//停止当前的音频播放,用户可以调用PlayStop立即停止当前播放
void PlayStop(void)
{
CmdAdr1=2;
CmdAdr=0x41;
}
//获取当前播放的进度(百分比),返回值0~100;当返回值为100表示已经播放完毕 ,用户可以据此判断是否播放完毕
unsigned char PlayProgress(void)
{
CmdAdr1=3;
CmdAdr=0x41;
return CmdAdr1;
}
unsigned int delay=0;
void main(void)
{
unsigned char i=0;
int j=1;
unsigned char HisCurve=0;
int m_Timer=0;
EA=1;ET0=1;ES=1;
// TimerSetTime(50);
//
IniCurve();
while(1)
{
RefreshLCD(0);
if(PlayProgress()==100)
{
PlayAudio("F:\\菊花台.MP3");
}
DisplayCurve();
MoveCurve();
if(m_Timer==0)
{
i=i+j;
if(i==10) j=-1;
if(i==0) j=1;
}
if((i==9)&&(m_Timer==0))m_Timer=4;
else if((i==10)&&(m_Timer==0))m_Timer=4;
if(m_Timer!=0)
{
m_Timer--;
}
RefreshLCD(1);
//for(delay=0;delay<3000;delay++);
//delay=0;
//while(delay<2);
}
}
//*************************** 定时器0中断程序
void timer0(void) interrupt 1
{
delay++;
}
void uart(void) interrupt 4
{
if(COMNUM==1)
{
}
else if(COMNUM==2)
{
}
}