200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 汇编计算机钢琴流程图 键盘钢琴汇编语言程序设计

汇编计算机钢琴流程图 键盘钢琴汇编语言程序设计

时间:2018-10-12 12:56:55

相关推荐

汇编计算机钢琴流程图 键盘钢琴汇编语言程序设计

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

(27页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.9 积分

目录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) 单击钢琴键,计算机发出相应音阶,发声时间自定义。(3) 单击“ESC”键退出程序。通过分析程序功能要求并结合计算机内部8255、8253和扬声器的连接方 式可知为实现功能须对8255、8253对应接口赋予相应的值实现扬声器的开关。 除了要求的ESC完成退出程序外,我还设计了单击SPACE完成暂停功能,而这 些都可以通过条件转移指令实现。此外,我还要通过DOS功能调用实现彩色提 示字符的输出。1 ? 2方案设计与论证根据前面分析可知,本程序主要是要实现字符串输出,字符输入及识别,发 声,暂停和退出程序的功能。其屮,根据实现字符识别的不同方式有两种设计方 案,先阐释如下:方案一:字符串输出使用DOS功能调用,通过对行、列置入不同的字符实现 彩色提示字符的闪灭。字符输入使用单字符输入方式(1号)实现。为实现字符 识别,可通过多个条件转移指令,每次对一个字符进行判断,不是则转移到下一 个判断处。通过对8255、8253对应接口赋予相应的值实现发声功能。暂停和退 出功能也同样使用条件转移指令完成。由于进行字符识别时需要21个不同的条 件转移指令,使得程序变得极为臃长,不是最佳方案。方案二:字符串的输出,字符输入,发声,暂停和退出功能同方案一相同。 对于字符识别,则预先将与琴键对应得键位作为数据段的一部分保存,输入一个字符后将其与之依次比较,实现识别功能。该方案使得程序变得简洁有效并增加 了可读性。根据上述分析,本次课程设计选用方案二。2程序流程图设计由于此次课设程序较为复杂,包含多个跳转和子程序。故在此使用将主程序 流程图和子程序流程图分开叙述的方法,叙述如下:2. 1主程序流程图主程序运行后进入DOS界面,首先输出提示字符。接着用户通过键盘输入单 个字符,对其进行判断识别并作出相应处理:ESC时退出程序;SPACE吋暂停程 序;除Q-U, A-J, Z-M时输岀错误信息;是上述字符吋对8255. 8253进行初始化,保存音阶并发声并循环输入字符的操作。主程序流程图如图2-1所示:图2.1主流程图2. 2暂停程序流程图当对输入字符判断为空格后,进入暂停子程序。换行后输出暂停信息,对 8255进行清零使得扬声器停止工作。随后对下个输入字符进行判断,若为ESC 则退出整个程序;若为空格则重新进入正常工作状态;若为其他字符则等待下个 字符的输入。流程图如图2. 2所示。▼图2.2暂停程序流程图2. 3错误程序流程图当对输入字符判断为空格、ESC、Q-U、A-J、Z-M以外的字符后,进入错误子 程序。换行后输出错误信息。随后重新对输入字符进行判断。流程图如图2. 3 所示。 图2.3错误程序流程图3程序段落说明3. 1初始化字符串输出程序开始后先将提示字符串输岀。具体就是通过对行、列的赋值改变光标的置入位置并在相应位置输岀字符;通过将空格覆盖实现字符的亮灭;通过DOS功能调用改变字体的颜色。结束后换行,等待用户输入字符。movax, datamovds, axmovah, 0moval,2intlOh;黑白文本movex, OafffhZF:;输出welcome to the pc piano!movdh, 1;行movdl,32;列movah, 2movbh,0;页号为0intlOh;置光标位置1 eadx, strlmovah, 9int21h;显示字符串movdh, 1movdl,32movah, 2movbh,0intlOh;置光标位置lea dx, str2mov ah, 9intsubjnzmovmovintmovmovintmovmovmovkkkl:movincmovintmovincmovincmovmovmovintcmp21hex, 1ZFal, 3ah, 0lOhdx,offset str3ah, 921hsi, offset str4di,0dl,0dh, 1dlah, 2lOhah, 09dial, [si]sibh, 0bl, Oahex, 01lOhdi, 12h;不等于转移;设置为16色文本;输出输入ESC退出;输出q到U代表高咅;dh行 dl列;置光标位置;9号功能;显示页;字体颜色;字符?重复一次jb kkklmov di, 0mov dl, 0kkk2:mov dh, 3inc dlmov ah, 2int lOhmov ah, 09inc dimov al, [si]inc simov bh, 0mov bl, Oehmov ex, 01 int lOhemp di,13h jb kkk2;dh行 dl列;置光标位置;9号功能;显示页;color;字符重复一次;dh行 dl列;置光标位置;9号功能mov si, offset str6 ;输出乙到山代表低咅mov di, 0mov dl, 0 kkk3:mov dh, 5inc dlmov ah, 2int lOhmov ah, 09inc dimov al, [si]incsimovbh, 0;显示页movbl,05h;colormovex, 01;字符重复一次intlO 关键词: 键盘 钢琴 汇编 语言程序设计

天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。