呂志信
(中國煤炭科工集團 太原研究院,山西 太原 030006)
在以單片機為核心的微型計算機控制系統中,單片機與顯示器件的接口是必不可少的環節,而LCD 液晶顯示器由于具有體積小、重量輕、功耗低、壽命長、穩定性高、無輻射等許多其他顯示器無法比擬的優點,被廣泛用于單片機控制的智能儀器、儀表等工業設備中[1]。
MSP430 系列單片機是一種采用精簡指令集(RISC)結構的16 位超低功耗單片機,可應用于儀器儀表、自動控制等傳統的單片機應用領域,更適合用于一些電池供電的便攜式低功耗產品[2]。
本文基于單片機MSP430F149 的個人輻射劑量儀對人機交互接口的要求,詳細討論了12864 點陣式液晶顯示模塊與單片機的硬件接口電路和軟件編程設計。
GJ12864A-2 是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64 全點陣液晶顯示器組成??赏瓿蓤D形、字符顯示,也可以顯示8×4 個(16×16 點陣)漢字,該模塊共有20 個引腳,引腳定義如表1 所示。

表1 GJ12864A-2引腳定義
MSP430F149 單片機具有指令簡單,處理能力強的特點。一條指令的執行時間最快達到125ns,內部集成16×16 位硬件乘法器;工作電壓低,工作電壓范圍在1.8~3.6V;功耗低,具有多種低功耗模式,在LPM4 下,消耗的電流僅為0.1μA,一顆鋰電池可工作10年;外圍模塊多,多路12 位A/D 轉換器、2 個串行通訊接口、PWM 模塊、定時器模塊、看門狗模塊、I/O 資源豐富、多種中斷源,支持JTAG 接口仿真和編程,程序代碼由加密熔絲保護。它還帶有60KB 和256B 的FLASH 存儲器、2K 隨機存儲器(RAM)有64 腳QFP 和QFN 兩種封裝形式,芯片體積小[2]。使用戶編制的程序及需要顯示的英文字母、數字、漢字、曲線和圖形都可以存儲在里面,免去了擴展外部存儲器的麻煩,使以MSP430F149 單片機為核心的控制系統電路更簡單,因此十分適用于液晶顯示,在智能儀器、儀表和低功耗電子產品中被廣泛應用。考慮到單片機的資源比較豐富,液晶顯示器的8 位數據線與單片機采用并行接口的方式實現快速準確的數據傳輸,如圖1 所示。
P4.1 控制D/I 數據指令選通信號,P4.2控制R/W 讀寫選通信號,P4.3接E 片使能信號,電平由高到低是將數據讀到DB7-DB0。P4.5 和P4.6 控制左右半屏顯示,P4.7 控制RET 復位信號,該顯示屏為低電平復位。在實際應用中可以將P4.7 口為輸出為高電平,也可以直接將lcd 的17 腳接到電源正上。P5 口接數據總線DB0-DB7。
圖1 中3 腳為LCD 驅動電壓,用于對比度的調節。在實際應用當中,電位器一端通常接地,但也可接電源正,調節電位器電阻即可,目的是管腳Vo 處形成LCD工作負電壓即可。
另外,MSP430 的工作電壓為3.3V,而液晶模塊驅動電壓為5V,為此電路中接了電平轉換芯片,以實現單片機到液晶的電平轉換。電路中程序下載接口模塊用來進行在線仿真以利于程序的編寫和調試,同時可把程序寫入單片機中,從而實現脫機使用。

圖1 液晶顯示模塊與單片機接口電路
單片機對液晶顯示模塊的操作可分為兩部分,即左半屏和右半屏操作。在屏幕上顯示的任何字符、漢字等須自己建立點陣字模庫,通常通過字模軟件取出對應格式的字模數據,將相應的數據保存在單片機內部的存儲器中。
為簡化編程,軟件設計采用子程序方式,包括液晶初始化程序、清屏子程序、通用子程序、調送顯示數據子程序等。在系統主程序中需要顯示一屏時,只需調用相應子程序送該屏對應的顯示數據一遍即可[4]。
在應用過程中需要設置顯示圖形、漢字、字符等的數據格式,可以選擇C51 或A51 格式,該顯示采用C51格式。同時還要對取模軟件參數進行設置,取模方式采用的是縱向取模,同時選擇字節倒序。取模如圖2 所示。

圖2 取模軟件
GJ12864 共有七條指令,這些指令和使用方法如表2 所示。
GJ12864 點陣式液晶顯示模塊對收到的數據漢字采用16×16 的點陣,字母和數字采用8×16 的點陣,由于需要顯示的漢字、字母和數字是固定的,通過取模軟件得到,采用直接固化顯示字模到FLASH 中的方法。這種方法占用空間少,程序實現簡單,顯示速度快,適合字模數據庫。
本文主要介紹漢字顯示。下面給出顯示漢字的實例,顯示流程如圖3 所示。

表2 指令說明

圖3 漢字顯示流程圖
程序采用C 語言編寫,在IAR Embedded Workbench 上編譯通過。其中函數NOP () 為延時函數,單片機MSP430F149 時鐘選擇8M 晶振。主頻的選擇將影響LCD顯示的穩定性,如果程序中E 控制信號(P4.3)有效時間過短的話,顯示的效果將會不穩定,所以程序中對E 信號要適當延時。
GJ12864 液晶顯示模塊在軟件編程中共分4 頁,128 列。程序中X 表示起始列,Y 表示起始頁,Start 表示漢字數據,Num 表示顯示漢字的個數。漢字顯示程序如下:


該技術已成功應用于儀器儀表設計,實驗中的部分圖片如圖4 所示。

圖4 實例圖片
以圖形點陣式液晶顯示模塊GJ12864-2 為例,介紹了與單片機MSP430F149 的一種實用的硬件接口電路和軟件編程方法,這種設計可方便顯示漢字、字符和圖形,實現了交互式顯示和圖文并茂的人機界面效果。各種點陣圖形液晶顯示模塊的接口基本相同,因此本文所介紹的顯示方式也適用于其他型號的點陣圖形液晶顯示模塊,并且該設計已成功應用在γ-個人輻射劑量儀儀表中,獲得了很好的實用價值。
[1] 李維諟,郭強.液晶顯示應用技術[M].北京:電子工業出版社,2000.
[2] 賈金萍,張志東.STN 液晶部分顯示的設計方案[J].液晶與顯示,2006,10.
[3] 韋永辦.圖形LCD 模塊的菜單方式人機交互界面[J].單片機與嵌入式系統應用,2002,11.
[4] 尹溪,涂起龍.基于單片機液晶顯示模塊LCM12232 的接口設計[J].煤礦機械,2010,3.
[5] 王君,壯凌,檀慧明.液晶顯示控制器的應用[J].液晶與顯示,2003,1.
[6] 余華芳,劉健.單片機與液晶顯示模塊的軟硬件接口技術[J].液晶與顯示,2003,2.