tute 发表于 2009-8-22 11:35:46

12864LCD移位显示怎么实现啊

各位师父,请教一下,如何让12864一位一位的显示数字,以下我是编的一段程序:
                        ..............
                        Lcd_WriteCmd(0x80);
                        WriteStr("DesignedOutV   ");
                        Lcd_WriteCmd(0x90);
                        WriteStr("(mV)         ");
                        if(c1==0){Lcd_WriteCmd(0x88);}       /*选择液晶地址*/
                        if(c1==1){Lcd_WriteCmd(0x89);}
                        if(c1==2){Lcd_WriteCmd(0x8a);}
                        if(c1==3){Lcd_WriteCmd(0x8b);}
                        wait();
                        RS=1;
                        RW=0;
                        E=0;
                        delay(2);
                        LcdData=num1;                   /*将数字写入液晶*/
                        E=1;
                        delay(2);
                        E=0;
                        a=1;
                        .........
这段程序一个数字占了两格,怎么样才能让它变成一个数字占一格啊?好像是以下这几句中的液晶地址0x88、0x89、0x8a、0x8b出了问题,但我不知道怎么改,请师父们指点。
                        if(c1==0){Lcd_WriteCmd(0x88);}
                        if(c1==1){Lcd_WriteCmd(0x89);}
                        if(c1==2){Lcd_WriteCmd(0x8a);}
                        if(c1==3){Lcd_WriteCmd(0x8b);}

Alexkey 发表于 2009-8-22 12:12:36

不知所云

wear778899 发表于 2009-8-22 12:35:46

额。
看上去貌似 7920

XIE2099 发表于 2009-8-22 12:43:42

你可以看看7920的资料,上面讲的有,是你没有设置好,单字节和双字节
点击此处下载 ourdev_473470.pdf(文件大小:1.77M) (原文件名:ST7920c34.pdf)

tute 发表于 2009-8-25 15:14:35

我知道怎么解决我的问题了,下面是我改完了的程序:
                                                      ..............
                case 1:key=1;
                               {a++;
                              
                              if(a==1&&k==0)
                              {
                              j+=1;
                        Lcd_WriteCmd(0x80);
                        WriteStr("DesignedOutV   ");
                        Lcd_WriteCmd(0x90);
                        WriteStr("(mV)         ");
                        Lcd_WriteCmd(0x88);
                        WriteStr("0 0 0 0      ");
                        Lcd_WriteCmd(0x88);
                        Lcd_WriteCmd(0x0f);
                        WriteStr("0");
                        }
                        
                        if(a==2&&k==0)
                        {
                        v+=1;
                        if(v==10) v=0;
                        Lcd_WriteCmd(0x80);
                        WriteStr("DesignedOutV   ");
                        Lcd_WriteCmd(0x90);
                        WriteStr("(mV)         ");
                        if(c1==0){Lcd_WriteCmd(0x88);}
                        if(c1==1){Lcd_WriteCmd(0x89);}
                        if(c1==2){Lcd_WriteCmd(0x8a);}
                        if(c1==3){Lcd_WriteCmd(0x8b);}
                        Lcd_WriteCmd(0x0f);
                        wait();
                        RS=1;
                        RW=0;
                        E=0;
                        delay(2);
                        LcdData=num1;
                        E=1;
                        delay(2);
                        E=0;
                        a=1;
                        }
....................................
这样就可以把我说的问题给避免了。
谢谢各位师傅热心帮忙,非常感谢!!!
页: [1]
查看完整版本: 12864LCD移位显示怎么实现啊