一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
楼主: iamusb

全新液晶屏3.5一片,10片包邮 特价3天 3天后恢复原价

[复制链接]
发表于 2015-7-8 11:55 来自手机 | 显示全部楼层
jigsaw 发表于 2015-5-29 21:26
买黄瓜才要颗粒粗的呢

很注重“生活”嘛
回复

使用道具 举报

发表于 2015-7-25 21:32 | 显示全部楼层

尝试多试仍然不行,用逻辑分析仪看了输出。没问题,MCU是  STC12C5628

5V转3.3V用的74LVC245

电容是5倍压接法

目前只是在最后断电的时候中间那一行会亮


回复

使用道具 举报

发表于 2015-7-30 09:31 | 显示全部楼层
这个液晶我用mega16点亮的,参考资料是前面大神的资料,和《液晶显示模块应用与调试》这本书,可以显示18/24/30/36宽的文字和数字,好可爱啊
做了一下调整,地址可以直接x+起始,不用54-x。
另外,没有发现鬼影现象
回复

使用道具 举报

发表于 2015-7-30 22:02 | 显示全部楼层
pgldyx 发表于 2015-7-30 09:31
这个液晶我用mega16点亮的,参考资料是前面大神的资料,和《液晶显示模块应用与调试》这本书,可以显示18/2 ...

能指导一下是哪一条指令后开始显示的不?
void ST7529_Init( void )
{
    SendString("ST7529 Init Start!\n");
    Write( COMMAND, 0x30 ); //Ext = 0
    SendString("COMMAND, 0x30\n");
    Write( COMMAND, 0x94 ); //Sleep Out
    SendString("COMMAND, 0x94\n");
    Write( COMMAND, 0xD1 ); //OSC On
    SendString("COMMAND, 0xD1\n");
    Write( COMMAND, 0x20 ); //Power Control Set
    SendString("COMMAND, 0x20\n");
    Write( DATA, 0x08 ); //Booster Must Be On First
    SendString("DATA, 0x08\n");
    Delay1ms();
    Write( COMMAND, 0x20 ); //Power Control Set
    SendString("COMMAND, 0x20\n");
    Write( DATA, 0x0B ); //Booster, Regulator, Follower ON
    SendString("DATA, 0x0B\n");
    Write( COMMAND, 0x81 ); //Electronic Control
    SendString("COMMAND, 0x81\n");
    Write( DATA, 0x04 ); //Vop=14.0V  MAX=0x3F
    SendString("DATA, 0x04\n");
    Write( DATA, 0x04 );    //MAX=0x07
    SendString("DATA, 0x04\n");
    Write( COMMAND, 0xCA ); //Display Control
    SendString("COMMAND, 0xCA\n");
    Write( DATA, 0x00 ); //CL=X1
    SendString("DATA, 0x00\n");
    Write( DATA, 0x27 ); //Duty=160
    SendString("DATA, 0x27\n");
    Write( DATA, 0x00 ); //FR Inverse-Set Value
    SendString("DATA, 0x00\n");
    Write( COMMAND, 0xA6 ); // Normal Display
    SendString("COMMAND, 0xA6\n");
    Write( COMMAND, 0xBB ); //COM Scan Direction
    SendString("COMMAND, 0xBB\n");
    Write( DATA, 0x02 ); // 0->79 80->159
    SendString("DATA, 0x02\n");
    Write( COMMAND, 0xBC ); //Data Scan Direction
    SendString("COMMAND, 0xBC\n");
    Write( DATA, 0x00 ); //Normal  MAX=0x07
    SendString("DATA, 0x00\n");
    Write( DATA, 0x00 ); //RGB Arrangement
    SendString("DATA, 0x00\n");
    //Write( DATA, 0x01 ); //32 gray-scale 2Byte 3Pixel mode
    Write( DATA, 0x02 ); //32 gray-scale 3Byte 3Pixel mode
    SendString("DATA, 0x02\n");
    Write( COMMAND, 0x75 ); //Line Address Set
    SendString("COMMAND, 0x75\n");
    Write( DATA, 0x00 ); //Start Line=0
    SendString("DATA, 0x00\n");
    Write( DATA, 0x9F ); //End Line =159
    SendString("DATA, 0x9F\n");
    Write( COMMAND, 0x15 ); //Column Address Set
    SendString("COMMAND, 0x15\n");
    Write( DATA, 0x00 ); //Start Column=0
    SendString("DATA, 0x00\n");
    Write( DATA, 0x54 ); //End Column =84
    SendString("DATA, 0x54\n");
    Write( COMMAND, 0x31 ); //Ext = 1
    SendString("COMMAND, 0x31\n");
    Write( COMMAND, 0x32 ); //Analog Circuit Set
    SendString("COMMAND, 0x32\n");
    Write( DATA, 0x00 ); //OSC Frequency =000 (Default)
    SendString("DATA, 0x00\n");
    Write( DATA, 0x01 ); //Booster Efficiency=01(Default)
    SendString("DATA, 0x01\n");
    Write( DATA, 0x00 ); //Bias=1/14
    SendString("DATA, 0x00\n");
    Write( COMMAND, 0x34 ); //Software Initial
    SendString("COMMAND, 0x34\n");
    //ReadEEPROM(); //Read EEPROM Flow
    //DisplayTest();
    Write( COMMAND, 0x30 ); //Ext = 0
    SendString("COMMAND, 0x30\n");
    Write( COMMAND, 0xAF ); //Display On
    SendString("COMMAND, 0xAF\n");
    SendString("ST7529 Init End!\n");
}


void DisplayTest(  )
{
    unsigned char i, j;
    Write( COMMAND, 0x30 ); // Ext = 0
    Write( COMMAND, 0x15 ); // Column address set
    Write( DATA, 0x00 ); // From column0 to column254
    Write( DATA, 0x54 );
    Write( COMMAND, 0x75 ); // Page address set
    Write( DATA, 0x00 ); // From line0 to line159
    Write( DATA, 0x9F);
    Write( COMMAND, 0x5C ); // Entry Memory Write Mode
    for( j = 0; j < 160 ; j++ )
        for( i = 0 ; i < 85 ; i++ )
        {
            Write( DATA, (j & 0x1F)<<3 ); // Display Data Write
            Write( DATA, (j & 0x1F)<<3 ); // Display Data Write
            Write( DATA, (j & 0x1F)<<3 ); // Display Data Write
        }
}

回复

使用道具 举报

发表于 2015-8-1 16:58 | 显示全部楼层
bf1942 发表于 2015-7-30 22:02
能指导一下是哪一条指令后开始显示的不?
void ST7529_Init( void )
{

仅供参考

ST7529头文件.txt

46.08 KB, 下载次数: 53, 下载积分: 一乐金币 -1

回复

使用道具 举报

发表于 2015-8-1 19:16 | 显示全部楼层
bf1942 发表于 2015-7-25 21:32
尝试多试仍然不行,用逻辑分析仪看了输出。没问题,MCU是  STC12C5628

5V转3.3V用的74LVC245

最后断电的时候中间那一行会亮——会不会对比度设置值不对?对比度太高或太低能造成白屏或黑屏,断电时随着电压降低,达到合适的对比度电压时能够瞬时显示一下。改一下值试一下

回复

使用道具 举报

发表于 2015-8-24 21:56 | 显示全部楼层
参考下边帖子的程序  http://www.amobbs.com/thread-5630788-1-1.html
用前边我话的那个板子一点鬼影都没有。
顺便检测了下 上边帖子里 的那个电路。也一样。
255140-a.png

下边贴出来我 更改后的初始化代码。

void Disp_Vol(void)
{

         unsigned char  i;
       
   for (i=0;i<115;i++)       
         LCD_CmdWrite(0xd6); //VOL+ ??



}

void ST7529_Init(void)
{  
                         
                                //LCD_Reset();
       
                                LcdDelay( 1000 );
       
                                LCD_CmdWrite(0x30);                        /*                ??ext0???                 */
                                LCD_CmdWrite(0x94);                        /*                ??????                  */
                                LCD_CmdWrite(0xd1);                        /*                ??OSC??                          */
                                LCD_CmdWrite(0x20);                        /*                ????????,VB=1                           */
                                LCD_DataWrite(0x08);
       
                                LcdDelay(1000);
       
                                LCD_CmdWrite(0x20);                        /*                ???LCD??????VB=VF=VR=1                  */
                                LCD_DataWrite(0x0b);
       
                                LCD_CmdWrite(0x81);                        /*                ??????                 */
                                LCD_DataWrite(0x3f);
                                LCD_DataWrite(0x01);
                               

        /*        ????????:CLD=0(clk/2); DT=39=160/4-1;FI=0;LF=0;        */
                               
                                LCD_CmdWrite(0xca);                        /*                ??????                 */
                                LCD_DataWrite(0x00);
                                LCD_DataWrite(0x27);
                                LCD_DataWrite(0x00);
                                 
                                LCD_CmdWrite(0xa7);                        /*                ??????         a7????        */
                                LCD_CmdWrite(0xbb);                        /*                ??????? C0M0-->COM79,C0M159-->COM80   */
                                LCD_DataWrite(0x02);
                               
                          /*        ????????LI=1;CI=0 ;C/L=0 ;CLR=0 ;GS=2 3b3p                                  */
                               
                                LCD_CmdWrite(0xbc);                        /*        ????????        */       
                                LCD_DataWrite(0x01);        //???,????,??????
                                LCD_DataWrite(0x00);        //CLR:?????????????CLR=0,???(P1?P2?P3) ;CLR=1 ???(P3?P2?P1)
                                LCD_DataWrite(0x02);        //GS[2:0]:???????????GS[]=1? 2B3P ??;GS[]=2? 3B3P??
                               
                                LCD_CmdWrite(0x15);LCD_DataWrite(0x00);LCD_DataWrite(0x54);/*                255/3=85  0x54 ?????          */   
                                LCD_CmdWrite(0x75);LCD_DataWrite(0x00);LCD_DataWrite(0x9f);/*                 0-160    0x9f ?????          */
                               
                                LCD_CmdWrite(0x31);    /*                 ??ext1???         */
                               
                                /*        ???????? FR=62.5khz;Fbooster=3hz;bias=1/12         */
                       
                                LCD_CmdWrite(0x32);
                                LCD_DataWrite(0x00);
                                LCD_DataWrite(0x02);
                                LCD_DataWrite(0x04);//??????
                               
                               
                                /*---------------     READ EEROM      ---------------*/
                               
                                LCD_CmdWrite(0x30);                                                                             /*                 ??ext0???         */
                               
                                LCD_CmdWrite(0x07); LCD_DataWrite(0x19);  /*                 ????,????ACK????          */   
                                LCD_CmdWrite(0x31);                                                /*                 ??ext0???          */   
                                LCD_CmdWrite(0xcd); LCD_DataWrite(0x00);  /*                 ??EEROM???         */   
                                LcdDelay( 1000 );   
                                LCD_CmdWrite(0xfd);                                                /*                 ????EEROM         */   
                                LcdDelay( 1000 );   
                                LCD_CmdWrite(0xcc);                                                /*                 ????EEROM         */
                               
                                LCD_CmdWrite(0x34);                                                                                         /*                 Software Initial         */
                                LCD_CmdWrite(0x30);                                                                             /*                 ??ext0???                 */
                                 
                                LCD_CmdWrite(0xaf);                                                                                                /*                 Display On                 */
                               
        Disp_Vol();
}

回复

使用道具 举报

发表于 2015-8-28 21:11 | 显示全部楼层
xuepengbin 发表于 2015-8-24 21:56
参考下边帖子的程序  http://www.amobbs.com/thread-5630788-1-1.html
用前边我话的那个板子一点鬼影都没 ...

注释都乱码了……,方便提供下你画的转换板文件不,我自己去打板
我用通用板做的死活驱动不了……

另C7P上拉是什么用途?DATASHEET里好像没写

READ EEROM 这一段代码的用途是什么?

回复

使用道具 举报

发表于 2015-8-28 23:36 | 显示全部楼层
bf1942 发表于 2015-8-28 21:11
注释都乱码了……,方便提供下你画的转换板文件不,我自己去打板
我用通用板做的死活驱动不了……

看前边的帖子 这个屏的哪几种接法都可以。这个是别人的图。我前边的那个图也可以。原理图都有了自己稍微划一下应该不难。。
回复

使用道具 举报

发表于 2015-8-29 12:20 | 显示全部楼层
xuepengbin 发表于 2015-8-28 23:36
看前边的帖子 这个屏的哪几种接法都可以。这个是别人的图。我前边的那个图也可以。原理图都有了自己稍微 ...

C7P上拉是什么用途?

还有READ EEROM  这段代码是不是可以不用,直接写入需要的显示数据?》

回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-22 02:48 , Processed in 0.041713 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表