just found this 1.04 inches oled on ebay :
MINI graphic oled lcd module http://www.lg-oled.com/
this is good for low cost device design or student practical design
you can design and potograph device .
lcdmm002the following website:
http://electronic-components.spaces.live.com/default.aspx
show you how to connect to the 1.04 inches oled lcd screen
it can driver by SSD1332 ic .we only supply program in c as the following:
//programer for GCC-AVR V20040502 date 2006-06-04 13:29:57
//micro controller atmel mega16
//clock 8.0000Mhz
/-------------------------------------------------------------
OLED def
1---VTEST
2..9---D7..D0
10---RD
11---RW
12---DC
13---RES
14---CS
15---3.3V
16---GND
-----------------------------------------------------------------/
#include <avr/io.h>
#include <avr/delay.h>
#define uchar unsigned char
#define uint unsigned int
/---------------------------------------------------------------
AVR ATMEGA 16 AND OLED CONNECTION:
PA->D0--D7
PC3->RD
PC2->WR
PC1->DC
PC0->CS
PD7->RES
TO USE THIS DRIVER PLEASE SET OR CHANGE AS THE FOLLOWING:
-----------------------------------------------------------------/
#define OLED_RD_PORT PORTC //THE FOLLOWING FOUR SHOULD BE AT THE SAME PORT
#define OLED_RD_DDR DDRC
#define OLED_WR_PORT PORTC
#define OLED_WR_DDR DDRC
#define OLED_DC_PORT PORTC
#define OLED_DC_DDR DDRC
#define OLED_CS_PORT PORTD
#define OLED_CS_DDR DDRD
// RESET
#define OLED_RES_PORT PORTC //RES SET THE SAME PORT
#define OLED_RES_DDR DDRC
//DATA PORTS
#define OLED_DATA_PORT PORTA
#define OLED_DATA_DDR DDRA
#define OLED_DATA_PIN PINA
//IO PORTS
#define OLED_RD (1<<PC3)
#define OLED_WR (1<<PC2)
#define OLED_DC (1<<PC1)
#define OLED_RES (1<<PC0)
#define OLED_CS (1<<PD7)
//
//OLDE INITIAL FUNCTION AND OPERATERS
unsigned char ReadData(void);
unsigned char ReadCommand(void);
void WriteCommand(unsigned com);
void WriteData(unsigned dat);
void esbusini(void);
void ini_oled(void);unsigned char RGB[]={0x00,0x1f,0x07,0xe0,0xf8,0x00,0x00,0x00,0xff,0xff};
unsigned char ColorBar[]={0xff,0xff,0xf8,0x00,0xff,0xe0,0x07,0xe0,0x07,0xff,0x00,0x1f,0x00,0x00};
void WriteCommand(unsigned com)
{
OLED_CS_DDR|=OLED_CS;
OLED_CS_PORT|=OLED_CS;
OLED_RD_DDR|=OLED_RD; //DISABLE EQUIL 0
OLED_RD_PORT|=OLED_RD; //0
OLED_DC_DDR|=OLED_DC; // USE AS OUTPUT
OLED_DC_PORT&=~OLED_DC; //DC=0; WRITE COMMAND
OLED_WR_DDR|=OLED_WR; //AS OUT
OLED_WR_PORT&=~OLED_WR; //ENABLE EQUIL 0
OLED_CS_PORT&=~OLED_CS;
OLED_DATA_DDR=0XFF; //ALL AS OUTPUT
OLED_DATA_PORT=com; //OUTPUT THE INFORMATION
_delay_ms(1);OLED_CS_PORT|=OLED_CS;
OLED_WR_PORT|=OLED_WR;
OLED_DC_PORT|=OLED_DC;}
void WriteData(unsigned dat)
{
OLED_CS_DDR|=OLED_CS;
OLED_CS_PORT|=OLED_CS;
OLED_DC_DDR|=OLED_DC; //USE AS OUT
OLED_DC_PORT|=OLED_DC; //DC=1;OLED_WR_DDR|=OLED_WR; //READ SET TO
OLED_WR_PORT&=~OLED_WR;
OLED_RD_DDR|=OLED_RD;
OLED_RD_PORT|=OLED_RD;
OLED_CS_PORT&=~OLED_CS;OLED_DATA_DDR=0XFF; //USE AS OUT
OLED_DATA_PORT=dat; //SEND USEFUL INFORMATION
// _delay_ms(1);
OLED_CS_PORT|=OLED_CS;
OLED_WR_PORT|=OLED_WR;
OLED_DC_PORT|=OLED_DC;
}
void esbusini(void)
{
OLED_WR_DDR|=OLED_WR;
OLED_WR_PORT&=~OLED_WR;
OLED_RD_DDR|=OLED_RD;
OLED_RD_PORT&=~OLED_RD;
OLED_CS_DDR|=OLED_CS;
OLED_CS_PORT&=~OLED_CS;
OLED_RES_DDR|=OLED_RES;
OLED_RES_PORT&=~OLED_RES;
_delay_ms(100);
OLED_RES_PORT|=OLED_RES;
_delay_ms(100);
}void ini_oled(void)
{
esbusini();
WriteCommand(0x15); //SET BIAS
WriteCommand(0x00); //Set line0 to COM0
WriteCommand(0x81); //set High Brightness
WriteCommand(0xdf);
WriteCommand(0x82); //set High Brightness
WriteCommand(0x1f);
WriteCommand(0x83); //set High Brightness
WriteCommand(0xff);
WriteCommand(0x87); //set High Brightness
WriteCommand(0x0f);
WriteCommand(0xa0);//Set Re-map & DataFormat AUTO ADDRESS ADDED
WriteCommand(0x60); //set 65k color format 256c
WriteCommand(0xa4); //set Normal Display
WriteCommand(0xa8); //set Multiplex Ratio
WriteCommand(0x3f);
WriteCommand(0xa9); //set Power Control SET POWER ON
WriteCommand(0x03);
WriteCommand(0xaf); //set Display on
WriteCommand(0xb8);//Set Gray Scale Table
WriteCommand(0x01);
WriteCommand(0x05);
WriteCommand(0x09);
WriteCommand(0x0d);
WriteCommand(0x11);
WriteCommand(0x15);
WriteCommand(0x19);
WriteCommand(0x1d);
WriteCommand(0x21);
WriteCommand(0x25);
WriteCommand(0x29);
WriteCommand(0x2d);
WriteCommand(0x31);
WriteCommand(0x35);
WriteCommand(0x39);
WriteCommand(0x3d);
WriteCommand(0x41);
WriteCommand(0x45);
WriteCommand(0x49);
WriteCommand(0x4d);
WriteCommand(0x51);
WriteCommand(0x55);
WriteCommand(0x59);
WriteCommand(0x5d);
WriteCommand(0x61);
WriteCommand(0x65);
WriteCommand(0x69);
WriteCommand(0x6d);
WriteCommand(0x71);
WriteCommand(0x75);
WriteCommand(0x79);
WriteCommand(0x7d);
WriteCommand(0xbb);
WriteCommand(0x7f);
WriteCommand(0xbc);
WriteCommand(0x7f);
WriteCommand(0xbd);
WriteCommand(0x7f);
}
#define LED_DDR DDRD
#define LED_PORT PORTD
#define LED (1<<PD6)//-----------------------------------------------------------------------------
void disp_all()
{
uchar ii,jj;
WriteCommand(0x15);
WriteCommand(0x00);
WriteCommand(0x5f);
WriteCommand(0x75);
WriteCommand(0x00);
WriteCommand(0x3f);
for(ii=0;ii<64;ii++)
{
for(jj=0;jj<96;jj++)
{
WriteData(0xff);
WriteData(0xff);
}
}
}
int main()
{
uchar ii,jj;
// DDRD&=~(KEY1|KEY2);
// PORTD=_BV(KEY2)|_BV(KEY1);//KEYBOARD RESISTORS
LED_DDR|=LED;
LED_PORT&=~LED;
ini_oled();
LED_PORT&=~LED;
ini_oled();
_delay_ms(100);
disp_all();
LED_PORT|=LED;
while(1);
}1.04 inch(65K colors)-SSD1332
the following website:
http://electronic-components.spaces.live.com/default.aspx
show you how to connect to the 1.04 inches oled lcd screen. this oled screen can be drived by ic ssd1332) Controller chip)
it can driver by SSD1332 ic .
ssd1332 datasheet:
SSD1332 pdf, SSD1332 Description, SSD1332 Datasheet, SSD1332 view ::: ALLDATASHEET :::
has someone already made a library for it ?