久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 19533|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

LCD1602高手使用詳解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:392920 發(fā)表于 2018-12-9 00:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前面總算走完了對(duì)AVR MEGA16這塊單片機(jī)的一些基本的應(yīng)用方式了,這時(shí)候大家對(duì)AVR的一些內(nèi)部資源比如定時(shí)器,ADC,最主要的IO口的使用方式應(yīng)該有了一個(gè)雖比較粗淺但是卻比較形象的認(rèn)識(shí)了。這節(jié)我們來(lái)看使用單片機(jī)的另外一大主題,就是用單片機(jī)來(lái)實(shí)現(xiàn)芯片控制。
在前面的數(shù)碼管顯示一文中,就已經(jīng)涉及到了用單片機(jī)來(lái)控制芯片為我們工作,CEPARK AVR開(kāi)發(fā)板,為了達(dá)到增強(qiáng)驅(qū)動(dòng)能力和節(jié)省IO口的作用,運(yùn)用了移位寄存器74HC595來(lái)驅(qū)動(dòng)兩個(gè)四位八段數(shù)碼管,是一個(gè)十分有創(chuàng)意的設(shè)計(jì)。但是前面的內(nèi)容重心還是集中于對(duì)AVR的IO口的控制,所以,我們從這節(jié)開(kāi)始要正式逐漸深入的接觸各種芯片了。
先做個(gè)引子。單片機(jī)是一種微控制器,本身內(nèi)部集成了數(shù)種資源比如CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。他的主要任務(wù)是利用各種資源實(shí)現(xiàn)電平控制,可以以此控制與它相連的下級(jí)系統(tǒng),廣泛用于工業(yè)自動(dòng)控制領(lǐng)域。
我們就從這句話出發(fā),首先單片機(jī)用來(lái)做控制用的,而且是利用的是本身的內(nèi)部資源。但是,它的功能再?gòu)?qiáng)大,資源再豐富也總有一個(gè)上限,總有枯竭的一天。所以我們常常利用單片機(jī)外接芯片來(lái)彌補(bǔ)或者增強(qiáng)單片機(jī)的功能來(lái)完成我們所需功能的電路。比如程序存儲(chǔ)器不足,可以外接外部存儲(chǔ)器,比如單片機(jī)內(nèi)部中斷級(jí)不足,可以外接中斷控制器等等。大家可以從這個(gè)角度來(lái)理解芯片控制的意義罷。
今天我們用AVR單片機(jī)來(lái)實(shí)現(xiàn)對(duì)LCD1602液晶顯示芯片的控制。
首先從這個(gè)名字講起,LCD:英文全稱為L(zhǎng)iquid Crystal Display,即為液態(tài)晶體顯示,也就是我們常說(shuō)的液晶顯示了。(平時(shí)老說(shuō)LCDLCD,可能大家也都不怎么注意過(guò)這個(gè)全稱吧,呵呵,當(dāng)增加詞匯量了)1602則是表示這個(gè)液晶一共能顯示2行數(shù)據(jù),每一行顯示16個(gè)字符。這個(gè)就是LCD1602的全部來(lái)由。
液晶顯示的使用有多廣泛我就不多說(shuō)了,LCD1602好像10元左右就可以拿到了的,不算貴。我們來(lái)看看現(xiàn)在市面都有哪些樣子的1602,下面從網(wǎng)上搜羅了幾個(gè)(我手上的這個(gè)是藍(lán)色背光白色字體的):



其實(shí)顯而易,見(jiàn)也就是背光和字體的顏色不一樣罷,不過(guò)老實(shí)說(shuō),藍(lán)色背光的1602看上去顯得確實(shí)比較亮,也許是人眼視覺(jué)的關(guān)系。
接下來(lái)進(jìn)入LCD1602使用的重點(diǎn):操作時(shí)序。操作時(shí)序永遠(yuǎn)使用是任何一片IC芯片的最主要的內(nèi)容。一個(gè)芯片的所有使用細(xì)節(jié)都會(huì)在它的官方器件手冊(cè)上包含。所以使用一個(gè)器件事情,要充分做好的第一件事就是要把它的器件手冊(cè)上有用的內(nèi)容提取,掌握。介于中國(guó)目前的芯片設(shè)計(jì)能力有限,所以大部分的器件都是外國(guó)幾個(gè)IC巨頭比如TI、AT、MAXIM這些公司生產(chǎn)的,器件資料自然也是英文的多,所以,英文的基礎(chǔ)要在閱讀這些數(shù)據(jù)手冊(cè)時(shí)得到提高哦。即便有中文翻譯版本,還是建議看英文原版,看不懂時(shí)不妨再參考中文版,這樣比較利于提高。
我們首先來(lái)看1602的引腳定義,1602的引腳是很整齊的SIP單列直插封裝,所以器件手冊(cè)只給出了引腳的功能數(shù)據(jù)表:


我們只需要關(guān)注以下幾個(gè)管腳:

3腳:VL,液晶顯示偏壓信號(hào),用于調(diào)整LCD1602的顯示對(duì)比度,一般會(huì)外接電位器用以調(diào)整偏壓信號(hào),注意此腳電壓為0時(shí)可以得到最強(qiáng)的對(duì)比度。
4腳:RS,數(shù)據(jù)/命令選擇端,當(dāng)此腳為高電平時(shí),可以對(duì)1602進(jìn)行數(shù)據(jù)字節(jié)的傳輸操作,而為電平時(shí),則是進(jìn)行命令字節(jié)的傳輸操作。命令字節(jié),即是用來(lái)對(duì)LCD1602的一些工作方式作設(shè)置的字節(jié);數(shù)據(jù)字節(jié),即使用以在1602上顯示的字節(jié)。值得一提的是,LCD1602的數(shù)據(jù)是8位的。
5腳:R/W,讀寫選擇端。當(dāng)此腳為高電平可對(duì)LCD1602進(jìn)行讀數(shù)據(jù)操作,反之進(jìn)行寫數(shù)據(jù)操作。筆者認(rèn)為,此腳其實(shí)用處不大,直接接地永久置為低電平也不會(huì)影響其正常工作。但是尚未經(jīng)過(guò)復(fù)雜系統(tǒng)驗(yàn)證,保留此意見(jiàn)。
6腳:E,使能信號(hào),其實(shí)是LCD1602的數(shù)據(jù)控制時(shí)鐘信號(hào),利用該信號(hào)的上升沿實(shí)現(xiàn)對(duì)LCD1602的數(shù)據(jù)傳輸。
7~14腳:8位并行數(shù)據(jù)口,使得對(duì)LCD1602的數(shù)據(jù)讀寫大為方便。
現(xiàn)在來(lái)看LCD1602的操作時(shí)序:
在此,我們可以先不讀出它的數(shù)據(jù)的狀態(tài)或者數(shù)據(jù)本身。所以只需要看兩個(gè)寫時(shí)序:
① 當(dāng)我們要寫指令字,設(shè)置LCD1602的工作方式時(shí):需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。
② 當(dāng)我們要寫入數(shù)據(jù)字,在1602上實(shí)現(xiàn)顯示時(shí):需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個(gè)高脈沖將數(shù)據(jù)寫入。
發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。以下是LCD1602的時(shí)序圖:


大家要慢慢學(xué)會(huì)看時(shí)序圖,要知道操作一個(gè)器件的精華便蘊(yùn)藏在其中,看懂看準(zhǔn)了時(shí)序,你操控這個(gè)芯片就是非常容易的事了。1602的時(shí)序是我見(jiàn)過(guò)的一個(gè)最簡(jiǎn)單的時(shí)序:
1、注意時(shí)間軸,如果沒(méi)有標(biāo)明(其實(shí)大部分也都是不標(biāo)明的),那么從左往右的方向?yàn)闀r(shí)間正向軸,即時(shí)間在增長(zhǎng)。
2、上圖框出并注明了看懂此圖的一些常識(shí):
(1).時(shí)序圖最左邊一般是某一根引腳的標(biāo)識(shí),表示此行圖線體現(xiàn)該引腳的變化,上圖分別標(biāo)明了RS、R/W、E、DB0~DB7四類引腳的時(shí)序變化。
(2).有線交叉狀的部分,表示電平在變化,如上所標(biāo)注。
(3).應(yīng)該比較容易理解,如上圖右上角所示,兩條平行線分別對(duì)應(yīng)高低電平,也正好吻合(2)中電平變化的說(shuō)法。
(4).上圖下,密封的菱形部分,注意要密封,表示數(shù)據(jù)有效,Valid Data這個(gè)詞也顯示了這點(diǎn)。
3、需要十分嚴(yán)重注意的是,時(shí)序圖里各個(gè)引腳的電平變化,基于的時(shí)間軸是一致的。一定要嚴(yán)格按照時(shí)間軸的增長(zhǎng)方向來(lái)精確地觀察時(shí)序圖。要讓器件嚴(yán)格的遵守時(shí)序圖的變化。在類似于18B20這樣的單總線器件對(duì)此要求尤為嚴(yán)格。
4、以上幾點(diǎn),并不是LCD1602的時(shí)序圖所特有的,絕大部分的時(shí)序圖都遵循著這樣的一般規(guī)則,所以大家要慢慢的習(xí)慣于這樣的規(guī)則。
也許你還注意到了上面有許多關(guān)于時(shí)間的標(biāo)注,這也是個(gè)十分重要的信息,這些時(shí)間的標(biāo)注表明了某些狀態(tài)所要維持的最短或最長(zhǎng)時(shí)間。因?yàn)槠骷墓ぷ魉俣纫彩怯邢薜模话愣几簧现骺匦酒乃俣龋运鼈冎苯又g要有時(shí)序配合。話說(shuō)現(xiàn)在各種處理器的主頻也是瘋狂增長(zhǎng),日后搞不好出現(xiàn)個(gè)雙核單片機(jī)也不一定就是夢(mèng)話。下面是時(shí)序參數(shù)表:

大家要懂得估計(jì)主控芯片的指令時(shí)間,可以在官方數(shù)據(jù)手冊(cè)上查到MCU的一些級(jí)別參數(shù)。比如我們現(xiàn)在用AVR M16做為主控芯片,外部12MHz晶振,指令周期就是一個(gè)時(shí)鐘周期為(1/12MHz)us,所以至少確定了它執(zhí)行一條指令的時(shí)間是us級(jí)別的。我們看到,以上給的時(shí)間參數(shù)全部是ns級(jí)別的,所以即便我們?cè)诔绦蚶锊患友訒r(shí)程序,也應(yīng)該可以很好的配合LCD1602的時(shí)序要求了。怎么看這個(gè)表呢?很簡(jiǎn)單,我們?cè)跁r(shí)序圖里可以找到TR1,對(duì)應(yīng)時(shí)序參數(shù)表,可以查到這個(gè)是E上升沿/下降沿時(shí)間,最大值為25ns,表示E引腳上的電平變化,必須在最大為25ns之內(nèi)的時(shí)間完成。大家看是不是這個(gè)意思?
現(xiàn)在我來(lái)解讀我對(duì)這個(gè)時(shí)序圖的理解:
當(dāng)要寫命令字節(jié)的時(shí)候,時(shí)間由左往右,RS變?yōu)榈碗娖剑琑/W變?yōu)榈碗娖剑⒁饪词荝S的狀態(tài)先變化完成。然后這時(shí),DB0~DB7上數(shù)據(jù)進(jìn)入有效階段,接著E引腳有一個(gè)整脈沖的跳變,接著要維持時(shí)間最小值為tpw=400ns的E脈沖寬度。然后E引腳負(fù)跳變,RS電平變化,R/W電平變化。這樣便是一個(gè)完整的LCD1602寫命令的時(shí)序。
下面來(lái)看看CEPARK AVR開(kāi)發(fā)板的1602顯示部分原理圖:



如你所見(jiàn),KID畫的這個(gè)也太能省了,就直接接1k電阻了事…….只有一點(diǎn)要說(shuō),就是這個(gè)解法,VL腳也就是偏壓信號(hào)腳的電壓就是不可調(diào)的了,即對(duì)比度固定。
下面附上源程序,里面做了詳細(xì)注釋,希望第一次接觸時(shí)序圖的朋友可以好好對(duì)照一下時(shí)序圖來(lái)分析程序。請(qǐng)點(diǎn)擊下載附件:作幾點(diǎn)說(shuō)明:
1、 LCD1602對(duì)寫進(jìn)去的數(shù)據(jù)字節(jié)呢是以ASCII碼識(shí)別的,所以寫進(jìn)去用以顯示的字符數(shù)據(jù)必須是某一個(gè)ADCII碼,當(dāng)然如果你不想查ASCII表的話,可以用字符來(lái)代替,即用單引號(hào)包含的字符常量。所以,也由此推出,’0’和30H(0的ASCII碼)是等價(jià)的。
2、 操作1602,要先對(duì)1602進(jìn)行初始化,數(shù)據(jù)手冊(cè)里寫的比較清楚,并且對(duì)各個(gè)命令字的寫入并沒(méi)有先后要求。
3、 1602是有自定義字符的功能的,大家熟悉基本操作之后可以嘗試自行拓展
4、 在每次寫完數(shù)據(jù)之后,應(yīng)該要將E引腳置為低電平,為下一次E的高脈沖做準(zhǔn)備。延伸來(lái)說(shuō),這叫釋放時(shí)鐘線,要養(yǎng)成釋放時(shí)鐘線的好習(xí)慣。對(duì)配合時(shí)序大有裨益。
5、 可以將所要顯示的字符一次定義在一個(gè)字符數(shù)組里,以調(diào)用字符數(shù)組的形式調(diào)用顯示數(shù)據(jù),這樣程序會(huì)變得簡(jiǎn)潔而高效。
6、 記住時(shí)序的要求,往往是對(duì)最小時(shí)間有要求,在你嚴(yán)格配合時(shí)序的情況下仍然的不到理想的結(jié)果時(shí),可以嘗試插入延時(shí)。這個(gè)并不違反時(shí)序的要求。況且相當(dāng)多的器件手冊(cè)并沒(méi)有詳細(xì)的講述最小時(shí)間要求。
最后附上運(yùn)行照片,照的還是蠻清晰的~:

