Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • LCD RD,WR piny

LCD RD,WR piny

V┼íetko ─Źo sa t├Żka mikropo─Ź├şta─Źov + Sekcia Arduino

Moderátori: psichac, Moderátori

LCD RD,WR piny

Odosla┼ąod dexter117 » 18 J├║l 2012, 23:26

Ahojte , mam problem rozchodi┼ą RGB TFT Display modul , ├║spe┼íne sa mi podarilo rozchodi┼ą monochromatick├Ż grafick├Ż display ale na tomto mi nie─Źo ch├Żba a to pin E teda ur─Źen├Ż na prepis d├ít z Db0 - DB7 pinov do RAM pam├Ąte displeja a naopak.
som si v┼íak ist├Ż ┼że principialne to bude nie─Źo ├║plne in├ę ako jednoduch├Ż grafick├Ż displej.

Display model : HY32D
Controller : SSD1289

piny:
GND
+5V
D0-D15
RS
CS
RD
WR
RESET




Zauj├şma ma ako prenies┼ą d├íta z Db0 - Db 15 do vn├║tornej pam├Ąte a ako pri tom vyu┼żijem piny RD a WR .Celkom som sa pozeral aj po ─Źl├ínkoch ale asi som dos┼ą nech├ípav├Ż :)
ak mi niekto z v├ís dok├í┼że poradi┼ą budem vam vda─Źn├Ż :D
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod jaromir » 20 J├║l 2012, 15:32

Datasheet radica... nic?

Skus si ho stiahnut a dozvies sa toto:
1, Do displeja sa zapisuje pri CS signale aktivnom a datach na zbernici DB0..15 (log. 0) zostupnou hranou signalu WR
2, Z displeja sa cita pri CS signale aktivnom (log. 0) zostupnou hranou signalu WR, data mas potom na zbernici DB0..15
3, Maximalne napajacie napatie je 3,6V. 5V ho pravdepodobne usmazi
4, Caka ta vela prace. Obsluha tohto TFT-cka je podstatne zlozitejsia nez nejakeho trivialneho displeja s HD44780, okrem toho potrebujes vediet ako nastavit interne registre. Pokial to nie je v datasheete (co vacsinou v cinskych datasheetoch nebyva), zacina to byt ta skutocna zabava.

Zelam vela stastia :)
jaromir
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 4530
Vek: 35.46
Zalo┼żen├Ż: 08.07.2011
Bydlisko: Bratislava
Karma: 98

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 20 J├║l 2012, 17:53

Dakujem za pomoc, :D
pri klasick├Żch GLCD ho sta─Źilo spustit in┼ítrukciou a u┼ż som aj mohol zobrazova┼ą

tento displej ma napajanie 5v zrejme bude ma┼ą vn├║torn├Ż stabiliz├ítor
to ale znamen├í ┼że musim konvertova┼ą logick├ę ├║rovne z 5v na 3,6v ? :?
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod jaromir » 20 J├║l 2012, 18:00

Ukaz datasheet displeja alebo nieco, inak neviem o com debatujeme :)
jaromir
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 4530
Vek: 35.46
Zalo┼żen├Ż: 08.07.2011
Bydlisko: Bratislava
Karma: 98

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 20 J├║l 2012, 20:32

no toto neni ani n├íhodou klasick├Ż GLCD, mo┼żno by nebolo zl├ę ak by si uviedol aj MCU ak├ę chce┼í pou┼ż├şva┼ą, aby nevznikol zbyto─Źn├Ż omyl.
Pr├şlohy
SSD1289.pdf
(803.74 KiB) Stiahnutá 84 krát
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 21 J├║l 2012, 13:10

R├íd by som pou┼żil PIC 18f4550 alebo ktor├Żkolvek in├Ż PIC ktor├Ż m├í dos┼ą v├Żvodov. Bohu┼żial sa v┼íak ob├ívam ┼że nebude dos┼ą r├Żchli na jeho obsluhu ale v podstate mi ide len o pochopenie princ├şpu samotn├ęho displeja aj keby mu zobrazovanie obrazovej plochy trvalo 5 sek├║nd tak mi to nevad├ş :) . Potom by som ke─Ćtak pre┼íiel na in├║ architekt├║ru MCU ... :D
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod jaromir » 21 J├║l 2012, 13:12

