www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Težava z grafičnim LCDjem
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 12:29 am    Naslov sporočila:  Težava z grafičnim LCDjem Odgovori s citatom

Kupil sem GLCD oznake JHD240128D. Datasheet se nahaja TUKAJ.
Ima Toshibin čip T6963C.

Za začetek sem ga hotel preizkusiti kar s primerom, ki je zraven v programu mikroC. Namesto PIC18F4520 sem jaz uporabil 18F452. Zaslon sem priklopil tako, kot je bilo definirano. Povezal nisem edino MD signala, ker ga pri mojemu zaslonu tudi ni. Vse kar dobim na zaslonu je ena ravna črta ob resetu. Prosim za pomoč vse, ki bi lahko vedeli kaj je narobe.





Koda:
/*
 * Project Name:
     T6963C_240x128 (GLCD Library demo for Toshiba's T6963 Controller)
 * Copyright:
     (c) Mikroelektronika, 2008.
 * Revision History:
     20080930:
       - initial release; Credits to Bruno Gavand.
 * Description:
     This code in intended to work with GLCD's based on TOSHIBA T6963C controller.
     Pressing buttons RB0 .. RB4 generates commands for text and graphic displaying.
     This parts may need a -15V power supply on Vee for LCD drive,
     a simple DC/DC converter can be made with a 2N2905, 220 µH self, diode & 47 µF cap,
     transistor base is driven with PWM through a current limiting resistor.
     This parts have a 8 Kb built-in display RAM, this allows 2 graphics panels
     and one text panel.
 * Test configuration:
     MCU:             PIC18F4520
     Dev.Board:       EasyPIC5
     Oscillator:      HS-PLL, 8.0000 MHz
     Ext. Modules:    mE T6963C 240x128 Parallel Adapter on PORTC(Control) and PORTD(Data),
                      T6963C display 240x128 pixels
     SW:              mikroC PRO for PIC
 * NOTES:
     - Put button jumper (J17) into Vcc position and pull-down PORTB.
 */

#include        "__T6963C.h"
                           
// T6963C module connections
char T6963C_dataPort at PORTD;                   // DATA port

sbit T6963C_ctrlwr  at RC2_bit;                  // WR write signal
sbit T6963C_ctrlrd  at RC1_bit;                  // RD read signal
sbit T6963C_ctrlcd  at RC0_bit;                  // CD command/data signal
sbit T6963C_ctrlrst at RC4_bit;                  // RST reset signal
sbit T6963C_ctrlwr_Direction  at TRISC2_bit;     // WR write signal
sbit T6963C_ctrlrd_Direction  at TRISC1_bit;     // RD read signal
sbit T6963C_ctrlcd_Direction  at TRISC0_bit;     // CD command/data signal
sbit T6963C_ctrlrst_Direction at TRISC4_bit;     // RST reset signal

// Signals not used by library, they are set in main function
sbit T6963C_ctrlce at RC3_bit;                   // CE signal
sbit T6963C_ctrlfs at RC6_bit;                   // FS signal
sbit T6963C_ctrlmd at RC5_bit;                   // MD signal
sbit T6963C_ctrlce_Direction  at TRISC3_bit;     // CE signal direction
sbit T6963C_ctrlfs_Direction  at TRISC6_bit;     // FS signal direction
sbit T6963C_ctrlmd_Direction  at TRISC5_bit;     // MD signal direction

// End T6963C module connections

/*
 * bitmap pictures stored in ROM
 */
const code char mikroE_240x128_bmp[];
const code char einstein[];


