在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

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

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

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

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

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

      而對液晶的讀操作,又是對液晶單個像素點進行控制的基礎,也是用液晶繪制曲線的基礎。

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

      程序如下,注釋的也較詳細:

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

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

      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ù)據(jù)

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

      a|=0x01;

      //else

      //a|=0x00;

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

      LCD_SCLK1;

      LCD_SCLK0;

      }

      P2DIR|=BIT5;//把LCD_SID設為輸出

      LCD_SID0;

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

      {

      LCD_SCLK1;

      LCD_SCLK0;

      }

      }

      returna;

      }



      評論


      技術專區(qū)

      關閉