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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于不帶字庫的圖形LCD模塊漢字顯示解決方案

          基于不帶字庫的圖形LCD模塊漢字顯示解決方案

          作者: 時間:2012-03-28 來源:網(wǎng)絡(luò) 收藏


          void DispStr(unsigned char row, unsigned char column, unsigned char *str)
          {
          while (*str)
          {
          if (*str > 0xa0) //如果是機內(nèi)碼
          {
          if (column == 30) //如果是最后一列,則換行
          {
          row ++;
          column = 1;
          }
          DispHZ(row, column, str); //一個
          column += 2;
          str += 2;
          }
          else //如果是英文字符
          {
          DispChar(row * 2, column, str); //一個英文字符
          column++;
          str++;
          }
          }
          /*----------------------------------------------------------------
          在指定位置一個(16*16點陣)
          row:行(1-8), column: 列(1-29)
          str:漢字標(biāo)準(zhǔn)機內(nèi)碼指針
          LINE_CHAR = 30 一行的字符數(shù)
          -----------------------------------------------------------------*/
          void DispHZ(unsigned char row, unsigned char column, unsigned char *str)
          {
          unsigned char idata i, hz_buf[32];
          unsigned int StartAddr;

          //定位起始行
          StartAddr = (((row - 1) * 16) * LINE_CHAR + (column-1)) + 0x4000;
          GetMatrix(str, hz_buf);
          for (i = 0; i 16; i++)
          {
          InData( (unsigned char) (StartAddr) );
          InData( (unsigned char) (StartAddr>>8) );
          InCmd(0x24);
          LCDInData(hz_buf[i * 2]);
          LCDInCmd(0xc0);
          LCDInData(hz_buf[i * 2 + 1]);
          LCDInCmd(0xc4);
          StartAddr += LINE_CHAR;
          }
          }
          /*-----------------------------------------------------------------------------------
          芯片中取漢字字模數(shù)據(jù)
          s: 漢字標(biāo)準(zhǔn)機內(nèi)碼指針
          hz_buf: 存放漢字字模數(shù)據(jù)緩沖區(qū)指針
          -------------------------------------------------------------------------------------*/
          void GetMatrix(unsigned char *s, unsigned char *hz_buf)
          {
          unsigned char i ,j, k;
          unsigned long address;

          for (k = 0; k 31; k++)
          {
          i = *s - 0xA1; //計算區(qū)碼
          j = *(s + 1) - 0xA1; //計算位碼
          address = (((unsigned long)i * 94) + j)*32 + k; //計算該漢字在字模芯片中的起始位置

          high_addr = 1;
          P0 = (unsigned char) (address >> 16); //送高位地址
          high_addr = 0;
          P0 = 0xff;
          zk_cs = 0;
          *hz_buf = XBYTE[(unsigned int) address]; //取漢字模數(shù)據(jù)
          hz_buf++;
          zk_cs = 1;
          }
          }

          4 結(jié)束語

          液晶中嵌入中文點陣字模芯片,其最大的特點是可以顯示所有的一、二級漢字、硬件接口簡單、軟件編程容易、可混合顯示漢字、英文字符和。作為人機接口的一個重要部分,可被廣泛應(yīng)用在工業(yè)儀器儀表、監(jiān)控裝置、保護(hù)裝置及汽車等各種領(lǐng)域中。

          5 參考文獻(xiàn)
          1 徐愛均彭秀華單片機高級語言C51應(yīng)用程序設(shè)計電子工業(yè)出版社2001
          2 萊德電子 YJ240D液晶手冊
          3 Toshiba CMOS digital integrated circuit silicon monolithic T6963C dot matrix LCD control LSI, 1997-04-07
          4 GB2312-80《信息交換用漢字編碼字符集》,1980

          LCD顯示屏相關(guān)文章:lcd顯示屏原理


          lcd相關(guān)文章:lcd原理

          上一頁 1 2 3 下一頁

          評論


          相關(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); })();