單片機原理及應用課程設計12864點陣LCD的顯示_第1頁
單片機原理及應用課程設計12864點陣LCD的顯示_第2頁
單片機原理及應用課程設計12864點陣LCD的顯示_第3頁
單片機原理及應用課程設計12864點陣LCD的顯示_第4頁
單片機原理及應用課程設計12864點陣LCD的顯示_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機原理及應用課程設計12864點陣LCD的顯示單片機原理及應用課程設計12864點陣LCD的顯示PAGEPAGE2單片機原理及應用課程設計12864點陣LCD的顯示《單片機原理及應用》課程設計題目128*64點陣LCD的顯示院系信息學院專業(yè)通信工程姓名XXX學號XXXXX指導老師XXX報告日期2009.09.101.題目:128*64點陣LCD的顯示2.原理簡述12864點陣液晶顯示模塊(LCM)就是由128*64個液晶顯示點組成的一個128列*64行的陣列。每個顯示點對應一位二進制數(shù),1表示亮,0表示滅。存儲這些點陣信息的RAM稱為顯示數(shù)據存儲器.要顯示某個圖形或漢字就是將相應的點陣信息寫入到相應的存儲單元中。圖形或漢字的點陣信息當然由自己設計,問題的關鍵就是顯示點在液晶屏上的位置(行和列)與其在存儲器中的地址之間的關系。由于多數(shù)液晶顯示模塊的驅動電路是由一片行驅動器和兩片列驅動器構成,所以12864液晶屏實際上是由左右兩塊獨立的64*64液晶屏拼接而成,每半屏有一個512*8bits顯示數(shù)據RAM.左右半屏驅動電路及存儲器分別由片選信號CS1和CS2選擇.(少數(shù)廠商為了簡化用戶設計,在模塊中增加譯碼電路,使得128*64液晶屏就是一個整屏,只需一個片選信號。)顯示點在64*64液晶屏上的位置由行號(line,0~63)與列號(column,0~63)確定。512*8bitsRAM中某個存儲單元的地址由頁地址(Xpage,0~7)和列地址(Yaddress,0~63)確定.每個存儲單元存儲8個液晶點的顯示信息。為了使液晶點位置信息與存儲地址的對應關系更直觀關,將64*64液晶屏從上至下8等分為8個顯示塊,每塊包括8行*64列個點陣。每列中的8行點陣信息構成一個8bits二進制數(shù),存儲在一個存儲單元中。(需要注意:二進制的高低有效位順序與行號對應關系因不同商家而不同)存放一個顯示塊的RAM區(qū)稱為存儲頁。即64*64液晶屏的點陣信息存儲在8個存儲頁中,每頁64個字節(jié),每個字節(jié)存儲一列(8行)點陣信息。因此存儲單元地址包括頁地址(Xpage,0~7)和列地址(Yaddress,0~63).應用系統(tǒng)的基本原理外圍設備器件工作原理12864點陣型LCD簡介

12864是一種圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示8×4個(16×16點陣)漢字.管腳號管腳名稱LEVER管腳功能描述1VSS0電源地2VDD+5。0V電源電壓3V0—液晶顯示器驅動電壓4D/I(RS)H/LD/I=“H”,表示DB7∽DB0為顯示數(shù)據D/I=“L”,表示DB7∽DB0為顯示指令數(shù)據5R/WH/LR/W=“H”,E=“H"數(shù)據被讀到DB7∽DB0R/W=“L”,E=“H→L”數(shù)據被寫到IR或DR6EH/LR/W=“L",E信號下降沿鎖存DB7∽DB0R/W=“H”,E=“H"DDRAM數(shù)據讀到DB7∽DB07DB0H/L數(shù)據線8DB1H/L數(shù)據線9DB2H/L數(shù)據線10DB3H/L數(shù)據線11DB4H/L數(shù)據線12DB5H/L數(shù)據線13DB6H/L數(shù)據線14DB7H/L數(shù)據線15CS1H/LH:選擇芯片(右半屏)信號16CS2H/LH:選擇芯片(左半屏)信號17RETH/L復位信號,低電平復位18VOUT—10VLCD驅動負電壓19LED+-LED背光板電源20LED-—LED背光板電源表1:12864LCD的引腳說明

