FPGA驱动Oled显示字符
2023-03-14 22:57:31 时间
在前面两篇文章的基础上,加大难度,实现了字符的显示,效果如下图所示,需要完整代码的可以关注FPGA之旅,回复 Oled字符,获取下载链接。
一. 字符数据的制作
在进行字符显示的时候,我们需要用到取模软件对字符数据进行提取。这里采用的是PCtoLCD软件用来生成字符数据。(软件打包在项目里面)
二. 字符数据生成Verilog
生成的字符数据如下,这样是不能直接输入到Verilog里面去的。一个个手动赋值是非常繁琐的,这里采用了python,来读取txt文件,生成verilog代码。
(也可以采用ram ip 生成cof或者mif文件)
这里我只生成了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) ") file_handle.write("begin if(rst == 1'b0) begin ") for index,dat in enumerate(data): file_handle.write(" data10[{}] = {}; ".format(index,dat)) file_handle.write(" end ") file_handle.write("end") file_handle.close()
一共生成10个always块,对这些memory进行初始化。
三.字符的显示
先来看看module模块,
输入为起始的位置,和显示字符的选择,非常方便修改为自己想要的字符。
这里字符的大小为16*16,所以需要写两个page,每个page里面写入16个数据。这里的操作和上篇的清屏和全亮的过程一样,只是判断条件变化了。
四. 字符的控制
控制模块主要输出每个字符显示的位置,和显示那个字符。
公众号:FPGA之旅
相关文章
- 这 几个 IDEA,调试的骚操作,用了都说爽!
- Golang GinWeb框架-快速入门/参数解析
- 代码不止 | 2020 Google 开发者大会亮点回顾
- Chrome 87新特性解读,多年来Chrome性能最大提升!
- 代码不止|Google 带你感受科技带来的无限可能
- 这些开源项目,让你轻松应对十大工作场景
- Kubernetes资源清单篇:如何创建资源?
- 机器人流程自动化(RPA)和业务流程管理(BPM)如何结合在一起?
- 聊聊代码的保养
- 在中国,程序员这行能干一辈子吗?
- 与10倍开发者共事两年,我学到了不一样的东西
- GitHub终于修复了Google Project Zero 报告的高危安全漏洞
- 广告收入提升超 50%,快手如何在海外“异军突起”
- 代码不止|想制胜海外市场?Google 来帮你!
- 程序员用AI算法生成了3000个新的宝可梦
- 12306系统深度优化之预扣库存,异步下单,MySQL高可用
- GitHub CEO霸气回应:「千年数字版权法」不适用,把youtube-dl还给开发者!
- 【编译篇】AST实现函数错误的自动上报
- 短 URL 服务的设计以及实现
- Docker容器的三种创建运行方式,一个比一个好用