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.

[BASCOM][ATMega8]T6963C - poziome linie na ekranie.

feriar 24 Sie 2013 21:42 3531 16
  • #1 24 Sie 2013 21:42
    feriar
    Poziom 11  

    Cześć,
    mam problem bo kupiłem wyświetlacz 240x64px Toshiba DG24064-74 ze sterownikiem T6963C i podłączyłem do Atmegi8 @16MHz i nie działa, znaczy coś tam się pokazuje na ekranie- poziome paski, które przelatują z góry na dół albo na odwrót i potem nic się nie dzieje. Całość zasilana jest z portu USB. Do zasilania sterownika podaję -8V

    [BASCOM][ATMega8]T6963C - poziome linie na ekranie.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    [BASCOM][ATMega8]T6963C - poziome linie na ekranie.

    Mam nadzieję że pomożecie :)

    0 16
  • #2 25 Sie 2013 15:07
    Marek_Skalski
    Moderator Projektowanie

    Polecam przeczytać choćby pobieżnie dokumentację do T6963 - np. Tutaj, (strona 25. w szczególności),
    a później poszukać biblioteki do jego obsługi i dołączyć ją do programu.
    Dopóki nie zainicjujesz sterownika, to nic nie wyświetli. W Twoim programie jest tylko przygotowanie portów uC, a przecież w LCD jest wbudowany kontroler, który trzeba przygotować do pracy - wysłać sekwencję rozkazów definiujących tryb pracy. Wtedy wyświetli to co chcesz.

    0
  • #3 25 Sie 2013 19:19
    feriar
    Poziom 11  

    w bascomie (chyba) nie trzeba go inicjować, bo gościu, od którego kupiłem wyświetlacz, wysłał mi kod w bascomie, który u niego działa. Aha i jeszcze mogę dodać że posiadam najnowszego bascoma

    0
  • #4 25 Sie 2013 23:03
    Marek_Skalski
    Moderator Projektowanie

    Krótko podsumuję:

    Cytat:
    Cześć,
    mam problem bo kupiłem wyświetlacz 240x64px Toshiba DG24064-74 ze sterownikiem T6963C i podłączyłem do Atmegi8 @16MHz i nie działa, znaczy coś tam się pokazuje na ekranie- poziome paski, które przelatują z góry na dół albo na odwrót i potem nic się nie dzieje.

    Cytat:
    w bascomie (chyba) nie trzeba go inicjować, bo gościu, od którego kupiłem wyświetlacz, wysłał mi kod w bascomie, który u niego działa. Aha i jeszcze mogę dodać że posiadam najnowszego bascoma

    Cytat:
    Ironia jest tu nie potrzebna Wink przy HD44780 tez nie inicjujesz tylko podajesz piny do których jest podłączony. Bascom raczej ma biblioteki które są kompilowane z programem jak się podaje np. Config Graphlcd


    Z tego wynika, że zrobiłeś wszystko co mogłeś (zapytałeś na Forum i zignorowałeś wskazówki), a bascom nijak nie chce włączyć LCD. Proponuję teraz napisać do twórców bascoma, i zażądać wyjaśnień dlaczego wypuścili taki podły produkt. A może starsza wersja obsługiwała i tylko w tej nowej coś skopali? Zapytaj jeszcze sprzedawcę jaką ma wersję bascoma. Jestem niemal pewien, że u niego każdy wyświetlacz działa i to w kolorze.

    0
  • #5 26 Sie 2013 09:59
    ZbeeGin
    Poziom 38  

    feriar napisał:
    mam problem bo kupiłem wyświetlacz 240x64px Toshiba DG24064-74 ze sterownikiem T6963C i podłączyłem do Atmegi8 @16MHz i nie działa

    Istnieje podobny temat https://www.elektroda.pl/rtvforum/topic2290779.html Sprawdź wg not podanych przez kolegę Mundi1970 czy rzeczywiście wyświetlacz jest poprawnie podłączony. Przydałby się pełniejszy schemat niźli wycinek z ręcznym opisem.

    feriar napisał:
    Całość zasilana jest z portu USB. Do zasilania sterownika podaję -8V

    Pytanie tylko skąd brane jest to ujemne napięcie? Wyświetlacz posiada własny inwerter.

    Marek_Skalski napisał:
    A skąd ten biedny program do interpretacji/kompilacji ma wiedzieć co też podłączyłeś do procka?

    Kompilator wie ponieważ napotkał podczas kompilacji polecenie CONFIG GRAPHLCD.

    feriar napisał:
    Bascom raczej ma biblioteki które są kompilowane z programem jak się podaje np. Config Graphlcd

    BASCOM ma bibliotekę wbudowaną do T6963 zatem nie trzeba nic dołączać.

    Marek_Skalski napisał:
    Jeżeli Bascom jest taki super, to ja się zastanawiam dlaczego reszta świata pisze w C, który nie potrafi przewidzieć co jest podłączone, gdzie i jak?

    Marek_Skalski napisał:
    Proponuję teraz napisać do twórców bascoma, i zażądać wyjaśnień dlaczego wypuścili taki podły produkt.

    Proponuję aby kolega nie mając nic istotnego w tej sprawie do powiedzenia nie wieszał psów na BASCOMie. Każdy ma prawo używać do programowania narzędzi takich jakie mu wygodne.

    0
  • #6 26 Sie 2013 10:53
    feriar
    Poziom 11  

    Wyświetlacz jest podłączony wg opisu od sprzedawcy, całość jest zmontowana na płytce stykowej - połączenia sprawdzałem wielokrotnie. Napięcie ujemne jest brane z konwertera Taimag T05ASM019-05S09L. Próbowałem również podawać napięcie ujemne z baterii 9V podłączonej do potencjometra 50k. Co do schematu, to myślę, że więcej nie trzeba, bo tylko to jest podłączone, no chyba że będzie bardzo potrzebne to dorobię. ;)
    Może być tak, że uC jest za słaby?

    0
  • Pomocny post
    #7 26 Sie 2013 18:44
    Marek_Skalski
    Moderator Projektowanie

    Procek wystarczy w zupełności. Ten kontroler nie jest wymagający i można mu zapisywać dane co 200ns, albo też pykając po 1 bajcie na dzień.
    Porównałem Twoją konfigurację do innych na tym Forum i możliwe, że masz zamienione linie !CE i CD o raz !WR i !RD. Wiem, że sprawdzałeś, ale może spróbuj jeszcze raz sprawdzić każdy pin w powiązaniu z dokumentacją. Objawy na ekranie są raczej typowe dla niezainicjowanego kontrolera, z przypiętym napięciem polaryzującym.

    0
  • #8 26 Sie 2013 19:38
    feriar
    Poziom 11  

    Zamieniłem CE z CD i WR z RD lecz bez zmian. Jakieś inne sugestie ?

    0
  • #9 26 Sie 2013 20:27
    Marek_Skalski
    Moderator Projektowanie

    Tak, mam inne sugestie.
    Odczytaj rejestr statusowy kontrolera T6963. Prawidłowy odczyt potwierdzi właściwe podłączenie wyświetlacza i przy okazji dowiesz się czy kontroler jest prawidłowo zainicjowany. Jeżeli odczytasz 0xFF, to pewnie coś jest źle podłączone. Jeżeli odczytasz 0x00, to najpewniej źle jest skonfigurowany port w uC.
    Inna sugestia. Podepnij analizator stanów logicznych, albo chociaż oscyloskop i zobacz co się dzieje na liniach !RES, !CS, !WR, C/!D i DB0..DB7. Jeżeli wszystkie przebiegi są prawidłowe i jeżeli wszystko jest prawidłowo podłączone, to pacjent jest martwy i dalsze próby reanimacji są bez sensu.

    0
  • #10 26 Sie 2013 20:49
    feriar
    Poziom 11  

    Marek_Skalski napisał:
    dczytaj rejestr statusowy kontrolera T6963

    Jak się tego dokonuje ?
    analizatora stanów log. nie mam tak samo jak oscyloskopu

    0
  • #11 26 Sie 2013 21:02
    Marek_Skalski
    Moderator Projektowanie

    Po wstępnej inicjalizacji w bascom'ie wykonaj taką sekwencję:
    nRES = 1;
    nWR = 1;
    DDRD = 0x00; //(wejście)
    PORTD = 0xFF;
    C/nD = 0;
    nCS = 0;
    nRD = 0;
    Ponieważ nie masz debuggera, analizatora, ani oscyloskopu, to spróbuj zmierzyć woltomierzem napięcia na poszczególnych liniach portu D i zanotuj je. Możesz też podłączyć LEDy przez rezystory (np. 1k do Vcc) do portu D, równolegle do LCD i obserwować ich zachowanie.
    Więcej szczegółów jest na stronach 17. i 18. w linkowanym wcześniej ogólnym opisie T6963.
    Nie ma znaczenia co będzie później w programie. Najlepiej jak się tutaj zatrzyma, ale jeżeli chcesz go kontynuować (np. po naciśnięciu przycisku), to dalej powinno być tak:
    nRD = 1;
    nCS = 1;
    DDRD = 0xFF;
    PORTD = 0xFF;

    Możesz też wstawić opóźnienie czasowe między każdą operacją i będziesz widział czy cokolwiek żyje.

    No właśnie, a procek działa? Może to on odmawia posługi?

    0
  • #12 26 Sie 2013 21:42
    feriar
    Poziom 11  

    procesor działa, funkiel nówka. A ta sekwencja to ma wyglądać tak że z danego pinu mam wysyłać 0 albo 1 ? np. nRes mam wysłać 1 ? o to chodzi ?

    0
  • #13 26 Sie 2013 22:09
    Marek_Skalski
    Moderator Projektowanie

    Dokładnie o to chodzi :)
    Możesz to zapisać jako ciąg instrukcji i zatrzymać program w miejscu gdzie powinieneś odczytać stan rejestru statusowego.
    Możesz też wstawić opóźnienie (1..2s) między operacjami i patrzeć na ledy czy prawidłowo wszystko przebiega.

    0
  • #14 27 Sie 2013 11:24
    ZbeeGin
    Poziom 38  

    W bibliotece wbudowanej obsługującej T6963C jest taka procedura: _gstatus_check
    Nie potrzebuje parametrów bo zbiera informacje z danych w CONFIG GRAPHLCD.

    Wywołać ją można wpisując po prostu:
    RCALL _gstatus_check

    Jeśli wywołanie się powiedzie i kontroler wyświetlacza odpowie to program przejdzie dalej. Jeśli kontroler nie odpowie to program zatrzyma się w jej wewnętrznej pętli.

    ps. --EDIT-- Procedura jest jednak widoczna. Sprawdzone.

    0
  • #15 28 Sie 2013 16:31
    feriar
    Poziom 11  

    Cały dzień przegrzebując internet w znalezieniu odpowiedzi na mój problem natknąłem się na temat na stronie AVR Freaks, gdzie ktoś miał taki sam problem z pasami i okazało się że, problem leży w zasilaniu kontrastu gdzie jest potrzebne od -7.8V do -9V. Także trzeba zrobić jakiś inny inwerter do ujemnego napięcia... Na razie tematu nie zamykam, bo może to nie będzie koniec problemów.
    Znacie jakiś w 100% dobry projekt/ schemat do napięcia ujemnego ? z wyjątkiem ICL7660 i max232 ?

    0
  • #17 28 Sie 2013 19:46
    feriar
    Poziom 11  

    potencjometr 10k czy 50k ?

    EDIT.1
    Ok, problem w połowie rozwiązany bo już mi się krzaki wyświetlają- lcd musi dostawać co najmniej -9,2V żeby było cokolwiek widać bo najpierw przechodzą paski i wyskakują krzaczory. Te krzaki to sądzę że, są spowodowane jakimś niedopchniętym kablem do p.stykowej, ale to już jutro sprawdzę.

    EDIT.2
    Moje twierdzenie się sprawdziło odnośnie krzaków- jeden przewód był pęknięty w środku, wyświetlacz działa

    TEMAT DO ZAMKNIĘCIA ;)

    0