微机原理与接口技术课程设计打字练习程序.doc
《微机原理与接口技术课程设计打字练习程序.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计打字练习程序.doc(19页珍藏版)》请在三一办公上搜索。
1、 信息科学与技术学院 微机原理与接口技术课程设计课 题 名 称: 打 字 练 习 程 序 学 生 姓 名: 学 号: 专业 、年级: 指 导 教 师: 时 间: 1、题目及要求:1.1、题目:打字练习程序 1.2、要求: 1)、缓冲区中预放了一些字母2)、运行时,可按照屏幕上显示的字母输入练习3)、当按结束,可显示出练习输入的时间,并且能显示出正确率。4)、要求界面美观。2、功能设计: 2.1、功能模块:主程序模块-主要是随机产生字符并将字符送入缓冲区,调用其他子程序和宏设置窗口及时间、字符总数和正确个数。打字结果计算与显示模块( UseTimeAndOut,RightRata_out)-主要
2、计算所用时间及正确率并输出。设置字符颜色模块(clew_char)-主要设置打字时缓冲区字符和打字区字符的颜色,包括错误时字符的颜色显示。字符满行处理模块(isFullLine)-主要功能是当字符输入满行时进行换行。输出模块(OutTime,btod_out)-输出程序运行时的时间。统计模块(Tongji)-统计字符个数和正确个数并记录时间。宏的作用: 清屏(Clear)- 用于按要求清理屏幕(不同颜色),以便产生想要的窗口。 设置光标位置(SETGB)-用于移动光标位置,以便按要求输出。读光标位置(READGB)-用于读取当前光标位置。提示(Tishi)-用于输出提示语句。2.2、功能图:3
3、、详细设计:3.1、设计方法: 该课程设计只是应用了些简单的函数调用,中断,宏调用。其中随机产生字符的实现是通过调用中断(ah=2ch,int 10)取系统时间的1/100 来得到一组随机数,把这些随机数当做指针,然后取指针对应的字符表中相应的字符,来得到一串字符。在把结果显示到屏幕上时将数据拆分后输出到屏幕上。如123在屏幕上显示时必须一个一个输出,还有在输出小数点时也采取了相应的办法。在计算时间上记录系统在打字开始和结束时的时间,然后相减得到。在打字时通过比较记录正确个数,最终除以总个数得到正确率。在打字过程中还通过设置字符属性来区分正确和错误字符的不同。3.2、各功能模块及流程图 输出正
4、确率模块 计算打字时间并输出模块 数据打印输出模块记录当前时间和 改变字符颜色模块 正确个数及已打个数模块 3.3重点难点及解决办法: 刚开始看到这个题目的时候,我感觉这个题目还是很简单的,在数据区直接存放一串字符,接着输入字符与已有字符做比较,记录正确个数和总的字符个数,然后二者一除就得到正确率了, 至于打字时间就是取两次系统时间,结束和开始时间相减便得到了。当我着手做时我才发现这并不是我想象的那样。我遇到的第一个问题就是怎么把字符串显示在屏幕上指定的位置及在打字时怎么看到自己在打那个字符(我们不可能去数吧!),经过查阅资料我学到了用光标定位和设置字符的颜色来解决这一问题。其次我遇到的问题是
5、怎么才能在屏幕上正确的显示信息,当要在屏幕上显示 12:21:23,12.2%,123这些时我该怎么解决呢?我最终的解决办法是将字符拆开一个一个输出。在本程序中已知字符串我采用了随机产生,在随机产生时我遇到的问题是产生的字符由于程序运行时间太短而都是同一字符,后来我通过延时解决了这个问题。4、总结: 通过多次的实践,使我深切的体会到培养动手能力的重要性,程序设计是一门实践性很强的东西,不仅要学好书本知识,那是远远不够的,还必须随时把所学知识投入实际应用之中,在此过程中多参照些相关资料,只有这样,才能达到学习的目的,才能学好一门编程语言。这次实践中,我感觉到自己掌握的只是太匮乏了,太不深刻了,当
6、用到某个知识点时,经常是脑子了有个印象,而确切的却想不起来,幸亏还可以查阅资料要不就什么也不会了。通过这次实践,我觉的必须很熟练的掌握专业知识,才能很顺畅的编程,才能提高效率,考虑问题也会更全面,编写的程序也会很健壮。5、参考文献: 1 IBM-PC汇编语言程序设计 沈美明 清华大学出版社 2001年8月第2版 2 IBM-PC汇编语言程序设计例题习题集沈美明 清华大学出版社 1991年6月第1版 3 微机系统和接口应用技术朱世鸿 著 清华大学出版社 2006年9月第1版 6、附: 源程序;-COLORCHAR MACRO char,color push ax push bx push cx
7、push dx mov ah,9h;在光标位置显示字符和字符属性 mov al,char;AL字符 mov bh,0;显示页 mov bl,color;字符属性 mov cx,1;字符重复个数 int 10h mov ah,03h;读光标位置 ;DH:DL=行:列 mov bh,0;显示页号 int 10h mov ah,02;置光标位置 inc dl;列 int 10h pop dx pop cx pop bx pop axENDM;-BACKCHAR MACRO char,color mov ah,02h; mov dl,08h;退格 int 21h COLORCHAR char,colo
8、rENDM;-CLEAR MACRO alz,bhz,chz,clz,dhz,dlz;清屏窗口 push ax push bx push cx push dx mov al,alz;上卷行数 mov bh,bhz;卷入行属性 mov ch,chz;左上角行数 mov cl,clz;左上角列数 mov dh,dhz;左下角行数 mov dl,dlz;左下角列数 mov ah,06h int 10h pop dx pop cx pop bx pop axENDM;-;-SETGB MACRO bhz,dhz,dlz;设置光标位置 push ax push bx push cx push ax mo
9、v bh,bhz;显示页号 mov dh,dhz;行 mov dl,dlz;列 mov ah,2;置光标位置 int 10h pop dx pop cx pop bx pop axENDM;-READGB MACRO bhz;读光标位置 push ax push bx push cx push dx mov bh,bhz;显示页号 mov ah,03h;读光标位置 int 10h mov gbattr0,dh;记录光标行 mov gbattr1,dl;记录光标列 pop dx pop cx pop bx pop axENDM;-LINEFULL MACRO lmax,lact push ax
10、push bx push cx push dx mov ax,lact cmp ax,0 jz LFEXIT mov dx,0 cwd mov bx,lmax div bx cmp dx,0 jz LNFU jmp LFEXITLNFU: mov FullFlag,1LFEXIT: pop dx pop cx pop bx pop axENDM;-TISHI MACRO row,col,addrr push ax push dx SETGB 0,row,col;设置光标位置 mov ah,09h lea dx,addrr int 21h pop dx pop axENDM;-data segm
11、ent addrr db 400 dup($) addrr1 db abcdefghijklmnopqrstuvwxyz0123456789$ addrr2 db 400 dup($) Anumber dw 0 ;总字符个数 Rnumber dw 0 ;正确字符个数 LineMax dw 0 ;满行的字符数 LineAct dw 0 ;当前行字符数 FullFlag db 0 ;满行标志FullFlag=1满行,FullFlag=0未满 gbattr db 2 dup(0) ;存放字符所在行列 Stime db 3 dup(0) temp db 5 dup(0) ts1 db Stime:$
12、ts2 db Rrate:$ ts3 db Total Use-Time:$ ts4 db Total Characters:$ ts5 db Correct-Reta:$ ts6 db Press any key to end!$ ts7 db An ESC Jian KeYi SuiShi TuiChu!$ ts8 db *DaZi LianXi*$data endscode segment assume ds:data,cs:codestart: mov ax,data mov ds,ax;- mov di,0 ;随机产生字符 mov bx,65 zifu: mov ah,2ch int
13、 21h mov al,dl cbw mov si,ax cmp si,35 ja zifu mov al,addrr1si mov addrrdi,al inc di dec bx push di push si mov di,400hAa1: mov si,0ffffhAa2: dec si jnz Aa2 dec di jnz Aa1 pop si pop di cmp bx,0 jnz zifu ;- CLEAR 0,57h,0,10,23,69 CLEAR 0,17H,3,12,22,66 CLEAR 0,70h,4,14,22,64 CLEAR 0,25H,12,14,14,64
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 打字 练习 程序
链接地址:https://www.31ppt.com/p-2882794.html