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

Jak podłączyć attiny2313 i atmega8 do jednego wyświetlacza LCD 2x16?

xysio_ 29 Sty 2008 13:04 2802 16
REKLAMA
  • #1 4748056
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Mam dwa urządzenia jedno na attiny2313 drugie na atmega8 oba chcę podłączyć do jednego wyświetlacza LCD 2x16 ,oba urządzenia mają pracować jednocześnie i najlepiej żeby była możliwość wyboru urządzenia z którego mamy odczytywać dane i tryb auto np zmiana co 5s
    Czy jest to możliwe?
  • REKLAMA
  • #2 4748097
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Może lepiej by było przesyłać dane między mikrokontrolerami, a za wyświetlanie byłby odpowiedzialny tylko jeden z nich.
  • #3 4748106
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Ja początkowo myślałem o zastosowani trzeciego mikrokontrolera który by się tym zajmował ale nie mam żadnego konkretnego pomysłu
  • #4 4748118
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Trzeci mikrokontroler to już chyba lekka przesada. W razie konieczności lepiej dać po prostu większy zamiast jednego z tych dwóch, które wymieniłeś.
    Napisz trochę więcej o urządzeniu, które chcesz zbudować.
  • #5 4748121
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    Zależy, co masz na myśli pytając "możliwe" :wink:
    Najprościej byłoby obsługiwać LCD na jednym z tych dwóch, a z drugiego odczytywać dane tym pierwszym.
    Albo, jeżeli brak miejsca, to dać trzeciego AVR-a tylko do obsługi wyświetlacza.
    Teoretycznie da się też programowo przełączać linie do sterowania wyświetlaczem pomiędzy tymi dwoma (taka współdzielona magistrala), ale to raczej niepotrzebna komplikacja. Chyba, że wyświetlacz na i2c.
  • REKLAMA
  • #6 4748125
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Najłatwiej by było podmienić atmege8 bo projekt jest jeszcze płynny, Tylko jak zaprogramować taki mikrokontroler (niestety na programowaniu atmeli nie bardzo się znam)

    don diego napisał:

    Napisz trochę więcej o urządzeniu, które chcesz zbudować.


    Mianowicie Jedno urządzenie to dekoder rds(attiny2313) a drugie to radiobudzik na atmega8 budzik można zmieniać bo jeszcze projekt nie został do końca ustalony(męczę się nad wsadem)
  • REKLAMA
  • #7 4748135
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Heh:) Jeśli wcześniej nie miałeś styczności z mikrokontrolerami, to sprawa się troszkę komplikuje:) Umiesz programować w jakimś języku? Najszybciej by Ci pewnie poszło w Bascomie, ale ja akurat go nie znam.
  • #8 4748139
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Cytat:
    Jeśli wcześniej nie miałeś styczności z mikrokontrolerami, to sprawa się troszkę komplikuje:) Umiesz programować w jakimś języku? Najszybciej by Ci pewnie poszło w Bascomie, ale ja akurat go nie znam.


    Znam podstawy c(pisałem na pc)
    i teraz próbuję opanować podstawy c na atmele
  • #9 4748142
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    don diego napisał:
    Trzeci mikrokontroler to już chyba lekka przesada. W razie konieczności lepiej dać po prostu większy zamiast jednego z tych dwóch, które wymieniłeś.

    W zasadzie tak. Ale biorąc pod uwagę, że AVR-y kosztują grosze, czasami może się opłacać (przy jednostkowych urządzeniach) - płytka może się uprościć. :)

    Dodano po 4 [minuty]:

    xysio_ napisał:

    Mianowicie Jedno urządzenie to dekoder rds(attiny2313) a drugie to radiobudzik na atmega8 budzik można zmieniać bo jeszcze projekt nie został do końca ustalony(męczę się nad wsadem)

    A to wydaje się, że wszystko powinno bez problemu wejść na jedną mega16.
    Zawsze mega32 zostaje w odwodzie. :)
  • REKLAMA
  • #10 4748163
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Cytat:
    A to wydaje się, że wszystko powinno bez problemu wejść na jedną mega16

    Tak tylko dekoder rds ma kod źródłowy w asmie (a wsad na budzik próbuję napisać własnoręcznie i jest w C) ja za asm nie przepadam więc z przerzuceniem rds na inny uC mógłby być problem
    chyba że można zaprogramować jednego proca w dwóch językach jednocześnie
  • #11 4748199
    don diego
    Poziom 32  
    Posty: 1557
    Pomógł: 165
    Ocena: 63
    Można robić wstawki assemblerowe w C.
  • #12 4748241
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    pomimo wszystko wolałbym zostawić rds`a w spokoju
  • #13 4748263
    janek1815
    Poziom 38  
    Posty: 4513
    Pomógł: 372
    Ocena: 1060
    Jeśli masz żródło tego asm rds możesz go tutaj przedstawić? Lub podaj link do strony na której się on znajduje.
  • #14 4748280
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    janek1815 napisał:
    Jeśli masz żródło tego asm rds możesz go tutaj przedstawić? Lub podaj link do strony na której się on znajduje.


    Na dole strony masz linki do kodu źr i schematu

    http://www.mictronics.de/?page=rdsdec

    dobrze to czy mógłby mi ktoś powiedzieć jaki uC wykorzystać i jak to połączyć żeby odbierał dane z rds , pracował jako budzik i umożliwiał zmianę trybu wyświetlania(budzik/rds)
  • #15 4761543
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    Czy mógłby mi ktoś powiedzieć jak zrobić żeby dane z tych dwóch mikrokontrolerów zbierał trzeci i przesyłał je do jednego wyświetlacza tekstowego(przemiennie)
    prosił bym o informacje jaki powinien być to uC i pomoc przy oprogramowaniu do niego
  • #16 4762154
    pgp
    Poziom 19  
    Posty: 412
    Pomógł: 6
    Ocena: 17
    Oj chyba czeka Cie sporo nauki . Możesz kupić sobie książeczki na temat AVR-ów czy ATmeg (są dostępne po polsku) lub poczytać dokumentacje do nich dostępne na stronie Atmela. Co do komunikacji to najłatwiej dla początkującego wziąść UART (USART) czyli inaczej mówiąc RS232. Wystarczy połączyć linie RXD i TXD na krzyż, poustawiać prędkości, ilość bitów stupu itp. w rejestrach konfiguracyjnych UART-ów w obu prockach no i poustawiać przerwania.
  • #17 4763185
    xysio_
    Poziom 18  
    Posty: 352
    Pomógł: 5
    Ocena: 1
    pgp w tym cały problem że nie mam zbyt dużo czasu dlatego proszę o pomoc na forum mógłbyś mi wyjaśnić podstawy podać jakieś linki?

    z tego co przeczytałem trzeba by przeprogramować rds`a tak żeby współpracował w tym standardzie tylko ja nie znam asm`a wcale

Podsumowanie tematu

✨ Dyskusja dotyczy podłączenia dwóch mikrokontrolerów: attiny2313 i atmega8 do jednego wyświetlacza LCD 2x16, z możliwością jednoczesnej pracy obu urządzeń oraz wyboru źródła danych lub automatycznej zmiany co 5 sekund. Proponowano różne rozwiązania, m.in. przesyłanie danych między mikrokontrolerami i obsługę wyświetlacza przez jeden z nich, zastosowanie trzeciego mikrokontrolera dedykowanego do sterowania LCD lub programowe przełączanie magistrali sterującej wyświetlaczem. Zwrócono uwagę, że trzecie MCU może uprościć projekt, ale może być nadmiarowe. Autor projektu rozważał wymianę atmegi8, jednak kod dekodera RDS na attiny2313 jest w asemblerze, co komplikuje przeniesienie funkcji. Sugerowano użycie wstawek assemblerowych w C, ale autor wolał pozostawić RDS na attiny2313. Poruszono temat komunikacji między mikrokontrolerami przez UART (USART) jako najprostszej metody wymiany danych. Wskazano na potrzebę nauki programowania AVR, dokumentacji Atmela oraz dostępnych materiałów w języku polskim. Autor prosił o pomoc w doborze mikrokontrolera, sposobie połączenia i oprogramowania umożliwiającego odbiór danych RDS, funkcję budzika i zmianę trybu wyświetlania na jednym LCD.
Wygenerowane przez model językowy.
REKLAMA