首页 >>> 公司新闻 >

公司新闻

1602字符型LCD怎么显示汉字

1602字符型液晶模块相比大家都比较了解,但是我们一般只用来显示字符、数字。接下来我以CYW-B1602A为例,谈谈我的做法,保证你10分钟之内一样可以在1602字符型液晶模块上显示你想显示的各种符号、汉字!

首先,我们要弄清楚一个概念,其实我们使用1602显示中文汉字,就是利用其内部的自定义字节空间,我们都知道1602字符型液晶模块内部有一个64字节的自定义CGRAM,那么,我们就是要利用自定义字节来达到显示汉字的效果。我们知道一个字符占8个字节,所以在CGRAM能够存放8个字符。也就是说,这个64字节的CGRAM是给我们提供写入数据的,那么我们怎么把我们要的汉字写入CGRAM呢?不要急,大家查看LCD1602的用户手册,里面提到当我们需要想CGRAM写入数据时,我们需要先写入CGRAM的地址,从手册上可知,CGRAM的地址为0x40.所以当我们要写入数据时,要先写入一条地址命令 write_com(0x040); 然后把你要写入的数据通过写数据命令写入  write_date( 你要写的数据);

做完以上步骤了,是不是1602字符型液晶模块就会显示你输入的汉字呢?
不要急,以上你只是把你要显示汉字的代码存放在CGRAM里,就相当于其他常用字符一样固定在LCD里面了,如果你不把它读出来,LCD是不会显示的。

当你把上面的步骤做完后,接下来要做的与你平常怎么使用1602字符型液晶模块是一样的,只不过是1602字符型液晶模块里面增加了一些你自定义的字符,汉字。

可能到这里,也许会有些疑问,既然自定义字符、汉字的代码需要我们自己输入,那么我该怎么编写这些代码,不要着急,接下来就要用到下面这个取字模软件。


相信有的朋友应该都用过这个软件。那么我们怎么来使用这个软件来获取代码呢?大家有没有注意到,我们的1602字符型液晶模块是5*8点阵(可以数一数)。但是5*8不能提取代码,*少只能8*8,所以我们这里只用后前5列,前3列不用。

新建图像 8*8.然后再图像里面点你要显示的字符,汉字,注意是在后5列中点,黑点表示显示,白点不显示,用鼠标左键可以切换,下面是我点得一个坦克。

点好后,就可以产生代码了,这软件里面可以选择C51或汇编,这里我选择C51

下面的8个代码就是要产生这个字符的数据。。也就是要输入到自定义字符CGRAM里面的。怎么把获取汉字代码,怎么把代码输入到CGRAM里面都知道了,下面就是要把我们的自定义汉字、字符显示在1602字符型液晶模块屏幕上了。我们知道常用字符是从0x20开始显示,而0x000x0f都是没有用的,其实这个正式为我们自定义显示字符准备的。当你把上面的代码输入到CGRAM中,LCD1602机会把汉字或字符赋予地址,这个地址是从0x00开始,因为*多只能8个字符,所以当在CGRAM里面输入8个字符代码时,这8个字符的代码的数据地址就是0x00开始到0x07。所以当你要在1602字符型液晶模块上显示自��义字符时,只需要把这个地址用数据输入就OK

Write_date(0x00—0x07);

也就是说现在你要显示自定义字符和你显示常用字符一样的做法了,先写地址,然后写数据自定义字符的数据就是0x000x07。也就是你自定义的8个字符。

这里用 Proteus 仿真软件演示

出自http://www.cywlcd.com