- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编音乐演奏程序设计精选
目 录
一 概述 2
二 总体方案设计 4
三 详细设计 8
四 程序的调试与运行结果说明 13
五 课程设计总结 14
参考文献 15
一 概述
汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。借助于汇编程序,计算机本身可以自动地把 汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。
1课程设计的目的
掌握一些程序设计的基本方法,要指导主程序,子程序以及推栈段的使用,.了解通用发声程序.了解与掌握定时.计数.音乐.频率.时间之间的关系学会用发声程序的设计方法学会用汇编语言编辑音乐程序.
(2)认真作好实验准备
(3)仔细观测实验现象,如实记录实验数据
(4)分析故障原因,精心排除故障
二 总体方案设计
主程序流程图:
Y N
Y N
Y N
Y N
图1 主程序流程图
Music子程序流程图:
图2 Music子程序流程图
这次课程设计的设计思想是在熟练掌握汇编程序的设计方法的基础上,利用通用发生程序编写音乐程序.组成音乐的每个音符的频率值和持续时间是音乐程序发声所需要的两个数据,根据音调与频率和时间之间的关系,把要编辑的音乐的每个音符的频率和持续时间定义成两个数据表,进而把它们写入通用发声程序,音乐程序就完成。
在编制此音乐演奏程序时,应该知道ROM BIOS 中有个BEEP子程序,这能根据BL中组出的时间计数值控制8254定时器,产生持续时间为1个或几个0.5秒,频率为896HZ的声音,我们可以利用并修改BEEP,使其产生任一频率的声音。首先要了解计算机是如何产生声音和乐曲的。找出相关程序源代码,弄清楚各功能的环节间的联系、联接方法,搞清楚单调与频率和时间的关系,利用计算机控制发声的原理,依照基本的算法思想写程序,测试,更正,扩充功能,修饰细节。
本次设计在具体设计过程中的整体设计思路如下:
该程序主要分成
1.根据音阶表和简谱为演奏的乐曲定义一个频率表mus_freq和一个时间表mus_time。
2.分别将两个表的偏移地址放入SI和BP。
lea si, mus_freq
lea bp, ds:mus_time
3.从表中取出音符的频率放入DI,取出音符的持续时间(实际上是10ms的倍数)放入BX。
mov di, [si]
mov bx, ds:[bp]
频率表中最后一个数据-1作为乐曲的结束符,也可用其他的特殊值来代替。
4.调用通用发声子程序SOUNDF发出音调。
这个程序比较简单,如果想演奏另一个乐曲,只需把mus_freq和mus_time两个表中的数据换成另一个乐曲的频率和节拍时间就可以了。该算法的整体思路是在这个设计中用到了BEEP通用发声程序,我们利用对BEEP程序的修改让它产生任何一种频率的声音,也可以让声音的持续时间更容易被调整 在编译的过程中,用到了子程序调用,分别根据输入调用music1,music2,music3程序还要调用子程序gensound发出音调,主要特点是程序简单明了,有良好的交互界面。程序的主要功能是给用户提供三首已经写好的短曲,根据用户的选择演奏乐曲,演奏完一首乐曲后跳回起始状态,如此循环,直到用户输入结束的信息为止。
本程序设计过程的整体设计思路是通过定义数据段,堆栈段和代码段实现程序的各种要求。其中堆栈段是为乐曲的音调及频率的数据分配空间;数据段是记录程序运行过程中所需的信息,包括字符信息,单调数据,音频数据;代码段则是程序算法部分, 通过对各数据的调用,实现音乐演奏功能。
我所承担的部分设计工作是找出相关程序源代码,弄清楚各功能的环节间的联系、联接方法,搞清楚单调与频率和时间的关系,写出其中的一个音乐文件的代码,理解其在总程序中的作用。依照基本的算法思想写程序,测试,更正,扩充功能,修饰细节。
5.系统的主要功能:
您可能关注的文档
- 某酒业公司促销人员培训手册精选.doc
- 某载货车前轴有限元分析精选.doc
- 某酒店休闲娱乐部管理手册精选.doc
- 某酒店ISO14000环境管理手册精选.doc
- 某造纸厂碱回收及中水回用工程可行性研究报告精选.doc
- 某钢结构工程厂房、办公楼施工组织设计精选.doc
- 某铁路建设工程质量考核办法精选.doc
- 某长江大桥B 段(北岸)施工组织设计精选.doc
- 某钢铁集团生产系统余热余压利用技术改造工程可行性研究报告精选.doc
- 某酒店及度假村工程部标准工作程序精选.doc
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)