<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于1602液晶顯示器的一些經(jīng)驗(yàn)

          關(guān)于1602液晶顯示器的一些經(jīng)驗(yàn)

          作者: 時(shí)間:2012-09-18 來源:網(wǎng)絡(luò) 收藏
          今天開始復(fù)習(xí)了液晶顯示!我的天??!感覺像是重新學(xué)一樣,好多東西都忘了,看來以后還要練習(xí)的非常熟練才行,*一時(shí)的努力在短時(shí)間內(nèi)學(xué)的東西是記不太久的!更不要說熟練應(yīng)用了!

          說說今天的總結(jié)!雖然開始有些吃力,但是也不至于想以前那樣看著視頻一步一步來!今天寫液晶程序是找了兩個(gè)例子,自己看著1602的PDF資料。開始時(shí)看了看程序然后自己看著時(shí)序圖寫,但是卻怎么出不來結(jié)果,對(duì)比著例子一點(diǎn)點(diǎn)的嘗試著修改,終于發(fā)現(xiàn)原來是一個(gè)小小的延時(shí)問題,也就是在往數(shù)據(jù)端口輸進(jìn)指令或數(shù)據(jù)后要有個(gè)小小的延時(shí)。但是看時(shí)序圖上卻是EN端電平已經(jīng)降下去了,數(shù)據(jù)口還在賦值,而實(shí)際上卻是賦值后差不多要個(gè)5毫秒的延時(shí),具體原因不明白!

          關(guān)于液晶的問題,我看的一個(gè)例程是用的,我看著頭暈,老是轉(zhuǎn)不過來。其實(shí)在我看來就能顯示那幾個(gè)字符而已,自己就算掰著手指查也不會(huì)出錯(cuò)吧!所以好不如直接控制來的爽快!特別注意的是,只要你讓那個(gè)位置的字符顯示,就一定要給你賦值,那怕是一個(gè)空格,那也算是一個(gè)字符,否則會(huì)出現(xiàn)亂碼!

          再說一下控制液晶的驅(qū)動(dòng)程序(暫且稱其為驅(qū)動(dòng)程序吧,反正是控制液晶的)!其實(shí)控制這種小液晶很簡(jiǎn)單!給它的初始化函數(shù)(也就是告訴它:小弟,你要開始工作了),給它做做準(zhǔn)備,具體函數(shù)按照配套PDF資料寫就行!再有個(gè)就是發(fā)送指令的函數(shù)。首先給RS賦值,RS=0,當(dāng)MPU進(jìn)行寫模塊操作,指向指令寄存器,當(dāng)MPU進(jìn)行讀模塊操作,指向地址計(jì)數(shù)器。RS=1,無論MPU讀操作還是寫操作,均指向數(shù)據(jù)寄存器。再給RW賦值,賦值為1是寫操作,為0是讀操作。然后就是EN端了,其實(shí)因?yàn)閿?shù)據(jù)是在EN下降沿才會(huì)把命令或數(shù)據(jù)讀進(jìn),所以就先拉高它,然后往數(shù)據(jù)口送指令,現(xiàn)在是最關(guān)鍵的,你一定要讓它稍微有個(gè)延時(shí),例如5 毫秒!然后令EN=0!好了,這就完成了指令輸入!至于數(shù)據(jù)輸入函數(shù),格式同指令輸入函數(shù)一樣,只是RS賦值不一樣而已!至于什么指令控制什么功能,自己查查配套資料就行了!另外還有一個(gè)檢查繁忙問題,只是.....暫時(shí)不會(huì)用,我把繁忙檢查寫進(jìn)程序中,它竟然罷工!現(xiàn)在自己的水平就是寫個(gè)小程序?qū)崿F(xiàn)個(gè)小功能,檢查繁忙暫時(shí)用不到,以后再說吧!

          附一自己寫的液晶驅(qū)動(dòng)函數(shù)!其中dat為液晶數(shù)據(jù)進(jìn)口!

          void del(uint i)
          {
          char j;
          for(;i>0;i--)
          for(j=125;j>0;j--);
          }

          void writecom(uchar com)
          {
          rs=0;
          rw=0;
          en=1;
          dat=com;
          del(5);
          en=0;

          }
          void writedat(uchar da)
          {
          rs=1;
          rw=0;
          en=1;
          dat=da;
          del(5);
          en=0;
          }

          void init()
          { del(15);
          writecom(0x38);
          del(5);
          writecom(0x38);
          del(5);
          writecom(0x38);
          del(10);
          writecom(0x08);
          writecom(0x0e);
          writecom(0x06);
          writecom(0x0c);
          writecom(0x80);


          }

          led顯示器相關(guān)文章:led顯示器原理




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();