《自动控制原理》课程设计指法练习程序

上传人:新** 文档编号:421981928 上传时间:2022-10-02 格式:DOC 页数:55 大小:269.50KB
返回 下载 相关 举报
《自动控制原理》课程设计指法练习程序_第1页
第1页 / 共55页
《自动控制原理》课程设计指法练习程序_第2页
第2页 / 共55页
《自动控制原理》课程设计指法练习程序_第3页
第3页 / 共55页
《自动控制原理》课程设计指法练习程序_第4页
第4页 / 共55页
《自动控制原理》课程设计指法练习程序_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《《自动控制原理》课程设计指法练习程序》由会员分享,可在线阅读,更多相关《《自动控制原理》课程设计指法练习程序(55页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学自动控制原理课程设计说明书课程设计任务书学生姓名: 专业班级: 电气0803班 指导教师: 工作单位: 自动化学院 题 目: 指法练习程序 初始条件: 1.从屏幕上方随机落下可显示字符,字符的出现位置亦是随机的;2.在字符下落的过程中可输入任意键,若键入与下落字符相匹配的键,则该字符消失并发出蜂鸣声,同时计分;3.按ESC 键结束练习并显示命中数;4.按Q 键退出。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述(4) 硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明

2、(5) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6) 调试记录及结果分析(7) 总结(8) 参考资料(9) 附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月10日1月12日:收集资料,方案选择1月13日1月17日:整体流程,程序细节1月18日1月20日:调试程序,报告撰写1月20:交设计报告,程序演示,答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘要本程序首先出现开始界面,然后按ENTER键进入,这时会出现速度选择界面进行选择速度,然后进入游戏界面,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失,同时扬声器发声;

3、按ESC键弹出得分结果界面;按Q键退出。从设计任务及要求的分析、方案比较及认证说明、系统原理阐述、软件设计、程序调试以及心得体会六部分来对该程序的设计进行详细解释和说明,并且结合了流程图和实际界面截图。从构思,编写,调试到完整的程序实现设计任务。每一部分都做了深入的分析和说明,同时也从主题上对程序进行了分析。关键词:功能模块 核心代码 子程序 调试 运行结果目 录1设计任务及要求的分析12 方案比较及认证说明13 系统原理阐述14 软件设计24.1软件设计的思想24.2主程序及其功能说明24.2.1主程序的流程图34.2.2主程序功能说明44.3初始化子程序及其功能说明84.3.1初始化子程序

4、的流程图94.3.2初始化子程序功能说明94.4速度选择子程序及其功能说明104.4.1速度选择子程序的流程图104.4.2速度选择子程序功能说明114.5显示时钟子程序及其功能说明134.5.1显示时钟子程序的流程图134.5.2显示时钟子程序功能说明134.6开始打字子程序及其功能说明154.6.1开始打字子程序的流程图154.6.2开始打字子程序功能说明154.7显示打字结果子程序及其功能说明194.7.1显示打字结果子程序的流程图194.7.2显示打字结果子程序功能说明195 调试记录及结果分析215.1调试记录215.2运行结果226 总结24参考文献25附录268指法练习程序1设计

5、任务及要求的分析这次课程设计的任务是写一个程序,运行可执行程序后,从屏幕上方随机落下可显示字符,字符的出现位置亦是随机的;在字符下落的过程中可输入任意键,若键入与下落字符相匹配的键,则该字符消失并发出蜂鸣声,同时计分;并且在程序运行过程中,若按ESC 键,则结束练习并显示命中数,若按Q 键则退出。根据题目要求可以看到有以下几部分来实现打字练习:1.随机显示字母,字母出现的位置随机。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,同时下一个字母自动接着落下,并且扬声器发声。4程序开始统计得分和总字符数5.按下“Ese”键则程序显示得分和总字符数返。6.在主界面按“Q”则程序退出

6、。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是中间的四个部分,这是打字练习的重点,需要详细设计其所需要的功能。2方案比较及认证说明对于随机显示字母和字母出现的随机位置,有两种不同的产生方式。方式1:可以将字母随机的排在一个字符串中,然后通过查表的方式来显示不同的字母,字母出现位置的随机也可以这样。方式2:通过数学上产生随机数的算法来实现字母出现位置的随机,从而根据字母的位置来选择不同的随机字母。方式1只需要在开始将字母随机的排在一个字符串中,然后将字母出现位置也随机的排列在内存中就行了,这种方式调用起来方便和快捷;方式2需要用汇编语言对

7、随机算法进行描述,从而不断的产生随机数,较为复杂。最后,综和各自的优缺点,本程序选择了方式1。3系统原理阐述从设计任务及要求可以得知编写此汇编程序的基本原理,编写一个主程序和若干个子程序(初始化子程序、提示信息子程序、速度设定子程序、开始打字子程序,显示打字结果子程序)来完成设计任务所要求的功能,使程序模块化和功能化,让程序看起来简洁,明了。主程序完成的功能为:首先调用初始化子程序,对系统参数进行初始化和主界面初始化,然后调用字母下降速度选择和设定子程序对字母下降速度进行设定,其次调用系统时钟子程序显示当前时间,然后调用开始游戏子程序开始打字和计分。若想中断打字过程,并看自己的成绩,可按esc

