SunplusSPCE6A微控制器语音手动播放程序编写.ppt

SunplusSPCE6A微控制器语音手动播放程序编写.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

然后开始编写代码。与自动播放程序相仿,建立C程序文件main.c,在其中编写手动播放函数和主函数。再建立一个asm汇编程序文件ISR.asm,编写中断服务程序。最后,仍然要在Resource.asm的结尾添加语音编号索引表T_SACM_A2000_SpeechTable,与自动播放不同的是,这次不必在表里添加内容了。如果要播放S480格式的语音资源,只需把程序里所有的“A2000”替换成“S480”就可以了。注意不要忘记替换中断服务程序里的代码。除了前面介绍的基本语音播放函数之外,函数库还提供了一些播放控制函数,使语音播放获得更好的效果。SunplusSPCE061A微控制器语音播放(手动播放)语音播放一、手动播放程序示例二、创建手动播放程序三、用汇编语言编写语音播放程序四、小结与注意事项五、疑难解答一、手动播放程序示例手动播放流程手动播放程序示例设计一个手动播放函数二、创建手动播放程序把Hardware.asm、Hardware.inc和Sacmv26e.lib,以及A2000格式的语音文件复制到工程所在文件夹下创建手动播放程序新建工程在Project菜单项,选择AddtoProject-Files找到工程所在的文件夹,选择hardware.asm、hardware.inc两个文件(按住Ctrl键点选),确定。IDE的Project菜单项,AddtoProject-Resource选择两个语音文件d1.24k和ww.24k,确定。创建手动播放程序把支持文件和语音资源添加到工程中。创建手动播放程序把Sacmv26e.lib语音函数库添加到工程中。选择Project-Setting,在左半部分的目录树中点选根目录。选择Link栏,点击LibraryModules右面的文件夹按钮。在工程所在文件夹中选择sacmv26e.lib文件,确定。手动语音播放函数主函数中断服务程序创建手动播放程序编写代码创建手动播放程序添加语音资源索引表在工程中打开Resource.asm文件,在文件结尾处加入语音资源索引表。创建手动播放程序下载试听连接好硬件(下载线、电源、扬声器等),在IDE的工具栏中点选绿色的“UseICE”按钮。点击红色叹号形的“ExecuteProgram”按钮,下载并运行程序,就可以听到从SPCE061A播放出的声音了。手动播放S480格式语音S480格式语音资源的手动播放方法与A2000基本相同,只需把A2000手动播放程序中所有的“A2000”替换成“S480”即可。其他语音播放函数voidSACM_A2000_Pause()暂停播放语音。voidSACM_A2000_Resume()从暂停的位置继续播放语音。VoidSACM_A2000_Volume(intVol)调节语音播放的音量。Vol的取值范围是0~15,数值越大,输出音量越大。其他语音播放函数声音渐入渐出函数,在Hardware.asm中定义,可防止播放开始和结束时产生爆音。VoidSP_RampUpDAC1()VoidSP_RampUpDAC2()VoidSP_RampDnDAC1()VoidSP_RampDnDAC2()三、用汇编语言编写语音播放程序用汇编语言编写播放程序Sacmv26e.lib语音函数库还有供汇编语言直接调用的函数,包括自动与手动播放函数,它们与C函数一一对应(前面加上“F_”前缀):F_SACM_A2000_InitialF_SACM_A2000_PlayF_SACM_A2000_StopF_SACM_A2000_ServiceLoopF_SACM_A2000_DecoderF_SACM_A2000_FillQueue…………用汇编语言编写播放程序汇编语音播放函数使用R1、R2……寄存器来传递参数。例如,C语言的SACM_A2000_Initial(1);语句可改写为: r1=1 callF_SACM_A2000_InitialC语言的SACM_A2000_Play(0,2,3);语句可改写为: r1=0 r2=2 r3=3 callF_SACM_A2000_Play四、小结与注意事项小结与注意事项手动播放需要的支持文件与自动播放相同。Sacmv26e.lib,Hardware.asm,Hardware.inc手动播放的中断服务程序与自动播放相同。手动播放需要获取待播放语音资源的起始地址和结束地址,工程编译后会自动在Resource.asm中生成这些地址的索引表

文档评论(0)

yzs890305 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档