信利MPG240128A1-7可以复位,可以点亮背光但没有显示

[复制链接]
 楼主| 不爱说话 发表于 2009-5-18 08:59 | 显示全部楼层 |阅读模式
大家好,我最近在调这块液晶(内置控制芯片为T6963C)。用的是51单片机的IO方式驱动它。P1口接DB0-7,P3口接WR,CE,RD,C/D,RST等信号。程序使用的网上搜的T6963C的驱动,IO口的配置也都按照我的连线设置好了。可就是没有显示。只能看到背光LED点亮,还有复位的时候LCD里有一条线(位置是随机,复位之后就灭了)。<br />有用过这块液晶的朋友帮忙看看,是屏的问题,还是程序可能有问题。多谢啦!<br /><br />#include&nbsp;&quot;reg52.h&quot;<br />#include&nbsp;&quot;intrins.h&quot;<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;uint&nbsp;unsigned&nbsp;int<br /><br />sbit&nbsp;_WR=P3^6;<br />sbit&nbsp;_RD=P3^4;<br />sbit&nbsp;_CE=P3^3;<br />sbit&nbsp;C_D=P3^7;<br />sbit&nbsp;RST=P3^5;<br />sbit&nbsp;FS=P2^0;<br /><br />void&nbsp;delay(uint&nbsp;delx)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(i&ltdelx)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;lcddatawrite(uchar&nbsp;dat)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;delay(1000);<br />&nbsp;&nbsp;&nbsp;&nbsp;C_D=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;_WR=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();_nop_();_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=dat;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();_nop_();_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_WR=1;<br />}<br /><br />void&nbsp;lcdcommand(uchar&nbsp;dat1,uchar&nbsp;dat2,uchar&nbsp;com,uchar&nbsp;num)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if((num==1)|(num==2))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcddatawrite(dat1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if(num==2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcddatawrite(dat2);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;delay(1000);<br />&nbsp;&nbsp;&nbsp;&nbsp;C_D=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;_WR=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();_nop_();_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;P1=com;<br />&nbsp;&nbsp;&nbsp;&nbsp;_nop_();_nop_();_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;_WR=1;<br />}<br /><br />void&nbsp;initialize(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0,0,0x80,0);<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x00,0x00,0x40,2);<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x1e,0x00,0x41,2);<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x00,0x0f,0x42,2);<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x1e,0x00,0x43,2);<br />}<br /><br />void&nbsp;clearscr()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint&nbsp;i=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x00,0x00,0x24,2);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt0x1000;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0x00,0,0xc0,1);<br />}<br /><br />void&nbsp;displayasc(uchar&nbsp;x,uchar&nbsp;y,uchar&nbsp;*asc)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint&nbsp;charsit;<br />&nbsp;&nbsp;&nbsp;&nbsp;FS=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;charsit=y*30+x;<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand((uchar)charsit,(uchar)(charsit&gt&gt8),0x24,2);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(*asc&gt0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(*asc-0x20,0,0xc0,1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asc++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;RST=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;delay(1000);<br />&nbsp;&nbsp;&nbsp;&nbsp;RST=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;_CE=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;initialize();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0,0,0x9c,0);<br />&nbsp;&nbsp;&nbsp;&nbsp;displayasc(0,0,&quot;This&nbsp;is&nbsp;a&nbsp;LCD&nbsp;demo&nbsp;on&nbsp;240128.&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1);<br />}
sutie2008 发表于 2009-5-18 13:13 | 显示全部楼层

负电源 VO和VOUT都结对了吗?

负电源&nbsp;VO和VOUT都结对了吗?,是否能够调整出对比度
 楼主| 不爱说话 发表于 2009-5-18 17:06 | 显示全部楼层

接了

在VOUT和GND之间接了一个10k的电位器,VO就连在中间的抽头上。调了调电位器,感觉屏没什么变化。
 楼主| 不爱说话 发表于 2009-5-21 08:11 | 显示全部楼层

昨天又试了一下

在lcdcommand和&nbsp;lcddatawrite两个子函数的开始都加了_CE=0;&nbsp;结尾加_CE=1;<br />然后再运行这个程序,液晶屏似乎有了些反应:那就是执行到下面这几句的时候,LCD上有一条黑线显示(横向的),这条线从上到到下依次变换位置,最后消失<br />&nbsp;&nbsp;&nbsp;&nbsp;initialize();<br />&nbsp;&nbsp;&nbsp;&nbsp;lcdcommand(0,0,0x9c,0);<br />&nbsp;&nbsp;&nbsp;&nbsp;displayasc(0,0,&quot;This&nbsp;is&nbsp;a&nbsp;LCD&nbsp;demo&nbsp;on&nbsp;240128.&quot;);<br /><br />还有,我量了一下VOUT和VO的电压分别是-12V和-3V左右,不知是否正常。
min120 发表于 2009-6-3 14:28 | 显示全部楼层

感觉不正常

  
min120 发表于 2009-6-21 10:22 | 显示全部楼层

送你个测试程序

以前做的, <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20096/200962110191495.rar'>https://bbs.21ic.com/upfiles/img/20096/200962110191495.rar</a>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

886

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部