微机原理与接口技术课程设计说明书.pdf
《微机原理与接口技术课程设计说明书.pdf》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计说明书.pdf(29页珍藏版)》请在咨信网上搜索。
1、武汉理工大学微机原理与接口技术课程设计说明书目录摘要.21设计任务及要求.32总体方案设计.32.1程序设计的整体设计思路.32.2算法的整体设计思路.42.3程序的主要特点.53详细设计.63.1 流程图.63.2主界面伪代码.63.3游戏界面伪代码.73.4宏代码.93.4.1画横向边框的宏.93.4.2画竖边框的宏.103.5功能的进一步完善.113.5,1 等级界面伪代码.113.5.2 完善代码.114运行结果说明.135心得体会.15参考文献.17程序源代码.181武汉理工大学微机原理与接口技术课程设计说明书摘要汇编是面向机器的程序设计语言,是最简洁的指令,能够保持机器语言的 一致
2、性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件 设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善 程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分 广泛。本次课设是通过设计一个打字练习,让我们更好地掌握汇编的应用,是对微机原理知识的扩展,有助于我们加深对微机原理上对应知识的理解,体会到汇编语言执行速度快、精炼的特点。关键字:汇编微机打字练习高效2武汉理工大学微机原理与接口技术课程设计说明书打字游戏1设计任务及要求设计任务:设计一个可执行程序testword.exe,可以完成以下基
3、本功能:1.在屏幕上显示菜单界面;2.按回车键出现由26个字母组成的乱序行;3.其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;4.按空格键停止,按ESC键返回主菜单,按q键退出程序。用汇编语言编写。2总体方案设计2.1程序设计的整体设计思路要求完成一个打字练习程序,即在规定的时间内按下屏幕上显示的字母,字母就消失,否则字母一直移动到屏幕底端。(比如:运行程序时,出现菜单主 界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键 盘上敲入该字母,如果输入正确,字母消失;按ESC键返回主界面;按空格见暂 停;按任,退出。)在设计本课题之前,要考虑两个问题:一是如何从
4、键盘输入并显示字符;二 是如何在输入时进行计时。考虑第一个问题,在PC中,对键盘的管理是通过中 断机构。由于系统在BIOS中已配备了键盘的服务功能,因此可通过调用键盘的 DOS和BIOS功能编程。而且设计中使用的都是软件中断,故在具体的程序设计 时,需要禁止硬件中断。计时部分也可通过定时器的中断来实现。由于定时器中 断优先级比键盘高,只要在键盘中断处理程序中用一条STI指令允许高级中断,3武汉理工大学微机原理与接口技术课程设计说明书那么在整个打字的过程中,定时器会以每秒18.2次的频率产生中断。根据计时 的需要,在整个打字过程中,再使用自编的中断例行程序可把定时器中断的次数 转换成时间。在键盘
5、打字时采用09类型的键盘中断,来取得输入字符并将字符显示在屏 幕上。程序设计时,预先设置的堆栈中存放一些字符审例句,每次打字之前,屏 幕上先显示出一个例句,然后打字员按照例句,将句中字符通过键盘输入。这个 过程可反复进行,当键入一个功能键时,退出打字计时程序。自行编制键盘中断 和时间中断处理程序,并保存原中断向量。程序运行时,使用自编的中断向量处 理程序。程序退出时,恢复中断向量。该打字程序包括以下四个子程序:(1)主界面的显示模块;(2)打字练习模块;(3)设置速度模块;(4)清屏模块。其中的打字练习模块又分为以下三个子程序:(1)游戏界面模块(2)难度选择模块(3)功能模块2.2算法的整体
6、设计思路此程序涉及到宏和I/O中断的调用,通过对宏的定义和使用以及对I/O中断 的使用,实现程序的相应功能。利用宏,实现各个界面的显示,采用中断,实现 各个子程序的相互转换。其中最主要的是打字程序:运行程序,打字界面中出现 由26个字母组成的乱序行,这时其中会有任一字母落下,在键盘上输入该字母,字母消失,分数值加1,否则字母一直移动到屏幕底端,然后消失,生命值减1。当生命值减为零且未在字母下落到屏幕底端之前输入该下落字母时,打字练习结 束,显不结束界面。4武汉理工大学微机原理与接口技术课程设计说明书2.3程序的主要特点本程序最大的特点就是具有较好的人机交互功能。在主界面中,用户可以选 择不同的
7、游戏等级,他们能够根据自己的实际打字速度,选择相匹配的等级进行 打字练习O如果用户对我们设计的程序有不明白的地方,可以选择帮助进行求解,并能与我们联系,讨论程序的不足,寻求改进,或者分享程序中的精妙之处。5武汉理工大学微机原理与接口技术课程设计说明书3详细设计3.1流程图本次程序开始是一个主界面,在主界面上包括三个选项,第一个选项是进入 打字子程序,第二个是选择进入等级设置子程序,第三个是退出主界面。程序的 主流程图如图3-1:图3-1流程图3.2主界面伪代码STR1DBWelcome to play word games,OAH,ODH,$,STR2DBMade by xiechengzho
8、u,OAH,ODH J$*STR3DB2013/01/17 0AH,0DH,1$STR4DBPlease choose speeding*,0AH,0DH,$STR5DBPlease press Enter to cintinue.0AH,0DH,1$6武汉理工大学微机原理与接口技术课程设计说明书STRADB,0AH,0DH,$STRBDB,score:;T,0AH,0DH,$STRCDB,You choose:,0AH,0DH,$STRDDB,hqfuvodepfdjygnhtrwgaerjrklubgsnyrsbntrsbngtrdjykuahtrgregfytjgQytjktru,*$*
9、STRE DB RIGHT:$MES5 DB nPLEASE ENTER YOUR PASSWORD:$”3.3游戏界面伪代码此伪代码显示的是进入打字界面的提示信息:STI DBST2 DBST8 DBRIGHT:Pause1,0AH,0DH,$E:QuitQAHQDH,$Esc:BackQAHQDH,$ST3 DBFunction Meun,0AH,0DH,$ST4 DBplease input.1,0AH,0DH,*$*ST5 DBSPACE:Continue,OAH,ODH,$ST6 DB1 Thank You!QAHQDH,$ST10 DBOAHQDH,$八 ST9 DB VREY G
10、OOD!;0AH,0DH,$;字母下落部分流程图如图3-2:7武汉理工大学微机原理与接口技术课程设计说明书图3-2字母下落流程图这个部分是游戏的核心部分。主要的想法是在某个地方出现字母,然后延迟 一段时间(延迟时间由游戏速度控制),判断是否有输入字符,同时判断字符是 否为大写E、空格或者正确的字符。输入的字符正确,则字母消失,重新下落一 个字母重复上面的过程。若没有输入字符,则用空格覆盖当前字符,将当前字符 在下一格处显示出来,不断的重复,直到最后笑脸处,将笑脸用空格覆盖,同时 产生一个新的字母。BIOS功能调用中的INT 10H功能6能使屏幕内容上卷指定的行,这个功能 需要设置4个参数,分别
11、代表清屏区域的左上角的坐标和右下角的坐标。如果屏 幕的其实行列不为(0,0)结束的行列不为(24,79),则屏幕上只有指定的一部分 具有上卷的功能,这个屏幕伤的部分区域叫做窗口(window)像这样的窗口可 以在屏幕上设置多个,这些窗口都可以独立使用。如果上卷超过指定窗口的顶部,这些行的内容就消失,出现在窗口底部的新行被填为空格,其属性用BH寄存器 8武汉理工大学微机原理与接口技术课程设计说明书决定。如果AL=O,则实现完成的工作是清楚屏幕的功能,它将按AL中的BH字符使指定的窗口为空白。以下是清除全屏幕的子程序:CLEAR PROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMO
12、VAH,6MOVAL,0;blank screenMOVBH,7MOVCH,0;左上角行号MOVCL,0;左上角列号MOVDH,24;右下角行号MOVDL,79;右下角列号INT10H;屏幕初始化或上卷MOVDX,0;行列号都为0MOVAH,2INT10H;置光标位置DIS3RETCLEAR ENDP3.4宏代码3.4.1画横向边框的宏DIS6 MACRO Z1,Z2,Z3,Z4LOCAL C5;LOCAL为重复定义的定义符9武汉理工大学微机原理与接口技术课程设计说明书DIS2MOVCX,Z1;循环次数MOVDL,Z2洌C5:MOVAH,2MOVBH,Z3;页号MOVDH,Z4;行INT10H
13、;置光标位置PUSHDXMOVDL,2AHINT21H;输出POPDXINCDL洌+LOOPC5DIS3ENDM3.4.2画竖边框的宏DIS7 MACRO Q1,Q2,Q3,Q4LOCALFl;LOCAL为重复定义的定义符DIS2MOVCX,Q4MOVDH,Q1;行Fl:MOVAH,2MOVBH,Q2MOVDL,Q3洌INT10H;置光标位置MOVDL,2AHINT21HINCDH10武汉理工大学微机原理与接口技术课程设计说明书LOOPFlDIS3ENDM3.5功能的进一步完善3.5,1等级界面伪代码在主界面中选择2,进入等级界面的设置,其中有3个等级,代表不同的难 易程度。用户可选则其中的任
14、意一个级别,按Enter键表示确定并返回主界面,若用户输入的错误的等级,则一直等待,直到输入了正确的等级。以下是等级界面的伪代码:STR7 DBspeed r,0AH,0DH,1$STR8 DBspeed 2;0AH,0DH,$STR9 DBspeed 3,0AH,0DH,$STRO DBSelect the number among l-3,0AH,0DH,$3.5.2完善代码击中下落字母后,使其显示不同的颜色;MOVAH,2MOVBH,0INT10HPUSHAXPUSHBXmov ah,9mov bh,011武汉理工大学微机原理与接口技术课程设计说明书mov cx,lmov al,simo
15、v bl,00101111B;字母击中后显示白色INT 10Hpop axpop bxcall SLEEP1MOV AH,2MOV BH,0PUSH DXMOV DLMOV AH,02HINT 21H;显示空格 覆盖字母INT 10H;置光标位置POP DX八 当游戏分数达到某一数值时,显示“Very Good!”八 ST9 DB VREY GOOD!;0AH,0DH,$八 CMP AL,30;击中30次显示jnz TDIS1 ST9 20,60;显示“VERY GOOD”八 12武汉理工大学微机原理与接口技术课程设计说明书4运行结果说明1、主界面如图4-1,按回车键继续:图4-1主界面2、字
16、母下落速度选择界面,如图4-2:图4-2难度选择界面按回车键后,进入等级选择界面这是一个等级选择界面,有三个等级进行 选择,分别代表不同的速度,速度一次递增,只能输入-3,直到输入正确才能13武汉理工大学微机原理与接口技术课程设计说明书开始游戏。3、游戏主界而,如图4-3:c C:VIlD0fSsysteB32cBd.eze 日回FunctionRIGHT:MenuPauseSPACE:ContinueE:QuitEsc:Backplease input.RIGHTmmwmhmhm二三I三三I三三X M图4-3游戏主界面界面的左边是功能菜单,可以进行功能的选择,暂停(空格键),退出(E),返回
17、主界面(Esc);界面的中间是游戏区,当用击中下落的字母后,字母会变为白色,并有声音 发出,表示用户击中字母;界面右边显示当前正确的字母字数。14武汉理工大学微机原理与接口技术课程设计说明书5心得体会”微机原理与接口技术”作为电气工程类本科生教学的主要基础课之一,课 程紧密结合电气工程类的专业特点,围绕微型计算机原理和应用主题,以 lntelx86CPU为主线,系统介绍微型计算机的基本知识、,基本组成、体系结构和 工作模式。通过学习微机原理与接口技术,我们了解了硬件是如何进行通信的,软件是如何控制硬件来得到想要的结果。我们能够运用微机知识来做一些简单的 事,比如计算机之间的审行口通信,控制灯光
18、的亮灭等。在微机中,最基础的语言就是汇编语言,它是一个最基础的计算机语言,能 用很精练的语句来完成复杂的功能,被广泛用于工程控制系统中。但是,精炼就 代表着复杂,例如,对某个数据进行修改时,本来很简单的一个操作会用比较繁 琐的语句来解决,而这些语言本身在执行过程中,会占有大量的世界和成本。在第一次看到这个题目时,感觉无从下手,我们都觉得这是学习计算机的人 才做的事,因为打字练习跟我们上课学的微机原理的汇编语言差距太大了,上课 时程序都不超过二十行,且都是基本的简单语句;而打字练习程序一般都是几百 行,而且用的很多都是没看过的语句。而且汇编语言不同于高级语言,如C,对 于高级语言,我们都有一个清
19、晰的思路,能够将之模块化处理,再依据各个模块 写程序,最后再组合在一起。通过两周的微机原理课程设计,我不仅巩固了以前所学的知识,还学到了许 多课外的知识,例如如何画边框,如何更好地调用中断等。查资料的能力对我们 是非常重要的,在开始编程之前,我先从网上找了一份相关代码,再去图书馆、上网等查阅资料,将不懂的语句一句一句地弄清楚,直至能完全看懂程序为止,再依照自己的思路编程。另外,理论与实际结合时也是很重要的,平时我们只是 上课做做题,并不知道汇编到底有多大的用处,而经过此次课程设计提高了我们 的编程能力,使我对于编程有了新的认识,我深深地体会到汇编语言的精炼,简 洁,编写此次程序占用空间也就十几
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 说明书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。