新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AT89C52的液晶顯示的實現(xiàn)

        基于AT89C52的液晶顯示的實現(xiàn)

        作者: 時間:2009-04-23 來源:網(wǎng)絡 收藏

        此種方法起來簡單明了,不需額外的硬件,缺點是占用MPU的IO資源較多,適用于IO資源有富余的情況。在筆者的應用中,MPU的IO需要余留給其他應用,不能分配這么多的IO來,故采用另外一種方法,由硬件邏輯,見圖3:

        本例中的頁大小為32KB。AT27C020的片選信號CS1由地址線A15產(chǎn)生(即A15連到片選信號CE上),如要讀38400H單元的內(nèi)容,先由程序產(chǎn)生高位地址AA17、AA16、AA15。對字庫芯片尋址時,先產(chǎn)生頁地址,再進行頁內(nèi)尋址,利用此種方法可進行多位地址的擴展。舉例如下:

        4 軟件的與控制

        VPG12864T模塊的系統(tǒng)指令集其實就是T6963C控制器的指令集,模塊的初始化設置一般都由管腳設置完成。T6963C的指令可帶一個或兩個參數(shù),或無參數(shù)。每條指令的執(zhí)行都是先送入?yún)?shù),再送入指令代碼,且每次操作之前要進行狀態(tài)字檢測。T6963C的狀態(tài)字如下說明。在處理顯示操作時,首先要指定字符串、文字段的有效顯示位置。

        STA0:指令讀寫狀態(tài)
        STA1:數(shù)據(jù)讀寫狀態(tài)
        STA2:數(shù)據(jù)自動寫狀態(tài)
        STA3:數(shù)據(jù)自動讀狀態(tài)
        STA5:讀/寫出錯狀態(tài)
        STA6:運行控制器檢測
        STA7:閃爍狀態(tài)檢測
        另外STA4保留.
        4.1 顯示字符
        VPG12864T模塊字符的顯示有兩種實現(xiàn)方式,一是利用T6963C提供的字符集,另一種方法是將字符的點陣數(shù)據(jù)存放在ROM內(nèi),需要時以圖形方式顯示。當電路驅(qū)動能力不夠時,可以采用第二種方式。字符顯示相對比較簡單,在這里不做詳細描敘。
        4.2 顯示漢字
        處理漢字顯示時,由于VPG12864T模塊是128×64點陣的,所以顯示16×16點陣的漢字一行最多顯示8個,且最多顯示4行。對于每一個漢字的顯示,首先應該計算該漢字在字庫中的地址,然后讀出該漢字的點陣排列。當顯示至一行的末尾時要換行顯示。在處理漢字顯示時有兩種方法:一是一次只顯示一個漢字,即對于每一個漢字,先計算出此漢字地址,讀出其點陣數(shù)據(jù),顯示完畢再處理下一個漢字,直到處理完所有的漢字;第二種方法是將所要顯示的所有漢字的點陣數(shù)據(jù)從字庫中讀出存放外部RAM中,再集中處理顯示的問題。本文討論的是后一種方法。
        字符半角碼與全角碼有如下的對應關(guān)系:

        半角字符對應的全角字符的起始地址的計算公式:
        起始地址=[(2×94+(ASCII-0x21))×32
        漢字顯示處理的流程如下(用“#”作為顯示漢字段的結(jié)束標志):

        在處理漢字顯示時,如果要實現(xiàn)漢字的反顯(例如實現(xiàn)菜單操作),將漢字的32字節(jié)字模數(shù)據(jù)分別與0xFF異或(XRL)運算,或者取反(CPL)運算后再顯示即可。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 禄劝| 成武县| 赫章县| 珲春市| 佳木斯市| 邵武市| 迁西县| 柘荣县| 永嘉县| 广宁县| 广灵县| 钦州市| 吐鲁番市| 沙洋县| 昭通市| 昌黎县| 呼和浩特市| 乌什县| 阳原县| 孟村| 永昌县| 杭锦旗| 平安县| 西贡区| 大关县| 玉山县| 彰武县| 康定县| 灵宝市| 绥中县| 兴仁县| 沙河市| 景洪市| 泰来县| 清新县| 涿州市| 奉化市| 安吉县| 郯城县| 韶山市| 巫山县|