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 - Wyświetlacz LCD KS0108 i komunikacja szeregowa

CyccX 09 Kwi 2013 19:39 2484 7
REKLAMA
  • #1 12178061
    CyccX
    Poziom 15  
    Witam,

    potrzebuję wyszczuplić magistrale pomiędzy kontrolerem a wyświetlaczem LCD 128x64. Obecnie do sterowania wymagana jest duża ilość linii a i ich długość nie możę być za duża..

    Z racji charakteru w jakim będzie pracować moze urządzenie, ilość lini w magistrali komunikacyjnej pomiedzy wyświetlaczem a kontrolerem musi byc jak najmniejsza. Długość taśmy też musiała by być okolo 50cm.

    Nasuwają mi się dwa rozwiązania:
    1. wykorzystać atmege8 do sterowania wyświetlaczem i skomunikować ją za pomocą UART z głownym mikrokontrolerem. Główny mikrokontroler przesyłał by tylko dane do atmega8 które mają zostać wyświetlone.

    2. zastosować jakiś bufor/konwerter który zamienił by transmijse szeregową na magistrale rónoległą i zamontować go na wyświetlaczu. Jeśli jest taka mozliwość to jakie to sa ukłądy?


    Jestem malo zaawansowanym urzytkownikiem bascom, proszę o prady jakie rozwiazanie było by pewniejsze, i latwiejsze do zaprogramowania poprawnego.
  • REKLAMA
  • #2 12179242
    wdogli
    Poziom 18  
    Moim zdaniem najprościej atmega8 + i2c
    Pozdrawiam
  • REKLAMA
  • #3 12179305
    CyccX
    Poziom 15  
    wyświetlacz na sterowniku ks0108 nie wysteruje bezpośrednio przez i2c, możesz podpowiedzieć jaki bufor dodatkowo musiałbym zastosować ?
  • #4 12179458
    Samuraj
    Poziom 35  
    Ja proponuje HC595 i sterować po SPI. Widziałem wiele projektów z typowym wyświetlaczem LCD więc z tym nie powinno być problemu.
  • REKLAMA
  • REKLAMA
  • #6 12181907
    CyccX
    Poziom 15  
    dzięki za podpowiedzi.

    zdecydowałem się jednak na wykorzystanie sprzętowej komunikacji UART między dwoma kontrolerami, jest prosta w obsłudze i daje większe możliwości obsługi wyświetlacza.

    Takie rozwiązanie stwarza kolejne wyzwanie dla mnie. Gdyż do atmega sterująca wyświetlaczem wyświetlać będzie sześć różnych zmiennych. Proszę o podpowiedzi i sugestie jak zorganizować przesyłanie danych, by atmega nadawcza wysyłała dane po UART od konkretnej zmiennej np A, a atmega odbiorcza wiedziała że akurat ten bajt danych należy do zmiennej A, a nie do B C D itp..
  • #7 12181988
    wdogli
    Poziom 18  
    Witam.
    Budujesz sobie ramkę która składa się z kilku bajtów danych i na przykład jeden z tych bajtów przyjmuje wartość 1 - znaczy A; 2 - znaczy B i tak dalej. kolejny bajt jest bajtem danych w którym przesyłasz wiadomość czyli to co ma być zapisane pod A,B, .... Mikrokontroler który odbiera dane sprawdza najpierw gdzie ma zapisać daną czy do A czy do B ... a potem zapisuje ją w odpowiednie miejsce. Na przykład ja na szynie I2c przesyłam ramkę składającą się z trzech bajtów. Pierwszy to bajt adresu drugi to bajt określający miejsce (A,B,C...) trzeci bajt danych.
    Pozdrawiam
  • #8 12182038
    CyccX
    Poziom 15  
    aha, czyli rozumiem że powinno to wyglądać mniej więcej w taki sposób:

    NADAJNIK:

    Kod: text
    Zaloguj się, aby zobaczyć kod



    ODBIORNIK:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    dobrze kombinuję ??

    Dodano po 26 [minuty]:

    zmieniłem kody w atmegach na wzór tych powyżej, dla testu i niestety atmega odbiorcza nic nie odbiera, wyświetlacz jest pusty, więc komunikacja stoi.

    Dodano po 33 [minuty]:

    OKej, trochę monologu i własnych rozmyślań i udało się uruchomić to poprawnie.
    Odbiornik odpowiednio interpretuje do której zmiennej ma zapisać nadchodzące dane.

    kody:

    nadajnik

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Odbiornik:

    Kod: text
    Zaloguj się, aby zobaczyć kod
REKLAMA