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

ATMEGA32 i LCD A162AYJL - brak wyświetlania tekstu, co sprawdzić?

Antystatyczny 09 Cze 2012 00:24 1966 16
  • #1 10981933
    Antystatyczny
    Poziom 16  
    Witam.

    Po prawidłowym zmontowaniu STK300 i płyty z ATMEGA32 oraz pobawieniem się mruganiem diod przyszedł czas na podłączenie LCD. Zakupiłem wyświetlacz 16*2 A162A. Piny D4-D7 podłączyłem do pinów C4-C7. Enable do C3, R/W do GND, a RS do C1. Odpowiednio zmodyfikowałem ustawienia w programie Bascom demo.
    Piszę program:
    config lcd=16*2
    cls
    do
    lcd "test"
    waitms 1000
    loop
    end

    Niestety, nie działa. Co jeszcze mógłbym sprawdzić? W ustawieniach wyświetlacza są wpisane jakieś domyślne adresy, może to one nie grają?

    Pozdrawiam.
  • #2 10981986
    mickpr
    Poziom 39  
    Kolega poszedł na łatwiznę - to nie działa.
    Może kolega nas zaszczyci schematem urządzenia?
    Help Bascom'a mówi coś nie tylko o
    Kod: text
    Zaloguj się, aby zobaczyć kod

    ale i o
    Kod: text
    Zaloguj się, aby zobaczyć kod


    P.S.
    Kod źródłowy otaczamy w znaczniki Syntax...
  • #3 10981990
    Antystatyczny
    Poziom 16  
    Kolega poszedł na łatwiznę, a następnie sprawdził w symulatorze. Niby działa.
    A teraz ponownie kod:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Schematu niestety nie posiadam. Łączyłem korzystając z dokumentów PDF.
    Zerknę ponownie do pomocy bascom, dziękuję.
    ------
    Stworzyłem coś takiego:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Nie działa...
  • #4 10982001
    mickpr
    Poziom 39  
    Nie lepiej wyświetlić tekst raz a pętlę "wieczną" dać na koniec kodu?
    Rozumiem, że masz kwarc podłączony o wartości 16MHz i z taką częstotliwością działa ci CPU?
    Pokaż fusebity.
    Pokaż jak podłączyłeś regulacje kontrastu oraz zasilanie LCD?
  • #5 10982007
    zumek
    Poziom 39  
    Antystatyczny napisał:
    ... Co jeszcze mógłbym sprawdzić? ...

    A obiło Ci się o uszy słówko JTAG :?:
  • #6 10982008
    mickpr
    Poziom 39  
    zumek napisał:
    A obiło Ci się o uszy słówko JTAG

    JTAG (oryginalny) dla amatora za kilkaset złotych to trochę przesada moim skromnym zdaniem.
    Zwłaszcza - jak ktoś pisze w BASCOM :)
  • #7 10982011
    Antystatyczny
    Poziom 16  
    JTAG wyłączony w fusebitach. Procek pracuje z zewnętrznym kwarcem 16MHz i to również jest ustawione w fusebitach. Kontrast podłączony do ślizgacza potencjometru 10k. Pozostałe nogi do GND i +5V. Odnośnie optymalizacji kodu - Chcę odpalić wyświetlacz, a programem będę się przejmował później. Docelowo i tak będę pisał w maszynowym.
  • #8 10982012
    mickpr
    Poziom 39  
    Czy bez podłączenia do ATMEGA (tylko do zasilania+kontrast) wyświetlacz startuje? (tzn jest pierwszy wiersz cały czarny?)
  • #9 10982014
    Antystatyczny
    Poziom 16  
    Podłączenie samego zasilania (z podświetleniem i bez) nie powoduje wyświetlenia czegokolwiek. Próbowałem rownież z podłączeniem DB0-DB3 do GND. Teraz wiem, że to nie było zbyt rozsądne.
  • #10 10982015
    zumek
    Poziom 39  
    mickpr napisał:
    JTAG (oryginalny) dla amatora za kilkaset złotych to trochę przesada moim skromnym zdaniem.
    Zwłaszcza - jak ktoś pisze w BASCOM :)

    A jednak autor tematu, bezbłędnie "rozgryzł" moją intencję :D
    Szkoda tylko, że nie napisał w 1 poście o tym, że wyłączył JTAG-a.
  • #11 10982016
    mickpr
    Poziom 39  
    Antystatyczny napisał:
    Teraz wiem, że to nie było zbyt rozsądne.

    Oj nie było.
    Brak wyświetlania czarnego wiersza może sugerować uszkodzenie (albo brak inicjalizacji) wyświetlacza.
  • #12 10982017
    Antystatyczny
    Poziom 16  
    Najpierw szukam i czytam, a później zadaję pytania :P
    ----
    Zastanawiam się, czy nie jest uszkodzony ten egzemplarz wyświetlacza. Czytałem, że powinna się wyświetlić linia z kwadratów po włączeniu samego zasilania. Ten wyświetlacz jest sterowany przez KS0066U. Czy to na pewno jest obsługiwane przez bascom demo?
  • #13 10982019
    mickpr
    Poziom 39  
    Antystatyczny napisał:
    Docelowo i tak będę pisał w maszynowym.

    Kod maszynowy - dobrze go znać, ale stosować docelowo w AVR?
    Rozumiem - w PIC-ach serii 10 i 12, tam nie ma wyjścia.
    Ale w ATMEGA-ch lepiej pisać w C.

    Antystatyczny napisał:
    Ten wyświetlacz jest sterowany przez KS0066U. Czy to na pewno jest obsługiwane przez bascom demo?

    Poczytaj ten post: https://www.elektroda.pl/rtvforum/topic286120.html
    Różnice są !!!
  • #14 10982023
    Antystatyczny
    Poziom 16  
    20 lat temu pisałem krótkie programiki na Z80 właśnie w maszynowym i wydaje mi się, że to dość prosta droga do napisania obsługi prostego urządzenia... Znam trochę C++, więc spróbuję popracować w C.
    ---
    Ponownie sprawdziłem poprawność podłączenia zgodnie z notą katalogową wyświetlacza i atmegi - chyba kupię jutro kolejny egzemplarz wyświetlacza... Może uda mi się kupić jakiś z HD44780
    ---
    Ok, czas inicjalizacji... Jak to ustawić w bascomie na szybko, by sprawdzićże wyświetlacz jest sprawny? Waitms 45 podobno nie działa.
    ---
    Skompilowałem ze zwłoką, wysłałem i nie działa.
    ---
    Zupełnie zapomniałem o kontraście. Skręciłem potencjometr na max w kierunku +5V i teraz mam linijkę kwadratów na wyświetlaczu.
    ---Wyświetlacz działa. Właściwie nie wiem, gdzie popełniłem błąd. Nie zmieniłem połaczeń, nie zmieniłem programu. Moim skromnym zdaniem zbyt szybko zapomniałem o kontraście. Bardzo dziękuję za wszelką okazaną mi pomoc :)
    PS. Jak uzyskać polskie znaki diakrytyczne? W zaprogramowanych fontach ich nie widzę...
  • #15 10982092
    LordBlick
    VIP Zasłużony dla elektroda
    mickpr napisał:
    Kod maszynowy - dobrze go znać, ale stosować docelowo w AVR?
    Język jak każdy inny. Osobiście używam w produkcji(Modbus, LCD, sterowanie fazowe, sterowanie grupowe, RGB PWM programowe, obsługa klawiatury, pamięci zewnętrznej FRAM po SPI i wiele innych funkcji w jednym układzie działające jednocześnie). To tylko kwestia umiejętności korzystania z całego wachlarza możliwości, jakie daje kompilator(rozbijanie na pliki-moduły, podwójny preprocesor i wiele innych), czyli przeczytania pliku pomocy "od deski do deski". Z mojego doświadczenia wynika, że niektóre kompilatory C(zwłaszcza popularny gcc) na AVR nie są do końca dopracowane(przykładowo sztywny i nieotymalny dobór rejestrów przy obsłudze przerwania, czy używanie jak rejestru r1 jak rejestru zerowego, podczas, gdy jest rejestrem specjalnym dla wyniku mnożenia i parę innych kwiatków).
    Po prostu kwestia tylko i wyłącznie, w czym kto ma większą wprawę.
  • #16 10982117
    mickpr
    Poziom 39  
    Antystatyczny napisał:
    Jak uzyskać polskie znaki diakrytyczne? W zaprogramowanych fontach ich nie widzę...

    DEFLCDCHAR (help bascom)
    Pamiętaj, że są to znaki o kodach 0...7 (jest ich maks 8)
  • #17 10984515
    Antystatyczny
    Poziom 16  
    Bardzo dziękuję za wskazówki - były pomocne. Dodałem 100nF na pinach zasilania LCD,programowa zwłoka pozwalająca wyświetlaczowi poprawną inicjalizację nie jest konieczna. Nauczyłem się, że należy zwrócić uwagę na kontrast.

    Temat zamykam, teraz mam inny zgryz.

    Pozdrawiam.
REKLAMA