简易动画设计与制作Word文档下载推荐.docx
- 文档编号:21924844
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:385.24KB
简易动画设计与制作Word文档下载推荐.docx
《简易动画设计与制作Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易动画设计与制作Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
科学,2005,2
[5]
专著.周明德.微机原理与接口技术[M].
人民邮电,2009,7
[6]专著.异,周进.数字影视后期制作高级教程[M].:
中国青年,2001,8
四、设计时间
2015年1月5日至2015年1月11日
指导教师签名:
2015年1月5日
1引言
随着电子技术的发展,计算机在现代科学与技术的发展中起着越来越重要的作用,在高精尖科技的面前,微型计算机的应用是无处不在,所以我们要学好微机原理及其应用,本次课程设计是基于微机原理与接口技术的简单应用,运用所学微机原理与接口技术知识来完成建议的动画设计与制作。
通过软件与硬件的结合,设计出烟花的飞升与绽放。
1.1课程设计的目的
通过这次课程设计,使学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力,为以后的毕业设计及走向工作岗位打下牢固的基础。
1.2课程设计的任务与要求[2]
1.2.1设计任务
1.做五种烟花在空中绽放的动画,从下方飞出,在屏幕上方开花;
2.文本方式和图形方式均可,要有多种颜色。
1.2.2要求分析
对于本次设计任务,首先要将屏幕设置为彩色文本显示方式,然后设置光标的位置,并在当前光标位置写入字符和属性,从而画出五种不同的烟花在空中绽放的图案。
对于烟花出现的频率改变,主要是通过对烟花上升的时间的改变来实现的。
任务2的实现是从键盘上读取一个
字符,然后对字符判断,如果是1,则显示烟花1,是2则显示烟花2,是3则显示烟花3,是4则显示烟花4,是5则显示烟花5,是+则增加烟花绽放的频率,是-则减少烟花绽放的频率,是Q则退出程序[2]。
2设计方案与论证
2.1方案论述
方案一:
利用C语言编程实现
用C语言写出烟花绽放的图形,然后利用C语言调用BIOS功能的10H中断和DOS功能的21H中断判断键盘输入容并将相应的烟花图案显示出来。
方案二:
利用汇编语言编程实现
首先将烟花绽放的坐标点都找出来,然后利用汇编语言调用BIOS功能调用的10H中断的0号和9号以及6号功能将烟花绽放的图形显示出来。
然后利用DOS功能调用的21H中断的1号功能从键盘上输入一个字符,判断后进入相应的烟花显示程序。
2.2方案选择
通过比较上面两种方案,我选择方案二。
当所编程序比较简单时最好选用汇编语言编写。
因为用汇编语言编写后文件所占存储空间少,运行时占用存少,运行速度快。
另外我们刚学过汇编语言,对汇编语言的运用也比较成熟。
3.软件设计
3.1程序编写和运行环境【4】
本次设计所用程序编写与运行环境为Masm
for
Windows
2012。
在这个环境下编写程序很方便,而且编写完成后可以直接运行。
如果有错误可以在下面的方框中显示错误所在的行数和错误原因。
运行没有错误后会弹出命令框,在命令框中显示我设计的动画。
环境运行界面如图3.1所示。
图3.1
Masm
2012界面
弹出的命令框如图3.2所示
图3.2
程序运行后弹出的命令框
3.2程序流程图
流程图如图3.3所示:
流程图3.3
3.3屏幕显示方式程序
程序设计方总案
【5】
根据流程图拟订出原方案。
先分别编写屏幕显示方式程序、提示语显示程序、字符输入及判断程序、烟花上升子程序、烟花绽放程序、延时子程序、频率改变程序、清屏子程序。
然后通过程序的组合和调用来完成设计要求。
屏幕显示方式程序
程序主要通过BIOS功能调用的10H中断类型中的0号功能将屏幕显示方式设置为80*25彩色文本显示。
0号功能的显示方式表如表2.1。
表3.1
0号功能的显示方式表
AL
显示方式
40×
25黑白文本方式
4
320×
200彩色图形方式
1
25彩色文本方式
5
200黑白图形方式
2
80×
6
640×
3
7
4主程序设计[1]
4.1绽放频率程序设计
延时程序主要是通过空循环让程序在此运行多个机器周期,然后再跳出去执行下一条指令。
延时程序被烟花上升子程序调用,主要是为了让光标在当前位置多停留一些时间,使人的双眼能捕捉到它。
而频率改变程序主要是通过改变延时时间的大小从而来改变烟花上升的时间。
增加烟花上升频率代码如下:
f_increase:
;
频率增加
MOVCX,FLAG1
SUBCX,1000
MOVFLAG1,CX
MOVCX,FLAG2
MOVFLAG2,CX
JMPLOOP1
减少烟花上升频率代码如下:
f_decrease:
频率减少
ADDCX,1000
4.2烟花绽放程序
程序通过BIOS功能调用的10H中断类型的2号功能设置光标位置,然后将通过10H中断类型的9号功能在当前光标位置显示字符和属性。
用定义的横纵坐标来确定光标的位置,同时用定义的数量来确定在光标位置需要显示的字符个数。
还要不断的改变光标的位置及显示的字符个数将烟花绽放的图形完整显示出来。
下面以烟花1绽放的图形为例来说明。
烟花1绽放的代码如下:
Firework1:
烟花1
MOVFLAG3,1
CALLRISE
MOVFLAG,0
BLOSSOM1:
MOVAH,02H;
设置光标位置
LEABX,HENGZUOBIAO1
MOVCX,FLAG
ADDBX,CX
MOVDH,[BX];
DH代表行号
LEABX,ZONGZUOBIAO1
MOVDL,[BX];
DL代表列号
MOVBH,0;
表示页号
INT10H
MOVAH,09H;
在当前光标位置处写字符和属性
MOVAL,01H;
设置字符ASCII码
LEABX,SHULIANG1
MOVDX,FLAG
ADDBX,DX
MOVCL,[BX];
CX代表写入字符数
MOVCH,0
MOVBH,0
MOVBL,16H;
字符属性
INT10H
INCFLAG
CMPFLAG,12;
表示要写16次
JNABLOSSOM1
CALLDelay2
CALLCLEAR
4.3烟花上升程序
程序仍是通过BIOS功能调用的10H中断类型的2号功能设置光标位置,然后将通过10H中断类型的9号功能在当前光标位置显示字符和属性。
需要将光标的位置竖直向上移动,每移动一次就立即显示,然后延时,清除这个点,再继续向上移动。
最终移动到离屏幕上方距离为6的地方。
还可以通过9号功能中改变AL的值改变显示方式。
烟花上升代码如下:
RISEPROC;
烟花上升子程序
movcx,21
RISE1:
PUSHCX
MOVAH,02H;
显示光标位置
MOVDH,CL
MOVDL,40
MOVBH,0
将图像显示出来
MOVAL,FLAG3
MOVCX,01H
MOVBL,16H
INT10H
CALLDelay
清除前一帧图像
MOVAL,'
'
MOVCX,1700
MOVBL,07H
POPCX
DECCX
CMPCX,5;
一直上升至第六行
JARISE1
RET
RISEENDP
5调试与结果测试
烟花1飞升到绽放如图5.1所示
图5.1
烟花2飞升到绽放如图5.2所示
图5.2
烟花3飞升到绽放如图5.4所示
图5.4
烟花4飞升到绽放如图5.5所示
图6.5
烟花5飞升到绽放如图5.6所示
图5.6
退出如图5.7所示
图5.7
运行结果文字描述:
运行编好的程序后,屏幕背景为黑色对话框,并且出现白色提示“press1/2/3/4/5toletthefireworkbloosmpress+/-tochangethefrequencepressQtoexit”,按下按键1后,就会有相应的字符图形从屏幕下方往上移动,在离屏幕上方距离为6的地方停止,同时显示对应的烟花绽放图案。
同理,分别按下2、3、4、5后都会有相应的字符图形从屏幕下方往上移动,在离屏幕上方距离为6的地方停止,同时显示对应的烟花绽放图案。
当按下+或-时屏幕上会出现按下的+或-,然后再次按下1、2、3、4、5任意一个键时会发现字符图形上升的速度加快或减慢,表明改变了烟花绽放的频率。
当按下Q后会显示“Pressanykeytocontinue”,然后按下任意一个键退出程序,同时界面消失。
6总结
这次微机原理课程设计历时三天。
虽然时间不长,但是可以学到很多很多的东西。
以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。
但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。
因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。
在此次课程设计的过程中我遇到了许多难题,比如说设计一个程序应该从哪着手,如何调试程序,发现问题如何解决等。
当我看书查资料不能解决时,这时去找同学讨论一下,很收获大,可以使很多问题迎刃而解,直到问题最终解决。
在这过程中建立了深厚的友谊,更使我认识到团队合作的重要性,与团结的力量,这给我们今后的生活有很大的启发。
这次课程设计让我收获蛮多的。
我不仅知道了画流程图的重要性,还认真学习和理解了BIOS功能调用中的10H中断类型以及DOS功能调用中的21H中断类型。
另外我也学会了如何用汇编语言编程在屏幕上显示出自己想要的图案。
。
总之,通过这次课设不仅巩固了我们平时所学的知识,查缺补漏;
同时也让我们学到了许多在课本上没有的知识;
使我懂得了理论与实际相结合的重要性,光有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才算是真正掌握了一门知识,并使自己得到提升。
参考文献
[1]专著.周佩玲、虎、傅忠谦.微机原理与接口技术[M].:
[2]专著.毛希平、曙晖.汇编语言编程艺术[M].:
专著.马瑞芳.汇编语言程序设计[M].:
专著.马维华.微机原理与接口技术[M].:
专著.周明德.微机原理与接口技术[M].
[6]专著.焚水.影视动画短片制作基础[M]..:
海洋,2001,6
[7]专著.异、周进.数字影视后期制作高级教程[M].:
[8]专著.学坚,周斌.微型计算机原理及应用[M].电子科技大学2009-09
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 动画设计 制作