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

LCD graficzny ST7565R jak podłączyć przez SPI do mcu?

MICHAŁ6201 23 Maj 2023 20:30 900 22
REKLAMA
  • #1 20592021
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Cześć

    Kupiłem wyświetlacz graficzny oparty na sterowniku ST7565R i chcę go podłączyć do mikrokontrolera za pomocą SPI.
    W załączeniu przesyłam zdjęcie tego mojego wyświetlacza oraz dołączonego do wyświetlacza opisu wyprowadzeń.
    Niestety okazało się, że schematy dostępne w google: http://www.wojio.pl/eog/eog.htm mają się nijak do wyprowadzeń opisanych na tym moim wyświetlaczu.

    Zależy mi aby go sterować przez SPI.

    Wiem, ze wyświetlacz zasilany jest napięciem 3,3V oraz że linie SPI muszą być zgodne z napięciem 3,3V.

    Te piny, które rozszyfrowałem:
    1 - LEDK, 2-LEDA, 13-VDD, 15-VSS, 16-CS, 17-RESET

    Natomiast do których podłączyć MOSI, MISO, SCK, A0?


    Bardzo proszę Was o pomoc.
    Załączniki:
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? lcd_opis.jpg (135.21 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? lcd.jpg (1.5 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 20592066
    tronics
    Poziom 38  
    Posty: 5065
    Pomógł: 358
    Ocena: 840
    Żeby jechać po serialu to pin P/S sterownika musi być ustawiony na serial. Zakładam, że trzeba przelutować zerówkę z R8 na R7 i wykorzystać piny DB6 (clk) i DB7 (MOSI). Nie ma MISO, bo w tym trybie nie ma czytania ze sterownika.
  • REKLAMA
  • #3 20592095
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Ale to tylko tą jedną zworkę wystarczy przelutować?
    Bo na stronie sprzedawcy znalazłem coś takiego jeszcze:
    z dopiskiem: "Możliwość wyboru interfejsu (SPI, Intel 8080/6800) za pomocą zworek."
    Załączniki:
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? zworki.png (565.88 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #4 20592217
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    Ten wyświetlacz nie posiada magistali SPI (błędna informacja producenta). Prawidłowo powinno być magistrala równoległa albo szeregowa.
    Jeśli używamy szeregową, to wtenczas należy użyć następującą konfigurację:

    Pin P/S = "L"
    Pin D7 to data input (SI)
    Pin D6 to serial clock input (SCL)
    Piny D0 .. D5 = "H" albo nie podłączone.

    Pin A0 posiada następująca rolę:
    A0 = “H”, data is display data,
    A0 = “L” data is command data.
  • #5 20592241
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Dziękuję Wam :)

    Czyli zworkę R8 przekładam do R7 i podpinam się do SPI mikrokontrolera plus A0 do wybranego pinu mcu i powinno działać
  • Pomocny post
    #6 20592244
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    MICHAŁ6201 napisał:
    Czyli zworkę R8 przekładam do R7

    Jeśli zworka połączona z pinem P/S.
    Prawdopodobnie oznaczenia S = serial (R7) , P = parallel(R8).
  • #7 20592275
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Jest identycznie jak na tym zdjęciu:
    (P) połączone jest rezystorem R8 do VCC

    A tu gdzie jest oznaczenie (S), to jest miejsce na zworkę podciągniętą do GND.
    Załączniki:
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? zworki.png (565.88 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #8 20598070
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Uruchomiłem ten wyświetlacz.
    Ale jest problem z obsługą tego wyświetlacza w bascomie.
    Obraz wyświetlany jest od połowy ekranu w dół. czyli to co powinno być od samej góry zaczyna się od połowy w dół, a to co na dolnej połowie wyświetlane jest na górze.

    Ma ktoś z Was jakieś informacje, jak to poprawić? Szukam od kilku dni i nic nie ma w internecie na ten temat. Albo jak zwykle - tajemna wiedza.
  • #9 20598112
    piotrek0207
    Poziom 20  
    Posty: 379
    Pomógł: 35
    Ocena: 70
    A patrzyłeś w datasheet jak wygląda adresowanie?
  • #10 20598129
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    Nie zaszkodzi wypróbować:
    Display Start Line Set
    This command is used to specify the display start line address of the display data RAM shown in Figure 4. For further details
    see the explanation of this function in “The Line Address Circuit”.
  • #11 20598131
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    A ta komenda działa w Bascom avr?

    Bo ja napisałem kod w bascomie pod ten wyświetlacz
  • REKLAMA
  • #13 20598149
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Znalazłem ta tabelkę Display start line

    Zapisałem komendę: Glcdcmd &B01000000 ' Display start line set
    Odpowiada ona za linię 0

    Niestety to nie działa.

    Za to taki sam zapis dla komendy Display on/off działa
  • #14 20598421
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    MICHAŁ6201 napisał:
    Obraz wyświetlany jest od połowy ekranu w dół.

    Możesz wrzucić fotkę ?
  • #15 20598434
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Tak w załaczeniu zdjęcie wyświetlacza jak od połowy poakzuje koleine wiersze i drugie zdjęcie jak pokazuje obrazek orzecięty na pół i ułożony na odwrót.
    Załączniki:
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? IMG_20230527_004310.jpg (4.34 MB) Musisz być zalogowany, aby pobrać ten załącznik.
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? IMG_20230528_221220.jpg (1.35 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #16 20598796
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    MICHAŁ6201 napisał:
    Zapisałem komendę: Glcdcmd &B01000000 ' Display start line set

    Spróbuj z inną wartością np. &B01011111.
    Powinno przesunąć (skrolować) wszystkie linie w pionie.
  • #17 20599246
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Teraz ustawiło poprawnie wiersze :)
    Ale jest problem z kolumnami. Przesunięte są o 4 piksele w lewo.
    Załączniki:
    • LCD graficzny ST7565R jak podłączyć przez SPI do mcu? lcdn.jpg (61.94 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #18 20599260
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    Używasz jakiejś gotowej biblioteki albo sterujesz bezpośrednio rejestrami ?
  • #19 20599268
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Piszę w bascomie. Tam jest gotowa biblioteka do tego wyświetlacza.

    Wyświetlacz podłączony bezpośrednio do pinów mikrokontrolera, który też jest zasilany z +3,3V.

    A oto testowy kod:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #20 20599350
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    Przypuszczam, że to wina bibloteki:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #21 20599416
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Tak
    Ta biblioteka nie pasuje do tego mojego wyświetlacza.
    Pobrałem inną i już działa wszystko tak jak trzeba.
    Dziękuję Ci za podpowiedzi :)
  • #22 20599420
    inot
    Poziom 38  
    Posty: 3590
    Pomógł: 442
    Ocena: 808
    Tak z ciekawości, jakiej biblioteki obecnie używasz ?
  • #23 20599531
    MICHAŁ6201
    Poziom 16  
    Posty: 832
    Pomógł: 3
    Ocena: 177
    Taka sama nazwa jak do tej pory, ale chyba zmodyfikowana w środku.

Podsumowanie tematu

✨ Użytkownik zakupił wyświetlacz graficzny oparty na sterowniku ST7565R i chciał go podłączyć do mikrokontrolera za pomocą interfejsu SPI. Po analizie wyprowadzeń i schematów, ustalono, że konieczne jest przelutowanie zworki R8 na R7, aby ustawić pin P/S na tryb szeregowy. W odpowiedziach podano, że wyświetlacz nie obsługuje standardowej magistrali SPI, a zamiast tego wymaga konfiguracji z użyciem pinów D6 (SCL) i D7 (SI). Użytkownik napotkał również problemy z wyświetlaniem, gdzie obraz był przesunięty, co zostało rozwiązane poprzez odpowiednie ustawienie komendy "Display Start Line Set". Ostatecznie, po zmianie biblioteki w Bascomie, wyświetlacz działał poprawnie.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA