键盘钢琴汇编语言程序设计—微机原理课程设计.docx
《键盘钢琴汇编语言程序设计—微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《键盘钢琴汇编语言程序设计—微机原理课程设计.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、键盘钢琴汇编语言程序设计微机原理课程设计 学号:xxxxxxxxxxx 课程设计 题目键盘钢琴汇编语言程序设计 学院自动化学院 专业自动化专业 班级xxxxxxxx 姓名xxxxxx 指导教师xxxxxx 2022 年01 月12 日 ? 3 ? 2 ? 1课程设计任务书 学生姓名: xxxx 专业班级: xxxxxxx 指导教师: xxxx 工作单位: xxxxxx 题 目: 键 盘 钢 琴 汇 编 语 言 程 序 设 计 初始条件: 采用16 位微处理器 8086 CPU 以及86 系列微型计算机的指令系统; 软件设计平台为多功能微型计算机实验软件MFS 中的微机原理实验集成环境MF2KP
2、 ,仿 真设计平台为Proteus 软件。 要求完成的主要任务: 设计汇编语言程序,实现键盘钢琴功能,具体功能要求如下: (1)在键盘上自定义若干键对应钢琴键; (2)单击钢琴键,计算机发出相应音阶,发声时间自定义; (3)单击”ESC”键退出程序。 音阶与频率的对应关系如下表所示: 音符 4 5 6 7 1 2 3 4 5 6 7 频率/Hz 175 196 220 247 262 294 330 349 392 440 494 523 587 659 根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试: 撰写课程设计说明书。课程设计说明书的撰写格式如下: (1)设计说明书包括封面
3、、任务书(指导老师提供)、正文、参考文献(3 5 篇)、附录(程序清单,要求有注释)、成绩评定表(指导老师提供)。 (2)说明书正文包含总体方案论证(功能分析、系统连接图设计或算法说明);程序流程图设计及其说明、软件设计关键问题说明;程序调试说明、结果记录及分析;课程设计收获及心得体会。 (3)同一选题若为合作完成,设计说明书中需注明本人承担的设计部分。 时间安排: (本次课程设计时间:2022 年1 月4 日-13 日,历时一周半) 周次 具体时间 设计内容 第 一 周 1月4日 指导老师就课程设计内容、设计要求、设计进度安排、评分标准等作具体介绍。强调课程设计期间纪律要求。学生确定选题,明
4、确设计内容及要求。 1月5日 根据选题查阅资料,完成方案的初步设计,包括系统原理及算法。 1月6日 绘制系统硬件接线图(接口应用设计题必须)以及程序流程图。 第 二 周 1月9日 学生根据程序流程图,编写程序代码。 1月10日 仿真调试、修改。 1月11日 学生结合程序流程图解释说明设计思路与算法;指导老师检查程序运行效果,并就结果进行评分。 1月12日 学生撰写课程设计说明书。 1月13日 上交课程设计说明书,以及答辩。 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录 引言 (1) 1 设计意义及要求 (2) 1.1设计意义 (2) 1.2设计要求 (2) 2 总体
5、方案论证 (3) 2.1按键与音调频率值的对应 (3) 2.2扬声器的驱动分析 (5) 2.3发声时间 (6) 3 程序设计 (7) 3.1主程序设计及其流程图 (7) 3.2子程序设计及其流程图 (8) 3.2.1 计算频率值的子程序FIFRE (8) 3.2.2 发声子程序SOUND (9) 3.2.3 延时子程序DELAY (10) 4 结果分析 (11) 4.1程序调试与改进 (11) 4.2结果记录及分析 (12) 心得与体会 (13) 参考文献 (14) 附录程序代码 (15) 引言 汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,
6、作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。 高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。而此次的微机原理与接口技术(基于16位机)的课程设计正是利用这个学期所学的汇编语言来设计一个键盘钢琴的应用程序,要求该汇编语言程序能实现键盘钢琴的功能,就是在键盘上按下自定义的按键之后,可以从主板的蜂鸣器上发出一定频率的音调,而这些音调的频率都是相应音阶的特征频率,故发出的声正好就是音乐的各个音阶声调。 通过这
7、个应用程序,按照音乐的谱子连续地按下相应按键,就可以像钢琴那样发出音乐来,但是局限于扬声器的原因,所发出的音乐没有真正的钢琴那样美妙。但是现在的一些键盘钢琴的软件已经能驱动声卡,来获得更好更逼真的钢琴音乐效果了。 ? 3 ? 2? 11 设计意义及要求 1.1 设计意义 键盘钢琴,电脑键盘代替钢琴键演奏钢琴乐曲。最原始、也是最流行的版本,音符以ABCDEGF 为编排。让不懂音乐的网友可以快速上手,其体积小,简单方便、易传播,因此在网上普及率最高。 键盘钢琴让人可以在闲暇时刻,可以小小地娱乐一下,增加生活的乐趣。由于一架钢琴过于昂贵,对于一般的普通工薪阶层的人来说,还是很难接触到钢琴的,而键盘钢
8、琴的出现正好让那些业余爱好者,既满足的对钢琴音乐艺术的追求,也更廉价和便捷。对于初学音乐的人来说,这样的键盘钢琴软件更是训练的好助手,可以帮助你迅速熟悉各音阶音调和旋律节奏。因此,这样的软件也很多版本,有专业版,也有简单的Flash 版,当然也有此次课设要求设计的简陋版。专业版能提供多种乐器音色、录放功能、音符显示。不太好的地方是键盘要按下去才发音,没有延时,弹起来不太就手。Flash 版音色也比较好,提供了多键位,也可以自定义键位。 1.2 设计要求 设计汇编语言程序,实现键盘钢琴功能,具体要完成的设计任务如下: (1) 在键盘上自定义若干键对应着钢琴键; (2) 单击钢琴键,计算机发出相应
9、的音阶,发声时间自定义; (3) 单击“ESC ”键退出程序 音阶与频率的对应关系如下所示: 音符 4 5 6 7 1 2 3 4 5 6 7 频率/Hz 175 196 220 247 262 294 330 349 392 440 494 523 587 659 2 总体方案论证 2.1按键与音调频率值的对应 设计此汇编语言程序,要实现键盘钢琴,首先是按键的自定义设计,因为题中要求设计的按键音调音阶有十四个,但是从网上查资料得知,各音阶与其相应频率有如表1-1所示的关系。 表1-1 音阶与频率的对应关系 单位:Hz 从表中可知:高低音之间有着大约两倍的关系,这样就很方便数据的储存了,只需要
10、将其中一个音度的频率值存储下了,再进行二倍关系的换算即可得到倍低音、低音、中音、高音、倍高音五种音度的音调频率值。 因为题目中主要是对低、中、高音的要求,在这里就以低音为基准存储数据值和换算其他音调频率值,由表1-1中得知低音音符1 2 3 4 5 6 7的音调频率分别为131、147、165、175、196、220、247。其中,中音各音调的频率是相应低音音调频率的两倍, 高音各音调频率是低音的四倍的。又因为低音的频率值最大为247,正好小于一个无符字节数值的最大值255,因此,只需要在程序的数据区内安排七个字节来存放频率数据,即: FREQ DB 131,147,165,175,196,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 键盘 钢琴 汇编语言 程序设计 微机 原理 课程设计
限制150内