《微机原理课程设计_字符串动画显示.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计_字符串动画显示.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北科技大学课程设计报告学生姓名 韩永亮 学 号:10L专业班级: 电信L104 课程名称: 微型计算机原理及应用技术 学年学期: 2 0 1 22 0 1 3学年第1学期 指导教师: 刘伟 2 0 13年 1月课程设计成绩评定表学生姓名韩永亮学 号10L成绩专业班级电信L104起止时间2013-1-7 至 2013-1-11设计题目字符串动画显示指导教师评语指导教师: 年 月 日一、课程设计的目的和任务课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善
2、于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。微机原理及应用是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能用设计报告表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。通过
3、设计过程,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。二设计题目题目三 字符串动画显示设计内容要求: 1、菜单内容包括:输入字符串;字符串动画显示;退出。 2、输入字符串选择该项后,可以输
4、入一个字符串。该字符串即为动画显示时所显示的字符串。 3、字符串动画显示所显示字符串在一矩形框内左右来回移动,左移到左侧边框处自动右移,右移到右侧边框处自动左移,直到有任意键按下,停止字符串动画显示返回主菜单。 4、在主菜单中选择退出项,则结束程序返回DOS。三、课程设计的主要步骤课程设计可以分为硬件设计和软件设计两个部分,其设计过程可以归纳为以下所述的四个步骤: 1总体设计本阶段的任务是通过调查研究,查阅资料来初步确定系统结构的总体方案,其中主要涉及到硬件和软件的功能划分。应用系统中硬件和软件具有一定的互换性,即某些功能既可以用硬件实现也可以用软件实现。一般说来,用硬件实现的优点是可以提高系
5、统的工作速度,但会增加电路的复杂性和硬件成本;而用软件代替某些硬件的功能可以使电路简化,便于修改设计,降低硬件成本,但软件工作量增大。总体设计时,必须在硬件和软件之间权衡,分工明确,然后分头开始设计。2硬件设计过程利用实验箱的硬件资源,结合课程设计题目,设计硬件原理图,搭建硬件电路。3软件设计过程(1)采用模块化程序结构设计软件,可将整个软件分成若干功能模块。(2)画出程序流程图。(3)根据流程图,编写源程序。(4)上机调试程序。4软、硬件联调。三设计原理及方案主程序流程图Y段地址初始化进入DOS窗口输出提示信息输入字符串字符串动态显示数码管数据输出开始按任意键结束R四实现方法程序:CODE
6、SEGMENT ;代码段开始ASSUME CS:CODE,DS:CODESTART: MOV AX,CODE MOV DS,AX ;装填代码段 MOV AX,0B800H MOV ES,AX CLD ;清除方向标志AGAIN: MOV AX,3 INT 10H ;显示 LEA DX,MENU ;目标地址传送,将主菜单有效地址送入DI MOV AH,9 INT 21H ;九号系统功能调用,输出字符串INPUT: MOV AH,0 INT 16H CMP AL,1 JNZ CP2 CALL SUB01 ;输入一个字符串 JMP INPUTCP2: CMP AL,2 ;比较指令 JNZ CP3 ;不
7、为零时跳转 CALL SUB02 ; 调用子程序,字符串左右移动 JMP AGAIN ;转移指令,返回到主菜单CP3: CMP AL,3 ;返回DOS JNZ INPUT LEA DX,MESG MOV AH,9 INT 21H MOV AH,1 INT 21H ;一号系统功能调用,键盘输入单字符 MOV AH,4CH INT 21H ;4CH号调用,返回操作系统DELAY PROC ;定义子程序的伪指令 PUSH CX ;压栈指令 PUSH DX MOV DX,800D1: MOV CX,0FFFFHLOOP $ DEC DX ;减一指令 JNZ D1 POP DX ;出栈指令 POP CX
8、 RET ;返回指令DELAY ENDP ;表示PROC所定义的子程序过程结束SUB01: MOV AX,0E0DHINT 10HMOV AL,0AHINT 10HLEA DX,STRMOV AH,0AHINT 21H ;十号系统功能调用,输入字符串MOV AX,0E0AHINT 10HRETSUB02: CMP BUF,0DHJZ QUITCALL LINE ;画矩形框LEA SI,STRINC SI ;加一指令MOV DX,SIMOV AL, XCHG AL ,SI ;数据交换指令CBW ;字节扩展指令MOV BX,AXINC BXMOV BYTE PTR BX+SI, INC BXPUS
9、H BXSHL BX,1 ;逻辑左移指令SUB RIGHT,BX ;不带借位的减法指令POP BXMOV BP,LEFTSHOW:MOV SI,DXMOV CX,BXMOV DI,BPNEXT: MOVSB ;字符串传送指令MOV AL,2 STOSB ;存字符串指令LOOP NEXTMOV AH,1INT 16HJNZ QUIT ;按任意键,返回主菜单CALL DELAYADD BP,NUMCMP BP,RIGHTJB T1 ;低于也不等于转移MOV NUM,-2JMP HERET1: CMP BP,LEFTJA HEREMOV NUM,2HERE: JMP SHOW ;自跳转SSS: MO
10、V BUF,0DHQUIT: XOR DI,DIMOV CX,80*25MOV AX,720HREP STOSW ;清全屏RETLINE: ;矩形框MOV DI,(18*80+10)*2MOV AL,201 ;左上角MOV AH,4STOSW ;存入串指令的字操作MOV CX,60-2MOV AL,205 ;横框REP STOSWMOV AL,187 ;右上角STOSWADD DI,20*2MOV AL,186 ;竖框STOSWMOV LEFT,DIMOV CX,60-2MOV AL,20H ;空格REP STOSWMOV RIGHT,DIMOV AL,186 ;竖框STOSWADD DI,2
11、0*2MOV AL,200 ;左下角STOSWMOV CX,60-2MOV AL,205 ;横框REP STOSWMOV AL,188 ;右下角STOSWRETMENU 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,0AHDB 25 DUP( ),186, 2.Display Model . ,186,0DH,0AHDB 25 DUP( ),186, 3.Return to DOS . ,186,0DH,0AHDB 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 .$NUM DW 2LEFT DW 0RIGHT DW 0STR DB 21DB 0BUF DB 0DH,20 DUP(0)CODE ENDSEND START