摘要:贪吃蛇之食物(苹果)产生模块设计 1. 设计目标 初始化后,产生食物坐标(24,10),然后判断蛇头的坐标与食物的坐标是否相同,若相同,代表食物被吃掉,然后用随机数产生新的食物坐标。 2. 区域划分 游戏的基本单位block还是用16*16像素,屏幕四周用1个block宽度的边框代表墙,食物用一个b
阅读全文
摘要:VGA显示图片 1. VGA显示图片的原理 图片比之前显示的色块和字符的数据量大,所以使用rom来存储图片。用到ROM IP。可以存放mif和hex格式,需要先把图片转换成mif格式。 2. 如何制作mif文件 先用windows自带的画图工具打开图片,调整大小。步骤:点击重新调整大小,不勾选“保持
阅读全文
摘要:VGA显示文字 VGA字符显示的原理 把要显示的字符转换成字符点阵,然后编码存储,着色的部分为1,其它为0.然后在VGA上输出显示。 字符点阵生成软件: https://www.zhetao.com/fontarray.html 这里一个字符为32*32bit,字符点阵如下图: 字符编码存到内存里的
阅读全文
摘要:VGA驱动色块显示 了解了VGA的显示原理和ADV7123控制后,再去实现色块显示就容易了。 像素坐标 跟显示色条不同,要在屏幕上不同的地方显示色块,需要用像素坐标来定位色块。其实,就是分别用行扫描的计数值和场扫描的计数值来表示坐标的x,y值。 VGA显示数字 比如,用屏幕显示计分的数字 本质,是把
阅读全文
摘要:按键检测 1 独立按键检测 按键检测的核心是消抖,这里用一个10ms的延时来处理按键抖动,按键按下为0,先判断一次按键值是否为0,若是,延时10ms,再判断一次,如果两次检测的键值都是0,按键就是按下的状态。 普中51开发板上,独立按键的电路图如下: 下面给出一个案例,结合之前的定时器应用,四个按键
阅读全文
摘要:VGA显示色条-基于ADV7123 用ADV7123代替权电阻网络,执行数模转换,差别在于rgb都变成8位,显示的色彩更多。控制端口多了3个:像素时钟,复合同步信号(不用就置0),消隐信号。 相对权电阻网络的代码,主要有4处修改:一是端口声明加上新增的3个信号;二是设定复用模式的同步信号为0;三是消
阅读全文