VGA显示实验通信1103张加满.docx

上传人:b****5 文档编号:3195303 上传时间:2022-11-20 格式:DOCX 页数:17 大小:478.74KB
下载 相关 举报
VGA显示实验通信1103张加满.docx_第1页
第1页 / 共17页
VGA显示实验通信1103张加满.docx_第2页
第2页 / 共17页
VGA显示实验通信1103张加满.docx_第3页
第3页 / 共17页
VGA显示实验通信1103张加满.docx_第4页
第4页 / 共17页
VGA显示实验通信1103张加满.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

VGA显示实验通信1103张加满.docx

《VGA显示实验通信1103张加满.docx》由会员分享,可在线阅读,更多相关《VGA显示实验通信1103张加满.docx(17页珍藏版)》请在冰豆网上搜索。

VGA显示实验通信1103张加满.docx

VGA显示实验通信1103张加满

实验报告

题目:

VGA显示实验

VGA显示

 

学生姓名

张加满

学号

201120110325

专业班级

通信1103

 

2013年11月

 

目录

一实验目的和内容1

1.1实验目的1

1.2实验内容和要求1

1.3实验器材1

二实验原理和设计步骤(含程序及仿真图、测试图等)2

2.1原理:

VGA(VideoGraphicArray)是计算机显示器的众多标准之一,一般有专用显示控制器实现图像的显示。

这里我们尝试用FPGA来实现VGA的图像显示控制。

2

常见的显示器的色彩由三基色RGB(红绿蓝)组成,用逐行扫描的方式进行图像显示。

2

扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描。

2

程序:

3

2.2原理:

8

三项目下载13

四实验总结和心得体会13

一实验目的和内容

1.1实验目的

熟悉VHDL语言、熟悉QuartusII软件的使用

掌握IF语句的用法

掌握VGA彩条显示方法

 

1.2实验内容和要求

采用VHDL编程实现VGA的横彩条、竖彩条和棋盘格显示。

将要显示的图像保存在ROM中,然后通过VGA显示出来。

1.3实验器材

微机1台、QuartusII软件、Modelsim软件、VGA显示器、FPGA实验平台

 

二实验原理和设计步骤(含程序及仿真图、测试图等)

2.1原理:

VGA(VideoGraphicArray)是计算机显示器的众多标准之一,一般有专用显示控制器实现图像的显示。

这里我们尝试用FPGA来实现VGA的图像显示控制。

常见的显示器的色彩由三基色RGB(红绿蓝)组成,用逐行扫描的方式进行图像显示。

扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描。

程序:

1)LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOLORbarIS

PORT(CLK:

INSTD_LOGIC;

HS,VS,R,G,B:

OUTSTD_LOGIC);--行同步,场同步,红,绿,蓝

ENDCOLORbar;

ARCHITECTUREbehavOFCOLORbarIS

SIGNALHcount:

INTEGERRANGE0TO1056:

=0;

SIGNALVcount:

INTEGERRANGE0TO628:

=0;

SIGNALHS1,VS1:

STD_LOGIC:

='1';

SIGNALenable:

STD_LOGIC:

='0';

SIGNALRGB:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

--行扫描计数

p1:

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFHcount<1055THEN--e=1056

Hcount<=Hcount+1;

ELSEHcount<=0;

ENDIF;

ENDIF;

ENDPROCESS;

--产生行同步信号HS

p2:

PROCESS(CLK,Hcount)

BEGIN

IF(Hcount<128)THEN--a=128

HS1<='0';

ELSEHS1<='1';

ENDIF;

ENDPROCESS;

--场扫描计数

p3:

PROCESS(HS1)

BEGIN

IFHS1'EVENTANDHS1='0'THEN

IFVcount<627THEN--S=628

Vcount<=Vcount+1;

ELSEVcount<=0;

ENDIF;

ENDIF;

ENDPROCESS;

--产生场同步信号VS

p4:

PROCESS(Vcount)

BEGIN

IF(Vcount<4)THEN--O=4

VS1<='0';

ELSEVS1<='1';

ENDIF;

ENDPROCESS;

--产生图像显示使能信号enable.enable='1'时(高电平),显示图像。

