云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > VGA彩色信号发生器 - 图文

VGA彩色信号发生器 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/4/25 21:44:31

三、程序设计 1.程序流程图

CRT生产消隐 扫描完480 行 行同步扫描 开始 N

选择横条图 MD=00 MD=01 场同步扫描 输出 MD=10 MD=11 选择竖条图 选择棋盘格子图 选择#图 图4 VGA程序流程图

3

2、源程序及其说明

module color(clock50MHz,MD,rgb,hs,vs); input clock50MHz; input[1:0] MD; output hs,vs; output[2:0] rgb; reg hs,vs,clock;

reg[2:0] rgb,rgbx,rgby,rgba,rgbb; reg[9:0] hcnt,vcnt;

parameter h_Ta=96,h_Tb=40,h_Tc=8,h_Td=640,h_Te=8,h_Tf=8,h_Tg=800; parameter v_Ta=2,v_Tb=25,v_Tc=8,v_Td=480,v_Te=8,v_Tf=2,v_Tg=525; always@(posedge clock50MHz)

begin

clock<=~clock; end

//行计数800

//2分频,得到25MHZ的频率

always@(posedge clock) begin

if(hcnt==h_Tg-1) hcnt<=0; else hcnt<=hcnt+1; end

always@(negedge hs) begin

if(vcnt==v_Tg-1) vcnt<=0; else vcnt<=vcnt+1; end

always@(posedge clock) begin

if(hcnt<=h_Ta-1) hs<=0; //产生行同步信号

4

//场计数525

//clock 25MHz

else hs<=1; end

always@(vcnt) begin

if(vcnt<=v_Ta-1) vs<=0; else vs<=1; end

always@(posedge clock)

begin //竖彩条,说明显示位置及颜色

if(hcnt<=h_Ta+h_Tb+h_Tc-1) rgbx<=3'b000; //黑 else if(hcnt<=h_Ta+h_Tb+h_Tc+80-1) rgbx<=3'b001;//蓝 else if(hcnt<=h_Ta+h_Tb+h_Tc+160-1) rgbx<=3'b010;//绿 else if(hcnt<=h_Ta+h_Tb+h_Tc+240-1) rgbx<=3'b011;//青 else if(hcnt<=h_Ta+h_Tb+h_Tc+320-1) rgbx<=3'b100;//红 else if(hcnt<=h_Ta+h_Tb+h_Tc+400-1) rgbx<=3'b101;//品 else if(hcnt<=h_Ta+h_Tb+h_Tc+480-1) rgbx<=3'b000;//黑 else if(hcnt<=h_Ta+h_Tb+h_Tc+560-1) rgbx<=3'b110;//黄 else if(hcnt<=h_Ta+h_Tb+h_Tc+640-1) rgbx<=3'b111;//白 else rgbx<=3'b000;

if(vcnt<=v_Ta+v_Tb+v_Tc-1) rgby<=3'b000; //横彩条,说明显示位置及颜色 else if(vcnt<=v_Ta+v_Tb+v_Tc+60-1)

rgby<=3'b001;

//产生场同步信号

else if(vcnt<=v_Ta+v_Tb+v_Tc+120-1) rgby<=3'b010; else if(vcnt<=v_Ta+v_Tb+v_Tc+180-1) rgby<=3'b011; else if(vcnt<=v_Ta+v_Tb+v_Tc+240-1) rgby<=3'b100; else if(vcnt<=v_Ta+v_Tb+v_Tc+300-1) rgby<=3'b101; else if(vcnt<=v_Ta+v_Tb+v_Tc+360-1) rgby<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+420-1) rgby<=3'b110; else if(vcnt<=v_Ta+v_Tb+v_Tc+480-1) rgby<=3'b111; else rgby<=3'b000;

5

end

if(hcnt<=h_Ta+h_Tb+h_Tc-1) rgba<=3'b000; //显示# else if(hcnt<=h_Ta+h_Tb+h_Tc+80-1) rgba<=3'b000; else if(hcnt<=h_Ta+h_Tb+h_Tc+160-1) rgba<=3'b001; else if(hcnt<=h_Ta+h_Tb+h_Tc+240-1) rgba<=3'b000; else if(hcnt<=h_Ta+h_Tb+h_Tc+320-1) rgba<=3'b000; else if(hcnt<=h_Ta+h_Tb+h_Tc+400-1) rgba<=3'b000; else if(hcnt<=h_Ta+h_Tb+h_Tc+480-1) rgba<=3'b001; else if(hcnt<=h_Ta+h_Tb+h_Tc+560-1) rgba<=3'b000; else if(hcnt<=h_Ta+h_Tb+h_Tc+640-1) rgba<=3'b000; else rgbb<=3'b000;

if(vcnt<=v_Ta+v_Tb+v_Tc-1) rgbb<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+60-1)

rgbb<=3'b000;

else if(vcnt<=v_Ta+v_Tb+v_Tc+120-1) rgbb<=3'b001; else if(vcnt<=v_Ta+v_Tb+v_Tc+180-1) rgbb<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+240-1) rgbb<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+300-1) rgbb<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+360-1) rgbb<=3'b001; else if(vcnt<=v_Ta+v_Tb+v_Tc+420-1) rgbb<=3'b000; else if(vcnt<=v_Ta+v_Tb+v_Tc+480-1) rgbb<=3'b000; else rgbb<=3'b000;

always @(MD)//控制按键

begin if(MD==2'b00) rgb<=rgbx; else if(MD==2'b01) rgb<=rgby; else if(MD==2'b10) rgb<=(rgbx+rgby); else end endmodule

rgb<=(rgba+rgbb);

6

搜索更多关于: VGA彩色信号发生器 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

三、程序设计 1.程序流程图 CRT生产消隐 扫描完480 行 行同步扫描 开始 N 选择横条图 MD=00 MD=01 场同步扫描 输出 MD=10 MD=11 选择竖条图 选择棋盘格子图 选择#图 图4 VGA程序流程图 3 2、源程序及其说明 module color(clock50MHz,MD,rgb,hs,vs); input clock50MHz; input[1:0] MD; output hs,vs; output[2:0] rgb; reg hs,vs,clock; reg[2:0] rgb,rgbx,rgby,rgb

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com