单片机 2010-02-24 14:50:31 阅读 154 评论 4 字号:大中小
[转自本人 QQ 空间,发表于 2009 年 08 月 19 日 22:14 ]
辛勤学习了好几天,终于对 12864 液晶有了些初步了解~没有视频教程学起来真有些累,基本上内部程序写入顺序都是根据程序自我变动,然后逆向反推出原理……
芯片:YM12864R P-1 控制芯片:ST7920A 带中文字库
初步小结:
1、 控制芯片不同,寄存器定义会不同
2、 显示方式有并行和串行,程序不同
3、 含字库芯片显示字符时不必对字符取模了
4、 对芯片的结构地址一定要理解清楚
5、 显示汉字时液晶芯片写入数据的顺序(即显示的顺序)要清楚
6、 显示图片时液晶芯片写入数据的顺序(即显示的顺序)要清楚
7、 显示汉字时的二级单元(一级为八位数据写入单元)要清楚
8、 显示图片时的二级单元(一级为八位数据写入单元)要清楚
12864 点阵液晶显示模块(LCM)就是由 128*64 个液晶显示点组成的一个 128 列*64 行的阵列。每个显示点对应一位二进制数, 1 表示亮,0 表示灭。存储这些点阵信息的 RAM 称为显示数据存储器。要显
示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显
示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以 12864 液晶屏实际上是由左右两块独立的 64*64 液晶屏拼接而成,每半屏有一个 512*8 bits 显示数据 RAM。左右半屏驱动电路及存储器分别由片
选信号 CS1 和 CS2 选择。显示点在 64*64 液晶屏上的位置由行号(line,0~63)与列号(column,0~63)确定。512*8 bits RAM 中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。
每个存储单元存储 8 个液晶点的显示信息。
为了使液晶点位置信息与存储地址的对应关系更直观关,将 64*64 液晶屏从上至下 8 等分为 8 个显示块,每块包括 8 行*64 列个点阵。每列中的 8 行点阵信息构成一个 8bits 二进制数,存储在一个存储单元中。
(注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的 RAM 区称为存储页。即 64*64 液晶屏的点阵信息存储在 8 个存储页中,每页 64 个字节,每个字节存储一列 (8 行)点阵信
息。因此存储单元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。例如点亮 128*64 的屏中(20,30)位置上的液晶点,因列地址 30 小于 64,该点在左半屏第 29 列,所以 CS1 有效;行地址 20
除以 8 取整得 2,取余得 4,该点在 RAM 中页地址为 2,在字节中的序号为 4;所以将二进制数据 00010000(也可能是 00001000,高低顺序取决于制造商)写入 Xpage=2,Yaddress=29 的存储单元中即点亮
(20,30)上的液晶点。
芯片的结构一定要清楚!
点阵 LCD 的显示原理
在数字电路中,所有的数据都是以 0 和 1 保存的,对 LCD 控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要 8 位(一字节)即可。而对于中文,常用