void main() {
  char txt1[] = " EINSTEIN WOULD HAVE LIKED mE";
  char txt[] =  " GLCD LIBRARY DEMO, WELCOME !";

  unsigned char  panel;         // Current panel
  unsigned int   i;             // General purpose register
  unsigned char  curs;          // Cursor visibility
  unsigned int   cposx, cposy;  // Cursor x-y position

  #define COMPLETE_EXAMPLE      // comment this line to make simpler/smaller example

  ADCON1 |= 0x0F;               // Configure AN pins as digital

  TRISB0_bit = 1;               // Set RB0 as input
  TRISB1_bit = 1;               // Set RB1 as input
  TRISB2_bit = 1;               // Set RB2 as input
  TRISB3_bit = 1;               // Set RB3 as input
  TRISB4_bit = 1;               // Set RB4 as input

  T6963C_ctrlce_Direction = 0;
  T6963C_ctrlce = 0;            // Enable T6963C
  T6963C_ctrlfs_Direction = 0;
  T6963C_ctrlfs = 0;            // Font Select 8x8
  T6963C_ctrlmd_Direction = 0;
  T6963C_ctrlmd = 0;            // Column number select


  // Initialize T6963C
  T6963C_init(240, 128, 8);

  /*
   * Enable both graphics and text display at the same time
   */
  T6963C_graphics(1);
  T6963C_text(1);

  panel = 0;
  i = 0;
  curs = 0;
  cposx = cposy = 0;
  /*
   * Text messages
   */
  T6963C_write_text(txt, 0, 0, T6963C_ROM_MODE_XOR);
  T6963C_write_text(txt1, 0, 15, T6963C_ROM_MODE_XOR);

  /*
   * Cursor
   */
  T6963C_cursor_height(8);       // 8 pixel height
  T6963C_set_cursor(0, 0);       // Move cursor to top left
  T6963C_cursor(0);              // Cursor off
 
  /*
   * Draw rectangles
   */
  T6963C_rectangle(0, 0, 239, 127, T6963C_WHITE);
  T6963C_rectangle(20, 20, 219, 107, T6963C_WHITE);
  T6963C_rectangle(40, 40, 199, 87, T6963C_WHITE);
  T6963C_rectangle(60, 60, 179, 67, T6963C_WHITE);

  /*
   * Draw a cross
   */
  T6963C_line(0, 0, 239, 127, T6963C_WHITE);
  T6963C_line(0, 127, 239, 0, T6963C_WHITE);

  /*
   * Draw solid boxes
   */
  T6963C_box(0, 0, 239, 8, T6963C_WHITE);
  T6963C_box(0, 119, 239, 127, T6963C_WHITE);

  #ifdef COMPLETE_EXAMPLE
    /*
     * Draw circles
     */
    T6963C_circle(120, 64, 10, T6963C_WHITE);
    T6963C_circle(120, 64, 30, T6963C_WHITE);
    T6963C_circle(120, 64, 50, T6963C_WHITE);
    T6963C_circle(120, 64, 70, T6963C_WHITE);
    T6963C_circle(120, 64, 90, T6963C_WHITE);
    T6963C_circle(120, 64, 110, T6963C_WHITE);
    T6963C_circle(120, 64, 130, T6963C_WHITE);

    T6963C_sprite(76, 4, einstein, 88, 119);         // Draw a sprite

    T6963C_setGrPanel(1);                            // Select other graphic panel

    T6963C_image(mikroE_240x128_bmp);                // Draw an image

  #endif

  for(;;) {                                          // Endless loop
    /*
     * If RB0 is pressed, display only graphic panel
     */
    if(RB0_bit) {
      T6963C_graphics(1);
      T6963C_text(0);
      Delay_ms(300);
      }
    #ifdef COMPLETE_EXAMPLE
      /*
       * If RB1 is pressed, toggle the display between graphic panel 0 and graphic panel 1
       */
      else if(RB1_bit) {
        panel++;
        panel &= 1;
        T6963C_displayGrPanel(panel);
        Delay_ms(300);
        }
    #endif
    /*
     * If RB2 is pressed, display only text panel
     */
    else if(RB2_bit) {
      T6963C_graphics(0);
      T6963C_text(1);
      Delay_ms(300);
      }

    /*
     * If RB3 is pressed, display text and graphic panels
     */
    else if(RB3_bit) {
      T6963C_graphics(1);
      T6963C_text(1);
      Delay_ms(300);
      }
    /*
     * If RB4 is pressed, change cursor
     */
    else if(RB4_bit) {
      curs++;
      if(curs == 3) curs = 0;
      switch(curs) {
        case 0:
          // no cursor
          T6963C_cursor(0);
          break;
        case 1:
          // blinking cursor
          T6963C_cursor(1);
          T6963C_cursor_blink(1);
          break;
        case 2:
          // non blinking cursor
          T6963C_cursor(1);
          T6963C_cursor_blink(0);
          break;
        }
      Delay_ms(300);
      }

    /*
     * Move cursor, even if not visible
     */
    cposx++;
    if(cposx == T6963C_txtCols) {
      cposx = 0;
      cposy++;
      if(cposy == T6963C_grHeight / T6963C_CHARACTER_HEIGHT) {
        cposy = 0;
        }
      }
    T6963C_set_cursor(cposx, cposy);

    Delay_ms(100);
    }
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
California
Član
Član



Pridružen-a: Pet 26 Avg 2005 19:48
Prispevkov: 236
Aktiv.: 1.00
Kraj: Hrastnik

PrispevekObjavljeno: Ned Nov 14, 2010 8:23 am    Naslov sporočila:   Odgovori s citatom

Poizkusi MD povezati na +5V ali na GND.
Si upošteval tole:
* NOTES:
- Put button jumper (J17) into Vcc position and pull-down PORTB.

Lp.
Vlado

_________________
California
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Bozo
Član
Član



Pridružen-a: Čet 08 Jan 2004 9:21
Prispevkov: 660
Aktiv.: 2.79
Kraj: Lendava, Trimlini

PrispevekObjavljeno: Ned Nov 14, 2010 10:51 am    Naslov sporočila:   Odgovori s citatom

Tukaj imaš data od mojega LCD, poglej pin18 vezal sem ga na GND.
LP
Božo



w240-7.pdf
 Opis:

Download
 Ime datoteke:  w240-7.pdf
 Velikost datoteke:  302.72 KB
 Downloadano:  8 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 12:28 pm    Naslov sporočila:   Odgovori s citatom

Jaz MD pina ne morem vezati nikamor ker ga nimam. Na PORTB so pull-down upori, sem pa preizkušal tudi s programom, ki nima tipk. Priklopljeno imam tudi -15V napajanje na LCDju.


pinout.jpg
 Opis:
 Velikost datoteke:  147.49 KB
 Pogledana:  0 krat

pinout.jpg


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Bozo
Član
Član



Pridružen-a: Čet 08 Jan 2004 9:21
Prispevkov: 660
Aktiv.: 2.79
Kraj: Lendava, Trimlini

PrispevekObjavljeno: Ned Nov 14, 2010 2:16 pm    Naslov sporočila:   Odgovori s citatom

Daj gor načrt povezave. Načrt po katerem sem jaz delal se ni ujemal z mojim LCDjem, zato sem vezal moj LCD po programu ki je bil zelo dobro komentiran. Na načrtu nisem imel MD imel sem pa FG, torej pripelji MD na pin FG na LCD. Negativno napetost nisem priklopil, ampak sem pin 17 povezal po slikici zraven na poteciometer od kontrasta. Tako bi moralo delat.
LP
Božo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 2:46 pm    Naslov sporočila:   Odgovori s citatom

Povezano sem imel tako:

1FG.....GND
2GND.....GND
3Vdd.....+5V
4Vo.....sredinski odcep trimmerja
5WR.....RC2-WR
6RD.....RC1-RD
7CE.....RC3-CE
8C/D.....RC0-CD
9RST.....RC4-RST
10DB0-17DB7.....PORTD0-7
18FS.....RC6-FS
19VEE.....-15V
20LED+.....+5V

Zdaj sem povezal prvi pin na RC5 in pin 19 na trimmer ampak žal še vedno ne dela. Sem pa opazil, da vleče LCD malo prevelik tok (okoli 1A brez osvetlitve).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Ned Nov 14, 2010 2:50 pm    Naslov sporočila:   Odgovori s citatom

Če vleče 1A se je verjetno že poslovil....
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 2:51 pm    Naslov sporočila:   Odgovori s citatom

To tudi mene skrbi. Še vedno pa se prikazuje tista slavna črta.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Bozo
Član
Član



Pridružen-a: Čet 08 Jan 2004 9:21
Prispevkov: 660
Aktiv.: 2.79
Kraj: Lendava, Trimlini

PrispevekObjavljeno: Ned Nov 14, 2010 5:15 pm    Naslov sporočila:   Odgovori s citatom

Pri meni je FG (MD) na masi tudi po načrtu. Zato je bila poraba pri tebi 1A. Moj LCD ima 20 pinov + 2 pina za osvetlitev, torej 22. Bil bi sigurno primeren za tvojo aplikacijo. Očitno si nabavil napačnega. Žal nebi več vedel kaj povedat.
LP
Božo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Ned Nov 14, 2010 5:20 pm    Naslov sporočila:   Odgovori s citatom

Kakšna pa je velikost displeja? Pri velikih osvetlitev poje kar veliko toka. Drugače pa običajno črna črta pomeni, da napajanje ima, ne dobi pa pravilnih ukazov po vodilu. Imaš nastavljeno primerno frekvenco procesorja? Ali je krmilnik podprt s strani razvojnega okolja?
_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Bozo
Član
Član



Pridružen-a: Čet 08 Jan 2004 9:21
Prispevkov: 660
Aktiv.: 2.79
Kraj: Lendava, Trimlini

PrispevekObjavljeno: Ned Nov 14, 2010 5:28 pm    Naslov sporočila:   Odgovori s citatom

Pri meni kompletno vezje z osvetlitvijo okoli 290 mA.
LP
Božo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Ned Nov 14, 2010 5:54 pm    Naslov sporočila:   Odgovori s citatom

Če vleče 1A brez osvetlitve je konec z njim, razen če imaš kje kakšenj stik že pred LCD-jem.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 6:39 pm    Naslov sporočila:   Odgovori s citatom

Verjetno sem ga res uničil. Na začetku sem ga lahko napajal kar z ICDjem, zdaj pa je osvetlitev zaslona zelo slaba, če priklopim samo ICD2. Zdaj sem ugotovil, da se greje samo LMC7660. Bom šel jutri v lov za njim in ga zamenjal, če ne pa kupil nov LCD.

@Highlag, velikost zaslona je 240x128 ampak kot sem napisal ni bilo problemov z napajanjem iz USBja. Možno je, da je napačna frekvenca procesorja. S strani mikroC-ja pa je podprt saj je knjižnica in nekaj primerov za ta krmilnik, ki ga ima zaslon.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.93
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Ned Nov 14, 2010 6:43 pm    Naslov sporočila:   Odgovori s citatom

Je SMD ali običajen? Verjetno mimam kak kos doma. (moram preverit)
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Raptor
Član
Član



Pridružen-a: Sob 22 Mar 2008 14:20
Prispevkov: 533
Aktiv.: 2.54
Kraj: Ravne na Koroškem/Maribor

PrispevekObjavljeno: Ned Nov 14, 2010 6:49 pm    Naslov sporočila:   Odgovori s citatom

SMD. Saj sem med tednom v Mariboru tako, da bom preveril zalogo v teh trgovinah. Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group