VGA显示文字

  1. VGA字符显示的原理

把要显示的字符转换成字符点阵,然后编码存储,着色的部分为1,其它为0.然后在VGA上输出显示。

字符点阵生成软件:

https://www.zhetao.com/fontarray.html

这里一个字符为32*32bit,字符点阵如下图:

字符编码存到内存里的代码如下:

//char dot reg

reg [159:0] char [31:0]; //5 char 32*32*5

//字符“电子实验室”

always@(posedge clk)

begin

char[0]     <=  160'h0000000000000000000000000000000000000000;

char[1]     <=  160'h0000000000000000000000000000000000000000;

char[2]     <=  160'h00038000000000000007800000001e0000078000;

char[3]     <=  160'h0003c000000001e00003c00000781f000007c000;

char[4]     <=  160'h0003800007fffff00003e0007ff81e000003c000;

char[5]     <=  160'h00038000078003f00001e00038783e000e01c030;

char[6]     <=  160'h00038000000007e00e01e0000c703f000e01c038;

char[7]     <=  160'h0e0381e000000f800e01c03c0f707b800ffffffc;

char[8]     <=  160'h0fffffe000003e000ffffffc0f7073801e00007c;

char[9]     <=  160'h0f0381e0000378000e00e03e1e70f3c01e0003f0;

char[10]     <=  160'h0f0381c00003f0001e70f8781ef1e1e03e0007e0;

char[11]     <=  160'h0f0381c00003e0003e7cf0f01cf1c0f03fffffe0;

char[12]     <=  160'h0f0381c00003e0003c3ef0e01ce380fc038f8000;

char[13]     <=  160'h0f0381c00003c038181ef0001ce701fe001f1c00;

char[14]     <=  160'h0fffffc00003c07c000ef0001ceffffc003c0f00;

char[15]     <=  160'h0f0381c07ffffffe0780f0001cfdc01800780780;

char[16]     <=  160'h0f0381c07803c00003e0e0003ffc007001f003c0;

char[17]     <=  160'h0f0381c00003c00001f0e0003c3f307803ffffe0;

char[18]     <=  160'h0f0381c00003c00000f0e038003bb87803fffde0;

char[19]     <=  160'h0f0381c00003c0000071e07c003bbcf001e381c0;

char[20]     <=  160'h0f0381c00003c0007ffffffe00f9dcf00003e0c0;

char[21]     <=  160'h0fffffc00003c0003801e0001ff9dee00003c180;

char[22]     <=  160'h0f0381d80003c0000003c000ff39fee00003c3c0;

char[23]     <=  160'h0f0381980003c0000003f8007839ffc007ffffe0;

char[24]     <=  160'h0e0380180003c0000007fe002079efc00383c000;

char[25]     <=  160'h000380180003c000000fbfc00079c1800003c000;

char[26]     <=  160'h0003801c0003c000001f0fe01c7003980003c000;

char[27]     <=  160'h0003801e007fc000007e03f01ff003bc0003c018;

char[28]     <=  160'h0003fffe007fc00001f801f003fffffe0003c03c;

char[29]     <=  160'h0003fffc000f80000fe000f001e700007ffffffe;

char[30]     <=  160'h00000000000700007f0000700000000038000000;

char[31]     <=  160'h0000000000000000000000000000000000000000;

end

  1. VGA显示内容布局

规划要显示的内容:

这里还是以1个block(16*16bit)为色块基本单位,字符显示范围行15~25(不包含25)block内,列8~10(不包含10)block内。下面三个色块布局类似。

在字符显示范围内,有效位置1:

  1. 总结

VGA字符显示,先规划字符大小,布局,利用字符点阵生成工具,然后限定显示范围,输出编码。其中,字符坐标要转换成像素坐标。字符正序显示,需要把坐标倒序处理。

参考:

https://mp.weixin.qq.com/s/WFioASjRQRj4KaSN1cCWkA

