if(isd_stop==0) //如果按下STOP按键,则芯片复位 break; if(AN==0) delayms(500); } }
while(AN==0); } }
if(LED1==1)//如果PR=0则转入放音部分 //如果PR==1则转入放音部分 { if(AN==0) {
isd_powerup(); //AN键按下,ISD上电并延迟50ms isd_stopwrdn(); isd_powerup();
LED1=1;//表示录音模式 while(AN==0) {;}
isd_setplay(0x00,0x00); //发送setplay指令,从0x0000地址开始放音 do {
isd_play(); //发送放音指令 delay(20);
while(INT==1) //等待放音完毕的EOM中断信号
{;} LED=1;
isd_stop(); //放音完毕,发送stop指令
if (ovflog=chk_isdovf()) //检查芯片是否溢出 ,如溢出则停止放音,芯片复位 break;
while(AN==1) //等待AN键再次按下 {
if(isd_stop==0) break; if(AN==0) delayms(20); } }
while(AN==0); // AN键再次按下,播放下一段语音 // isd_stop(); // isd_stopwrdn(); } } }