摘要:利用51單片機對12864LCD顯示屏進行驅動,并令其顯示動態及靜態圖像。可使用4位/8位并行、2線或3線串行多種接口方式,擁有多種字庫的點陣圖形液晶顯示模塊;接口方式靈活,操作指令簡單、方便,可構成全中文人機交互圖形界面??梢燥@示漢字,也可完成圖形顯示;電壓、功耗較低;硬件電路結構與顯示程序都要簡潔,同時價格也略低于相同點陣的圖形液晶模塊。
關鍵詞:51單片機 12864LCD 顯示屏 動態 靜態 圖像
引言
帶中文字庫的TS128X64(圖1)具有4位/8位并行、2線或3線串行多種接口方式,引腳功能見圖2。其內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內置8192個16*16點漢字,和128個16*8點ASCII字符集。
圖1 TS12864液晶實物圖
該模塊接口方式靈活和操作指令簡單、方便,可構成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字。也可完成圖形顯示,有低電壓低功耗的特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構還是顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。
本設計講采用STC89C52對TS128X64進行驅動,設計并制作LCD驅動電路,使其可通過按鍵切換LCD的顯示內容,并且實現對數字,漢字,英文以及圖片的顯示,滾屏,以及動畫功能。
1.硬件設備
STC89C52是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash存儲器。
STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。
具有以下標準功能: 8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。
另外 STC89C52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。
2.軟件
本設計使用Keil C51進行編程。
Keil 51是沒過Keil Software公司出品的51系列兼容單片機C語言軟件開發系統。
Keil提供了包括C編譯器,宏匯編,連接器,庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境uvision將這些部分組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM,20M以上空閑的硬盤空間,WIN98,NT,WIN2000,WINXP等操作系統。
與匯編相比,C語言在功能上,結構性,可讀性,可維護性上有明顯的有優勢,因而易學易用。
3.設計與制作
3.1.硬件的設計與制作
在單片機應用系統中,按鍵主要分為2種:直接按鍵和矩陣編碼按鍵。本設計主要采用直接按鍵。每個按鍵都直接接到單片機的一個I/O口上。通過判斷按鍵借口的電位即可識別按鍵操作。通過與P1^3(S3)和P1^4(S4)直接連接的兩個按鍵來進行LCD顯示內容的切換。且通過與RST連接的按鍵(S2)進行復位操作。
畫出如圖6所示的原理圖,根據原理圖對電路進行PCB板子制作與調試。
PCB版圖的制作使用Altium Designer Winter 09。在PCB電路布局時盡量考慮到元器件的封裝和操作者的使用情況,為了線路檢測、方便和元器件的回收利用,電路使用了排針和針座,避免較為貴重的芯片的死焊,避免焊盤的脫落和在焊接的時候把元器件燒壞等現象。焊接完后好對電路圖進行檢測,檢查所有元器件是否完好,位置是否都正確,是否有掛接和虛焊的現象。接電之前試測電源和地線,確保不存在短接,并檢查電路,同時用萬用表檢測是否存在線斷路,上電后還應檢測各個器件的電源以及地腳的電平是否正確。
3.2.程序的設計與編寫
3.2.1.程序功能
本程序實現基本字符的顯示(漢子、英文、數字)。同時實現滾屏的功能:能滾動顯示詩歌“冷燈看劍,劍上幾番功名?爐香無需計蒼生,縱一川煙逝,萬丈云埋,孤陽還照古陵。”此外,還能夠實現128X64的圖片顯示,并且通過快速切換4張圖片,最終實現一只鴿子展翅飛翔的動畫效果。
液晶屏初始化后,開始在液晶屏上顯示基本信息(由漢字、英文、數字組成),之后進入檢測按鍵循環。其他顯示效果通過兩個按鍵來切換:按鍵1控制動畫顯示和圖片顯示,按鍵2控制詩歌滾動顯示,通過按下復位鍵使液晶復位重新啟動。
3.2.2.程序
程序的設計思路如程序框圖(圖7)所示,由于程序有幾百行,篇幅太長,文章中就不再加以敘述。
4.結果測試
將附錄中的程序導入單
片機中,可以得到結果如
5.結束語
本設計為基于51單片機的12864LCD顯示驅動,基本能夠實現預期的功能,通過按鍵實現對數字,漢字,英文以及圖片的顯示,實現滾屏和動畫功能。
但暫時還不能實現反白和按鍵控制背光等功能。制作電路板時易出現斷線,短路,以及其他一些電路錯誤,需要通過后期仔細檢測并才去對應措施加以解決。
參考文獻:
[1]胡漢才.單片機原理及借口技術.2007.2
[2]張西學,陸強等.單片機原理及應用.2012.9
[3]王朝暉,盧曉東.C語言程序設計學習與實踐指導.2011.2
[4]張志強,周克蘭.C語言程序設計.2011.2
[5]http://www.doc88.com/p-949521898528.html
[6]http://wenku.baidu.com/view/d580be1810a6f524ccbf856e.html百度文庫.
作者簡介:
范宜衡(1991-),男,漢族,本科生在讀,就讀于蘇州大學城市軌道學院電氣工程與自動化專業。
操瑞杰(1992-),男,漢族,本科生在讀,就讀于福建農林大學機電工程學院電子科學與技術專業。