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