Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: serdararikan - 19 Mayıs 2010, 21:09:55

Başlık: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 19 Mayıs 2010, 21:09:55
ilgilenen arkadaşlar için Nokia 7210 ekran için yazdığım kodları ve basit bir uygulama adına scope çalışmamın videosunu ekliyorum.


c dosyası
#include"7210_driver.h"
#define _XTAL_FREQ 20000000L

void ShiftBits(unsigned char dt)
{
unsigned char i,mask=0b10000000;
for (i=0;i<8;i++)
{
if (dt & mask) DATA=1; else DATA=0;
clk_plus
mask>>=1;
}
}

unsigned char data;
void shift()
{
#asm
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),7
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),6
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),5
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),4
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),3
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),2
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),1
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),0
bsf 7,5
BSF 7,3
BCF 7,3
#endasm
}

void SendData(unsigned char dt)
{
CS=0;
DATA=1;
clk_plus
ShiftBits(dt);
}

void SendCommand(unsigned char dt)
{
CS=0;
DATA=0;
clk_plus
ShiftBits(dt);
}

void SetContrast(unsigned char value)
{
SendCommand(SETCON);
SendData(value);
CS=1;
}

void LCD_Initialize(unsigned char value)
{
CS=1;
RST=0;
__delay_ms(30);
RST=1;
SendCommand(SLEEPOUT);
__delay_ms(2);
SendCommand(MADCTL);
SendData(0x20);
SendCommand(SETCON);
SendData(0x30);
CS=1;
__delay_ms(4);
SendCommand(DISPON);
SendCommand(COLMOD);
if (value==Mod_RGB8) SendData(2); else SendData(3);
}

void DoluDikdortgen(int X1,int Y1,int X2,int Y2,unsigned char renk)
{ int PixelCount,i;
SendCommand(PASET);
SendData(X1);
SendData(X2);
SendCommand(CASET);
SendData(Y1);
SendData(Y2);
SendCommand(RAMWR);
PixelCount = (X2 - X1 + 1) * (Y2 - Y1 + 1);
for (i = 0; i < PixelCount; i++) SendData(renk);
SendCommand(NOP);
CS=1;
}

void Pixel(int X,int Y,unsigned char renk)
{
SendCommand(PASET);
SendData(X);
SendCommand(CASET);
SendData(Y);
SendCommand(RAMWR);
SendData(renk);
CS=1;
}

void CizgiCiz(int X1,int Y1,int X2,int Y2,unsigned char renk)
{
int dy;
   int dx;
   int StepX, StepY;
   int Fraction;

   dy = Y2 - Y1;
   dx = X2 - X1;

   if (dy < 0)
   {   
dy = -dy;
      StepY = -1;
   }
   else StepY = 1;

   if (dx < 0)
   {   
dx = -dx;
      StepX = -1;
   }
   else StepX = 1;

   dy <<= 1;                            // dy is now 2*dy
   dx <<= 1;                            // dx is now 2*dx
   Pixel(X1,Y1,renk);

   if (dx > dy)
   {   Fraction = dy - (dx >> 1);             // same as 2*dy - dx
      while (X1 != X2)
      {   if (Fraction >= 0)
         {   Y1 += StepY;
            Fraction -= dx;             // same as fraction -= 2*dx
         }

         X1 += StepX;
         Fraction += dy;                // same as fraction -= 2*dy
         Pixel(X1, Y1, renk);
      }
   }

   else
   {   Fraction = dx - (dy >> 1);
      while (Y1 != Y2)
      {   if (Fraction >= 0)
         {   X1 += StepX;
            Fraction -= dy;
         }

         Y1 += StepY;
         Fraction += dx;
         Pixel(X1, Y1,renk);
      }
   }
}

void DaireCiz(int X,int Y,int Radius,unsigned char renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

   Pixel(X, Y + Radius, renk);
   Pixel(X, Y - Radius, renk);
   Pixel(X + Radius, Y, renk);
   Pixel(X - Radius, Y, renk);

   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

      Pixel(X + x, Y + y, renk);
      Pixel(X - x, Y + y, renk);
      Pixel(X + x, Y - y, renk);
      Pixel(X - x, Y - y, renk);
      Pixel(X + y, Y + x, renk);
      Pixel(X - y, Y + x, renk);
      Pixel(X + y, Y - x, renk);
      Pixel(X - y, Y - x, renk);
   }
}

void DoluDaireCiz(int X,int Y,int Radius,unsigned char renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

CizgiCiz(X - Radius,Y,X + Radius,Y,renk);
Pixel(X, Y + Radius, renk);
   Pixel(X, Y - Radius, renk);
   
   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

CizgiCiz(X + x,Y + y,X - x,Y + y,renk);
CizgiCiz(X + x,Y - y,X - x,Y - y,renk);
CizgiCiz(Y + y,X - x,Y - y,X - x,renk);
CizgiCiz(Y + y,X + x,Y - y,X + x,renk);
   }
}

void Dikdortgen12(unsigned char X1,unsigned char Y1,unsigned char X2,unsigned char Y2,unsigned int renk)
{
CizgiCiz12(X1,Y1,X2,Y1,renk);
CizgiCiz12(X1,Y2,X2,Y2,renk);
CizgiCiz12(X1,Y1,X1,Y2,renk);
CizgiCiz12(X2,Y1,X2,Y2,renk);
}

void DoluDikdortgen12(int X1,int Y1,int X2,int Y2,unsigned int renk)
{
int i;
   int PixelCount;
   unsigned char Byte1, Byte2, Byte3;
   int LoopCount;

SendCommand(PASET);
SendData(X1);
SendData(X2);
SendCommand(CASET);
SendData(Y1);
SendData(Y2);
SendCommand(RAMWR);

   if ((X1 > X2) || (Y1 > Y2)) return;
 
   Byte1 = (renk >> 4) & 0xff;
   Byte2 = (((renk & 0x0f) << 4) | ((renk >> 8) & 0x0f));
   Byte3 = (renk & 0xff);

   PixelCount =  (X2 - X1 + 1) * (Y2 - Y1 + 1);
   LoopCount = (PixelCount / 2) + 1;
CS=0;
   for (i = 0; i < LoopCount; i++)
   {   
DATA=1;
data=Byte1;
shift();
DATA=1;
data=Byte2;
shift();
DATA=1;
data=Byte3;
shift();
}
   SendCommand(NOP);
   CS=1;
}

