FPGA驱动Oled显示字符

简介: 笔记

在前面两篇文章的基础上,加大难度,实现了字符的显示,效果如下图所示,需要完整代码的可以关注FPGA之旅,回复 Oled字符,获取下载链接。

image.gif

一. 字符数据的制作


在进行字符显示的时候,我们需要用到取模软件对字符数据进行提取。这里采用的是PCtoLCD软件用来生成字符数据。(软件打包在项目里面)


image.png

二. 字符数据生成Verilog


生成的字符数据如下,这样是不能直接输入到Verilog里面去的。一个个手动赋值是非常繁琐的,这里采用了python,来读取txt文件,生成verilog代码。

(也可以采用ram ip 生成cof或者mif文件)

image.png

这里我只生成了always块来对数据进行初始化赋值。


data = open("2.txt")
data = data.read().split(" ")
file_handle=open('1.txt',mode='w')
file_handle.write("always@(posedge clk or negedge rst)\n")
file_handle.write("begin\n\tif(rst == 1'b0)\n\tbegin\n")
for index,dat in enumerate(data):
    file_handle.write("\t\tdata10[{}] = {};\n".format(index,dat))
file_handle.write("\tend\n")
file_handle.write("end")
file_handle.close()


一共生成10个always块,对这些memory进行初始化。


image.png

三.字符的显示


先来看看module模块,

输入为起始的位置,和显示字符的选择,非常方便修改为自己想要的字符。

这里字符的大小为16*16,所以需要写两个page,每个page里面写入16个数据。这里的操作和上篇的清屏和全亮的过程一样,只是判断条件变化了。

image.pngimage.png

四. 字符的控制


控制模块主要输出每个字符显示的位置,和显示那个字符。

image.png

公众号:FPGA之旅

目录
相关文章
|
1月前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(一)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
1月前
|
芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(三)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
1月前
|
存储 芯片 异构计算
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管(二)
【FPGA】高云FPGA之数字钟实验->HC595驱动数码管
|
存储 异构计算 内存技术

热门文章

最新文章