呂志信
(中國煤炭科工集團(tuán) 太原研究院,山西 太原 030006)
在以單片機(jī)為核心的微型計(jì)算機(jī)控制系統(tǒng)中,單片機(jī)與顯示器件的接口是必不可少的環(huán)節(jié),而LCD 液晶顯示器由于具有體積小、重量輕、功耗低、壽命長(zhǎng)、穩(wěn)定性高、無輻射等許多其他顯示器無法比擬的優(yōu)點(diǎn),被廣泛用于單片機(jī)控制的智能儀器、儀表等工業(yè)設(shè)備中[1]。
MSP430 系列單片機(jī)是一種采用精簡(jiǎn)指令集(RISC)結(jié)構(gòu)的16 位超低功耗單片機(jī),可應(yīng)用于儀器儀表、自動(dòng)控制等傳統(tǒng)的單片機(jī)應(yīng)用領(lǐng)域,更適合用于一些電池供電的便攜式低功耗產(chǎn)品[2]。
本文基于單片機(jī)MSP430F149 的個(gè)人輻射劑量?jī)x對(duì)人機(jī)交互接口的要求,詳細(xì)討論了12864 點(diǎn)陣式液晶顯示模塊與單片機(jī)的硬件接口電路和軟件編程設(shè)計(jì)。
GJ12864A-2 是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及128×64 全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形、字符顯示,也可以顯示8×4 個(gè)(16×16 點(diǎn)陣)漢字,該模塊共有20 個(gè)引腳,引腳定義如表1 所示。
表1 GJ12864A-2引腳定義
MSP430F149 單片機(jī)具有指令簡(jiǎn)單,處理能力強(qiáng)的特點(diǎn)。一條指令的執(zhí)行時(shí)間最快達(dá)到125ns,內(nèi)部集成16×16 位硬件乘法器;工作電壓低,工作電壓范圍在1.8~3.6V;功耗低,具有多種低功耗模式,在LPM4 下,消耗的電流僅為0.1μA,一顆鋰電池可工作10年;外圍模塊多,多路12 位A/D 轉(zhuǎn)換器、2 個(gè)串行通訊接口、PWM 模塊、定時(shí)器模塊、看門狗模塊、I/O 資源豐富、多種中斷源,支持JTAG 接口仿真和編程,程序代碼由加密熔絲保護(hù)。它還帶有60KB 和256B 的FLASH 存儲(chǔ)器、2K 隨機(jī)存儲(chǔ)器(RAM)有64 腳QFP 和QFN 兩種封裝形式,芯片體積小[2]。使用戶編制的程序及需要顯示的英文字母、數(shù)字、漢字、曲線和圖形都可以存儲(chǔ)在里面,免去了擴(kuò)展外部存儲(chǔ)器的麻煩,使以MSP430F149 單片機(jī)為核心的控制系統(tǒng)電路更簡(jiǎn)單,因此十分適用于液晶顯示,在智能儀器、儀表和低功耗電子產(chǎn)品中被廣泛應(yīng)用??紤]到單片機(jī)的資源比較豐富,液晶顯示器的8 位數(shù)據(jù)線與單片機(jī)采用并行接口的方式實(shí)現(xiàn)快速準(zhǔn)確的數(shù)據(jù)傳輸,如圖1 所示。
P4.1 控制D/I 數(shù)據(jù)指令選通信號(hào),P4.2控制R/W 讀寫選通信號(hào),P4.3接E 片使能信號(hào),電平由高到低是將數(shù)據(jù)讀到DB7-DB0。P4.5 和P4.6 控制左右半屏顯示,P4.7 控制RET 復(fù)位信號(hào),該顯示屏為低電平復(fù)位。在實(shí)際應(yīng)用中可以將P4.7 口為輸出為高電平,也可以直接將lcd 的17 腳接到電源正上。P5 口接數(shù)據(jù)總線DB0-DB7。
圖1 中3 腳為L(zhǎng)CD 驅(qū)動(dòng)電壓,用于對(duì)比度的調(diào)節(jié)。在實(shí)際應(yīng)用當(dāng)中,電位器一端通常接地,但也可接電源正,調(diào)節(jié)電位器電阻即可,目的是管腳Vo 處形成LCD工作負(fù)電壓即可。
另外,MSP430 的工作電壓為3.3V,而液晶模塊驅(qū)動(dòng)電壓為5V,為此電路中接了電平轉(zhuǎn)換芯片,以實(shí)現(xiàn)單片機(jī)到液晶的電平轉(zhuǎn)換。電路中程序下載接口模塊用來進(jìn)行在線仿真以利于程序的編寫和調(diào)試,同時(shí)可把程序?qū)懭雴纹瑱C(jī)中,從而實(shí)現(xiàn)脫機(jī)使用。
圖1 液晶顯示模塊與單片機(jī)接口電路
單片機(jī)對(duì)液晶顯示模塊的操作可分為兩部分,即左半屏和右半屏操作。在屏幕上顯示的任何字符、漢字等須自己建立點(diǎn)陣字模庫,通常通過字模軟件取出對(duì)應(yīng)格式的字模數(shù)據(jù),將相應(yīng)的數(shù)據(jù)保存在單片機(jī)內(nèi)部的存儲(chǔ)器中。
為簡(jiǎn)化編程,軟件設(shè)計(jì)采用子程序方式,包括液晶初始化程序、清屏子程序、通用子程序、調(diào)送顯示數(shù)據(jù)子程序等。在系統(tǒng)主程序中需要顯示一屏?xí)r,只需調(diào)用相應(yīng)子程序送該屏對(duì)應(yīng)的顯示數(shù)據(jù)一遍即可[4]。
在應(yīng)用過程中需要設(shè)置顯示圖形、漢字、字符等的數(shù)據(jù)格式,可以選擇C51 或A51 格式,該顯示采用C51格式。同時(shí)還要對(duì)取模軟件參數(shù)進(jìn)行設(shè)置,取模方式采用的是縱向取模,同時(shí)選擇字節(jié)倒序。取模如圖2 所示。
圖2 取模軟件
GJ12864 共有七條指令,這些指令和使用方法如表2 所示。
GJ12864 點(diǎn)陣式液晶顯示模塊對(duì)收到的數(shù)據(jù)漢字采用16×16 的點(diǎn)陣,字母和數(shù)字采用8×16 的點(diǎn)陣,由于需要顯示的漢字、字母和數(shù)字是固定的,通過取模軟件得到,采用直接固化顯示字模到FLASH 中的方法。這種方法占用空間少,程序?qū)崿F(xiàn)簡(jiǎn)單,顯示速度快,適合字模數(shù)據(jù)庫。
本文主要介紹漢字顯示。下面給出顯示漢字的實(shí)例,顯示流程如圖3 所示。
表2 指令說明
圖3 漢字顯示流程圖
程序采用C 語言編寫,在IAR Embedded Workbench 上編譯通過。其中函數(shù)NOP () 為延時(shí)函數(shù),單片機(jī)MSP430F149 時(shí)鐘選擇8M 晶振。主頻的選擇將影響LCD顯示的穩(wěn)定性,如果程序中E 控制信號(hào)(P4.3)有效時(shí)間過短的話,顯示的效果將會(huì)不穩(wěn)定,所以程序中對(duì)E 信號(hào)要適當(dāng)延時(shí)。
GJ12864 液晶顯示模塊在軟件編程中共分4 頁,128 列。程序中X 表示起始列,Y 表示起始頁,Start 表示漢字?jǐn)?shù)據(jù),Num 表示顯示漢字的個(gè)數(shù)。漢字顯示程序如下:
該技術(shù)已成功應(yīng)用于儀器儀表設(shè)計(jì),實(shí)驗(yàn)中的部分圖片如圖4 所示。
圖4 實(shí)例圖片
以圖形點(diǎn)陣式液晶顯示模塊GJ12864-2 為例,介紹了與單片機(jī)MSP430F149 的一種實(shí)用的硬件接口電路和軟件編程方法,這種設(shè)計(jì)可方便顯示漢字、字符和圖形,實(shí)現(xiàn)了交互式顯示和圖文并茂的人機(jī)界面效果。各種點(diǎn)陣圖形液晶顯示模塊的接口基本相同,因此本文所介紹的顯示方式也適用于其他型號(hào)的點(diǎn)陣圖形液晶顯示模塊,并且該設(shè)計(jì)已成功應(yīng)用在γ-個(gè)人輻射劑量?jī)x儀表中,獲得了很好的實(shí)用價(jià)值。
[1] 李維諟,郭強(qiáng).液晶顯示應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2000.
[2] 賈金萍,張志東.STN 液晶部分顯示的設(shè)計(jì)方案[J].液晶與顯示,2006,10.
[3] 韋永辦.圖形LCD 模塊的菜單方式人機(jī)交互界面[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002,11.
[4] 尹溪,涂起龍.基于單片機(jī)液晶顯示模塊LCM12232 的接口設(shè)計(jì)[J].煤礦機(jī)械,2010,3.
[5] 王君,壯凌,檀慧明.液晶顯示控制器的應(yīng)用[J].液晶與顯示,2003,1.
[6] 余華芳,劉健.單片機(jī)與液晶顯示模塊的軟硬件接口技術(shù)[J].液晶與顯示,2003,2.