void Pixel12(int X,int Y,int renk)
{
unsigned char Byte1, Byte2;
SendCommand(PASET);
SendData(X);
SendCommand(CASET);
SendData(Y);
SendCommand(RAMWR);
 
   Byte1 = (renk >> 4) & 0xff;
   Byte2 = ((renk & 0x0f) << 4) ;

SendData(Byte1);
SendData(Byte2);

   SendCommand(NOP);
   CS=1;
}

void DaireCiz12(int X,int Y,int Radius,int renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

   Pixel12(X, Y + Radius, renk);
   Pixel12(X, Y - Radius, renk);
   Pixel12(X + Radius, Y, renk);
   Pixel12(X - Radius, Y, renk);

   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

      Pixel12(X + x, Y + y, renk);
      Pixel12(X - x, Y + y, renk);
      Pixel12(X + x, Y - y, renk);
      Pixel12(X - x, Y - y, renk);
      Pixel12(X + y, Y + x, renk);
      Pixel12(X - y, Y + x, renk);
      Pixel12(X + y, Y - x, renk);
      Pixel12(X - y, Y - x, renk);
   }
}

void CizgiCiz12(int X1,int Y1,int X2,int Y2,int renk)
{
int dy;
   int dx;
   int StepX, StepY;
   int Fraction;

   dy = Y2 - Y1;
   dx = X2 - X1;

   if (dy < 0)
   {   
dy = -dy;
      StepY = -1;
   }
   else StepY = 1;

   if (dx < 0)
   {   
dx = -dx;
      StepX = -1;
   }
   else StepX = 1;

   dy <<= 1;                            // dy is now 2*dy
   dx <<= 1;                            // dx is now 2*dx
   Pixel12(X1,Y1,renk);

   if (dx > dy)
   {   Fraction = dy - (dx >> 1);             // same as 2*dy - dx
      while (X1 != X2)
      {   if (Fraction >= 0)
         {   Y1 += StepY;
            Fraction -= dx;             // same as fraction -= 2*dx
         }

         X1 += StepX;
         Fraction += dy;                // same as fraction -= 2*dy
         Pixel12(X1, Y1, renk);
      }
   }

   else
   {   Fraction = dx - (dy >> 1);
      while (Y1 != Y2)
      {   if (Fraction >= 0)
         {   X1 += StepX;
            Fraction -= dy;
         }

         Y1 += StepY;
         Fraction += dx;
         Pixel12(X1, Y1, renk);
      }
   }
}

void DoluDaireCiz12(int X,int Y,int Radius,int renk)
{
int a, b, P;
   a = 0;
   b = Radius;
   P = 1 - Radius;

   do
   {
      CizgiCiz12(X-a, Y+b, X+a, Y+b, renk);
      CizgiCiz12(X-a, Y-b, X+a, Y-b, renk);
      CizgiCiz12(X-b, Y+a, X+b, Y+a, renk);
      CizgiCiz12(X-b, Y-a, X+b, Y-a, renk);
      if(P < 0)
         P+= 3 + 2*a++;
      else
         P+= 5 + 2*(a++ - b--);
    } while(a <= b);
}

void Buton12(unsigned char X,unsigned char Y,unsigned char width,unsigned char height,int renk)
{
DoluDikdortgen12(X,Y,X+width,Y+height,white);
DoluDikdortgen12(X+3,Y+3,X+width-3,Y+height-3,renk);
CizgiCiz12(X+width,Y,X+width,Y+height,black);
CizgiCiz12(X+width-1,Y+1,X+width-1,Y+height-1,black);
CizgiCiz12(X+width-2,Y+2,X+width-2,Y+height-2,black);
CizgiCiz12(X,Y+height,X+width,Y+height,black);
CizgiCiz12(X+1,Y+height-1,X+width-1,Y+height-1,black);
CizgiCiz12(X+2,Y+height-2,X+width-2,Y+height-2,black);
CizgiCiz12(X,Y,X+3,Y+3,renk);
}


header dosyası
#include<pic.h>

#define RST RC0
#define CS RC1
#define LED RB0
#define CLK RC3
#define DATA RC5

#define SDO RC5
#define SCK RC3

#define NOP    0x00       // nop
#define SWRESET 0x01       // software reset
#define BSTROFF 0x02       // booster voltage OFF
#define BSTRON    0x03       // booster voltage ON
#define RDDIDIF 0x04       // read display identification
#define RDDST    0x09       // read display status
#define SLEEPIN 0x10       // sleep in
#define SLEEPOUT 0x11       // sleep out
#define PTLON    0x12       // partial display mode
#define NORON    0x13       // display normal mode
#define INVOFF    0x20       // inversion OFF
#define INVON    0x21       // inversion ON
#define DALO    0x22       // all pixel OFF
#define DAL    0x23       // all pixel ON
#define SETCON    0x25       // write contrast
#define DISPOFF 0x28       // display OFF
#define DISPON    0x29       // display ON
#define CASET    0x2A       // column address set
#define PASET    0x2B       // page address set
#define RAMWR    0x2C       // memory write
#define RGBSET    0x2D       // colour set
#define PTLAR    0x30       // partial area
#define VSCRDEF 0x33       // vertical scrolling definition
#define TEOFF    0x34       // test mode
#define TEON    0x35      // test mode
#define MADCTL    0x36       // memory access control
#define SEP    0x37       // vertical scrolling start address
#define IDMOFF    0x38       // idle mode OFF
#define IDMON    0x39       // idle mode ON
#define COLMOD    0x3A       // interface pixel format
#define SETVOP    0xB0       // set Vop
#define BRS    0xB4       // bottom row swap
#define TRS    0xB6       // top row swap
#define DISCTR    0xB9       // display control
#define DOR    0xBA       // data order
#define TCDFE    0xBD       // enable/disable DF temperature compensation
#define TCVOPE    0xBF       // enable/disable Vop temp comp
#define EC        0xC0       // internal or external oscillator
#define SETMUL    0xC2       // set multiplication factor
#define TCVOPAB 0xC3       // set TCVOP slopes A and B
#define TCVOPCD 0xC4       // set TCVOP slopes c and d
#define TCDF    0xC5       // set divider frequency
#define DF8COLOR 0xC6       // set divider frequency 8-color mode
#define SETBS    0xC7       // set bias system
#define RDTEMP    0xC8       // temperature read back
#define NLI    0xC9       // n-line inversion
#define RDID1    0xDA       // read ID1
#define RDID2    0xDB       // read ID2
#define RDID3    0xDC       // read ID3

