为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微原课设-字符串两边到中间动画显示

2018-03-30 13页 doc 54KB 146阅读

用户头像

is_574951

暂无简介

举报
微原课设-字符串两边到中间动画显示微原课设-字符串两边到中间动画显示 河北科技大学 课程设计报告 学生姓名: 田继辉 学 号: 130701213 专业班级: 电信132 课程名称: 微机原理及应用 学年学期: 2015 — 2016 学年第 1 学期 指导教师: 赵艳 2016 年 1 月 课程设计成绩评定表 学生姓名 田继辉 学 号 130701213 成绩 2016.1.4 - 2016.1.8 专业班级 电信132 起止时间 设计题目 学习态度: 端正 ? 较端正 ? 一般 ? 较差 ? 出勤情况:好 ? 较好 ? 一般 ? 较...
微原课设-字符串两边到中间动画显示
微原课设-字符串两边到中间动画显示 河北科技大学 课程设计报告 学生姓名: 田继辉 学 号: 130701213 专业班级: 电信132 课程名称: 微机原理及应用 学年学期: 2015 — 2016 学年第 1 学期 指导教师: 赵艳 2016 年 1 月 课程设计成绩评定表 学生姓名 田继辉 学 号 130701213 成绩 2016.1.4 - 2016.1.8 专业班级 电信132 起止时间 设计目 学习态度: 端正 ? 较端正 ? 一般 ? 较差 ? 出勤情况:好 ? 较好 ? 一般 ? 较差 ? 编写:好 ? 较好 ? 一般 ? 较差 ? 工作量: 大 ? 较大 ? 一般 ? 较少 ? 创新意识:强 ? 较强 ? 一般 ? 较差 ? 指 课程设计报告完成情况‎‎:优秀 ? 好 ? 一般 ? 较差 ? 导 教 师 评 语 指导教师: 年 月 日 1 目录 一、课程设计题目 ........................ 错误~未定义书签。 二、课程设计内容 ........................ 错误~未定义书签。 三、进度任务安排 ........................ 错误~未定义书签。 (一)进度安排......................... 错误~未定义书签。 (二)小组分工......................... 错误~未定义书签。 四、设计原理 ........................ 错误~未定义书签。 五、设计实现方法 ........................ 错误~未定义书签。 (一)MASM编译开发环境 ................. 错误~未定义书签。 (二)算法功能实现 ..................... 错误~未定义书签。 (三)程序框图实现 ..................... 错误~未定义书签。 (四)关键程序实现 ..................... 错误~未定义书签。 六、改进意见调试 ........................ 错误~未定义书签。 七、最终实施结果 ........................ 错误~未定义书签。 八、设计总结体会 ........................ 错误~未定义书签。 附录: ................................. 错误~未定义书签。 ?、参考文献 ........................... 错误~未定义书签。 ?、汇编源程序 .......................... 错误~未定义书签。 2 一、课程设计题目 题目二 字符串动画显示 二、课程设计内容 1、菜单 内容包括:?输入字符串;?字符串动画显示;?退出。 2、输入字符串 选择该项后,可以输入一个字符串。该字符串即为动画显示时所显示的字符串。 3、字符串动画显示 所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当两半相遇时停止移动,当按下R后重复从两键‎‎边到中间移动的动作,直到按下Q键,停止字符串动画显示返回到主菜单。 4、在主菜单中选择退出项,则结束程序返回DOS。 三、进度任务安排 (一)进度安排 熟悉设计题目,查阅相关资料,确定总体方案,软、硬件功能划分,硬件接口原理图设计,设计编写程序。利用课余时间及理论知识提前为课程设计做准备。 序号 任务 时间 1 讨论设计任务,完成设计方案 1天 2 完成硬件电路设计、软件编写 1天 3 软、硬件联调 1天 4 现场验收 1天 3 5 撰写课程设计报告 1天 (二)小组分工 序号 任务 成员 1 确定设计思路,绘制程序框图 王辉 2 设计主菜单显示界面 王荣豪 3 编写程序并进行调试 田继辉 4 统筹成员意见,随时调整战略 王威洋 5 撰写课程设计报告 王璐茜 四、设计原理方案 课程设计可以分为硬件设计和软件设计两个部分,其设计过程可以归纳为以下所述的四个步骤: 1、总体设计 本阶段的任务是通过调查研究,查阅资料来初步确定系统结构的总体方案,其中主要涉及到硬件和软件的功能划分。应用系统中硬件和软件具有一定的互换性,即某些功能既可以用硬件实现也可以用软件实现。一般说来,用硬件实现的优点是可以提高系统的工作速度,但会增加电路的复杂性和硬件成本;而用软件代替某些硬件的功能可以使电路简化,便于修改设计,降低硬件成本,但软件工作量增大。总体设计时,必须在硬件和软件之间权衡,分工明确,然后分头开始设计。 2、硬件设计过程 利用实验箱硬件资源,结合课程设计题目,设计硬件原理图,搭建硬件电路。 3、软件设计过程 4 (1)采用模块化程序结构设计软件,可将整个软件分成若干功能模块。 (2)画出程序流程图。 (3)根据流程图,编写源程序。 (4)上机调试程序。 4、软、硬件联调。 五、设计实现方法 (一)MASM编译开发环境 MASM = Microsoft Macro Assembler,是微软公司为x86微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。 它支持的宏很灵巧,既广泛又多样性,结构化程序的惯用语法,包含高级架构式的循环、程序调用,以及轮替(alternation)(因此,MASM算是高级汇编器的一个)。 MASM版本至今在不断的更新,最新版本:12,位于Visual C++ 2013中。在这些新版Visual C++的 bin 目录中,皆有 ml.exe。Visual C++ .NET 2005的相同目录,还有一个 ml64.exe,它可以汇编x64的代码。相关的说明,都包含在这些新版Visual C++的说明文件里。MASM 5.0 是最常用的汇编连接软件,其简单操作为输入asm文件将其连接为obj文件,用link得到exe文件。 (二)算法功能实现 软中断: DOS功能调用编写的程序中INT 10H和INT 21H软中断的应用。 5 如下表所示: INT 10H 功能号 功能 入口参数 出口参数 00H 设置显示模式 AL=03 80*25 彩色文本方式 无 0EH 显示字符 AL,字符 字符显示在屏幕上 INT 21H 功能号 功能 入口参数 出口参数 09H 显示字符串 DS:DX=缓冲区 0AH 输入字符串 DS:DX=缓冲区 01H 键盘输入字符 AL=输入字符 INT 16H 功能号 功能 入口参数 出口参数 AL=字符码 00H 从键盘读字符 AH=扫描码 矩形框代码: ,,,左上角编写 ,,,右上角编写 ,,,横框编写 ,,,左下角编写 ,,,右下角编写 ,,,竖框编写 总体流程: 设置三个选项分别对应选项标号。将键盘输入的标号与1、2、3相比较以确定不同的程序块调用接口。 “1.Input A String„”输入字符串,即进入过程一; 6 “2.Display Model„”动画显示所要求的字符串,即调用过程二; “3.Return To Dos„”返回DOS系统,即调用QUIT标号。 (三)程序框图实现 开始 100段地址初始化 80 60东部 进入DOS窗口 西部40北部 20 输出主菜单提示信息 0第一季度第三季度 输入字符串 字符送入SHOW 屏幕显示动画输出 R 按R或Q键 Q 退出程序 (四)关键程序实现 1、延时子过程 2、输出子模块 DELAY PROC INPUT: MOV AH,0 PUSH CX INT 16H PUSH DX MOV DX,1000 CMP AL,'1' D1: MOV CX,0FFFFH JNZ CP2 LOOP $ DEC DX CALL SUB01 JNZ D1 7 POP DX JMP INPUT POP CX RET DELAY ENDP 六、改进意见调试 最初总是无法显示出主菜单界面,出现一堆无法理解的乱码,心情很烦躁。经过小组的热烈讨论与一晚上的操作总结,发现了问题所在。随机进行调试,插入几个子过程,再设计几个字模块,完美的黑边界面,漂亮运行~ 七、最终实施结果 选择1选项:输入字符串,可以输入一个字符串。该字符串即为动画显示时所显示的字符串。选项2:动画显示,动画字符串从两边向中间靠拢,直至出来完整的字符串。当按下R键后重复移动的动作,直到按下Q键,停止字符串动画显示返回到主菜单。选项3:退出程序,返回DOS界面。 8 八、设计总结体会 在这次课程设计中,通过实践操作,加深了对汇编语言的了解,增强了汇编语言的使用能力,有了整体的了解和把握。汇编语言虽然是门低级语言,解决问题的难度有限,但是它与计算机硬件的紧密关系使它有着独特的优点。汇编语言的学习和我们以往的所学习的高级语言程序设计又有相通之处:算法是程序设计的灵魂,而计算机的硬件条件又决定了程序设计的环境。因此在实践程序设计过程中,要坚持软件与硬件相结合的原则,多探究计算机内部的构造,及执行相应程序的原理。 实践与理论相结合,才能更好的理解所学知识,今后我将努力将基础知识掌握牢固,争取在下一次课程设计中能够改善这次的不足,做出更好的设计,提高自己的能力。遇到问题时,通过自己上网查资料,查课本,锻炼了自己动手的能力。这也让我越来越深的认识到,不管以后工作还是学习,学习是永无止境的。我明白了知识不只是会了就行了,还要多动手,多练习,理论联系实际,才能真正学会,学懂,学通,融会贯通。 总之,通过这次的课设,使我受益匪浅。 附录: 9 ?、参考文献 [1]《微型计算机原理及应用技术》 朱金钧 麻新旗等编著 机械工业出版社 [2]《微型计算机接口技术》 张弥左 王兆月 邢立军编著 机械工业出版社 [3]《微型计算机技术及应用》 戴梅萼 史嘉权编著 清华大学出版社 [4]《微型计算机系统原理及应用》 周明德编著 清华大学出版社 [5]《Windows环境下32位汇编语言程序设计》 罗云彬编著 电子工业出版社 ?、汇编源程序 CODE SEGMENT SUB 01: MOV AX,0E0DH ASSUME INT 10H CS:CODE,DS:CODE MOV AL,0AH START: MOV AX,CODE INT 10H MOV DS,AX LEA DX,STR MOV AX,0B800H MOV AH,0AH MOV ES,AX INT 21H CLD MOV AX,0E0AH AGAIN: MOV AX,3 INT 10H INT 10H RET LEA DX,MENU SUB02: CMP STR+1,2 MOV AH,9 JNB Y2 INT 21H JMP QUIT INPUT: MOV AH,0 Y2: CALL LINE INT 16H @Y2: XOR AX,AX CMP AL,'1' MOV CNT1,AX JNZ CP2 MOV CNT5,AX CALL SUB01 MOV DL,60-2 JMP INPUT MOV AL,STR+1 CP2: CMP AL,'2' SUB DL,AL JNZ CP3 MOV DH,0 CALL SUB02 MOV CNT3,DX JMP AGAIN MOV BL,AL CP3: CMP AL,'3' INC AL JNZ INPUT SHR AL,1 LEA DX,MESG CBW MOV AH,9 MOV CNT2,AX INT 21H SUB BL,AL MOV AH,1 MOV BH,0 INT 21H MOV CNT4,BX 10 MOV AH,4CH Y3: MOV BP,ES INT 21H PUSH DS DELAY PROC POP ES PUSH CX MOV DI,1000H PUSH DX MOV CX,CNT1 MOV DX,1000 JCXZ U1 D1: MOV CX,0FFFFH MOV AL,20H LOOP $ REP STOSB DEC DX U1: LEA SI,BUF JNZ D1 MOV CX,CNT2 POP DX REP MOVSB POP CX MOV CX,CNT3 RET JCXZ U2 DELAY ENDP MOV AL,20H REP STOSB MOV AX,720H U2: MOV CX,CNT4 REP STOSW REP MOVSB RET MOV CX,CNT5 LINE: MOV DI,(18*80+10)*2 JCXZ U3 MOV AL,201 MOV AL,20H MOV AH,0EH REP STOSB STOSW U3: MOV CX,60-2 SHOW: MOV ES,BP MOV AL,205 MOV AH,0AH REP STOSW MOV SI,1000H MOV AL,187 MOV DI,LEFT STOSW MOV CX,60-2 ADD DI,20*2 PPP: LODSB MOV AL,186 STOSW STOSW LOOP PPP MOV LEFT,DI CALL DELAY MOV CX,60-2 CMP CNT3,0 MOV AL,20H JZ @INPUT REP STOSW INC CNT1 MOV RIGHT,DI INC CNT5 MOV AL,186 DEC CNT3 STOSW CMP CNT3,0 ADD DI,20*2 JZ KK2 MOV AL,200 DEC CNT3 STOSW KK2: JMP Y3 MOV CX,60-2 @INPUT: MOV AH,0 MOV AL,205 INT 16H REP STOSW CMP AH,10H MOV AL,188 JZ SSS STOSW CMP AH,13H RET JNZ @INPUT MENU DB 5 DUP(0AH) 11 CMP CNT3,0 DB 31 DUP(' '),'MAIN MENU',0DH,0AH JNZ @REP DB 25 DUP(' '),201,21 DUP(205),187,0DH,0AH JMP @Y2 DB 25 DUP(' '),186,' 1.INPUT A STRING ...',186,0DH,0AH @REP: JMP Y3 DB 25 DUP(' '),186,' 2.DISPLAY MODEL‎‎ ....',186,0DH,0AH SSS: MOV STR+1,0 DB 25 DUP(' '),186,' 3.RETURN TO DOS ....',186,0DH,0AH QUIT: LEA SI,CNT1 DB 25 DUP(' '),200,21 DUP(205),188,0DH,0AH XOR AX,AX DB 28 DUP(' '),'CHOICE(1,2,3):$' MOV CX,5 MESG DB 0DH,0AH,0DH,0AH,9,'PRESS ANY KEY TO KK3: MOV [SI],AX EXIT ...$ INC SI CNT1 DW 0 INC SI CNT2 DW 0 LOOP KK3 CNT3 DW 0 XOR DI,DI MOV CX,80*25 CNT4 DW 0 CNT5 DW 0 NUM DW 2 LEFT DW 0 RIGHT DW 0 STR DB 21 DB 0 BUF DB 0DH,20 DUP(0) CODE ENDS END START 12
/
本文档为【微原课设-字符串两边到中间动画显示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索