葛耿育
(遵義師范學(xué)院信息工程學(xué)院,貴州遵義,563002)
基于STC89C52的LCD12864液晶串并行顯示設(shè)計
葛耿育
(遵義師范學(xué)院信息工程學(xué)院,貴州遵義,563002)
LCD12864顯示屏作為單片機(jī)教學(xué)和實驗中的經(jīng)典模塊,可以顯示字符、數(shù)字、符號、漢字和圖形等內(nèi)容,為了能在教學(xué)中闡述清楚串行和并行兩種操作顯示屏的方法,作者以帶字庫的12864液晶顯示屏為例,使用C語言編程STC89C52單片機(jī)控制串并行操作實現(xiàn)文字顯示,結(jié)果表明,兩者之間存在原理和實現(xiàn)的區(qū)別。
LCD12864;串行;并行;單片機(jī)
單片機(jī)的顯示模塊主要有LED燈、數(shù)碼管、點(diǎn)陣、1602液晶屏、12232液晶屏和12864液晶屏等,其中功能多、顯示效果好的是12864液晶屏。本文采用串、并行兩種方式實現(xiàn)了LCD12864顯示屏的字符顯示,用以輔助單片機(jī)的教學(xué)。
液晶是一種高分子材料,因其特殊的物理、化學(xué)、光學(xué)特性,20世紀(jì)中葉開始被廣泛應(yīng)用在輕薄型顯示器上。液晶顯示器的主要原理是電流刺激液晶分子產(chǎn)生點(diǎn)、線、面并配合背部燈管構(gòu)成畫面。12864液晶屏是由128列64行液晶顯示點(diǎn)組成的128*64陣列,可以通過程序控制這些點(diǎn)的亮滅。
本文選用QC12864B液晶顯示模塊,該模塊正面實物圖如圖1所示,背面實物圖如圖2所示。該液晶模塊采用ST7920控制器,5V電壓驅(qū)動,帶背光,帶中文字庫,內(nèi)置8192個16*16點(diǎn)陣、128個8*16字符點(diǎn)陣以及64*256點(diǎn)陣顯示RAM。該模塊的引腳接口信號說明如表1所示,其中第4、第5、第6和第15引腳是復(fù)用型,當(dāng)PSB引腳為高電平時,選擇并行方式,當(dāng)PSB為低電平時,則選擇串行方式。
圖1 12864液晶正面
圖2 12864液晶背面
表1 12864液晶接口信號說明
目前常用的8位單片機(jī)有經(jīng)典的51系列、PIC系列和AVR系列,國內(nèi)大多采用基于51內(nèi)核易于學(xué)習(xí)和開發(fā)使用的南通國芯微電子有限公司的宏晶(STC)芯片。STC89C52是該公司生產(chǎn)的一種低功耗、高性能 CMOS的8位微控制器,采用經(jīng)典的MCS-51內(nèi)核,具有8KB的在系統(tǒng)(ISP)可編程FLASH存儲器、256B的RAM、32位I/O口線、2個數(shù)據(jù)指針、3個16位定時器/計數(shù)器、1個6向量2級終端結(jié)構(gòu)、全雙工串行口、片內(nèi)晶振及時鐘電路[1-3]。該款芯片的正面實物圖如圖3所示。
圖3 STC89C52芯片實物圖
當(dāng)12864液晶屏使用并行方式實現(xiàn)圖形和字符顯示時,必須同時使用幾個控制引腳和8個數(shù)據(jù)傳輸接口,即同一時刻可以并行傳輸8位二進(jìn)制數(shù)據(jù),此時編號為15的PSB引腳必須是高電平,可以直接接在VCC引腳上。假設(shè)8個數(shù)據(jù)口D0-D7分別與51單片機(jī)的P0^0-P0^7引腳連接,使能端E引腳接P1^0,RS端接P1^1,顯示內(nèi)容為“遵義師范學(xué)院計科系物聯(lián)網(wǎng)工程專業(yè)加油!”,則實現(xiàn)程序為:
當(dāng)12864液晶屏使用串行方式實現(xiàn)圖形和字符顯示時,PSB引腳必須是低電平,可以接GND。此時,假設(shè)CS引腳接51單片機(jī)的P2^0,SID接P2^1,SCLK接P2^2,則實現(xiàn)以上的字體顯示,需要改動部分程序,具體如下:
本文選用QC12864B和STC89C52模塊,使用C語言編寫全部代碼,并加以注釋,調(diào)試編譯后,將編譯好的.hex格式程序文件燒寫到單片機(jī)的ROM芯片內(nèi),復(fù)位后運(yùn)行效果如圖4所示。從顯示結(jié)果可以看出,串并行只是傳輸數(shù)據(jù)的寬度不同、編程時的代碼內(nèi)容有所區(qū)別,顯示的文字是完全相同的。本設(shè)計對學(xué)生實驗起到了良好、直觀的教學(xué)示范效果。
圖4 顯示效果圖
[1]張毅剛.單片機(jī)原理及接口技術(shù)(C51編程)[M].北京:人民郵電出版,2011.
[2]郭天祥.51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社, 2010.
[3]彭偉.單片機(jī)C語言程序設(shè)計實訓(xùn)100例[M].北京:電子工業(yè)出版社,2010.
[4]湯澤容.基于MCS-51單片機(jī)的液晶12864顯示設(shè)計[J].湖南農(nóng)機(jī),2014,(11):54.
[5]薛大為,楊春蘭.基于ST7920控制器的中小尺寸液晶顯示的實現(xiàn)[J].電子世界,2013,(19):65.
(責(zé)任編輯:朱彬)
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
遵義師范學(xué)院校級教學(xué)研究項目(15-04)
葛耿育,男,安徽合肥人,遵義師范學(xué)院信息工程學(xué)院講師,碩士。研究方向:嵌入式系統(tǒng)應(yīng)用。