Hlavne napis detaily toho displeja. Podrobny datasheet alebo aspon kde si ho kupil.
Inak tento thread nema zmysel.
jaromir
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 4530
Vek: 35.46
Zalo┼żen├Ż: 08.07.2011
Bydlisko: Bratislava
Karma: 98

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 21 J├║l 2012, 13:40

in├Ż datasheet ako u┼ż prilo┼żil mato3000 som bohu┼żial nena┼íiel, mal som ten ist├Ż.
Display som k├║pil na Ebayi
ak by niekto potreboval link :
http://www.ebay.com/itm/3-2inch-320x240-Touch-LCD-A-Screen-Touch-SPI-ADS7843-LCD-SSD1289-TFT-LED-320-240-/250906574590?pt=LH_DefaultDomain_0&hash=item3a6b327efe
in├ę detaily displeja ako s├║ uveden├ę v datasheete neviem :?
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod jaromir » 21 J├║l 2012, 14:12

No vidis, myslim ze je to podobny displej ako som pouzil tu https://picasaweb.google.com/1118907411 ... apperTest1
Ja tam mam navyse SD kartu, na riadenie som pouzil PIC32.
To napajanie 5V je asi mozne, ale nevidim tam nikde level convertor, takze budes musiet bud urobit konverziu 5/3V alebo rovno MCU napajat z 3,3V. Ja by som siel jednoznacne tou druhou cestou.

Caka ta pomerne dost zabavy. Na to, aby displej bol schopny nieco zobrazovat, treba mu po resete nastavit asi tri tucty registrov. Samozrejme k tomu treba mat najprv rozhodene read/write rutinky. Na webe sa daju najst nejake priklady ako na to, pokojne si stiahni nejaky kod pre AVR/ARM/Arduino/cokolvek, prepis mu low-level read/write rutinky tak aby sedeli na tvoj HW.
jaromir
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 4530
Vek: 35.46
Zalo┼żen├Ż: 08.07.2011
Bydlisko: Bratislava
Karma: 98

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 21 J├║l 2012, 17:18

to je pekn├í pr├íca. Ani SD kartu a ani ten displej sa mi zatial nepodarilo rozchodi┼ą :D
nenapadlo ma da┼ą na VDD 3,3v, zd├í sa to rozumn├ę .
Tak sa pust├şm do pr├íce ...
dakujem za pomoc :) . keby nie─Źo ne┼ílo tak sem e┼íte nap├ş┼íem .
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 21 J├║l 2012, 20:31

Jarom├şr, ten modul na 6tej fotke ─Źo m├í┼í pripojen├Ż je nejak├í extern├í Flash ?
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod jaromir » 21 J├║l 2012, 20:36

Nie, je to bluetooth modul, ktorym komunikujem s bluetooth GPS prijimacom - z neho beriem data o polohe a polohu zobrazujem na mape v 8-mich zoom leveloch kdekolvek na uzemi SR :)
jaromir
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 4530
Vek: 35.46
Zalo┼żen├Ż: 08.07.2011
Bydlisko: Bratislava
Karma: 98

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 21 J├║l 2012, 20:41

aha, u┼ż som si v┼íimol t├║ ant├ęnku
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 24 Okt 2012, 19:51