#define Mod_RGB8 2
#define Mod_RGB12 3

#define red 0xf00
#define green 0x0f0
#define blue 0x00f
#define black 0x000
#define white 0xfff
#define cyan 0x0FF
#define magenta 0xF0F
#define yellow 0xFF0
#define brown 0xB22
#define orange 0xFA0
#define pink 0xF6A


#define clk_plus CLK=1;CLK=0;

extern void ShiftBits(unsigned char dt);
extern void SendData(unsigned char dt);
extern void SendCommand(unsigned char dt);

extern void LCD_Initialize(unsigned char value);
extern void SetContrast(unsigned char value);

extern void DoluDikdortgen(int X1,int Y1,int X2,int Y2,unsigned char renk);
extern void Pixel(int X,int Y,unsigned char renk);
extern void CizgiCiz(int X1,int Y1,int X2,int Y2,unsigned char renk);
extern void DaireCiz(int X,int Y,int Radius,unsigned char renk);
extern void DoluDaireCiz(int X,int Y,int Radius,unsigned char renk);

extern void Dikdortgen12(unsigned char X1,unsigned char Y1,unsigned char X2,unsigned char Y2,unsigned int renk);
extern void DoluDikdortgen12(int X1,int Y1,int X2,int Y2,unsigned int renk);
extern void Pixel12(int X,int Y,int renk);
extern void CizgiCiz12(int X1,int Y1,int X2,int Y2,int renk);
extern void DaireCiz12(int X,int Y,int Radius,int renk);
extern void DoluDaireCiz12(int X,int Y,int Radius,int renk);

extern void Buton12(unsigned char X,unsigned char Y,unsigned char width,unsigned char height,int renk);




http://rapidshare.com/files/389245531/nokia_7210.rar.html

Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 19 Mayıs 2010, 21:52:31
16F876A ile 20MHz de sürdüm.
bu ekranlar iki tip sürücü kullanıyorlar.: PCF8833 veya S1D15G10 .
benim aldığım ekran PCF8833 kullanıyor.datasheet:  http://rapidshare.com/files/389259475/philips_lcd_datasheet.pdf.html


aşağıdaki sayfada bir uygulama var.ekranın hangi sürücüyü kullandığını filmin renginden anlıyorsun.truncu =PCF8833
http://electronique.marcel.free.fr/LCD%20Nokia%20couleurs.html


haberleşmeyi seri olarak yapıyorsun.ben yazılımla seri haberleşme yaptım fakat yazılımla hız yetersiz oluyor.SPI ile denedim fakat henüz neticeye ulaşamadım.Eğer SPI ile sonuca ulaşabilirsen kodu görmek isterim.

http://img697.imageshack.us/i/post571140433871.jpg/

http://img140.imageshack.us/i/665072107250lcd.jpg/

pin1Vlogic (3.3 V)
pin2_Reset
pin3Sdta
pin4Sclk
pin5_Cs
pin6Vlcd (3.3 V)
pin7Nc
pin8Gnd
pin9Vled-
pin10Vled+

Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 20 Mayıs 2010, 20:29:58
Hocam peki bu ekranın soket işini nasıl hallettiniz.

