葛耿育
(遵義師范學院信息工程學院,貴州遵義,563002)
基于STC89C52的LCD12864液晶串并行顯示設計
葛耿育
(遵義師范學院信息工程學院,貴州遵義,563002)
LCD12864顯示屏作為單片機教學和實驗中的經典模塊,可以顯示字符、數字、符號、漢字和圖形等內容,為了能在教學中闡述清楚串行和并行兩種操作顯示屏的方法,作者以帶字庫的12864液晶顯示屏為例,使用C語言編程STC89C52單片機控制串并行操作實現文字顯示,結果表明,兩者之間存在原理和實現的區別。
LCD12864;串行;并行;單片機
單片機的顯示模塊主要有LED燈、數碼管、點陣、1602液晶屏、12232液晶屏和12864液晶屏等,其中功能多、顯示效果好的是12864液晶屏。本文采用串、并行兩種方式實現了LCD12864顯示屏的字符顯示,用以輔助單片機的教學。
液晶是一種高分子材料,因其特殊的物理、化學、光學特性,20世紀中葉開始被廣泛應用在輕薄型顯示器上。液晶顯示器的主要原理是電流刺激液晶分子產生點、線、面并配合背部燈管構成畫面。12864液晶屏是由128列64行液晶顯示點組成的128*64陣列,可以通過程序控制這些點的亮滅。
本文選用QC12864B液晶顯示模塊,該模塊正面實物圖如圖1所示,背面實物圖如圖2所示。該液晶模塊采用ST7920控制器,5V電壓驅動,帶背光,帶中文字庫,內置8192個16*16點陣、128個8*16字符點陣以及64*256點陣顯示RAM。該模塊的引腳接口信號說明如表1所示,其中第4、第5、第6和第15引腳是復用型,當PSB引腳為高電平時,選擇并行方式,當PSB為低電平時,則選擇串行方式。

圖1 12864液晶正面

圖2 12864液晶背面

表1 12864液晶接口信號說明
目前常用的8位單片機有經典的51系列、PIC系列和AVR系列,國內大多采用基于51內核易于學習和開發使用的南通國芯微電子有限公司的宏晶(STC)芯片。STC89C52是該公司生產的一種低功耗、高性能 CMOS的8位微控制器,采用經典的MCS-51內核,具有8KB的在系統(ISP)可編程FLASH存儲器、256B的RAM、32位I/O口線、2個數據指針、3個16位定時器/計數器、1個6向量2級終端結構、全雙工串行口、片內晶振及時鐘電路[1-3]。該款芯片的正面實物圖如圖3所示。

圖3 STC89C52芯片實物圖
當12864液晶屏使用并行方式實現圖形和字符顯示時,必須同時使用幾個控制引腳和8個數據傳輸接口,即同一時刻可以并行傳輸8位二進制數據,此時編號為15的PSB引腳必須是高電平,可以直接接在VCC引腳上。假設8個數據口D0-D7分別與51單片機的P0^0-P0^7引腳連接,使能端E引腳接P1^0,RS端接P1^1,顯示內容為“遵義師范學院計科系物聯網工程專業加油!”,則實現程序為:


當12864液晶屏使用串行方式實現圖形和字符顯示時,PSB引腳必須是低電平,可以接GND。此時,假設CS引腳接51單片機的P2^0,SID接P2^1,SCLK接P2^2,則實現以上的字體顯示,需要改動部分程序,具體如下:


本文選用QC12864B和STC89C52模塊,使用C語言編寫全部代碼,并加以注釋,調試編譯后,將編譯好的.hex格式程序文件燒寫到單片機的ROM芯片內,復位后運行效果如圖4所示。從顯示結果可以看出,串并行只是傳輸數據的寬度不同、編程時的代碼內容有所區別,顯示的文字是完全相同的。本設計對學生實驗起到了良好、直觀的教學示范效果。

圖4 顯示效果圖
[1]張毅剛.單片機原理及接口技術(C51編程)[M].北京:人民郵電出版,2011.
[2]郭天祥.51單片機C語言教程[M].北京:電子工業出版社, 2010.
[3]彭偉.單片機C語言程序設計實訓100例[M].北京:電子工業出版社,2010.
[4]湯澤容.基于MCS-51單片機的液晶12864顯示設計[J].湖南農機,2014,(11):54.
[5]薛大為,楊春蘭.基于ST7920控制器的中小尺寸液晶顯示的實現[J].電子世界,2013,(19):65.
(責任編輯:朱彬)
Serial and Parallel Design of LCD12864 Display Based on STC89C52
GE Geng-yu
(School of information engineering,Zunyi Normal College,Zunyi 563002,China)
As a classic teaching and experimental module in microcontroller area,LCD12864 can display characters,Arabic numbers, symbols,characters and graphics.In order to explain the operation of it using both serial and parallel methods,this paper takes example of LCD12864 with characters,using C programming language and STC89C52 to control it displaying with serial and parallel methods. The results show differences in principle and implementation between two methods.
LCD12864;serial;parallel;microcontroller
TP368
A
1009-3583(2016)-0098-04
2016-06-15
遵義師范學院校級教學研究項目(15-04)
葛耿育,男,安徽合肥人,遵義師范學院信息工程學院講師,碩士。研究方向:嵌入式系統應用。