搜索
bottom↓
回复: 39

分享:金鹏的OCMJ D系列液晶的驱动程序及其原厂(非金鹏的)说明书!用于5X10D,8X15D等D系列

[复制链接]

出0入0汤圆

发表于 2005-8-29 11:08:16 | 显示全部楼层 |阅读模式
原厂说明书下载(台湾RAIO瑞佑,好东西啊,你在外面是绝对下不了的!比金鹏自己的要详细的多!)

点击此处打开armok0165826.pdf



偶写的驱动,用CAVR+MEGA16写的。呵呵,写的不好,太简单了,就显示几个字,但是绝对能让它跑起来。关键的地方都注释过了。

点击此处下载armok0165827.rar



说明:金鹏液晶(www.gptlcm.cn),很多人都应该用过,D系列是他们最新的产品,很强的,带字库的大液晶(240X128),数字调节对比度+触摸屏+XXX。其他很少有这样的大屏幕液晶带简繁中文字库的。当时因为老大想买了试试,结果买回来死活调不好,因为D系列的功能很强大,内部的控制寄存器N多!而金鹏自己的说明书很简陋,根本就解决不解决不了问题。打电话问金鹏,他们也只是吱吱晤吾的,不愿意告诉太详细的东西。自己找驱动吧,结果发现金鹏居然把液晶背后的关键驱动芯片的字给擦掉了(强烈BS他们的行为!!!)....................

   嘿嘿!遗憾的是买回来两块液晶,有块的字没有擦掉,经偶分析,估计用的芯是台湾RAIO的8803-8820系列的。于是去官网www.raio.com.tw下了说明书(呵呵,不用在外面找了,你是找不到RAIO的驱动PDF文档的,除非找开发商要,而且就算是在www.raio.com.tw,你也是绝对下不到的,不过他们的网站安全措施有漏洞:),所以偶....)

  总结:OCMJ D系列的液晶,估计很多人一开始都觉得对比度怎么调都很浅,其实,RAIO用的控制MCU是可以数字调的,方法是调0X31寄存器的值,默认的是8F,调小的话对比度就强(金鹏的说明书里面根本就没有提到过这个关键的东西,再次BS他们的行为!)。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2005-8-29 20:28:09 | 显示全部楼层
这也要保密,看来以后不能买金鹏液晶的东西了,最讨厌这种行为了

出0入0汤圆

发表于 2005-8-30 00:20:11 | 显示全部楼层
老大你好伟大支持你哦!

出0入0汤圆

发表于 2005-8-31 20:02:24 | 显示全部楼层
支持

出0入0汤圆

发表于 2005-9-1 08:40:38 | 显示全部楼层
小伙,你很强啊

出0入0汤圆

发表于 2005-9-1 12:18:11 | 显示全部楼层
楼主有OMCJ2X8C的串行驱动程序吗?C语言的。能上传一个或发我一个吗?谢谢!anylon@163.com
-----此内容被anylon于2005-09-01,12:19:01编辑过

出0入0汤圆

发表于 2005-9-1 12:31:28 | 显示全部楼层
怪不得我看他们的C系列的说明书总觉得没头没脑样的,原来是遮遮掩掩抄来的。他们的B系列说明书比较通顺。

出0入0汤圆

 楼主| 发表于 2005-9-1 12:51:08 | 显示全部楼层
OMCJ2X8C?用什么芯片驱动的?如果是ST7920的话我倒是有。

出0入0汤圆

 楼主| 发表于 2005-9-3 16:41:08 | 显示全部楼层
才下了OCMJ 2X8C看了一下,估计驱动方式是ST7920的。

我的驱动:(前提,那个PSB已经接了地,真正要接的数据线只有2根!这也是我为什么喜欢用ST7920的原因。)

#include <mega16.h>

//#include <macros.h>





#define LCD_DATA_PORT  PORTB.0

#define LCD_EN         PORTB.1

#define LCD_CS         PORTB.2



unsigned char busy=0;



/*--------------------------------------------------------------------------------------------------

Public function prototypes

--------------------------------------------------------------------------------------------------*/

void LCD_init         (void);

void LCD_en_write     (void);

void LCD_write_char   (unsigned command,unsigned data);

void LCD_write_hanzi   (unsigned data);

void LCD_set_xy       (unsigned char x, unsigned char y);

//void LCD_write_string (unsigned char X,unsigned char Y,unsigned char *s);

void delay_nus        (unsigned int n);

void delay_nms        (unsigned int n);



/*  while(busy)

          {

           check_busy();

          }

         */  



void LCD_init(void)       //液晶初始化

{

unsigned char i=0;

delay_nms(150);      



for(i=0;i<3;i++)

{

LCD_write_char(0,0x30);  //8位显示

delay_nus(150);

}



LCD_write_char(0,0x0c);  

delay_nus(150);



LCD_write_char(0,0x0f);  //显示开,光标开,闪烁开

delay_nus(150);



LCD_write_char(0,0x01);  //清屏

delay_nms(10);



LCD_write_char(0,0x06);  

delay_nus(150);;



//delay_nms(100);



}





  

void LCD_set_xy( unsigned char x, unsigned char y )  //写地址函数

  {

    unsigned char address;

    if (y == 0) address = 0x80 + x;

    else if (y == 1) address = 0x90 + x;

    else if (y == 2) address = 0x88 + x;

    else if (y == 3) address = 0x98 + x;

    LCD_write_char(0,address);

  }



void LCD_en_write(void)  //液晶使能

{

  LCD_EN=0;

  delay_nus(50);

  LCD_EN=1;

  delay_nus(50);

}





void LCD_write_char(unsigned command,unsigned data) // 写数据

{

unsigned char i,j;



for(i=0;i<5;i++)

{

LCD_DATA_PORT=1;    //1 1 1 1 1

LCD_en_write();

  }

LCD_DATA_PORT=0;   //RW

LCD_en_write();



LCD_DATA_PORT=command; //RS

LCD_en_write();



LCD_DATA_PORT=0;   // 0

LCD_en_write();  //写串口输入方式的头



for(j=0;j<2;j++)

{

  for(i=0;i<4;i++)

   {

   if((0x80&data)>0)

   LCD_DATA_PORT=1;

   else LCD_DATA_PORT=0;

   LCD_en_write();

   data=data<<1;

   }

   for(i=0;i<4;i++)

   {

   LCD_DATA_PORT=0;    //0 0 0 0

   LCD_en_write();

   }

}

  

}



void LCD_write_hanzi(unsigned data) // 写数据

{



LCD_write_char(1,((0Xff00&data)>>8));

delay_nus(50);

LCD_write_char(1,((0xff&data)));  

delay_nus(50);



}



void main(void)

