摘 要: 介紹了點陣液晶的一種四線驅動方法,該方法使用四線控制,連接簡單,、成本較低,,可以用于各種漢字及圖形點陣液晶的顯示。
關鍵詞: 點陣液晶顯示屏 四線控制電路 漢字顯示
隨著科學技術的飛速發(fā)展,,電子產(chǎn)品越來越向智能化,、小型化、人性化,、低功耗等方面發(fā)展,。而液晶顯示屏的興起,為上述要求的實現(xiàn)提供了可能,。液晶顯示屏大致可分為段式、字符式,、點陣式,,或者單色、彩色等,。大多液晶顯示屏都實現(xiàn)了標準化和模塊化,,采用通用的控制芯片(例如SED1330、SED1520,、HD61202等)實現(xiàn)與單片機等的簡單連接,,但此類液晶顯示模塊多采用并行的數(shù)據(jù)線和控制線連接。在實際應用中,,考慮到產(chǎn)品的成本和體積,,采用并行的數(shù)據(jù)線和控制線連接,使用起來不是很方便,。因此希望采用標準的工業(yè)總線I2C,、SPI等連接,而這類產(chǎn)品卻很少見,。本文巧妙地利用液晶顯示模塊的特點,,采用一片74LS164實現(xiàn)液晶的四線控制,電路簡單實用,。
1 點陣液晶顯示模塊簡介
本文介紹的是一種采用SED1520芯片控制的122×32圖形點陣液晶顯示屏,,它主要由行驅動/列驅動及122×32全點陣液晶顯示器組成,可完成圖形顯示,,也可顯示七個半(16×16點陣)漢字,。主要技術參數(shù)和顯示特性如下:
·電源:VDD為+3V~+5V;LCD外接驅動電壓VDD-VLCD=5.0V。
·顯示內容:122(列)×32(行)點,。
·顯示顏色:黃綠底藍字,。
·顯示角度:6點鐘直視。
·STN正視反射模式。
·驅動方式:1/32 Duty,,1/6 Bias,。
·驅動電流:最大240μA。
液晶顯示模塊驅動原理圖如圖1所示,。
液晶顯示模塊引腳特性如表1所示,。
部分傳送指令表如表2所示。
2 四線點陣液晶顯示屏驅動電路
四線點陣液晶顯示屏驅動電路如圖2所示,。
系統(tǒng)采用一片74LS164以串入并出方式與點陣液晶顯示模塊FM12232C連接,,通過四條信號線(SDA串行數(shù)據(jù)線、CLK/A0串行時鐘線即液晶顯示模塊的A0數(shù)據(jù)/指令控制線,、E1主驅動芯片使能線,、E2從驅動芯片使能線)實現(xiàn)點陣液晶顯示屏的驅動。與液晶顯示模塊所提供的電路連接方式相比,,四條線與單片機2051連接至少減少7根口線,,這樣大大節(jié)省了小型電子產(chǎn)品中寶貴的單片機口線資源,使產(chǎn)品更加人性化和智能化,。
根據(jù)液晶顯示屏的控制指令及時序可知,,只要在對模塊寫入數(shù)據(jù)的同時保證模塊指令操作延時足夠,就可以不檢查模塊狀態(tài),,達到直接控制的目的,。點陣液晶顯示屏的一個點對應存儲器中的一位,置位則顯示,,清除則不顯示,,因此只要控制相應的數(shù)據(jù)位就可控制液晶顯示屏的顯示。液晶顯示模塊的顯示數(shù)據(jù)采用分頁方式存儲(存儲器的劃分請參閱相關資料),。
數(shù)據(jù)傳送時,,首先選擇使能端“E1”或“E2”,送數(shù)據(jù)到74LS164,,然后送指令/數(shù)據(jù)選擇信號“A0”,,關閉使能端,實現(xiàn)數(shù)據(jù)和指令的傳送,,使液晶顯示屏顯示圖形或漢字等,。
3 相關軟件
相關軟件采用匯編語言編寫。由于篇幅限制,,只提供傳送指令和數(shù)據(jù)到液晶顯示模塊的子程序,,并通過初始化程序和顯示漢字程序介紹如何使用上述子程序。關于顯示漢字子程序,、其它顯示字符串,、動畫,、圖形以及在Windows下提取字庫和圖形庫相關程序,如有需要請與作者聯(lián)系,。
源程序如下:
sda bit p1.7 ;定義sda線
clk bit p1.6 ;定義clk線
e1 bit p1.5 ;定義master 使能
e2 bit p1.4 ;定義slave使能
a0 bit p1.6 ;定義數(shù)據(jù)/指令選擇線
outmi: ;送顯示指令到master SED1520
setb e1 ;master使能
clr e2 ;slave關閉
lcall trndata ;傳送一個字節(jié)
clr a0 ;設置此字節(jié)為指令
clr e1 ;master關閉
ret
outsi: ;送顯示指令到slave SED1520
setb e2
clr e1
lcall trndata
clr a0
clr e2
ret
outmd: ;送顯示數(shù)據(jù)到master SED1520
setb e1
clr e2
lcall trndata
setb a0
clr e1
ret
outsd: ;送顯示數(shù)據(jù)到slave SED1520
setb e2 ;slave使能
clr e1 ;master關閉
lcall trndata ;傳送一個字節(jié)
setb a0 ;設置此字節(jié)為顯示數(shù)據(jù)
clr e2 ;slave關閉
ret
trndata: ;傳送一個字節(jié)到液晶顯示模塊
push a ;保存原始數(shù)據(jù)
setb sda ;sda線置位
setb clk ;clk線置位
mov r7,,#08h
trn_loop:
rlc a
clr clk
mov sda,C
setb clk
djnz r7,,trn_loop
pop a ;恢復原始數(shù)據(jù)
ret
init: ;初始化液晶顯示模塊
mov a,,#0e3h ;LCD復位
lcall outmi
lcall outsi
mov a,#0aeh ;關顯示
lcall outmi
lcall outsi
mov a,,#0a4h ;動態(tài)驅動
lcall outmi
lcall outsi
mov a,,#0a9h ;刷新率選擇1/32
lcall outmi
lcall outsi
mov a,#0a0h ;ADC選擇右移
lcall outmi
lcall outsi
mov a,,#0eeh ;結束讀寫
lcall outmi
lcall outsi
mov a,,#00h ;設置列地址0
lcall outmi
lcall outsi
mov a,#0c0h ;設置顯示開始行0
lcall outmi
lcall outsi
mov a,,#0afh ;開顯示
lcall outmi
lcall outsi
;下面為漢字顯示
mov r1,,#20 ;漢字顯示的起始為第 20列
mov dptr,#tian ;“天”字字庫地址
clr 10h ;10h=‘0’顯示在第一行
mov 1fh,,#10h ;1fh=‘10h’表示為16×16 點陣
lcall dishz ;調用顯示漢字子程序
;子程序名稱: dishz
;dptr: 對應字庫的起始地址
;r1: 顯示數(shù)據(jù)在122列中的起始列
;位10h: 0——顯示在第一行,1——顯示在第二行
;1fh: 顯示漢字16×16=10h,,顯示字符16×8=8h
參考文獻
1 何立民. 單片機應用系統(tǒng)設計. 北京: 北京航空航天大學出版社,,1990
2 李維言是,郭 強.液晶顯示應用技術. 北京:電子工業(yè)出版社,,2000
3 孫德和,,袁 鉞.常用集成電路芯片IC參考大全. 北京:海洋出版社,1992