LCD1602中文資料一 一:液晶顯示器各種圖形的顯示原理線段的顯示:點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節的8位,即每行由16字節,共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區1024字節相對應,每一字節的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區的000H——00FH的16字節的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 字符的顯示 用LCD顯示一個字符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。 漢字的顯示 漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節,光標位置加1,送第二個字節,換行按列對齊,送第三個字節……直到32B顯示完就可以LCD上得到一個完整漢字 二:1602字符型LCD簡介 1·字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖
圖一 2·1602LCD的基本參數及引腳功能 1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,兩者尺寸差別如下圖 圖二 3`LCD1602主要技術參數: 顯示容量:16×2個字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm 4`引腳功能說明 1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表 編號 | 符號 | 引腳說明 | 編號 | 符號 | 引腳說明 | 1 | VSS | 電源地 | 9 | D2 | 數據 | 2 | VDD | 電源正極 | 10 | D3 | 數據 | 3 | VL | 液晶顯示偏壓 | 11 | D4 | 數據 | 4 | RS | 數據/命令選擇 | 12 | D5 | 數據 | 5 | R/W | 讀/寫選擇 | 13 | D6 | 數據 | 6 | E | 使能信號 | 14 | D7 | 數據 | 7 | D0 | 數據 | 15 | BLA | 背光源正極 | 8 | D1 | 數據 | 16 | BLK | 背光源負極 |
表1 引腳接口說明表 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。 第7~14腳:D0~D7為8位雙向數據線。 第15腳:背光源正極。 第16腳:背光源負極。 5`其與單片機的連接如下圖所示
LCD1602中文資料二(續一) 由于篇幅限制,此是LED中文資料的續寫,如訪問上篇內容請點擊:LCD1602中文資料一 6`1602液晶模塊內部的控制器共有11條控制指令,如下表所示 | 指令 | | | | | | | | | | | | 清顯示 | | | | | | | | | | | | 光標返回 | | | | | | | | | | | | 置輸入模式 | | | | | | | | | | | | 顯示開/關控制 | | | | | | | | | | | | 光標或字符移位 | | | | | | | | | | | | 置功能 | | | | | | | | | | | | 置字符發生存貯器地址 | | | | | 字符發生存貯器地址 | | 置數據存貯器地址 | | | | 顯示數據存貯器地址 | | 讀忙標志或地址 | | | | 計數器地址 | | 寫數到CGRAM或DDRAM) | | | 要寫的數據內容 | | 從CGRAM或DDRAM讀數 | | | 讀出的數據內容 |
表一 1602液晶模塊的讀寫操作,屏幕和光標的操作都是通過指令編程來實現的。(說明1為高電平,0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置 指令2:光標復位,光標返回到地址00H 指令3:光標和顯示位置設置I/D,光標移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無效。 指令4:顯示開關控制。D:控制整體的顯示開與關,高電平表示開顯示,低電平表示關顯示。C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位 S/C :高電平時顯示移動的文字,低電平時移動光標 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時為雙行顯示,F:低電平時顯示5X7的點陣字符,高電平時顯示5X10的顯示字符。 指令7:字符發生器RAM地址設置。 指令8:DDRAM地址設置。 指令9:讀忙信號和光標地址 BF:忙標志位,高電平表示忙,此時模塊不能接收命令或數據,如果為低電平表示不忙。 與HD44780相兼容的芯片時序表如下: 讀狀態 | 輸入 | RS=L,R/W=H,E=H | 輸出 | D0—D7=狀態字 | 寫指令 | 輸入 | RS=L,R/W=L,D0—D7=指令碼,E=高脈沖 | 輸出 | 無 | 讀數據 | 輸入 | RS=H,R/W=H,E=H | 輸出 | D0—D7=數據 | 寫數據 | 輸入 | RS=H,R/W=L,D0—D7=數據,E=高脈沖 | 輸出 | 無 |
表二:基本操作時序表 讀寫操作時序如圖所示 圖三:讀操作時序 圖四:寫操作時序 7:1602LCD的RAM地址映射及標準字庫表 液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在,哪里顯示字符,圖是1602的內部顯示地址。
圖五:LCD1602內部顯示地址 例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數據應該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。 在對液晶模塊的初始化中要先設置其顯示模式,在液晶模塊顯示字符時光標是自動右移的,無需人工干預。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態。 1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,如圖10-58所示,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 
LCD1602程序詳見:http://www.zg4o1577.cn/mcu/2210.html
|