LCDInfo.com
http://forum.lcdinfo.com/

Siemens C65 lcd
http://forum.lcdinfo.com/viewtopic.php?f=6&t=2513
Page 1 of 1

Author:  netbit [ Tue Sep 23, 2008 0:54 ]
Post subject:  Siemens C65 lcd

Hi, i just want to know the exact controller on siemens C65 lcd, after a few captures of the bus i figure out that it responds to samsung controllers i'm currently using S6B33A2 commands but i can't figure out the correct one.

this is how the lcd looks

Image

Author:  Szabi [ Sun Nov 23, 2008 21:04 ]
Post subject: 

Hi netbit!

Did you figured out the controller type used on C65, or at least the initialization, or/and any other sequence?

You were actually able to get it work, to display something?

I would highly appreciate any help!

Thanx, Szabi.

Author:  netbit [ Sun Nov 23, 2008 21:37 ]
Post subject: 

hi,
i haven't figure out the exact one but the commands of the samsung S6B33A2 controller seems to work fine

Author:  Szabi [ Tue Nov 25, 2008 15:02 ]
Post subject: 

I understand, thx.
Unfortunately there are 2 types of displays used on C65 phones, with different controllers.
The samsung commands doesn't work for me. :?

Author:  Szabi [ Tue Nov 25, 2008 21:53 ]
Post subject: 

netbit, can you please tell me which one is the correct pinout:

LED, LED, 1.8V, GND, 2.9V, DATA, CLK, CS, RESET, RS or
LED, LED, 1.8V, GND, 2.9V, DATA, CLK, RS, RESET, CS

Thank you!

Author:  netbit [ Wed Nov 26, 2008 2:13 ]
Post subject: 

hi,
this is my first C file for 8051 mcu to control the lcd, it has the pinout and commands that i use
Rgds

// *****************************************************************************
//
// *****************************************************************************
#define OSC 0x02 // Oscillation mode set
#define DRVOUT 0x10 // Driver output mode set
#define DCDCSEL 0x20 // DC-DC select
#define BIAS 0x22 // Bias set
#define DCDCCLK 0x24 // DCDC clock division set
#define DCDCCTL 0x26 // DCDC and AMP on/off set
#define TEMPCOM 0x28 // Temperature compensation set
#define CONT1 0x2A // Contrast control 1
#define CONT2 0x2B // Contrast control 2
#define STBYOFF 0x2C // Standby off
#define STBYON 0x2D // Standby on
#define ADRMODE 0x30 // Adressing mode set
#define ROWVEC 0x32 // Row vector mode set
#define NLINV 0x34 // N-line invertion set
#define FRAFRE 0x36 // Frame frequency control
#define ENTRY 0x40 // Entry mode set
#define XSET 0x42 // X-adress area set
#define YSET 0x43 // Y-adress area set
#define DISON 0x51 // Display on
#define DISOFF 0x50 // Display off

// 8-bit color definitions
#define WHITE 0xFF
#define BLACK 0x00
#define RED 0xE0
#define GREEN 0x1C
#define BLUE 0x03
#define PINK 0xE3
#define LBLUE 0x1F
#define YELLOW 0xFC
#define ORANGE 0xF0
/*
*****************************************************************************
Pinout

| 1 Led-
| 2 Led+
| 3 NC
| 4 GND
| 5 2V9
| 6 DATA
| 7 CLK
| 8 RS
| 9 RST
| 10 CS
*****************************************************************************
*/

sbit sdata = P1^0;
sbit sclk = P1^1;
sbit srs = P1^2;
sbit srst = P1^3;
sbit scs = P1^4;

#define CS0 scs = 0;
#define CS1 scs = 1;
#define RS0 srs = 0;
#define RS1 srs = 1;
#define CLK0 sclk = 0;
#define CLK1 sclk = 1;
#define SDA0 sdata = 0;
#define SDA1 sdata = 1;
#define RESET0 srst = 0;
#define RESET1 srst = 1;


void initlcd(void);
void lcdfill(char color);
void lcdcommand(unsigned char dta);
void lcddata(unsigned char dta);
void shiftBits(unsigned char b);
void drawpixel(unsigned char x,unsigned char y,unsigned char color);
// *****************************************************************************
//
// *****************************************************************************
void lcddata(unsigned char dta)
{
CS0
RS1
shiftBits(dta);
CS1
}
// *****************************************************************************
//
// *****************************************************************************
void lcdcommand(unsigned char dta)
{
CS0
RS0
shiftBits(dta);
CS1
}
// *****************************************************************************
//
// *****************************************************************************
void shiftBits(unsigned char b)
{
CLK0 if (b&128) SDA1 else SDA0 CLK1 // D7
CLK0 if (b& 64) SDA1 else SDA0 CLK1 // D6
CLK0 if (b& 32) SDA1 else SDA0 CLK1 // D5
CLK0 if (b& 16) SDA1 else SDA0 CLK1 // D4
CLK0 if (b& 8) SDA1 else SDA0 CLK1 // D3
CLK0 if (b& 4) SDA1 else SDA0 CLK1 // D2
CLK0 if (b& 2) SDA1 else SDA0 CLK1 // D1
CLK0 if (b& 1) SDA1 else SDA0 CLK1 // D0
}
// *****************************************************************************
//
// *****************************************************************************
void lcdcommand16(unsigned char cmd, unsigned char param)
{
CS0
RS0
shiftBits(cmd);
shiftBits(param);
CS1
}
// *****************************************************************************
//
// *****************************************************************************
void initlcd(void)
{
// Hardware reset

RESET0
CLK1
SDA1
RS1
CS1
RESET1

//lcdcommand(DISOFF);
lcdcommand(STBYOFF); // STANDBY off
lcdcommand16(OSC,0x01); // P = 0x01 Oscillator on
lcdcommand16(DRVOUT,0x34); // P = 0x30 Driver output
lcdcommand16(DCDCSEL,0x01); // P = 0x01 DC-DC Select
lcdcommand16(BIAS,0x01); // P = 0x01 Bias SET
lcdcommand16(DCDCCLK,0x05); // P = 0x05 DCDC Clock
lcdcommand16(DCDCCTL,0x0f); // P = 0x0F DCDC ON
lcdcommand16(TEMPCOM,0x00); // P = 0x00 Temp
lcdcommand16(CONT1,0xA5); // P = 0xA5 Contrast 1
lcdcommand16(ADRMODE,0x41); // P = 0x01 256 colors,
lcdcommand16(ROWVEC,0x01); // P = 0x01 Row Vector
lcdcommand16(NLINV,0x82); // P = 0x82 Forcing invertion on,every 2 blocks
lcdcommand16(ENTRY,0x00); // P = 0x00 Entry mode
lcdfill(BLACK);
lcdcommand(DISON); // Disp On
}
// *****************************************************************************
//
// *****************************************************************************
void lcdfill(char color)
{
unsigned int i;
CS0
RS0
shiftBits(XSET);
shiftBits(0);
shiftBits(131);
shiftBits(YSET);
shiftBits(0);
shiftBits(131);
RS1
for(i = 0; i < (132*132); i++)
shiftBits(color);
CS1
}
// *************************************************************************************
//
// *************************************************************************************
void drawpixel(unsigned char x,unsigned char y,unsigned char color)
{
CS0
RS0
shiftBits(XSET);
shiftBits(x);
shiftBits(x);
shiftBits(YSET);
shiftBits(y);
shiftBits(y);
RS1
shiftBits(color); //RRRGGGBB
CS1
}

Author:  Szabi [ Tue Dec 09, 2008 12:10 ]
Post subject: 

Finaly I managed to buy a new display.
The actual controller is S6B33B2.
(For the other type, I still was not able to find out the controller used.)

I also made a driver for LCDHype: http://lcdhype.condense.de/index.php?showtopic=4834

Author:  neil s [ Thu Apr 09, 2009 17:48 ]
Post subject: 

There's some useful info on the various S65 displays here. Looks like there are three different variants, Sharp, Hitachi and Epson.

When I tried ordering one of these LCDs the shop asked the serial number of the cell phone, so I guess they must be able to cross reference somehow.

Page 1 of 1 All times are UTC + 2 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/