第七講液晶顯示_第1頁
第七講液晶顯示_第2頁
第七講液晶顯示_第3頁
第七講液晶顯示_第4頁
第七講液晶顯示_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

LCD1602一、液晶顯示器簡介二、LCD1602的性能三、LCD1602接口方式四、程序驅動返回一、液晶顯示器簡介液晶顯示器,或稱LCD(LiquidCrystalDisplay),為平面超薄的顯示設備,它由一定數量的彩色或黑白像素組成,放置于光源或者反射面前方。液晶顯示器功耗很低,因此倍受工程師青睞,適用于使用電池的電子設備。它的主要原理是以電流刺激液晶分子產生點、線、面配合背部燈管構成畫面。二、LCD1602的性能1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊。它有若干個5X7的點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能顯示圖形。1602是指顯示的內容為16X2,即可以顯示兩行,每行16個字符的液晶模塊。目前市面上字符液晶絕大多數是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data22VDD電源正極10D3Data33VL液晶亮度調節11D4Data44RS數據/命令選擇端(H/L)12D5Data55R/W讀/寫選擇端(H/L)13D6Data66E使能信號14D7Data77D0Data015BLA背光電源正極8D1Data116BLK背光電源負極1602液晶引腳說明控制器內部帶有80*8位(80字節)的RAM緩沖區1602液晶的主要技術參數:(1)顯示容量:16*2字符;(2)芯片工作電壓:4.5~5.5V,對比度可調;(3)工作電流:2.0mA(5.0V);(4)內建有160個5X7點陣的字型的字符發生器CGROM,8個可由用戶自定義的5X7的字符發生器CGRAM;(5)字符尺寸:2.954.35(WH)mm;(6)內含復位電路,提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,如下表所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”

上表中的字符代碼與我們PC中的字符代碼是基本一致的。因此我們在向DDRAM寫C51字符代碼程序時甚至可以直接用P1='A'這樣的方法。PC在編譯時就把“A”先轉為41H代碼了。字符代碼0x00~0x0F為用戶自定義的字符圖形RAM(對于5X8點陣的字符,可以存放8組),就是CGRAM了。后面我會詳細說的。

對DDRAM的內容和地址操作,HD44780的指令集及其設置說明,共有11條指令:基本操作時序:

讀狀態

輸入:RS=L,RW=H,E=H

輸出:DB0~DB7=狀態字

寫指令

輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼

輸出:無

讀數據

輸入:RS=H,RW=H,E=H

輸出:DB0~DB7=數據

寫數據

輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數據

輸出:無

1.清屏指令

功能:<1>清除液晶顯示器,即將DDRAM的內容全部填入“空白”的字符碼20H;

<2>光標歸位,即將光標撤回液晶顯示屏的左上方;

<3>將地址計數器(AC)的值設為0。

2.光標歸位指令

功能:<1>把光標撤回到顯示器的左上方;

<2>把地址計數器(AC)的值設置為0;

<3>保持DDRAM的內容不變

3.輸入模式設置指令功能:設定每次寫入1位數據后光標的移位方向,并且設定每次寫入的一個字符是否移動。參數設定的情況如下所示:

位名

設置

I/D

0=寫入新數據后光標左移

1=寫入新數據后光標右移

S

0=寫入新數據后顯示屏不移動1=寫入新數據后顯示屏整體右移1個字4.顯示開關控制指令

功能:控制顯示器開/關、光標顯示/關閉以及光標是否閃爍。參數設定的情況如下:

位名

設置

D

0=顯示功能關

1=顯示功能開

C

0=無光標

1=有光標

B

0=光標不閃爍

1=光標閃爍

5.設定顯示屏或光標移動方向指令功能:使光標移位或使整個顯示屏幕移位。參數設定的情況如下:

S/C

R/L

設定情況

0

0

光標左移1格,且AC值減1

0

1

光標右移1格,且AC值加1

1

0

顯示器上字符全部左移一格,但光標不動

1

1

顯示器上字符全部右移一格,但光標不動

6.功能設定指令(非常重要的指令)功能:設定數據總線位數、顯示的行數及字型。參數設定的情況如下:

位名

設置

DL

0=數據總線為4位1=數據總線為8位

N

0=顯示1行1=顯示2行

F

0=5×7點陣/每字符

1=5×10點陣/每字符