VGA显示文字的更多相关文章

  1. 实现password框中显示文字提示的方式

    其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就 ...

  2. Android 使用Font Awesome 显示文字图标

    Android 使用Font Awesome 显示文字图标 简单几步就可以完成 简单的效果图: 1. 创建 assets 文件夹 在Android Studio 上的创建步骤为: 在 src/main ...

  3. 根据html容器大小和显示文字多少调节字体大小

    在做html相关的东西的时候经常会遇到这样的问题,容器大小(长x宽)固定,容器包含内容(特指文字)多少不固定,这个时候就让人很苦恼了,将字体大小设置成多少才合适呢?下面看看我的解决思路: 首先要知道网 ...

  4. Qt中在图片上叠加显示文字

    Qt中在图片上叠加显示文字   QCustLabel::QCustLabel(QWidget *parent):QLabel(parent){ setPixmap(QPixmap(QString::f ...

  5. VmodCAM图像采集 VGA显示

    先上图 总体框图 效果图 效果不是很好,因为暂时用的是zedboard自带的VGA,其只能RGB只有3*3*3的彩色度 VmodCAM原理图 VmodCAM的zedboard管脚约束见:http:// ...

  6. 动态更新Toolbar Menu以及Menu中同时显示文字和图标

    动态更新Toolbar Menu以及Menu中同时显示文字和图标 我们经常会有这样的需求,在切换Fragment或者点击某个按钮后动态更新Toolbar上Menu项.但是onCreateOptions ...

  7. 解决TextView在显示文字的时候,一行还没显示满就跳到下一行

    转载请注明:转自 http://blog.csdn.NET/u011176685/article/details/48295185 一.问题描述: Android的TextView在显示文字的时候,如 ...

  8. ActionBar只显示图标不显示文字

    问题:ActionBar菜单项android:showAsAction设置为android:showAsAction="always|withText"或者android:show ...

  9. input 输入框获得/失去焦点时隐藏/显示文字(jquery版)

    input输入框在获得或失去焦点时隐藏或显示文字,这样的焦点效果想必很多朋友在填写form表格的时候都曾见识过吧,本文使用jquery实现以下,感兴趣的朋友可以参考下哈 大家可以看效果图的搜索输入框, ...

  10. vga显示彩条

    vga显示驱动程序可分为扫描行列和行列同步两个部分 //注意:只有在有效区域内给vga赋值才会有颜色变化 assign vga_b = isready ? vga_s[:] :'d0; assign ...

随机推荐

  1. vscode中vue代码提示插件

    由来 基于(Vue 3 Snippets,Vue VSCode Snippets)插件集成而来,因为这俩插件目前没有集成最新vue代码片段,且集成内容相对较少,于是这个插件就诞生了 插件提示跟vue写 ...

  2. docker部署Prometheus

    1.安装运行Prometheus 下面介绍如何使用Prometheus.Grafana.CAdvisor.node-exporter.mysqld-exporter对本机服务器性能.Docker容器. ...

  3. matlab学习系列

    matlab系列学习 1.学习缘由 本来已经学习过这个软件,了解了包括电路仿真在内的诸多功能,能够比较熟练地编写m文件和函数. 但是,在最近的依次练习中发现之前的许多操作都忘记了.有一些基本的语法都不 ...

  4. KingbaseES垃圾回收参数优化之maintenance_work_mem

    maintenance_work_mem 参数说明与vacuum过程 maintenance_work_mem , autovacuum_work_mem. 如果没有设置autovacuum_work ...

  5. 关于pwn题的栈平衡中ret的作用

    以nssctf里的where_is_my_shell为例 题目提供了一个system函数,和一个buf数组.数组的栈空间如图所示,这里不讨论怎么解题,只说明payload里的ret的作用. 假设没有r ...

  6. 小师妹学JavaIO之:文件读取那些事

    目录 简介 字符和字节 按字符读取的方式 按字节读取的方式 寻找出错的行数 总结 简介 小师妹最新对java IO中的reader和stream产生了一点点困惑,不知道到底该用哪一个才对,怎么读取文件 ...

  7. 初学STM32 SDIO (二)

    ​ SD命令由主机发出,以广播命令和寻址命令为例,广播命令是针对与SD主机总线连接的所有从设备发送的,寻址命令是指定某个地址设备进行命令传输. 1.SD命令格式 SD命令格式固定为48bit,都是通过 ...

  8. Linux获取摄像头VID,PID的两种方式

    第一种方式,是直接查询设备的vid.pid文件,来获取vid,pid 第二种方式,是查询设备信息,自己去解析对应的vid和pid 正常情况下,第一种方式就可以了,但是今天遇到一个ARM架构的kylin ...

  9. TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理

    1. 项目介绍    NVIDIA TensorRT 是一款用于高性能深度学习推理的 SDK,包括深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量.基于 NVIDIA TensorRT ...

  10. 如何巧妙应对iOS键盘难题?

    前言 写过移动端的同学或多或少都遇到过软键盘带来的各种各样的问题,最典型的就是输入框被软键盘遮挡.fixed元素失效等问题,并且这些问题在iOS上的表现让人难以接受. webview的差异 在移动端上 ...