在使用12864LCD前先必須了解以下功能器件才能進行編程。12864內部功能器件及相關功能如下:1。指令寄存器(IR)

IR是用于寄存指令碼,與數(shù)據寄存器數(shù)據相對應。當D/I=0時,在E信號下降沿的作用下,指令碼寫入IR。2.數(shù)據寄存器(DR)

DR是用于寄存數(shù)據的,與指令寄存器寄存指令相對應。當D/I=1時,在下降沿作用下,圖形顯示數(shù)據寫入DR,或在E信號高電平作用下由DR讀到DB7∽DB0數(shù)據總線。DR和DDRAM之間的數(shù)據傳輸是模塊內部自動執(zhí)行的。3.忙標志:BF

BF標志提供內部工作情況。BF=1表示模塊在內部操作,此時模塊不接受外部指令和數(shù)據。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據。

利用STATUSREAD指令,可以將BF讀到DB7總線,從檢驗模塊之工作狀態(tài).4.顯示控制觸發(fā)器DFF

此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAYOFF),DDRAM的內容就顯示在屏幕上,DFF=0為關顯示(DISPLAYOFF)。

DDF的狀態(tài)是指令DISPLAYON/OFF和RST信號控制的。5.XY地址計數(shù)器

XY地址計數(shù)器是一個9位計數(shù)器。高3位是X地址計數(shù)器,低6位為Y地址計數(shù)器,XY地址計數(shù)器實際上是作為DDRAM的地址指針,X地址計數(shù)器為DDRAM的頁指針,Y地址計數(shù)器為DDRAM的Y地址指針.

X地址計數(shù)器是沒有記數(shù)功能的,只能用指令設置。

Y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據寫入后,Y地址自動加1,Y地址指針從0到63。6.顯示數(shù)據RAM(DDRAM)

DDRAM是存儲圖形顯示數(shù)據的。數(shù)據為1表示顯示選擇,數(shù)據為0表示顯示非選擇.DDRAM與地址和顯示位置的關系見DDRAM地址表。7.Z地址計數(shù)器

Z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據,RST復位后Z地址計數(shù)器為0。

Z地址計數(shù)器可以用指令DISPLAYSTARTLINE預置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據從哪一行開始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動顯示64行。12864LCD的指令系統(tǒng)及時序

該類液晶顯示模塊(即KS0108B及其兼容控制驅動器)的指令系統(tǒng)比較簡單,總共只有七種.其指令表如表2所示:指令名稱控制信號控制代碼R/WRSDB7DB6DB5DB4DB3DB2DB1DB0顯示開關0000111111/0顯示起始行設置0011XXXXXX頁設置0010111XXX列地址設置0001XXXXXX讀狀態(tài)10BUSY0ON/OFFRST0000寫數(shù)據01寫數(shù)據讀數(shù)據11讀數(shù)據表2:12864LCD指令表各功能指令分別介紹如下。顯示開/關指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00000111111/0當DB0=1時,LCD顯示RAM中的內容;DB0=0時,關閉顯示。2、顯示起始行(ROW)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00011顯示起始行(0~63)該指令設置了對應液晶屏最上一行的顯示RAM的行號,有規(guī)律地改變顯示起始行,可以使LCD實現(xiàn)顯示滾屏的效果。3、頁(PAGE)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111頁號(0~7)顯示RAM共64行,分8頁,每頁8行。4、列地址(YAddress)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001顯示列地址(0~63)設置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用讀、寫指令讀出該單元中的內容或向該單元寫進一個字節(jié)數(shù)據.5、讀狀態(tài)指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFREST0000該指令用來查詢液晶顯示模塊內部控制器的狀態(tài),各參量含義如下:BUSY:1—內部在工作0-正常狀態(tài)ON/OFF:1—顯示關閉0—顯示打開RESET:1—復位狀態(tài)0—正常狀態(tài)在BUSY和RESET狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對液晶顯示模塊產生作用。在對液晶顯示模塊操作之前要查詢BUSY狀態(tài),以確定是否可以對液晶顯示模塊進行操作.6、寫數(shù)據指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB001寫數(shù)據讀數(shù)據指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB011讀顯示數(shù)據

