




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
8080系列的MCU接 6800系列的MCU接 4Bit/8Bit的MCU接 Wakeup的程 LCD屏幕顯示On/Off設 光標On/Off設 如何讀取FontROM字 KeyScan應 ASCII區(qū)塊選擇設 ASCII字形區(qū)塊 ASCII字形區(qū)塊 ASCII字形區(qū)塊 ASCII字形區(qū)塊 附錄A.指令時 附錄B.緩存器功能 附錄C.接線圖與子程 附錄D.外形尺寸 陣)、OCMJ10X15D(240x160點陣)、OCMJ15X20D(320x240點陣)等6款。D系列中文液晶顯示模塊是一個中英文文字與繪圖模式的點矩陣液晶顯示模塊,內建512KByte的ROM字形碼,可以顯示中文字型、數(shù)D系列中文液晶顯示模塊除了支持8080/6800系列之MCU外,也提供4-Bit或8-Bit的數(shù)據(jù)總線接口。D系列點陣的48x48、64x64及不同比例的混合顯示模式,同時內建的512ByteSRAM提供了自行造字的功能。除此之外,D和OCMJ5X10D/OCMJ10X10D屏蔽了此功能),以及4x8或8x8的鍵盤掃瞄界面(KeyScan)(OCMJ10X15D/OCMJ10X10D屏蔽了此功能)支持2Page顯示模式(AndOr,Nor,Xor),內建兩個4.8K9.6K(15x20D)Byte的顯示RAMDisplayDataRAM),共9.6K/19.2K(15x20D)ByteRAM,并且可做成4階的顯示效果。內建512KByteROM,控制IC分帶繁體字庫IC和帶簡體字庫IC,其中標準繁體中文BIG5碼,包含13,094個常用與次常用字型、408個特殊字與兩組ASCIICODE,簡體字庫儲存7602個標準GB碼的簡體中文。支持4/8位之6800/8080MCU接口內建8x8鍵盤掃瞄界面(KeyScan)OCMJ10X10DOCMJ10X15D屏蔽了此功能)內建512ByteSRAM可自行造字顯示字型可放大到32x32、48x48或64x64,以及混合顯示模式支持可將字型由ROM直接讀出使用內建10-BitADC支持觸控屏幕應用(OCMJ4X15DOCMJ5X10DOCMJ10X10D屏蔽了此功能OCMJ4X15D和OCMJ5X10D當為黃綠屏而不使用背光時,或者為藍屏使用背光時,可使用3V供電而不需OCMJ8X10D和OCMJ8X15D也可使用3V供電但需外接負電壓,除OCMJ8X10D的藍屏背光可使用3V供電外,其他背光都要4.1V以上供電OCMJ10X15D可使用3V供電并且需外接+23VOCMJ10X10DOCMJ15X20D可直接使用3V12345O6O7I8I9IIII時要將短接點J32的左邊兩點斷開,改成短接右邊兩點,而且最好將系統(tǒng)頻率SCLK設定成3或4MHZ,若覺得對比度不夠理想,可將短接點J45VJ4RLED改為0歐姆,若恢復5V供電,必須改回原來的背光電阻,否則白背光很容易燒壞。另:OCMJ4X15DPCBKC0、KR0、KC7、KR7已斷開,JC0JR0JC7JR7AVSSAVDDVSSVDD有J21J22J21J22203~22腳。123456O7O8I9IIIIIIIIIIIIIIIIIIIII注:OCMJ5X10D當為黃綠屏而不使用背光時,或者為藍屏使用背光時,可使用3V供電而不需外接負電壓,J3SCLK34MHZ,若覺RLED1改為0歐姆,若恢復5V供電,必須改回原來的背光電阻,否則白背光很容易燒壞。另:OCMJ5X10D已在PCB板上做了阻容復位電路以供模塊上電復位,所以可以不接21腳(/RST),而22(VEE)也可以懸空,只需在PCB板上的RL1加焊1個1K(102)的電阻,所以可使用標準的雙排20針接口連接模塊的1~20腳(鍵盤引腳分開另外連接。1234567O8O9IIIIIIIIIIIIIIIIIIIIIII電阻式觸摸面板左邊端點I電阻式觸摸面板上邊端點I電阻式觸摸面板右邊端點I電阻式觸摸面板下邊端點OCMJ8X10D3VLCD,而且白背光也可以用3VRLED105V另:為方便使用模塊,OCMJ8X10D另有背光引腳接口(PCBLED+LED-),背光電源可1、2LED+、LED-AVSSAVDDVSSVDD短接;所以當不使用鍵盤和觸控屏幕時,可使用標準的雙排20針接口連接模塊的5~24腳。1234I5I6I7I8I9OOI注:OCMJ10X10D3.3V驅動而無需外接負壓。123456I7I8I9IIOOI注:OCMJ8X15D也可使用3V供電但需外接負電壓驅動LCD,而且其背光電壓需4.1V以上。另:OCMJ8X15D的鍵盤引腳接口和觸摸面板接口在KEY_SCAN.asm里有標注。1I2I3I4I56789IOOI注:OCMJ10X15DVEE端輸入+23V3V供電此時要將背光電阻RLED6歐姆左右,若恢復5V供電,必須改回原來的背光電阻,否則背光很容易燒壞。J1(帶內置中文字庫的RA8803控制器1234I5I6I7I8I9OOI(+5V((0V(1I2I3I4I5I6I7I8I9IIIIIIII1I電阻式觸摸面板左邊端點2I電阻式觸摸面板上邊端點3I電阻式觸摸面板右邊端點4I電阻式觸摸面板下邊端點1I2I3I4I5I6I7MI8I9I注:OCMJ15X20D3VR14(75K歐姆)改,此時若其背光LEDRLED2/RLED305VD系列中文液晶顯示模塊支持8080和6800兩大系列屬性的MCU接口,出廠時默認8080對OCMJ4X15DR12到R13可改成6800系列接口;對OCMJ5X10DR9到R8可改成6800系列接口;對OCMJ8X10DR6到R2可改成6800系列接口;對OCMJ10X10DR11R126800對OCMJ8X15DR14到R11可改成6800系列接口;對OCMJ10X15DR3到R4可改成6800系列接口;對OCMJ15X20D移動R2到R6可改成6800系列接口。8080系列的MCU圖3-1是D系列中文液晶顯示模塊與8080兼容系列的MCU接口示意圖,此時將只接受與8080MCU圖3-2是8080系列MCU與D系列中文液晶顯示模塊間的系統(tǒng)時序圖,在D系列中文液晶顯示模塊的定義中,RS為“L”時是表示對緩存器下命令,也就是對D系列中文液晶顯示模塊的緩存器進行讀寫的動作(RegisterAccessCycle),而RS為“H”時是表示對DisplayRAM進行Data讀寫的動作(DataAccessCycle)。不論是8080或6800“RSPin通常接到MCU的AddressPinA0”,8080系列MCU與6800最大的不同是Read、Write的控制信號是分開的,RD為Low時是進行讀取動作,WR為Low時是進行寫入動作,至于讀寫的目的地則由RS下面圖3-2表示如果是對緩存器進行讀取動作,MCU必須透過數(shù)據(jù)總線先送出緩存器的地址,然后才能在數(shù)據(jù)總線上讀取緩存器的資料,如果是對緩存器進行寫入動作,MCU必須透過數(shù)據(jù)總線先送出緩存器的地址,然后再送出要寫入的資料。當8080MCU對D系列中文液晶顯示模塊DisplayRAM進行資料的讀取動作,MCU能直接在數(shù)據(jù)總線上讀取DisplayRAM的資料,如果8080MCU對DisplayRAM進行資料的寫入動作,MCU則直圖3-2:8-Bit8080MCU對D系列中文液晶顯示模塊緩存器/DATA進行讀取/6800系列的MCU圖3-3是D系列中文液晶顯示模塊與6800兼容系列的MCU接口示意圖,此時將只接受與6800系列兼容的MCU所傳送出來的控制時序。6800系列MCURead、Write的控制信號是同一根Pin,R/W#為High時是進行讀取動作,R/W#為Low時是進行寫入動作,而EN則是確定讀寫的動作是否有效(Enable),至于讀寫的目的地仍由RS決定。D系列中文液晶顯示模塊無法同時接受6800及8080的控制信號,因此在MCU的接口上,某些腳位上會因為使用者選擇不同的MCU而有不同的定義,例如腳位RD#(EN),當使用者選擇的MCU接口為8080時是定義成RD#,而選擇6800MCU時是定義為EN。而腳位WR#(R/W#),當使用者選擇的MCU接口為8080時是定義成WR#,而選擇6800MCU時是定義為R/W#。下面圖3-4表示如果是6800MCU對D系列中文液晶顯示模塊緩存器進行讀取動作,MCU必須透過數(shù)據(jù)總線先送出緩存器的地址,然后才能在數(shù)據(jù)總線上讀取緩存器的資料,如果是對緩存器進行寫入動作,MCU必須透過數(shù)據(jù)總線先送出緩存器的地址,然后再送出要寫入的資料。當6800對D系列中文液晶顯示模塊DisplayRAM進行資料的讀取動作,MCU能直接在數(shù)據(jù)總線上讀取DisplayRAM的資料,如果6800MCU對DisplayRAM進行資料的寫入動作,則MCU直接在數(shù)據(jù)總線上送出要寫入的資料。圖3-4:8-bit6800MCU對D系列中文液晶顯示模塊暫存器/Data進行讀取/4Bit/8Bit的MCUD系列中文液晶顯示模塊除了支持8080和6800兩大系列兼容的MCU接口外,也可以設定MCU上的數(shù)據(jù)總線接口是4-Bit或是8-Bit,出廠時默認8-Bit接口。對OCMJ4X15D移動R14到R15可改成4-Bit接口;對OCMJ5X10D移動R6到R3可改成4-Bit接口;對OCMJ8X10D移動R3到R7可改成4-Bit接口;對OCMJ10X10D移動R9到R10可改成4-Bit接口;對OCMJ8X15D移動R10到R13可改成4-Bit接口;對OCMJ10X15D移動R6到R7可改成4-Bit接口;對OCMJ15X20D移動R1到R5可改成4-Bit接口。因為控制IC內部的緩存器大多是8-Bit的架構,因此如果使用4-Bit的數(shù)據(jù)總線接口,MCU將會花較多的周期(Cycle)去存取內部的緩存器。當選擇4-bitMCU作傳輸模式時,D系列中文液晶顯示模塊的MCU接口只有用到數(shù)據(jù)總線的D3~D0,而沒有用到的D7~D4則不必理會(當成NCPin),同時每一個八位的指令或資料將被分為兩個Nibble(4-Bit)依序透過數(shù)據(jù)D系列中文液晶顯示模塊內建有512KByte的16x16中文顯示字型ROM(FontROM)與8x16的ASCII半型字型。除了內建的8x16和16x16的字號外,還提供字型放大的功能,可利用REG[F1h]的設定,將顯示字號放大到32x32、48x48或64x64??刂艻C分帶繁體字庫IC和帶簡體字庫IC,其中標準繁體中文BIG5碼,包含13,094個常用與次常用字型、408個特殊字與兩組ASCIICODE,簡體字庫儲存7602個標準GB碼的簡體中文。緩存器[F0h]是用來設定與字型ROM相關的功能,當使用帶繁體字庫IC時,必須將Bit[5..4]設成“01”才能正確顯示繁體字型,當使用帶簡體字庫IC時,必須將Bit[5..4]設成“10”才能正確顯示簡體字型。REG[F0h]FontControlRegister7字型ROM0:Bypass客戶建立字型ROM時使用,暫不提供6字型ROM當bit5~4設定”00” 下的256KBROM的地址空間。1:選擇下部256KB字型0:選擇上部256KB字型字型ROM2強制為ASCII1:所有輸入的Data,都以ASCII譯碼((注:中文內碼不論是GB或BIG5碼都是由兩個Byte組成,但是英文及一些符號ASCII碼只由一個Byte組成(00h~FFh),通常D系列中文液晶顯示模塊將送到DisplayRAM的Data(00h~9Fh)視為ASCII碼,也就半角文字(8x16),大于等于“A0h”的視為全角碼(如繁簡中文)的高位,必須再送一次低位內碼,才能顯示全角字型。如果使用者有用到A0h~FFh的ASCII碼,則MCU在送Data(ASCII碼)到DisplayRAM之前必須將緩存器[F0h]的Bit2Wakeup當REG[00]之bit7-6為”00”,則進入關閉模式(OFFMODE),若是要做喚醒的動作(Wake-UP),此時可使用三種方式,將D系列中文液晶顯示模塊喚醒。1,利用MCU將緩存器[00]的bit7-6再設定為”11”,就可回到正常模式(NormalMode)設定緩存器[A0]的bit2為”1”及緩存器[C0]的bit3=”1”,當整個系統(tǒng)進入OFF-mode之后,若此時有任何觸控屏幕的動作,則模塊將產生中斷訊號INT由”0”到”1”的變化,此控制訊號可連接至微處理機做其它動作的延續(xù)。unsignedcharintr=Lcd_regread(0xA0)|0x04;unsignedchartpcr=Lcd_regread(0xC0)&0xf8;tpcr|=0x80; // //::KeySCAN中斷功能unsignedcharkscr=Lcd_regread(0xA1)|0x80;unsignedcharintr=Lcd_regread(0xA0)|0x08; REG[A1]:bit7=1(KeyScan致能 //::D系列中文液晶顯示模塊的文字模式可以支持全角(中文或英文)及半角(英文)的顯示,全角文字是以16x16的點繪出中文,D系列中文液晶顯示模塊的中文顯示方式則是在文字模式,直接輸入中文字碼(GB或BIG5碼),就可以在光標所在位置顯示中文。因為中文字碼占兩個Byte,所以如果MCU接口是8-Bit,則MCU必須分兩次將碼一次寫入D系列中文液晶顯示模塊既可。表5-1為圖5-2所示之全角(中文)與半角文字的字型碼,下面例題程序就是說明如何顯示圖5-2的畫面。5-1:文字碼的對照表中文文字/圖行LCD控制器
MOVA,#A4H;寫入“中”的字型碼HighByteCALLDDR_WRITEMOVA,#A4H;寫入“中”的字型碼LowCALLDDR_WRITE在光標所在位置會顯示“中”MOVA,#A4H;寫入“文”的字型碼HighByteCALLDDR_WRITEMOVA,#E5H;寫入“文”的字型碼LowByteCALLDDR_WRITE在光標所在位置會顯示“文”::REG[10h]WholeChipCursorControlRegister4D系列中文液晶顯示模塊的繪圖模式是以字符映像(bitmap)方式填入圖形資料在DisplayRAM上,圖5-3說明REG[00h]WholeChipLCDControllerRegister3REG[12h]MemoryAccessModeRegister7REG[10h]WholeChipCursorControlRegister7光標自動移位設定,此Bit用來設定當數(shù)據(jù)讀出DDRAM時,光3光標自動移位設定,此Bit用來設定當數(shù)據(jù)寫入DDRAM時,光當D系列中文液晶顯示模塊在顯示圖形的時候,是以字符映像(BitMap)的方式寫入DDRAM,若DDRAM的某個位置被填滿為‘1’時,相對于LCD面板的位置會被顯示出亮點,由圖5-4可看出,在DDRAM上所儲存之像素資以下程序就是以圖5-4做例子,用繪圖模式在LCD的左上角秀出圖形:MOVA60h;選擇光標設定緩存器CALLMOVA00h設定坐標X=0CALLREG_WRMOVA70h選擇光標設定緩存器(CPYR)CALLREG_WRMOVA00h;設定坐標CALLREG_WR;設定光標位置為MOVA,#E6H在LCD的左上角秀出“E6”CALLLcd_regwrite(0x60,0x00);//設定坐標X=0Lcd_regwrite(0x70,0x00);//設定坐標Y=0Lcd_datawrite(0xE6在LCD的左上角秀出“E6”的圖形在繪圖模式下,緩存器[12h]的Bit7用來選擇光標的移動是先水平移動再垂直移動或是先垂直移動再水平移動,圖5-6范例MOVA12h;[12h]MAMR)CALLREG_WRMOVA91hBit7=1,CALLMOVA,#11H在LCDPanel“11”的圖形PatternCALLDDR_WRITEMOVA,#22H在LCDPanel“22”的圖形PatternCALLDDR_WRITEMOVA,#33H在LCDPanel“33”的圖形PatternCALLDDR_WRITEMOVA,#44H在LCDPanel“44”的圖形PatternCALLDDR_WRITE圖5-7范例MOVA12h;[12h]MAMR)CALLREG_WRMOVA11hBit7=0,CALLMOVA,#11H在LCDPanel“11”的圖形PatternCALLDDR_WRITEMOVA,#22H在LCDPanel“22”的圖形PatternCALLDDR_WRITEMOVA,#33H在LCDPanel“33”的圖形PatternCALLDDR_WRITEMOVA,#44H在LCDPanel“44”的圖形PatternCALLDDR_WRITE在繪圖模式下,若要讀取DisplayRAM的數(shù)據(jù)時,也是由緩存器[12h]的Bit7用來選擇光標的移動是先水平移動再垂直移動或是先垂直移動再水平移動,如圖5-5。不論寫入或讀取DisplayRAM的數(shù)據(jù)都必須注意光標的設定是否有自動加一的功能,也就是緩存器[10h]的Bit7與Bit3。如圖5-8是代表緩存器[12h]Bit7=1(先水平移動再垂直移動)時DisplayRAM數(shù)據(jù)的讀取方向(以OCMJ4X15D為例)。REG[00h]WholeChipLCDControllerRegister1如果要將LCD畫面全部反白只要設定緩存器[00h]的Bit0REG[00h]WholeChipLCDControllerRegister0如果要將LCD畫面秀出反白的字體只要設定緩存器[10h]的Bit5既可,圖5-10說明要反白顯示時,緩存器要如寫入"中文文字/圖形LCD控制器"的BIG5碼,然后可顯示出"中文文字/圖形LCD控制器Holdon寫入"文字"的BIG5碼,LCD就可顯示出"文字Hold寫入"反白"的BIG5碼,LCD就可顯示出"反白Hold寫入"功能”的BIG5碼,LCD就可顯示出"功能REG[10h]WholeChipCursorControlRegister51:直接儲存資料于DDRAM中中文液晶顯示模塊可以設定中文英文顯示時不同行的顯示效果以決定文字是否對齊,圖5-11說明要表現(xiàn)出中英文文字“對齊”之情形時,緩存器要如何設定:設定REG[10hbit6寫入“中文文字/圖形LCD控制器”兩次,則屏幕會秀出”中文文字/圖形LCD控制器REG[10h]WholeChipCursorControlRegister6圖5-12說明要表現(xiàn)出中英文文字“不對齊”設定REG[10hbit6寫入“中文文字/圖形LCD控制器設定REG[10hbit6寫入“中文文字/圖形LCD控制器”LCD屏幕顯示On/OffREG[00h]WholeChipLCDControllerRegister2光標On/OffREG[10h]WholeChipCursorControlRegister2光標顯示On/Off緩存器[60h]CPXR的Bit[5..0]用來設定光標的Segment地址,光標的Segment地址是以每8-Bit為單位,例如,想在屏幕的左上角秀出“控”,則必須設定光標緩存器CPXR=00h,CPYR=00h,又例如想在屏幕的左上角第三個全角位置秀出“制”,則必須設定光標緩存器CPXR=04h,CPYR=00h,同理,想在屏幕的左上角第二行第一個全角位置秀出“器”,則必須設定光標緩存器CPXR=00h,CPYR=10h,請參考圖5-13。REG[60h]CursorPositionXRegisterR設定光標SegmentREG[70h]CursorPositionYRegister設定光標Common不論文字或是繪圖模式,都是使用緩存器[60h]CPXR與[70h]CPYR來設定光標的地址。緩存器[60h]CPXRREGREG[10h]WholeChipCursorControlRegister7光標自動移位設定,此Bit用來設定當數(shù)據(jù)讀出DDRAM時,光3光標自動移位設定,此Bit用來設定當數(shù)據(jù)寫入DDRAM時,光REG[10h]WholeChipCursorControlRegister11:光標閃爍,閃爍時間由緩存器[80hBTRREG[80h]BlinkTimeRegister閃爍時間Bit[7..0]x如果FrameRate60Hz,則1/Frame_Rate1/60Hz1.67ms,光標閃爍時間REG[80h]x1.67ms,例如設定REG[80h]=35h=53(十進制),因此光標閃爍時間=53x16.7ms=885ms。REG[11h]DistanceofWordsorLinesRegisterD系列中文液晶顯示模塊在做文字顯示時,有提供兩種光標寬度的設定。第一種為REG[10hbit0=0時,光標的寬度將會固定為1個Byte的寬度(也就是8個點陣列)。第二種為REG[10hbit0=1時,光標的寬度會隨著所輸入文字來做變化,例如當輸入一個全角字時,文字后面的光標寬度會自動變?yōu)?個Byte(也就是16個點陣列)。當輸入一個半角字時,文字后面的光標寬度會自動變?yōu)?個Byte。REG[10h]WholeChipCursorControlRegister0為一個字節(jié)寬度(8個Pixel),當數(shù)據(jù)為全型時,光標為二個字節(jié)寬度(16個Pixel)。0:光標固定為一個字節(jié)的寬度(8個Window)。顯示窗口(DisplayWindow)是實際LCD面板的大小,而工作窗口(ActiveWindow)例如面板大小為240x64,而它的顯示窗口就為240x64。在顯示窗口(240x64)內可依使用者需要,來設定工作窗REG[21h]DisplayWindowRightRegisterR設定顯示窗口(DisplayWindow)右邊位置Segment-RightSegment_Right=(SegmentNumber/8)–1如果LCDPanel為240x64(240/8)–1=29=REG[31]DisplayWindowBottomRegister設定顯示窗口(DisplayWindow)底邊位置Common_BottomCommon_Bottom=LCDCommonNumber–1如果LCDPanel為240x6464–1=63=REG[41]DisplayWindowLeftRegister設定顯示窗口(DisplayWindow)左邊位置REG[51]DisplayWindowTopRegister設定顯示窗口(DisplayWindow)頂邊位置注:光標地址應設定在顯示窗口的范圍內,因此緩存器[60h,70h]、[B0hB1h]與[21h,31h,41h51h]的設定必須AWRR≧CPXR≧AWLR,AWBR≧CPYR≧AWTR,REG[20h]ActiveWindowRightRegisterR設定工作窗口(Activewindow)右邊位置REG[30h]ActiveWindowBottomRegister設定工作窗口(Activewindow)底邊位置REG[40h]ActiveWindowLeftRegisterR設定工作窗口(Activewindow)左邊位置REG[50h]ActiveWindowTopRegister設定工作窗口(Activewindow)頂邊位置注:REG[20h,30h,40h,50h]可作為換行/換頁的功能,可讓使用者利用這4個Register自行設定一個區(qū)塊為工作窗口(ActiveWindow)。當資料超過窗口的右邊界REG[20h,30h,40h,50h]所設定的值,光標會自設定完工作窗口后,光標地址不會自動移到工作窗口的范圍內,因為緩存器[60h]CPXR與[70h]CPYR的光標地址是屬于絕對地址,不會因工作窗口大小而改變,也就是(0,0)始終是在屏幕的左上角,因此設定完工作窗口后D系列中文液晶顯示模塊在做文字顯示時,提供了行距設定的功能,尤其是做中文顯示時,每一行如果有適當?shù)腞EG[11h]DistanceofWordsorLinesRegisterREG[E0h]PatternDataRegister設定寫入到DDRAM當緩存器[F0h]的bit3為‘1’,將自動讀取本暫存器[E0h的Data,然后全部填寫到DDRAM內,之后緩存器[F0h]的bit3被清除為REG[F0h]FontControlRegister3REG[01h]Misc.Register系統(tǒng)頻率SCLK(SystemClock)REG[90h]ShiftClockControlRegisterSCCR=(SCLKxDBW)/(ColumnxRowxFRS)SCLK:系統(tǒng)頻率(SystemClock單位:Hz)DBW:4(單位:Bit)Column:LCD面板的Segment大小(單位:Pixel)Row:LCD面板的Common大小(單位:Pixel)FRS:70(單位:Hz)限制條件SCCR≥例:若設定SCLK建議設定SCCR301EH:建議設定SCCR2216H建議設定SCCR150FH:建議設定SCCR606H系列中文液晶顯示模塊提供一忙碌(Busy)信號線,用來表示D系列中文液晶顯示模塊內部DDRAM與ROM的存取狀態(tài)是否因Busy而暫時無法接收MCU來的Command。以下是相關的緩存器說明:REG[01h]Misc.Register4--中斷訊號(INT)與忙碌訊號(BUSY)REG[A0h]InterruptSetup&StatusRegister7KeyScan1:KeyScan0:KeyScanR6R5光標Column1:光標的Column等于緩存器0:光標的Column不等于緩存器R4光標Row1:光標的Row等于緩存器0:光標的Row不等于緩存器R3KeyScan1:致能KeyScan0:禁能KeyScan21INTX是否發(fā)生中斷(REG[B0]1:致能INTX中斷0:禁能INTX0設定INTY是否發(fā)生中斷(REG[B1])1:致能INTY中斷0:禁能INTYREGREG[B0h]InterruptColumnSetupRegisterR設定行SegmentREG[B1h]InterruptRowSetupRegister設定列CommonREG[00h]WholeChipLCDControllerRegister電源模式(PowerMode)當Wake-Up如何讀取FontROMD系列中文液晶顯示模塊允許MCU讀取FontROM的Data,只要將緩存器[02h]的Bit3設為1Byte的中文碼,之后連續(xù)讀取的32ByteData就是該中文碼相對映的FontData,如下圖5-14REG[02h]AdvancePowerSetupRegister3字型ROM讀取FontROM的Data時其順序如下圖5-15D系列中文液晶顯示模塊內建有512KByte的中文顯示字型ROM(FontROM),全角16x16中文與8x16的ASCII半型字型。除了內建的8x16和16x16的字號外,還提供字型放大的功能,可利用REG[F1h]bit7~4的設定,將顯示字號放大到32x32或48x48,64x64。下圖是表示16x16的字型放大到32x32。REG[F1h]FontSizeControlRegisterREG[12h]MemoryAccessModeRegister設定選擇DisplaydataRAM001:只有顯示Page1的圖層(單一上層顯示模式010:只有顯示Page2的圖層(單一下層顯示模式011:同時顯示Page1和Page2的圖層(雙層模式DDRAMPage1與Page2相對映的值。 00:Page1RAM“OR”Page201:Page1RAM“XOR”Page210:Page1RAM“NOR”Page211:Page1RAM“AND”Page200:存取Page0(512BSRAM)的DisplaydataRAM01:存取Page14.8KBSRAM)的DisplayDataRAM10:存取Page24.8KBSRAM)的DisplayData11:同時存取Page1和Page2的DisplayDataD系列中文液晶顯示模塊可利用分時顯示的原理達到灰階顯示的效果,灰階模式需要同時使用Page1和Page2的圖層,在此模式下LCD每一個點的灰階效果決定于DisplayRAMPage1與Page2的值。對LCD的同一點來說,[Page1,Page2]可以為[0,0]、[1,0]、[0,1][1,1],如果它們的顯示不同將會產生不同的灰度效果,由于是利用分時顯示的原理,為了達到良好的顯示質量及避免閃爍必須將FrameRate或系統(tǒng)頻率提高。REG[E0h]PatternDataRegisterDataWrittentoDisplayTimesofGray在灰階模式下(RegisterMAMRbit[6..4]=000)控制顯示時間,如果FrameRate“1”“0”的數(shù)目代表顯示1和0的比率。PNTR55h,AAh,0Fh,F0h,CCh,33h或99h皆表示緩存器Data“1”“0”的數(shù)目一樣,那么灰階Level2與Level3的顯示效果是一樣的,如果設成這些值只能有3”1”“0”的數(shù)目才能有4灰階顯示的效果。圖5-18是在屏幕上秀出四灰階的基本概念,如果DisplayRAM的Page1上半部全部填”00”,下半部全部填”FF”,KeyScanD系列中文液晶顯示模塊內建有4x8/8x8的KeyScan電路,可用來作為Keyboard的功能,其相關設定緩存器圖5-19為KeyScan的應用電路圖,事實上只要將KeyPAD直接接到D系列中文液晶顯示模塊就可以了。設定完緩存器KSCR后直接由緩存器KSDR及KSER讀取按鍵資料就可判斷哪一個按鍵被按下。REG[A1h]KeyScanControllerRegister7KeyScan6KeySan1:KeyScan為8x80:KeyScan為4x800113KeyScan000:2001:4010:8011:16100:32101:64110:128111:256REG[A2h]KeyScanDataRegisterKeyScanKC[7~0]RREG[A3h]KeyScanDataExpandRegisterKeyScanKR[7~0]R5-19:KeyScan注:OCMJ4X15DKC0、KR0、KC7、KR7JC0、JR0、JC7、JR7連刻度為1個Byte。另外,還可透過緩存器[71h,72h]來設定屏幕的區(qū)塊水平卷動。REG[03h]AdvanceDisplaySetupRegister2設定Common101設定Segment100設定選擇Common的卷動或是Segment1:Segment0:CommonREG[71h]ShiftactionrangeBeginCommonRegister在水平移動模式下,設定區(qū)塊移動的啟始CommonREG[72h]ShiftactionrangeENDCommonRegister在水平移動模式下,設定區(qū)塊移動的結束Common //設定REG[71]區(qū)塊Y1坐標 //設定REG[72]區(qū)塊Y2坐標 刻度為1個像素(Pixel)。如圖5-21所示,可作卷動的效果。 ASCIID系列中文液晶顯示模塊內建四個ASCII區(qū)塊,包含許多文字、特殊符號或圖形等,可供使用者直接取用,此)REG[F0h]FontControlRegister4種ASCII00:ASCII選擇區(qū)塊01:ASCII選擇區(qū)塊10:ASCII選擇區(qū)塊11:ASCII選擇區(qū)塊區(qū)塊3的選擇方式與上面相同,也只要設定緩存器[F0h]的bit[1..0],再將選擇的Pattern寫入光標所在的位置既D系列中文液晶顯示模塊內建512ByteSRAM可支持自行造字功能,最大字數(shù)為16個全角中文字(16x16)。若用到特殊字,是字庫內沒有的字型,可利用該項功能,增加內建字庫的內容,來提升MCU的存取效率。下面是REG[12h]MemoryAccessModeRegister00:存取Page0(512BSRAM)的DisplaydataRAM01:存取Page14.8KBSRAM)的DisplayDataRAM10:存取Page24.8KBSRAM)的DisplayData11:同時存取Page1和Page2的DisplayDataREG[60h]CursorPositionXRegister設定光標Segment Create_Font_Tab2:db FFh,F0h;A,;WritetoA,;對中文碼”FFF0”;設定光標Segment;前A,;設定光標Segment地址(每16Byte要加;后;A,;;顯示碼為“FFF0”的字樣圖5-每個全角16X16中文字占32Byte,因此內建512ByteSRAM可造16個字,中文碼內訂為”FFF0~FFFF”。上例為自建中文碼為”FFF0”的字樣,若是”FFF1”則寫入Data到Page0之前的前16Byte要先將緩存器[60h]設成”02h”,寫入Data到Page0之前的后16Byte要將緩存器[60h]設成”03h”目前觸摸式面板(TouchPanel)的應用愈來愈多,然而目前市面上的液晶顯示模塊大都無法直接提供觸摸式面板10-bit模擬-數(shù)字轉換器(AnalogtoDigitalConverter,ADC)及數(shù)個模擬開關(AnalogSwitch),使用者可以將四線電阻式觸摸式面板的XL,XR,YU,YD接到D系列中文液晶顯示模塊,然后利用模擬開關切換讓ADC讀取電阻上的電壓值,再由MCU讀取ADC的轉換值,而得到觸摸面板Touch的相對位置。注:OCMJ4X15D和OCMJ5X10D電阻式觸摸面板是由兩層極薄的電阻面板組成,如圖6-1所示,兩層面板之間有一個很小的間距,當有外力在面如圖6-2所示YU,YD,XL,XR,因此配合一些開關就可偵測出面板上哪一相對位置被Touch。在圖6-3中,設定開關SW2與SW3是OFF(Open),SW0與SW1是ON(Close),當有外力在面板上的某一點壓下去時,由YU點取得電壓接到ADC(AnalogtoDigitalConverter),就可以得到被Touch點的X坐標相對位置。6-4:Resistor-X在圖6-3中,因為開關SW2與SW3是OFF,因此YD點是Floating,所以當有外力在面板上的某一點壓下去時,YU上的電壓事實上就是X的Panel(也就是電阻)上的分壓結果,壓在面板上的不同一點,就會得到不同的分壓值,如圖6-4所示。同理,在圖6-5中,設定開關SW0與SW1是OFF(Open),SW2與SW3是ON(Close),當有外力在面板上的某一點壓下去時,由XL點取得電壓接到ADC(AnalogtoDigitalConverter),就可以得到被Touch點的Y坐標相對位置。一般說來許多觸摸面板都是貼在LCD面板上面,因此在程序設計上如果重復圖6-3與6-5的讀取步驟就可以順利得知被Touch的點是在屏幕上的哪一位置。6-6:Resistor-Y在圖6-5中,因為開關SW0與SW1是OFF,因此XR點是Floating,所以當有外力在面板上的某一點壓下去時,圖6-6所示。圖6-7是D系列中文液晶顯示模塊的觸摸式面板應用電路,圖6-8觸摸式面板偵測的示意圖與圖6-9的流程圖則是說明D系列中文液晶顯示模塊觸摸式面板讀取的控制方式,與觸摸式面板有關的緩存器為TPCR、TPXR、TPYR與TPSR(ADCS),在使用觸摸式面板時必須先將觸摸式面板功能開啟,緩存器TPCR的Bit-7與Bit-6設“1”,同時TPCR的Bit[3..0]“1000”,也就是SwitchSW3為On的狀態(tài),然后程序可以偵測緩存器TPSR的Bit-6是否為“1”,如果緩存器TPSR的Bit-6為“1”,則表示觸摸式面板目前被Touch,請參考圖6-8。在偵測階段時,緩存器TPCR的Bit-7與Bit-6可以先為“0”(ADCDisable),如果程序偵測到緩存器TPSR的Bit-6“1”,表示觸摸式面板目前被Touch,然后再將ADCEnable--緩存器TPCR的Bit-7與Bit-6“1”也可以,如此可必免觸摸式面板未被Touch而讓ADC動作產生不必要的耗電。REG[C0h]TouchPanelControlRegister765R4RBit3=0SwitchSW3OFF,Bit3=1SwitchSW3ONBit2=0SwitchSW2OFF,Bit2=1SwitchSW2ONBit1=0SwitchSW1OFF,Bit1=1SwitchSW1Bit0=0SwitchSW0OFF,Bit0=1SwitchSW0REG[C1h]ADCStatusRegister7ADC1:ADC0:ADC65“1設定ADC01REG[C8h]TouchPanelSegmentHighByteDataRegisterRREG[C9h]TouchPanelCommonHighByteDataRegisterRREG[CAh]TouchPanelSegment/CommonLowByteDataRegisterRRRR附錄A.Clock為3個機械周期,所以對緩存器做讀取或是寫入時所需的時間約為125nsX3lock=375ns,用以此方式來寫入緩存器的時間為3個機械周期讀取緩存器的時間為3個機械周期寫入內存的時間為3個機械周期在繪圖模式下寫入內存的時間為3在中文字型下寫入一個字到內存的時間為35個機械周期在ASCII字型下寫入一個字到內存的時間為19個機械周期附錄B.REG[00h]WholeChipLCDControllerRegister電源模式(PowerMode)當Wake-Up電路被觸發(fā),模塊將進入正常模式。54R3210REG[01h]Misc.Register7R65R4--中斷訊號(INT)與忙碌訊號(BUSY)2R系統(tǒng)頻率SCLK(SystemClock)REG[02h]AdvancePowerSetupRegister設定ROM/RAM3字型ROMREG[03h]AdvanceDisplaySetupRegister2設定Common101設定Segment100設定選擇Common的卷動或是Segment1:Segment0:CommonREG[10h]WholeChipCursorControlRegister7光標自動移位設定,此Bit用來設定當數(shù)據(jù)讀出DDRAM時,光651:直接儲存資料于DDRAM中0:存入相反的資料于DDRAM43光標自動移位設定,此Bit用來設定當數(shù)據(jù)寫入DDRAM時,光2光標顯示On/Off11:光標閃爍,閃爍時間由緩存器[80hBTR0為一個字節(jié)寬度(8個Pixel),當數(shù)據(jù)為全型時,光標為二個字節(jié)寬度(16個Pixel)。0:光標固定為一個字節(jié)的寬度(8個REG[11h]DistanceofWordsorLinesRegisterREG[12h]MemoryAccessModeRegister7設定選擇DisplaydataRAM001:只有顯示Page1的圖層(單一上層顯示模式010:只有顯示Page2的圖層(單一下層顯示模式011:同時顯示Page1和Page2的圖層(雙層模式DDRAMPage1與Page2相對映的值。 111:擴展模式(200:Page1RAM“OR”Page201:Page1RAM“XOR”Page210:Page1RAM“NOR”Page211:Page1RAM“AND”Page200:存取Page0(512BSRAM)的DisplaydataRAM01:存取Page14.8KBSRAM)的DisplayDataRAM10:存取Page24.8KBSRAM)的DisplayData11:同時存取Page1和Page2的DisplayDataREG[20h]ActiveWindowRightRegisterR設定工作窗口(Activewindow)右邊位置Segment-REG[30h]ActiveWindowBottomRegister設定工作窗口(Activewindow)底邊位置Common-REG[40h]ActiveWindowLeftRegisterR設定工作窗口(Activewindow)左邊位置Segment-REG[50h]ActiveWindowTopRegister設定工作窗口(Activewindow)頂邊位置Common-REG[21h]DisplayWindowRightRegisterR設定顯示窗口(DisplayWindow)右邊位置Segment-RightSegment_Right=(SegmentNumber/8)–1如果LCDPanel為240x64(240/8)–1=29=REG[31]DisplayWindowBottomRegister設定顯示窗口(DisplayWindow)底邊位置Common-BottomCommon_Bottom=LCDCommonNumber–1如果LCDPanel為240x6464–1=63=REG[41]DisplayWindowLeftRegister設定顯示窗口(DisplayWindow)左邊位置Segment-REG[51]DisplayWindowTopRegister設定顯示窗口(DisplayWindow)頂邊位置Common-REG[60h]CursorPositionXRegisterR設定光標SegmentREG[70h]CursorPositionYRegister設定光標CommonREG[71h]ShiftactionrangeBeginCommonRegister在水平移動模式下,設定區(qū)塊移動的啟始CommonREG[72h]ShiftactionrangeENDCommonRegister在水平移動模式下,設定區(qū)塊移動的結束CommonREG[80h]BlinkTimeRegister閃爍時間Bit[7..0]xREG81h]目前暫時保留(REG[90h]ShiftClockControlRegisterSCCR=(SCLKxDBW)/(ColumnxRowxDBW:4(單位:Bit) GoldenPalmElectronics 共64頁第52Column:LCD面板的Segment大小(單位:Pixel)Row:LCD面板的Common大小(單位:Pixel)FRS:70(單位:Hz)限制條件SCCR≥REG91h]目前暫時保留(REG[A0h]InterruptSetup&StatusRegister7KeyScan1:KeyScan0:KeyScanR6R5光標Column1:光標的Column等于緩存器0:光標的Column不等于緩存器R4光標Row1:光標的Row等于緩存器0:光標的Row不等于緩存器R3KeyScan1:致能KeyScan0:禁能KeyScan21INTX是否發(fā)生中斷(REG[B0]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國自吸風燙臺數(shù)據(jù)監(jiān)測研究報告
- 2025年超臨界細微粒子裝置項目可行性研究報告
- 2025至2030年中國石棉橡膠銅絲制動帶數(shù)據(jù)監(jiān)測研究報告
- 2025年高頻軸項目可行性研究報告
- 2025年青銅復合粉項目可行性研究報告
- 2025至2030年中國無機不燃玻璃鋼風管數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國數(shù)碼型三目正置式金相顯微鏡數(shù)據(jù)監(jiān)測研究報告
- 國外買賣合同范本
- 疫情終止合同范本
- 雇車送貨合同范本
- 2024年度-銀行不良清收技巧培訓課件(學員版)
- 《書籍裝幀設計》 課件 項目3 書籍裝幀整體設計
- 【可行性報告】2023年糧油加工項目可行性研究分析報告
- (西師大版)數(shù)學二年級下冊“雙減”下的堂上作業(yè)設計
- 2024年山東省春季高考技能考試汽車專業(yè)試題庫-上(單選題匯總)
- 2024年湖南高速鐵路職業(yè)技術學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 2016-2023年江蘇農林職業(yè)技術學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 狼道的讀后感課件
- 2022版高中生物必修二第一章測試題及答案解析
- 【初中語文】《說和做》課件+統(tǒng)編版語文七年級下冊
- 機修知識培訓教材課件
評論
0/150
提交評論