logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

LCD 2*16. Nie wyświetla się żaden napis. Co jest nie tak?

mcoola 30 Wrz 2006 22:16 2834 20
REKLAMA
  • #1 3073129
    mcoola
    Poziom 19  
    Posty: 436
    Pomógł: 22
    Ocena: 9
    Witam!!!
    Podłączyłem wyświetlacz w trybie 4bit (4 wyprowadzenia), wejścia Enable i reset, podłączyłem napięcie i nic!!! Niewyświetla się żaden napis, używam bascoma i zmieniałem tam konfigurację pinów. Co może byc nie tak?
  • REKLAMA
  • #2 3073187
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    A kontrast sobie ustawiłeś? Na forum czytałem ,że Bascom ma problemy z obsługa 2x16 (trzeba tam coś inaczej przestawić).
    A tak w ogóle to podałeś za mało informacji żeby Ci udzielić jakiejś konkretniejszej pomocy.
  • REKLAMA
  • #3 3073199
    mcoola
    Poziom 19  
    Posty: 436
    Pomógł: 22
    Ocena: 9
    kontrast, jest, ustawiłem tak że lekko widać małe kwadraciki, w kodzie programu niewpisywałem ustawień wyśw. tylko w programie. A jakie informacje mam podać???
  • #4 3073307
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Oczywiście jest to LCD na HD44780?
    Strona sprzętowa jest 3razy sprawdzona (odpowienio podłączone piny)?
    Jeżeli to wszystko jest ok to lcd masz podłaczony dobrze.
    Pozostaje odpowiednio skonfigurować program. Nie znam Bascoma więc Ci w tym nie pomogę ale było naprawdę duzo postów dotyczących własnie skonfigurowania bascoma do współpracy z LCD. :D.
    Wystarczy poszukać. :D.
  • #5 3073701
    yokoon
    Poziom 29  
    Posty: 1349
    Pomógł: 119
    Ocena: 144
    A inicjalizację LCD w programie zrobiłeś ?
  • REKLAMA
  • #6 3073705
    janek1815
    Poziom 38  
    Posty: 4513
    Pomógł: 372
    Ocena: 1062
    markosik20 napisał:
    A kontrast sobie ustawiłeś? Na forum czytałem ,że Bascom ma problemy z obsługa 2x16 (trzeba tam coś inaczej przestawić).
    A tak w ogóle to podałeś za mało informacji żeby Ci udzielić jakiejś konkretniejszej pomocy.


    bascom ma problemy z wyswietlaczem 16*1 zaczyna "glupiec" przy przewijaniu tekstu

    zrob tak jak kolega powyzej napisal inicjalizacje lcd
  • #7 3074338
    autoservice
    Poziom 20  
    Posty: 516
    Pomógł: 7
    Ocena: 16
    ..wklej kod to sprawdzimy, sprawdz tez czy masz dobrze ustawione poszczegolne linie danych w bascomie, z moze lcd walniety?
    pzdr.
  • #8 3074543
    mcoola
    Poziom 19  
    Posty: 436
    Pomógł: 22
    Ocena: 9
    Podłączony raczej dobrze, zaraz sprawdze wszystko jeszcze raz. A program to tylko typu:
    waitms 100
    lcd "xxxx"
  • #9 3074608
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    pamiętaj o podłączeniu R/W wyświetlacza (pin 5) do masy - a o tym nie napisałeś
  • #10 3074610
    janek1815
    Poziom 38  
    Posty: 4513
    Pomógł: 372
    Ocena: 1062
    config lcd = 16*2
    cls
    lcd "witaj"

    to powinno dzialac moze masz cos pokopane w podlaczeniu wyswietlacza lub opcjach kompilatora a jak nie to zastosuj jeszcze polecenie: config lcdpin choc wydaje sie zbyteczne. mozesz miec tez padniety lcd wtedy sa te kwadraciki jak i rowniez przy zle podlaczonym wyswietlaczu
  • #11 3075278
    mcoola
    Poziom 19  
    Posty: 436
    Pomógł: 22
    Ocena: 9
    config to ustawiam w programie. Linii R/W nigdzie niepodłączyłem bo w programie niejest to wymagane.
  • #12 3075344
    janek1815
    Poziom 38  
    Posty: 4513
    Pomógł: 372
    Ocena: 1062
    podlacz jeszcze to rw do masy nie wiem co jest jak jest niepodlaczone nie moge teraz sprawdzic ale patrzac na moje projekty w protelu zawsze nozka 5 jest podlaczona do masy
  • #13 3075372
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    to jest sygnał czy dane z wyświetlacza są odczytywane rw=1 (pin nie podłączony) lub wysyłanie (zapis) do LCD - rw=0 (zwarte do masy) więc szybciutko to zewrzyj tak jak pisałem i będzie działać

    Dodano po 1 [minuty]:

    R/W = Read/Write (Odczyt/Zapis)
  • REKLAMA
  • Pomocny post
    #14 3075535
    Kubbaz
    Poziom 26  
    Posty: 1237
    Pomógł: 9
    Ocena: 30
    Na początek polecam ściągnąć sobie dokumentację do kontrolera HD44780, który steruje pracą wyświetlacza LCD :
    https://www.elektroda.pl/rtvforum/topic18340.html#94372
    to tak żeby wiedzieć na czym sie stoi :).

    Potem zachęcam do przeczytania 25 strony pdfa (tabelka 6) i kilku kolejnych - także poprzednich stron, aby zrozumieć istotę samej procedury wyświetlania czegokolwiek. Jest tam krok po kroku pokazane jak poprawnie ZAINICJALIZOWAĆ swój LCD - czyli w jakiej kolejności podawać stany (logiczne) na odpowiednie piny wyświetlacza LCD - w twoim przypadku musisz odpowiednio po sobie ustawiać 4 piny uC, które podłączyłeś do wyświetlacza LCD.

    Co w inicjalizacji ...?
    Otóż LCD musi wiedzieć, czy transmisja uC->LCD odbywać się będzie 8-mio czy jak u ciebie 4-ro bitowo, czy LCD ma wyświetlać dużą czy małą czcionką, czy ma być widoczny kursor czy nie, czy ma mrugać kursor czy nie, czy twój wyświetlacz ma jedną czy dwie linie ..... te wszystkie ustawienia konfigurujesz w inicjalizacji - czyli zaraz po włączeniu zasilania LCD, bo inaczej - kicha ... Po inicjalizacji LCD dajesz mu chwile spokoju: zmarnowanie paru cykli maszynowych - 1ms wystarczy. I wysyłasz po dwa "pakieciki" danych (ustawień 4-portów uC) na każdy znak do wyświetlenia.

    Jak poprawnie zainicjalizujesz swój LCD, to wyświetlanie literek czy jakiś znaków ASCII to bułka z masłem - tabelka 4 strona 19 pdfa.

    Dodam i zaznaczę w tym miejscu, iż bardzo ważną rolę przy wysyłaniu danych do LCD odgrywa pin ENABLE - nalezy go odpowiednio włączać (stan logiczny 1) i wyłączać (stan logiczny 0) w trakcie przesyłu danych (czy nawet pojedyńczego bitu ... już nie pamiętam :))

    Niestety sam ci nie pomogę w napisaniu kodu źródłowego do odsługi LCD w BASCOMie, bo sam BASCOMa nie umiem - programy piszę w C/C++.

    Pozdrawiam i życzę sukcesów.
  • #15 3076381
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    właśnie w tym problem, że w baskomie tak naprawdę to nie wiadomo co się dzieje, a pdf od LCD tu nie pomoże - to co opisałeś Kubbaz to Bascom robi w "automacie" więc jeśli tylko dobrze jest skonfigurowany w opcjach wyświetlacz oraz parametry jak : częstotliwość zegara a nadal nie działa to upieram się przy nieprawidłowym podłączeniu... POWODZENIA!
  • #16 3076594
    mcoola
    Poziom 19  
    Posty: 436
    Pomógł: 22
    Ocena: 9
    Ok sprawdze bo przelutowywałem z cienkich tasiemek ale cyna mi się skończyła więc niemam jak teraz sprawdzić :) Wielkie dzięki wam za pomoc!
  • #17 3076601
    Kubbaz
    Poziom 26  
    Posty: 1237
    Pomógł: 9
    Ocena: 30
    prokopcio napisał:
    baskomie tak naprawdę to nie wiadomo co się dzieje


    nie no.....świetnie ;|

    prokopcio napisał:

    pdf od LCD tu nie pomoże - to co opisałeś Kubbaz to Bascom robi w "automacie"


    Jak coś jest do wszystkiego to jest do ..... :).
    Powodzenia :).
  • #18 3076890
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    piszę tak bo dla mnie bascom to "czarna magia" bo znam tylko assemblera. A to co tworzy bascom jest zbliżone do pokazu "Davida Coperfild'a" - zrobi wszystko bez wkładania trudu (od strony widza) - ale jak? tego nikt poza nim (kompilatorem) niewi :-).
  • #19 3094328
    Pocketer
    Poziom 10  
    Posty: 17
    Jaki jest najlepszy mikrokontroler do sterowania wyświetlaczem??Jakiego języka używać??
  • #20 3094393
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 53
    Njlepszy jest ten, który się zna.
    Języka używaj też takiego, który znasz, jeżeli chcesz się uczyć to zacznij od asemblera, a potem C (dlatego od asemblera bo wymusza poznanie procesora).
    Jeżeli chcesz być prawie programistą to zacznij od BASCOMa i na nim możesz skończyć. Jeżeli nie chcesz być prawie to zacznij od poznani struktury jakiegoś mikrokontrolera, np. ATmega8.
    Na elektrodzie jest już pełno materiałów na ten temat.

    Prawie, robi różnicę.
  • #21 3096095
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Nie miałem jakichkolwiek problemów z tekstowym wyswietlaczem LCD. No chyba jeden raz kiedy zostawiłem nie podłączoną do masy końcówkę 5. Później instrukcja configlcd, cls i działa.

