新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 簡單實用的四線點陣液晶驅(qū)動方式

簡單實用的四線點陣液晶驅(qū)動方式

作者: 時間:2009-02-26 來源:網(wǎng)絡(luò) 收藏

隨著科學(xué)技術(shù)的飛速發(fā)展,電子產(chǎn)品越來越向智能化、小型化、人性化、低功耗等方面發(fā)展。而顯示屏的興起,為上述要求的實現(xiàn)提供了可能。顯示屏大致可分為段式、字符式、式,或者單色、彩色等。大多顯示屏都實現(xiàn)了標(biāo)準(zhǔn)化和模塊化,采用通用的控制芯片(例如SED1330、SED1520、HD61202等)實現(xiàn)與單片機等的連接,但此類液晶顯示模塊多采用并行的數(shù)據(jù)線和控制線連接。在實際應(yīng)用中,考慮到產(chǎn)品的成本和體積,采用并行的數(shù)據(jù)線和控制線連接,使用起來不是很方便。因此希望采用標(biāo)準(zhǔn)的工業(yè)總線I2C、SPI等連接,而這類產(chǎn)品卻很少見。本文巧妙地利用液晶顯示模塊的特點,采用一片74LS164實現(xiàn)液晶的四線控制,電路。

本文引用地址:http://www.butianyuan.cn/article/173887.htm

1 液晶顯示模塊簡介

  本文介紹的是一種采用SED1520芯片控制的122×32圖形,它主要由行/列及122×32全點陣液晶顯示器組成,可完成圖形顯示,也可顯示七個半(16×16點陣)漢字。主要技術(shù)參數(shù)和顯示特性如下:

  ?電源:VDD為+3V~+5V;LCD外接電壓VDD-VLCD=5.0V。

  ?顯示內(nèi)容:122(列)×32(行)點。

  ?顯示顏色:黃綠底藍字。

  ?顯示角度:6點鐘直視。

  ?STN正視反射模式。

  ?驅(qū)動:1/32 Duty,1/6 Bias。

  ?驅(qū)動電流:最大240μA。

液晶顯示模塊驅(qū)動原理圖如圖1所示。

液晶顯示模塊引腳特性如表1所示。

部分傳送指令表如表2所示。

2 四線點陣驅(qū)動電路

  四線點陣驅(qū)動電路如圖2所示。

系統(tǒng)采用一片74LS164以串入并出與點陣液晶顯示模塊FM12232C連接,通過四條信號線(SDA串行數(shù)據(jù)線、CLK/A0串行時鐘線即液晶顯示模塊的A0數(shù)據(jù)/指令控制線、E1主驅(qū)動芯片使能線、E2從驅(qū)動芯片使能線)實現(xiàn)點陣液晶顯示屏的驅(qū)動。與液晶顯示模塊所提供的電路連接相比,四條線與單片機2051連接至少減少7根口線,這樣大大節(jié)省了小型電子產(chǎn)品中寶貴的單片機口線資源,使產(chǎn)品更加人性化和智能化。

  根據(jù)液晶顯示屏的控制指令及時序可知,只要在對模塊寫入數(shù)據(jù)的同時保證模塊指令操作延時足夠,就可以不檢查模塊狀態(tài),達到直接控制的目的。點陣液晶顯示屏的一個點對應(yīng)存儲器中的一位,置位則顯示,清除則不顯示,因此只要控制相應(yīng)的數(shù)據(jù)位就可控制液晶顯示屏的顯示。液晶顯示模塊的顯示數(shù)據(jù)采用分頁方式存儲(存儲器的劃分請參閱相關(guān)資料)。

  數(shù)據(jù)傳送時,首先選擇使能端“E1”或“E2”,送數(shù)據(jù)到74LS164,然后送指令/數(shù)據(jù)選擇信號“A0”,關(guān)閉使能端,實現(xiàn)數(shù)據(jù)和指令的傳送,使液晶顯示屏顯示圖形或漢字等。

3 相關(guān)軟件

  相關(guān)軟件采用匯編語言編寫。由于篇幅限制,只提供傳送指令和數(shù)據(jù)到液晶顯示模塊的子程序,并通過初始化程序和顯示漢字程序介紹如何使用上述子程序。關(guān)于顯示漢字子程序、其它顯示字符串、動畫、圖形以及在Windows下提取字庫和圖形庫相關(guān)程序,如有需要請與作者聯(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關(guān)閉

lcall trndata ;傳送一個字節(jié)

clr a0 ;設(shè)置此字節(jié)為指令

clr e1 ;master關(guān)閉

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關(guān)閉

lcall trndata ;傳送一個字節(jié)

setb a0 ;設(shè)置此字節(jié)為顯示數(shù)據(jù)

clr e2 ;slave關(guān)閉

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 ;恢復(fù)原始數(shù)據(jù)

ret

init: ;初始化液晶顯示模塊

mov a,#0e3h ;LCD復(fù)位

lcall outmi

lcall outsi

mov a,#0aeh ;關(guān)顯示

lcall outmi

lcall outsi

mov a,#0a4h ;動態(tài)驅(qū)動

lcall outmi

lcall outsi

mov a,#0a9h ;刷新率選擇1/32

lcall outmi

lcall outsi

mov a,#0a0h ;ADC選擇右移

lcall outmi

lcall outsi

mov a,#0eeh ;結(jié)束讀寫

lcall outmi

lcall outsi

mov a,#00h ;設(shè)置列地址0

lcall outmi

lcall outsi

mov a,#0c0h ;設(shè)置顯示開始行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 ;調(diào)用顯示漢字子程序

;子程序名稱: dishz

;dptr: 對應(yīng)字庫的起始地址

;r1: 顯示數(shù)據(jù)在122列中的起始列

;位10h: 0――顯示在第一行,1――顯示在第二行

;1fh: 顯示漢字16×16=10h,顯示字符16×8=8h



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