[C] LCD 16x4 (HD44780)

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
powerofcode
-
Posty: 2
Rejestracja: 09 sty 2010, 19:26
Lokalizacja: Polska

[C] LCD 16x4 (HD44780)

Post autor: powerofcode » 09 sty 2010, 19:35

Witam,

Chciałbym się dowiedzieć jak mogę wypisać coś na wyświetlaczu LCD 16x4 zgodnym z HD44780 w 3 i 4 linii. Próbowałem używać już różnych bibliotek, przeszukałem wiele stron ale nic z tego. Wyświetlacz zachowuje się tak jakby był 16x2 a dwie pozostałe linie dla szpanu.

Z góry dziękuje za odpowiedź, pozdrawiam

Proszę podać jakiego kompilatora Kolega używa. marcing
Ostatnio zmieniony 11 sty 2010, 13:35 przez powerofcode, łącznie zmieniany 1 raz.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 09 sty 2010, 19:40

W czym programujesz :?: Bez tego raczej ci nikt nie pomoże.

powerofcode
-
Posty: 2
Rejestracja: 09 sty 2010, 19:26
Lokalizacja: Polska

Post autor: powerofcode » 09 sty 2010, 19:44

W C. Biblioteka znajduje się na stronie http://radzio.dxp.pl/hd44780/.

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 10 sty 2010, 18:35

Bascom -> Lowerline, Thirdline, Fourthline, Locate..

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 10 sty 2010, 19:03

Seg tylko kolega wyraźnie napisał że programuje w C a nie Bascomie. Z nim to raczej by sobie sam poradził.
Ja tam akurat specjalistą od C nie jestem, ale może trzeba poinformwać kompilator/ bibliotekę z jakim wyświetlaczem współpracuje. być może jest jakaś funkcja config LCD czy coś w tym rodzaju.

Kuna
Użytkownik
Posty: 130
Rejestracja: 26 lip 2008, 11:03
Lokalizacja: w-wa

Post autor: Kuna » 10 sty 2010, 22:08

Może to jest rozwiązaniem:

Kod: Zaznacz cały

void LCD_Enable(unsigned char controller)
{
switch(controller){
case 0: LCD_E1_PORT |= LCD_E1; break;
case 1: LCD_E2_PORT |= LCD_E2; break;
}
asm("nop");
LCD_E1_PORT &= ~LCD_E1; // E1 = 0
LCD_E2_PORT &= ~LCD_E2; // E2 = 0
}

seg
Użytkownik
Posty: 223
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 10 sty 2010, 22:14

oj tam ;) nie zauważyłem , że coś dodał.

ODPOWIEDZ