音乐演奏微机课程设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TOC \o 1-5 \h \z \o Current Document 1总体要求与分析 1 \o Current Document 1.1设计要求 1 \o Current Document 1.2设计思路分析 1 \o Current Document 2方案设计 2 \o Current Document 2. 1方案一 2 \o Current Document 2. 2方案二 2 \o Current Document 2.3方案选择 2 \o Current Document 3硬件电路 3 \o Current Document 4软件设计 4 \o Current Document 4.1屏幕显示设计 4 \o Current Document 4.2音乐发生控制 5 \o Current Document 4.3节拍吋间的实现 6 \o Current Document 4.4音乐乐谱编程 7 \o Current Document 4.5程序流程图 9 \o Current Document 5程序调试及运行结果 12 \o Current Document 6小结与体会 13 \o Current Document 参考文献 13 \o Current Document 附录一程序源代码 14 \o Current Document 附录二程序运行结果 21 摘要 音乐演奏实现的一个主要步骤是乐谱编程。通过相应的频率表将乐谱中对应的音符转 化为计数器的计数初值,节奏通过延时程序利用破件实现频率计数和延时时间的控制,利 用8253-5定时/计数器芯片和8255A并行1/0接口芯片。使8253的一个通道工作在“方 波发生器”模式,实现对频率的计数;利用8255A的1出,端口实现发声时间的计数控制。 转化为对喇叭发音时间的控制,从而实现音符和节拍的数字化。知道了音调与频率和时间 的关系,就可以按照乐曲的曲谱将毎个音符的频率和持续时间定义成两个数据表;然后编 写程序一次取出表中的频率和时间值,调用GENS0UNDF程序发出各种声音。这个程序最终 通过菜单所提示的信息选取音乐。 关键词:汇编语言运行程序演奏调试 音乐演奏 1总体要求与分析 1.1设计要求 本文主要编写一段音乐程序,该程序可以进行如下操作:按大写字母,奏一首 歌曲;按大写字母“B” ;奏另一首歌曲,曲目自选。按Q退岀程序。 1.2设计思路分析 在1BM-PC/XT机中都带有8253-5定时/计数器,1BM-PC/AT中带有8254定时/计数器, 这两种芯片功能十分类似。本文通过对8253-5定时/计数器芯片的操作实现音乐演奏。该 声音接口通过汇编语言对8253-5的端口直接进行操作,可以不必要过多的使用BIOS的调 用和DOS的调用。 计数器芯片有3个通道,各自具有专用功能。通道0时系统的始终节拍计时器,通道 1专用于产生动态RAM的定时刷新信号,通道2用来控制计算机的扬声器的声音频率。该 音乐演奏主要用到通道2的功能,使通道2工作在“方波发生器”方式,产生相应频率的 音调送至喇叭驱动电路,使喇叭发岀不同音调的声音。使用8255A的PB。控制通道2的计 数,IE控制通道2的输岀对扬声器产生控制的时间。 人机交互包括屏幕显示提示语以及人工输入相应参数,主要应用到BIOS的10H号中断 调用以及DOS的21H号中断调用。BIOS的10H号中断调用用于显示器驱动,设置显示模式 和光标位置;DOS的21H号中断调用用于单字符输入以及多字符输岀显示。 音乐演奏实现的一个主要步骤是乐谱编程。通过相应的频率表将乐谱中对应的音符转 化为计数器的计数初值,节奏通过延时程序转化为对喇叭发音时间的控制,从而实现音符 和节拍的数字化。 2方案设计 音乐的实现主要是对乐谱中的单音符按照一定的音符频率表转化为计数器的计数频率 以及喇叭发声的控制时间,通过计数产生相应的控制动作。由此可以有两种方案比较和选 择。 2.1方案一 通过编程使用软件来实现计数和喇叭发声的时间设置,控制8255A并行I/O接口驱动 喇叭发声。CPU每执行一条指令需要耗费一定的时间,这样可以通过循环的方式设置好循 环次数,实现软件计数,然后输出相应的高低电平,驱动喇叭发出对应频率和节拍的声音。 利用软件编程方式实现该功能的优点是可以减少破件开支,便于调试和问题的查找。 缺点是CPU开支太大,利用率不高,而且时间不够精准。 2. 2方案二 利用硬件实现频率计数和延时时间的控制,利用8253-5定时/计数器芯片和8255A并 行1/0接口芯片。使8253的一个通道工作在“方波发生器”模式,实现对频率的计数; 利用8255A的1%端口

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档