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 碼的字符進行取模, 編排在一個二維數組裡面。 具體的實現方法, 我們就不一一說明。

我自己也寫好了很多字模以及顯示函數, 需要的可以私信我。但是最好還是大家自己寫了。


分享到:


相關文章: