请问一下这段程序实现了什么功能啊,这是基于51单片机的音乐播放器里的一段程序,有大佬能帮忙讲解一下吗,具体一点就更好了,谢谢
void SendASC(uchar d){
SBUF=d;
while(!TI); //
TI=0;
}
void SendString(uchar *str)
{
while(*str!='\0')
{
SendASC(*str) ;
str++;
}
}
// 通讯中断接收程序 中断函数无返回值
void uart_rx(void) interrupt 4 using 3
{
unsigned char i;
unsigned char flag;
unsigned char dat;
if(RI) //是否接收中断 RI是接受中断请求标志位
{
RI=0;
dat=SBUF;
if(dat==0xc1) //接收数据第一帧
{
buff[0]=dat;
flag=1; //开始接收数据
}
else if(dat==0xc5)
{
buff[0] = dat;
flag=2;
i=1;
}
else if(dat==0xc9)
{
buff[0] = dat;
flag=3;
i=1;
}
else if(dat==0xc2)
{
buff[0] = dat;
flag=4;
i=1;
}
else
{
switch (flag)
{ case 1: flag=0;
yinliang= dat;
break;
case 2: if(i==1) i++;
else
{
flag=0;
zongqumu=dat;
} break;
case 3: if(i==1) i++;
else
{
flag=0;
dangqianqumu=dat;
}
break;
case 4: flag=0;zhuangtai=dat;break;
}
}
}
}
#endif