在网上搜了关于ST7920的资料,跟据图上的接法串行驱动只要四根线和S52连接:
PIN5----SID 数据线
PIN6----SCLK 时钟脉冲线
PIN1----VSS(GND)接地
PIN2----VDD(Vcc)电源+5V
T7920的LCD内部都有哪些资源。
1、ST7920 内部固化了8192 个16×16 点阵的中文字型在CGROM里。
2、固化有126 个16×8 点阵的西文字符在HCGROM里。
3、提供4个16×16点阵自造字符的存储空间CGRAM。
4、提供128×64的点阵绘图共1024个字节的存储空间GDRAM。
5、提供1个16×15点阵图标的存储空间IRAM(ICON RAM)。
如何去把它们显示在LCD上呢。
1、作为字符显示,在控制器内有个供写入字符代码的缓存器DDRAM ,你只要将要显示的中文字符代码或西文字符代码写入DDRAM,硬件将依照编码自动从CGROM 中选择将要显示的字型显示再屏幕上。至于是显示西文字符还是中文字符,它会自动辨别的,这和我们PC上是一样的,字符代码也完全一样。
2、图形方式就是用指令直接将表示点阵信息的字节数据写入相应位置的GDRAM内,
具体的规则:
1、字符显示时,DDRAM地址与液晶屏的位置关系见下图:
这个图上可以看出,它的地址编排很怪,第一行到87H完了以后就跳到了第三行接着88H了,每二行也是一样的,很明显,有下面两行接在上面两行后面的迹像。如下图:
2、下面我们再来看看图形显示GDRAM地址和LCD屏位置的关系:
上图我们可以看出ST7920的LCD12864在地址的排列上是分为上、下半屏来显示的,上半屏横向的列地址(X)是0-7(00h-07h),下半屏的列地址是8-15(08h-0fh)。而每个一地址都可写入两个字节的内容,它们是按高位在前低位在后排列的。垂直方向上的地址(Y)上半屏是0-31(00h-1fh),下半屏的Y地址仍是0-31(00h-1fh),可以看出,它的地址排列方式还是将下半屏接在上半屏后面的,因此这块LCD12864,虽然在点阵的物理排列上是128×64,但在地址排列上,它却是块256×32。
3、下面我们来介绍能够使用的指令?
下面我们来看看在串行模式下是如何进行控制的,见下图:
由图可以看出,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。首先,单片机要给出数据传输起始位,这里是以5个连续的“1”作数据起始位,如模块接收到连续的5个“1”,则内部传输被重置并且串行传输将被同步。紧接着,“RW”位用于选择数据的传输方向(读或写),“RS”位用于选择内部数据寄存器或指令寄存器,最后的第8位固定为“0”。在接收到起始位及“RW”和“RS”的第1个字节后,下一个字节的数据或指令将被分为2个字节来串行传送或接收。数据或指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”;数据或指令的低4位被放在第3个字节的高4位,其低4位也置为“0”,如此完成一个字节指令或数据的传送。需要注意的是,当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。
用户188034 2009-9-13 23:09