Karınca kadar bir şey bu soket.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 20 Mayıs 2010, 21:46:00
sokette satılıyor aldığım pasajda.pad lar biraz ince  ama epi topu 10 pin var.:)
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 20 Mayıs 2010, 23:30:17
Bu gün karşıda işim vardı. Hazır gelmişken bir de Tahtakale ye uğrayayım dedim ve iki adet 7210 display ile @ahmet2004'ün deneme yaptığı ILI9325 çipsetli LCD modülü aldım fakat soketi hiç aklıma gelmedi.
Sağlık olsun bir daha ki gidişimde de soket bakarım.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: gurbuz58 - 22 Mayıs 2010, 21:09:40
Serdar ARIKAN hocamın yardımlarıyla bende yaptım güzel çalışıyor hocam sağoll.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: anl_ozrmn - 22 Mayıs 2010, 23:53:09
hocam spr olmuş ya  :)
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 26 Mayıs 2010, 15:37:10
Bu gün soketini de aldım, verdiğiniz kütüphane ile nasip olursa haftaya bir deneme yaparım.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 26 Mayıs 2010, 15:38:50
soketi lehimlerken dikkat edin hemen eriyebiliyor.uzun süre ısıtmayın
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: ferdem - 26 Mayıs 2010, 17:06:54
Bu ekranı ben de zamanında CCS C ile sürmüştüm, hazır bir kütüphane kullanmıştım. Sparkfun ın bu ekran için mini geliştirme kiti var, o kitin kullanım kılavuzu da pratik bilgiler içeriyor. Pin bağlantıları pcf8833.c içinde tanımlı.
Bahsettiğim dosyalar burda (http://www.fatiherdem.net/yuklenenler/nokia6100.rar).
(http://www.fatiherdem.net/wp-content/yuklenenler/nokialcd-300x225.gif)
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 26 Mayıs 2010, 17:31:57
Alıntı yapılan: serdararikan - 26 Mayıs 2010, 15:38:50
soketi lehimlerken dikkat edin hemen eriyebiliyor.uzun süre ısıtmayın
Buna dikkat etmeye çalışırım.

Bozulsa da 10 tane aldım bozar bozar yeniden lehimlerim artık.  ;D

Ayrıca eklediğin dosyalarda oldukça faydalı @ferdem, Teşekkürler.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 01 Haziran 2010, 22:59:40
@serdararikan

Verdiğin kodlarla bugün deneme şansım oldu ve gayet güzel çalışıyor. Çok Teşekkürler.

LCD'nin sağını solunu kurcalayıp mıncıklarken, x ve y de 0 ve 131. Piksellere bilginin yazılmadığını gördüm. Acaba kütüphane kodlarında mı problem var diye fonksiyonları inceledim fakat hata yok.

Fark ettim ki x ve y de 0 ve 131. Pikseller yok ve buraya yazılan bilgiler boşa gidiyor.

Yani çekik gözlü çan çin kardeşler, her köşeden birer sıra pikseli tırtıklayıp 130 x 130 piksel GLCD üretmeyi başarmışlar. Kutlamak lazım.  ;D
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 01 Haziran 2010, 23:13:31
Alıntı yapılan: papylon - 01 Haziran 2010, 22:59:40
@serdararikan

Verdiğin kodlarla bugün deneme şansım oldu ve gayet güzel çalışıyor. Çok Teşekkürler.

LCD'nin sağını solunu kurcalayıp mıncıklarken, x ve y de 0 ve 131. Piksellere bilginin yazılmadığını gördüm. Acaba kütüphane kodlarında mı problem var diye fonksiyonları inceledim fakat hata yok.

Fark ettim ki x ve y de 0 ve 131. Pikseller yok ve buraya yazılan bilgiler boşa gidiyor.

Yani çekik gözlü çan çin kardeşler, her köşeden birer sıra pikseli tırtıklayıp 130 x 130 piksel GLCD üretmeyi başarmışlar. Kutlamak lazım.  ;D

evet aynen dediğin gibi malzemeden çalmışlar:) erçekten 0 ve 131. pixeller görünmüyor. ama nette araştırırsan bazı sitelerde bu ekran için 130x130  pixel 4096 color LCD yazdığını görürsün...
ben kütüphane üzerinde fazla kafa yormadım.Asıl amacım ahmet2004 ün yaptığı gibi çin telefonların dokunmatik ekranlarını sürmek.şuan başlamadım ama yakında başlayacağım.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 02 Haziran 2010, 00:32:09
7210 LCD'yi alırken @Ahmet2004'ün kullandığı ILI9325 yongalı GLCD'yi ben de aldım ama deneme fırsatım olmadı.
Kütüphaneyle biraz oynayıp, LCD'nin kendisi gibi ufak ve sevimli projelerde kullanılabilir.

132-2 X 132-2 piksel bile olsa  :D
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 02 Haziran 2010, 00:40:04
Alıntı yapılan: papylon - 02 Haziran 2010, 00:32:09
7210 LCD'yi alırken @Ahmet2004'ün kullandığı ILI9325 yongalı GLCD'yi ben de aldım ama deneme fırsatım olmadı.
Kütüphaneyle biraz oynayıp, LCD'nin kendisi gibi ufak ve sevimli projelerde kullanılabilir.

132-2 X 132-2 piksel bile olsa  :D

mesajım yanlış anlaşılmasın.ben bu lcd yi kullanmak isterken ilk amacım gidip 15-20tl verip 128x64 LCD ler almayı mantıklı bulmadığım için yola koyuldum.ve halen aynı fikirdeyim.bu tip bi lcd 5tl ye alınırken monokrom bir ekrana 20tl vermek anlamsız.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 02 Haziran 2010, 01:01:16
Kesinlikle haklısın.

Zaten benimde yukarıda kastettiğim (LCD'nin kendisi gibi ufak ve sevimli projelerde kullanılabilir.) küçük projelerde 7210, biraz daha Jan Jan'lı projelerde ILI9325 veya benzeri anlamındaydı.

Monocrom LCD'ye Hayır!   Yaşasın RGB...  ;D
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: muhittin_kaplan - 03 Haziran 2010, 22:38:25
hepinize katılıyorum ama ilk mesajdaki linkte problem mi var.
4shared e yüklerseniz daha güzel olur
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 03 Haziran 2010, 23:28:18
Alıntı yapılan: muhittin_kaplan - 03 Haziran 2010, 22:38:25
hepinize katılıyorum ama ilk mesajdaki linkte problem mi var.
4shared e yüklerseniz daha güzel olur

http://www.upload.gen.tr/d.php/s12/7ea479gq/nokia_7210.rar.html

yukarıdaki linkte son yazdığım hali var.içi dolu dikdörtgenleri daha hızlı çizebilmek için SPI kullandım biraz daha hızlandı ayrıca 5x7 boyutlarında yazı yazmak için bir kütüphane daha ekledim.

"Bilgi paylaşıldıkça artar......"

kolay gelsin
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: muhittin_kaplan - 03 Haziran 2010, 23:51:14
c değilde swordfish yada protonda yazacağım.
bir nevi çevirme işlemi yapacağım..
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 07 Haziran 2010, 00:33:27
@serdararikan

Bu aralar boştayken LCD ile epeyce oynama şansım oldu. LCD'ye resim bile bastırdım.  ;D

Datasheet'ini anlayabildiğim kadarı ile kurcaladım fakat anlayamadığım ve sormak istediğim bir şey var.

X-Y başlangıcı olarak Ekranın 4 köşesinden herhangi bir yerini donanımsal olarak ayarlama imkanı var mı?

X ve Y mirror seçeneği var ve ekranın altını üstüne getiriyor ama sağ ve sol için de bu şekilde X-Y sıfır noktası belirlenebiliyor mu?
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: erhanmete - 07 Haziran 2010, 09:34:21
Alıntı yapılan: serdararikan - 02 Haziran 2010, 00:40:04
Alıntı yapılan: papylon - 02 Haziran 2010, 00:32:09
7210 LCD'yi alırken @Ahmet2004'ün kullandığı ILI9325 yongalı GLCD'yi ben de aldım ama deneme fırsatım olmadı.
Kütüphaneyle biraz oynayıp, LCD'nin kendisi gibi ufak ve sevimli projelerde kullanılabilir.

132-2 X 132-2 piksel bile olsa  :D

mesajım yanlış anlaşılmasın.ben bu lcd yi kullanmak isterken ilk amacım gidip 15-20tl verip 128x64 LCD ler almayı mantıklı bulmadığım için yola koyuldum.ve halen aynı fikirdeyim.bu tip bi lcd 5tl ye alınırken monokrom bir ekrana 20tl vermek anlamsız.


sizinle aynı fikirdeyim
adetli olarak temin edebileceğim bir adres verebilirmisiniz.
teşekkür ederim.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 07 Haziran 2010, 17:58:25
Alıntı yapılan: papylon - 07 Haziran 2010, 00:33:27
@serdararikan

Bu aralar boştayken LCD ile epeyce oynama şansım oldu. LCD'ye resim bile bastırdım.  ;D

Datasheet'ini anlayabildiğim kadarı ile kurcaladım fakat anlayamadığım ve sormak istediğim bir şey var.

X-Y başlangıcı olarak Ekranın 4 köşesinden herhangi bir yerini donanımsal olarak ayarlama imkanı var mı?

X ve Y mirror seçeneği var ve ekranın altını üstüne getiriyor ama sağ ve sol için de bu şekilde X-Y sıfır noktası belirlenebiliyor mu?

o kadar detaylı incelemedim ama sanırım bi swap olayı var.hangi işlemciyi kullanıyorsun resim falan bastığına göre hafızası yüksek bi işlemci olması lazım??
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 07 Haziran 2010, 22:38:57
Bugün işi çözdüm. Gece yatıp sabah kalkınca kafa biraz dinlendi sanırım.  :)

MEMORY DATA ACCESS CONTROL registerin'da ki MX-MY ve V bitlerinden kontrol ediliyor. Tabi birazda software.


Alıntı Yap
hangi işlemciyi kullanıyorsun resim falan bastığına göre hafızası yüksek bi işlemci olması lazım??
Yok yok, öyle uçuk kaçık bir işlemci falan değil, hepimizin yakinen tanıdığı şu bildiğimiz 16F877'lerden olur kendisi. ;D

Bastığım resimde kocaman falan değil. 25 x 25 piksel 8-bit RGB modunda  ufacık bir Windows7 amblemi. Deneme amaçlıydı yani. Gayet de güzel görünüyor 8-bit RGB için.
Kütüphaneyi tam olarak bitireyim, o zaman paylaşırım sizlerle.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 08 Haziran 2010, 20:58:17
8-bit RGB için kütüphane dosyasını tamamladım. Aşağıdaki linkten indirebilirsiniz.

Kütüphane fonksiyonuna açıklamalar yazamadım onun için kusura bakmayın, fakat neyin ne olduğunun anlaşılabilmesi için ufak bir de program yazdım, onda açıklamalar var.

İndireceğiniz NOKIA 7210.rar dosyasının içinde deneme için iki küçük resim, bmp ve jpeg Hex Converter, Hex ve COF dosyaları, ve kütüphane fonksiyonu var.

Ekranın herhangi dört köşesinden birini 0 koordinat noktası olarak belirleyebilirsiniz. Bunu da 7210_driver.c kütüphanesinde ki  "#define   DISPOS" tanımlamasından yapabilirsiniz.


NOKIA 7210.rar (http://www.4shared.com/file/9r_Az9-r/NOKIA_7210.html)

Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 08 Haziran 2010, 21:47:57
@ papylon

eline sağlık güzel kütüphane olmuş.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: papylon - 08 Haziran 2010, 22:00:39
İşe yaradıysa ne mutlu...
;D Güle  ;D güle kullanın...
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 25 Ocak 2011, 23:42:17
Ustalar bu ekranı nereden ve ne kadara aldınız?
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: ugurtelefon - 26 Ocak 2011, 12:19:27
Alıntı yapılan: matador - 25 Ocak 2011, 23:42:17
Ustalar bu ekranı nereden ve ne kadara aldınız?

ceptelefonu malzemesi satan işyerlerinde bulabilirsin. 5-7tl arası bir fiyattadır.
Gerçi ben bu projeyi yapmadım ama gsm sektöründe olduğum için dikkatimi çekti.Çok hoş bir proje.Birçok endüstiriyel uygulamada scala olarak yada girilen komutları,cihazın o anki durumunu göstermek için kullanılabilir.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 03 Şubat 2011, 14:09:59
Alıntı yapılan: serdararikan - 19 Mayıs 2010, 21:09:55
ilgilenen arkadaşlar için Nokia 7210 ekran için yazdığım kodları ve basit bir uygulama adına scope çalışmamın videosunu ekliyorum.


c dosyası
#include"7210_driver.h"
#define _XTAL_FREQ 20000000L

void ShiftBits(unsigned char dt)
{
unsigned char i,mask=0b10000000;
for (i=0;i<8;i++)
{
if (dt & mask) DATA=1; else DATA=0;
clk_plus
mask>>=1;
}
}

unsigned char data;
void shift()
{
#asm
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),7
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),6
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),5
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),4
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),3
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),2
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),1
bsf 7,5
BSF 7,3
BCF 7,3
BCF 7,5
btfsc (_data),0
bsf 7,5
BSF 7,3
BCF 7,3
#endasm
}

void SendData(unsigned char dt)
{
CS=0;
DATA=1;
clk_plus
ShiftBits(dt);
}

void SendCommand(unsigned char dt)
{
CS=0;
DATA=0;
clk_plus
ShiftBits(dt);
}

void SetContrast(unsigned char value)
{
SendCommand(SETCON);
SendData(value);
CS=1;
}

void LCD_Initialize(unsigned char value)
{
CS=1;
RST=0;
__delay_ms(30);
RST=1;
SendCommand(SLEEPOUT);
__delay_ms(2);
SendCommand(MADCTL);
SendData(0x20);
SendCommand(SETCON);
SendData(0x30);
CS=1;
__delay_ms(4);
SendCommand(DISPON);
SendCommand(COLMOD);
if (value==Mod_RGB8) SendData(2); else SendData(3);
}

void DoluDikdortgen(int X1,int Y1,int X2,int Y2,unsigned char renk)
{ int PixelCount,i;
SendCommand(PASET);
SendData(X1);
SendData(X2);
SendCommand(CASET);
SendData(Y1);
SendData(Y2);
SendCommand(RAMWR);
PixelCount = (X2 - X1 + 1) * (Y2 - Y1 + 1);
for (i = 0; i < PixelCount; i++) SendData(renk);
SendCommand(NOP);
CS=1;
}

void Pixel(int X,int Y,unsigned char renk)
{
SendCommand(PASET);
SendData(X);
SendCommand(CASET);
SendData(Y);
SendCommand(RAMWR);
SendData(renk);
CS=1;
}

void CizgiCiz(int X1,int Y1,int X2,int Y2,unsigned char renk)
{
int dy;
   int dx;
   int StepX, StepY;
   int Fraction;

   dy = Y2 - Y1;
   dx = X2 - X1;

   if (dy < 0)
   {   
dy = -dy;
      StepY = -1;
   }
   else StepY = 1;

   if (dx < 0)
   {   
dx = -dx;
      StepX = -1;
   }
   else StepX = 1;

   dy <<= 1;                            // dy is now 2*dy
   dx <<= 1;                            // dx is now 2*dx
   Pixel(X1,Y1,renk);

   if (dx > dy)
   {   Fraction = dy - (dx >> 1);             // same as 2*dy - dx
      while (X1 != X2)
      {   if (Fraction >= 0)
         {   Y1 += StepY;
            Fraction -= dx;             // same as fraction -= 2*dx
         }

         X1 += StepX;
         Fraction += dy;                // same as fraction -= 2*dy
         Pixel(X1, Y1, renk);
      }
   }

   else
   {   Fraction = dx - (dy >> 1);
      while (Y1 != Y2)
      {   if (Fraction >= 0)
         {   X1 += StepX;
            Fraction -= dy;
         }

         Y1 += StepY;
         Fraction += dx;
         Pixel(X1, Y1,renk);
      }
   }
}

void DaireCiz(int X,int Y,int Radius,unsigned char renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

   Pixel(X, Y + Radius, renk);
   Pixel(X, Y - Radius, renk);
   Pixel(X + Radius, Y, renk);
   Pixel(X - Radius, Y, renk);

   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

      Pixel(X + x, Y + y, renk);
      Pixel(X - x, Y + y, renk);
      Pixel(X + x, Y - y, renk);
      Pixel(X - x, Y - y, renk);
      Pixel(X + y, Y + x, renk);
      Pixel(X - y, Y + x, renk);
      Pixel(X + y, Y - x, renk);
      Pixel(X - y, Y - x, renk);
   }
}

void DoluDaireCiz(int X,int Y,int Radius,unsigned char renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

CizgiCiz(X - Radius,Y,X + Radius,Y,renk);
Pixel(X, Y + Radius, renk);
   Pixel(X, Y - Radius, renk);
   
   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

CizgiCiz(X + x,Y + y,X - x,Y + y,renk);
CizgiCiz(X + x,Y - y,X - x,Y - y,renk);
CizgiCiz(Y + y,X - x,Y - y,X - x,renk);
CizgiCiz(Y + y,X + x,Y - y,X + x,renk);
   }
}

void Dikdortgen12(unsigned char X1,unsigned char Y1,unsigned char X2,unsigned char Y2,unsigned int renk)
{
CizgiCiz12(X1,Y1,X2,Y1,renk);
CizgiCiz12(X1,Y2,X2,Y2,renk);
CizgiCiz12(X1,Y1,X1,Y2,renk);
CizgiCiz12(X2,Y1,X2,Y2,renk);
}

void DoluDikdortgen12(int X1,int Y1,int X2,int Y2,unsigned int renk)
{
int i;
   int PixelCount;
   unsigned char Byte1, Byte2, Byte3;
   int LoopCount;

SendCommand(PASET);
SendData(X1);
SendData(X2);
SendCommand(CASET);
SendData(Y1);
SendData(Y2);
SendCommand(RAMWR);

   if ((X1 > X2) || (Y1 > Y2)) return;
 
   Byte1 = (renk >> 4) & 0xff;
   Byte2 = (((renk & 0x0f) << 4) | ((renk >> 8) & 0x0f));
   Byte3 = (renk & 0xff);

   PixelCount =  (X2 - X1 + 1) * (Y2 - Y1 + 1);
   LoopCount = (PixelCount / 2) + 1;
CS=0;
   for (i = 0; i < LoopCount; i++)
   {   
DATA=1;
data=Byte1;
shift();
DATA=1;
data=Byte2;
shift();
DATA=1;
data=Byte3;
shift();
}
   SendCommand(NOP);
   CS=1;
}

void Pixel12(int X,int Y,int renk)
{
unsigned char Byte1, Byte2;
SendCommand(PASET);
SendData(X);
SendCommand(CASET);
SendData(Y);
SendCommand(RAMWR);
 
   Byte1 = (renk >> 4) & 0xff;
   Byte2 = ((renk & 0x0f) << 4) ;

SendData(Byte1);
SendData(Byte2);

   SendCommand(NOP);
   CS=1;
}

void DaireCiz12(int X,int Y,int Radius,int renk)
{
int f;
   int ddF_x;
   int ddF_y;
   int x;
   int y;

   f = 1 - Radius;
   ddF_x = 0;
   ddF_y = -2 * Radius;
   x = 0;
   y = Radius;

   Pixel12(X, Y + Radius, renk);
   Pixel12(X, Y - Radius, renk);
   Pixel12(X + Radius, Y, renk);
   Pixel12(X - Radius, Y, renk);

   while (x < y)
   {   if (f >= 0)
      {   y--;
         ddF_y += 2;
         f += ddF_y;
      }

      x++;
      ddF_x += 2;
      f += ddF_x + 1;

      Pixel12(X + x, Y + y, renk);
      Pixel12(X - x, Y + y, renk);
      Pixel12(X + x, Y - y, renk);
      Pixel12(X - x, Y - y, renk);
      Pixel12(X + y, Y + x, renk);
      Pixel12(X - y, Y + x, renk);
      Pixel12(X + y, Y - x, renk);
      Pixel12(X - y, Y - x, renk);
   }
}

