新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 利用LabVIEW產生字模的LED顯示屏設計

        利用LabVIEW產生字模的LED顯示屏設計

        作者: 時間:2012-11-03 來源:網絡 收藏

          .文中介紹了一種直接利用 LabV I EW 的圖片處理功能自動生成字符點陣的方法,利用該程序無需使用專門的字庫可自動得到各種字符的點陣,然后將顯示信息通過串行傳輸方式發送到單片機,通過單片機驅動相應的二極管發光,顯示信息。硬件由計算機、單片機、驅動電路和 顯示屏構成,結構如圖 1所示。

        總體結構框圖

        圖 1總體結構框圖。

          1. 基于 LabV I EW 的漢字字模的提取

          1.1. 基于 LabV IEW 的漢字字模的提取方法

          現在比較流行的方法是基于漢字字符的編碼方式形成字模。

          漢字機內碼與區位碼的關系為:

          區位碼=機內碼- 160(1)

          對于 16*16點陣字庫,每個漢字占用 32 b i t 其首字節的起始位置的計算公式為:

          首字節= [ (區碼- 1)*94+位碼- 1]*32 ( 2)

          以此為基點連續讀取 32 b i t就是此漢字的點陣字模。在 LabV IEW 編程中基本流程為: 以字符串形式輸入一個漢字,按照上述運算規則找出漢字字模首字節在漢字庫文件HZK16中的位置,從 HZ K 16中以首地址開始連續讀取 32 b i t的數據,這樣就得到了一個容量為 32的數組,即輸入漢字的點陣字模。然后再按照下位機的構建運用數組的算術運算控件對數組修改,將最終結果通過串口發送給單片機,以進行顯示。

          本系統利用 LabV I EW 的圖片處理功能生成字模,包括漢字、數字、英文以及各種特殊符號等等,提高工作效率和靈活性。

          1.2. 利用 LabV I EW 的圖片處理功能生成字模的設計

          首先設置一個白色的按鈕,通過屬性節點,把輸入的字符作為這個按鈕的文本顯示。在通過調用節點,獲取這個布爾的圖像數據。將圖像數據轉化為 8位像素矩陣。同樣的方法獲得一個同樣大小但沒有布爾文本的純白色按鈕的像素矩陣。將 2個矩陣做異或比較。

          得到一個二維布爾矩陣,直接輸出這個矩陣就得到了該字符的點陣。生成字符矩陣框圖程序如圖 2所示。

        生成字符矩陣程序

          采用比較的方法獲得點陣,因此可以采用這種方法在同一系統中產生數字、漢字、英文或各種特殊符號的字模點陣,簡化了編程過程,使用方便靈活。

          由于 LabV IEW 有很強的格式轉化功能,將生成的點陣按照下位機的驅動方式運用其中數組的運算控件對點陣進行修改,得到符合要求的字符串。程序框圖,如圖 3所示。圖中的字模 1為用于上位機顯示的字符串形式,字模 2為用于串口通信的字符串形式。

        修改點陣的程序

          LabV IEW 中用于串行通訊的節點實際上是 V IS節點,為了方便用戶使用,LabV IEW 將這些節點單獨組成 1個子模板,共包含 6個節點。字模 2通過LabV IEW 的控件 V I SA與單片機的串口進行傳輸。

          LabV IEW 本身也具有寫入電子表格文件功能可以將生成的字模儲存為任意格式的文件,相當于一個字模提取軟件,用于普通 。最終的字模提取操作界面即前面板如圖 4所示。

        字模提取操作界面

        圖 4. 字模提取操作界面。

          2. 單片機控制電路設計

          顯示屏的設計采用以 AT89C51單片機為核心芯片的電路來實現,主要由 AT89C51芯片、時鐘電路、復位電路、列掃描驅動電路 74 HC154、1616 LED點陣等部分組成,電路圖如圖 5所示。

        硬件電路原理圖

        圖 5 硬件電路原理圖。

          本設計所使用的 16*16 LED矩陣是由 4塊 8*8LED共陽極矩陣拼接組成。

          把行列總線接在單片機 I /O口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。但是若將 LED 點陣的行列端口全部直接接入AT89C51單片機,則需要使用 32條 I /O 口,這樣會造成 I/O資源的耗盡,系統也再無擴充的余地。

          因此,在實際應用中只將 LED點陣的 16條行線直接接在 P0 口和 P2 口,至于列選掃描信號則是由 4~ 16線譯碼器 74HC154來選擇控制,這樣列選控制只使用了單片機的 4個 I /O口,節約了 I /O資源,為單片機系統擴充使用功能提供了條件。由于 P0口做通用數據 I/O端口驅動負載時,必須外接上拉電阻,因此使用 4.7 k. 排電阻作為 P0 口的上拉電阻。

          單片機上電后由于沒有事先存儲字模而處于黑屏等待狀態,當接收到串口傳來的字模數據后,單片機按照設定的程序在P 0和P 2接口輸出漢字對應的代碼電平送至 LED 點陣的行選線,同時在 P1.1,P1.2,P1.3,P1.4接口輸出列選掃描信號,從而選中相應的LED發光,并利用人眼的視覺暫留特性合成整個漢字的顯示。

          3. 控制系統的軟件設計

          軟件程序主要由初始化、主程序、中斷程序等構成,采用匯編語言編寫。主程序用于 LED顯示,程序流程如圖 6所示。中斷程序主要用于接收上位機傳送的字模信息,由于 LabV I EW 和下位機傳遞的數據是 ASC II形式的,需要轉換為 16進制數,具體程序流程如圖 7所示。采用中斷的方式接收數據可以提高數據傳輸的時效性。

        主程序流程圖
        中斷程序流程圖

          4. 結束語

          設計研究的基于 LabV IEW 和單片機結合控制的LED電子屏幕。采用 LabV I EW 編程方法產生字模,通過串口傳遞給單片機,簡化了編程、節省了單片機程序運行的時間,且可實現動態輸入,也可根據需要隨時修改所需顯示的內容,具有較高的實用價值。

          雖然本設計只使用了一塊 16*16 LED點陣,電路簡單,但是包涵了 LED顯示屏的電路基本原理和基本編程思想,如要進行擴展,只需擴展單片機的I/O接口,增加一些 LED點陣和相關芯片,就能設計出更大面積、更多花樣的 LED顯示屏。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淳安县| 汉沽区| 上虞市| 湖北省| 沅陵县| 浦城县| 拉萨市| 施甸县| 怀柔区| 长汀县| 垦利县| 来凤县| 皋兰县| 黔西县| 高台县| 扶风县| 彰化县| 玉溪市| 双峰县| 滨海县| 平遥县| 柯坪县| 沂水县| 本溪市| 武威市| 文昌市| 都昌县| 葵青区| 饶平县| 灵石县| 华亭县| 临汾市| 淄博市| 小金县| 奇台县| 车致| 庆安县| 克山县| 无棣县| 吉安市| 鄂伦春自治旗|