《自动显示技术》实验报告.docx

上传人:b****8 文档编号:11357722 上传时间:2023-02-28 格式:DOCX 页数:32 大小:1.39MB
下载 相关 举报
《自动显示技术》实验报告.docx_第1页
第1页 / 共32页
《自动显示技术》实验报告.docx_第2页
第2页 / 共32页
《自动显示技术》实验报告.docx_第3页
第3页 / 共32页
《自动显示技术》实验报告.docx_第4页
第4页 / 共32页
《自动显示技术》实验报告.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

《自动显示技术》实验报告.docx

《《自动显示技术》实验报告.docx》由会员分享,可在线阅读,更多相关《《自动显示技术》实验报告.docx(32页珍藏版)》请在冰豆网上搜索。

《自动显示技术》实验报告.docx

《自动显示技术》实验报告

《自动显示技术》实验报告

 

上机实验一、计算机显示知识

一、上机实验目的

1.观察计算机显示系统构成,认识彩色显示的相关硬件和软件。

2.了解计算机图形显示过程并学习VGA显示模式设置知识。

3.了解计算机显示器特性和使用,认识计算机图形显示的控制与编程技术知识。

二、实验设备及软件

1.计算机系统1套;

2.测试和应用软件若干;

3.高倍放大镜1个;

4.课程多媒体软件1套;

三、上机实验内容

1.认识计算机显示系统构成结构

A.观察计算机的基本外部构成;

答:

经观察我实验上机用的计算机是:

华硕A52J笔记本电脑,如图一:

图一实验所用计算机

基本的外部构成有:

主机,光电鼠标,15.6寸LCD液晶显示屏,一个RJ45(网线接口),一个15针的VGA(视频接口),3个B2.0(数据接口),触摸板、指点杆(输入设备),耳机输出接口,麦克风输入接口,电源接口,4合1读卡器,DVD光驱。

B.观察VGA显示器的基本特性;

基本特性是:

VGA显示器及显示器与显示卡的接口都采用模拟形式来处理色彩。

因此他们都具有无限的色彩显示和传输能力;VGA的显示存储容量并不能

C.观察VGA显示卡及显示器的显示信号接口;

据观察、测试该实验上机用的笔记本电脑的VGA显示卡是制作在主板上的集成显卡型号为AMDRadeonHD6300MSeries。

显示器的显示接口如下图:

图二显示接口

2.认识VGA显示模式

A.认识计算机的字符模式及其基本特点;

答:

计算机的字符模式:

字符模式也称文本模式,在字符模式下,最基本的操作单元为字符,一屏所能显示字符的行数和列数及字符属性的表示方法即构成了一种具体的字符显示模式为80列、25列、16色。

字符模式具有极快的显示速度,但他不能显示图形。

B.认识计算机图形模式的种类、表示及其特点和主要特性参数;

答:

计算机的字符模式由各种分辨率,色彩模式组合而成。

一般表示为:

水平像素数×色彩模式,如800×600×16色。

(2)种类、特点和主要特性参数如下表所示:

(表1)VGA的各种图形模式及其特性

图形模式

所需显存容量

实际最低配置

显存容量

类型

640×480×16色

150K

256K

普通模式

800×600×16色

235K

256K

普通模式

1024×768×16色

384K

512K

普通模式

1280×1024×16色

640K

1M

高级模式

1600×1200×16色

938K

1M

高级模式

2048×2048×16色

2048K

2M

高级模式

320×2000×256色

63K

256K

普通模式

640×400×256色

250K

256K

普通模式

640×480×256色

300K

512K

普通模式

600×800×256色

469K

512K

普通模式

1024×768×256色

768K

1M

普通模式

1280×1024×256色

1280K

2M

高级模式

1600×1200×256色

1875K

2M

高级模式

2048×2048×256色

4096K

4M

高级模式

320×200×32K色

125K

256K

普通模式

512×480×32K色

480K

256K

普通模式

640×480×32K色

600K

1M

普通模式

600×800×32K色

938K

1M

普通模式

1024×768×32K色

1536K

2M

高级模式

1280×1024×32K色

2560K

4M

高级模式

1600×1200×32K色

3750K

4M

高级模式

320×200×64K色

125K

256K

普通模式

512×480×64K色

480K

256K

普通模式

640×480×64K色

600K

1M

普通模式

600×800×64K色

938K

1M

普通模式

1024×768×64K色

1536K

2M

高级模式

1280×1024×64K色

2560K

4M

高级模式

1600×1200×64K色

3750K

4M

高级模式

320×200×16M色

200K

256K

普通模式

640×480×16M色

960K

1M

普通模式

800×600×16M色

1407K

2M

高级模式

1024×768×16M色

2304K

4M

高级模式

1280×1024×16M色

3840K

8M

高级模式

1600×1200×16M色

5625K

8M

高级模式

C.学习设置计算机图形模式的方法及相关要点;

答:

第一种图形操作法:

显示存储器的读写:

(1)方法:

在计算机中,为避免CPU对显示存储器的访问占用过多的资源,CPU对主机内存进行操作,而对显示存储器的操作采用一种映射方式进行。

