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

[bascom] [mega8] niedziałający wyświetlacz lcd

elektronik999 20 Paź 2010 21:48 2717 18
REKLAMA
  • #1 8644193
    elektronik999
    Poziom 26  
    Witam. Robię sobie multimetr do zasilacza, ale utknąłem w martwym punkcie ponieważ mój wyświetlacz nie działa prawidłowo, procesor na pewno go nie inicjalizuje. Ale zauważyłem też że tylko pierwsza linia się wyświetla, a chyba powinny obie jak jest tylko podłączone zasilanie. Kontrast jest prawidłowy na 100% mam nadzieje że to nie jest spowodowane że mam podpięte to pod PortD (PD1-PD6) rw do masy.
    [bascom] [mega8] niedziałający wyświetlacz lcd

    
    $crystal = 8000000    
    Config Lcd = 16 * 2 
    Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.5 , Rs = Portd.6
    Do
    lcd "haha"
    loop
    end
    


    Wyświetlacz:
    Sterownik zgodny z HD44780
    Technologia STN
    Producent : SDEC
    oznaczenie producenta : BSC2A16URY
  • REKLAMA
  • #2 8644331
    mirekk36
    Poziom 42  
    Nie powinny się obie wyświetlać jeśli jest źle zainicjalizowany. Dokładnie taki efekt jest przy braku prawidłowej inicjalizacji. Skoro kontrast działa to znaczy, że gdzieś popełniłeś błąd w połączeniach.

    Spróbuj też dać polecenie CLS przed pętlą do loop, żeby na 100% się zainicjalizował
  • #3 8644503
    elektronik999
    Poziom 26  
    niestety dodanie cls nic nie zmieniło

    +++++
    to chyba coś z prockiem
    bo taki program
     
    
    config pinb.1 = output
    Do
      Set Portb.1
    Waitms 1000
    Reset Portb.1
    Loop

    i jak sprawdzam to na pinie b.1 jest caly czas 0,4V
  • REKLAMA
  • #5 8644676
    elektronik999
    Poziom 26  
    połączenia poprawne, przed chwilą sprawdzałem, ale zobaczę jeszcze raz rano i sprawdzę omomierzem może któryś lut nie łączy(?)
  • REKLAMA
  • #7 8644988
    elektronik999
    Poziom 26  
    poorchava napisał:
    a masz podłączone r/w do masy? (albo do uC i ustawiane w programie na 0?)

    elektronik999 napisał:
    rw do masy.
  • #9 8648333
    elektronik999
    Poziom 26  
    Witam. Mi chyba procesor nie startuje, i w tym jest cały problem musze sprawdzić fuse bite. czym to jest spowodowane? skoro procek sie prawidłowo programuje?

    To napewno procek ponieważ nie chce uststawić stanów portów
  • #10 8653522
    mordeto
    Poziom 13  
    A czemu nie czyścisz??
    
    $crystal = 8000000    
    Config Lcd = 16 * 2 
    Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.5 , Rs = Portd.6 
    Do 
    cls
    lcd "haha"
    wait 3 
    loop 
    end
    

    sproboj tak i powiedz czy dziala i czy jak wgrywasz to wywala jakiś błąd czy wszystko ok??
  • #11 8653920
    elektronik999
    Poziom 26  
    mordeto napisał:
    A czemu nie czyścisz??
    
    $crystal = 8000000    
    Config Lcd = 16 * 2 
    Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.5 , Rs = Portd.6 
    Do 
    cls
    lcd "haha"
    wait 3 
    loop 
    end
    

    sproboj tak i powiedz czy dziala i czy jak wgrywasz to wywala jakiś błąd czy wszystko ok??


    za każdym razem przechodzi poprawnie weryfikacje, niestety nie mam innej atmega8 zeby sprawdzić czy ona jest na pewno sprawna. A program nie działa dalej. Ani na wewnętrznym ani zewnętrznym kwarcu, ani na 4 mhz ani 8mhz. Mógłby mi ktoś napisać program który mu na 100% działa wysłać hex. który tylko zmienia stany co mniej wiecej 2 sekundy na porcie d. Może moj bascom zle kompiluje pliki?
  • #12 8654759
    Jaca
    Poziom 31  
    1. Czy program działa poprawnie w symulatorze ?
    2. Ustawiłeś typ mikrokontrolera w BASCOM'ie ? Jeśli nie to wyżej pisałem już jak go zdefiniować w źródle programu.
  • REKLAMA
  • #13 8655066
    elektronik999
    Poziom 26  
    Jaca napisał:
    1. Czy program działa poprawnie w symulatorze ?
    2. Ustawiłeś typ mikrokontrolera w BASCOM'ie ? Jeśli nie to wyżej pisałem już jak go zdefiniować w źródle programu.


    W symulatorze też nic sie nie wyświetla na wyświetlaczu, w programie mam ustawione konfiguracje wszystkich pinów i procka, ale w kodzie programu też mam zapisane
  • Pomocny post
    #14 8655220
    mordeto
    Poziom 13  
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.5 , Rs = Portd.6
    Do
    Cls
    Lcd "haha"
    Wait 3
    Loop
    

    W stukaj tak i musi Ci działać pierwsze sprawdź w symulatorze.(u mnie działa)
    Jak bd działać to masz dobrze ustawiony kontrast na LCD i RW do masy?
  • #15 8655527
    elektronik999
    Poziom 26  
    WOW. teraz dalej sie wyświetlają czarne prostokąty ale ostatni sie wyświetla normalny znak zapytania. (w symulatorze normalnie) co to może być może zakłócenia?

    edit

    teraz sam znak zapytania sie pojawia
  • Pomocny post
    #16 8655685
    mordeto
    Poziom 13  
    jeśli w symulatorze jest OK a LCD na płytce nie działa to wina leży po stronie podłączenia coś nie tak podłączyłeś

    edit: wyślij zdjęcie jak to masz zrobione
  • #17 8655777
    elektronik999
    Poziom 26  
    znalazłem nową mege8 i ją podmieniłem teraz już wszystko działa, co z tamtą mogło sie stać ze się programowała a nie chciała dzialać? zdjecia zrobie jutro ;)
  • #18 8655884
    mordeto
    Poziom 13  
    Uwalone jakiś piny spróbuj podłączyć tamtą do innych portów, ciężko powiedzieć jak sie nie widzi. Moja M8 tez tak ma lecz jej sie już nie da zaprogramowac xD po odpadały jej porty resetu i inne i do tego jeszcze nie da sie jej zaprogramować a jak ją zaprogramuje się już to nie działa jak powinna...
REKLAMA