vga显示图像动态移动
一、实验内容
实现vga显示中心200x200的方块动态移动。
二、系统框图
分辨率保持为640x480保持不变,200x200方块在屏幕上移动,总共有5个状态,将3个状态列出,绘制如下框图。

state1:200x200的方块在显示屏上正常移动。
state2:200x200的方块到达显示屏的底部,下一步开始从下往上移动。
state3:200x200的方块到达显示屏的右部,下一步开始从右往左移动。
三、设计分析
简单来说,就是200x200的方块移动到显示屏的边缘时变换方向,可以设计如下的时序。
用两个寄存器作为上下、左右方向控制的变量,初始状态,200x200的方块是从左往右,从上往下移动的,碰到显示器的边沿后,方向改变。200x200的方块替换为相应的显示图像,就可以实现类似屏幕保护程序的功能。

x和y为显示偏移量,设置为每一帧数据改变显示的方向,当显示图像触碰到显示屏的边沿位置时,改变显示的方向。
四、实验步骤
根据设计的时序图,编写实现的代码。
//h_add_flag
always @(posedge clk)
begin
if (rst == 1'b1)
h_add_flag <= 1'b0;
else if (x == 'd1) //state change
h_add_flag <= 1'b0;
else if (x == H_ADDR_TIME - H_BASIC -</

本文介绍如何通过使用两个寄存器控制,实现在VGA屏幕上200x200方块的动态移动,并在碰到边缘时自动切换方向。设计中涉及时序逻辑、显示偏移量控制和图像替换,以实现类似屏保的效果。
最低0.47元/天 解锁文章
5800

被折叠的 条评论
为什么被折叠?



