河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期:指导教师:年月课程设计成绩评定表学生姓名学号成绩专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示指导教师评语指导教师:年月日目录一、课程设计的目的 (1)二、设计题目 (1)三、设计内容要求 (2)四、设计成员及分工 (2)五、课程设计的主要步骤 (2)六、课程设计原理及方案 (3)七、实现方法 (3)八、实施结果 (8)九、总结 (8)十、体会感受 (8)一、课程设计的目的课程设计是以自己动手动脑,亲手设计与调试的。
它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。
课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。
作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。
《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。
所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。
通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。
培养学生事实求是和严肃认真的工作态度。
通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。
二、设计题目字符串动画显示三、设计内容要求1、菜单内容包括:①输入字符串;②字符串动画显示;③退出。
2、输入字符串选择该项后,可以输入一个字符串。
该字符串即为动画显示时所显示的字符串。
3、字符串动画显示所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当两半相遇时停止移动,当按下R键后重复从两边到中间移动的动作,直到按下Q 键,停止字符串动画显示返回到主菜单。
4、在主菜单中选择退出项,则结束程序返回DOS。
四、设计成员及分工我主要负责程序的生成和初步调试五、课程设计的主要步骤课程设计可以分为硬件设计和软件设计两个部分,其设计过程可以归纳为以下所述的四个步骤:1.总体设计本阶段的任务是通过调查研究,查阅资料来初步确定系统结构的总体方案,其中主要涉及到硬件和软件的功能划分。
应用系统中硬件和软件具有一定的互换性,即某些功能既可以用硬件实现也可以用软件实现。
一般说来,用硬件实现的优点是可以提高系统的工作速度,但会增加电路的复杂性和硬件成本;而用软件代替某些硬件的功能可以使电路简化,便于修改设计,降低硬件成本,但软件工作量增大。
总体设计时,必须在硬件和软件之间权衡,分工明确,然后分头开始设计2.硬件设计过程利用实验箱的硬件资源,结合课程设计题目,设计硬件原理图,搭建硬件电路。
3.软件设计过程(1)采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
(2)画出程序流程图。
(3)根据流程图,编写源程序。
(4)上机调试程序4.软、硬件联调六、课程设计原理及方案主程序流程图七、实现方法CODE SEGMENTASSUME CS:CODE,DS:CODESTART: MOV AX,CODEMOV DS,AXMOV AX,0B800HMOV ES,AXY段地址初始化进入DOS窗口输出提示信息输入字符串字符串动态显示数码管数据输出开始按Q键结束RCLDAGAIN: MOV AX,3 INT 10HLEA DX,MENUMOV AH,9INT 21HINPUT:MOV AH,0INT 16HCMP AL,'1'JNZ CP2CALL SUB01JMP INPUTCP2:CMP AL,'2' JNZ CP3CALL SUB02JMP AGAINCP3:CMP AL,'3' JNZ INPUTLEA DX,MESGMOV AH,9INT 21HMOV AH,1INT 21HMOV AH,4CHINT 21HDELAY PROC PUSH CXPUSH DXMOV DX,1000D1:MOV CX,0FFFFH LOOP $DEC DXJNZ D1POP DXPOP CXRETDELAY ENDPSUB01:MOV AX,0E0DHINT 10HMOV AL,0AHINT 10HLEA DX,STRMOV AH,0AHINT 21HMOV AX,0E0AHRETSUB02:CMP STR+1,2 JNB Y2JMP QUITY2:CALL LINE @Y2:XOR AX,AX MOV CNT1,AX MOV CNT5,AX MOV DL,60-2 MOV AL,STR+1 SUB DL,AL MOV DH,0MOV CNT3,DX MOV BL,ALINC ALSHR AL,1CBWMOV CNT2,AX SUB BL,AL MOV BH,0MOV CNT4,BXY3:MOV BP,ES PUSH DSPOP ESMOV DI,1000H MOV CX,CNT1 JCXZ U1MOV AL,20H REP STOSBU1:LEA SI,BUF MOV CX,CNT2 REP MOVSB MOV CX,CNT3 JCXZ U2MOV AL,20H REP STOSBU2:MOV CX,CNT4 REP MOVSB MOV CX,CNT5 JCXZ U3MOV AL,20H REP STOSBU3:SHOW:MOV AH,0AHMOV SI,1000HMOV DI,LEFTMOV CX,60-2PPP:LODSBSTOSWLOOP PPPCALL DELAYCMP CNT3,0JZ @INPUTINC CNT1INC CNT5DEC CNT3CMP CNT3,0JZ KK2DEC CNT3KK2: JMP Y3@INPUT:MOV AH,0INT 16HCMP AH,10HJZ SSSCMP AH,13HJNZ @INPUTCMP CNT3,0JNZ @REPJMP @Y2@REP:JMP Y3SSS:MOV STR+1,0QUIT:LEA SI,CNT1XOR AX,AXMOV CX,5KK3:MOV [SI],AX INC SIINC SILOOP KK3XOR DI,DIMOV CX,80*25MOV AX,720HREP STOSWRETLINE:MOV DI,(18*80+10)*2 MOV AL,201STOSWMOV CX,60-2MOV AL,205REP STOSWMOV AL,187STOSWADD DI,20*2MOV AL,186STOSWMOV LEFT,DIMOV CX,60-2MOV AL,20HREP STOSWMOV RIGHT,DIMOV AL,186STOSWADD DI,20*2MOV AL,200STOSWMOV CX,60-2MOV AL,205REP STOSWMOV AL,188STOSWRETMENU DB 5 DUP(0AH)DB 31 DUP(' '),'MAIN MENU',0DH,0AHDB 25 DUP(' '),201,21 DUP(205),187,0DH,0AHDB 25 DUP(' '),186,' 1.INPUT A STRING ...',186,0DH,0AH DB 25 DUP(' '),186,' 2.DISPLAY MODEL ... ',186,0DH,0AH DB 25 DUP(' '),186,' 3.RETURN TO DOS ... ',186,0DH,0AH DB 25 DUP(' '),200,21 DUP(205),188,0DH,0AHDB 28 DUP(' '),'CHOICE(1,2,3):$'MESG DB 0DH,0AH,0DH,0AH,9,'PRESS ANY KEY TO EXIT ...$'CNT1 DW 0CNT2 DW 0CNT3 DW 0CNT4 DW 0CNT5 DW 0NUM DW 2LEFT DW 0RIGHT DW 0STR DB 21DB 0BUF DB 0DH,20 DUP(0)CODE ENDSEND START八、实施结果所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当两半相遇时停止移动,当按下R键后重复从两边到中间移动的动作,直到按下Q 键,停止字符串动画显示返回到主菜单。
九、总结总的来说,在整个设计的过程中,对文件的知识有了相当程度的了解掌握,基本上学会了对图的操作等。
在对文件的自学过程中也认识,在学习的过程中要灵活的把所学的知识运用到实践当中,并且还要巩固练习和运用,这样才可以牢牢的记住。
试验也对数据结构的知识进行了复习,尤其是结构体的定义、地址与引用的合理使用以及记录指针的使用也认识到数据结构在实践运用中的重要性,在对程序不断的修改和逐步改进提升的过程中,积累了不少经验,为在以后的学习和实践应用奠定了一定的基础。
十、体会感受通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。
通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。
在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。