程序已编好, 录音不论录多长时间,放音总是在一秒左右,请问这是什么原因呢?有没有人遇到相同的问题,我把关键的子程序贴出来:
void keyscan()
{
if(PR==0)
{
delay_ms(5);
if(PR==0)
{
while(!PR);
led0=~led0; //灯亮表示可以放音,灯灭表示处于录音状态
}
}
if(AN==0)
{
delay_ms(5);
if(AN==0)
{
if(led0)//如果处于luyin状态
{
powerup();
powerup();
powerup();
led1=0;
delay_ms(500);
rec_addr(0);//在地址0录音
do
{
record();
delay_ms(20);
}while(AN==0);//直到按键放开等待录音完成
if(int_4004==0)//溢出
overflow();//溢出报警
led1=1;//灯灭
stopmode();//录音完成
}
else //放音状态
{
powerup();
powerup();
powerup();
led1=0;
delay_ms(500);
play_addr(0);//播放地址0的录音
do
{
play();
delay(20);
}while(int_4004==1);//等待EOM信号即录音播放完成,EOM到来之时int_4004变低
stopmode();
led1=1;
}
}
}
if(STOP==0)
{
delay_ms(5);
if(STOP==0)
{
while(!STOP);
stopmode();
powerup();
}
}
}
此帖出自
小平头技术问答
一周热门 更多>