分享的第二天

对于多字节的uart接收多字节的数据,传送到rom,再将rom里面的数据给到vga。
问题:通过串口接收,发送到板子的数据,在板子怎么能够取模。取模不是应该在电脑进行图形描述才可以生成对应的数据。
总结:
今天学习了,vga显示模块显示中的黑块移动
https://blog.csdn.net/qq_41467882/article/details/87078721
每次对于黑块的移动,使用了1秒计时器,每一秒,进行(左上角的)坐标点,加减,之后对于在一个规定的范围内显示黑色的区域,每一秒随着(左上角的)坐标点进行变化,形成黑块移动。也对于在vga上的显示,定义对应的坐标,通过对应坐标约束来进行实现不同的显示东西。

在之后的坐标约束,引起了通过一个软件,输入你想显示的东西,得到特定的坐标约束,这就是取模软件(pc to lcd),得到数据来进行约束。

module vga_display2(
		vga_clk,
		rst_n,
		x_pixel,
		y_pixel,
		pixel_data
 );
input    			  vga_clk	;
input 					rst_n	;
input 		[9:0]	  x_pixel	;
input 		[9:0]	  y_pixel	;
//---------------------------------
output 	reg	[23:0]	  pixel_data;
//---------------------------------
//---------------------------------
parameter white = 24'b1111_1111__1111_1111__1111_1111;
parameter black = 24'b0000_0000__0000_0000__0000_0000;
parameter red   = 24'b1111_1111__0000_0000__0000_0000;
parameter green = 24'b0000_0000__1111_1111__0000_0000;
parameter bule  = 24'b0000_0000__0000_0000__1111_1111;
//---------------------------------
//28*63
reg [15:0] char [15:0];
always@(posedge vga_clk)
begin
	char[0 ] <= 16'h0880;//此数据描述第一个显示点位转换为二进制0000 1000 0000 1000  一则为点亮的点 
	char[1 ] <= 16'h0880;
	char[2 ] <= 16'h0880;
	char[3 ] <= 16'h11FE;
	char[4 ] <= 16'h1102;
	char[5 ] <= 16'h3204;
	char[6 ] <= 16'h3420;
	char[7 ] <= 16'h5020;
	char[8 ] <= 16'h9128;
	char[9 ] <= 16'h1124;
	char[10] <= 16'h1224;
	char[11] <= 16'h1222;
	char[12] <= 16'h1422;
	char[13] <= 16'h1020;
	char[14] <= 16'h10A0;
	char[15] <= 16'h1040;

end
 

always@(posedge vga_clk or negedge rst_n)
begin
	if(!rst_n)
		pixel_data <= black;
	else 
		if(x_pixel <= 320 && y_pixel <= 240)
			if(x_pixel <= 63 && y_pixel <= 32)
				if(char[y_pixel][16-x_pixel])
					pixel_data <= black;
				else 
					pixel_data <= white;
			else 
				pixel_data <= green;
		else 
			pixel_data <= bule;
end



endmodule

上一篇:计算机中的二进制、八进制、十进制、十六进制


下一篇:1111