專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)
單片機(jī)代理商深圳英銳恩分享LCD在電機(jī)軟起動器中的應(yīng)用
由于LCD液晶顯示器具有功耗低、體積小、重量輕、超薄等諸多其他顯示器無法比擬的優(yōu)點(diǎn),已廣泛應(yīng)用于各種智能型儀表和低功耗電子產(chǎn)品中。點(diǎn)陣式或圖形式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛。
2 鍵盤設(shè)計原理
采用美國Microchip Technology公司的8位PIC16F877單片機(jī),利用RB口電平變化中斷來實(shí)現(xiàn)參數(shù)修改,通過查表方式可以選擇兩百多種起動方式以及選定起動方式下兩百多個參數(shù)值輸入,其最大的選擇值取決于寄存器N和M的上限值,如圖1所示。
讀RB口狀態(tài)要進(jìn)行軟件消抖處理,即讀入RB口狀態(tài),然后軟件延時大約50ms再讀入RB口狀態(tài),兩次狀態(tài)相同說明狀態(tài)正確,防止抖動引起誤操作。
3 中文液晶顯示器LCM12832ZK與單片機(jī)PIC16F877硬件接線
本設(shè)計單片機(jī)PIC16F877與中文液晶顯示器LCM12832ZK采用模擬串行通信方式,單片機(jī)RD5引腳接液晶顯示器串行時鐘線E,單片機(jī)RD6引腳接液晶顯示器數(shù)據(jù)線RW,單片機(jī)RD7引腳接液晶顯示器串行選通線RS。
如圖2所示,R1用來調(diào)節(jié)液晶顯示器背光源亮度,R2用來調(diào)整液晶顯示器中文字幕的輝度。調(diào)節(jié)電位器R2到適當(dāng)值對字幕顯示來說很重要,當(dāng)R2過大液晶顯示器黑屏;當(dāng)R2過小,液晶顯示器過亮,看不到字體顯示。
RB口要設(shè)置為弱上拉。利用RB口電平變化中斷,通過查表方式找到相應(yīng)的中斷服務(wù)子程序,最多有兩百多種參數(shù)可選擇,操作簡單方便。
4 中文液晶顯示器LCM12832ZK的串行及并行接口
4.1 LCM12832ZK引腳及其功能如表(1)所示:
4.2 LCM12832ZK液晶顯示基本功能
LCM12832ZK可兩行顯示,每行可顯示8個漢字。其字型ROM內(nèi)含8192個中文字型和128個半寬的字母符號字型,另外繪圖顯示畫面提供一個繪圖區(qū)域GDRAM,而且內(nèi)含CGRAM 提供4組軟件可編程的點(diǎn)陣造字功能。
LCM12832ZK與單片機(jī)等微控器的接口界面靈活,三種模式并行8位/4位及串行3線/2線,還可實(shí)現(xiàn)漢字、ASCII碼和點(diǎn)陣圖
形的同屏顯示,以及具有上/下/左/右移動當(dāng)前顯示屏幕及清除屏幕的命令,具有光標(biāo)顯示/閃爍控制命令及液晶睡眠/喚醒/關(guān)閉顯示命令預(yù)留多種控制線,如復(fù)位/串并選擇/亮度調(diào)整供用戶靈活使用。
4.3 并/串接口模塊設(shè)置
4.4 串行接口數(shù)據(jù)傳輸
本設(shè)計采用串行模式,即將模塊背面S/P的短路電阻在“S”側(cè)。在串行模式下將使用二條傳輸線作串行資料的傳送,主控制系統(tǒng)將配合傳輸同步時鐘(SCLK)與接收串行數(shù)據(jù)線(SID),來完成串行傳輸?shù)膭幼鳌?/p>
串行接口在傳輸數(shù)據(jù)時,片選CS先置為1。當(dāng)時鐘SCLK上升緣到達(dá)時,傳輸一個數(shù)據(jù)。從一個完整的串行傳輸流程來看,一開始先傳輸起始位,它需先接收到五個連續(xù)的“1”(同步位串)在起始位元組,此時傳輸計數(shù)將被重置并且串行傳輸將被同步,再跟隨的二個BIT 分別指定傳輸方向位(RW)及暫存器選擇位(RS),RW:RS為0:0時寫命令到LCD的RAM中,RW:R
S為0:1時寫數(shù)據(jù)到LCD的RAM中,最后第八位則為“0”。
在接收到起始位元組后,每個指令/數(shù)據(jù)將分為二組接收到:較高4位元(DB7~DB4)的指令資料將會被放在第一組的LSB部分,而較低4位元(DB3~DB0)的指令資料則會被放在第二組的LSB 部分,至于相關(guān)的另四位則都為0,具體如圖4所示。
5 中文液晶顯示器LCM12832ZK的串行接口程序設(shè)計
5.1 PIC16F877單片機(jī)串行端口設(shè)定
#DEFINE CS PORTD,7 ;CS是片選,工作時為1
#DEFINE SCLK PORTD,5 ;SCLK是時鐘線,上升沿動作
#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個字節(jié)。輸送時,LCM12832ZK中文液晶顯示器有固定的傳輸模式,本設(shè)計在軟件上是采用循環(huán)的方式每次輸送24個位元,具體的時序如圖4所示,其實(shí)現(xiàn)的程序如下:
MOVLW 0XB2 ;顯示“參”字子程序
MOVWF DATH ;其中“B2CE”為“參”字字庫代碼
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)用延時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é)束語
采用PIC16F877單片機(jī)控制LCM12832ZK中文液晶顯示器以及多參數(shù)鍵盤輸入編程方法,具有實(shí)用、低價、指令小、功能強(qiáng)和簡單易學(xué)的特點(diǎn),而且外部接線簡單靈活,軟件修改方便。采用的LCM12832ZK中文液晶顯示器有強(qiáng)大的字庫和圖形編輯功能,適用于各種低壓電器智能化液晶顯示部分。
MDT10P41A MDT10P43(可編程的專用遙控IC,0.5K,性價在1元以下。)
特性:ROM:0.5-1K,腳位:18/20PIN,I/O:13/16PIN,復(fù)位時間極快.1.8V,低電壓工作.低功耗,溫度范圍寬。
MDT10P22,(1K ROM,16I/O,4個比較器),MDT10P23,(2K ROM,16I/O,4個比較器)
特性:ROM:1-2K,腳位:18/24PIN,I/O:12/16PIN,復(fù)位時間極快.2V,低電壓工作.低功耗,溫度范圍寬。