- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及实用技术 第6章语音处理术及应用
中断服务程序: _FIQ: PUSH registers CALL F_FIQ_Service_SACM_MS01 //4通道的配器服务程序 clear interrupt flag POP registers RETI _IRQ2: PUSH registers CALL F_IRQ2_Service_SACM_MS01 //2通道鼓点节奏服务程序 clear interrupt flag POP registers RETI _IRQ4: PUSH registers CALL F_IRQ4_Service_SACM_MS01 //控制节拍服务程序 clear interrupt flag POP registers RETI (4) C:void SACM_ MS01_Stop(void) ASM:Call F_ SACM_ MS01_Stop 功能:停止播放SACM_ MS01 乐曲。 参数:无。 返回值:无。 (5) C:void SACM_ MS01_Pause (void) ASM:Call F_ SACM_ MS01_Pause 功能:暂停播放SACM_MS01 乐曲。 参数:无。 返回值:无。 (6) C:void SACM_ MS01_Resume(void) ASM:Call F_ SACM_ MS01_Resume 功能:恢复暂停播放的SACM_ MS01 语音或乐曲。 参数:无。 返回值:无。 (7) C:void SACM_ MS01_Volume(int Volume_Index) ASM:R1=[ Volume_Index] Call F SACM_ MS01_Volume 功能:在播放SACM_ MS01 语音时改变主音量。 参数:Volume_Index 为音量数,音量从最小到最大可在0~15之间选择。 返回值:无。 (8) C:unsigned int SACM_ MS01_Status(void) ASM:Call F_ SACM_ MS01_ Status [Return_Value]=R1 功能:获取SACM_ MS01 合成音乐播放的状态。 参数:无。 返回值:R1中bit0=0 表示语音播放结束,bit0=1 表示语音在播放中。其它状态位bit8~bit13的功能如图6.10所示。 图6.10 SACM_MS01部分状态返回值 (9) C:void SACM_MS01_ChannelOn(int Channel) ASM:R1=[Channel] Call F_SACM_MS01_ChannelOn 功能:将SACM_MS01 乐曲播放通道之一接通。 参数:Channel为0~5之间整数,其中0和1代表鼓点节奏通道,2~5则代表音符通道。 返回值:无。 (10) C:void SACM_MS01_ChannelOff(int Channel) ASM:R1=[Channel] Call F_SACM_MS01_ChannelOff 功能:将SACM_MS01 乐曲播放通道之一关断。 参数:Channel 为0~5之间整数,其中0和1代表鼓点节奏通道,2~5则代表音符通道。 返回值:无。 例6 利用SACM_MS01以6通道方式播报一段音乐。流程图请参考前面例题。 程序如下: int main() { SACM_MS01_Initial(DAC_24K); //选择DAC 24 kHz播放方式,且6个通道都接通 SACM_MS01_ChannelOff(0); //通道0被关断(鼓点节奏1) SACM_MS01_ChannelOff(5); //通道5被关断(音符4,频率Tone方式) SACM_MS01_Play(SongIndex,DAC1+DAC2); //开始播放乐曲 while(SACM_MS01_Status()0x01) //若状态返回值的bit0=1 { SACM_MS01_ServiceLoop(); //SACM_MS01乐曲播放的译码程序 } } (11) C:void SACM_MS01_SetInstrument(int Channel, int Instrument, int Mode) ASM:R1=[Channel] R2=[Instrument] R3=[Mode] Call F_SACM_MS01_SetInstrument 功能:在SACM_MS01 的一个播放通道上改变乐曲配器类型。 参数:Channel=0~5,其中0和1代表鼓点节
文档评论(0)