打印

液晶无法显示

[复制链接]
354|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2020-3-1 18:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
EDM12864P
1、无法点亮背光。
2、无法显示,不知那错误了

使用特权

评论回复
沙发
yufe| | 2020-3-1 18:26 | 只看该作者

无法点亮背光
1.电路问题
2.液晶坏啦。

使用特权

评论回复
板凳
hanwe|  楼主 | 2020-3-1 18:41 | 只看该作者

谢回答。
测量电流时,接通瞬间看到一些显示,不知能否证明未坏。

使用特权

评论回复
地板
guoyt| | 2020-3-1 18:43 | 只看该作者

程序是自己写的?

使用特权

评论回复
5
hanwe|  楼主 | 2020-3-1 18:45 | 只看该作者
是啊,不知能否显示?

使用特权

评论回复
6
hanwe|  楼主 | 2020-3-1 18:48 | 只看该作者


我的开发板是TX-1C型单片机实验板。
程序中读液晶状态数据,用直接显示LED显示,发现RST为1,不知是什么原因?

使用特权

评论回复
7
yufe| | 2020-3-1 18:51 | 只看该作者

开发板例程背光亮不亮?能不能显示?原理图?

使用特权

评论回复
8
hanwe|  楼主 | 2020-3-1 18:55 | 只看该作者
开发板和液晶不配套,买时不懂。

使用特权

评论回复
9
gongche| | 2020-3-1 18:59 | 只看该作者

#define uchar unsigned char   
#define uint  unsigned int

#define LCM P0    //D0~D7
#define LED P1

sbit P_CS1=P2^3;   //CS1   15
sbit P_CS2=P2^4;   //CS2   16
sbit P_RST=P2^5;   //RST   17
   
sbit P_DI=P2^0;   //RS     4
sbit P_RW=P2^1;   //RWL    5
sbit P_E=P2^2;    //CE     6

//sbit LED = P1;

void delay(uint k);
void write(uchar dd,uchar di,uchar cs);
uchar read(uchar di,uchar cs);
void reset();
void wdata(uchar dd,uchar x,uchar y);
void set_line(uchar i);
void lcd_init(void);
void dison_off(uchar c);
uchar lcd_busy(void);

void main()
{
        uchar i,dd;
        dd = 0xff;
        while (1)
        {
                LED = 0xff;
                LCM = 0x00;
                lcd_init();
                delay(1000);
                for(i=0;i<8;i++){
                        lcd_busy();
                        delay(1000);
                        wdata(dd,2,i);
                        delay(2000);
                }
                delay(5000);
        }
}

uchar lcd_busy(void)
{
        uchar c;
        c = read(0,1);
        LED = c;
        return 0x80&&c;
}
        
void dison_off(uchar c)
{
        uchar com;
        com = 0x3e + c;
        write(com,0,1);
        write(com,0,0);        
}
        
void lcd_init(void)
{
  reset();   
  set_line(0);
        dison_off(1);
}
        
void wdata(uchar dd,uchar x,uchar y)
{
        uchar cs,com;
        if (y>=64){
                cs = 0;
                y = y-64;
        }else{
          cs = 1;
        }

        com = 0xb8 + x%8;
        write(com,0,cs); //set page

        com = 0x40 + x%64;
        write(com,0,cs); //set y
        
        //com = 0x80 + (0x3F && y);
        //write(com,0,cs); //set column
        
        write(dd,1,cs);
}

void write(uchar dd,uchar di,uchar cs)
{
        P_E = 0;
        P_RW = 0;
        P_CS1 = cs;
        P_CS2 = !P_CS1;
        P_DI = di;
        delay(1);
        P_E = 1;
        LCM = dd;
        delay(1);
        P_E = 0;
        delay(1);
}

uchar read(uchar di,uchar cs)
{
        uchar dd;
        P_E = 0;
        P_RW = 1;
        P_CS1 = (cs && 0x01);
        P_CS2 = (cs && 0x02);
        P_DI = di;
        delay(2);
        P_E = 1;
        dd = LCM;
        P_E = 0;        
        return dd;
}

void reset()   
{   
        P_RST=0;   
  delay(20);   
  P_RST=1;   
  delay(20);   
}

//设定起始行   
void set_line(uchar i)   
{   
        i = 0xc0+i;   
  write(i,0,1);   
}     

void delay(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}        

使用特权

评论回复
10
wangzsa| | 2020-3-1 19:02 | 只看该作者

LCD初始化还要不断的执行?
初始化程序也不对
  问题不少

使用特权

评论回复
11
hanwe|  楼主 | 2020-3-1 19:05 | 只看该作者

确实不应循环执行初始化,改一下。
初始化程序存在什么问题,请指教,谢谢。

使用特权

评论回复
12
zhuww| | 2020-3-7 09:45 | 只看该作者
一个用过的LCD初始化程序,供参考
/*------------------初始化LCD屏--------------------------*/
void init_lcd()
{
  delay(100);
  CS1=1;
  CS2=1;
  delay(100);
  write_com(Disp_Off);
  write_com(Page_Add+0);
  write_com(Start_Line+0);
  write_com(Col_Add+0);
  write_com(Disp_On);
}

使用特权

评论回复
13
hanwe|  楼主 | 2020-3-7 09:55 | 只看该作者

谢谢,看资料CS1=1,CS2=0是选左半屏,CS1=0,CS2=1是选右半屏,都是1可以吗?
是EDM12864P的程序吗?

使用特权

评论回复
14
lium| | 2020-3-7 10:01 | 只看该作者
初始化LCD屏加上去试试对比看看,

使用特权

评论回复
15
guoyt| | 2020-3-7 10:04 | 只看该作者



看了下代码,感觉是找不到什么问题了。楼主再看看吧

使用特权

评论回复
16
yufe| | 2020-3-7 10:08 | 只看该作者
初始化应该没问题,写和读也看不出什么问题啊。。不知道是什么出现的原因。。

使用特权

评论回复
17
hanwe|  楼主 | 2020-3-7 10:11 | 只看该作者
搞定了,呵呵,犯了低级错误……多谢各位

使用特权

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

本版积分规则

979

主题

8749

帖子

4

粉丝