打印

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

[复制链接]
1683|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
不爱说话|  楼主 | 2009-5-18 12:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我最近在调这块液晶(内置控制芯片为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);
}
 
 

相关帖子

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

本版积分规则

115

主题

886

帖子

34

粉丝