VGA的显示存储器映射到主机系统的一段没存地址空间上,访问的方法与常规的内存操作完全一样。

当CPU向这段地址空间写入数据时,所写的数据即被写到显示存储器上,当从这段地址读数据时,所读出的数据即来自于显示存储器。

(2)相关要点:

位面技术;存储器分页;地址计算(地址映射关系、变量说明、计算、地址参数)。

 第二种图形操作法:

VGA寄存器的操作:

方法:

VGA寄存器分为六组:

即外部寄存器、CRT控制寄存器、丁续期寄存器、图形控制寄存器、属性控制寄存器和数模转换器寄存器。

其中外部寄存器和数模转换器寄存器没有采用间接访问方式,而属性寄存器则采用了一种更特殊的访问方式。

对VGA寄存器的操作通过I/O指令来实现,在汇编语言中用out和in指令实现,在C语言中使用inportb()和outportb()两个函数。

第三种图形操作法:

视频BIOS的中断:

BIOS是固化在硬件上的一组程序,它以终端调用的一种方法工应用程序使用。

其中断向量号为10H,在汇编语言中使用软件中断指令INT来实现对它的调用,在C语言中使用int86()、int86x()、geninterurupt()等函数来实现对他的调用。

3.了解计算机显示系统特性指标及其参数

A.观察并了解Windows下VGA显示卡视频地址空间特性;

答:

B.使用测试软件测试计算机显示特性及其指标;

答:

C.使用应用软件观察显示模式的特性

D.使用课程多媒体教程学习计算机显示部件知识

四、基本实验问题:

1、计算机DOS下的显示模式是多少?

答:

DOS的显示模式是字符显示。

25行80列,如下图所示:

2、当前计算机Windows下的图形显示模式为多少?

答:

1024*768像素*32bit(位真彩),刷新率:

60Hz.

3、VGA彩色显示器屏幕上象素点的构成方式是怎样的?

答:

VGA显示器的一帧画面是由光栅扫描中一系列明暗不同的点(像素点)组成图形。

CRT图形显示是将整个屏幕分成m行,每行分成n个点,每个点称为一个象素。

于是整个屏幕上共有m×n个像素点。

利用光栅扫描,并且有规则地控制屏幕上全部像素的“亮”、“灭”,就可以在屏幕上得到任何需要显示的图形。

为此,要将显示的图形点阵信息存放在显示存储器中,显示存储器的内容与屏幕像素互相对应。

因此,象素的数目与显示存储器的容量有关。

4、当前计算机VGA显示系统的基本参数是多少?

答:

当前计算机VGA显示系统的基本参数为下图:

5、Windows下VGA显示卡视频地址空间是多少?

答:

6、Windows下VGA图形显示模式调节类型有哪些?

如何调节和设定?

答:

VGA的图形模式分为三类:

CGA、EGA兼容图形模式;标准VGA图形模式;VGA扩展图形模式。

后两种模式统称为VGA图形模式。

VGA的显示存储器容量并不能任意配置,它通常必须为256K乘2的n次方,即只能为如下几种容量之一:

256K、512K、1MB、2MB、4MB、8MB、16MB、32MB、64MB、128MB等。

因此显示卡所配置的存储器容量一般要大于其所能支持的各种显示模式的需要量,如要支持上述640×480×64K色模式,显示卡需配置1M的存储器。

五、上机实验报告

围绕上述上机实验内容、基本实验问题,在计算机上观察、操作、学习,并结合教材简单分析其基本原理和特性,写出实验观察及结论报告。

上机实验二C语言图形基础知识

一、上机实验目的

1.认识C语言程序中的图形参数和有关图形显示的基础知识;

2.学习C语言各种图形函数和图形命令及其使用。

3.学习并运行图形显示例程,掌握C语言图形编程基本常识。

二、实验设备及软件

1.计算机系统1套;

2.C语言教程软件1套;

3.C语言编程软件1套

4.课程多媒体软件1套;

三、上机实验内容

1.学习教程中有关图形的基本知识

图形模式初始化设置、颜色代码调用、图形显示基本功能等;

2.认识并掌握C语言图形函数及其使用

各种图形的C语言函数,如点、直线、矩形、圆、扇形、椭圆及多边形等;图形函数的基本表示、含义以及基本应用;

各种图形的C语言函数,如点 

 画点函数void far putpixel ( int x, int y, int color ); 

 直线、void far line ( int x0, int y0, int x1, int y1 );画一条从点(x0, 

y0)到(x1, y1)的直线。

void far lineto ( int x, int y );画一作从现行游标到点(x, y)的直线。

 

void far linerel ( int dx, int dy );画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。

 

 矩形、void far bar ( int x1, int y1, int x2, int y2 ); 

 圆、扇形void far pieslice ( int x, int y, int stangle, int endangle, int 

radius ); 画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 为终止角度的扇形, 再按规定方式填充。

 

 椭圆及多边形等void far floodfill ( int x, int y, int border ); 

其中:

 x, y为封闭图形内的任意一点。

border为边界的颜色, 也就是封闭图形轮廓的颜色。

 

