1602液晶自定义字符的应用_ball648500361的空间_百度空间
我们知道LCD1602是5X8点阵,分二行,每行十六个显示单元。因为点数少,其显示汉字的效果并不好,单个显示单元只能显示一些简单的汉字。但是其字形并不好看。
    查看LCD1602的CGROM字符代码表,可以发现 从00000000B~00000111B(00H~07H)地址的内容是没有定义的,它是留给用户自己定义的,用户可以通过先定义LCD1602的CGRAM中的内容,然后就可以同调用CGROM字符一样来调用自定义好的字符
那么如何设定CGRAM中的内容呢?首先我们要把所要编写的字符对应于5X8点阵的“字模”提取出来,我们可以通过相关的软件来提取,也可以手工提取。说白了也就是将点阵的某一行中有显示的点用1表示,无显示的点用0表示,以此形成该行对应的字模数据。
    设定CGRAM的内容,要一行一行的设定,每一行对应一个CGRAM,5X8点阵,每行5点,共8行,因此要将8行的字模数据都写入CGRAM。写好后,就可像调用CGROM字符一样来来调用它了。
    定义一行的内容,分两步:
     1. 设定行地址(CGRAM地址):
        用到的命令如下:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0       0     0     1                      DATA
其中:DB5DB4DB3为字符号,也就是你将来要显示该字符时要用到的字符地址。//所以地址可定要加上0X40;
      DB2DB1DB0为行号。
      2. 设定CGRAM数据(内容)指令码如下:
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1     0                                     DATA
其中:DB4DB3DB2DB1DB0对应于每行5点的字模数据。
       DB7DB6DB5可为任何数据,一般取“000”。
     

有了这些认识其实就可以尝试写写看,如果还有什么困难的话给我留言,需要程序的话告诉我邮箱直接发给你们,在网上有很多这样的程序,有写的很好的,但是不好的也有,我这边的程序是自己编写的,比较简洁,应为目的只要能显示自定义字符,其他的我都没写上,写程序么 本来就是这样,需要的写,不需要的就不要写,浪费时间

以上转自:

在这里我三点:一是:在51单片机中用kile写程序好像不允许用0x01010101b来进行数值的表示!

二是:程序只要你能正确显示字符。那么,写命令与写数据的子函数不用改可以直接使用只要将数据写入CGRAM中即可!

三是:把自定义字符存储好后;必须用显示字符的命令进行显示!不然将看不到效果!切记!

扩展方面:

这是我从网上搜出来的一个图片,他给我们提供了一个很好的思路那就是可以用拼图的方法实现较复杂的显示!


图片引用处:

个人观点:上面的链接有一个程序,就是这幅图片的源程序!



郑重声明:资讯 【1602液晶自定义字符的应用_ball648500361的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——