打印

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

[复制链接]
2812|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
不爱说话|  楼主 | 2009-5-18 08:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我最近在调这块液晶(内置控制芯片为T6963C)。用的是51单片机的IO方式驱动它。P1口接DB0-7,P3口接WR,CE,RD,C/D,RST等信号。程序使用的网上搜的T6963C的驱动,IO口的配置也都按照我的连线设置好了。可就是没有显示。只能看到背光LED点亮,还有复位的时候LCD里有一条线(位置是随机,复位之后就灭了)。
有用过这块液晶的朋友帮忙看看,是屏的问题,还是程序可能有问题。多谢啦!

#include "reg52.h"
#include "intrins.h"

#define    uchar unsigned char
#define uint unsigned int

sbit _WR=P3^6;
sbit _RD=P3^4;
sbit _CE=P3^3;
sbit C_D=P3^7;
sbit RST=P3^5;
sbit FS=P2^0;

void delay(uint delx)
{
    uint i=0;
    while(i<delx)
        {
            i++;
        }
}

void lcddatawrite(uchar dat)
{
    delay(1000);
    C_D=0;
    _WR=0;
    _nop_();_nop_();_nop_();
    P1=dat;
    _nop_();_nop_();_nop_();
    _WR=1;
}

void lcdcommand(uchar dat1,uchar dat2,uchar com,uchar num)
{
    if((num==1)|(num==2))
        {
            lcddatawrite(dat1);
        }
    if(num==2)
        {
            lcddatawrite(dat2);
        }
    delay(1000);
    C_D=1;
    _WR=0;
    _nop_();_nop_();_nop_();
    P1=com;
    _nop_();_nop_();_nop_();
    _WR=1;
}

void initialize(void)
{
    lcdcommand(0,0,0x80,0);
    lcdcommand(0x00,0x00,0x40,2);
    lcdcommand(0x1e,0x00,0x41,2);
    lcdcommand(0x00,0x0f,0x42,2);
    lcdcommand(0x1e,0x00,0x43,2);
}

void clearscr()
{
    uint i=0;
    lcdcommand(0x00,0x00,0x24,2);
    for(i=0;i<0x1000;i++)
        lcdcommand(0x00,0,0xc0,1);
}

void displayasc(uchar x,uchar y,uchar *asc)
{
    uint charsit;
    FS=0;
    charsit=y*30+x;
    lcdcommand((uchar)charsit,(uchar)(charsit>>8),0x24,2);
    while(*asc>0)
        {
            lcdcommand(*asc-0x20,0,0xc0,1);
            asc++;
        }
}

void main()
{
    RST=0;
    delay(1000);
    RST=1;
    _CE=0;
    initialize();

    lcdcommand(0,0,0x9c,0);
    displayasc(0,0,"This is a LCD demo on 240128.");
    while(1);
}

相关帖子

沙发
sutie2008| | 2009-5-18 13:13 | 只看该作者

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

负电源 VO和VOUT都结对了吗?,是否能够调整出对比度

使用特权

评论回复
板凳
不爱说话|  楼主 | 2009-5-18 17:06 | 只看该作者

接了

在VOUT和GND之间接了一个10k的电位器,VO就连在中间的抽头上。调了调电位器,感觉屏没什么变化。

使用特权

评论回复
地板
不爱说话|  楼主 | 2009-5-21 08:11 | 只看该作者

昨天又试了一下

在lcdcommand和 lcddatawrite两个子函数的开始都加了_CE=0; 结尾加_CE=1;
然后再运行这个程序,液晶屏似乎有了些反应:那就是执行到下面这几句的时候,LCD上有一条黑线显示(横向的),这条线从上到到下依次变换位置,最后消失
    initialize();
    lcdcommand(0,0,0x9c,0);
    displayasc(0,0,"This is a LCD demo on 240128.");

还有,我量了一下VOUT和VO的电压分别是-12V和-3V左右,不知是否正常。

使用特权

评论回复
5
min120| | 2009-6-3 14:28 | 只看该作者

感觉不正常

使用特权

评论回复
6
min120| | 2009-6-21 10:22 | 只看该作者

送你个测试程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

886

帖子

34

粉丝