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

ATmega32 - LCD nie działa po przeprowadzce, zmiana mikrokontrolera i LCD nie pomogła

Yavil 27 Sie 2012 21:28 1842 12
REKLAMA
  • #1 11252767
    Yavil
    Poziom 12  
    Witam,

    Problem jest trochę poważniejszy niż w temacie. Mianowicie chodzi o to że, napisałem program do obsługi menu na LCD. Wszystko było dobrze działało bez najmniejszych problemów. Potem przeprowadzka i zaprogramowałem inny mikrokontroler tego samego typu tym samym programem i nic się nie działo, LCD w ogóle nie odpowiadał. Więc napisałem najprostszy program wyświetlający po prostu "Hello" na wyświetlaczu i niestety nic z tego. zmieniłem mikrokontroler i nic, zmieniłem LCD i też nic. mam wrażenie że to może mieć związek z jakimiś ustawieniami w programie ale nie mam pojęcia z jakimi.

    Używam AVR studio 5.1
    Mikrokontroler to jak w temacie ATmega32
    wyświetlacz podpięty jest pod port PD2-PD7
    poniżej kod

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    z bibliotek

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Dziękuję z góry za pomoc
  • REKLAMA
  • #2 11253663
    wdogli
    Poziom 18  
    Powodem moga byc zle ustawione Fuse bity.
    Jakiego zrodla taktowania uzywasz wewnetrznego czy zewnetrznego ??
  • #3 11254076
    snnaap
    Poziom 25  
    Pokaż schemat, sprawdź połączenia.

    Są 2 etapy w których możemy coś rozpoznać:
    Pierwszy z nich to czy wyświetlają się czarne kwadraciki w pierwszej linii bez działania programu?
    Drugi to czy czarne kwadraciki zniknęły po włączeniu uk?
  • REKLAMA
  • #4 11255064
    Yavil
    Poziom 12  
    Chodzi o to że nic się nie wyświetla, zero reakcji. Kręcę potencjometrem od kontrastu i również nic się nie dzieje.


    ATmega32 - LCD nie działa po przeprowadzce, zmiana mikrokontrolera i LCD nie pomogła

    używam zegara wewnętrznego 1MHz

    Najciekawsze jest w tym wszystkim to że nic nie robiłem z programem, a przecież działał:/
  • REKLAMA
  • #6 11255122
    Yavil
    Poziom 12  
    Pierwszy raz widzę żeby było zalecane wiszące piny ale... zrobiłem jak na obrazku i to samo, nic się nie dzieje
  • #7 11255130
    mlodyfn
    Poziom 10  
    Mirekk36 nawet na czerwono napisał w swoim artykule czego nie robić. Fuse bity nie powinny tu odgrywać wiekszej roli (poza ustawieniem taktowania) ponieważ DB4-DB7 podłączyl do pinów które nie są związane z Fuse bitami. Podłączałem kiedyś LCD pod atmega644 do portu C gdzie miałem JTAG minęło kilka godzin zanim wyczytałem iż standardowo JTAG jest włączony w Fuse bitach.

    Najlepiej sprawdzać czy pojawią się kwadraciki na LCD, wtedy mamy pewnosc ze podłączenie mamy poprawne



    Pozdrawiam
  • #8 11255145
    mirekk36
    Poziom 42  
    Yavil napisał:
    Pierwszy raz widzę żeby było zalecane wiszące piny ale... zrobiłem jak na obrazku i to samo, nic się nie dzieje


    To może doczytaj dokładnie z czego to wynika - bo jak widać do tej pory trafiałeś na dość oklepane opisy powtarzające to co kiedyś ktoś raz źle zrobił. W artykule jest precyzyjnie wyjaśnione dlaczego tak.

    Poza tym oglądałeś ten filmik ? na którym pokazuję że bywają różne wyświetlacze i dlaczego np u ciebie może być niewidoczna ta górna linia kwadracików w wyniku regulacji kontrastu ??? oj chyba nie oglądałeś tylko na szybko rzuciłeś okiem i się dziwisz że pierwszy raz widzisz jak należy prawidłowo podłączać LCD

    Jeśli już go dobrze podłączyłeś to teraz sprawdź jakieś rozwiązanie, programowe (patrz na filmik pod koniec) .... które zapewni ci prawidłową inicjalizację. Skoro kłopotem są dla ciebie znalezione biblioteki w C - to dla testu czy wszystko jest ok - weź sobie zassaj nawet Bascoma Demo i po napisaniu 2-3 linijek programu z HELPA nie ma siły żeby nie ruszył LCD jeśli nie jest jeszcze uszkodzony.

    A wtedy będziesz już przynajmniej wiedział i miał pewność że działa - więc zaczniesz inaczej podchodzić do obsługi bibliotek w C
  • REKLAMA
  • #9 11255201
    Yavil
    Poziom 12  
    ATmega32 - LCD nie działa po przeprowadzce, zmiana mikrokontrolera i LCD nie pomogła

    przesyłam scren fuses bit
  • #10 11255225
    mirekk36
    Poziom 42  
    Schemat pokazałeś z podłączony LCD do PORTD a nie do PORTC na którym mógłbyś mieć ew JTAG włączony - więc fusebity nie mają tutaj żadnego znaczenia jeśli chodzi o to że ci nie działa ....
  • #11 11255556
    Yavil
    Poziom 12  
    Już sprawa rozwiązana, okazało się że przewód który dochodził do kontrastu poluzował się i nie było na nim styku. Przepraszam za zamieszanie ale wydawało mi się że problem tkwi gdzie indziej:/

    Dziękuję wszystkim za pomoc szczególnie użytkownikowi Mirekk36 :)

    Ale mam dla niego małą uwagę do artykułu (który wcześniej faktycznie z grubsza przeczytałem) dotyczące wyprowadzeń DB0-DB3.

    Powinno je się podłączać do masy w momencie podłączenie R/W do masy ponieważ DB0-DB7 działają wtedy tylko jako wejścia a podłączenie do masy niweluje powstawanie nieoczekiwanych stanów.
    Gdy R/W jest podłączone do mikrokontrolera wtedy faktycznie wskazane jest pozostawienie "wiszących" wyprowadzeń.

    Czy też źle myślę?
  • Pomocny post
    #12 11255593
    mirekk36
    Poziom 42  
    Jak widać nadal pobierznie czytałeś artykuł. A po drugie spróbuj mi uzasadnić konieczność podłączania do GND tych pinów to się zakałapućkasz i nie wytłumaczysz. To są porty I/O. Poczytaj podstawy elektroniki i sprawdź czy piny układów które mogą działać zarówno jako WE i WY podłącza się do GND. Poza tym co miałoby ci to dać ? jakieś rzekome zmniejszenie pseudo zakłóceń .... no właśnie rzekome i pseudo. Więc jeszcze raz - wyjaśnij mi w szczegółach to może i sam sobie przy okazji coś wyjaśnisz.

    Pozostawia się je wiszące ponieważ - jeszcze raz powtarzam pinów I/O nigdy się tak nie podłącza - a jakbyś się uparł to zrobiłbyś to przynajmniej przez rezystory - ale to już sam się zastanów dlaczego..... albo nie powielaj ogólnie przyjętego i przeklepywanego w necie błędu.
  • #13 11255728
    Yavil
    Poziom 12  
    W necie i wielu publikacjach. Szkoda czasu na wywody, ale przyznam się że Twoja strona jest przydatna:)

    dziękuję wszystkim

    Temat uważam za zamknięty
REKLAMA