7.設定CGRAM地址指令功能:設定下一個要存入數據的CGRAM的地址。

8.設定DDRAM地址指令

功能:設定下一個要存入數據的CGRAM的地址。(注意這里我們送地址的時候應該是0x80+Address,這也是前面說到寫地址命令的時候要加上0x80的原因)

9.讀取忙信號或AC地址指令功能:<1>讀取忙碌信號BF的內容,BF=1表示液晶顯示器忙,暫時無法接收單片機送來的數據或指令;當BF=0時,液晶顯示器可以接收單片機送來的數據或指令;

<2>讀取地址計數器(AC)的內容。

10.數據寫入DDRAM或CGRAM指令

功能:<1>將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對應的字符;<2>將用戶自己設計的圖形存入CGRAM。

11.從CGRAM或DDRAM讀出數據的指令功能:讀取DDRAM或CGRAM中的內容。

基本操作時序:

讀狀態

輸入:RS=L,RW=H,E=H

輸出:DB0~DB7=狀態字

寫指令

輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼

輸出:無

讀數據

輸入:RS=H,RW=H,E=H

輸出:DB0~DB7=數據

寫數據

輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數據

輸出:無

讀狀態

輸入:RS=0,RW=1,E=1

讀數據

輸入:RS=1,RW=1,E=1

寫指令

輸入:RS=0,RW=0,E=下降沿脈沖,DB0~DB7=指令碼

寫數據

輸入:RS=1,RW=0,E=下降沿脈沖,DB0~DB7=數據如何顯示一個自定義的字符

我們從CGROM表上可以看到,在表的最左邊是一列可以允許用戶自定義的CGRAM,從上往下看著是16個,實際只有8個字節可用。它的字符碼是00000000-00000111這8個地址,表的下面還有8個字節,但因為這個CGRAM的字符碼規定0-2位為地址,3位無效,4-7全為零。因此CGRAM的字符碼只有最后三位能用也就是8個字節了。等效為0000X111,X為無效位,最后三位為000-111共8個。

如果我們要想顯示這8個用戶自定義的字符,操作方法和顯示CGROM的一樣,先設置DDRAM位置,再向DDRAM寫入字符碼,例如“A”就是41H。現在我們要顯示CGRAM的第一個自定義字符,就向DDRAM寫入00000000B(00H),如果要顯示第8個就寫入00000111(08H),簡單吧!

現在我們來看怎么向這八個自定義字符寫入字模。設置CGRAM地址的指令

從這個指令可以看出指令數據的高2位已固定是01,只有后面的6位是地址數據,而這6位中的高3位就表示這八個自定義字符,最后的3位就是字模數據的八個地址了。例如第一個自定義字符的字模地址為01000000-01000111八個地址。我們向這8個字節寫入字模數據,讓它能顯示出“℃”

地址:01000000數據:00010000

圖示:○○○■○○○○

01000001

00000110

○○○○○■■○

01000010

00001001

○○○○■○○■

01000011

00001000

○○○○■○○○

01000100

00001000

○○○○■○○○

01000101

00001001

○○○○■○○■

01000110

00000110

○○○○○■■○

01000111

00000000

○○○○○○○○

user[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//字符℃*/寫入時先設置CGRAM地址0X40;顯示是直接取CGRAM的數據三、LCD1602接口方式四、程序驅動//寫命令voidwr_comd(intcomd) {busy_check();//檢測忙

lcd_rs=0;lcd_rw=0; lcd_en=0; _nop_();dataport=comd; lcd_en=1; _nop_(); lcd_en=0;}//忙檢測voidbusy_check(void) { lcd_rs=0; lcd_rw=1; lcd_en=1; dataport=0x0ff; while(lcd_bz==1){}; lcd_en=0;}//LCD1602初始化voidinit_lcd(void) {dataport=0x0ff; wr_comd(0x38); //寫命令:功能配置,4位雙行顯示 wr_comd(0x0c); //寫命令:開顯示 wr_comd(0x01); //寫命令:清除顯示 //wr_datas(1,5,"welcome"); //wr_datas(2,1,"designbyadong!"); //delay(2000); //wr_comd(0x01);//寫命令:清除顯示

} //(x,y)第x行,第y列寫入一個數據或者字符voidwr_dat_xy(intx,inty,chardat) {wr_comd(0x0c);//寫命令:開顯

溫馨提示

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

評論

0/150

提交評論