DB 10H 00H 10H FCH 10H 04H 10H 08H FCH 10H 24H 20H 24H 20H 25H FEH 24H 20H 48H 20H 28H 20H 10H 20H; DB 28H 20H 44H 20H 84H A0H 00H 40H;”好”,1 “你”的第一行:为08H80H,对应的二进制:0000_1000_1000_0000 “好”的第一行:为10H00H,对应的二进制:0001_0000_0000_0000 则在VGA上显示的第一行为 parameter line00=08801000; 下面的15行如上这样定义。 4. 应用代码说明 部分显示代码如下 (Verilog hdl) reg[8:0] char_bit; always@(posedge CLK_to_DAC) if(X==10’d50)char_bit<=9’d500; //当显示到144像素时准备开始输出图像数据 else if(X>10’d50&&X<10’d550) //左边距屏幕144像素到416像素时 416=144+272(图像宽度) char_bit<=char_bit-1’b1; //倒着输出图像信息 reg[29:0] vga_rgb; //定义颜色缓存 always@(posedge CLK_to_DAC) if(X>10’d50) //X控制图像的横向显示边界:左边距屏幕左边144像素 右边界距屏幕左边界416像素 begin case(Y) //Y控制图像的纵向显示边界:从距离屏幕顶部160像素开始显示第一行数据 10’d0: if(char_line000[char_bit])vga_rgb<=30’b0000000000_1111111111_0000000000; //如果该行有数据 则颜色为绿色 else vga_rgb<=30’b0000000000_0000000000_0000000000; //否则为白色 10’d1: if(char_line001[char_bit])vga_rgb<=30’b0000000000_1111111111_0000000000; //如果该行有数据 则颜色为绿色 else vga_rgb<=30’b0000000000_0000000000_0000000000;
定义如下: reg[499:0] char_line20=500’h0000000000000000000000, char_line21=500’h0000000000000000000000, char_line22=500’h0000000000000000000000, char_line23=500’h3FFC3E007CC7FCE7FE0000, char_line24=500’h4242420010624242920000, char_line25=500’h4242420010624242100000, char_line26=500’h8042800010524242100000, char_line27=500’h807C800010524242100000,
补充代码: 如何让文字左右滚动起来 方法:移位 always@(posedge VGA_VS or negedge KEY[0])begin char_line000<={char_line000[499:0],char_line000[0]}; char_line001<=char_line001<<1; char_line002<=char_line002<<1; char_line003<=char_line003<<1; char_line004<=char_line004<<1; char_line005<=char_line005<<1; char_line006<=char_line006<<1; char_line007<=char_line007<<1; char_line008<=char_line008<<1; char_line009<=char_line009<<1; char_line00a<=char_line00a<<1; char_line00b<=char_line00b<<1; char_line00c<=char_line00c<<1; char_line00d<=char_line00d<<1; char_line00e<=char_line00e<<1; char_line00f<=char_line00f<<1; char_line010<=char_line010<<1; char_line011<=char_line011<<1; char_line012<=char_line012<<1; char_line013<=char_line013<<1; char_line014<=char_line014<<1; char_line015<=char_line015<<1; char_line016<=char_line016<<1; char_line017<=char_line017<<1;
end 可以通过KEY[0],加上初始化的信息,便于控制。