讀、寫數(shù)據指令每執(zhí)行完一次讀、寫操作,列地址就自動增一。必須注意的是,進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的數(shù)據。3.單片機應用系統(tǒng)軟件設計源程序;****************接口設置****************RS EQU p1.5RW EQU p1.4E EQU P1.3;—-—————-—--——--—-——-—--——-——-———COUNT EQU 31HSTORE EQU 32H;--—-—--—————-————-——-—————--—--—-——- ORG 0000H LJMP MAIN ORG 0100H;-—--——-—-—--—-————-—-—-—————--—--—————-————-MAIN: MOV SP,#5FHLCALLDELAY1 NOP;********************LCD初始化**********************LGS0: MOV A,#34H ;34H--擴充指令操作 LCALLSEND_I MOV A,#30H ;30H—-基本指令操作 LCALLSEND_I MOV A,#01H ;清除顯示 LCALLSEND_IMOV A,#06H ;指定在資料寫入或讀取時,光標的移動方向 LCALLSEND_I;DDRAM的地址計數(shù)器(AC)加1 MOV A,#0CH ;開顯示,關光標,不閃爍 LCALLSEND_I;=================================================;顯示漢字和字符;加入80ms的延時,動態(tài)顯示;=================================================HAN_WR2:LCALLCLEAR_PHAN_WR2A:MOV DPTR,#TAB1A ;顯示漢字和字符 MOV COUNT,#10H;地址計數(shù)器設為16。 MOV A,#80H;第一行起始地址 LCALLSEND_ILCALLQUSHUHAN_WR2B:MOV DPTR,#TAB1B ;顯示漢字和字符 MOV COUNT,#10H;地址計數(shù)器設為16。 MOV A,#90H;第二行起始地址 LCALLSEND_ILCALLQUSHUHAN_WR2C:MOV DPTR,#TAB1C ;顯示漢字和字符 MOV COUNT,#10H;地址計數(shù)器設為16. MOV A,#88H;第三行起始地址 LCALLSEND_ILCALLQUSHUHAN_WR2D:MOV DPTR,#TAB1D ;顯示漢字和字符 MOV COUNT,#10H;地址計數(shù)器設為16。 MOV A,#98H;第四行起始地址 LCALLSEND_ILCALLQUSHULCALLDELAYLCALLCLEAR_PAJMPMAIN;==================================================;清屏;==================================================CLEAR_P:MOV A,#01H;清屏 LCALLSEND_IMOV A,#34H LCALLSEND_I MOV A,#30H LCALLSEND_IRET;==================================================;查表取數(shù)據送顯示;==================================================QUSHU:CLR A MOVCA,@A+DPTR;查表取數(shù)據 LCALLSEND_D;送顯示 INC DPTRLCALLDELAY1;延時80ms,DJNZCOUNT,QUSHU RET;===============================================;寫數(shù)據子程序;RS=1,RW=0,E=高脈沖,D0—D7=數(shù)據;===============================================SEND_D: LCALL CHK_BUSY;寫數(shù)據子程序 SETB RS CLR RW MOV P0,A SETB E NOP NOP CLR E RET;===============================================;寫指令子程序;RS=0,RW=0,E=高脈沖,D0-D7=指令碼;===============================================SEND_I: LCALLCHK_BUSY CLR RS CLR RW MOV P0,A SETBE NOP NOP CLR E RET;================================================;讀數(shù)據子程序;RS=1,RW=1,E=H,D0—D7=數(shù)據;================================================READ_D: LCALLCHK_BUSY;讀數(shù)據子程序 SETB RS SETB RW SETB E NOP MOV A,P0 CLR E MOV STORE,A RET;================================================;;測忙碌子程序;RS=0,RW=1,E=H,D0-D7=狀態(tài)字;================================================CHK_BUSY: MOV P0,#0FFH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論