STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

好了,在上一个教程中我们已经成功的显示了0,但是方法是不可取的。我们说到程序里面的列其实是有归一性质的。今天我们就来详细的看这个。

就写这个0:

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

第 0 页第 0 列为 0x7e, 第 0 页第 1列为 0x81, 第 0 页第 2 列为 0x81, 第 0 页第 3 列为 0x81, 第 0 页第 4 列为 0x7e。

看一下我们上一个教程里面写的比较low的程序:

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

我们注意到, 程序里面的列其实是规律的, 即列地址高四位右移 4 位后, 与“0x10” 相与, 就可以将列地址高四位写入, 而将列地址的高四位清 0 之后, 即可以将列地址的低四位写入。

包装函数

  • 先将“0” 这个字符需要现实的内容数据存储在一个数组里面, 我们把它称作为“0” 这个字体的字模。 我们可以用如下的数组表示。u8 num0[5] = {0x7e, 0x81, 0x81, 0x81, 0x7e};

  • 然后在写入的时候, 我们需要一个函数, 可以实现在指定的页和指定的列上面进行显示

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

将这个数字放大, 那我们该怎么做呢?

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

怎么写一个这呢?

在这里, 我们首先肯定像之前一样写数据是不可能了, 因为这个显示的字符比较庞大。 那在这里, 我们肯定不会对它一个点一个点地手动取模了, 我们就必须借助软件了, 即使用“字模提取 ”软件 。 需要这个软件的可以关注我,私信发送“字模提取”4个字获取该软件。

当然你也可以在网上自己下载了,类似的软件有很多的。

我用的这个软件界面如下:

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

字模软件的使用

  • 点击“新建图像”

  • 设置你需要的字符尺寸,注意这里你所需要设置的宽度和高度指的是像素点, 以上图里面的数字“1” 为例, 我们需要设置宽度为“6”,高度为“19” ;

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

  • 然后就会生成如下所示的界面。 我们在这里可以放大图的格点, 只要点击图 中所示的选项即可进行放大

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

  • 按照图中所示的1的格点进行取模了, 只需要单击相应的格点, 即可实现描出黑色的部分。

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

  • 接着, 点击图中所示的取模方式, 我们将其设置成 C 语言, 就可以看到相应的字符数组了。

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

由于这个字符是横跨 3 页, 因此在写入的时候, 应先写第 0 页的 6 列, 再写入第 1 页的 6 列, 最后写入第 2 页的 6 列。 我们观察一下这个数组, 一共有 18个字节, 正好对应我们上述的逻辑顺序。

好了,我们来看最终的代码:

STM32|点阵液晶字符型 UI的显示及其字模软件工具的使用

以此类推, 我们可以将所有需要的 0~9 写在一个二维数组里面, 第一维数组的元素代表某一个数字, 第二维数组的元素, 代表字模。 其实我们可以将所有ASCII 码的字符进行取模, 编排在一个二维数组里面。 具体的实现方法, 我们就不一一说明。

我自己也写好了很多字模以及显示函数, 需要的可以私信我。但是最好还是大家自己写了。


分享到:


相關文章: