键盘钢琴汇编语言程序设计

键盘钢琴汇编语言程序设计

ID:41420224

大小:161.49 KB

页数:24页

时间:2019-08-24

键盘钢琴汇编语言程序设计_第1页
键盘钢琴汇编语言程序设计_第2页
键盘钢琴汇编语言程序设计_第3页
键盘钢琴汇编语言程序设计_第4页
键盘钢琴汇编语言程序设计_第5页
资源描述:

《键盘钢琴汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目录1总体方案设计与论证21」课程设计程序功能分析21.2方案设计与论证22程序流程图设计42」主程序流程图42.2暂停程序流程图52.3错误程序流程图53程序段落说明73」初始化字符串输出73.2键盘输入与判断103.3暂停程序分支124程序调试说明、结果记录与分析144」程序调试说明144.2程序调试、运行结果与分析145课程设计收获与心得体会166参考文献17附录:程序清单18键盘钢琴汇编语言程序设计1总体方案设计与论证课程设计程序功能分析本次课设要求编写程序具体功能如下:(1)自定义钢琴键;(2)单

2、击钢琴键,计算机发出相应音阶,发声时间自定义。(3)单击“ESC”键退出程序。通过分析程序功能要求并结合计算机内部8255、8253和扬声器的连接方式可知为实现功能须对8255、8253对应接口赋予相应的值实现扬声器的开关。除了要求的ESC完成退出程序外,我还设计了单击SPACE完成暂停功能,而这些都可以通过条件转移指令实现。此外,我还要通过DOS功能调用实现彩色提示字符的输出。1•2方案设计与论证根据前面分析可知,本程序主要是要实现字符串输出,字符输入及识别,发声,暂停和退出程序的功能。其屮,根据实现字符

3、识别的不同方式有两种设计方案,先阐释如下:方案一:字符串输出使用DOS功能调用,通过对行、列置入不同的字符实现彩色提示字符的闪灭。字符输入使用单字符输入方式(1号)实现。为实现字符识别,可通过多个条件转移指令,每次对一个字符进行判断,不是则转移到下一个判断处。通过对8255、8253对应接口赋予相应的值实现发声功能。暂停和退出功能也同样使用条件转移指令完成。由于进行字符识别时需要21个不同的条件转移指令,使得程序变得极为臃长,不是最佳方案。方案二:字符串的输出,字符输入,发声,暂停和退出功能同方案一相同。对

4、于字符识别,则预先将与琴键对应得键位作为数据段的一部分保存,输入一个字符后将其与之依次比较,实现识别功能。该方案使得程序变得简洁有效并增加了可读性。根据上述分析,本次课程设计选用方案二。2程序流程图设计由于此次课设程序较为复杂,包含多个跳转和子程序。故在此使用将主程序流程图和子程序流程图分开叙述的方法,叙述如下:2.1主程序流程图主程序运行后进入DOS界面,首先输出提示字符。接着用户通过键盘输入单个字符,对其进行判断识别并作出相应处理:ESC时退出程序;SPACE吋暂停程序;除Q-U,A-J,Z-M时输岀错

5、误信息;是上述字符吋对8255.8253进行初始化,保存音阶并发声并循环输入字符的操作。主程序流程图如图2-1所示:图2.1主流程图2.2暂停程序流程图当对输入字符判断为空格后,进入暂停子程序。换行后输出暂停信息,对8255进行清零使得扬声器停止工作。随后对下个输入字符进行判断,若为ESC则退出整个程序;若为空格则重新进入正常工作状态;若为其他字符则等待下个字符的输入。流程图如图2.2所示。▼图2.2暂停程序流程图2.3错误程序流程图当对输入字符判断为空格、ESC、Q-U、A-J、Z-M以外的字符后,进入错

6、误子程序。换行后输出错误信息。随后重新对输入字符进行判断。流程图如图2.3所示。图2.3错误程序流程图3程序段落说明3.1初始化字符串输出程序开始后先将提示字符串输岀。具体就是通过对行、列的赋值改变光标的置入位置并在相应位置输岀字符;通过将空格覆盖实现字符的亮灭;通过DOS功能调用改变字体的颜色。结束后换行,等待用户输入字符。movax,datamovds,axmovah,0moval,2intlOh;黑白文本movex,OafffhZF:;输出welcometothepcpiano!movdh,1;行mo

7、vdl,32;列movah,2movbh,0;页号为0intlOh;置光标位置1eadx,strlmovah,9int21h;显示字符串movdh,1movdl,32movah,2movbh,0intlOh;置光标位置leadx,str2movah,9intsubjnzmovmovintmovmovintmovmovmovkkkl:movincmovintmovincmovincmovmovmovintcmp21hex,1ZFal,3ah,0lOhdx,offsetstr3ah,921hsi,offsets

8、tr4di,0dl,0dh,1dlah,2lOhah,09dial,[si]sibh,0bl,Oahex,01lOhdi,12h;不等于转移;设置为16色文本;输出输入ESC退出;输出q到U代表高咅;dh行dl列;置光标位置;9号功能;显示页;字体颜色;字符•重复一次jbkkklmovdi,0movdl,0kkk2:movdh,3incdlmovah,2intlOhmovah,09incdimoval,[si]i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。