📄 isd2560.c
字号:
#include "Head.h"
bit searchmusic(unsigned char track);
unsigned char musicstate=0;
unsigned char searchOK;
static unsigned char data SearchState;
//======================================================
bit music(unsigned char *buff)
{
if(buff[musicstate]==0xff)
{ musicstate=0;SearchState=0; return 1;}
if (searchmusic(buff[musicstate])) musicstate++;
return 0;
}
bit searchmusic(unsigned char track)
{
switch (SearchState)
{case 0:
CE_ISD=1;
A0_ISD=1; //quick serach mode
PD_ISD=1;
TimeCNT=1;
SearchState=1;
break;
case 1:
if(TimeCNT<5) break;
PD_ISD=0;
TimeCNT=0; //reset
if(track==1)
{
A0_ISD=0;
CE_ISD=0; //play begin
_nop_();
_nop_();
CE_ISD=1;
TH0=0xff;
TL0=0xff;
TR0=1;
TimeCNT=1;
SearchState=2;
break;
}
TH0=0XFF;
TL0=0xff-track+2;
TR0=1;
SearchState=4;
break;
case 2: if(searchOK !=1 && TimeCNT<200) break; //delay
searchOK =0;
SearchState=0;
TimeCNT=0;
return 1;
case 4:
if(searchOK !=1) //wait the end of searching
{ CE_ISD=0;
_nop_();
_nop_();
CE_ISD=1;
TimeCNT=1;
SearchState=5;
break;
}
searchOK =0;
CE_ISD=0; //play
_nop_();
_nop_();
CE_ISD=1;
TH0=0xff;
TL0=0xff;
TR0=1;
TimeCNT=1;
SearchState=6 ;
break;
case 5:
if(TimeCNT<2) break;
TimeCNT=0;
SearchState=4;
break; //delay();
case 6:
if(searchOK !=1 && TimeCNT<1550) break;
searchOK=0;
SearchState=0;
TimeCNT=0;
return 1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -