Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

lcd - kwadraty, podłączenie LCD pod LPT.

Helbarad 12 Lut 2008 21:52 2533 16
  • #1 12 Lut 2008 21:52
    Helbarad
    Poziom 13  

    Witam . Już dwa dni męcze sie z podłączeniem lcd pod lpt . Podswietlenie swieci i w pierwszej lini są same kwadraty . Kable raczej dobrze są podłączone , w biosie wszystko tak jak ma być . Co zrobic aby zaczął cos wyswietlać ? Uzywam Smartie

    0 16
  • #2 12 Lut 2008 22:31
    koleszka
    Poziom 24  

    Nie podłączałem wyświetlacza do komputera, ale robiłem obsługę wyświetlacza LCD za pomocą μC. Jeśli masz wyświetlony jeden pasek prostokątów a drugi jest pusty to znaczy, że wyświetlacz nie został poprawnie zainicjowany. Sprawdź jeszcze raz czy wszystko dobrze podpiąłeś (zgodnie ze schematem) i czy niczego nie pominąłeś. Po prawidłowym zainicjowaniu wyświetlacz powinien być czysty lub pojawi się kursor.

    0
  • #3 12 Lut 2008 22:38
    Helbarad
    Poziom 13  

    zainicjowany ? Co musze konkretnie sprawdzić poza prawidłowym podłączeniem ?

    0
  • #4 12 Lut 2008 22:47
    koleszka
    Poziom 24  

    Aby wyświetlacz zaczął poprawnie działać musi być zainicjowany, co znaczy, że trzeba wysłać pewną sekwencje danych, aby go uruchomić. Rozumię, że to jest typowy popularny wyświetlacz ze sterownikiem HD44780? Możesz wrzucić jakiś schemat jak masz to podłączone?

    0
  • #5 12 Lut 2008 22:50
    Helbarad
    Poziom 13  

    Wyświetlacz dokładnie taki
    [Link do aukcji usunąłem. Regulamin, punkt 10.11. Proszę tego więcej nie robić. Mariusz Ch.]
    a schemat http://www.sterowniki.net.pl/artss.php?g=6 z tym że piny 1 i 2 są zamienione .

    0
  • #6 12 Lut 2008 23:04
    koleszka
    Poziom 24  

    Piny 1 i 2 w wyświetlaczu? Z tego, co się orientuje to pin 1 jest to GND (-) a pin 2 to VCC (+) wiec po ich zamienieniu można uszkodzi wyświetlacz. Skoro dział to może źle połączyłeś resztę pionów?

    Dodano po 3 [minuty]:

    Jeśli chcesz to zerknij tutaj, może to Ci coś pomoże?

    0
  • #7 13 Lut 2008 07:21
    Helbarad
    Poziom 13  

    W dokumentacji pisze że GND jest na pinie 2

    0
  • #8 13 Lut 2008 10:44
    koleszka
    Poziom 24  

    Więc pewnie masz to zorganizowane trochę inaczej niż w takim wyświetlaczu, jaki jest opisany na tej, stronce co mi podałeś. Sprawdź w dokumentacji czy inne piny też nie są zamienione i porównaj z tym jak powinno być. Możesz też sprawdzić czy na wyjściu portu LPT pojawia się napięcie najlepiej zmierzyć na pinie E (w opisanym układzie, z którego korzystasz jest to 6 pin LCD, ale u Ciebie może być inaczej). Podłącz mierni i włącz program, aby starał się zainicjować wyświetlacz, jako że pojawi się tylko kilka krótkich impulsów to możesz zamiast miernika odpowiednio podłączyć zwykłą diodę LED przez rezystor 470Ω do masy. Wtedy bezie sygnalizowała pojawienie się sygnału na wyjściu LPT, to samo możesz zrobić z innymi liniami danych w LPT.

    0
  • #10 13 Lut 2008 15:16
    koleszka
    Poziom 24  

    Wygląda na to, że poza zmiana pinów w zasilaniu niczym się nie różni. Zostaje sprawdzić czy na wyjściu portu LPT pojawia się jakiś sygnał. Jeśli nie masz oscyloskopu to najprostszy sposób (tak jak już pisałem) podłączyć LED-y do linii portu LPT odpalić program i zobaczyć czy będą się zaświecały. Możesz też poszukać jakiegoś programu do testowania LPT.

    0
  • #11 31 Mar 2008 00:01
    Patryk987
    Poziom 17  

    witam
    mam problemik z lcd 8*2
    podpiołem do kontrolera w taki sposób :
    lcd - kwadraty, podłączenie LCD pod LPT.

    ale jak napisał pan koleszka na jego górnej części wszystkie pola są zaczernione a na dolnej żadne

    ustawiałem port podłączony pod r/w na 0
    próbowałem na szynie 4 bitowej i 8
    i nic dalej tak samo
    zmieniałem w opcjach kompilatora porty tak jak mam podłączone i dalej nic
    pewnie sknociłem coś w programie
    czy była by taka możliwośc żeby ktos pomógł mi napisac jak najprostrzy program żeby chociaz cokolwiek wyświetlało

    proszę o wyrozumiałość i o nie wypominanie mi że jest taki przycisk "szukaj" bo szukałem cały dzień ale nic co znalazłem mi nie pomogło

    za pomoc z góry dziękuję i pozdrawiam

    0
  • #12 31 Mar 2008 00:31
    elektroziom
    Poziom 20  

    Do Patryk987 :)
    Nic nie piszesz w jakim języku napisałeś program obsługi wyświetlacza, jeżeli był to np BASCOM to wystarczy kilka instrukcji do jego uruchomienia. Sądząc po schemacie używasz wewnetrznego zegara który domyślnie ustawiony jest na 1MHz. Spróbuj dołączyć zewnętrzny rezonator kwarcowy (nie zapimnij zmienić fuse-bitów). Tak jak wyżej, czarne kwadraty w pierwszej lini oznaczają brak inicjalizacji, której przyczyną może być nieprawidłowa praca mikroprocesora.

    0
  • #13 31 Mar 2008 02:25
    Patryk987
    Poziom 17  

    oczywiście że w bascomie ;) jak bym pisał w C to pewnie nie było by problemów
    a dlaczego rezonator czy to coś zmieni?
    a pozatym do pinów b7 i b6 potrzebnych do rezonatora jest podłączony lcd :p
    próbowałem z różnymi częstotliwościami

    kilka razy miałem taki przypadek że jak szybko kilka razy odłączyłem i włączyłem ponownie zasilanie to lcd zastartował i wyświetlił to co powinien ???
    już nie wiem o co mu chodzi chyba się na mnie uwziął hehe

    0
  • #14 31 Mar 2008 09:10
    elektroziom
    Poziom 20  

    Hmmm w takim razie posprawdzaj dokładnie ustawienia w kompilatorze, czy dobrz są podłącone piny LCD (no chyba ze robisz to za pomocą poleceń w programie). Mógł byś wrzucić listing programu, może poprostu źle go napisałeś i dlatego LCD nie rusza. A przy włączaniu i wyłączaniu zasilania na LCD mogą pojawiać się "śmieci". Gdy włączamy zasilanie, następuje inicjalizacja wewnetrznej struktury LCD, gdy w programie nie dałeś polecenia "Cls" (clear) to tak się może dziać. Piny gdzie jest rezonator możesz odstąpić..i umieścić komunikacje z LCD na jednym porcie- tak zazwyczaj się robi (w konfiguracji 4-bit). Wrzuć listing to zobaczymy co da sie zrobić :)

    0
  • #15 31 Mar 2008 11:39
    Patryk987
    Poziom 17  

    próbowałem na kwarcu i nic zz tego podpiąłęm R/W na stałę do masy i dalej nic
    odłączączę wszystkie przewody i podłączę wszystko do jednego portu tak jak w 4-bit ale nie wydaje mi się żeby to mogło pomóc

    ------------------------------------------------------------------------------------


    połączyłem wszystko od nowa teraz układ wygląda dokładnie tak :
    lcd - kwadraty, podłączenie LCD pod LPT.
    przepiszę kod prosto z jakiejść książki i zobacze czy działa
    mój wyświetlacz to :
    http://www.artronic.pl/o_produkcie.php?id=769?
    pozdrawiam

    ------------------------------------------------------------------
    na schemacie był mały nieznaczący błąd - diody sygnalizujące czy procesor chodzi były podłączone do poru d a nie b

    urzyłem kodu :

    Code:
    $regfile = "M8def.dat"
    
    $crystal = 4000000
    Config Portd = Output
    Config Portc = Output
    Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
    Config Lcd = 16 * 1a
    Cls
    Lcd "LCD"
    Lowerline
    Lcd "test"
    Do
    Portd = &B00000000
    Waitms 100
    Portd = &B11111111
    Waitms 100
    Loop
    End

    i wszystko chodzi pięknie
    i dlaczego??
    nie rozumiem [/url]

    0
  • #16 31 Mar 2008 21:17
    elektroziom
    Poziom 20  

    Skoro wyświetlacz chodzi to w poprzednim przypadku przyczyną mogło być:

    - zła konfiguracja podłączenia pinów LCD do uK, co ustawia się w Options -> Compiler -> LCD (ustawiając też tryb pracy),

    - wykorzystanie pinów portu przeznaczonych do kwarcu. Mogło być tak że w fusebitach uK miał ustawione działanie z zewnetrznym kwarcem i poprostu przez jego brak nie działał poprawnie,

    - złe działanie wcześniejszego programu (nie wiem czy dobrze do końca zrozumiałem, kod który wstawiłeś w poście nie był kompilowany i wgrywany we wcześniejszym przypadku ,był on całkiem inny??),

    Dobrym przyzwyczajeniem przy podłączaniu LCD do uK jest wykorzystanie jednego portu. Ułatwia to później zaprojektowanie płytki, oraz lepszą organizację wszystkich portów. Wystarczy w opcjach BASCOMA ustawić odpowiednie piny, tryb pracy nie pisząc tego później w kodzie. Na przedstawionym schemacie według mnie nie trzeba podpinać pozostałych końcówek danych do masy, mogą one zostać "wiszące w powietrzu".

    0
  • #17 01 Kwi 2008 00:34
    Patryk987
    Poziom 17  

    piny były podłączone na 100% dobrze
    tyle że w konfiguracji bus 8 bit
    nie działało ani na oscylatorze wewnętrznym ani na kwarcu
    wcześniejszy program był prawie identyczny
    testowałem też program do szyny 8 bit i też nie działał

    lcd ruszył dopiero gdy podpiąłem go do portu C i puściłem przez szynę 4 bit oraz nieurzywane piny wyświetlacza podłączyłem do masy
    może ma to jakieś znaczenie do którego portu proca się podłączy ale dziwne że pozostałe porty pracują poprawnie

    0