革 命歌曲演奏程序《汇编语言程序设计》课程设计报告.docVIP

革 命歌曲演奏程序《汇编语言程序设计》课程设计报告.doc

  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文档。上传文档
查看更多
革 命歌曲演奏程序《汇编语言程序设计》课程设计报告

革命歌曲演奏程序《汇编语言程序设计》课程设计报告 题 目: 革命歌曲演奏程序 初始条件: 理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。 实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 编写用键盘选择计算机演奏歌曲的程序,歌曲清单至少包括3首。 程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 在正文第一行写课程设计题目; 1.需求说明(要求、功能简述)或问题描述; 2.设计说明(简要的分析与概要设计); 3.详细的算法描述; 4.源程序与执行结果(含测试方法和测试结果); 5.使用说明; 6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该程序进一步改进扩展的设想)。 时间安排: 设计时间一周: 周1:查阅相关资料。 周2:系统分析,设计。 周3~4:编程并上机调试 周5:撰写课程设计报告。 设计验收安排:21周星期五8:00起到计算机学院科学系实验中心进行上机验收。 设计报告书收取时间:21周的星期五下午5:00之前。 指导教师签名: 2007年1月18日 系主任(或责任教师)签名: 2007年1月 18日 革命歌曲演奏程序 1 需求说明 这次《汇编语言程序设计》课程设计要求通过一个较大型实用程序的设计与实现,综合运用所学知识,加深理解和掌握。同时培养学生分析问题和解决问题的能力,以及自学能力。 我选择的题目是《革命歌曲演奏程序》,要求完成的主要任务有: 编写用键盘选择计算机演奏歌曲的程序,歌曲清单至少包括3首。 程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。 设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。 2 设计说明 2.1 简要分析 这次课程设计的核心内容是编写计算机演奏歌曲的程序段。这需要通过程序控制内部扬声器发出声音来达到演奏歌曲的目的。 在可编程时间间隔定时器8253/54内部有3个计数器,还有一个公用的控制寄存器(I/O端口43H)。计数器2(I/O端口42H)用来控制扬声器发生。在ROM BIOS 中有个BEEP子程序,它在模式3下,能产生频率为896Hz的声音,装入计数器2的计数初值为533H(1.19318MHz/896Hz=1331=533H)在简谱体系中,音的相对高度七个阿拉伯数字来表示的。低八度 高八度 1 2 3 4 5 6 7 8 9 0 2.2.2 main过程 main过程可分为以下几个步骤: (1) 显示菜单界面。 (2) 要求用户选择功能0-9。 (3) 选择1-3,准备演奏歌曲;调用歌曲演奏子程序;演奏完毕,返回步骤(1)。 (4) 选择4-6,准备调整声调;声调调整处理;调整完毕,返回步骤(1)。 (5) 选择7-9,准备调整速度;速度调整处理;调整完毕,返回步骤(1)。 (6) 选择0,退出。 2.2.3 歌曲演奏子程序 编写这个歌曲演奏子程序可分为四个步骤: (1) 根据简谱和音符与对应的频率值为演奏的乐曲定义一个音符(频率)表yf和一个节拍节奏(持续时间)表jz。 (2) 分别将两个表的偏移地址放入si和di。 mov si,offset yf1 mov di,offset jz1 (3) 从表中取出的音符放入cx,取出音符的节拍节奏放入bx。 mov cx,[si] mov bx,[di] 音符表中最后一个数据-1作为歌曲的结束符,也可用其他的特殊值来代替。 (4) 一对音符和节拍节奏的发声处理。 这个程序比较简单,如果想演奏另一个歌曲,只需把yf和jz两个表中的数据换成另一个歌曲的音符和节拍节奏就可以了。 2.2.4 一对音符和节拍节奏的发声处理 此处理可分为以下几个步骤: (1) 在8253/54中的43H端口送一个控制=0B6H,该控制字对定时器2进行初始化,使定时器2准备接收计数初值。 (2) 在8253/54中的42H端口(Timer2)装入一个16位的计数值(119318÷给定频率=533H×896÷给定频率=12348CH÷给定频率),以建立将要产生的声音频率。 (3) 把输出端口61H的0

文档评论(0)

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

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

1亿VIP精品文档

相关文档