8、键进行游戏结束时分数显示子程序的调用,窗口会显示打字情况。初始化子程序对整个程序中用到的参数进行初值设定,并显示开始界面和提示信息。速度选择和设定子程序实际上是延时环节,字母下落速度越快则延时越少,反之亦然。系统时钟子程序是采用中断调用系统时钟并显示在打字游戏窗口,让用户可以随时知道打字所花费的时间,人机交互友好,体现人性化设计。开始游戏子程序会调用字母下落子程序和随机字母和随机位置产生子程序,不断的落下字母让用户进行打字游戏,并随时显示用户的得分情况。字母下落子程序通过不断的本行写空格和下一行写当前字母来实现字母的下落。随机字母和随机位置产生子程序通过查表的方法来实现随机字母和随机位置的产生

9、。游戏结束时分数显示子程序会显示本次用户的打字情况。本程序有多个子程序和主程序构成,主程序不断地调用子程序来进行打字游戏。4软件设计4.1 软件的设计思想根据设计任务及要求,可以得到汇编语言的基本思想为编写一个主程序和若干个子程序,各子程序分别为:初始化子程序、速度设定子程序、显示时钟子程序、开始打字子程序,显示打字结果子程序,在程序运行时主程序分别调用各个子程序来完成汇编语言程序的编制和打字游戏的不断进行。因为各个子程序是相互独立的,所以可以让这些子程序分别独立的完成某一特定的功能,然后再依靠主程序来调用这些不同的功能模块,这样通过增加子程序逐渐增加系统的功能,最终主程序将所有的小功能模块连

10、接在一起,从而达到设计任务所要求的功能。这样,将一个大功能简化为一个个小功能,可以大大减小编写程序的难度,并且这样进行模块化设计大大增加了程序的可阅读性和移植性,在以后要用到相同的功能时可以将其移植过来,还大大简化了程序的设计,避免了重复劳动。4.2 主程序及其功能说明4.2.1主程序的流程图开始初始化速度选择ENTER显示当前时间是否ESC键开始游戏否是显示得分是否重新开始(Y /N)结束游戏YNQ键图1 主程序流程图4.2.2主程序的功能说明由图1可知主程序是程序的脉络主线,程序的运行就是围绕着主程序的执行而运行的同时也是其他子程序的接入点。主模块是打字游戏的核心模块,主要通过各个键盘符来

11、控制各个子模块之间的协调,完成打字游戏的运行。子模块主要包括:初始化子模块、速度设定子模块、显示时钟子模块、开始打字子模块,显示打字结果子模块。其中初始化子模块包括显示初始界面菜单,初始化程序参数,判断是否进入游戏;速度设定子模块包括速度选择子程序和速度设置子程序。显示时钟子模块包括取系统时钟和显示两个子程序。开始打字子模块包括显示分数子程序,当敲入字符与下落相符时扬声器发声子程序,字母下落子程序,产生新的字母和新的位置子程序,延时子程序。这些程序有机的组合在一起,完成整个打字游戏的运行。主程序如下所示。pushReg macropush axpush bxpush cxpush dxendm

12、 ;寄存器出栈popReg macropop dx pop cx pop bx pop axendm ;*设置光标宏* curse macro cury,curxpushReg mov ah,02h mov bh,00hmov dh,curymov dl,curxint 10hpopRegendm ;清屏宏定义 clear_screen macro op1,op2,op3,op4,color pushReg mov ax,0600h ;清屏程序 mov bh,color mov ch,op1 mov cl,op2 mov dh,op3 mov dl,op4 int 10h curse 0,0p

13、opReg endm ;菜单显示宏定义 menu macro cury,curx,op3 ; curse cury,curx mov ah,02h mov bh,00h mov dh,cury mov dl,curx int 10h ;mov ah,02h mov ah,09h lea dx,op3 int 21h endmdata segment ; add your data here! ;随机的字母 letters db etfpzybjsyoqirfxtdaphbfdbchrrmjwzxkhuieqtwfqzuglnvmlmotogaitlbpfuhgdzwxwqiproeagndcl

14、rjyvnzcyjywdquvpmneknvkesbhlagsoxivscmskkujcxach_count equ $-letters ;ch_count=130 、;随机的x坐标xpos db 73,42,44,74,76,43,24,62,76,1,2,44,59,77,23,9,13,53,50,63,36,15,0,33,12,51,18,8,6db 66,68,30,18,10,2,79,48,7,6,29,47,27,43,25,40,32,42,28,56,17,11,10,18,25,5,45,16db 37,67,61,28,20,69,70,34,74,55,33,4,57,69,12,66,53,2,47,40,72,34,35,20,27,71,1,6db 8,32,40,52,58,11,9,79,77,5,45,77,11,7,42,22,21,71,35,29,78,22,14,37,38,47

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号