{   

     DDRA=0xff;   // 数据为输出

         DDRB=0xff;  //置位RS.EN

         LCD_CS=1;

         LCD_EN=0;

           delay_nms(10);

     LCD_init();

     for(;;)    //for循环

       {

             LCD_set_xy(0,0);

             LCD_write_char(1,'W');     

             LCD_write_char(1,'e');

             LCD_write_char(1,'n');

             LCD_write_char(1,'d');

             LCD_write_char(1,'u');

             LCD_write_char(1,':');

             //delay_nms(500);

             //LCD_set_xy(1,0);

             LCD_set_xy(3,0);

             LCD_write_char(1,'2');

             LCD_write_char(1,'8');

             LCD_write_char(1,'C');

            // delay_nms(500);

             

             

                 delay_nms(1000);  

         LCD_set_xy(0,1);

             LCD_write_char(1,'F');

             LCD_write_char(1,'e');

             LCD_write_char(1,'n');

             LCD_write_char(1,'g');

             LCD_write_char(1,'s');

             LCD_write_char(1,'u');

             LCD_write_char(1,':');

             LCD_set_xy(7,1);

             LCD_write_char(1,'3');

             //delay_nms(500);

             //LCD_set_xy(1,0);

                 delay_nms(1000);

                 

                 LCD_set_xy(0,2);

             LCD_write_hanzi('早');

             LCD_set_xy(1,2);

             LCD_write_hanzi('上');

             LCD_set_xy(2,2);

             LCD_write_hanzi('好');

             LCD_write_hanzi('早');

             //LCD_set_xy(1,2);

             LCD_write_hanzi('上');

             //LCD_set_xy(2,2);

             LCD_write_hanzi('我');

         LCD_write_hanzi('爱');

         LCD_write_hanzi('你');

         delay_nms(1000);

         

          LCD_set_xy(0,3);

             LCD_write_hanzi('电');

             

             LCD_write_hanzi('子');

            

             LCD_write_hanzi('设');

             LCD_write_hanzi('计');

          

             LCD_write_hanzi('大');

            

             LCD_write_hanzi('赛');

         LCD_write_hanzi('参');

         LCD_write_hanzi('与');

         LCD_set_xy(8,3);

         delay_nms(1000);

                             

                // delay_nms(2);

       //  LCD_write_string(0,0,"Wellcome");

       //  LCD_write_string(0,1,"www.OURAVR.com!");

        // delay_nms(5000);

         //LCD_write_string(0,0,"happy new year!");

        // LCD_write_string(0,1,"amork:everfriend");

        // delay_nms(5000);

       }

}

   /*-----------------------------------------------------------------------

延时函数

系统时钟:8M

-----------------------------------------------------------------------*/

void delay_1us(void)                 //1us延时函数

  {

   #asm("nop");

  }



void delay_nus(unsigned int n)       //N us延时函数

  {

   unsigned int i=0;

   for (i=0;i<n;i++)

   delay_1us();

  }

  

void delay_1ms(void)                 //1ms延时函数

  {

   unsigned int i;

   for (i=0;i<1140;i++);

  }

  

void delay_nms(unsigned int n)       //N ms延时函数

  {

  unsigned int i=0;

   for (i=0;i<n;i++)

   delay_1ms();

  }

出0入0汤圆

发表于 2005-9-9 11:49:02 | 显示全部楼层
程序很好用,谢谢楼上!

出0入0汤圆

发表于 2005-10-28 09:57:07 | 显示全部楼层
多谢你们,我提供一个128×64液晶厂商的好消息,我们正在使用,他们很便宜才70-80元,都是一样的控制芯片ST7920,13316362516

出0入0汤圆

发表于 2005-10-28 11:47:12 | 显示全部楼层
To 10楼】 hncjs

最近要用到液晶,你把厂家告诉我吧,发到我邮箱。或者贴出来。

出0入0汤圆

发表于 2005-10-28 12:51:30 | 显示全部楼层
金鹏的技术服务不好,相比之下成都飞宇达比较热情.他们都是采用同样的处理器

出0入0汤圆

发表于 2005-10-28 13:23:13 | 显示全部楼层
在四川!!!

我在福建好买吗?那位兄弟有买过!要多长时间在路上跑啊

出0入0汤圆

发表于 2006-6-1 17:53:54 | 显示全部楼层
谢谢myhk007

正准备用个8x15的中文模块,打不定主意用B还是D呢

看了你的资料就敢用D了

这个资料还是中文的太好了!!!
-----此内容被violit于2006-06-01,17:54:55编辑过

出0入0汤圆

发表于 2006-6-1 18:48:04 | 显示全部楼层
To 12楼:

不知道“金鹏”小灵通是不是也是他们做的?

N差!

我和我的同事一人买了一台型号不一样的金鹏小灵通,我的坏两个月后他的也坏了。

故障相同:死机,重启也死机,拔掉电板重新上电还是死机。



修了N次用几天还是死机!!!
-----此内容被suzhwt于2006-06-01,18:49:37编辑过

出0入0汤圆

发表于 2006-10-11 16:14:35 | 显示全部楼层
TO15楼,金鹏只生产液晶,至于小灵通就不是他们生产的,总的说来,金鹏的产品还是可以的,我公司就一直在用,一个月大概要1K,而且他们是第一家生产带中文字库的液晶厂家,技术应该不错的.我这里有金鹏公司所有的液晶显示程序,包括B C D系列的,如果有需要的话,各位请留下Email,我发给你们

出0入0汤圆

发表于 2007-1-23 12:27:35 | 显示全部楼层
谢谢楼主,楼主好人啊

出0入0汤圆

发表于 2007-10-9 14:46:54 | 显示全部楼层
做个标签~

出0入0汤圆

发表于 2007-11-1 15:15:25 | 显示全部楼层
老贴了,顶起来,可惜楼主的资料不能下了,可惜呀

出10入95汤圆

发表于 2007-11-3 08:57:43 | 显示全部楼层
搂住人才啊!不顶都不行!

出0入0汤圆

发表于 2007-11-3 14:13:24 | 显示全部楼层
大家有没有HX8347芯片,2.8寸液晶显示器的驱动程序??
那位能帮下我leneyli@163.com

出0入0汤圆

发表于 2007-11-28 20:25:06 | 显示全部楼层
TO zqbob1234:能给我一份吗?谢谢!
wxyinzhili@163.com

出0入0汤圆

发表于 2007-11-28 23:28:22 | 显示全部楼层
多谢楼主啊,先谢了

出0入0汤圆

发表于 2008-1-31 11:52:23 | 显示全部楼层
TO zqbob1234

我正在调8x15d,能否发个d系列的程序参考一下,谢了!
mail:cht7504@yeah.net

出0入0汤圆

发表于 2008-1-31 14:39:02 | 显示全部楼层
记号

出0入0汤圆

发表于 2008-4-18 10:45:00 | 显示全部楼层
大家有没有HX8347芯片,2.8寸液晶显示器的驱动程序??  
那位能帮下我hjian508@126.com

出0入0汤圆

发表于 2008-4-18 16:18:03 | 显示全部楼层
好,你太强了!

出0入0汤圆

发表于 2008-4-21 16:30:30 | 显示全部楼层
TO: zqbob1234

我现在在调ocmj12232c-3的程序,我不知道该怎么控制它在那个位置显示字,和一行显示规定数目的字,能否把相关的程序发给我一份!
先谢了!

我mail:  lixianming21@163.com

出0入0汤圆

发表于 2008-6-17 10:11:28 | 显示全部楼层
楼主好强啊。在此鄙视金鹏的人。我今天打电话去要个例程,奶奶的,就给了我一个破例子,还不能用。唉,强烈鄙视。

出0入228汤圆

发表于 2008-6-17 10:17:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-6-17 11:10:23 | 显示全部楼层
我去年就用金鹏的8X15D,带触摸屏,当时没见它打磨,就是有时启动不了,后来很轻易就去RAIO下载到PDF文档,确认是金鹏的初始化寄存器例程有问题.难道这种普通东西还会升值?

出0入0汤圆

发表于 2010-8-22 09:51:49 | 显示全部楼层
有没有  12864  绘图程序  本人一菜..............

出0入0汤圆

发表于 2010-8-22 09:52:39 | 显示全部楼层
回复【33楼】wanghusheng2
-----------------------------------------------------------------------

我的邮箱  wanghusheng2@163.com   谢谢。12864B系列

出0入0汤圆

发表于 2010-8-22 11:47:45 | 显示全部楼层
B系列的说明书有么?

出0入0汤圆

发表于 2013-1-14 16:51:18 | 显示全部楼层
留下看看.一直有用它的.

出340入0汤圆

发表于 2013-1-14 22:35:14 | 显示全部楼层
MARK一下

出0入0汤圆

发表于 2013-4-11 17:19:05 来自手机 | 显示全部楼层
谢谢楼主......

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-24 00:22

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

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