Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wyswietlacz hd44780 4x20 nie dziala

07 Apr 2007 18:35 3384 11
  • Level 13  
    Witam

    Po długim nie używaniu podłączyłem atmege128 i wyświetlacz ze sterownikiem HD44780 4x20 przetestowałem porty atmegi przy pomocy zwykłych diod podpiętych do VCC przez opornik i wszystko jest oki.
    Podłączyłem wyświetlacz i zaświeciły sie prawidłowo wiersze 1 i 3.
    Problemy zaczynają się przy próbie wyświetlenia czegokolwiek gdyż linie kontrastu nawet nie gasną. Próbowałem na gotowych programach i swoich własnych i nic steruje go na 4 bitach wiec r/w podłączyłem pod masę.

    Jak można w prosty sposób przetestować czy wyświetlacz jest sprawny ??
    Czy Twoje urządzenia IoT są bezpieczne? [Webinar 22.06.2021, g.9.00]. Zarejestruj się za darmo
  • Level 14  
    Jeżeli pierwszy i trzeci wiersz jest wyświetlany (czarne pola) to znaczy, że masz źle ustawiony kontrast i tu musisz szukać problemu.

    Pozdrawiam
  • Level 32  
    Jeśli linie 1 i 3 są przyciemnione i wyświetlacz nie reaguje to prawdopodobnie masz brak inicjalizacji
    lub została ona źle przeprowadzona.
  • Level 17  
    Zawsze po włączeniu zasilania sterownik wyświetlacza ustawia się
    jako jednoliniowy.
    W wyświetlaczach z 4 liniami(wierszami) linia trzecia jest przedłużeniem
    linii pierwszej, a linia czwarta jest przedłużeniem linii drugiej

    Z tego wynika, że podczas inicjalizacji wyświetlacza
    (to musi robić procek ) LCD nie przestawia się w tryb dwuliniowy
    Przy LCD z 4 wierszami też należy go inicjalizować jako 2-liniowy.

    Jeżeli program jest w BASCOM-ie to robi się to automatycznie
    po zdefiniowaniu rodzaju wyświetlacza

    Proponuję dokładnie sprawdzić połączenia
    Jeżeli to nie pomoże podłącz jakiś inny LCD o dowolnej
    ilości znaków i linii -coś powinno sie pokazać
    (oczywiście jeżeli program i połączenia są w porządku)
  • Level 13  
    Do sterowania zastosowalem gotowe biblioteki RKlibAVR
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=1388340#1388340
    tylko ze w nowszej wersji chwilowo stronka z której ściągałem te pliki jest padnięta bo nie mogę na nowo ich pobrać ale w razie czego podaje linka:
    http://avr.elektroda.eu/?q=system/files/rklibavr_doc_20060316.tgz

    uruchomiłem przykładowy program do obsługi wyświetlacza zmieniając tylko plik config i makefile


    Code:

    #define F_CPU      11052900 //częstotliwość zegara w Hz

    //----------------------
    // LCD
    //----------------------

    #define LCD_PORT   PORTD   //port wyświetlacza
    #define LCD_RS       2   //bit linii RS
    #define LCD_EN       3   //bit linii EN
    #define LCD_X      16   //liczba znaków w linii wyświetlacza
    #define LCD_Y      2   //liczba wierszy wyświetlacza
    //#define LCD_BIT_SWAP      //zamiana bitów danych LCD D3<>D0, D2<>D1
    #define LCD_WRAP      //zawijanie tekstu
    #define LCD_WIN1250      //polskie znaki wg WIN1250



    Jak by ktoś mógł napisać jak najkrótszy program na byle by przetestować ten wyświetlacz byłbym bardzo dźwieczny :P
  • Level 38  
    #define LCD_X 16 //liczba znaków w linii wyświetlacza
    #define LCD_Y 2 //liczba wierszy wyświetlacza

    A to kolega zmienił?

    W C nie ma krótkich programów do lcd;)

    Jak powiesz na jakie piny ten lcd chcesz podłączyć, to Ci skompiluje sotf i podeślę hex'a, będziesz mógł testować:)
  • Level 13  
    Zmienilem ilość wierszy i kolumn tylko tu podalem przypadkiem nie zmienione, ale to chyba raczej i tak nie ma nic do rzeczy.

    Powiedzmy ze tak:

    RS PB2
    EN PB3
    R/W GND

    DB4 PB4
    DB5 PB5
    DB6 PB6
    DB7 PB7

    ps

    Hmm nie wiem czy to ma wpływ ale z czytałem z procesora fusebity i avr-osp II pokazał ze mam ustawiony wewnetrzne taktowanie 4 MHz

    ps2

    Faktycznie avrprog potwierdzil nie wiem jakim cudem procesor sie przestawil na 4MHz wiec delay nie dziala tak jak ma

    ps3
    zmienilem program i nic.
    Jak nalezy ustawic fusy. Teraz mam tak :

    Wiem ze high frequency ale nie wiem jak z reszta ustawien
  • Level 20  
    Sprawdziłeś czy wszystko jest dobrze połączone? Nie ma jakiś zimnych lutów?. Jeśli po podłączeniu zasilania zapalają się te kwadraty w 1 i 3 linii to znaczy że wyświetlacz jest sprawny.

    Pozdrawiam Yakuza
  • Level 13  
    Problem rozwiązany.
    Okazało się że tak jak sie domyslałem problem tkwił w fuse bitach a dokładnie w bicie M103C jak jest zaznaczony wszystkie programy padały na pętli delay.

    Wszystkim dziękuję za chęć pomocy.

    Pozdrawiam
    Dex
pcbway logo