中文液晶顯示器LCM12832ZK模塊在電機(jī)軟起動(dòng)器中的應(yīng)用
引言
本文引用地址:http://m.butianyuan.cn/article/168597.htm由于LCD液晶顯示器具有功耗低、體積小、重量輕、超薄等諸多其他顯示器無法比擬的優(yōu)點(diǎn),已廣泛應(yīng)用于各種智能型儀表和低功耗電子產(chǎn)品中。點(diǎn)陣式或圖形式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下滾動(dòng)、動(dòng)畫、閃爍、文本特征顯示等功能,用途十分廣泛。
2 鍵盤設(shè)計(jì)原理
采用美國(guó)Microchip Technology公司的8位PIC16F877單片機(jī),利用RB口電平變化中斷來實(shí)現(xiàn)參數(shù)修改,通過查表方式可以選擇兩百多種起動(dòng)方式以及選定起動(dòng)方式下兩百多個(gè)參數(shù)值輸入,其最大的選擇值取決于寄存器N和M的上限值,如圖1所示。
讀RB口狀態(tài)要進(jìn)行軟件消抖處理,即讀入RB口狀態(tài),然后軟件延時(shí)大約50ms再讀入RB口狀態(tài),兩次狀態(tài)相同說明狀態(tài)正確,防止抖動(dòng)引起誤操作。
3中文液晶顯示器LCM12832ZK與單片機(jī)PIC16F877硬件接線
本設(shè)計(jì)單片機(jī)PIC16F877與中文液晶顯示器LCM12832ZK采用模擬串行通信方式,單片機(jī)RD5引腳接液晶顯示器串行時(shí)鐘線E,單片機(jī)RD6引腳接液晶顯示器數(shù)據(jù)線RW,單片機(jī)RD7引腳接液晶顯示器串行選通線RS。
如圖2所示,R1用來調(diào)節(jié)液晶顯示器背光源亮度,R2用來調(diào)整液晶顯示器中文字幕的輝度。調(diào)節(jié)電位器R2到適當(dāng)值對(duì)字幕顯示來說很重要,當(dāng)R2過大液晶顯示器黑屏;當(dāng)R2過小,液晶顯示器過亮,看不到字體顯示。
RB口要設(shè)置為弱上拉。利用RB口電平變化中斷,通過查表方式找到相應(yīng)的中斷服務(wù)子程序,最多有兩百多種參數(shù)可選擇,操作簡(jiǎn)單方便。
4中文液晶顯示器LCM12832ZK的串行及并行接口
4.1 LCM12832ZK引腳及其功能如表(1)所示:
4.2 LCM12832ZK液晶顯示基本功能
LCM12832ZK可兩行顯示,每行可顯示8個(gè)漢字。其字型ROM內(nèi)含8192個(gè)中文字型和128個(gè)半寬的字母符號(hào)字型,另外繪圖顯示畫面提供一個(gè)繪圖區(qū)域GDRAM,而且內(nèi)含CGRAM 提供4組軟件可編程的點(diǎn)陣造字功能。
LCM12832ZK與單片機(jī)等微控器的接口界面靈活,三種模式并行8位/4位及串行3線/2線,還可實(shí)現(xiàn)漢字、ASCII碼和點(diǎn)陣圖
表(1):
形的同屏顯示,以及具有上/下/左/右移動(dòng)當(dāng)前顯示屏幕及清除屏幕的命令,具有光標(biāo)顯示/閃爍控制命令及液晶睡眠/喚醒/關(guān)閉顯示命令預(yù)留多種控制線,如復(fù)位/串并選擇/亮度調(diào)整供用戶靈活使用。
4.3 并/串接口模塊設(shè)置
4.4 串行接口數(shù)據(jù)傳輸
本設(shè)計(jì)采用串行模式,即將模塊背面S/P的短路電阻在“S”側(cè)。在串行模式下將使用二條傳輸線作串行資料的傳送,主控制系統(tǒng)將配合傳輸同步時(shí)鐘(SCLK)與接收串行數(shù)據(jù)線(SID),來完成串行傳輸?shù)膭?dòng)作。
串行接口在傳輸數(shù)據(jù)時(shí),片選CS先置為1。當(dāng)時(shí)鐘SCLK上升緣到達(dá)時(shí),傳輸一個(gè)數(shù)據(jù)。從一個(gè)完整的串行傳輸流程來看,一開始先傳輸起始位,它需先接收到五個(gè)連續(xù)的“1”(同步位串)在起始位元組,此時(shí)傳輸計(jì)數(shù)將被重置并且串行傳輸將被同步,再跟隨的二個(gè)BIT 分別指定傳輸方向位(RW)及暫存器選擇位(RS),RW:RS為0:0時(shí)寫命令到LCD的RAM中,RW:R
S為0:1時(shí)寫數(shù)據(jù)到LCD的RAM中,最后第八位則為“0”。
在接收到起始位元組后,每個(gè)指令/數(shù)據(jù)將分為二組接收到:較高4位元(DB7~DB4)的指令資料將會(huì)被放在第一組的LSB部分,而較低4位元(DB3~DB0)的指令資料則會(huì)被放在第二組的LSB 部分,至于相關(guān)的另四位則都為0,具體如圖4所示。
5 中文液晶顯示器LCM12832ZK的串行接口程序設(shè)計(jì)
5.1 PIC16F877單片機(jī)串行端口設(shè)定
#DEFINE CS PORTD,7 ;CS是片選,工作時(shí)為1
#DEFINE SCLK PORTD,5 ;SCLK是時(shí)鐘線,上升沿動(dòng)作
#DEFINE SID PORTD,6 ;SID是數(shù)據(jù)線
5.2 中文液晶顯示器LCM12832ZK的初始化過程
MOVLW .40
CALL DELAY_2
MOVLW B'00110000' ;功能設(shè)定
MOVWF DAT
CALL W_COMMOND
CALL DELY_1
MOVLW B'00110000' ;功能設(shè)定
MOVWF DAT
CALL W_COMMOND
CALL DELY_1
MOVLW B'00001100' ;顯示狀態(tài)開/關(guān)
MOVWF DAT
CALL W_COMMOND
CALL DELY_1
MOVLW B'00000001' ;清除顯示
MOVWF DAT
CALL W_COMMOND
MOVLW .10
CALL DELAY_2
MOVLW B'00000110' ;進(jìn)入點(diǎn)設(shè)定
MOVWF DAT
CALL
W_COMMOND
5.3 中文液晶顯示器LCM12832ZK字型顯示子程序
單片機(jī)的數(shù)據(jù)和指令是以串行輸送的方式發(fā)給中文液晶顯示器LCM12832ZK模塊,每次輸1個(gè)字節(jié)。輸送時(shí),LCM12832ZK中文液晶顯示器有固定的傳輸模式,本設(shè)計(jì)在軟件上是采用循環(huán)的方式每次輸送24個(gè)位元,具體的時(shí)序如圖4所示,其實(shí)現(xiàn)的程序如下:
MOVLW 0XB2 ;顯示“參”字子程序
MOVWF DATH ;其中“B2CE”為“參”字字庫(kù)代碼
MOVLW 0XCE
MOVWF DATL
MOVLW B'10000000' ;80H為“參”字顯示位址
CALL DISPLAY
DISPLAY nb
sp; ;顯示通用子程序
MOVWF DAT
CALL W_COMMOND ;調(diào)用寫命令子程序
CALL DELY_1 ;調(diào)用延時(shí)100μs子程序
BSF RWRS,0 ;RWRS的1位和0位為命令與數(shù)據(jù)判斷位
BCF RWRS,1 ;bit1-bit0: 00 傳輸命令
MOVF DATH,W ;bit1-bit0: 01 傳輸數(shù)據(jù)
MOVWF DAT
CALL WRITE_1 ;調(diào)用寫數(shù)據(jù)子程序
MOVF DATL,W
MOVWF DAT
CALL WRITE_1
RETURN
6 結(jié)束語(yǔ)
采用PIC16F877單片機(jī)控制LCM12832ZK中文液晶顯示器以及多參數(shù)鍵盤輸入編程方法,具有實(shí)用、低價(jià)、指令小、功能強(qiáng)和簡(jiǎn)單易學(xué)的特點(diǎn),而且外部接線簡(jiǎn)單靈活,軟件修改方便。采用的LCM12832ZK中文液晶顯示器有強(qiáng)大的字庫(kù)和圖形編輯功能,適用于各種低壓電器智能化液晶顯示部分。
led顯示器相關(guān)文章:led顯示器原理
評(píng)論