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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 我的12864學(xué)習(xí)筆記_5---12864液晶串行讀寫操作函數(shù)

          我的12864學(xué)習(xí)筆記_5---12864液晶串行讀寫操作函數(shù)

          作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          在對12864進(jìn)行控制的操作中,對液晶的讀寫操作是最基本、最底層的操作,是一切其他操作的基礎(chǔ)。

          12864液晶串行連接只需要兩根線就可以實(shí)現(xiàn)對液晶的完全控制,可以大大節(jié)省IO口。

          本文引用地址:http://www.ex-cimer.com/article/201611/322843.htm

          而對液晶的讀操作,又是對液晶單個像素點(diǎn)進(jìn)行控制的基礎(chǔ),也是用液晶繪制曲線的基礎(chǔ)。

          下面是我實(shí)現(xiàn)的串行對液晶進(jìn)行讀寫操作的函數(shù),是針對msp430g2553單片機(jī)寫的,按照時序不難實(shí)現(xiàn)。

          程序如下,注釋的也較詳細(xì):

          因?yàn)閙sp430g2553的IO管腳有限,所以我的12864是串行連接的。而并行連接的話,液晶的讀操作并不難實(shí)現(xiàn)。現(xiàn)在串行的,雖然比較復(fù)雜一些,但很類似于串行的讀操作,主要是看懂時序,然后嚴(yán)格按照時序就可以寫出。我已經(jīng)可以實(shí)現(xiàn)了液晶的讀,寫操作。讀寫操作的函數(shù)如下,其中注釋的也比較詳細(xì):

          //12864串行連接寫數(shù)據(jù),寫命令函數(shù)按照手冊上的時序進(jìn)行編程

          voidwr_lcd(uchardat_comm,ucharcontent)//

          {//要寫的數(shù)據(jù)

          uchara,i,j;

          delay_us(50);

          a=content;

          LCD_SCLK0;//en=0;

          LCD_SID1;//wr=1

          for(i=0;i<5;i++)//數(shù)據(jù)時序*****************8前5個高電平的同步碼

          {

          LCD_SCLK1;

          LCD_SCLK0;

          }

          LCD_SID0;//wr=0寫操作

          LCD_SCLK1;//en=1來一個時鐘

          LCD_SCLK0;//en=0

          if(dat_comm)

          LCD_SID1;//RS=1寫數(shù)據(jù)

          else

          LCD_SID0;//RS=0寫指令

          LCD_SCLK1;//來一個時鐘

          LCD_SCLK0;

          LCD_SID0;//控制字的最后一位為0

          LCD_SCLK1;//來一個時鐘

          LCD_SCLK0;

          for(j=0;j<2;j++)//

          {

          uchari,j;

          uchara=0;//a存放讀取的數(shù)據(jù)

          delay_us(50);

          LCD_SCLK0;//en=0;

          LCD_SID1;//wr=1

          for(i=0;i<5;i++)//數(shù)據(jù)時序*****************8前5個高電平的同步碼

          {

          LCD_SCLK1;

          LCD_SCLK0;

          }

          LCD_SID1;//wr=1讀操作

          LCD_SCLK1;//en=1來一個時鐘

          LCD_SCLK0;//en=0

          LCD_SID1;//RS=1讀數(shù)據(jù)

          LCD_SCLK1;//來一個時鐘

          LCD_SCLK0;

          LCD_SID0;//控制字的最后一位為0

          LCD_SCLK1;//來一個時鐘

          LCD_SCLK0;

          for(j=0;j<2;j++)//************一共2*4次循環(huán)讀一個字節(jié)數(shù)據(jù)第一次循環(huán)讀高4位,第二次循環(huán)讀低4位

          {

          for(i=0;i<4;i++)

          {

          P2DIR&=~BIT5;//把LCD_SID設(shè)為輸入,讀數(shù)據(jù)

          if(P2IN&BIT5)//如果為高的話

          a|=0x01;

          //else

          //a|=0x00;

          a=a<<1;//a向高位移一位

          LCD_SCLK1;

          LCD_SCLK0;

          }

          P2DIR|=BIT5;//把LCD_SID設(shè)為輸出

          LCD_SID0;

          for(i=0;i<4;i++)//時鐘下面來4個時鐘脈沖

          {

          LCD_SCLK1;

          LCD_SCLK0;

          }

          }

          returna;

          }



          評論


          技術(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); })();