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

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > 小點陣漢顯液晶模塊及其應用

          小點陣漢顯液晶模塊及其應用

          作者: 時間:2004-12-08 來源:網絡 收藏

          摘要:HZ132-64B30是一種采用1212的小漢字顯示,該內嵌T9拼音輸入法并采用標準的UART與控制MCU通信。文中介紹了該的性能特點、引腳功能及用戶命令,給出了HZ132-64B30的具體電路和程序。

          關鍵詞:;漢顯模塊;單片機;HZ3132-64B30

          對于手機等體積小巧的電子產品,其人機界面一方面要滿足大信息量的顯示要求,另一方面,顯示屏的大小又受體積的制約。因此,如何在面積有限的情況下多顯示一些漢字已成為此類產品需要解決的重要問題。而解決上述問題最為行之有效的方法就是采用小點陣漢字顯示,這樣可以在同樣的成本和體積下多顯示一些漢字。另一方面,此類電子產品還要求具有較強的漢字輸入功能,以滿足漢字輸入及查找的需要。

          HZ132-64B30即是采用小點陣漢字顯示,它是具有1212點陣漢字顯示功能的圖形顯示模塊。該模塊同時還內嵌了先進的T9拼音輸入法,并采用UART方式與控制MCU進行接口,因此可為手機、智能終端等人機交互信息量大的電子產品提供一個較好的解決方案。

          1?。龋冢保常玻叮矗拢常暗男阅芴攸c

          HZ132-64B30漢字液晶顯示模塊的主要性能特點如下:

          ●模塊分辨率為132(列)64(行),全屏幕圖形點陣,漢字顯示點陣為1212;

          ●內含1212點陣一、二級簡體中文漢字字庫及126點陣ASCⅡ字符庫;

          ●全屏幕可以顯示每行10個共5行標準宋體漢字或者205個ASCⅡ字符,非常適合信息終端類顯示;

          ●具有多種圖形及文本顯示命令;

          ●采用串行接口控制,硬件連接比較簡單;

          ●內嵌先進的T9拼音輸入法,與大多數(shù)手機的拼音輸入法兼容;

          ●液晶屏尺寸(mm):53.0(L)28.0(W)2.0(H),顯示點陣: 0.26(L)0.28(W);

          ●采用單+5V電源供電,內部可提供顯示驅動負電壓。

          HZ132-64B30漢顯模塊在模塊上方的一排5根引腳是給用戶的電源和串行數(shù)據(jù)口,現(xiàn)將各引腳功能說明如下:

          VCC(1):5V正電源端;

          TXD(2):漢顯模塊的串行數(shù)據(jù)輸出引腳;

          RXD(3):漢顯模塊的串行數(shù)據(jù)輸入引腳,在模塊啟動期間,該腳接地可以激活自檢程序,此時液晶屏將顯示自檢畫面?

          GND(4):接地端;

          RESET(5):外部復位引腳,高電平有效。

          2 用戶命令

          控制MCU一般通過串口命令與漢顯模塊進行通信,模塊對串口命令做出相應的顯示或返回相應的數(shù)據(jù),模塊的通信格式為9600,n,8,1,所有發(fā)往漢顯模塊的命令都是以“ESC”鍵值0X1b開始,后面跟一個字節(jié)的命令碼,其后再跟具體的命令內容。模塊返回的內容則是以“ESC”開始,后面跟一個字節(jié)的命令碼,其后跟返回內容。模塊可自動對每條指令做出是否成功的返回響應,執(zhí)行成功時返回“OK!”,錯誤指令則返回“error”。對于有數(shù)據(jù)返回的指令,這些響應通常跟在數(shù)據(jù)的后面。當模塊正常運行時,可以通過適當?shù)脑O置使其不再對命令執(zhí)行做出成功與否的響應,以提高模塊的運行速度。

          發(fā)往模塊的命令格式為:ESC、命令代碼(1 byte)、命令內容(N bytes);

          模塊返回的數(shù)據(jù)格式為:ESC、返回內容(N bytes)。

          下面詳細介紹各用戶命令:

          (1)設置LCM的灰度

          命令格式:ESC,0X31,HD;

          0X31:灰度設置命令;

          HD:灰度值,取值范圍為0X00~0X3F,建議灰度值取為0X07。

          (2)清屏命令

          命令格式:ESC,0X32;

          (3)設置光標位置

          命令格式:ESC,0X33,X,Y;

          其中X為以漢字為單位的屏幕列坐標值,取值范圍為0~19;Y則是以漢字為單位的屏幕行坐標值,取值范圍為0~4。

          (4)顯示光標

          命令格式:ESC,0X34,A;

          其中,A為光標顯示開關,A為0時,不顯示光標,A為1時,光標顯示。

          (5)在光標位置顯示字符串

          命令格式:ESC,0X37,B,N,END;

          該命令可在當前光標位置顯示漢字或ASCⅡ字符串,也可用于顯示單個漢字或ASCⅡ字符。其中:B為顯示屬性開關,當B為0時,正常顯示字符,B為1時,反顯字符;N為顯示字符的內容(多字節(jié)),當顯示內容為漢字時,N為顯示漢字的內碼;當顯示內容為ASCⅡ碼時,N為ASCⅡ碼值;END為結束標志,其值為0X00。

          (6)在任意位置畫點

          命令格式:ESC,0X38,C,X,Y;

          畫點時,坐標原點(0,0)都是在左上角,X坐標向右遞增,Y坐標向下遞增。其中:C是畫點屬性開關,C為1時,在該坐標原點畫一個點,C為0時,擦除該坐標的點;X表示以點為單位的X坐標值(0<X<131);Y表示以點為單位的Y坐標值(0<Y<63)。

          (7)任意位置畫線

          命令格式:ESC,0X39,D,X0,Y0,X1,Y1;

          其中,D為畫線屬性,D為2時,畫一條虛線;D為1時,畫一條實線;D為0時,擦除該位置的線;X0表示直線一端的X位置;Y0表示直線一端的Y位置;X1表示直線另一端的X位置;Y1表示直線另一端的Y位置。

          (8)任意位置畫圓

          命令格式:ESC,0X41,E,X,Y,R;

          其中,E表示畫圓屬性,E為1,畫一個圓,E為0,擦除該圓;X表示圓心的X位置;Y表示圓心的Y位置;R表示半徑。

          (9)畫圖片

          命令格式:ESC,0X42,F,X0Y0,X1Y1,N;

          其中,F為畫圖屬性,F為0,畫正常圖,F為1,畫反顯圖;X0Y0為圖片左上角的坐標位置;X1Y1為圖片大小,寬為X1? 高為Y1;N為多字節(jié)圖形數(shù)據(jù),排列方法為橫向8bit,字節(jié)為左高右低,字節(jié)排列順序為從左到右、從上到下。

          (10)畫ICON

          命令格式:ESC,0X43,G,N;

          該功能用于顯示廠家預設在模塊內的ICON圖形。其中:G表示ICON屬性,G為1時,畫該ICON,G為0時,擦除該ICON;N表示從左到右第幾個ICON?0<n<131?。

          (11)取數(shù)字組合的有效拼音組合?用于T9拼音輸入法?

          命令格式:發(fā)送:ESC,0X47,N1,END;

          返回:ESC,N1,X1,END,Xn,END;

          數(shù)字代表的字母采用國際標準:0和1無效,2?ABC?,3?DEF?,4?GHI?,5?JKL?,6?MNO?,7?PQRS?,8?TUV?,9?WXYZ?;

          N1表示輸入數(shù)字所代表的字母?小于或等于6個數(shù)字?,取值范圍為2~9,代表的字母范圍為A~F;

          X1表示第一個返回的拼音字符串(小寫);

          Xn表示第n個返回的拼音字符串(小寫);

          (12)取符合輸入拼音字符串的漢字串?用于T9拼音輸入法?

          命令格式:發(fā)送:ESC,0X48,N,Xn,N,END;

          返回:ESC,Nx,END。

          其中,N表示返回漢字的個數(shù);Xn表示返回第幾頁的漢字n≥1(用于待選漢字翻頁);N1表示輸入的拼音字符串?≤6個數(shù)字?;Nx表示返回的漢字串。

          (13)設置是否對命令做返回響應

          命令格式:ESC,0X50,H;

          其中,H為命令響應屬性,H為00表示不返回命令響應,H為01則表示當命令正確執(zhí)行時返回“OK!”,當命令不正確時返回“error”。

          3 具體

          HZ132-64B30漢顯液晶模塊可廣泛用于人機交互界面友好、顯示信息量大的電子產品中,由于控制MCU是通過UART與液晶模塊進行通訊的,故該模塊幾乎可與任何種類的單片機進行接口。對于不具備UART或UART被占用的單片機,可使用通用I/O口線來模擬串口,但模擬串口的波特率將受到指令周期的限制而無法做得很高,一般只能做到4800bps,這時可將漢顯模塊的晶振更換為11.0592MHz,同時模塊的波特率也改為4800 bps, 即可正常通訊了。

          圖1是以AT89C2051單片機為例,給出的漢顯液晶模塊與單片機的接口電路。

          下面是采用C51語言編寫的與圖1硬件電路配套的子程序:

          #define CR putstring(“\r\n”)? //發(fā)送一個回車換行

          #define OLEN 8 //串行發(fā)送緩沖區(qū)長度

          idata uchar outbuf[OLEN]; //發(fā)送緩沖區(qū)

          data uchar idata *outlast=outbuf; //最后由中斷傳輸出去的字節(jié)位置

          data uchar idata *putlast=outbuf; //最后放入發(fā)送緩沖區(qū)的字節(jié)位置

          #define ILEN 30 // 串行接收緩沖區(qū)長度

          idata uchar inbuf[OLEN] ;接收緩沖區(qū)

          data uchar idata *inlast=inbuf; //最后由中斷進入接收緩沖區(qū)的字節(jié)位置

          data uchar idata *getlast=inbuf; //最后取走的字節(jié)位置

          bit outbufsign0; //最后一個數(shù)據(jù)發(fā)完標志,發(fā)完=0

          bit outbufsign; //輸出緩沖區(qū)非空標志,非空=1

          bit inbufsign; //接收緩沖區(qū)非空標志, 非空=1

          bit inbufful; //輸入緩沖區(qū)滿標志,滿=1

          //放入一個字節(jié)到發(fā)送緩沖區(qū)

          putbyte(unsigned char c)

          {

          ES=0; //暫停串行中斷,以免數(shù)據(jù)比較時出錯

          while((((outlast-putlast)==2)&&(outlast > putlast )) || ((?outlast < putlast) && (OLEN-(putlast-outlast)==2)))

          {

          ES=1;

          c++;c--;

          ES=0;

          }

          *putlast=c; //放字節(jié)進入緩沖區(qū)

          putlast++; //發(fā)送緩沖區(qū)指針加一

          if(putlast==outbuf+OLEN) putlast=outbuf;

          //指針到頂部后換到底部

          outbufsign=1;

          if (?。铮酰簦猓酰妫螅椋纾睿埃?/P>

          {

          outbufsign0=1;

          TI=1;

          ?} //緩沖區(qū)開始為空置為有,啟動發(fā)送

          ES=1;

          }

          // 設置光標位置

          void lcd_cursor(uchar x, uchar y)

          {

          putbyte(0x1b);

          putbyte(0x33);

          putbyte(x);?

          putbyte(y);?

          }

          //顯示字符串

          void lcd_string(uchar attr,uchar *string)

          {

          putbyte(0x1b);?

          putbyte(0x37);?

          putbyte(attr);?

          putstring(string);

          putbyte(0x00);?

          }

          //畫點

          void lcd_ dot(uchar attr,uchar x,uchar y)

          {

          putbyte(0x1b);

          putbyte(0x38);

          putbyte(attr);

          putbyte(x);?

          putbyte(y);?

          }

          // 畫圖片,*picture data指向圖片數(shù)據(jù),圖片數(shù)據(jù)的第一二個字節(jié)是圖片寬度和圖片高度

          void lcd_picture(uchar attr,uchar x0,uchar y0,uchar *picture_data)

          {

          putbyte(0x1b);?

          putbyte(0x42);?

          putbyte(attr);?

          putbyte(x0);

          putbyte(y0);?

          putbytes(picture_data,(((*picture_data)+7)/8)*(*(picture_data+1))+2);

          }

          //發(fā)送字符串到串口

          putstring(uchar *puts)

          {

          for(;*puts!=0;puts++)//遇到停止符0結束

          putbyte(*puts);

          }

          //串口中斷處理

          serial () interrupt 4

          {

          if (TI)

          {

          TI = 0;

          if(outbufsign)

          {

          SBUF=*outlast; //未發(fā)送完繼續(xù)

          outlast++;//最后傳出去的字節(jié)位置加一

          if (outlast==outbuf+OLEN) outlast=

          outbuf; //地址到頂部回到底部

          if (putlast==outlast) outbufsign=0;

          //數(shù)據(jù)發(fā)送完置發(fā)送緩沖區(qū)空標志

          }

          else

          {

          outbufsign0=0;

          }

          }

          if(RI)

          {

          RI = 0;

          if(!inbufful)

          {

          *inlast= SBUF; //放入數(shù)據(jù)

          inlast++; //最后放入的位置加一

          inbufsign=1;

          if(inlast==inbuf+ILEN)inlast=inbuf;

          //地址到頂部回到底部

          if (inlast==getlast) inbufful=1;

          //接收緩沖區(qū)滿置滿標志

          }

          }

          }

          //串口初始化

          void serial_init(void)

          {

          SCON=0x50;

          TMOD|=0x20;

          PCON|= 0x80;

          TH1 = 0xf4;

          TR1 = 1;

          ES = 1;

          REN=1;

          EA=1;

          }

          4 結束語

          HZ132-64B30小點陣漢顯模塊的推出為小體積、交互顯示信息量較大的電子產品的人機界面顯示提供了一個較好的解決方案,它可以用較低的成本顯示較多的漢字,同時,其內嵌的T9拼音輸入法也為漢字的輸入與查找提供了方便,因而該模塊在通信、信息終端及智能化電子產品中具有廣泛的應用前景。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();