搜索
bottom↓
回复: 12

M5299/M5298驱动的128x64液晶点阵显示屏资料

[复制链接]

出0入0汤圆

发表于 2008-5-27 08:57:09 | 显示全部楼层 |阅读模式
DATA  VISION 的12864图形点阵LCD屏
简介: STN,有LED背光,无控制芯片,驱动芯片为M5299/M5298,4位数据接口,无内部负压
/****************************************************************************************/
重要接口解析
CLP                CP        数据的移位时钟
LIP                LD        数据锁存信号,每移位一行数据锁存一次,高电平时间不能小于1.46uS
FRMB                DF        交替信号(LCD驱动所需的交替信号)
FRP                FLM        帧信号
/****************************************************************************************/

LCD接口
1.        LED+
2.        LED-
3.        VCC
4.        GND
5.        -VP             我接-15V直流电压,-20V到-5V都可以
6.        LD        I        5298的36脚(CP),5299的49脚(LOAD)
7.        DF        I        5298的35脚(DF)
8.        FLM        I        5298的37脚(IO1)
9.        CP        I        5299的47脚(CP)
10.        GND       
11.        D0                5299的43-46脚(D3-D0)
12.        D1
13.        D2
14.        D3
/****************************************************************************************/
编程思路:
         M5299是列驱动,本液晶使用了两片M5299
         M5298是行驱动,本液晶使用了一片M5298
数据线D0--D3是接到M5299上面的(看上面的LCD接口列表),
所以就决定了点阵数据在液晶屏上面是横向填充的,这个很
重要,你用软件对汉字和图片取模的时候要设置的,也就是
设置为横向取模。
     编程的时候主要的接口是:CP,LD,FLM,D0--D3
具体是这样的:
     先给数据D0--D3,接着给移位时钟CP(下降沿),再给
数据D0--D3,再给时钟,……一直到给了32个时钟的时候(此时
数据移满一行,32x4=128),给一个锁存信号LD将数据送出.
这个M5299的锁存信号同时接到了M5298的CP端,而M5298是行驱
动,其结果就是移到了下一行,又开始新一轮的送数据…….当
送完整个一屏的时候,也就是一帧,给一个帧信号FLM.

要注意的地方:
      (1)要先给高4位数据,再给低4位数据
      (2)移位时钟是下降沿使能
      (3)移完128点一行后再移8个时钟再锁存
      (4)我用C写程序显示画面有点闪烁,用汇编就没有这个问题
         画面很清晰
/****************************************************************************************/
整个扫屏过程就像是电视机的显像管扫描,如果你看过电视机的
原理,那就很容易理解了.

             数据移位时钟CP    VS    显像管行扫描
             数据锁存信号LD    VS    显像管场扫描

(原文件名:汇编写的.JPG)


(原文件名:C写的.JPG)

点击此处下载 ourdev_293975.rar(文件大小:270K) (原文件名:LCD_M5299液晶.rar)

出0入0汤圆

 楼主| 发表于 2008-5-27 09:08:11 | 显示全部楼层
液晶的负压输入端接到电位器的调整端,电位器一端接地,另一端接-15V
像下面图片这样

(原文件名:rp.jpg)
头像被屏蔽

出0入0汤圆

发表于 2008-8-25 23:06:37 | 显示全部楼层
谢谢共享。

出0入4汤圆

发表于 2008-8-26 19:53:38 | 显示全部楼层
谢谢!有时间把我那超长的液晶搞出来

出0入0汤圆

发表于 2008-8-26 20:14:18 | 显示全部楼层
void disyPicture(uchar *Ptr)
改为
void disyPicture(uchar code*Ptr)
至少快30%

出0入0汤圆

 楼主| 发表于 2008-8-27 16:43:25 | 显示全部楼层
to  【4楼】 cctnt

    是这样的吗?我认为分配这个变量不用花很多时
间啊。快30%?? 这么明显啊? 如果这个画图函数
是经常调用的那应该有点效果,但是这个函数只是调
用一次哦。
    请 cctnt 说明一下原因,我其实对这个内存分配
问题一直没有很好了解。

出0入0汤圆

发表于 2008-8-27 19:50:00 | 显示全部楼层
汇编

(原文件名:新建 ACDSee BMP Image.jpg)
c

(原文件名:新建 ACDSee BMP Image (4).jpg)
c优化1
void disyPicture(uchar *Ptr)
改为
void disyPicture(uchar code*Ptr)
变量声明的类型影响存取效率

(原文件名:新建 ACDSee BMP Image (3).jpg)
c优化2

(原文件名:新建 ACDSee BMP Image (5).jpg)

出0入0汤圆

发表于 2008-8-27 20:06:26 | 显示全部楼层
我正好有一块这样的液晶,不过是240128的,楼主的资料很有价值~

出0入0汤圆

发表于 2008-9-9 00:09:20 | 显示全部楼层
手头有一块,正好学习一下。

出0入0汤圆

发表于 2008-9-11 09:02:01 | 显示全部楼层
俺手头也有一块类似的屏,是640X200的,只是不知道楼主的交替型号怎么加?还望指点!谢谢!

出0入0汤圆

 楼主| 发表于 2009-4-21 19:48:54 | 显示全部楼层
不好意思,前面一直在忙着看书,没怎么来这里,忘记回复帖子了。
to    XUEPENGBIN 薛鹏斌
-----------------------------------
那个交替信号的作用是为了极性的变换,那什么是极性的变换呢,
如果你没看过液晶的一般介绍就先看一下,一般书本都讲,很简单的,
简单说就是液晶屏的公共端跟各个段端的电压极性,他们要经常互换
一下,防止液晶分子的老化。
既于是怎么变换的,一般是模拟开关,驱动芯片上面都有的。
还有在什么时候变换嘛,这个有很多方式的,一般在扫描一行的中间时刻,
或者是在下次扫描相同一行的时候,知道什么意思吧。
还有一个要注意的是,两种极性的保持时间要尽量相同,使用计数器是
比较好的方法。我的没有用,是可以这样的,但是不好,我只是简单测试而已。
当然了,如果你能找到一款匹配的控制芯片,那就不用关心这个了。

出0入0汤圆

发表于 2009-12-28 14:51:51 | 显示全部楼层
感谢楼主

出0入0汤圆

发表于 2011-8-28 00:42:09 | 显示全部楼层
俺手头也有一块类似的屏.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-8 06:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表