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.

Problem z ukladem: 2313 + lcd (HD44780) + bascom

simpo 15 Lut 2005 18:38 3426 7
  • #1 15 Lut 2005 18:38
    simpo
    Poziom 18  

    Witam ! Mam nastepujacy problem. ... :(
    Podlaczylem swojego LCD (16*1) do uC., wydaje mi sie ze dobrze (jak ktos ma jeszcze jakis poprawny schemacik, bardzo bym prosil... ;))

    Po wlaczeniu ukladu, na lcd wyswietla sie tylko 8 ostatnich pozycji, przy czym "wyswietla" oznacza po prostu to, ze sa cale zaczernione. Probowalem regulowac kontrast, bo myslalem ze po prostu jest za duzy i nie widac "pustych" punktow, ale nic to nie daje po prostu wspomniane zaczernienie, robi sie mniej czarne.. lol
    Moze mi ktos cos poradzic bo ja siedze nad tym 5h i juz nie mam sil.... :(

    W skrocie:
    pin LCD - port UC lub zasilanie
    1 - Gdd
    2- +5V
    3- 2kΩ i do gnd
    4- pb1
    5-
    6- pb0
    7 -
    8-
    9-
    10-
    11-pd2
    12-pd3
    13-pb2
    14-pb3

    Z tylu lcd pisze, ze jest firmy "Data Vision", typ: p110-1.
    Oprocz tych 14 pinow LCD sa jeszcze dwa na boku oznaczone literami a i k, ma ktos jakis pomysl co to moze byc ??

    Pozdrawiam,
    simpo

    [/img]

    0 7
  • #2 15 Lut 2005 19:01
    McRancor
    VIP Zasłużony dla elektroda

    A i K to anoda i katoda podświetlania, taka reakcja wyświetlacza po włączeniu świadczy tylko o tym że nic nikt od niego nie chce i jest to tryb fabryczny do ustawiania kontrastu, jako podłączysz wyświetlacz tylko do prądu to też tak zrobi

    Wklep na początku swojego programu takie coś:
    Config Lcd = 16 * 1
    Config Lcdmode = Port
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.0 , Rs = Portb.1

    No i jeszcze wyprowadzenie 5 wyświetlacza podłącz do masy

    0
  • #3 15 Lut 2005 20:48
    simpo
    Poziom 18  

    Efekt powyzszych poprawek jest taki ze czarne kwadraty znikle, oczywiscie nic sie na ich miejscu nie pojawlo :/

    Kod:

    Code:

    Config Lcd = 16 * 1
    Config Lcdmode = Port
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.0 , Rs = Portb.1
    Display On
    Cursor On
    Do
    Cls
    Lcd "1234567890123456"
    Wait 1
    Loop


    Pomiary napiec pomiedzy pinami wyswietlacza:
    1-2 = 5.12 (na zasilaczu 5.13, wiec ok)
    2-3 = 2.98
    3-4 = 2.97 (i to dziwne bo zamiast potencjometru zastosowalem dzielnik napiec rezytorami ok 6k i ok 3k , wiec to ze te napiecia sa rowne to troche dziwne moim zdaniem :/)
    4-masa = 5.12
    5=masa
    6-masa = 0
    11,12,13,14-masa = 5.12

    Ma ktos jeszcze jakies pomysly !?

    simpo

    --------------------------------------------------------------------------------------
    Juz prawie dziala, olalem ten dzielnik i kontrast bezposrednio do masy podlaczylem i o dziwno dziala.... Problem jeszcze taki, ze wyswietla sie tylko 8 znakow.. :(

    Moze mi ktos wytlumaczyc jakim prawem to dziala, przeciez w dokumentacji ukladu pisza ze pin 3 musi isc przez potencjometr, nie zrobie czemus krzywdy, jesli to tak zostawie ??

    0
  • Pomocny post
    #4 15 Lut 2005 20:58
    Press
    Poziom 22  

    wpisz config lcd = 16 * 1a
    moze to pomoże, no i piny sterujące muszą być ustawione jako wyjścia, ale to pewnie wiesz.

    0
  • Pomocny post
    #5 15 Lut 2005 20:59
    McRancor
    VIP Zasłużony dla elektroda

    Może jeszcze wpisz na początku $crystal = 10000000 (wartość w hz)
    Gdzy używasz kwarcu 10Mhz, ale dopasuj do swojego kwarcu, bo może atmel za szybko wysyła do wyświetlacza dane i ten nie nadąża.

    U mnie Twój program na innych pinach działa

    0
  • #7 16 Lut 2005 10:40
    Bartek S.
    Poziom 11  

    A ja napisze tak, jeszce sie nie spotkalem z tym aby wyswietlacz LCD 16*1 dziala poprawnie z BASCOMEM na magistrali 4-przewodowej gdzies kidys czytalem na ten temat bodajze w bascom co... tam chyba bylo napisnew jak to rozwiazac. Co ciekawsze wyswietlacze o wiekszej ilosci lini dzialaja poprawnie

    0
  • #8 16 Lut 2005 11:20
    McRancor
    VIP Zasłużony dla elektroda

    Ja dawałem kontrast czasem bezpośrednio do masy, zależy od wyświetlacza. Jednakże nasuwa mi się inny problem

    To co ustawiacie w konfiguracji w okienkach bascoma, żadko kiedy coś daje, zawsze trzeba pisać poleceniami $crystal, config lcd itd. co gdzie i jak podłączone. przez to z regóły dobry kod jest ofiarą :)

    A co do wypowiedzi Bartka, to problem nie leży po stronie bascoma, ale twórców lcd. często jest tak że nie traktują wyświetlaczy jako 1*16, ale 2*8, tylko linie są obok siebie. pomaga na to dyrektywa config lcd = 16*1a

    0