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

[MSP430][C] - programdo rejestru przesuwnego 74595, wyświetlacz 7-seg

korekpl 31 Maj 2014 13:07 2796 3
  • #1 13650645
    korekpl
    Poziom 10  
    Witam.

    Uczę się programować mikro kontrolery i zarazem języka C przy użyciu MSP430 LaunchPad. Mam pewien problem, chciałbym napisać jakiś program do obsługi, rejestru przesuwnego 74hc595, testy robię za pomocą wyświetlacza 7 segmentowego( zrobiłem go sobie prowizorycznie przy pomocy kilkunastu diód i rezystorów, ale to nie ma znaczenia). Napisałem do niego program
    PROGRAM 1 jednak nie wiem jak wysyłać do rejestru 8 (16,24 itd) bitów na raz, rozwiązałem to w sposób następujący:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    czyli porostu podaję bit po bicie 0 lub 1 i przesuwam go 8 razy (za pomocą zegara), potem zatrzaskiem wywalam wszystko na wyjście.

    Moje pytanie brzmi czy można by było zrobić to tak, aby podać kombinację 8(16,24 przy połączenie większej liczby rejestrów) bitów np. 01100101 na wyjście , aby kod programu był bardziej przejrzysty, łatwiejszy do przeróbki, bardziej profesjonalny. Bo to moje rozwiązanie to taka straszna prowizorka i zajmuje mnóstwo linijek.

    PROGRAM 1, cały
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #2 13650723
    alagner
    Poziom 26  
    Użyj hardware'owego SPI (o ile oczywiście masz je dostępne). Robisz to na MSP430G2553?
  • #3 13650755
    korekpl
    Poziom 10  
    Dokładnie na MSP430G2553.
  • #4 13652029
    BlueDraco
    Specjalista - Mikrokontrolery
    Programowo możesz to zrobić w pętli, przesuwając bajt do wysłania i testując wartość jego jednego bitu - w zależności od tego ustawisz odpowiedni stan na wyjściu danych, np.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA