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

[ATmega8][BASCOM] LCD po raz tysięczny, krzaki na górze.

Bretos 05 Wrz 2009 15:46 7126 38
REKLAMA
  • #1 6983255
    Bretos
    Poziom 17  
    Witam.
    Opiszę problem szybko i zwięźle:
    Mam wszystko dobrze podłączone, dobry program, i nowy wyświetlacz(ze sklepu lispol)
    Program:
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.6 , Rs = Portd.7
    
    
    
    
    Do
    Cls
    Lcd " Hello..."
    
    Waitms 20
    
    Lowerline
    Locate 2 , 1
    Lcd "What's up??"
    Waitms 20
    Loop
    End             

    Zasilanie z USB.
    Efekt? Górna linia krzaczki - całe czarne kwadraciki. Dolna czysta. Kontrast próbowałem bezpośrednio do masy, przez rezystory 220, 1k Ω, pozostałe wyprowadzenia do masy, luzem wiszące itp itd. Sprawdziłem chyba wszystko...
    Próbowałem różne programy - efekt zawsze taki sam, z wyjętym procesorem też jest ciągle to samo... Wszystkie połączenia na 100% stykają. Vcc GND, GND, AVcc podłączone...
    Zdjęcia jak to w ogóle wygląda:
    [ATmega8][BASCOM] LCD po raz tysięczny, krzaki na górze.
    [ATmega8][BASCOM] LCD po raz tysięczny, krzaki na górze.
    [ATmega8][BASCOM] LCD po raz tysięczny, krzaki na górze.
  • REKLAMA
  • Pomocny post
    #2 6983290
    Mat_91
    Poziom 25  
    A fusbity ustawione poprawnie?

    Poza tym ja na tych twoich zdjęciach nie widzę ani rezystora który podciągnie Ci reset do Vcc, ani kondensatorów na zasilaniu... Jaką masz pewność że procek w ogóle Ci startuje? Albo że się nie zawiesza zaraz po podaniu zasilania?
  • REKLAMA
  • #3 6983293
    Bretos
    Poziom 17  
    Poprawnie tzn jak?
  • #4 6983302
    Mat_91
    Poziom 25  
    Poprawnie tzn czy są ustawione na zegar 8MHz? Bo standardowo jest na 1MHz.
  • #5 6983338
    wader_669
    Poziom 28  
    ja moze proponuje dac schemat.

    Dodano po 3 [minuty]:

    i w sumie poczytac inne posty np. jak powinien wygladac poprawny schemat z procesorem avr, jak powinno wygladac prawidlowe podlaczenie lcd.

    Dodano po 1 [minuty]:

    jeszcze cls i wyswietlanie bym zrobil przed petla.
  • #6 6983388
    Bretos
    Poziom 17  
    Fusy przestawione, wciąż to samo.
    Przed założeniem tego tematu czytałem wiele tematów o obsłudze LCD w bascomie...
    Schemat? Piny LCD do procesora wg kodu można rozczytać, zasilanie gdzie dałem też napisałem. Poza wyświetlaczem i procesorem żadnych innych elementów nie ma.
    Datasheet wyświetlacza : https://www.elektroda.pl/rtvforum/download.php?id=229685 . Może mi ktoś wytłumaczyć do czego służy pin piąty, R/W?
    @down: dałem kondensator 1000uF na całość zasilania i po 10 nF do proca. Rezystor też już jest(1kOm).
    Żadnej poprawy w działaniu
  • #7 6983407
    Mat_91
    Poziom 25  
    A być powinny. Daj chociaż rezystor podciągający reset do Vcc, i chociaż po jednym kondensatorze 100nF na każdą pare pinów zasilających... to nie boli.
  • #8 6983434
    wader_669
    Poziom 28  
    w takim razie:
    Kondensator 100nF przy zasilaniu? ok masz
    czy avcc i aref wisi w powietrzu? ?
    jest rezystor podciagajacy na resecie? 1 kohm, zalecany 4,7 kohm lub 10kohm
    pin z lcd r/w podpieles do massy?
    co zrobiles z reszta pinow lcdeka?
    jak kontrolujesz kontrast? ja polecam zwykly potencjometr.

    Twoje pytanie po co jest r/w jak bys czytal inne tematy albo chociaz note to bys wiedzial
  • #9 6983474
    Bretos
    Poziom 17  
    avcc "jakbyś czytał pierwszy post" to tam napisałem, że jest podłączone. Vcc, AVcc, dwie masy, z aref nic nie robiłem. Niestety nie posiadam takich rezystorów albo chociaż potencjometru. Tak, z r/w podpiąłem do masy, to jest read write, ale o co chodzi z tym read? Pin ten od początku siedzi na masie. Kontrast tak jak pisałem, podłączałem przez rezystory, oraz bezpośrednio. Reszta pinów albo wisi(w powietrzu) albo siedzi na masie.
  • #10 6983493
    wader_669
    Poziom 28  
    hmmm wyglada na to, ze wszystko w miare ok. To sprawdz miernikiem czy nie ma zwar.
  • #11 6983501
    Mat_91
    Poziom 25  
    "Nie posiadam takich rezystorów..." to po co w ogóle zakładasz temat i pytasz sie czemu nie działa? po raz kolejny pytam się też co z tymi kondensatorami 100nF na pinach zasilania? Dałeś je czy też takich nie masz?
    Jak je juz nabędziesz i poskładasz tak jak być powinno to wtedy można się zacząć zastanawiać czemu nie działa.

    wader_669 napisał:
    hmmm wyglada na to, ze wszystko w miare ok. To sprawdz miernikiem czy nie ma zwar.


    Kolego wader nie jest ok, kondensatorów brak, rezystora na resecie brak... Z kąd wiadomo czy procek w ogóle startuje?
  • #12 6983505
    Bretos
    Poziom 17  
    Zwarć nie ma. Nic się nie nagrzewa. Dałem 5 rezystorów 1kOhm połączonych. kondensatory na zasilaniu pinów też są.
  • #13 6983519
    Mat_91
    Poziom 25  
    W takim razie to co innego.
    Masz płytkę stykową więc zimne luty można chyba wykluczyć (no chyba że przy lcd?).
    Atmega 8 nie ma przypadkiem bitu odpowiedzialnego za podział częstotliwości zegara przez 8?
  • #14 6983548
    Bretos
    Poziom 17  
    Luty na LCD są ok.
    Wszystko co powinno styka ze sobą ok.
    Jak sprawdzić ten bit?
    Co z aref'em powinienem zrobić?
    Em... spaliłem nie wiem jak dwie ATmegi. (podczas programowania Target doesn't answer, inną atmegę programuje ok) Zabawę z LCD zostawię sobie na później, jak już będę trochę więcej wiedział, aczkolwiek chciałbym rozwiązać ten problem do końca.
  • #15 6983666
    wader_669
    Poziom 28  
    Bretos napisał:

    Jak sprawdzić ten bit?


    Atmega8 nie posiada tego dzielnika.
    Sprawdz jeszcze raz fusy i zrob to co ci wczesniej mowilem cls i wyswietlanie na lcd przed petle
  • #16 6984324
    ZiutekH
    Poziom 11  
    Mam ten sam problem z ATMEGA32 - czarne pola na górze, puste na dole,
    Pozostała część programu działa, więc ATMEGA działa.
    Ustawiałem odpowiednie PINY w opcjach w Bascomie, oraz konfigurowałem
    wyświetlacz w programie i a każdym razem to samo.

    Jak dojdziesz co jest powodem to daj znać.
  • REKLAMA
  • #17 6985324
    Konto nie istnieje
    Poziom 1  
  • #18 6985494
    ZiutekH
    Poziom 11  
    Odnosnie Mega32; Do ktorego portu masz podlaczony LCD?
    Chyba nie do C.

    Wyświetlacz LCD podłączyłem właśnie do portu C.
    I rzeczywiście po przełączeniu go na port A wszystko działa poprawnie.

    Jeżeli możesz to napisz dlaczego tak jest
  • REKLAMA
  • #19 6985630
    Mat_91
    Poziom 25  
    Bo atmega32 na porcie C ma bodajże JTAG który najpierw trzeba wyłączyć w fusbitach żeby móc normalnie używać tego portu.
  • #20 6989455
    Konto nie istnieje
    Poziom 1  
  • #21 6992544
    mazomen
    Poziom 16  
    Do autora tematu.
    Ja także kupiłem te same wyświetlacze co Ty zachęcony niską ceną. Wyświetlacze podłączone na "sucho" z samym zasilaniem i regulacją kontrastu wyświetlają całą górną linię. Nie mogę ich także wysterować za pomocą mikroprocesora- czyli tak samo jak u Ciebie. Wyświetlacze te są po prostu felerne. Możesz go po prostu wyrzucić i odradzam na przyszłość kupowania ich. Jeśli się przyjżysz zdjęciu w jego ofercie na allegro zobaczysz wyświetloną górną linię wyświetlacza. Nie wiem czemu ale po załączeniu zasilania samo zapala się podświetlanie.
  • #22 6992932
    Mat_91
    Poziom 25  
    No tak... coś nie działa to od razu "TO WINA WYŚWIETLACZA! SĄ ZEPSUTE! NIE KUPUJCIE!" No panowie bez jaj... Jeżeli chodzi o wyświetlacze LCD to są różne typy, jedne są na HD44780 a inne na kompatybilnych lub pseudo kompatybilnych. Odpalałem różne takie wyświetlacze, od tych najtańszych po te "drogie" i w każdym wypadku jak coś nie działało wystarczyło dobrać odpowiednio czasy (co ma szczególne znaczenie przy tych pseud kompatybilnych). Bascom ma raczej sztywne te biblioteki więc dużo nie zdziałacie, proponowałbym raczej napisać obsługe tych LCD w C, na 100% LCD jest sprawny.
  • #24 6994670
    mm12
    Poziom 2  
    mam ten sam wyświetlacz i ten sam objaw ... # w pierwszej linii i włączone podświetlanie mimo że nie podłączyłem zasilania do A (EL Backlight 1) i K (EL Backlight 2).

    Tak się zastanawiam czy aby jest on kompatybilny z HD44780 - w dokumentacji technicznej nie znalazłem takiej informacji - tylko sprzedający pisze że jest zgodny.
    Zasilanie (pin 1 i 2) ma odwrotnie niż inne lcd - może i sterownik też nie jest zgodny z HD44780.
  • #25 6995602
    mazomen
    Poziom 16  
    Co do podświetlania to są zworki które po rozlutowaniu odłączają podświetlanie. Być może zbyt pochopnie wyciągnołem wnioski że wyświetlacze są zepsute. Po przejrzeniu paru stron znalazłem temat gdzie znajduje się kod który rzekomo wysteruje ten wyświetlacz. Niestety program w c i jeszcze na Atmege16 której aktualnie nie posiadam więc sam nie mogę sprawdzić ani zmodyfikować. https://www.elektroda.pl/rtvforum/topic509931.html
  • #26 6995812
    Wojtek75
    Poziom 24  
    mazomen napisał:
    Co do podświetlania to są zworki które po rozlutowaniu odłączają podświetlanie. Być może zbyt pochopnie wyciągnołem wnioski że wyświetlacze są zepsute. Po przejrzeniu paru stron znalazłem temat gdzie znajduje się kod który rzekomo wysteruje ten wyświetlacz. Niestety program w c i jeszcze na Atmege16 której aktualnie nie posiadam więc sam nie mogę sprawdzić ani zmodyfikować. https://www.elektroda.pl/rtvforum/topic509931.html

    mazomen proszę bardzo w załączniku wsad przekompilowany pod mega8 na fabrycznych ustawieniach (taktowanie = 1 MHz)

    konfiguracja LCD:

    LCD -> uP

    DB4 -> PD2
    DB5 -> PD3
    DB6 -> PD4
    DB7 -> PD5
    RS -> PD0
    E -> PD1

    R/W ma być oczywiście podłączone do masy i ustawiony kontrast.
  • #27 6999134
    mazomen
    Poziom 16  
    Zmontowałem układ, wgrałem program zapodany przez Wojtka75 (WIELKIE DZIĘKI WOJTEK) i ku mojemu zdziwieniu na wyświetlaczu pojawił się napis "Hello" :-). Bardzo się cieszę z tego powodu i muszę przyznać rację koledze Mat_91. Teraz tylko muszę dobrze przeanalizować ten kod (nigdy nie programowałem w c więc będzie to dla mnie misja specjalna :-) ) i stwożyć jakąś uniwersalną wstawkę do Bascoma na tego typu wyświetlacze. Macie może na to jakieś pomysły?

    edit:

    A może pomógł by ktoś kto siedzi w asemblerze? Bo raczej w c to wstawki nie idzie chyba wstawić? (chyba że się mylę) Taka wstawka była by najlepszym rozwiązaniem dla osób które mają problemy z tym właśnie wyświetlaczem w bascomie.
    A może by tak pobawić się z jakąs biblioteką?
  • #28 7001524
    ginger78
    Poziom 21  
    Witam.
    mazomen, jeśli uda Ci się zrobić wstawkę do Bascoma to proszę, wrzuć ją na forum. Sam mam 2 takie wyświetlacze kupione po okazyjnej cenie na allegro od "lisiu". Przeleżały zapakowane jakiś czas i już wymyśliłem gdzie je wykorzystam a tu trafiam na taki temat :cry: Czuję się oszukany.
  • #29 7002497
    mazomen
    Poziom 16  
    Jeśli uda mi się to na pewno wrzucę. Czeka mnie jednak na razie przestudiowanie kursów c i asemblera i dopiero wtedy będę w stanie sam coś zrobić lecz zamiast wstawki popracuję chyba nad biblioteką.
  • #30 7008142
    Wojtek75
    Poziom 24  
    Mazomen tak z ciekawości, skoro twój układ zadziałał to załaduj do megi jeszcze ten wsad (załącznik) i zamelduj o wynikach. Konfiguracja uP i połączenia uP -> LCD dokładnie taka sama jak poprzednio.
REKLAMA