LCD1602内部有一个64字节的自定义CGRAM,一个字符占8个字节,所以在CGRAM能够存放8个字符。 CGRAM的地址为0x40.所以当我们要写入数据时,要先写入一条地址命令 write_com(0x040);然后把你要写入的数据通过写数据命令写入 write_date( 你要写得数据); write_cmd(0x40); //开始写入你要显示的自定义字符、汉字代码 for(i=0;i<64;i++) { write_date(table[i]); delay(5); } 以上只是把你要显示汉字的代码存放在CGRAM里,就相当于其他常用字符一样固定在LCD里面了,如果不把它读出来,LCD是不会显示的。 常用字符是从0x20开始显示,而0x00—0x0f都是没有用的,其实这个正式为我们自定义显示字符准备的。当你把上面的代码输入到CGRAM中,LCD1602会把汉字或字符赋与地址,这个地址是从0x00开始,因为最多只能8个字符,所以当在CGRAM里面输入8个字符代码时,这8个字符的代码的数据地址就是0x00开始到0x07。 要显示自定义字符和显示常用字符一样的做法了,先写地址,然后写数据 自定义字符的数据就是0x00—0x07。 Write_date(0x00) — Write_date(0x07); |
为啥是:write date,而不是write data |
由创意,赞! |
有创意,买了12864,我的那个很久没用了,顶一下。 |
感谢分享,谢谢楼主了. |