- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
目录
1总体方案设计与论证 2
课程设计程序功能分析 2
方案设计与论证 2
2程序流程图设计 4
2.1主程序流程图 4
2.2暂停程序流程图 5
2.3错误程序流程图 5
3程序段落说明 7
3.1初始化字符串输出 7
3.2键盘输入与判断 10
3.3暂停程序分支 12
4程序调试说明、结果记录与分析 14
4.1程序调试说明 14
4.2程序调试、运行结果与分析 14
5课程设计收获与心得体会 16
6参考文献 17TOC\o1-3\h\z\u
附录:程序清单 18TOC\o1-3\h\z\u
键盘钢琴汇编语言程序设计
1总体方案设计与论证
本次课设要求编写程序具体功能如下:
〔1〕自定义钢琴键;
〔2〕单击钢琴键,计算机发出相应音阶,发声时间自定义。
〔3〕单击“ESC”键退出程序。
通过分析程序功能要求并结合计算机内部8255、8253和扬声器的连接方式可知为实现功能须对8255、8253对应接口赋予相应的值实现扬声器的开关。除了要求的ESC完成退出程序外,我还设计了单击SPACE完成暂停功能,而这些都可以通过条件转移指令实现。此外,我还要通过DOS功能调用实现彩色提示字符的输出。
根据前面分析可知,本程序主要是要实现字符串输出,字符输入及识别,发声,暂停和退出程序的功能。其中,根据实现字符识别的不同方式有两种设计方案,先阐释如下:
方案一:字符串输出使用DOS功能调用,通过对行、列置入不同的字符实现彩色提示字符的闪灭。字符输入使用单字符输入方式〔1号〕实现。为实现字符识别,可通过多个条件转移指令,每次对一个字符进行判断,不是那么转移到下一个判断处。通过对8255、8253对应接口赋予相应的值实现发声功能。暂停和退出功能也同样使用条件转移指令完成。由于进行字符识别时需要21个不同的条件转移指令,使得程序变得极为臃长,不是最正确方案。
方案二:字符串的输出,字符输入,发声,暂停和退出功能同方案一相同。对于字符识别,那么预先将与琴键对应得键位作为数据段的一局部保存,输入一个字符后将其与之依次比拟,实现识别功能。该方案使得程序变得简洁有效并增加了可读性。
根据上述分析,本次课程设计选用方案二。
2程序流程图设计
由于此次课设程序较为复杂,包含多个跳转和子程序。故在此使用将主程序流程图和子程序流程图分开表达的方法,表达如下:
主程序运行后进入DOS界面,首先输出提示字符。接着用户通过键盘输入单个字符,对其进行判断识别并作出相应处理:ESC时退出程序;SPACE时暂停程序;除Q-U,A-J,Z-M时输出错误信息;是上述字符时对8255、8253进行初始化,保存音阶并发声并循环输入字符的操作。主程序流程图如图2-1所示:
延时赋相应频率值求出音阶值保存对8255、8253初始化是Q~U,A~J,Z~M键吗?是空格吗?是ESC吗?输入字符输出提示字符串开始
延时
赋相应频率值
求出音阶值保存
对8255、8253初始化
是Q~U,A~J,Z~M键吗?
是空格吗?
是ESC吗?
输入字符
输出提示字符串
开始
图2.1主流程图YNNYN暂停错误结束返回DOSY
图2.1主流程图
Y
N
N
Y
N
暂停
错误
结束
返回DOS
Y
当对输入字符判断为空格后,进入暂停子程序。换行后输出暂停信息,对8255进行清零使得扬声器停止工作。随后对下个输入字符进行判断,假设为ESC那么退出整个程序;假设为空格那么重新进入正常工作状态;假设为其他字符那么等待下个字符的输入。流程图如图2.2所示。
入口
入口
换行
换行
输出暂停信息
输出暂停信息
停止发声
停止发声
Y
Y
是ESC吗?
是ESC吗?
N
N
返回DOS
返回DOS
N输出字符是空格吗?
N
输出字符
是空格吗?
Y出口
Y
出口
图2.2暂停程序流程图
图2.2暂停程序流程图
当对输入字符判断为空格、ESC、Q-U、A-J、Z-M以外的字符后,进入错误子程序。换行后输出错误信息。随后重新对输入字符进行判断。流程图如图2.3所示。
入口
入口
换行
换行
输出错误信息
输出错误信息
N
N
是空格吗?
是空格吗?
Y输出字符
Y
输出字符
出口
出口
图2.3错误程序流程图
图2.3错误程序流程图
3程序段落说明
程序开始后先将提示字符串输出。具体就是通过对行、列的赋值改变光标的置入位置并在相应位置输出字符;通过将空格覆盖实现字符的亮灭;通过DOS功能调用改变字体的颜色。结束后换行,等待用户输入字符。
movax,data
movds,ax
movah,0
moval,2
int10h;黑白文本
movcx,0afffh
ZF:
您可能关注的文档
- 椭圆及其标准方程:课件一(18张PPT).ppt
- 正确使用成语.ppt
- 高三测试(集合-函数-三角函数).docx
- 高一化学选修4第三章《盐类的水解》测试题1.doc
- 高一第二学期第一次月考物理试卷.doc
- 正整数指数函数-必修5(北师大版).ppt
- 雷击计数器设计方案.doc
- 食堂承包方案.doc
- 高一数学一元二次方程根的分布.doc
- 风电场工程建设流程管理标准.docx
- 2022-2027年中国家用调味品市场竞争态势及投资方向研究报告.docx
- 2020-2025年中国轻质碳酸钙(食品级)行业市场运营现状及行业发展趋势报告.docx
- 2022-2027年中国蔗糖行业发展概况及行业投资潜力预测报告.docx
- 土建施工合同正规范本2024年.docx
- 中国特种饲料行业发展监测及投资前景预测报告.docx
- 土石方运输及渣土倾倒合同2024年.docx
- 2025年中国窨花茶行业市场调研及投资战略规划报告.docx
- 2021-2026年中国益生菌添加剂市场全面调研及行业投资潜力预测报告.docx
- 中国商旅市场深度调查及发展前景研究预测报告.docx
- 2025年中国栗子罐头市场前景预测及投资规划研究报告.docx
文档评论(0)