ke─Ć som e┼íte nevedel ak├ę logick├ę ├║rovne potrebuje HY32D - displej, tak som tam d├íval 5 v .
Mysl├şte si ┼że som ho u┼ż definit├şvne usma┼żil ? :(

alebo toleruje 5V ├║rovne ?
lebo som na┼íiel kni┼żnice original SSD1289 ktor├ę som si upravil pre PIC a nereaguje na pr├şkazy
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 24 Okt 2012, 19:57

MAXIMUM RATINGS --- 4V a 25mA, pin z MCU ti ned├í viac ako 20mA - aspo┼ł mysl├şm. tak┼że nejak├í ┼íanca na pre┼żitie by tu bola :D
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 24 Okt 2012, 20:49

Ďakujem za nádej
pic 18f4550
Maximum output current sourced by any I/O pin ....................................................................................................25 mA
kua pre─Źo je tak├Ż siln├Ż....... :D


nemám nejakú chybu tu ?
K├│d: Vybra┼ą v┼íetko
void LCD_WriteRAM(int LCD_RAM ) // zápis 16 bitov do GDDRAM
{
 

PORTA=0b00000000;   // RS=0, WR=0
PORTB=LCD_RAM; // z├ípis prv├Żch 8 bitov -> PORTB 0~7
PORTD=LCD_RAM>>8; //z├ípis druh├Żch  8 bitov -> PORTD 0~7
__delay_ms(10);       // 10ms pauza
PORTA=0b00000001;  //RS=0, WR=1 
__delay_ms(10);       //  // 10ms pauza
PORTA=0b00000000;   //  RS=0, WR=0

}
void LCD_WriteReg(char reg, int dat) // zápis 16 bit dát "dat" do registra "REG"
{
PORTA=0b00000010;// RS=1 , WR=0
PORTB=reg;   // PORTB = ─Ź├şslo registra
PORTD=0;       // PORTD = 0
__delay_ms(10);
PORTA=0b00000011;// RS=1 , WR=1
__delay_ms(10);
PORTA=0b00000010;// RS=1 , WR=0
__delay_ms(10);
PORTB=dat;   // z├ípis prv├Żch 8 bitov -> PORTB 0~7
PORTD=dat>>8; //z├ípis druh├Żch  8 bitov -> PORTD 0~7
__delay_ms(10);
PORTA=0b00000011;// RS=1 , WR=1
__delay_ms(10);

PORTA=0b00000010;// RS=1 , WR=0


}


pros├şm v├ís, ak s t├Żm u┼ż niekto robil , nevedel by mi niekto skontrolova┼ą tieto podprogramy?
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 24 Okt 2012, 21:10

no v C sa nevyzn├ím, ale toto neni rutina na ovl├ídanie toho TFT, to je kap├ínek zlo┼żitej┼íie. ty si st├íle m├Żli┼í to TFT s klasick├Żm GLCD + radi─Ź.

no a aby som ┼ąa trochu dostal do obrazu, tak tu si poriadne kukni. je tam po dt├Żm LCD doska s ARMom a to je vlastne radi─Ź k tomu LCD. http://www.micro4you.com/store/hy-mini-stm32v.html

to ─Źo ty pova┼żuje┼í za radi─Ź je takzvan├Ż budi─Ź skla -SSD1289. to je obvod , ktor├Ż sa star├í o zobrazenie jednotliv├Żch bodov a na tom LCD ich je viac 8 -12 ks, ale ich nevid├ş┼í
Naposledy upravil mato3000 d┼ła 24 Okt 2012, 21:23, celkovo upraven├ę 1 kr├ít.
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 24 Okt 2012, 21:22

neee pr├íve┼że toto je oficialna inicializ├ícia, nechcel som s t├Żm nikoho zata┼żova┼ą :D ........

K├│d: Vybra┼ą v┼íetko
void LCD_Init(void)
{
  LCD_WriteReg(0x0007,0x0021);    Delay(50);
  LCD_WriteReg(0x0000,0x0001);    Delay(50);
  LCD_WriteReg(0x0007,0x0023);    Delay(50);
  LCD_WriteReg(0x0010,0x0000);    Delay(90);
  LCD_WriteReg(0x0007,0x0033);    Delay(50);
  LCD_WriteReg(0x0011,0x6830);    Delay(50);
  LCD_WriteReg(0x0002,0x0600);    Delay(50);
  LCD_WriteReg(0x0012,0x6CEB);    Delay(50);
  LCD_WriteReg(0x0003,0xA8A4);    Delay(50);                       
  LCD_WriteReg(0x000C,0x0000);    Delay(50);
  LCD_WriteReg(0x000D,0x080C);    Delay(50);
  LCD_WriteReg(0x000E,0x2B00);    Delay(50);
  LCD_WriteReg(0x001E,0x00B0);    Delay(50);
  LCD_WriteReg(0x0001,0x2b3F);    Delay(50);  //RGB
  LCD_WriteReg(0x0005,0x0000);    Delay(50);
  LCD_WriteReg(0x0006,0x0000);    Delay(50);
  LCD_WriteReg(0x0016,0xEF1C);    Delay(50);
  LCD_WriteReg(0x0017,0x0103);    Delay(50);
  LCD_WriteReg(0x000B,0x0000);    Delay(50);
  LCD_WriteReg(0x000F,0x0000);    Delay(50); 
  LCD_WriteReg(0x0041,0x0000);    Delay(50);
  LCD_WriteReg(0x0042,0x0000);    Delay(50);
  LCD_WriteReg(0x0048,0x0000);    Delay(50);
  LCD_WriteReg(0x0049,0x013F);    Delay(50);
  LCD_WriteReg(0x004A,0x0000);    Delay(50);
  LCD_WriteReg(0x004B,0x0000);    Delay(50);
  LCD_WriteReg(0x0044,0xEF00);    Delay(50);
  LCD_WriteReg(0x0045,0x0000);    Delay(50);
  LCD_WriteReg(0x0046,0x013F);    Delay(50);
  LCD_WriteReg(0x0030,0x0707);    Delay(50);
  LCD_WriteReg(0x0031,0x0204);    Delay(50);
  LCD_WriteReg(0x0032,0x0204);    Delay(50);
  LCD_WriteReg(0x0033,0x0502);    Delay(50);
  LCD_WriteReg(0x0034,0x0507);    Delay(50);
  LCD_WriteReg(0x0035,0x0204);    Delay(50);
  LCD_WriteReg(0x0036,0x0204);    Delay(50);
  LCD_WriteReg(0x0037,0x0502);    Delay(50);
  LCD_WriteReg(0x003A,0x0302);    Delay(50);
  LCD_WriteReg(0x002F,0x12BE);    Delay(50);           
  LCD_WriteReg(0x003B,0x0302);    Delay(50);
  LCD_WriteReg(0x0023,0x0000);    Delay(50);
  LCD_WriteReg(0x0024,0x0000);    Delay(50);
  LCD_WriteReg(0x0025,0x8000);    Delay(50);
  LCD_WriteReg(0x004f,0x0000);    Delay(50);
  LCD_WriteReg(0x004e,0x0000);    Delay(50);




}



a toto je na spustenie/vypnutie LCD
K├│d: Vybra┼ą v┼íetko
void LCD_DisplayOn(void)
{
  LCD_WriteReg(0x0007, 0x0173);
}

void LCD_DisplayOff(void)
{
  LCD_WriteReg(0x0007, 0x0000);
}




tak ten z├ípis som si len tak logicky odvodil ┼że pri Command(RS teda CD=1) prv├Ż sa zapisuje register a druh├ę d├íta lebo v datasheete tak├ę nie─Źo bolo ... :?
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Re: LCD RD,WR piny

Odosla┼ąod mato3000 » 24 Okt 2012, 21:24

no neni ti rady, ale ak u┼ż bude┼í z├║fal├Ż tak sa kukni na t├║ str├ínku a over si ten tvoj "radi─Ź" ─Źo to vlastne je
mato3000
Obr├ízok pou┼ż├şvate─ża
Power user
Power user
Pr├şspevky: 9641
Zalo┼żen├Ż: 04.01.2009
Bydlisko: BA
Karma: 122

Re: LCD RD,WR piny

Odosla┼ąod dexter117 » 24 Okt 2012, 21:25

a potom u┼ż s├║ tam len tak├ę lahodn├ę funkcie ako nakresli ┼ítvorec , ─Źiaru , okno , kru┼żnicu .....


K├│d: Vybra┼ą v┼íetko
void LCD_DrawCircle(int, int Ypos, int Radius)
{
  int16_t  D;/* Decision Variable */
  uint16_t  CurX;/* Current X Value */
  uint16_t  CurY;/* Current Y Value */
  D = 3 - (Radius << 1);
  CurX = 0;
  CurY = Radius;
  while (CurX <= CurY)
  {
    PutPixel(Xpos + CurX, Ypos + CurY);
    PutPixel(Xpos + CurX, Ypos - CurY);
    PutPixel(Xpos - CurX, Ypos + CurY);
    PutPixel(Xpos - CurX, Ypos - CurY);
    PutPixel(Xpos + CurY, Ypos + CurX);
    PutPixel(Xpos + CurY, Ypos - CurX);
    PutPixel(Xpos - CurY, Ypos + CurX);
    PutPixel(Xpos - CurY, Ypos - CurX);
    if (D < 0)
    {
      D += (CurX << 2) + 6;
    }
    else
    {
      D += ((CurX - CurY) << 2) + 10;
      CurY--;
    }
    CurX++;
  }
}
dexter117
Obr├ízok pou┼ż├şvate─ża
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 142
Vek: 24.86
Zalo┼żen├Ż: 11.10.2011
Karma: 0

Ďalšia

Nasp├Ą┼ą na Mikropo─Ź├şta─Źe

Kto je pr├ştomn├Ż

U┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 0 host├ş.

Forums ©
Autor str├ínky je Ondrej Z├ívodsk├Ż(zawin), o graficky design sa star├í ─Żubo┼í Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
─îas potrebn├Ż k spracovaniu str├ínky 0.84 sek├║nd