找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12651|回复: 47
收起左侧

LCD1602能显示中文吗

  [复制链接]
ID:458800 发表于 2018-12-30 22:30 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

ID:1 发表于 2018-12-30 22:36 | 显示全部楼层
51hei搜索 “1602 中文”即可找到答案 http://www.51hei.com/bbs/dpj-132220-1.html
回复

使用道具 举报

ID:458811 发表于 2018-12-30 22:57 | 显示全部楼层
没办法显示的,LCD1602的字符字摸关系里面没有办法构成中文
回复

使用道具 举报

ID:155507 发表于 2018-12-31 00:59 | 显示全部楼层
我给你来个程序试试


  1. #include <STC15.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define DataPort P0                                // 数据端口         
  6. #define Busy        0x80

  7. sbit        RS        = P2^1;                //LCD控制引脚定义
  8. sbit        RW        = P2^2;
  9. sbit        E        = P2^3;

  10. code char exampl[]="Hello Every Body";
  11. code char examp2[]={0x32,0x30,0x31,0x36,0x00,0x31,0x01,0x32,0x36,0x02};
  12. code char Hzzimo[]={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x00, //“年”
  13.                         0x0F,0x09,0x0F,0x09,0x0F,0x09,0x11,0x00, //“月”
  14.                         0x0F,0x09,0x09,0x0F,0x09,0x09,0x0F,0x00};//“日”

  15. /******************************** 1Ms延时函数 ********************************/
  16. void Delayms(){             //1Ms延时 @12MHzx
  17.         uchar i, j;                                  
  18.         i = 12;        j = 169;
  19.         do{
  20.                 while (--j);
  21.         } while (--i);
  22. }

  23. /*************************** Ms延时函数 *****************************/
  24. void Delay(uchar t){
  25.   while(--t) Delayms();
  26. }

  27. /******************************** 400Ms延时函数 ********************************/
  28. void Delay400Ms(void){
  29.         unsigned char i, j, k;
  30.         _nop_();_nop_();i = 19;
  31.         j = 62;k = 43;
  32.         do{
  33.                 do{
  34.                         while (--k);
  35.                 } while (--j);
  36.         } while (--i);}

  37. /**************************** 等待允许函数 ******************************/
  38. void WaitForEnable( void ) {
  39.         DataPort = 0xff;
  40.         RS =0; RW = 1; _nop_();       
  41.         Delayms();       
  42.         E = 1; _nop_(); _nop_();
  43.         Delayms();
  44.         while( DataPort & Busy );
  45.         E = 0;
  46. }       

  47. /**************************** 写命令函数 ******************************/
  48. void LcdWriteCommand( uchar CMD,uchar AttribC ) {
  49.         if (AttribC) WaitForEnable();                                // 检测忙信号?
  50.         RS = 0;        RW = 0; _nop_();
  51.         DataPort = CMD; _nop_();                                        // 送控制字子程序
  52.         E = 1;_nop_();_nop_();E = 0;                        // 操作允许脉冲信号       
  53. }
  54.        
  55. /*************************** 写数据函数 ***************************/
  56. void LcdWriteData( char dataW ) {
  57.         WaitForEnable();                                                        // 检测忙信号
  58.         RS = 1; RW = 0; _nop_();
  59.     DataPort = dataW; _nop_();
  60.         E = 1; _nop_(); _nop_(); E = 0;                // 操作允许脉冲信号               
  61. }

  62. /**************************** 显示光标定位函数 ****************************/
  63. void LocateXY( char posx,char posy) {
  64. uchar temp;
  65.         temp = posx & 0xf;
  66.         posy &= 0x1;
  67.         if ( posy )temp |= 0x40;
  68.         temp |= 0x80;
  69.         LcdWriteCommand(temp,0);
  70. }

  71. /**************************** 单字符显示函数 ******************************/
  72. void DispOneChar(uchar x,uchar y,uchar Wdata) {
  73.         LocateXY( x, y );                                // 定位显示字符的x,y位置
  74.         LcdWriteData( Wdata );                        // 写字符
  75. }


  76. /***************************** 显示字符串函数 *****************************/
  77. void ePutstr(uchar x,uchar y,uchar j, uchar code *ptr){
  78.         uchar i;
  79.         for (i=0;i<j;i++) {
  80.                 DispOneChar(x++,y,ptr[i]);
  81.                 if ( x == 16 ){
  82.                         x = 0; y ^= 1;
  83.                 }
  84.         }
  85. }

  86. /***************************** LCD初始化函数 ********************************/
  87. void LcdReset( void ) {
  88.            LcdWriteCommand( 0x38, 0);                        // 显示模式设置(不检测忙信号)
  89.                 Delay(5);
  90.           LcdWriteCommand( 0x38, 0);                        // 共三次
  91.                 Delay(5);
  92.           LcdWriteCommand( 0x38, 0);
  93.                 Delay(5);
  94.           LcdWriteCommand( 0x38, 1);                        // 显示模式设置(以后均检测忙信号)
  95.     LcdWriteCommand( 0x08, 1);                        // 显示关闭
  96.            LcdWriteCommand( 0x01, 1);                        // 显示清屏
  97.           LcdWriteCommand( 0x06, 1);                        // 显示光标移动设置
  98.           LcdWriteCommand( 0x0c, 1);                        // 显示开及光标设置
  99. }

  100. /************************** 自定义汉字字符函数 ***************************/
  101. void Hz(){
  102.         uchar i;
  103.         LcdWriteCommand( 0x40,1 );
  104.         for (i=0;i<24;i++){
  105.                 LcdWriteData(Hzzimo[i]);
  106.         }
  107. }

  108. /******************************* 主函数 **********************************/
  109. void main(void){
  110.         LcdReset();
  111.         Delay400Ms();
  112.         Hz();
  113.         ePutstr(0,0,16,exampl);                // 第一行从第0位开始显示Hello Every Body
  114.         ePutstr(4,1,10,examp2);                // 第二行从第4位开始显示2014年5月26日
  115.         while(1);
  116. }

