资源描述:
《《微机原理及接口》课程设计报告-简单的动画设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《微机原理及接口》课程设计报告课题名称简单的动画设计学院自动控制与机械控制学院专业通信技术班级一班成员学号时间2011年12月31至1月10目录一.设计任务(含有设计要求、设计目的、设计任务)二.设计方案(包括设计思想,程序流程图、程序代码)三.程序的调试与运行四.设计总结五.创新得意之处参考文献一、设计任务1.程设计的目的更深入的了解汇编这门语言,并从中学到东西掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力。提高我们对学习认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。培养我们从资料文献、科学实验中获得知识的能力,提高我们从别人经验中找到解决
2、问题的新途径的悟性,初步培养工程意识和创新能力。培养我们勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。2.课程设计要求(1)根据微机软、硬件条件,每人选定一个具有一定综合性的程序设计题目A对题目进行模块分析B系统设计实用,功能全面C按时按量完成任务(2)按时间上机完成调试任务3.设计任务在DOS环境中编程完成以下任务:(1)以滚动方式输出下车动态行驶图形(2)小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧后,
3、在到达屏幕右侧后,公路下降。(3)段距离并改变颜色,然后小车继续由左向右行驶(4)当下降到屏幕底部时,再返回到屏幕顶部重复上述过程(5)直到有键按下时,程序运行结束(6)设计说明书:设计思想、参考程序的程序流程图和源程序4.设备IBM—PC微型计算机一台二、设计方案1、设计思想主程序思想:使用BIOS中断调中显示器控制用子程序,要求显示动态效果图像即为一辆小车在公路上动态行驶,到达屏幕右方时,公路下降并改变颜色,小车又从左向右行驶以此循环,直至有键按下时结束程序。铺设公路模拟小车小车行驶在公路2、主程序流程框图开始定义相关变量定义公路颜色定义小车的颜色定义列变量设置车体
4、模型设置显示方式(320×200)选择调色板设置公路颜色设置小车颜色写像素点计算公路坐标计算行坐标画公路画车模设置行坐标设置列坐标设置背景颜色取车模首地址画一个点读当前点写当前右边的点画完8个点转?N列加1取下一个字节车模信息车模信息完转?YN设置移动总次数行坐标加一修改列坐标有键按下?清除公路和车模恢复文本显示方式结束YN23、源程序代码datasegmentlinedw10;定义行变量colordb1;定义公路颜色color1db0;定义小车颜色corlumdw2;定义列变量count1dw0count2dw0count3dw0;车体模型car_8dbb,bdbb,
5、bdbb,bdbb,bdbb,bdbb,bdbb,bdbb,bdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,80movah,0fhint10hmovax,0004hint10hmovah,0bhmovbh,1;选择1号调色板movbl,0int10hll:moval,color;设置公路颜色incalcmpal,3jbett2subal,3tt:movcolor1,al;设置小车颜色cmpal,1jztt3incalcmpal,3jztt2tt3:incaltt2:movcol
6、or,almovax,line;计算机行坐标addax,10cmpax,180jbett1subax,180tt1:movline,axmovah,0ch;写像素movdx,lineadddx,8;计算公路坐标movcx,0moval,color;设置公路颜色repet:movbx,3pushaxint10h;画公路popaxinccxcmpcx,319;未到屏幕最右转jnzrepetmovah,0ch;画车模movdx,line;设置行坐标movcx,corlum;设置列坐标movsi,offsetcar_8;取车模首坐标movcount1,8;8行retry1:mo
7、vcount2,2;每行2字节retry2:movcount3,8;每字节8位retry3:rolbyteptr[si],1moval,0;此位为0,置背景颜色jncnextmoval,color1;此位为1,置背景颜色next:pushaxpushcxint10h;画一个点popcxpopaxinccx;列加1deccount3jnzretry3;未画完8个点转incsi;取下一个字节的车模信息deccount2jnzretry2;车模信息未转完incdxmovcx,corlumdeccount1jnzretry1;未画完8行转movc