搜索
bottom↓
回复: 16

跪求 Truly MCG12864 液晶资料!!!!!

[复制链接]

出0入0汤圆

发表于 2006-9-9 18:39:23 | 显示全部楼层 |阅读模式
昨晚找了3小时,还是没找到,

具体型号 Truly MCG12864A8-3。

主要是接口是18PIN的(包括背光),一般的都是20PIN,其它资料无法用。

有Truly MCG12864资料的麻烦发份到miniatm@163.com,谢谢先。

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

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

出0入0汤圆

发表于 2006-9-9 18:49:42 | 显示全部楼层
为什么动不动就要“跪”?



“求”?只要有诚意就可以了

出0入0汤圆

 楼主| 发表于 2006-9-9 18:58:59 | 显示全部楼层
表明已经没办法想了啊!

出0入0汤圆

发表于 2006-9-9 19:19:00 | 显示全部楼层
下面是摘录:



http://file.21ic.com/offline/2003/11/508073.htm



TRULY 12864A8-3 LCD读写程序,已经测试过。



#define LCDDATA XBYTE[0x8000] /* 液晶显示器数据端口 */ #define BPORT1 XBYTE[0x8400] /*控制端口;D0=LCM_RS, D1=LCM_EN, D2=LCM_CS1, D3=LCM_CS2, D4=LCM_RW*/ unsigned char bdata Mport1; /*BPORT1内存映射*/ sbit LCD_RS=Mport1^0; sbit LCD_E =Mport1^1; sbit LCD_C1=Mport1^2; sbit LCD_C2=Mport1^3; sbit LCD_RW=Mport1^4; #define DCS1_ON 0 /* 选择CS1 */ #define DCS1_OFF 1 /* 释放CS1 */ #define DCS2_ON 0 #define DCS2_OFF 1 #define CONTRAST_DISP 1 /* 显示属性-反白显示 */ #define NORMAL_DISP 0 /* 显示属性-正常显示 */ #define FILL_LINE 1 /* 行填充*/ #define CLEAR_LINE 0 /* 行填充*/ /* 向TRULY MCG12864A8-3写命令 */ void SendCommand(unsigned char b) { unsigned char i; LCD_RS = 0; BPORT1=Mport1; LCD_RW = 0; BPORT1=Mport1; LCDDATA = b; LCD_E = 0; BPORT1=Mport1; for(i=0;i<2;i++); LCD_E = 1; BPORT1=Mport1; for(i=0;i<2;i++); LCD_E = 0; BPORT1=Mport1; for(i=0;i<2;i++); } /* 向TRULY MCG12864A8-3写显示数据 */ void SendData(unsigned char b) { unsigned char i; LCD_RS = 1; BPORT1=Mport1; LCD_RW = 0; BPORT1=Mport1; LCDDATA = b; LCD_E = 0; BPORT1=Mport1; for(i=0;i<2;i++); LCD_E = 1; BPORT1=Mport1; for(i=0;i<2;i++); LCD_E = 0; BPORT1=Mport1; for(i=0;i<2;i++); } /* TRULY MCG12864A8-3片选 */ void lcdcs(bit cs1, bit cs2) { LCD_C1=cs1; LCD_C2=cs2; BPORT1=Mport1; } /*TRULY MCG12864A8-3锁定*/ void lcdlock(void) { lcdcs( DCS1_OFF , DCS2_OFF ); } /* TRULY MCG12864A8-3清屏初始化 */ void lcdscreenclear(void) { unsigned char i,m,n; lcdcs( DCS1_ON , DCS2_OFF ); SendCommand(0x3f); /*打开液晶*/ SendCommand(0xc0); /*从0行开始*/ m = 0xb8; for( n=0 ; n<8 ; n++ ){ SendCommand(m); /*X坐标(对应屏幕位置为第X行)*/ SendCommand(0x40); /*Y坐标*/ for( i=0 ; i<64 ; i++ ) SendData(0x00); m++; } lcdcs( DCS1_OFF , DCS2_ON ); SendCommand(0x3f); SendCommand(0xc0); m=0xb8; for( n=0 ; n<8 ; n++ ){ SendCommand(m); SendCommand(0x40); for( i=0 ; i<64 ; i++ ) SendData(0x00); m++; } lcdlock(); } /* TRULY MCG12864A8-3行处理 */ /*x=字符行坐标[0x00,0x07];FILL=1 行填充;FILL=0行清除*/ void lcdline(unsigned char x , bit fill) { unsigned char i; lcdcs( DCS1_ON , DCS2_OFF ); SendCommand(0x3f); SendCommand(0xc0); SendCommand( 0xb8|x ); for( i=0 ; i<64 ; i++ ) if(fill) SendData(0xff); else SendData(0x00); lcdcs( DCS1_OFF , DCS2_ON ); SendCommand(0x3f); SendCommand(0xc0); SendCommand( 0xb8|x ); for( i=0 ; i<64 ; i++ ) if(fill) SendData(0xff); else SendData(0x00); lcdlock(); } /*字节倒序*/ unsigned char inva(unsigned char b) { char i; /* 有符合数 */ unsigned char v1 = 0; unsigned char v2 = 0; unsigned char j1 = 0x80; unsigned char j2 = 0x01; for(i = 7; i >= 1 ;i = i-2){ v1 = ((b <>i)&j2)|v2; j1 = j1 >> 1; j2 = j2 << 1; } return(v1|v2); } /******************************************************* ** TRULY MCG12864A8-3同行显示汉字和ASCII码 ** 入口:x--显示起始行坐标[0x00,0x07],以8×8点阵的字符为度量单位 ** y--显示起始列坐标[0x00,0x15],以8×8点阵的字符为度量单位 ** p--显示字符串的指针 ** contrast--显示字符串的属性,=1反白显示 *******************************************************/ void dispbuf(unsigned char x, unsigned char y, unsigned char *p, bit contrast) { unsigned char i,b; unsigned char t; if( y>7 ){ lcdcs( DCS1_OFF , DCS2_ON ); y = y-8; b = 2; } else{ lcdcs( DCS1_ON , DCS2_OFF ); b = 1; } SendCommand(0x3f); SendCommand(0xc0); while( *p ) { t=(*(p++)-1); if(t > 127){ /*汉字*/ t -=128; SendCommand( 0x40 | (y*8) ); SendCommand( 0xb8 | x ); for( i=0 ; i<8 ; i++ ) if(contrast) SendData( ~inva(chinese[t]) ); else SendData( inva(chinese[t]) ); SendCommand( 0x40 | (y*8) ); SendCommand( 0xb8 |(x+1) ); for( i=0 ; i<8 ; i++ ) if(contrast) SendData( ~inva(chinese[t][i+16]) ); else SendData( inva(chinese[t][i+16]) ); y++; if(y==8){ y=0; if( b==1 ){ lcdcs( DCS1_OFF , DCS2_ON ); b = 2; } else{ /*已到行尾,自动换到下一行*/ lcdcs( DCS1_ON , DCS2_OFF ); b = 1; x+= 2; } } SendCommand( 0x40 | (y*8) ); SendCommand( 0xb8 | x ); for( i=0 ; i<8 ; i++ ) if(contrast) SendData( ~inva(chinese[t][i+8]) ); else SendData( inva(chinese[t][i+8]) ); SendCommand( 0x40 |(y*8) ); SendCommand( 0xb8 |(x+1) ); for(i = 0;i < 8;i++) if(contrast) SendData( ~inva(chinese[t][i+24]) ); else SendData( inva(chinese[t][i+24]) ); y++; if( y==8 ){ y=0; if( b==1 ){ lcdcs( DCS1_OFF , DCS2_ON ); b = 2; } else{ lcdcs( DCS1_ON , DCS2_OFF ); b = 1; x += 2; } } } else{ /*ASCII*/ SendCommand( 0x40 | y*8 ); SendCommand( 0xb8 | x ); for( i=0 ; i<8 ; i++ ) if(contrast) SendData( ~inva(ascii[t+1]) ); else SendData( inva(ascii[t+1]) ); SendCommand( 0x40 | y*8 ); SendCommand( 0xb8 | (x+1) ); for( i=0 ; i<8 ; i++ ) if(contrast) SendData( ~inva(ascii[t+1][i+8]) ); else SendData( inva(ascii[t+1][i+8]) ); y++; if(y==8){ y = 0; if( b==1 ){ lcdcs( DCS1_OFF , DCS2_ON ); b=2; } else{ lcdcs( DCS1_ON , DCS2_OFF ); b=1; x+=2; } } } } lcdlock(); }

