1602和12864笔记(个人向)

  • 1602液晶的控制芯片根据最高的1的位置来区分不同指令,例如工作方式设置指令的最高位1在DB5,显示开关控制指令的最高位1在DB3(常用HD44780,带字库)。12864液晶的控制芯片也是(常用ST7920A,带字库)。
  • 12864的基本指令用于显示汉字(CGROM),半宽字符(HCGROM),自定义字符(CGRAM)。扩充指令用于画图。
  • 1602接收的数据,就是各个字符的显示数据在CGROM的存储地址,实际上就是ASCII编码,故程序可以直接用类似 P0='A' 的操作,处理器根据所接收的数据,以及设定好的DDRAM地址,在屏幕对应位置显示对应字符;12864也是这个道理。不同的是,带字库的12864收录了中文以及其他文字编码,一般是双字节。
  • 用指针方式传输字符串数组给12864时,单个字母或数字紧接汉字会导致乱码,例如{"A单片机"},因为长度不对齐。
  • PS打开图片,去色,压缩像素为128*64,图像-模式-位图,然后保存,即可使用PCtoLCD,根据自己的需要生成数据。
  • 12864的CGRAM支持自定义4个16*16字符,写入时写入地址0x40,50,60,70,显示时对应编码0000,0002,0004,0006,道理类似于显示汉字或者字符串,设定好DDRAM地址之后,连续传输两个字节编码就好。因为第一个字节是00(也就是'\0'),所以与字符串是不同的,字符串以'\0'结尾,有效字符不会是00。

猜你喜欢

转载自blog.csdn.net/WangJianlin3/article/details/84474983