PROCESS(CLK,Hcount)

BEGIN

IF(Hcount<216orHcount>=1016ORVcount<27ORVcount>=627)THEN

enable<='0';

ELSEenable<='1';

ENDIF;

ENDPROCESS;

--显示横彩条

PROCESS(enable,HS1,Vcount)

BEGIN

IFenable='0'THEN

RGB<="000";

ELSIFVcount<102ANDVcount>=27THENRGB<="100";

ELSIFVcount<177ANDVcount>=102THENRGB<="010";

ELSIFVcount<252ANDVcount>=177THENRGB<="001";

ELSIFVcount<327ANDVcount>=252THENRGB<="110";

ELSIFVcount<402ANDVcount>=327THENRGB<="101";

ELSIFVcount<477ANDVcount>=402THENRGB<="011";

ELSIFVcount<552ANDVcount>=477THENRGB<="111";

ELSERGB<="000";

ENDIF;

ENDPROCESS;

HS<=HS1;VS<=VS1;R<=RGB

(2);G<=RGB

(1);B<=RGB(0);

ENDbehav;

2)LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOLORbalIS

PORT(CLK:

INSTD_LOGIC;

HS,VS,R,G,B:

OUTSTD_LOGIC);--行同步,场同步,红,绿,蓝

ENDCOLORbal;

ARCHITECTUREbehavOFCOLORbalIS

SIGNALHcount:

INTEGERRANGE0TO1040:

=0;

SIGNALVcount:

INTEGERRANGE0TO666:

=0;

SIGNALHS1,VS1:

STD_LOGIC:

='1';

SIGNALenable:

STD_LOGIC:

='0';

SIGNALRGB:

STD_LOGIC_VECTOR(2DOWNTO0);

..............................................(同上)...................................

--显示竖彩条

PROCESS(enable,CLK,Hcount)

BEGIN

IFenable='0'THEN

RGB<="000";

ELSIFHcount<284ANDHcount>=184THENRGB<="100";

ELSIFHcount<384ANDHcount>=284THENRGB<="010";

ELSIFHcount<484ANDHcount>=384THENRGB<="001";

ELSIFHcount<584ANDHcount>=484THENRGB<="110";

ELSIFHcount<684ANDHcount>=584THENRGB<="101";

ELSIFHcount<784ANDHcount>=684THENRGB<="011";

ELSIFHcount<884ANDHcount>=784THENRGB<="111";

ELSERGB<="000";

ENDIF;

ENDPROCESS;

HS<=HS1;VS<=VS1;R<=RGB

(2);G<=RGB

(1);B<=RGB(0);

ENDbehav;

3)LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOLORbarlIS

PORT(CLK:

INSTD_LOGIC;

HS,VS,R,G,B:

OUTSTD_LOGIC);--行同步,场同步,红,绿,蓝

ENDCOLORbarl;

ARCHITECTUREbehavOFCOLORbarlIS

SIGNALHcount:

INTEGERRANGE0TO1039:

=0;

SIGNALVcount:

INTEGERRANGE0TO665:

=0;

SIGNALHS1,VS1:

STD_LOGIC:

='1';

SIGNALenable:

STD_LOGIC:

='0';

SIGNALRGB:

STD_LOGIC_VECTOR(2DOWNTO0);

SIGNALRGB1:

STD_LOGIC_VECTOR(2DOWNTO0);

SIGNALRGB2:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

...............同上.................................

--显示网格

PROCESS(enable,HS1,Vcount)

BEGIN

IFenable='0'THEN

RGB1<="000";

ELSIFVcount<102ANDVcount>=27THENRGB1<="100";

ELSIFVcount<177ANDVcount>=102THENRGB1<="010";

ELSIFVcount<252ANDVcount>=177THENRGB1<="001";

ELSIFVcount<327ANDVcount>=252THENRGB1<="110";

ELSIFVcount<402ANDVcount>=327THENRGB1<="101";

ELSIFVcount<477ANDVcount>=402THENRGB1<="011";

ELSIFVcount<552ANDVcount>=477THENRGB1<="111";

ELSERGB1<="000";

ENDIF;

IF

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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