微机原理课程设计制作奥运五环效果

上传人:pu****.1 文档编号:505251375 上传时间:2023-12-29 格式:DOC 页数:14 大小:179KB
返回 下载 相关 举报
微机原理课程设计制作奥运五环效果_第1页
第1页 / 共14页
微机原理课程设计制作奥运五环效果_第2页
第2页 / 共14页
微机原理课程设计制作奥运五环效果_第3页
第3页 / 共14页
微机原理课程设计制作奥运五环效果_第4页
第4页 / 共14页
微机原理课程设计制作奥运五环效果_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《微机原理课程设计制作奥运五环效果》由会员分享,可在线阅读,更多相关《微机原理课程设计制作奥运五环效果(14页珍藏版)》请在金锄头文库上搜索。

1、南通大学电气工程学院微机原理课程设计报 告 书软件课 题 制作奥运五环效果 班 级 学 号 姓 名 指导 教师 日 期 2011-11-23 一、奥运五环效果1.1 设计目的1.巩固和加深课堂所学知识;2.学习掌握一般的软件的设计方法和查阅、运用资料的能力;3.通过奥运五环效果的设计与制作,深入了解与掌握DOS环境下图形生成方法。1.2 设计内容和要求查找资料,了解汇编语言编写图形方法,中点bresenharm算法原理,成像原理。生成奥运五环效果,并定时中断实现变色或闪烁。1.3 设计原理1.3.1 DOS环境下图形显示机理BIOS 提供了相当丰富的显示功能调用,其显示功能集中在10H 号中断

2、中,共有16 种不同的功能,每个功能有一个编号,对应的编号为000FH。当调用某个显示功能时,应根据需要设置好入口参数,把功能号置入AH寄存器中,然后发中断指令“INT10H”。与图形显示有关的子功能主要集中在如表1 几个功能号。在图形方式下,屏幕以像素为单位。中分辨率下,屏幕可分成320*200=64000个像素点,每个像素有四种不同的显示颜色,背景有16种颜色;高分辨率下,屏幕分成640*200=128000 个像素点,只支持黑白两色。任何一个图形都可以看作是由点组成的,这些像素点“点亮”或“熄灭”,就构成相应的图形。1.3.2 Bresenham画圆算法Bresenham画圆算法又称中点

3、画圆算法,与Bresenham 直线算法一样,其基本的方法是利用判别变量来判断选择最近的像素点,判别变量的数值仅仅用一些加、减和移位运算就可以计算出来。为了简便起见,考虑一个圆心在坐标原点的圆,而且只计算八分圆周上的点,其余圆周上的点利用对称性就可得到。 圆有“八对称性”,如下图所示。 显然,我们只需要知道了圆上的一个点的坐标 (x, y) ,利用八对称性,我们马上就能得到另外七个对称点的坐标。 给出圆心的坐标(0, 0)和半径,求圆图像的最佳逼近点。 我们求的八分之一圆孤为(0, R) -(R2,R2),可知最大位移方向是x方向,x0 = 0, y0 = R,每次对x自增,然后判断y是否减1

4、,直到x = y为止(从点(0, R)到圆的八分之一处就有这种情况)。误差量由(x, y) = x2 + y2 - R2给出。 先找递推关系,若当前d = F(x + 1, y - 0.5) 0,则y须减1,则下一d值为d = F(x + 2, y - 1.5) = (x + 2)2 + (y - 1.5)2 - R2 = d + 2x - 2y + 5,若当前d = F(x + 1, y - 0.5) 0即d 0.25,这和d 0等价,所以d取初值1 - R。1.4 程序流程图与程序代码1.41 流程图确定第一个圆的圆心(x0,y0),半径r设置显示方式依次确定正面五环各环的像素值即颜色,调

5、用单环绘制程序,完成正面五环定时中断否?依次确定反面五环各环的像素值即颜色,调用单环绘制程序,完成反面五环1.42 程序源代码data segment m dw ? n db ? ;像素颜色值 r dw 30 ;五环半径 x1 dw 80 ;第一个圆的圆心 y1 dw 80 x2 dw ? y2 dw ? x3 dw ? y3 dw ? x4 dw ? y4 dw ? x dw ? y dw ? d dw ? a dw ? b dw ? data ends code segment assume cs:code,ds:data main proc far start: mov ax,data

6、mov ds,ax ;mov si,0 mov di,0 mov si,x1 mov x3,si mov si,y1 mov y3,si mov si,0 call circulmain endp ;*五环绘制子程序* circul proc near push si mov ah,0 mov al,0dh int 10h ;*依次绘制正面五环* front: mov n,0eh;第一个环,黄色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si call single_circle mov n,0ah;第二个环,

7、绿色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx shr bx,1 add y1,bx call single_circle mov n,04h;第三个环,红色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx add y1,bx add y1,bx add y1,bx call single_circle mov n,09h;第四个环,蓝色 mo

8、v x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx shr bx,1 shr bx,1 add y1,bx call single_circle mov n,08h; 第五个环,灰色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx add y1,bx add y1,bx shr bx,1 add y1,bx shr bx,1 add y1,bx call s

9、ingle_circle jmp back;*绘制背面面各环* back: mov n,04h;第一个环,红色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si call single_circle mov n,08;第二个环,灰色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx shr bx,1 add y1,bx call single_circle mov n,09h;第三个环,蓝色

10、mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx add y1,bx add y1,bx add y1,bx call single_circle mov n,0ah;第四个环,绿色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx shr bx,1 shr bx,1 add y1,bx call single_circle mov n,0eh; 第五个

11、环,黄色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx add y1,bx add y1,bx shr bx,1 add y1,bx shr bx,1 add y1,bx call single_circle pop sicall delayjmp frontcircul endp ;*逐步进给调整坐标,单环绘制* single_circle proc near mov si,1 sub si,r mov d,si ;d=1-r,x=0 lin3: mov si,x ;

12、si=x mov di,y ;di=y=r add si,x1 add di,y1 mov dx,si ;dx=si+x1 mov cx,di ;cx=di+y1 mov si,x ; mov di,y cmp si,di ;比较x与y,xy则八分之一圆弧绘制结束 jg lin call hua ;xy cmp d,0 ; jge lin1 ;mov si,2 mov ax,0 mov AX,SI imul x mov si,ax add si,3 add d,si lin2: inc x jmp lin3 lin1: mov si,2 mov ax,0 mov ax,si mov di,x sub di,y imul di mov si,ax add si,5 add d,si dec y jmp lin2 lin: ret single_circle endp huadian proc near ;写像素,al=颜色值,bh=页号 mov ah,0CH mov al,n mov

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号