基于AT89C52的液晶顯示的實現
1 引言
本文引用地址:http://m.butianyuan.cn/article/173772.htm隨著單片機應用領域的不斷擴大,用單片機控制漢字顯示已成為一種單片機發(fā)展的必然趨勢。以前那種將漢字點陣編碼存入ROM ,在顯示時再調用的方法已經不能適應當前的需求。好的應用所能顯示的決不能僅僅局限于顯示事先定義好的個別漢字,而應該提供直接使用至少包含國家標準的一、二級漢字字庫的功能。
2 芯片器件介紹
2.1 AT89C52單片機
AT89C52單片機是EPROM型單片機,可尋址64KB字節(jié)的程序存儲器和64KB字節(jié)的外部數據存儲器。
以單片機為核心,配以一定的外圍電路和軟件,實現某些功能,就組成了單片機應用系統(tǒng)。
2.2 液晶顯示模塊
我們選用北京精電蓬遠公司的VPG12864T液晶顯示模塊,內置T6963C控制器,實現了T6963C與行、列驅動器及顯示緩沖區(qū)RAM的接口,帶有LED邊光/底光,溫度范圍較廣,屬寬溫型,無須外部提供液晶驅動電壓,點陣數為128×64,支持圖形、文本以及圖文合成方式的三顯示方式,且T6963C帶有內部字符集。
液晶模塊與微處理器MPU的接口電路有兩種方式:一是直接訪問方式,將AT89C52數據口P0直接與液晶模塊的數據口連接;二是采用間接控制方式,MPU通過I/O并行接口,模擬液晶模塊的時序,間接實現對液晶顯示模塊的控制。本文討論的實現方法采用第一種方式。
2.3 字庫芯片
字庫芯片采用具有256K空間的可編程ROM芯片都可以,我們采用了ATMEL公司的AT27C020芯片,其中燒錄含有國家標準的一、二級漢字的16×16點陣字庫。
漢字點陣在字庫中的首地址由如下公式計算:
起始地址=[(區(qū)號-1)×94+(位號-1)]×32
自此起始地址起的后續(xù)32個字節(jié)就是該漢字的字模數據。從字庫芯片中的32個字節(jié)的字模數據按下表排列構成漢字:
其中,漢字由兩字節(jié)ASCII碼組成,分別減去0xA0即得到該漢字的區(qū)號和位號。這樣就可以直接由漢字的ASCII碼來計算該漢字在字庫中的地址:
起始地址=[(第一字節(jié)-0xA1)×94+(第二字節(jié)-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單元的內容,可由下列程序實現:
評論