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

          新聞中心

          st7920控制的12864打點

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          可以在任意位置打點了,在這里謝謝那些好心的人,把易于出現(xiàn)問題的地方給大家說明下,一定要仔細閱讀DATESHEET,方便后人。
          1、打點位置的定位
          2、讀取當前顯示的數(shù)據(jù)
          3、或和移位,即重新寫人的新數(shù)據(jù)
          程序如下:
          void GUI_Point(uchar x,uchar y,uchar flag)
          {
          uchar x_Dyte,x_byte; //定義列地址的字節(jié)位,及在字節(jié)中的哪1位
          uchar y_Dyte,y_byte; //定義為上下兩個屏(取值為0,1),行地址(取值為0~31)
          Write_command(0x36); //繪圖模式命令
          /***X,Y坐標互換,即普通的X,Y坐標***/
          x_Dyte=y/16; //計算在16個字節(jié)中的哪一個
          x_byte=y&0x0f; //計算在該字節(jié)中的哪一位
          y_Dyte=x/32; //0為上半屏,1為下半屏
          y_byte=x&0x1f; //計算在0~31當中的哪一行

          Write_command(0x80+y_byte); //設(shè)定行地址(y坐標)
          Write_command(0x80+x_Dyte+8*y_Dyte); //設(shè)定列地址(x坐標),并通過8*y_Dyte選定上下屏

          Read_data();
          GDRAM_hbit=Read_data(); //讀取當前顯示高8位數(shù)據(jù)
          GDRAM_lbit=Read_data(); //讀取當前顯示低8位數(shù)據(jù)
          delay_us(5);

          if(flag==1)
          {
          Write_command(0x80+y_byte); //設(shè)定行地址(y坐標)
          Write_command(0x80+x_Dyte+8*y_Dyte); //設(shè)定列地址(x坐標),并通過8*y_Dyte選定上下屏
          delay_us(5);
          if(x_byte<8) //判斷其在高8位,還是在低8位
          {
          Write_data(GDRAM_hbit|(0X01<<(7-x_byte))); //顯示GDRAM區(qū)高8位數(shù)據(jù)
          Write_data(GDRAM_lbit); //顯示GDRAM區(qū)低8位數(shù)據(jù)
          }
          else
          {
          Write_data(GDRAM_hbit);
          Write_data(GDRAM_lbit|(0x01<<(15-x_byte)));
          }
          }
          else
          {
          Write_data(0x00)); //清除GDRAM區(qū)高8位數(shù)據(jù)
          Write_data(0x00)); //清除GDRAM區(qū)低8位數(shù)據(jù)
          }
          }


          /**********讀取當前地址的LCD顯示數(shù)據(jù)**********/
          uchar Read_data()
          {
          uchar shuju;
          LCD_DATA_set_in; //端口PB設(shè)置輸入
          LCD_DATA_PORT=0xff;
          SET_DI; // D/I=1,代表數(shù)據(jù)
          SET_RW; // R/W=1.讀取
          delay_us(10);
          SET_E;
          delay_us(100);
          shuju=PINB; //讀取當前顯示的數(shù)據(jù)
          CLR_E;
          return(shuju);
          }



          關(guān)鍵詞: st7920控制12864打

          評論


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