课程设计说明书题目:打字练习院系:专业班级:学号:学生姓名:指导教师:2010年12月31日安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件教研室学号学生姓名专业(班级)设计题目题目一:判断闰年题目二:简单计算器题目三:代码转换程序题目四:字符图形程序题目五:学生成绩管理题目六:打字练习√设计技术参数1.熟悉汇编指令、宏汇编语言的编程方法2.BIOS中断调用、系统功能中断调用方法3.磁盘文件、及文件内容操作设计要求写一个程序,运行可执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。工作量1.完成所选题目的软件设计;2.课程设计说明书1000字(不包括程序源代码)左右。工作计划第1次熟悉软件环境。第2次绘制程序流程图。第3次用编写程序。第4次用调试运行程序。第5次编写课程设计说明书参考资料[1]温冬蝉,沈美明.IBMPC汇编语言程序设计.第2版.北京:清华大学出版社,2002.3[2]李敬兆.8086/8088和基于ARM核汇编语言程序设计.第二版.合肥:中国科学技术大学出版社,2008.9[3]王爽.汇编语言.北京:清华大学出版社,2003.9指导教师签字教研室主任签字2010年12月17日安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日摘要这项课程设计是用汇编语言完成打字练习,本文主要分为五部分,设计目的,概要设计,详细设计,程序调试以及心得体会。从构思,编写,调试到完整的实现,每一部分都做了深入的分析和说明。通过平时所学知识的综合利用,完成以及完善了这个小程序。本文的核心部分是对于详细设计的讲解与分析,而这当中的侧重点又在于设计思想的再现。判断,循环,子程序,宏都是此次课程设计的重要组成不分。关键词:功能模块,核心代码,随机字符,模块调用,功能分析I目录1设计目的........................................................................................................12概要设计........................................................................................................22.1系统总体分析.....................................................................................................................................22.2主模块框图及说明..............................................................................................................................23详细设计.......................................................................................................43.1主模块及子模块说明.........................................................................................................................43.2各模块详细设计..................................................................................................................................43.2.1主界面模块..................................................................................................................................43.2.2随机字母产生模块......................................................................................................................63.2.3字母落下模块..............................................................................................................................73.2.4暂停模块......................................................................................................................................83.2.5返回主界面模块..........................................................................................................................94.程序调试...................................................................................................104.1运行界面分析....................................................................................................................................104.2调试过程及分析................................................................................................................................115心得体会......................................................................................................125.1设计体会...........................................................................................................................................125.2系统改进...........................................................................................................................................12参考文献.........................................................................................................13安徽理工大学课程设计(论文)-1-1设计目的这次课设的任务是写一个程序,运行可执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的:1.增进对汇编语言的认识,加强用汇编语言编程的能力;2.掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;3.了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础;4.通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中;5.掌握屏幕输出显示的设计方法。安徽理工大学课程设计(论文)-2-2概要设计2.1系统总体分析根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。2.2主模块框图及说明程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1:安徽理工大学课程设计(论文)-3-E其他键ENTERENTER是否是是否是是图2-1程序设计流程图结束随即字母落下当前字母消失暂停判断输入按键键入字符是否与下落一致从键盘输入字符是否是空格开始输入空格是否是ESC安徽理工大学课程设计(论文)-4-3详细设计3.1主模块及子模块说明主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)3.2各模块详细设计3.2.1主界面模块当程序运行后,我们首先要进行选择,是要继续进行即进入打字练习程序还是终止练习退出程序。所以,在这里我们需要设置一个程序,该程序要判断键盘键入的字符,我们不妨规定ESC键和ENTER键分别为终止程序的控制键和进入打字练习程序的控制键,即当检验到键盘输入ESC后,退出程序;当键盘输入为ENTER时进入打字练习程序。单元程序如下:menudb'*********************************',0dh,0ahdb'Welcometowordtypeexercise',0dh,0ahdb'pressEnterkeytocontinue.......',0dh,0ahdb'whenaletterisdropping,pleasehitit!',0dh,0ahdb'pressspacekeytopause!',0dh,0ahdb'pressESCkeytoreturnmaininterface!',0dh,0ahdb'pressletterEtoexit!',0dh,0ahdb'*********************************$'以上设置主界面的显示方式。clear_screen00d,00d,24d,79dInit_write00d,00d,0ah,dl,80d,nextsign1Init_write24d,00d,0ah,dl,80d,nextsign2Init_write00d,00d,0ah,dh,25d,nextsign3