出0入0汤圆

发表于 2006-9-9 19:29:45 | 显示全部楼层
晕忽忽,你买液晶的后,老板不提供你手册吗???

那买过来怎么用呀?

谁也不知道!

出0入0汤圆

 楼主| 发表于 2006-9-9 19:41:05 | 显示全部楼层
谢谢 panxiaoyi 啊艺





还不知是公司那位前辈留下来的,我是拿它废物利用。



准备拿它加个M8转为串口通讯,再加个键盘,做调试用。

出0入0汤圆

 楼主| 发表于 2006-9-9 19:46:26 | 显示全部楼层
找到啦!





出0入0汤圆

 楼主| 发表于 2006-9-9 19:47:49 | 显示全部楼层
VO 应该是调节LCD的吧?

出0入0汤圆

发表于 2006-9-9 21:24:18 | 显示全部楼层
VO是负压驱动输入,调节对比度,看来你的LCD没有负压产生电路,需要外接负压

出0入0汤圆

 楼主| 发表于 2006-9-9 21:30:05 | 显示全部楼层
是啊!也许这就是 公司前辈没把它遗弃的原因。不知负压要提供多大电流,max232够了不?

看到液晶模块上都是用的sci7661,没找到资料,原理应该和max232差不多,si7661是500mW的。

出0入0汤圆

发表于 2006-9-9 22:44:26 | 显示全部楼层
LCD只要负压,电流几乎不用考虑,小于1mA

出0入0汤圆

 楼主| 发表于 2006-9-9 23:07:57 | 显示全部楼层
不知负压 是什么功能?

估计1mA不够,这是带负压输出液晶的电路图:







出0入0汤圆

 楼主| 发表于 2006-9-9 23:10:16 | 显示全部楼层
我的那个屏应该是外部直接供负压。而带负压的是提供 比较电压,电路中的Q1应该是个电压跟随器。

出0入0汤圆

发表于 2008-3-15 18:05:06 | 显示全部楼层
直接查找st7920的数据手册

出0入0汤圆

发表于 2010-5-8 10:27:22 | 显示全部楼层
刚好要用。。

出0入0汤圆

发表于 2010-12-10 20:01:43 | 显示全部楼层
弱弱地问,MCG12864A8-3自带字库么?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-24 03:27

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

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