Podsumowanie tematu

LABEL_AI_GENERATED
Problem dotyczy wyświetlacza LCD 2x16 podłączonego w trybie 4-bitowym z użyciem Bascoma, który nie wyświetla żadnego tekstu, a jedynie małe kwadraciki. Dyskusja wskazuje na kilka potencjalnych przyczyn: niewłaściwe ustawienie kontrastu, brak poprawnej inicjalizacji LCD w programie, nieprawidłowe podłączenie pinów, zwłaszcza pinu R/W (pin 5), który powinien być podłączony do masy, oraz możliwe uszkodzenie wyświetlacza. Zalecane jest sprawdzenie poprawności połączeń sprzętowych, konfiguracji pinów w Bascomie oraz inicjalizacji wyświetlacza zgodnie z dokumentacją kontrolera HD44780. W Bascomie konfiguracja LCD powinna uwzględniać parametry takie jak tryb 4-bitowy, liczba linii, kontrast i inicjalizacja. Brak podłączenia pinu R/W do masy może uniemożliwiać poprawną komunikację. Wskazano również, że Bascom automatyzuje wiele ustawień, ale wymaga poprawnej konfiguracji i podłączenia sprzętowego. W przypadku problemów z wyświetlaczem warto zweryfikować połączenia, użyć polecenia config lcdpin oraz rozważyć uszkodzenie modułu LCD.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA