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 |
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/ |