LCD1602學習體會
一、1602里的存儲器有三種:CGROM、CGRAM、DDRAM。CGROM保存了廠家生產(chǎn)時固化在LCM中的點陣型顯示數(shù)據(jù),CGRAM是留給用戶自己定義點陣型顯示數(shù)據(jù)的,DDRAM則是和顯示屏的內容對應的。1602內部的DDRAM有80字節(jié),而顯示屏上只有2行 ×16列,共32個字符,所以兩者不完全一一對應。默認情況下,顯示屏上第一行的內容對應DDRAM中80H到8FH的內容,第二行的內容對應DDRAM 中C0H到CFH的內容。DDRAM中90H到A7H、D0H到E7H的內容是不顯示在顯示屏上的,但是在滾動屏幕的情況下,這些內容就可能被滾動顯示出來了。注:這里列舉的DDRAM的地址準確來說應該是DDRAM地址+80H之后的值,因為在向數(shù)據(jù)總線寫數(shù)據(jù)的時候,命令字的最高位總是為1。
本文引用地址:http://cafeforensic.com/article/201611/317268.htm二、1602使用三條控制線:EN、RW、RS。其中EN起到類似片選和時鐘線的作用,RW和RS指示了讀、寫的方向和內容。在讀數(shù)據(jù)(或者Busy標志)期間,EN線必須保持高電平;而在寫指令(或者數(shù)據(jù))過程中,EN線上必須送出一個正脈沖。RW、RS的組合一共有四種情況,分別對應四種操作:
RS=0、RW=0——表示向LCM寫入指令
RS=0、RW=1——表示讀取Busy標志
RS=1、RW=0——表示向LCM寫入數(shù)據(jù)
RS=1、RW=1——表示從LCM讀取數(shù)據(jù)
三、LCD在使用的過程中,可以在RS=0、RW=0的情況下,向LCM寫入一個字節(jié)的控制指令。使用的控制指令一共八個類別。有的類別又有幾條不同的指令。具體的情況羅列在下:
①01H:清除DDRAM的所有單元,光標被移動到屏幕左上角。
②02H:DDRAM所有單元的內容不變,光標移至左上角。
③輸入方式設置(EnterModeSet),這些指令規(guī)定了兩個方面:一是寫入一個DDRAM單元后,地址指針如何改變(加一還是減一);二是屏幕上的內容是否滾動。
04H:寫入DDRAM后,地址指針減一,比如第一個字符寫入8FH,則下一個字符會寫入8EH;屏幕上的內容不滾動。
05H:寫入DDRAM后,地址指針減一,同上一種情況;每一個字符寫入以后,屏幕上的內容向右滾動一個字符位。
06H:寫入DDRAM后,地址指針加一,比如第一個字符寫入80H,則下一個字符會寫入81H;屏幕上的內容也是不滾動。這應該是最常用的一種顯示方式。
07H:寫入DDRAM后,地址指針加一,同上一種情況;每一個字符寫入以后,屏幕上的內容向左滾動一個字符位。
④屏幕開關、光標開關、閃爍開關。
08H、09H、0AH、0BH:關閉顯示屏,實質上是不把DDRAM中的內容對應顯示在屏幕上,對DDRAM的操作還是在進行的,執(zhí)行這條指令,接著對 DDRAM進行寫入,屏幕上沒有任何內容,但是接著執(zhí)行下面的某條指令,就能看到剛才屏幕關閉期間,對DDRAM操作的效果了。
0cH:打開顯示屏,不顯示光標,光標所在位置的字符不閃爍。
0dH:打開顯示屏,不顯示光標,光標所在位置的字符閃爍。
0eH:打開顯示屏,顯示光標,光標所在位置的字符不閃爍。
0fH:打開顯示屏,顯示光標,光標所在位置的字符閃爍。
關于光標的位置:光標所在的位置指示了下一個被寫入的字符所處的位置,加入在寫入下一個字符前沒有通過指令設置DDRAM的地址,那么這個字符就應該顯示在光標指定的地方。
⑤設置光標移動(本質就是AC的增加還是減少)、整體畫面是否滾動。
10H:每輸入一次該指令,AC就減一,對應了光標向左移動一格。整體的畫面不滾動。
14H:每輸入一次該指令,AC就加一,對應了光標向右移動一格。整體的畫面不滾動。
18H:每輸入一次該指令,整體的畫面就向左滾動一個字符位。
1CH:每輸入一次該指令,整體的畫面就向右滾動一個字符位。畫面在滾動的時候,每行的首尾是連在一起的,也就是每行的第一個字符,若左移25次,就會顯示在該行的最后一格。在畫面滾動的過程中,AC的值也是變化的。⑥顯示模式設定指令,設定了顯示幾行,顯示什么樣的點陣字符,數(shù)據(jù)總線占用幾位。
20H:4位總線,單行顯示,顯示5×7的點陣字符。
24H:4位總線,單行顯示,顯示5×10的點陣字符。
28H:4位總線,雙行顯示,顯示5×7的點陣字符。
2CH:4位總線,雙行顯示,顯示5×10的點陣字符。
30H:8位總線,單行顯示,顯示5×7的點陣字符。
34H:8位總線,單行顯示,顯示5×10的點陣字符。
38H:8位總線,雙行顯示,顯示5×7的點陣字符。這是最常用的一種模式。3CH:8位總線,雙行顯示,顯示5×10的點陣字符。
評論