果然還是藍(lán)色的看著舒服… …
希望能給有需要的人一點(diǎn)幫助。
大家加油啊
再來(lái)個(gè)官方介紹:
1.簡(jiǎn)介
  工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)
  注:為了表示的方便 ,后文皆以1表示高電平,0表示第電平。
2.管腳功能
  1602采用標(biāo)準(zhǔn)的16腳接口,其中:
  第1腳:VSS為電源地
  第2腳:VDD接5V電源正極
  第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。
  第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。
  第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。
  第6腳:E(或EN)端為使能(enable)端。
  第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。
  第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。
3.操作控制
  操作控制表
   操作
   讀狀態(tài)
   寫指令
   讀數(shù)據(jù)
   寫數(shù)據(jù)
   輸入
   RS=0,RW=1,E=1
   RS=0,RW=0,
  D0~7=指令碼,E=H脈沖
   RS=1,RW=1,E=1
   RS=1,RW=0,
  D0~7=數(shù)據(jù),E=H脈沖
     注:關(guān)于E=H脈沖——開(kāi)始時(shí)初始化E為0,然后置E為1,再
4.字符集
  1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。
  因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。
  以下是1602的16進(jìn)制ASCII碼表地址:
    讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。

5.指令集

  1602通過(guò)D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。
  顯示模式設(shè)置: (初始化)
  0011 0000 [0x38] 設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口;
  顯示開(kāi)關(guān)及光標(biāo)設(shè)置: (初始化)
  0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)
  0000 01NS N=1(讀或?qū)懸粋(gè)字符后地址指針加1 &光標(biāo)加1),
  N=0(讀或?qū)懸粋(gè)字符后地址指針減1 &光標(biāo)減1),
  S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移)
  s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng)
  數(shù)據(jù)指針設(shè)置:
  數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)
  其他設(shè)置:
  01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。
單片機(jī)流水燈


完整的Word格式文檔51黑下載地址:
http://www.zg4o1577.cn/bbs/dpj-145322-1.html


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:442486 發(fā)表于 2018-12-9 02:58 | 只看該作者
非常給力
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品欧美 | 国精产品一区二区三区 | 国产欧美精品区一区二区三区 | 日韩精品视频在线播放 | 成人激情视频在线 | 久久99精品国产 | 91在线观看网址 | 在线成人av | 亚洲国产激情 | 国产高清精品一区二区三区 | 亚洲人a | 天天干视频| 91精品国产欧美一区二区成人 | 国产在线精品一区二区 | 国产精品日韩欧美一区二区三区 | 亚洲精品一二三区 | 在线观看黄色电影 | 日本高清在线一区 | 91免费看片 | 成人午夜精品 | 久草在线在线精品观看 | 亚洲国产一区二区三区, | 91porn成人精品| 日韩免费激情视频 | 色爱综合网 | 二区国产 | 欧美日韩中文国产一区发布 | 国产欧美日韩在线观看 | 精品国产乱码久久久久久久久 | 亚洲欧美一区二区三区在线 | 成人在线观看免费 | 一级毛片视频 | 欧美视频第二页 | 秋霞在线一区 | 综合中文字幕 | 国产一区欧美一区 | 国产探花在线精品一区二区 | 在线播放国产一区二区三区 | 亚洲国产精品久久久久婷婷老年 | 亚洲444kkkk在线观看最新 | 狠狠干美女 |