欢迎来到天天文库
浏览记录
ID:38286160
大小:53.50 KB
页数:8页
时间:2019-06-07
《语音录放程序1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序1-1DVR以自动方式录放音前台程序:intkey;Main(){System_Initial();//键盘初始化SACM_DVR_Initial(Auto);while(1){Key=SP_GetCh();//获取键值switch(Key){case0x0000:break;case0x0001:SACM_DVR_Record();//录音,存储资料到SRAMbreak;case0x0002:SACM_DVR_Stop();//停止录/放音break;case0x0004:SACM_DVR_Play();//从SRAM中取出语音资料并播放b
2、reak;default:break;}System_ServiceLoop();//键扫描SACM_DVR_ServiceLoop();}//while(1)结束}背景程序:_FIQ:pushregisters;callF_FIQ_Service_SACM_DVR;//放音Clearinterruptflagpopregisters;reti;_IRQ1:pushregisterscallF_IRQ1_Service_SACM_DVR;//录音Clearinterruptflagpopregisters;reti;注:对于函数System_In
3、itial()、System_ServiceLoop()和SP_GetCh()详见具体的实验。程序1-2非自动方式:(见光盘)DVR手动方式主程序流程见图#defineManual0#defineAuto1#defineSRAM_Size0xffff-2#defineRceMonitorOff0#defineRceMonitorOn1#defineDAC11#defineDAC22#defineFull1#defineEmpty2**************录音**************main(){SACM_DVR_Initial(Manua
4、l);//手动方式初始化Addr=0;//定义语音存放的首址变量InitWriteSRAM();SACM_DVR_InitEncoder(RceMonitorOn);//开始对A2000的语音资料以非自动方式编码while(Addr5、单元区Addr+=2;//两个8位SRAM存储一个16位资料}}SACM_DVR_StopEncoder();}*********放音*********main(){SACM_DVR_Initial(Manual);//非自动方式播放的初始化InitReadSRAM();Addr=0;SACM_DVR_InitDecoder(DAC1);//开始对A2000的语音资料以非自动方式译码while(1){if(SACM_DVR_TestQueue()!=Full)//测试并获取语音队列的状态{Ret=ReadSRAM(Addr);//从存储区里获取一6、个字型语音资料SACM_DVR_FillQueue(Ret);//获取语音编码资料并填入语音队列等候译码Addr+=2;}if(Addr7、r5from[sp];reti;_IRQ1:pushr1,r5to[sp];callF_IRQ1_Service_SACM_DVR;//语音录制中断r1=0x1000[P_INT_Clear]=r1popr1,r5from[sp];reti;
5、单元区Addr+=2;//两个8位SRAM存储一个16位资料}}SACM_DVR_StopEncoder();}*********放音*********main(){SACM_DVR_Initial(Manual);//非自动方式播放的初始化InitReadSRAM();Addr=0;SACM_DVR_InitDecoder(DAC1);//开始对A2000的语音资料以非自动方式译码while(1){if(SACM_DVR_TestQueue()!=Full)//测试并获取语音队列的状态{Ret=ReadSRAM(Addr);//从存储区里获取一
6、个字型语音资料SACM_DVR_FillQueue(Ret);//获取语音编码资料并填入语音队列等候译码Addr+=2;}if(Addr7、r5from[sp];reti;_IRQ1:pushr1,r5to[sp];callF_IRQ1_Service_SACM_DVR;//语音录制中断r1=0x1000[P_INT_Clear]=r1popr1,r5from[sp];reti;
7、r5from[sp];reti;_IRQ1:pushr1,r5to[sp];callF_IRQ1_Service_SACM_DVR;//语音录制中断r1=0x1000[P_INT_Clear]=r1popr1,r5from[sp];reti;
此文档下载收益归作者所有