void CizgiCiz12(int X1,int Y1,int X2,int Y2,int renk)
{
int dy;
   int dx;
   int StepX, StepY;
   int Fraction;

   dy = Y2 - Y1;
   dx = X2 - X1;

   if (dy < 0)
   {   
dy = -dy;
      StepY = -1;
   }
   else StepY = 1;

   if (dx < 0)
   {   
dx = -dx;
      StepX = -1;
   }
   else StepX = 1;

   dy <<= 1;                            // dy is now 2*dy
   dx <<= 1;                            // dx is now 2*dx
   Pixel12(X1,Y1,renk);

   if (dx > dy)
   {   Fraction = dy - (dx >> 1);             // same as 2*dy - dx
      while (X1 != X2)
      {   if (Fraction >= 0)
         {   Y1 += StepY;
            Fraction -= dx;             // same as fraction -= 2*dx
         }

         X1 += StepX;
         Fraction += dy;                // same as fraction -= 2*dy
         Pixel12(X1, Y1, renk);
      }
   }

   else
   {   Fraction = dx - (dy >> 1);
      while (Y1 != Y2)
      {   if (Fraction >= 0)
         {   X1 += StepX;
            Fraction -= dy;
         }

         Y1 += StepY;
         Fraction += dx;
         Pixel12(X1, Y1, renk);
      }
   }
}

void DoluDaireCiz12(int X,int Y,int Radius,int renk)
{
int a, b, P;
   a = 0;
   b = Radius;
   P = 1 - Radius;

   do
   {
      CizgiCiz12(X-a, Y+b, X+a, Y+b, renk);
      CizgiCiz12(X-a, Y-b, X+a, Y-b, renk);
      CizgiCiz12(X-b, Y+a, X+b, Y+a, renk);
      CizgiCiz12(X-b, Y-a, X+b, Y-a, renk);
      if(P < 0)
         P+= 3 + 2*a++;
      else
         P+= 5 + 2*(a++ - b--);
    } while(a <= b);
}

void Buton12(unsigned char X,unsigned char Y,unsigned char width,unsigned char height,int renk)
{
DoluDikdortgen12(X,Y,X+width,Y+height,white);
DoluDikdortgen12(X+3,Y+3,X+width-3,Y+height-3,renk);
CizgiCiz12(X+width,Y,X+width,Y+height,black);
CizgiCiz12(X+width-1,Y+1,X+width-1,Y+height-1,black);
CizgiCiz12(X+width-2,Y+2,X+width-2,Y+height-2,black);
CizgiCiz12(X,Y+height,X+width,Y+height,black);
CizgiCiz12(X+1,Y+height-1,X+width-1,Y+height-1,black);
CizgiCiz12(X+2,Y+height-2,X+width-2,Y+height-2,black);
CizgiCiz12(X,Y,X+3,Y+3,renk);
}


header dosyası
#include<pic.h>

#define RST RC0
#define CS RC1
#define LED RB0
#define CLK RC3
#define DATA RC5

#define SDO RC5
#define SCK RC3

#define NOP    0x00       // nop
#define SWRESET 0x01       // software reset
#define BSTROFF 0x02       // booster voltage OFF
#define BSTRON    0x03       // booster voltage ON
#define RDDIDIF 0x04       // read display identification
#define RDDST    0x09       // read display status
#define SLEEPIN 0x10       // sleep in
#define SLEEPOUT 0x11       // sleep out
#define PTLON    0x12       // partial display mode
#define NORON    0x13       // display normal mode
#define INVOFF    0x20       // inversion OFF
#define INVON    0x21       // inversion ON
#define DALO    0x22       // all pixel OFF
#define DAL    0x23       // all pixel ON
#define SETCON    0x25       // write contrast
#define DISPOFF 0x28       // display OFF
#define DISPON    0x29       // display ON
#define CASET    0x2A       // column address set
#define PASET    0x2B       // page address set
#define RAMWR    0x2C       // memory write
#define RGBSET    0x2D       // colour set
#define PTLAR    0x30       // partial area
#define VSCRDEF 0x33       // vertical scrolling definition
#define TEOFF    0x34       // test mode
#define TEON    0x35      // test mode
#define MADCTL    0x36       // memory access control
#define SEP    0x37       // vertical scrolling start address
#define IDMOFF    0x38       // idle mode OFF
#define IDMON    0x39       // idle mode ON
#define COLMOD    0x3A       // interface pixel format
#define SETVOP    0xB0       // set Vop
#define BRS    0xB4       // bottom row swap
#define TRS    0xB6       // top row swap
#define DISCTR    0xB9       // display control
#define DOR    0xBA       // data order
#define TCDFE    0xBD       // enable/disable DF temperature compensation
#define TCVOPE    0xBF       // enable/disable Vop temp comp
#define EC        0xC0       // internal or external oscillator
#define SETMUL    0xC2       // set multiplication factor
#define TCVOPAB 0xC3       // set TCVOP slopes A and B
#define TCVOPCD 0xC4       // set TCVOP slopes c and d
#define TCDF    0xC5       // set divider frequency
#define DF8COLOR 0xC6       // set divider frequency 8-color mode
#define SETBS    0xC7       // set bias system
#define RDTEMP    0xC8       // temperature read back
#define NLI    0xC9       // n-line inversion
#define RDID1    0xDA       // read ID1
#define RDID2    0xDB       // read ID2
#define RDID3    0xDC       // read ID3

#define Mod_RGB8 2
#define Mod_RGB12 3

#define red 0xf00
#define green 0x0f0
#define blue 0x00f
#define black 0x000
#define white 0xfff
#define cyan 0x0FF
#define magenta 0xF0F
#define yellow 0xFF0
#define brown 0xB22
#define orange 0xFA0
#define pink 0xF6A


#define clk_plus CLK=1;CLK=0;

extern void ShiftBits(unsigned char dt);
extern void SendData(unsigned char dt);
extern void SendCommand(unsigned char dt);

extern void LCD_Initialize(unsigned char value);
extern void SetContrast(unsigned char value);

extern void DoluDikdortgen(int X1,int Y1,int X2,int Y2,unsigned char renk);
extern void Pixel(int X,int Y,unsigned char renk);
extern void CizgiCiz(int X1,int Y1,int X2,int Y2,unsigned char renk);
extern void DaireCiz(int X,int Y,int Radius,unsigned char renk);
extern void DoluDaireCiz(int X,int Y,int Radius,unsigned char renk);

