NOKIA移動電話液晶顯示模塊LPH7366原理及其應(yīng)用
摘要:LPH7366是一種低功耗、串行通信接口液晶顯示模塊,可廣泛應(yīng)用于移動電話或便攜式設(shè)備的液晶顯示系統(tǒng)中。文中介紹了LPH7366顯示模塊的功能原理及操作方式,給出了基于MCS51單片機(jī)的控制軟件程序。 關(guān)鍵詞:液晶顯示;移動電話;單片機(jī);LPH7366 1 引言 LPH7366是NOKIA公司生產(chǎn)的可用于其6150、6100等系列移動電話的液晶顯示模塊,國內(nèi)廠家也生產(chǎn)有類似的兼容產(chǎn)品。該產(chǎn)品除應(yīng)用于移動電話外,也可廣泛應(yīng)用于各類便攜式設(shè)備的顯示系統(tǒng)。與其它類型的產(chǎn)品相比,該模塊具有以下特點: ●采用串行接口與主處理器進(jìn)行通信,接口信號線數(shù)量大幅度減少,包括電源和地在內(nèi)的信號線僅有9條。 ●采用多種串行通信協(xié)議進(jìn)行數(shù)據(jù)通信(如MCS51單片機(jī)的串口模式0以及SPI等),傳輸速率高達(dá)4Mbps,可全速寫入顯示數(shù)據(jù),無等待時間。 ●可通過導(dǎo)電斑馬條連接模塊與印制版,而不用連接電纜,用模塊上的金屬鉤可將模塊固定到印制板上,因而非常便于安裝和更換。 ●LCD控制器/驅(qū)動器芯片已綁定到LCD晶片上,模塊的體積很小。 ●采用低電壓供電,正常顯示時的工作電流在200μA以下,且具有掉電模式。 LPH7366的這些特點非常適合于電池供電的便攜式通信設(shè)備和測試設(shè)備中。 LPH7366液晶顯示模塊采用Philips公司生產(chǎn)的PCD8544芯片為其內(nèi)部控制器,可在單片IC上同時實現(xiàn)LCD的控制和驅(qū)動功能以及LCD電源和偏置電壓產(chǎn)生功能。該IC具有很高的集成度,它不需要其它元件就可實現(xiàn)與微處理器的連接與通信。 LPH7366的引腳功能如下: SDIN:串行數(shù)據(jù)輸入線; SCLK:串行時鐘輸入,速率為0.0~4.0Mbps; D/ C:模式選擇,該端為高電平時輸入控制命令,為低電平輸入顯示數(shù)據(jù); SCE:芯片使能,低有效; OSC:外部時鐘輸入端,當(dāng)使用內(nèi)部時鐘時,該引腳接地; RES:復(fù)位輸入端,低電平可復(fù)位控制器; VLCD:LCD電源升壓電容接入端,接10μF電容可用于產(chǎn)生LCD工作電壓; VDD1,VDD2:電源輸入端,電壓為2.7~3.3V; VSS:電源地。 3.1 DDRAM尋址模式 模塊控制器PCD8544內(nèi)有4884bit顯示數(shù)據(jù)存儲器DDRAM(Display Data RAM),因而具有矩陣式圖形顯示功能。通過串行接口命令可直接訪問該存儲器,以更新顯示數(shù)據(jù)??刂破鲀?nèi)部處理總線采用8b寬度,因而可通過DDRAM組成684b的矩陣。整個顯示數(shù)據(jù)區(qū)可劃分為6行,每行84個字節(jié)。 每個顯示數(shù)據(jù)字節(jié)由行地址和列地址共同尋址,行地址范圍為Y0~Y5,列地址范圍為X0~X83。通過修改行、列地址的指針可訪問任意字節(jié)的顯示數(shù)據(jù)。此外,PCD8544內(nèi)部還設(shè)置了地址指針自動增加功能,這樣,每次顯示數(shù)據(jù)字節(jié)寫入后,指針會自動尋址跳到下一字節(jié),從而加快顯示速度。地址指針自動增加功能有如下兩種模式: (1)垂直尋址方式(逐列顯示模式) 這種尋址模式如圖1所示,當(dāng)尋址控制位V為1時,每次寫入顯示數(shù)據(jù)后,行地址指針Y增1,Y到5后自動清零,列地址X增1,并尋址到下一列。當(dāng)尋址到最后一行(Y為5)的最后一列(X=83)時,行、列地址均自動清零,并返回到首行首列; (2)水平尋址方式(逐行顯示模式) 這種尋址模式的示意圖如圖2所示,與垂直尋址方式類似,當(dāng)尋址控制位V為0時,每次寫入顯示數(shù)據(jù)后X增1,當(dāng)X為83后自動清零,Y增1,尋址到下一行。當(dāng)尋址到最后一行(Y為5)的最后一列(X=83)時,行、列地址均自動清零,并返回到首行首列。 3.2 控制指令和數(shù)據(jù)格式 對液晶控制器的訪問分為控制指令和顯示數(shù)據(jù)兩種操作模式,兩種模式可由D/ C引腳來控制。當(dāng)D/ C為高電平時,表明當(dāng)前寫入的字節(jié)是顯示數(shù)據(jù),當(dāng)D/ C為低電平時,表明當(dāng)前寫入的字節(jié)是控制指令。在發(fā)送每個字節(jié)最后一個比特時,可由微處理器讀?。模?C引腳的狀態(tài),其工作時序如圖3所示。在寫入每個顯示數(shù)據(jù)后,地址指針會自動增加,因此在設(shè)定了起始指針后,可連續(xù)寫入顯示數(shù)據(jù)??刂浦噶詈惋@示數(shù)據(jù)均由8比特組成,MSB位首先發(fā)送,在每個SCLK的上升沿,SDIN被采樣。 指令和數(shù)據(jù)可以按任意需要的先后順序?qū)懭?。?dāng)SCE為高時,控制器的串行接口被初始化,此時由于SCLK以及SDIN引腳的變化不會對控制器產(chǎn)生任何作用,因此,串行接口不會消耗電能。由于系統(tǒng)在SCE的下降沿使能串行口,因此,在該引腳保持低電平期間,可對串行口進(jìn)行操作。 3.3 模塊控制器指令集 LPH7366模塊控制器的指令集分為基本指令集和擴(kuò)展指令集,可通過修改功能設(shè)置控制寄存器中的H標(biāo)志位來選擇使用的指令集。當(dāng)H為0時,選擇基本指令集;當(dāng)H為1時,選擇擴(kuò)展指令集。但功能設(shè)置控制寄存器及寫入數(shù)據(jù)寄存器不受此標(biāo)志影響。LPH7366的基本指令集包含下列指令: (1)設(shè)置顯示配置; (2)設(shè)置顯示存儲器DDRAM的行地址; (3)設(shè)置顯示存儲器DDRAM的列地址; 擴(kuò)展指令集包含下列指令: (1)設(shè)置溫度系數(shù); (2)設(shè)置偏置系統(tǒng); (3)設(shè)置工作電壓寄存器。 表1給出了模塊控制器指令集標(biāo)志位的含義,表2是對該指令集的詳細(xì)描述。該液晶模塊的工作電壓可由軟件設(shè)置,其數(shù)值依賴于所選擇的液晶。模塊溫度系數(shù)、偏置電壓的工作原理及設(shè)置方法可參見有關(guān)參考文獻(xiàn),用戶可根據(jù)顯示的效果進(jìn)行調(diào)整,本文的設(shè)置僅作參考。
表2 PCD8544指令集
4 與單片機(jī)的接口及顯示編程 LPH7366顯示模塊可與多種串行接口進(jìn)行通信,下面介紹其與MCS51單片機(jī)的通信接口方法。顯示模塊的電源輸入VDD1、VDD2通常連到一起接到2.7~3.3V直流電源上,VLCD與電源地之間應(yīng)接10μF電解電容。使用內(nèi)部時鐘時,應(yīng)將OSC接地。圖4所示是單片機(jī)與LPH7366顯示模塊的接口圖。 如果單片機(jī)的工作電壓為5V,則需在連接線中串入100Ω左右的電阻,而如果單片機(jī)的工作電壓為3V,則可直接連接。工作時?將單片機(jī)串行口設(shè)置為模式0,并通過向SBUF寄存器寫入數(shù)據(jù)來完成8位串行數(shù)據(jù)的發(fā)送,RXD用以輸出串行數(shù)據(jù),TXD則產(chǎn)生串行時鐘,其余控制引腳可利用P1或P3口的I/O線產(chǎn)生控制信號。以下代碼為顯示編程范例,運行該程序后?屏幕上可顯示大寫的‘PH’字符。 define uchar unsigned char define cflag 0x00 define dflag 0x01 define set_xadr 0x80 define set_yadr 0x40 sbit SCK=P3^0; sbit SDIN=P3^1; sbit SCE=P1^0; sbit DC=P1^1; sbit RES=P1^2; char_table[8]= { 0x1f,0x05,0x07,0x00, /*字符‘P'點陣*/ 0x1f,0x04,0x1f,0x00, /*字符‘H'點陣*/ };? main { uchar i; uchar x,y; /*定義x,y地址指針*/ mode_initiation(); x=0; y=0; write_byte(cflag,set_xadr + x); write_byte(cflag,set_yadr + y); for(i=0;i<8;i++){ write_byte(dflag,char_table[i]);?? } } 模式初始化函數(shù) void mode_initiation(void) { ES=0; RES=1; /*復(fù)位液晶控制器*/; SCON=0x02; /*設(shè)置串行口為模式0*/; write_byte(cflag,0x21); /*PD=0,V=0,選擇擴(kuò)展指令集*/ write_byte(cflag 0x10); /*設(shè)置LCD工作電壓*/ write_byte(cflag 0x20); /*PD=0,V=0,選擇基本指令集*/ write_byte(cflag 0x0c); /*設(shè)置顯示正常的工作模式*/ } 寫入數(shù)據(jù)字節(jié) void write_byte(uchar f,uchar b) { if(f==0)DC=0; else DC=1; SCE=0 SBUF=b; TI=0;);?? SCE=1 } 5 結(jié)束語 由于LPH7366現(xiàn)已可以大量生產(chǎn),因此?該液晶顯示模塊的價格非常低廉,而且由于其具有結(jié)構(gòu)緊湊、耗電少、操作簡便等特點,因而非常適合于便攜式設(shè)備的應(yīng)用和開發(fā)。 |
評論