新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89C52的液晶顯示的實現

        基于AT89C52的液晶顯示的實現

        作者: 時間:2009-04-23 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/173772.htm

        隨著應用領域的不斷擴大,用控制漢字顯示已成為一種發展的必然趨勢。以前那種將漢字點陣編碼存入ROM ,在顯示時再調用的方法已經不能適應當前的需求。好的應用所能顯示的決不能僅僅局限于顯示事先定義好的個別漢字,而應該提供直接使用至少包含國家標準的一、二級漢字字庫的功能。

        2 芯片器件介紹

        2.1 單片機
        單片機是EPROM型單片機,可尋址64KB字節的程序存儲器和64KB字節的外部數據存儲器。
        以單片機為核心,配以一定的外圍電路和軟件,某些功能,就組成了單片機應用系統。
        2.2 顯示模塊
        我們選用北京精電蓬遠公司的VPG12864T顯示模塊,內置T6963C控制器,了T6963C與行、列驅動器及顯示緩沖區RAM的接口,帶有LED邊光/底光,溫度范圍較廣,屬寬溫型,無須外部提供驅動電壓,點陣數為128×64,支持圖形、文本以及圖文合成方式的三顯示方式,且T6963C帶有內部字符集。
        液晶模塊與微處理器MPU的接口電路有兩種方式:一是直接訪問方式,將數據口P0直接與液晶模塊的數據口連接;二是采用間接控制方式,MPU通過I/O并行接口,模擬液晶模塊的時序,間接模塊的控制。本文討論的實現方法采用第一種方式。
        2.3 字庫芯片
        字庫芯片采用具有256K空間的可編程ROM芯片都可以,我們采用了ATMEL公司的AT27C020芯片,其中燒錄含有國家標準的一、二級漢字的16×16點陣字庫。
        漢字點陣在字庫中的首地址由如下公式計算:
        起始地址=[(區號-1)×94+(位號-1)]×32
        自此起始地址起的后續32個字節就是該漢字的字模數據。從字庫芯片中的32個字節的字模數據按下表排列構成漢字:

        其中,漢字由兩字節ASCII碼組成,分別減去0xA0即得到該漢字的區號和位號。這樣就可以直接由漢字的ASCII碼來計算該漢字在字庫中的地址:
        起始地址=[(第一字節-0xA1)×94+(第二字節-0xA1)]×32
        由于AT89C52最大尋址64K空間,所以在實現時將AT27C020分成多頁,每頁的空間不大于64KB,頁號通過譯碼器的有效輸出或其他擴展方式確定。

        3 硬件線路設計

        AT89C52與字庫芯片AT27C020及液晶顯示模塊VPG12864T的接口邏輯如圖1所示:

        圖2 硬件邏輯接口


        由于AT89C52的最大尋址空間為64K,而AT27C020的空間為256K,因而要對尋址進行擴展。地址擴展的方式有兩種,一種是利用MPU的IO口進行擴展,AT27C020的低16位地址直接與MPU的地址線相連,而高2位則需進行地址擴展,上圖中AT27C020的A16和A17分別接到AT89C52的P1.6和P1.7,片選信號CE接到P1.5上,此時尋址的頁大小為64KB(頁大小還可以根據需要設置為32KB,16KB等)。尋址由軟件編程來實現,例如要讀38400H單元的內容,可由下列程序實現:


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安丘市| 深水埗区| 余江县| 贵南县| 安阳市| 漠河县| 祁阳县| 郁南县| 工布江达县| 祁东县| 博客| 万荣县| 德化县| 盈江县| 苗栗市| 应用必备| 呼和浩特市| 电白县| 方城县| 云和县| 肥乡县| 尼玛县| 神农架林区| 鹤山市| 常熟市| 津南区| 古丈县| 满城县| 罗平县| 昆山市| 五指山市| 苏尼特右旗| 桓仁| 长岭县| 蕉岭县| 白玉县| 乌鲁木齐市| 丹阳市| 华容县| 阳朔县| 利川市|