- 1、本文档共18页,可阅读全部内容。
- 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
学 号: 0540410228
课 程 设 计
题 目 音乐演奏程序设计 教 学 院 计算机学院 专 业 计算机科学与技术 班 级 05级本科(2)班 姓 名 李 锐 指导教师 马学军 晏伯武 姚莉 杨斐
2008 年 01 月 16 日
目 录
一 概述 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发出音调,主要特点是程序简单明了,有良好的交互界面。程序的主要功能是给用户提供三首已经写好的短曲,根据用户的选择演奏乐曲,演奏完一首乐曲后跳回起始状态,如此循环,直到用户输入结束的信息为止。
本程序设计过程的整体设计思路是通过定义数据段,堆栈段和代码段实现程
您可能关注的文档
最近下载
- “红旗杯”竞赛总题库-4班组长计划管理能力考试题库(附答案).docx VIP
- 物业管理实务练习题物业的承接查验(三).pdf VIP
- 食品配送行业货物运输质量保障措施.docx VIP
- 2025入党积极分子发展对象培训考试试卷题库(含答案).docx VIP
- 地下室金刚砂地坪施工方案.docx VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- “红旗杯”竞赛总题库-2班组长成本绩效管理能力考试题库(附答案).docx VIP
- 轨道交通收益权质押价值评估研究--以xx市地铁x号线为例.pdf VIP
- 5. 国威人工智能产业学院建设方案V1.5.pdf VIP
- 中国AIGC应用全景图谱报告.pptx VIP
文档评论(0)