?? 51單片機綜合學習系統之1602字符型液晶顯示篇_希希.htm
字號:
<TBODY>
<TR>
<TD class=modtl width=7> </TD>
<TD class=modtc noWrap>
<DIV class=modhead><SPAN class=modtit>查看文章</SPAN></DIV></TD>
<TD class=modtc noWrap align=right></TD>
<TD class=modtr width=7> </TD></TR></TBODY></TABLE>
<DIV class=modbox id=m_blog>
<DIV class=tit>51單片機綜合學習系統之1602字符型液晶顯示篇</DIV>
<DIV class=date>2008-05-04 19:57</DIV>
<TABLE style="TABLE-LAYOUT: fixed">
<TBODY>
<TR>
<TD>
<DIV class=cnt id=blog_text>
<P align=center><STRONG><FONT color=#800000><FONT
size=4>51單片機綜合學習系統之1602字符型液晶顯示篇<SPAN class=style9
style="mso-bidi-font-size: 12.0pt"> <SPAN class=style14><SPAN class=style9
style="mso-bidi-font-size: 12.0pt"><SPAN class=style9
style="mso-bidi-font-size: 12.0pt">《電子制作》2008年1月</SPAN></SPAN></SPAN></SPAN></FONT></FONT></STRONG></P>
<P align=left>
在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發光管、LED數碼管、液晶顯示器。發光管和LED數碼管比較常用,軟硬件都比較簡單,在前面章節已經介紹過,在此不作介紹,本章重點介紹字符型液晶顯示器的應用。</P>
<P align=left> 在單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點:</P>
<P align=left><STRONG>顯示質量高</STRONG></P>
<P align=left>
由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。</P>
<P align=left><STRONG>數字式接口</STRONG></P>
<P align=left>
液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。</P>
<P align=left><STRONG>體積小、重量輕</STRONG></P>
<P align=left>
液晶顯示器通過顯示屏上的電極控制液晶分子狀態來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。</P>
<P align=left><STRONG>功耗低</STRONG></P>
<P align=left>
相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。</P>
<P align=left><STRONG>10.8.1 液晶顯示簡介</STRONG></P>
<P align=left>①液晶顯示原理</P>
<P align=left> 液晶顯示的原理是利用液晶的物理特性,
通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。</P>
<P align=left>②液晶顯示器的分類</P>
<P align=left>
液晶顯示的分類方法有很多種,通常可按其顯示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據驅動方式來分,可以分為靜態驅動(Static)、單純矩陣驅動(Simple
Matrix)和主動矩陣驅動(Active Matrix)三種。</P>
<P align=left>③液晶顯示器各種圖形的顯示原理:</P>
<P align=left><STRONG>線段的顯示</STRONG></P>
<P align=left>
點陣圖形式液晶由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顯示的基本原理。</P>
<P align=left><STRONG>字符的顯示</STRONG></P>
<P align=left>
用LCD顯示一個字符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。</P>
<P align=left><STRONG>漢字的顯示</STRONG></P>
<P align=left>
漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節,光標位置加1,送第二個字節,換行按列對齊,送第三個字節……直到32B顯示完就可以LCD上得到一個完整漢字。</P>
<P align=left>10.8.2 1602字符型LCD簡介</P>
<P align=left>
字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖10-53:</P>
<P align=center><IMG height=223
src="51單片機綜合學習系統之1602字符型液晶顯示篇_希希.files/image123.jpg" width=449></P>
<P align=center><IMG height=220
src="51單片機綜合學習系統之1602字符型液晶顯示篇_希希.files/image124.jpg" width=453></P>
<P align=center>圖10-53 1602字符型液晶顯示器實物圖</P>
<P><STRONG>10.8.2.1 1602LCD的基本參數及引腳功能</STRONG></P>
<P>
1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,兩者尺寸差別如下圖10-54所示:</P>
<P><IMG height=237 src="51單片機綜合學習系統之1602字符型液晶顯示篇_希希.files/image126.jpg"
width=553></P>
<P align=center>圖10-54 1602LCD尺寸圖</P>
<P align=left><STRONG>1602LCD主要技術參數:</STRONG></P>
<P align=left> 顯示容量:16×2個字符</P>
<P align=left> 芯片工作電壓:4.5—5.5V</P>
<P align=left> 工作電流:2.0mA(5.0V)</P>
<P align=left> 模塊最佳工作電壓:5.0V</P>
<P align=left> 字符尺寸:2.95×4.35(W×H)mm</P>
<P align=left><STRONG>引腳功能說明</STRONG></P>
<P>
1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表10-13所示:</P>
<TABLE cellPadding=0 border=1>
<TBODY>
<TR>
<TD vAlign=top width=55>
<P>編號</P></TD>
<TD vAlign=top width=60>
<P>符號</P></TD>
<TD vAlign=top width=132>
<P>引腳說明</P></TD>
<TD vAlign=top width=61>
<P>編號</P></TD>
<TD vAlign=top width=60>
<P>符號</P></TD>
<TD vAlign=top width=155>
<P>引腳說明</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>1</P></TD>
<TD vAlign=top width=60>
<P>VSS</P></TD>
<TD vAlign=top width=132>
<P>電源地</P></TD>
<TD vAlign=top width=61>
<P>9</P></TD>
<TD vAlign=top width=60>
<P>D2</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>2</P></TD>
<TD vAlign=top width=60>
<P>VDD</P></TD>
<TD vAlign=top width=132>
<P>電源正極</P></TD>
<TD vAlign=top width=61>
<P>10</P></TD>
<TD vAlign=top width=60>
<P>D3</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>3</P></TD>
<TD vAlign=top width=60>
<P>VL</P></TD>
<TD vAlign=top width=132>
<P>液晶顯示偏壓</P></TD>
<TD vAlign=top width=61>
<P>11</P></TD>
<TD vAlign=top width=60>
<P>D4</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>4</P></TD>
<TD vAlign=top width=60>
<P>RS</P></TD>
<TD vAlign=top width=132>
<P>數據/命令選擇</P></TD>
<TD vAlign=top width=61>
<P>12</P></TD>
<TD vAlign=top width=60>
<P>D5</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>5</P></TD>
<TD vAlign=top width=60>
<P>R/W</P></TD>
<TD vAlign=top width=132>
<P>讀/寫選擇</P></TD>
<TD vAlign=top width=61>
<P>13</P></TD>
<TD vAlign=top width=60>
<P>D6</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>6</P></TD>
<TD vAlign=top width=60>
<P>E</P></TD>
<TD vAlign=top width=132>
<P>使能信號</P></TD>
<TD vAlign=top width=61>
<P>14</P></TD>
<TD vAlign=top width=60>
<P>D7</P></TD>
<TD vAlign=top width=155>
<P>數據</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>7</P></TD>
<TD vAlign=top width=60>
<P>D0</P></TD>
<TD vAlign=top width=132>
<P>數據</P></TD>
<TD vAlign=top width=61>
<P>15</P></TD>
<TD vAlign=top width=60>
<P>BLA</P></TD>
<TD vAlign=top width=155>
<P>背光源正極</P></TD></TR>
<TR>
<TD vAlign=top width=55>
<P>8</P></TD>
<TD vAlign=top width=60>
<P>D1</P></TD>
<TD vAlign=top width=132>
<P>數據</P></TD>
<TD vAlign=top width=61>
<P>16</P></TD>
<TD vAlign=top width=60>
<P>BLK</P></TD>
<TD vAlign=top width=155>
<P>背光源負極</P></TD></TR></TBODY></TABLE>
<P> 表10-13:引腳接口說明表</P>
<P>第1腳:VSS為地電源。</P>
<P>第2腳:VDD接5V正電源。</P>
<P>第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。</P>
<P>第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。</P>
<P>第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。</P>
<P>第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。</P>
<P>第7~14腳:D0~D7為8位雙向數據線。</P>
<P>第15腳:背光源正極。</P>
<P>第16腳:背光源負極。</P>
<P><STRONG>10.8.2.3 1602LCD的指令說明及時序</STRONG></P>
<P align=left>
1602液晶模塊內部的控制器共有11條控制指令,如表10-14所示:</P>
<TABLE cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR>
<TD width=55>
<P align=center>序號</P></TD>
<TD vAlign=top width=168>
<P align=left>指令</P></TD>
<TD width=39>
<P align=center>RS</P></TD>
<TD width=36>
<P align=center>R/W</P></TD>
<TD width=35>
<P align=center>D7</P></TD>
<TD width=36>
<P align=center>D6</P></TD>
<TD width=35>
<P align=center>D5</P></TD>
<TD width=35>
<P align=center>D4</P></TD>
<TD width=35>
<P align=center>D3</P></TD>
<TD width=35>
<P align=center>D2</P></TD>
<TD width=35>
<P align=center>D1</P></TD>
<TD width=37>
<P align=center>D0</P></TD></TR>
<TR>
<TD width=55>
<P align=center>1</P></TD>
<TD vAlign=top width=168>
<P align=left>清顯示</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=37>
<P align=center>1</P></TD></TR>
<TR>
<TD width=55>
<P align=center>2</P></TD>
<TD vAlign=top width=168>
<P align=left>光標返回</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>1</P></TD>
<TD width=37>
<P align=center>*</P></TD></TR>
<TR>
<TD width=55>
<P align=center>3</P></TD>
<TD vAlign=top width=168>
<P align=left>置輸入模式</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>1</P></TD>
<TD width=35>
<P align=center>I/D</P></TD>
<TD width=37>
<P align=center>S</P></TD></TR>
<TR>
<TD width=55>
<P align=center>4</P></TD>
<TD vAlign=top width=168>
<P align=left>顯示開/關控制</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>1</P></TD>
<TD width=35>
<P align=center>D</P></TD>
<TD width=35>
<P align=center>C</P></TD>
<TD width=37>
<P align=center>B</P></TD></TR>
<TR>
<TD width=55>
<P align=center>5</P></TD>
<TD vAlign=top width=168>
<P align=left>光標或字符移位</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=36>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>0</P></TD>
<TD width=35>
<P align=center>1</P></TD>
<TD width=35>
<P align=center>S/C</P></TD>
<TD width=35>
<P align=center>R/L</P></TD>
<TD width=35>
<P align=center>*</P></TD>
<TD width=37>
<P align=center>*</P></TD></TR>
<TR>
<TD width=55>
<P align=center>6</P></TD>
<TD vAlign=top width=168>
<P align=left>置功能</P></TD>
<TD width=39>
<P align=center>0</P></TD>
<TD width=36>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -