新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LCD顯示器與PIC單片機的接口設計

        LCD顯示器與PIC單片機的接口設計

        作者: 時間:2011-12-14 來源:網絡 收藏

        SED1520的指令的解釋和執行不依賴外部時鐘,而是由內部時鐘同步的,所以它的指令執行的速度很快,一般不需要檢測SED1520是否忙。由于16F874的I/O口是輸出或輸入要對相應寄存器進行設置[3],如圖2,16F874的RD口在向SED1520寫數據時要被設置成輸出口,而讀數據時又要被設置成輸入口,為了精減程序和提高速度,我們可以不用讀SED1520的狀態,直接向其寫數據。這樣SED1520的RD腳直接接高電平,16F874的RC3腳也可省下留作它用。

        3具體編程實例

        在具體的實際應用中,我們經常要顯示漢字,一般漢字的字模如圖4,字節內部的8個位是橫排的,而對于SED1520,字節的8個位要豎排,即每個字符要跨8行顯示,需要按圖5顯示漢字

        67.jpg

        那么要將字模的各字節按位進行如下計算:將標準字模的字節組1的8個字節的bit7組合起來就成為SED1520漢字字模的字節1,bit6組合起來就成為SED1520漢字字模的字節2,依此類推,就可計算出SED1520漢字字模的32個字節,顯示時,先確定字節1的位置(頁地址與列地址),然后連續顯示字節1~字節16,再頁地址加1,列地址為字節1的列地址,設置好后送字節17~字節32即完一成個漢字顯示。我們將以12232為例介紹液晶模塊的使用方法,12232內置2個SED1520,通過片選來訪問不同的SED1520,它可顯示4行(對應0~3頁地址),每行可顯示122個字符,前61個字符對應左邊SED1520,后61個字符對應右邊SED1520,列地址0~60對應這61個字符的位置,列地址61~79沒有使用。對SED1520初始化的程序流程圖如圖3。清屏是將所有的顯示RAM內的數據置0,初始化后,要具體在某個位置顯示字符需要設置對應的頁地址(行)和列地址,然后向SED1520寫數據即可。以下為顯示部分初始化程序流程圖。

        68.jpg

        4 結束語

        SED1520是一款性能價格比很高的驅動芯片,將它與單片微機可用于各類儀表,具有硬件省、功耗低、軟件程序簡潔等特點。該已成功應用于電動汽車電量管理的顯示,證明該穩定可靠。

        本文作者創新點:在對控制器寫數據前一般都要先讀它是否忙,以免寫數據失敗,而PIC的I/O口在讀與寫的功能轉換中要不停地更改該口的設置,這樣程序就很繁瑣,還有可能導致系統不穩定。作者在通過實際與應用后,對控制器省去了讀狀態檢測,根據SED1520的數據手冊中介紹的讀寫時序,進行適當延時,這樣精減了程序還省下了在系統設計中比較寶貴的I/O口,而且系統一直穩定。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长泰县| 蕉岭县| 怀柔区| 阳原县| 绥江县| 兰溪市| 赞皇县| 涟源市| 深州市| 阳东县| 开封县| 麻城市| 西和县| 尚志市| 绥阳县| 台山市| 桐柏县| 犍为县| 黔江区| 綦江县| 鹤山市| 天长市| 通州区| 汤阴县| 应用必备| 昂仁县| 泌阳县| 罗源县| 东宁县| 紫阳县| 福清市| 金阳县| 庆阳市| 蓝山县| 娱乐| 肥城市| 腾冲县| 荔波县| 巴青县| 千阳县| 叙永县|