图形函数的基本表示、含义以及 

 基本应用 :

 void far clearviewport ( void );清除现行图形窗口的内容。

 

void far outtext ( char far *textstring );该函数输出字符串指针textstring所指的文本在现行位置。

3.初步认识C语言图形函数的编程与运行

在C语言环境下,运行图形程序示例,观察显示结果,分析程序结构和含义,学习C语言图形函数的编程应用;

4.修改相关程序内容,观察运行结果,总结经验和结论分析。

没有修改的原程序一:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmidx,midy;

intstangle=45,endangle=135;

intradius=100;

/*initializegraphicsandlocalvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();/*anerroroccurred*/

if(errorcode!

=grOk)

{

printf("Graphicserror:

%s\n",grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);/*terminatewithanerrorcode*/

}

midx=getmaxx()/2;

midy=getmaxy()/2;

setcolor(getmaxcolor());

/*drawarc*/

arc(midx,midy,stangle,endangle,radius);

/*cleanup*/

getch();

closegraph();

return0;

}

运行出来的图形:

修改后的程序一:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmidx,midy;

intstangle=0,endangle=360,intradius=150;

/*initializegraphicsandlocalvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);/*terminatewithanerrorcode*/

}

setbkcolor

(1);

setcolor(6);

midx=getmaxx()/4;

midy=getmaxy()/2;

/*setfillstyleanddrawapieslice*/

setfillstyle(EMPTY_FILL,getmaxcolor());

pieslice(midx,midy,stangle,endangle,radius);

/*cleanup*/

getch();

closegraph();

return0;

}

修改后的程序一运行的图形:

修改一:

intstangle=45,endangle=135;intradius=100;改变图形的弧度和长度intstangle=0,endangle=360,intradius=150;

修改二:

增加setbkcolor

(1);setcolor(6);改变了图形的颜色和背景颜色

修改三:

midx=getmaxx()/2;修改成midx=getmaxx()/4;改变了图形的顶点。

没有修改的原程序二:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

inti,maxx,maxy;

/*ourpolygonarray*/

intpoly[8];

/*initializegraphics,localvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",

grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

exit

(1);

/*terminatewithanerrorcode*/

}

maxx=getmaxx();

maxy=getmaxy();

poly[0]=20;/*1stvertext*/

poly[1]=maxy/2;

poly[2]=maxx-20;/*2nd*/

poly[3]=20;

poly[4]=maxx-50;/*3rd*/

poly[5]=maxy-20;

/*

4thvertex.fillpolyautomatically

closesthepolygon.

*/

poly[6]=maxx/2;

poly[7]=maxy/2;

/*loopthroughthefillpatterns*/

for(i=EMPTY_FILL;i

{

/*setfillpattern*/

setfillstyle(i,getmaxcolor());

/*drawafilledpolygon*/

fillpoly(4,poly);

getch();

}

/*cleanup*/

closegraph();

return0;

}

未修改的程序运行的图:

修改后的程序二:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmaxx,maxy;

/*ourpolygonarray*/

intpoly[10];

/*initializegraphicsandlocalvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",\

grapherrormsg(errorcode));

printf("Pressanykeytohalt:

");

getch();

/*termina

tewithanerrorcode*/

exit

(1);

}

maxx=getmaxx();

maxy=getmaxy();

setbkcolor

(2);

setcolor(12);

poly[0]=10;/*1stvertext*/

poly[1]=maxy/2;

poly[2]=maxx-10;/*2nd*/

poly[3]=10;

poly[4]=maxx-30;/*3rd*/

poly[5]=maxy-10;

poly[6]=maxx/2;/*4th*/

poly[7]=maxy/2;

/*

drawpolydoesn'tautomaticallyclose

thepolygon,sowecloseit.

*/

poly[8]=poly[0];

poly[9]=poly[1];

/*drawthepolygon*/

drawpoly(5,poly);

/*cleanup*/

getch();

closegraph();

return0;

}

修改后的程序二运行的图:

修改一:

intpoly[8];修改成intpoly[10];修改了图形的作图颜色

修改二:

增加了setbkcolor

(2):

setcolor(12);修改了图形的背景颜色

修改三:

poly[0]=20;poly[1]=maxy/2:

poly[2]=maxx-20;poly[3]=20;poly[4]=maxx-50;poly[5]=maxy-20;修改成:

poly[0]=10;poly[1]=maxy/2;poly[2]=maxx-10;poly[3]=10;poly[4]=maxx-30;poly[5]=maxy-10;改变了图形的坐标位置改变了图形的形状。

没有修改的原程序三:

#include

#include

#include

#include

intmain(void)

{

/*requestautodetection*/

intgdriver=DETECT,gmode,errorcode;

intmidx,midy;

intstangle=0,endangle=360;

intxradius=100,yradius=50;

/*initializegraphics,localvariables*/

initgraph(&gdriver,&gmode,"");

/*readresultofinitialization*/

errorcode=graphresult();

if(errorcode!

=grOk)

/*anerroroccurred*/

{

printf("Graphicserror:

%s\n",

grapher

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1