摘 要 針對實際應用設計出一種基于 LabVIEW 與單片機控制的 LED漢字顯示屏, 特點是通過在 LabV IEW 中進
行圖像信息掃描的方式, 得到任意漢字的字模, 然后經串口傳遞給單片機控制顯示漢字。該方法字模由上位機生成, 省去了字模庫, 簡化了顯示過程, 實用性強。
關鍵詞 LabV IEW; 單片機; LED顯示
文中介紹了一種直接利用 LabV IEW 的圖片處理
功能自動生成字符點陣的方法, 利用該程序無需使用
專門的字庫可自動得到各種字符的點陣, 然后將顯示
信息通過串行傳輸方式發送到單片機, 通過單片機驅
動相應的二極管發光, 顯示信息。硬件由計算機、單
片機、驅動電路和 LED 顯示屏構成, 結構如圖 1 所示 [ 1]。
1 基于 LabV IEW 的漢字字模的提取
11 基于 LabV IEW 的漢字字模的提取方法
現在比較流行的方法是基于漢字字符的編碼方式 形成字模。
漢字機內碼與區位碼的關系為 [ 2 ] 區位碼 = 機內碼 - 160 ( 1)
對于 16 16點陣字庫, 每個漢字占用 32 b
i,t 其
首字節的起始位置的計算公式為
首字節 = [ (區碼 - 1) 94+ 位碼 - 1] 32 ( 2)
以此為基點連續讀取 32
b it就是此漢字的點陣字
模。在 LabV IEW 編程中基本流程為: 以字符串形式
輸入一個漢字, 按照上述運算規則找出漢字字模首字
節在漢字庫文件 HZK16中的位置, 從 HZK 16中以首
地址開始連續讀取 32 b it的數據, 這樣就得到了一個
容量為 32的數組, 即輸入漢字的點陣字模。然后再
按照下位機的構建運用數組的算術運算控件對數組修
改, 將最終結果通過串口發送給單片機, 以進行
顯示 [ 1]。
本系統利用 LabV IEW 的圖片處理功能生成字模, 包括漢字、數字、英文以及各種特殊符號等等, 提高
工作效率和靈活性。
12 利用 LabV IEW 的圖片處理功能生成字模的設計
首先設置一個白色的按鈕, 通過屬性節點, 把輸 入的字符作為這個按鈕的文本顯示。在通過調用節點, 獲取這個布爾的圖像數據。將圖像數據轉化為 8位像
素矩陣。同樣的方法獲得一個同樣大小但沒有布爾文
本的純白色按鈕的像素矩陣。將 2個矩陣做異或比較。
得到一個二維布爾矩陣, 直接輸出這個矩陣就得到了
該字符的點陣。生成字符矩陣框圖程序如圖 2 所示。采用比較的方法獲得點陣, 因此可以采用這種方法在
同一系統中產生數字、漢字、英文或各種特殊符號的
字模點陣, 簡化了編程過程, 使用方便靈活 [ 3]。
由于 LabV IEW 有很強的格式轉化功能, 將生成 的點陣按照下位機的驅動方式運用其中數組的運算控 件對點陣進行修改, 得到符合要求的字符串。程序框圖, 如圖 3所示。圖中的字模 1為用于上位機顯示的
字符串形式, 字模 2為用于串口通信的字符串形式。
LabV IEW 中用于串行通訊的節點實際上是 V ISA 節點, 為了方便用戶使用, LabV IEW 將這些節點單
獨組成 1 個子模板, 共包含 6 個節點。字模 2通過 LabV IEW 的控件 V ISA 與單片機的串口進行傳輸
LabV IEW 本身也具有寫入電子表格文件功能, 可以將生成的字模儲存為任意格式的文件, 相當于一
個字模提取軟件, 用于普通 LED 顯示屏設計。最終
的字模提取操作界面即前面板如圖 4所示。
2 單片機控制電路設計
LED 顯示屏的設計采用以 AT89C51單片機為核
心芯片的電路來實現, 主要由 AT89C51 芯片、時鐘
電路、復位電路、列掃描驅動電路 74HC154 、 16 16 LED 點陣等部分組成, 電路圖如圖 5所示 [ 4]。
本設計所使用的 16 16
LED 矩陣是由 4塊 8 8 LED共陽極矩陣拼接組成。
把行列總線接在單片機 I/O 口, 然后把上面分
析到的掃描代碼送入總線, 就可以得到顯示的漢字
了。但是若將 LED 點陣的行列端口全部直接接入 AT89C51單片機, 則需要使用 32 條 I/O 口, 這樣
會造成 I/O 資源的耗盡, 系統也再無擴充的余地。
因此, 在實際應用中只將 LED 點陣的 16條行線直
接接在 P0 口和 P2 口, 至于列選掃描信號則是由 4 ~ 16線譯碼器 74HC154 來選擇控制, 這樣列選控
制只使用了單片機的 4個 I/O 口, 節約了 I/O 資源, 為單片機系統擴充使用功能提供了條件 [ 3 ]。由于 P0 口做通用數據 I/O 端口驅動負載時, 必須外接上拉
電阻, 因此使用 47 k 排電阻作為 P0 口的上拉
電阻 [ 4]。
單片機上電后由于沒有事先存儲字模而處于黑屏 等待狀態, 當接收到串口傳來的字模數據后, 單片機
按照設定的程序在 P 0 和 P 2 接口輸出漢字對應的代碼
電平送至 LED 點陣的行選線, 同時在 P11, P12, P13, P14接口輸出列選掃描信號, 從而選中相應的 LED發光, 并利用人眼的視覺暫留特性合成整個漢字
的顯示。
3 控制系統的軟件設計
軟件程序主要由初始化、主程序、中斷程序等構 成, 采用匯編語言編寫。主程序用于 LED 顯示, 程
序流程如圖 6所示。中斷程序主要用于接收上位機傳
送的字模信息, 由于 LabV IEW 和下位機傳遞的數據
是 ASC II形式的, 需要轉換為 16進制數, 具體程序
流程如圖 7所示。采用中斷的方式接收數據可以提高
數據傳輸的時效性。
4 結束語
設計研究的基于 LabV
IEW 和單片機結合控制的 LED電子屏幕。采用 LabV IEW 編程方法產生字模, 通過串口傳遞給單片機, 簡化了編程、節省了單片
機程序運行的時間, 且可實現動態輸入, 也可根據
需要隨時修改所需顯示的內容, 具有較高的實用
價值。
雖然本設計只使用了一塊 16 16 LED點陣, 電
路簡單, 但是包涵了 LED 顯示屏的電路基本原理和
基本編程思想, 如要進行擴展, 只需擴展單片機的 I/O接口, 增加一些 LED點陣和相關芯片, 就能設計
出更大面積、更多花樣的 LED 顯示屏。