复制代码
回复

使用道具 举报

ID:257174 发表于 2018-12-31 15:29 | 显示全部楼层
可以显示中文  简单的可以显示
回复

使用道具 举报

ID:459090 发表于 2018-12-31 18:14 | 显示全部楼层
一般需要取字模软件,生成点阵数据,最后按照写点程序调用即可。
回复

使用道具 举报

ID:451904 发表于 2018-12-31 19:18 来自手机 | 显示全部楼层
LCD1602是字符型液晶,只能显示ASCII码字符,如数字、大小写字母、各种符号等等
回复

使用道具 举报

ID:456046 发表于 2018-12-31 21:22 | 显示全部楼层
好像不能显示中文
回复

使用道具 举报

ID:459164 发表于 2018-12-31 23:35 | 显示全部楼层
1602液晶是字符型液晶,总共有2行,每行16个字符。每个字符有效的可显示字体是5*8点阵字体。所以通常无法显示中文
回复

使用道具 举报

ID:458825 发表于 2019-1-1 02:22 | 显示全部楼层
不能显示汉字
回复

使用道具 举报

ID:317383 发表于 2019-1-1 09:17 | 显示全部楼层
通过字模的方式,自己设计汉字字模,但是显示效果不一定好!
回复

使用道具 举报

ID:426861 发表于 2019-1-1 09:43 | 显示全部楼层
不能,只能显示ASCII码。想显示汉字的话用12864
回复

使用道具 举报

ID:458411 发表于 2019-1-1 09:43 | 显示全部楼层
可以显示简单的中文,复杂的就不行了
回复

使用道具 举报

ID:317383 发表于 2019-1-1 13:59 | 显示全部楼层
LCD2004 1602液晶显示汉字和自定义字符教程+仿真+keil程序
http://www.51hei.com/bbs/dpj-92901-1.html
回复

使用道具 举报

ID:309498 发表于 2019-1-1 15:34 | 显示全部楼层
可以通过取字模的软件然后在输出到1602.但是复杂的字不一定好,而且效果也不咋地
回复

使用道具 举报

