單片機系統中液晶顯示器的接口設計
引言
由于液晶顯示器(LCD)具有顯示功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優點,在低功耗等單片機系統中被廣泛采用。LCD可分為段位式LCD、字符式LCD和點陣式LCD,其中,段位式LCD和字符式LCD只能用于字符和數字的顯示。本文介紹段位式液晶顯示器EDS806和EDS812,給出了它與單片機的接口及編程方法。
顯示數據圖中,單片機(可以選擇51系列中的一種,圖中省略)內經過程序處理后,輸出顯示信號送到P1口(數據4位,選擇信號4位)。數據中4位送入MC14543(BCD --鎖存/ 7段譯碼/ 驅動動器)中,經過譯碼形成MC14543的輸出端a、b、c、d、e、f、g分別接到8位EDS806和3位的EDS812的,每一個數字位需要一個MC14543。
4位選擇信號送到CD4514譯碼器(4位鎖存/ 4-16線譯碼器),選擇接收數據的MC14543芯片和浮動顯示的小數點位。(8位EDS806可以浮動顯示)
為了使EDS806能浮動顯示,所以用MC14174B和CD4070控制小數點。
程序
當使用該顯示接口圖做一般數據如溫、濕度、壓力、流量等顯示時,程序如下:
ORG 0085H
L0085: ORL P1,#0FFH ;P1口置1,4FH~40H中是要 顯示的數據(高~低)
MOV A,4FH ;最高位是否為0
NOP
NOP
MOV A,4FH
ANL A,#0ffH
JZ L009E ;為0轉移
MOV DPTR, #0F9BH ;第一段顯示數據(此時數據為最大)
MOV 2FH,#0a0h ;送小數點數據到2FH中
LJMP L00DD
L009E: MOV A,4EH ;次高位是否為0
NOP
NOP
MOV A,4EH
ANL A,#0FFH
JZ L00B1 ;為0轉移
MOV DPTR, #0155H ;第二段顯示數據
MOV 2FH, #21H ;送小數點數據到2FH中
LJMP L00DD
L00B1: MOV A,4DH
NOP
NOP
MOV A,4DH
ANL A,#0FFH
JZ L00C4 ;為0轉移
MOV DPTR, #0139H ;第三段顯示數據
MOV 2FH, #22H ;送小數點數據到2FH中
LJMP L00DD
L00C4: MOV A,4CH
NOP
NOP
MOV A,4CH
ANL A,#0FFH
JZ L00D7 ;為0轉移
MOV DPTR,#011DH ;第四段顯示數據
MOV 2FH,#24H ;送小數點數據到2FH中
LJMP L00DD
L00D7: MOV DPTR,#0171H ;第五段顯示數據
MOV 2FH, #28H ;送小數點數據到2FH中
L00DD: MOV B, #0DH ;顯示數據中的數據個數
MOV A,2FH
ANL A,#0FH
MOV 2DH,A
MOV A,2FH
ANL A,#0F0H
SWAP A
MOV 2FH,A
CLR A
L00EE: MOVC A,@A+DPTR ;取相應段的數據進行 顯示
MOV R0,A
MOV A,@R0
ORL A,#0F0H
ANL P1,A
NOP
NOP
NOP
NOP
NOP
ANL P1,A
CLR A
INC DPTR
MOVC A,@A+DPTR
ANL P1,A
NOP
NOP
NOP
NOP
ANL P1,A
ORL P1,#0F0H
ORL P1,#0FFH
CLR A
INC DPTR
DJNZ B,L00EE
END
led顯示器相關文章:led顯示器原理
評論