微机原理课程设计实验报告.docx
《微机原理课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理课程设计实验报告
河北科技大学
课程设计报告
学生姓名:
学 号:
专业班级:
课程名称:
学年学期:
指导教师:
年月
学生姓名
学 号
成绩
专业班级
起止时间
2011.12.24—2012.11.28
设计题目
字符串动画显示
指
导
教
师
评
语
指导教师:
年 月 日
课程设计成绩评定表
目 录
1、课程设计的目的……………………………………………………1
2、设计题目……………………………………………………………1
3、设计内容要求………………………………………………………2
4、设计成员及分工……………………………………………………2
5、课程设计的主要步骤………………………………………………2
6、课程设计原理及方案………………………………………………3
7、实现方法……………………………………………………………3
8、实施结果……………………………………………………………8
9、总结…………………………………………………………………8
10、体会感受……………………………………………………………8
一、 课程设计的目的
课程设计是以自己动手动脑,亲手设计与调试的。
它将基本技能训练、基本
工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。
课程设计的意义,
不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力
和独立思考的能力。
作为信息时代的大学生,基本的动手能力是一切工作和创造
的基础和必要条件。
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实
际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实
际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自
主解决设计实践中遇到的各种问题能力的一种较好方法。
《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际
的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏
解决实际问题的能力。
所以通过有针对性的课程设计,使学生学会系统地综合运
用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微
机硬软件设计方法。
通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学
习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,
掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能
力。
培养学生事实求是和严肃认真的工作态度。
通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,
使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的系
统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理
论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应
用知识的初步过渡。
通过本次课程设计使学生熟练的熟练掌握微机系统的设计方
法,熟练应用 8086 汇编语言编写应用程序和实际设计中的软件调试方法和步骤,
熟悉微机系统的软件开发工具的使用方法。
二、 设计题目
字符串动画显示
三、 设计内容要求
1、菜单
内容包括:
①输入字符串;②字符串动画显示;③退出。
2、输入字符串
选择该项后,可以输入一个字符串。
该字符串即为动画显示时所显示的字符
串。
3、字符串动画显示
所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当
两半相遇时停止移动,当按下 R 键后重复从两边到中间移动的动作,直到按下 Q
键,停止字符串动画显示返回到主菜单。
4、在主菜单中选择退出项,则结束程序返回 DOS。
四、 设计成员及分工
我主要负责程序的生成和初步调试
五、 课程设计的主要步骤
课程设计可以分为硬件设计和软件设计两个部分,其设计过程可以归纳为以
下所述的四个步骤:
1.总体设计
本阶段的任务是通过调查研究,查阅资料来初步确定系统结构的总体方案,
其中主要涉及到硬件和软件的功能划分。
应用系统中硬件和软件具有一定的互换性,即某些功能既可以用硬件实现也
可以用软件实现。
一般说来,用硬件实现的优点是可以提高系统的工作速度,但
会增加电路的复杂性和硬件成本;而用软件代替某些硬件的功能可以使电路简化,
便于修改设计,降低硬件成本,但软件工作量增大。
总体设计时,必须在硬件和软件之间权衡,分工明确,然后分头开始设计
2.硬件设计过程
利用实验箱的硬件资源,结合课程设计题目,设计硬件原理图,搭建硬件电
路。
3.软件设计过程
(1)采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
(2)画出程序流程图。
(3)根据流程图,编写源程序。
(4)上机调试程序
4.软、硬件联调
六、 课程设计原理及方案
主程序流程图
开始
段地址初始化
进入 DOS 窗口
输出提示信息
输入字符串
字符串动态显示
数码管数据输出
R
按 Q 键
Y
结束
七、 实现方法
CODESEGMENT
ASSUMECS:
CODE,DS:
CODE
START:
MOVAX,CODE
MOVDS,AX
MOV AX,0B800H
MOVES,AX
CLD
AGAIN:
MOV AX,3
INT10H
LEA DX,MENU
MOV AH,9
INT 21H
INPUT:
MOV AH,0
INT 16H
CMP AL,'1'
JNZ CP2
CALL SUB01
JMP INPUT
CP2:
CMP AL,'2'
JNZ CP3
CALL SUB02
JMP AGAIN
CP3:
CMP AL,'3'
JNZ INPUT
LEA DX,MESG
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MOVAH,4CH
INT21H
DELAYPROC
PUSHCX
PUSHDX
MOVDX,1000
D1:
MOVCX,0FFFFH
LOOP $
DECDX
JNZD1
POPDX
POPCX
RET
DELAYENDP
SUB01:
MOV AX,0E0DH
INT 10H
MOV AL,0AH
INT 10H
LEA DX,STR
MOV AH,0AH
INT 21H
MOV AX,0E0AH
INT 10H
RET
SUB02:
CMP STR+1,2
JNB Y2
JMP QUIT
Y2:
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,0
MOV CNT3,DX
MOV BL,AL
INC AL
SHR AL,1
CBW
MOV CNT2,AX
SUB BL,AL
MOV BH,0
MOV CNT4,BX
Y3:
MOV BP,ES
PUSH DS
POP ES
MOV DI,1000H
MOV CX,CNT1
JCXZ U1
MOV AL,20H
REP STOSB
U1:
LEA SI,BUF
MOV CX,CNT2
REP MOVSB
MOV CX,CNT3
JCXZ U2
MOV AL,20H
REP STOSB
U2:
MOV CX,CNT4
REP MOVSB
MOV CX,CNT5
JCXZ U3
MOV AL,20H
REP STOSB
U3:
SHOW:
MOV ES,BP
MOV AH,0AH
MOV SI,1000H
MOV DI,LEFT
MOV CX,60-2
PPP:
LODSB
STOSW
LOOP PPP
CALL DELAY
CMP CNT3,0
JZ @INPUT
INC CNT1
INC CNT5
DEC CNT3
CMP CNT3,0
JZ KK2
DEC CNT3
KK2:
JMP Y3
@INPUT:
MOV AH,0
INT 16H
CMP AH,10H
JZ SSS
CMP AH,13H
JNZ @INPUT
CMP CNT3,0
JNZ @REP
JMP @Y2
@REP:
JMP Y3
SSS:
MOV STR+1,0
QUIT:
LEA SI,CNT1
XOR AX,AX
MOV CX,5
KK3:
MOV [SI],AX
INC SI
INC SI
LOOP KK3
XOR DI,DI
MOV CX,80*25
MOV AX,720H
REP STOSW
RET
LINE:
MOV DI,(18*80+10)*2
MOV AL,201
MOV AH,0EH
STOSW
MOV CX,60-2
MOV AL,205
REP STOSW
MOV AL,187
STOSW
ADD DI,20*2
MOV AL,186
STOSW
MOV LEFT,DI
MOV CX,60-2
MOV AL,20H
REP STOSW
MOV RIGHT,DI
MOV AL,186
STOSW
ADD DI,20*2
MOV AL,200
STOSW
MOV CX,60-2
MOV AL,205
REP STOSW
MOV AL,188
STOSW
RET
MENUDB5DUP(0AH)
DB31 DUP(' '),'MAIN MENU',0DH,0AH
DB25 DUP(' '),201,21 DUP(205),187,0DH,0AH
DB25 DUP(' '),186,' 1.INPUT A STRING ...',186,0DH,0AH
DB25 DUP(' '),186,' 2.DISPLAY MODEL ... ',186,0DH,0AH
DB25 DUP(' '),186,' 3.RETURN TO DOS ... ',186,0DH,0AH
DB25 DUP(' '),200,21 DUP(205),188,0DH,0AH
DB28 DUP(' '),'CHOICE(1,2,3):
$'
MESG DB 0DH,0AH,0DH,0AH,9,'PRESS ANY KEY TO EXIT ...$'
CNT1 DW 0
CNT2 DW 0
CNT3 DW 0
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)
CODEENDS
ENDSTART
八、 实施结果
所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当
两半相遇时停止移动,当按下 R 键后重复从两边到中间移动的动作,直到按下 Q
键,停止字符串动画显示返回到主菜单。
九、 总结
总的来说,在整个设计的过程中,对文件的知识有了相当程度的了解掌握,基
本上学会了对图的操作等。
在对文件的自学过程中也认识 ,在学习的过程中要
灵活的把所学的知识运用到实践当中,并且还要巩固练习和运用,这样才可以牢
牢的记住。
试验也对数据结构的知识进行了复习,尤其是结构体的定义、地址与
引用的合理使用以及记录指针的使用也认识到数据结构在实践运用中的重要性,
在对程序不断的修改和逐步改进提升的过程中,积累了不少经验,为在以后的学
习和实践应用奠定了一定的基础。
十、 体会感受
通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也
增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加
了合作的技巧。
通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知
识面,增加了学好汇编语言的信心。
在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我
看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎
刃而解,直到问题最终解决。
不可否认,本程序存在不少缺点和不足,但通过这次课程设计的却找出了自
己在学习上的不足,对以后的工作也有指导作用。
我相信在以后的学习中会克服
这些不足,达到熟练掌握汇编语言的目的。
这次课程设计受益非浅,学到了不少知识,同时也认识到自身的不足,需要
加强自身训练,学以致用,学会自我总结,吸取教训,积累经验,在学习和实践
中来不断的提升自己。