ID:459120 发表于 2019-1-1 16:22 | 显示全部楼层
不可以显示的哦
回复

使用道具 举报

ID:357520 发表于 2019-1-1 16:43 | 显示全部楼层
好像不行把
回复

使用道具 举报

ID:356526 发表于 2019-1-1 17:54 | 显示全部楼层
只能显示笔画比较少的汉字
回复

使用道具 举报

ID:186510 发表于 2019-1-1 22:50 | 显示全部楼层
不能显示中文lcd没有中文字库,它的像素太小,不能显示汉字,汉字至少需要8*8的像素,,你可以使用LCD12864
回复

使用道具 举报

ID:457892 发表于 2019-1-2 09:07 | 显示全部楼层
不能显示
回复

使用道具 举报

ID:274129 发表于 2019-1-5 10:02 | 显示全部楼层
不能显示  12864能显示中文  1602只能显示数字  英文字母  和符号
回复

使用道具 举报

ID:232052 发表于 2019-1-5 17:10 | 显示全部楼层
建议别用  一般来说是不能的   最好用12864
回复

使用道具 举报

ID:430832 发表于 2019-1-5 18:47 | 显示全部楼层
不能,12864可以
回复

使用道具 举报

ID:462669 发表于 2019-1-5 19:59 | 显示全部楼层
没办法显示的,百度有使用手册
回复

使用道具 举报

ID:462903 发表于 2019-1-6 10:41 | 显示全部楼层
写出的汉子也不清晰
回复

使用道具 举报

ID:461342 发表于 2019-1-6 14:35 | 显示全部楼层
不能的,最好使用12864
回复

使用道具 举报

ID:432823 发表于 2019-1-6 21:31 | 显示全部楼层
不能,点阵数不够汉字显示。
回复

使用道具 举报

ID:463405 发表于 2019-1-7 01:12 | 显示全部楼层
能的,百度一下就能找到相应教程
回复

使用道具 举报

ID:463462 发表于 2019-1-7 09:29 | 显示全部楼层

没办法显示的,LCD1602的字符字摸关系里面没有办法构成中文
回复

使用道具 举报

ID:463638 发表于 2019-1-7 12:25 | 显示全部楼层
应该是不能显示。
回复

使用道具 举报

ID:379683 发表于 2019-1-7 18:45 | 显示全部楼层
不能显示的,只能显示字符
回复

使用道具 举报

ID:32278 发表于 2019-1-7 22:19 | 显示全部楼层
需要购买标识带有中文字库的LCD1602液晶屏
回复

使用道具 举报

ID:149389 发表于 2019-1-8 21:07 | 显示全部楼层
截图00.png
可自定义简单的字符或者图形符号。
回复

使用道具 举报

ID:453974 发表于 2019-1-9 00:08 | 显示全部楼层
不能显示中文,显示中文可以拥12864
回复

使用道具 举报

ID:465013 发表于 2019-1-9 00:47 来自手机 | 显示全部楼层
lcd1602能显示一些简单的汉子。像年月日
回复

使用道具 举报

ID:465224 发表于 2019-1-9 16:47 | 显示全部楼层
好像只显示字符
回复

使用道具 举报

ID:171810 发表于 2019-1-9 18:32 | 显示全部楼层
1602要分种类。标识带有中文字库的LCD1602液晶屏 。液晶可以12864可以显示汉字。
回复

使用道具 举报

ID:472242 发表于 2019-2-5 01:32 来自手机 | 显示全部楼层
不仅是能,而且是很能啊

评分

参与人数 3黑币 +105 收起 理由
jinsheng7533967 + 35
areyouok + 35
Sawardeakar + 35

查看全部评分

回复

使用道具 举报

ID:474988 发表于 2019-2-5 10:09 | 显示全部楼层
自己做字库就能显示,就像点阵LED那样,都是一个点一个像素,然后一个像素一个像素的去画,最终形成一个汉字的字节,再在程序里面用驱动函数写进去就可以了
回复

使用道具 举报

ID:21069 发表于 2019-2-5 20:14 | 显示全部楼层
这边看过来,有你想要的东东
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表