




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口课程设计报告课题名称简单的动画设计学院自动控制与机械控制学院专业通信技术班级一班成员学号时间2011年12月31至1月10目 录一设计任务(含有设计要求、设计目的、设计任务)二设计方案 (包括设计思想,程序流程图、程序代码)三程序的调试与运行 四设计总结五. 创新得意之处参考文献一、设计任务1程设计的目的更深入的了解汇编这门语言,并从中学到东西掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力。提高我们对学习认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。培养我们从资料文献、科学实验中获得知识的能力,提高我们从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。培养我们勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。2课程设计要求(1)根据微机软、硬件条件,每人选定一个具有一定综合性的程序设计题目a对题目进行模块分析b 系统设计实用,功能全面c 按时 按量 完成任务(2)按时间上机完成调试任务3设计任务在dos环境中编程完成以下任务:(1) 以滚动方式输出下车动态行驶图形(2) 小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧后,在到达屏幕右侧后,公路下降。(3) 段距离并改变颜色,然后小车继续由左向右行驶(4) 当下降到屏幕底部时,再返回到屏幕顶部重复上述过程(5) 直到有键按下时,程序运行结束(6) 设计说明书:设计思想、参考程序的程序流程图和源程序4设备ibmpc微型计算机一台二、设计方案1、设计思想 主程序思想:使用bios中断调中显示器控制用子程序,要求显示动态效果图像 即为一辆小车在公路上动态行驶,到达屏幕右方时,公路下降并改变颜色,小车又从左向右行驶 以此循环,直至有键按下时 结束程序。铺设公路模拟小车小车行驶在公路2、主程序流程框图 开始定义相关变量定义公路颜色定义小车的颜色定义列变量设置车体模型设置显示方式(320200)选择调色板设置公路颜色设置小车颜色写像素点计算公路坐标计算行坐标画公路画车模设置行坐标设置列坐标设置背景颜色取车模首地址 画一个点读当前点写当前右边的点画完8个点转?n列加1取下一个字节车模信息车模信息完转?yn设置移动总次数行坐标加一修改列坐标有键按下?清除公路和车模恢复文本显示方式结束yn23、源程序代码data segmentline dw 10 ;定义行变量color db 1 ;定义公路颜色color1 db 0 ;定义小车颜色corlum dw 2 ;定义列变量count1 dw 0 count2 dw 0 count3 dw 0 ;车体模型car_8 db 00000011b,11100000b db 00000010b,01010000b db 00000110b,01011000b db 01111111b,11111110b db 11111111b,11111111b db 11111011b,11101111b db 00001010b,00101000b db 00000100b,00010000bdata endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,80 mov ah,0fh int 10h mov ax,0004h int 10h mov ah,0bh mov bh,1 ;选择1号调色板 mov bl,0 int 10hll: mov al,color ;设置公路颜色 inc al cmp al,3 jbe tt2 sub al,3tt: mov color1,al ;设置小车颜色 cmp al,1 jz tt3 inc al cmp al,3 jz tt2tt3: inc altt2: mov color,al mov ax,line ;计算机行坐标 add ax,10 cmp ax,180 jbe tt1 sub ax,180tt1: mov line,ax mov ah,0ch ;写像素 mov dx,line add dx,8 ;计算公路坐标 mov cx,0 mov al,color ;设置公路颜色repet: mov bx,3 push ax int 10h ;画公路 pop ax inc cx cmp cx,319 ;未到屏幕最右转 jnz repet mov ah,0ch ;画车模 mov dx,line ;设置行坐标 mov cx,corlum ;设置列坐标 mov si,offset car_8 ;取车模首坐标 mov count1,8 ;8行retry1: mov count2,2 ;每行2字节retry2: mov count3,8 ;每字节8位retry3: rol byte ptrsi,1 mov al,0 ;此位为0,置背景颜色 jnc next mov al,color1 ;此位为1,置背景颜色next: push ax push cx int 10h ;画一个点 pop cx pop ax inc cx ;列加1 dec count3 jnz retry3 ;未画完8个点转 inc si ;取下一个字节的车模信息 dec count2 jnz retry2 ;车模信息未转完 inc dx mov cx,corlum dec count1 jnz retry1 ;未画完8行转 mov count1,320-18 ;设置移动总次数 mov cx,corlum add cx,15 ;小车最右点的列坐标送cxrepet1: push cx ;小车横向有16个点,外加1个空白点 mov count2,16+1repet2: mov dx,line ;车模向右移动1 个像素位 mov count3,8repet3: mov ah,0dh int 10h ;读当前点 mov ah,0ch push cx inc cx int 10h ;写当前右边的点 pop cx inc dx ;行坐标加1 dec count3 ;车模向右移动1个像素位未完转 jnz repet3 dec cx ;修改列坐标 dec count2 ;小车移动1个车体位未完转 jnz repet2 pop cx inc cx ;修改列坐标 mov ah,1 int 16h jnz exit ;有键按下,转退出 dec count1 jnz repet1 mov dx,line ;清除公路和车模 call clears jmp ll ;无键按下,继续执行exit: mov ah,0 ;恢复文本显示方式 mov al,2 int 10h mov ah,4ch int 21hclears proc near push ax push cx push bx mov ax,0c00h mov bx,10cls0: mov cx,0cls1: int 10h inc cx cmp cx,320 jnz cls1 inc dx dec bx jnz cls0 pop bx pop cx pop ax retclears endpcode ends end start 三程序的调试与运行1、程序的调试程序的分析、代码的编写完成后,开始对代码进行编译和调试,我们采用dos 环境对所编代码进行调式、编译。打开emu8086压缩文件,新建exe模板,把源程序输入在新建模板中,之后进行保存,编译。当源程序出现语法错误时,就不能进行编译,调试过程中出现的错误如下:(1)编译后出现语法错误:(22)duplicate declaration of:data解决方法:将新建时自动生成的代码段删去,即可。(2)编译后 打开生成的exe文件,运行时只有公路出现 但是颜色在改变,从上铺到下。解决方法:对源程序中tt: mov color1,al ;设置小车颜色进行更改,改为mov color1,al,则编译后生成的exe文件就能运行处动画效果。2、程序的运行 在程序调试完成的基础上,程序则能准确地运行,运行效果如下:以滚动方式输出下车动态行驶图形小车在公路上动态行驶,从屏幕左侧驶向屏幕右侧后,在到达屏幕右侧后,公路下降。段距离并改变颜色,然后小车继续由左向右行驶当下降到屏幕底部时,再返回到屏幕顶部重复上述过程直到有键按下时,程序运行结束。四设计总结 1、设计的特点与不足小车速度过快,但可调试解决,还存在第一条公路上,小车运行不正常。不能独立增加一段程序代码,解决小车运行速度及车体颜色和小车颜色; 2、收获与体会通过这次为期近两周的微机原理课程设计,我深深感觉到这次的课程是比较难的,比较复杂的,让我深深的感觉到自己的不足。这次课程是一次具有挑战性的实践课程,在整个设计过程中我们小组遇到很多的困难。刚开始选题的时候,我们觉得这个题目很有意思!但刚开始下手的时候,我们一组成员都是一头雾水,不知道该怎么做,老师上课也没有仔细讲过、所以只好自己查阅相关资料。首先是在处理问题上遇到一些困难,在理解题意分析时,出现偏差,导致错误,从中明白到要做到理论联系实际是相当困难的。而在写报告过程中发现自己对于课本的理论知识是多么的匮乏,以致在报告中对于理论的阐述和自己的见解是很廖少的。搞完这次课程设计,我更加明白数学和逻辑推理对程序的重要性,找到简单、合适及高效的算法可以大大节约程序运行的时间和空间,优化了程序,提高了运行的效率,这对于一个优秀的程序员来说是非常重要的。但是正是这次的课程设计我学会了很多东西,了解到理论实际是多么的重要,同时又是多么的困难,还有平时学习一定要认真踏实,把理论知识消化成自己的东西
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年天津市河东区中考二模物理试题(解析版)
- 小学6年级毕业考试试卷及答案
- 初一期末考试试卷及答案
- 蒸馏法课件教学课件
- 2025年北京高考物理试题+答案
- 2025年高考历史试题分类汇编:中国古代史(先秦-魏晋)选择题解析版
- 2025年辽宁省中式面点师(初级)证考试题库
- 橡胶船物理题目及答案
- 乡村幼师答辩题目及答案
- 2025采购合同样式范文
- 四上科学第一单元《多样的动物》知识梳理
- 三字经全文带拼音打印版带翻译
- 微观经济学-范里安varian中级
- 山东省青岛市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 《印章移交登记表》
- 电缆护套感应电压计算
- 四年级上册心理健康教育课件-健康的情绪表达 全国通用(共16张PPT)
- 第5章金属在自然环境中的腐蚀ppt课件
- 个文言实词练习(学生版)
- 集成电路版图设计(适合微电子专业)
- 安全工程燃烧学课件第一章燃烧与爆炸的化学基础
评论
0/150
提交评论