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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > lcd1602 屏驅(qū)動(dòng)(自定義字符)

          lcd1602 屏驅(qū)動(dòng)(自定義字符)

          作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏

          //顯示字符
          void zf_1602(unsigned char x,unsigned char y,unsigned dat) //參數(shù)一是顯示的列,參數(shù)二是顯示的行,參數(shù)三是顯示的數(shù)據(jù)
          {
          if(y==0)
          {
          x_1602(0,(0x80+x)); //第一行
          }
          else
          {
          x_1602(0,(0xc0+x)); //第二行
          }
          x_1602(1,dat); //寫入數(shù)據(jù)
          }
          void zfc_1602(unsigned char x,unsigned char y,unsigned char *dat)
          {
          if(y==0)
          {
          x_1602(0,(0x80+x)); //第一行
          }
          else
          {
          x_1602(0,(0xc0+x)); //第二行
          }
          while(*dat) //&:取地址 *:取值
          {
          x_1602(1,*dat);
          dat ++;
          }
          }
          void csh_1602() //初始化1602
          {
          x_1602(0,0x38); //顯示模式設(shè)置
          Delayms(5);
          x_1602(0,0x38);
          Delayms(5);
          x_1602(0,0x38);
          Delayms(5);
          x_1602(0,0x38);
          x_1602(0,0x08); //顯示關(guān)閉.
          x_1602(0,0x01); //顯示清屏
          x_1602(0,0x06); //顯示光標(biāo)移動(dòng)設(shè)置
          Delayms(5);
          x_1602(0,0x0c); //顯示開及光標(biāo)設(shè)置
          }
          void main()
          {
          csh_1602();
          qp_1602();
          while(1)
          {
          zf_1602(0,0,Q); //寫入字符
          zf_1602(1,0,Q); //寫入字符
          zf_1602(2,0, ); //寫入字符
          zfc_1602(3,0,"www.baidu.con"); //寫入字符串
          zfc_1602(1,1,"1990.02.08"); //寫入字符串
          while(1);
          }
          }

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

          自定義字符 (轉(zhuǎn))

          圖示:

          用戶自定義字符的應(yīng)用:
          我們從CGROM表上可以看到,在表的最左邊是一列可以允許用戶自定義的CGRAM,從上往下看著是16個(gè),實(shí)際只有8個(gè)字節(jié)可用。它的字符碼是 00000000-00000111這8個(gè)地址,表的下面還有8個(gè)字節(jié),但因?yàn)檫@個(gè)CGRAM的字符碼規(guī)定0-2位為地址,3位無效,4-7全為零。因此 CGRAM的字符碼只有最后三位能用也就是8個(gè)字節(jié)了。等效為0000X111,X為無效位,最后三位為000-111共8個(gè)。
          如果我們要想顯示這8個(gè)用戶自定義的字符,操作方法和顯示CGROM的一樣,先設(shè)置DDRAM位置,再向DDRAM寫入字符碼,例如“A”就是41H?,F(xiàn)在我們要顯示 CGRAM的第一個(gè)自定義字符,就向DDRAM寫入00000000B(00H),如果要顯示第8個(gè)就寫入00000111(08H),簡單吧!
          好!現(xiàn)在我們來看怎么向這八個(gè)自定義字符寫入字模。有個(gè)設(shè)置CGRAM地址的指令如下圖:


          從這個(gè)指令可以看出指令數(shù)據(jù)的高2位已固定是01,只有后面的6位是地址數(shù)據(jù),而這6位中的高3位就表示這八個(gè)自定義字符,最后的3位就是字模數(shù)據(jù)的八個(gè)地址了。例如第一個(gè)自定義字符的字模地址為01000000-01000111八個(gè)地址。我們向這8個(gè)字節(jié)寫入字模數(shù)據(jù),讓它能顯示出“℃”
          地址:01000000  數(shù)據(jù):00010000 圖示: ○○○■○○○○
             01000001     00000110 ○○○○○■■○
             01000010     00001001 ○○○○■○○■
             01000011     00001000 ○○○○■○○○
             01000100     00001000 ○○○○■○○○
             01000101     00001001 ○○○○■○○■
             01000110     00000110 ○○○○○■■○
             01000111     00000000 ○○○○○○○○



          上一頁 1 2 下一頁

          關(guān)鍵詞: lcd1602屏驅(qū)動(dòng)字

          評(píng)論


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