extern void Dikdortgen12(unsigned char X1,unsigned char Y1,unsigned char X2,unsigned char Y2,unsigned int renk);
extern void DoluDikdortgen12(int X1,int Y1,int X2,int Y2,unsigned int renk);
extern void Pixel12(int X,int Y,int renk);
extern void CizgiCiz12(int X1,int Y1,int X2,int Y2,int renk);
extern void DaireCiz12(int X,int Y,int Radius,int renk);
extern void DoluDaireCiz12(int X,int Y,int Radius,int renk);

extern void Buton12(unsigned char X,unsigned char Y,unsigned char width,unsigned char height,int renk);




http://rapidshare.com/files/389245531/nokia_7210.rar.html

Hocam lcd'yi sürmek için yardımcı bir devreye ihtiyaç var mı? Lcd'yi bağladığınız devre ne için? Verdiğiniz http://electronique.marcel.free.fr/LCD%20Nokia%20couleurs.html şu linkte de benzer bir devre var smdlerle yapılmış.  Direk pic'in çıkışlarını bağlarsam sorun olur mu?   Lcd'de kullanılan sürücüyü anlamak için nereye bakacağız.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: serdararikan - 03 Şubat 2011, 16:35:19
gönderdiğiniz linkteki devreyide yapabilirsiniz.PIC 5V ile çalıştığı için gerilim bölücüler ile picin 5V unu 3.3V a düşürüyoruz.devre onun için.birde ekranın soketi çok ince pinlere sahip.lehimleme kolaylığı olsun diye öyle bir pcb hazırladık.sürücü dediğimiz şey ekranı açmak ve ekrana pixel bilgisi göndermek için hazırladığımız kodlar.Tahtakalede bu ekran çok ucuz 5tl civarında gidip oradan ekranı temin edebilirsin.forumda benim ve diğer arkadaların hazırladığı kodları kullanarak zaman kazanabilirsin.gerisi hayal gücüne kalmış
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 03 Şubat 2011, 17:15:53
Anladım çok teşekkürler. Ben 3V'luk yuvarlak pil kullanacağım devremde sanırım sıkıntı olmaz.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: gevv - 27 Şubat 2011, 17:04:38
Alıntı yapılan: ferdem - 26 Mayıs 2010, 17:06:54
Bu ekranı ben de zamanında CCS C ile sürmüştüm, hazır bir kütüphane kullanmıştım. Sparkfun ın bu ekran için mini geliştirme kiti var, o kitin kullanım kılavuzu da pratik bilgiler içeriyor. Pin bağlantıları pcf8833.c içinde tanımlı.
Bahsettiğim dosyalar burda (http://www.fatiherdem.net/yuklenenler/nokia6100.rar).
(http://www.fatiherdem.net/wp-content/yuklenenler/nokialcd-300x225.gif)

ferdem hocanın verdiği kodları derleyecek biri varmıdır :)  ben programı kıramadım hata veriyor



edit  dikkatsizlik sonucu boşuna tırmalamışım :)  kodlar ccs ile yazılmış ben hi tech ile uğraşıyorum :) sağ olsun arkadaşlar yardımcı oldu sorun çözüldü
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 23 Nisan 2011, 21:44:32
7210 lcd'sini sürerken kullandığınız devre şemasını veya baskı devresini paylaşmanız mümkün mü?    lcd pinlerinin ölçülerini hiçbir yerde bulamadım birde 3v-7v çevirmeyi nasıl yapabilirim?
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 24 Nisan 2011, 20:30:52
Ustalar yardım edebilecek kimse yok mu?
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: gevv - 24 Nisan 2011, 22:36:19
http://www.sparkfun.com/products/8600

http://www.sparkfun.com/datasheets/LCD/Nokia-Breakout-v13.pdf
http://www.sparkfun.com/datasheets/LCD/Nokia-Breakout-v13.zip
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: matador - 10 Haziran 2011, 22:30:25
Bu konu da bir sorum daha olacak 18f452 için kısa bir deneme programı yazdım ama derleyici şu hatayı ver di "Severity and Description   Path   Resource   Location   Creation Time   Id
(141) can't open include file "7210.h": No such file or directory    saaat   main.c   line 2   1307734115275   5023"

18f452 için sürücü dosyasında ne gibi bir değişiklik yapmam gerekiyor?

SORUNU HALLETTİM.

Ama bir türlü değişken yazdıramadım. ds1302den aldığım bilgiyi yazmak istiyorum ama yapamadım. Yardımlarınızı bekliyorum.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: erhanmete - 22 Ağustos 2011, 09:51:00
merhaba
bu 7210 lcd si ile bende bir proje yapıyorum.
fakat resim yüklediğim zaman renkler ters çıkıyor.
RGBSET registeri var bununla ilgili olabilirmi ?

bazı uygulamalarda bu register ile define color table yüklenmiş bazılarında yüklenmemiş.
ben yüklesemde yüklemesemde bir değişiklik olmuyor.
bu arada MADCTL registeri ile renkleri tersleyebiliyoruz o registerde normal halinde.

teşekkürler.

! düzelttim fonksiyonum ters yazıyormuş
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: sürveyan - 08 Haziran 2014, 23:44:50
ferdem hocam   7210 ekrana resim yazdırma nasıl yapılıyor. örnek bir program verebilirmisiniz.
Başlık: Ynt: Nokia 7210 4096 renkli GLCD
Gönderen: sürveyan - 09 Haziran 2014, 16:09:38
Alıntı yapılan: ferdem - 26 Mayıs 2010, 17:06:54
Bu ekranı ben de zamanında CCS C ile sürmüştüm, hazır bir kütüphane kullanmıştım. Sparkfun ın bu ekran için mini geliştirme kiti var, o kitin kullanım kılavuzu da pratik bilgiler içeriyor. Pin bağlantıları pcf8833.c içinde tanımlı.
Bahsettiğim dosyalar burda (http://www.fatiherdem.net/yuklenenler/nokia6100.rar).
(http://www.fatiherdem.net/wp-content/yuklenenler/nokialcd-300x225.gif)

hocam bu 7210 ekrana resim aktarımı konusunda yardımcı olurmusunuz