Strony

środa, 25 września 2013

Rejestr przesuwny 74595 - podstawy

Witam,

Oto króciutki, kolejny poradnik dotyczący tym razem rejestrów przesuwnych. Jest to oczywiście praktyczne uzupełnienie do książki "Mikrokontrolery AVR Język C - podstawy programowania". Tyle że tutaj w sposób taki troszkę obrazowy przedstawiam podstawy działania rejestrów, jak się do tego zabierać, jak można łączyć je kaskadowo po kilka sztuk a także jak to oprogramować w podstawowy sposób. Mam nadzieję, że ten poradnik wraz z wiedzą przekazaną we wspomnianej książce przybliży i rozświetli do końca wszystkim początkującym osobom te zagadnienia. Sądzę, że po zrozumieniu od podstaw zasad działania rejestrów przesuwnych, zrodzą się w waszych głowach setki jak nie tysiące ;) pomysłów na ich zastosowania. Wziąwszy oczywiście pod uwagę, że w dzisiejszych czasach mamy cały ogrom przeróżnych rejestrów tego typu, w tym także specjalizowanych np do obsługi diod LED ... a to już daje często ciekawe pole do popisu naszej wyobraźni ;) Zapraszam zatem na filmik a także do obejrzenia przykładowego schematu w eaglu oraz kodu programu omawianego w poradniku:



poniżej schemat kaskadowo połączonych dwóch rejestrów :



No i oczywiście kod źródłowy do poradnika video:



;)

44 komentarze:

  1. Znów "króciutki" poradnik, który trwa prawie 1,5 h :) haha

    OdpowiedzUsuń
    Odpowiedzi
    1. jeśli cię to nie interesuje zajmij się uprawą pietruszki!

      Usuń
  2. @up - opamiętaj się człowieku, ciesz się z ilości przekazanej wiedzy i proś o więcej a nie narzekasz!

    OdpowiedzUsuń
    Odpowiedzi
    1. Krycha, wyluzuj ;) przecież nie narzekam, wprost przeciwnie, bardzo się cieszę z kolejnego poradnika :)

      Usuń
  3. A do nauki może wystarczyć rejestr pc74hc164P philips ?
    z tego co wyczytałem nie posiada on tzn zatrzasku LT

    OdpowiedzUsuń
    Odpowiedzi
    1. Ależ jak najbardziej, właśnie w poradniku wspominając o starszych wersjach rejestrów, które nie posiadają zatrzasku, miałem na myśli właśnie ten 74164. Brak zatrzasku uprości jeszcze nieco ten kod, który jest do pobrania bo można będzie zrezygnować z tych linijek obsługujących zatrzask: LT_ON oraz LT_OFF.

      Usuń
    2. Mam troch ich z złomu , a co do pisania to używam Arduino atmegą 644pa ale wykorzystuje teorie często z tych filmików ;).

      Usuń
    3. Zapomniałem podziekować za filmik ;)
      A MAM PYTANIE DOT wyświetlacza siemens sda508-24
      http://www.sbprojects.com/knowledge/footprints/sda5708.php takiego jak go podpiąć i sterować ?

      Usuń
    4. To niestety nie jest ani miejsce ani czas na pytanie z że tak powiem całkiem innej beczki. Tymczasem na stronie do której link podałeś masz WYJAŚNIONE pięknie po kolei co i jak zrobić żeby go wysterować, więc tym bardziej nie rozumiem pytania.

      Usuń
  4. Wszystkie poradniki jak dla mnie rewelacja! gratuluje! (już wole oglądać poradniki i łykać wiedzę w nich zawartą niż oglądać jakiś głupawy film) jeszcze raz dziękuję Mirku

    OdpowiedzUsuń
  5. Panie Mirku - Wielkie Dzięki za kolejny super poradnik.
    Gorące pozdrowienia z Lublina .

    OdpowiedzUsuń
  6. Cieszę się, że mogłem pomóc tym poradnikiem ;) dziękuję, że jesteście ze mną.

    OdpowiedzUsuń
  7. Poradnik jak wszystkie pozostałe bardzo ciekawy i zrozumiały, ale mam trzy uwagi, jedna serio i dwie nie :
    0:18:27 - Wydaje mi się że SER do następnego rejestru powinno się wziąć bezpośrednio z rejestru a nie za zatrzaskiem.
    0:33:27 - Całe szczęście nie miałem nic w ustach bo musiałbym myć monitor :)
    1:12:33 - "nagrzał się jak zwykle" - czyli to nie pierwszy raz? ;) (swoja drogą, chyba każdemu się to czasami zdarza - jak widać nawet najlepszym )
    =========
    Pozdrawiam.

    OdpowiedzUsuń
    Odpowiedzi
    1. 0:18:27 - proszę posłuchać uważnie dalej ;) mówię wyraźnie że to nie dotyczy 595 tylko starszych scalaków np 74164

      1:12:33 - niestety jestem tylko zwykłym człowiekiem i początkującym ;) zdarza się jak każdemu - proszę szczególnie zobaczyć co się działo w bodajże 4 albo 5 odcinku poradników o ADC ;)

      http://www.youtube.com/playlist?list=PLtXXWLsA5QNi_R9uDXpHRpo5hRnig_f23

      Usuń
    2. No ja też już dodałem do swojego "słownika" pojęcie "rąbać prądzik" - to jest po prostu niesamowite co człowiekowi ślina na jęzor przynosi ;-).

      --
      Grzegorz...

      Usuń
  8. Panie Mirku wielki szacunek że chce się Pan z nami dzielić swoją wiedzą i to świetnie Panu wychodzi :)

    OdpowiedzUsuń
  9. Spadłeś z nieba z tym poradnikiem. Walczę z kilkunastoma *595 w szeregu w małym projekcie, ale o SPI nie pomyślałem ;]
    DZIĘKI! (za ten i wiele poprzednich kursów).
    Michal.

    OdpowiedzUsuń
    Odpowiedzi
    1. Sorry za formę per "Ty", ale po przeczytaniu książek i obejrzeniu tych nastu kursów na youtube, odnoszę wrażenie, że znamy się jak łyse konie :)
      M.

      Usuń
    2. nie ma za co przepraszać ;) mi też się wydaje, że znamy się jak łyse konie ;) i o to chodzi ... Cieszę, się że mogłem pomóc

      Usuń
  10. Mirku, a ja znów z pytaniem czy Ty kiedykolwiek śpisz? - zaczynam podejrzewać, że jednak jesteś robotem sterowanym za pomocą AVR-ów ;-P.
    A już tak poważniej dzięki Ci za Twoją pracę przy tych poradnikach i podziwiam Cię, bo kiedy sam stanę (usiądę) przed kamerą to się tak spinam, że nie umiem zachowywać się naturalnie mimo że jeszcze nikt tego nie widzi :-).

    Dodam, że podoba mi się to co powiedziałeś na końcu.
    Przypomina mi to motto jednej z firm szkoleniowych w której zajęciach brałem udział.
    Brzmi ono "Ucząc innych uczymy się sami" - polecam je wszystkim, którzy wytykają Ci błędy, niech sami spróbują komuś coś przekazać to zobaczą jakie to trudne, ale zarazem pouczające.

    --
    Pozdrawiam.
    Grzegorz...

    OdpowiedzUsuń
  11. Super poradnik , podziwiam pana umiejętność przekazywania rzeczy trudnych w bardzo prosty sposób bez zbytniego wnikania w szczegóły , które zwykle zniechęcają początkujących . I jeszcze tylko zabawna literówka w nazwie spakowanego pliku źródłowego :-)) , która na tą chwilę nie za dobrze odzwierciedla jakość pana kodu .
    Pozdrowienia i wytrwałości .

    OdpowiedzUsuń
  12. Dzięki za dobre słowo, a jeśli chodzi o tą literówkę (którą już poprawiłem) to rzeczywiście uśmiałem się po pachy ;) ... przepraszam.

    OdpowiedzUsuń
    Odpowiedzi
    1. HMMM...
      Nie ściągałem kodu wcześniej, więc nie widziałem nazwy, ale myślę, że dość łatwo się domyślić jakiej literki zabrakło ;-P - szczególnie po podpowiedzi kolegi powyżej.

      --
      Grzegorz...

      Usuń
    2. No właśnie ;) dokładnie tej literki zabrakło wcześniej.

      Usuń
  13. Wielkie dzięki.
    A cóż to za kolejny IO Shield, M128?

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak tak ;) już niebawem zagości w sklepie ... teraz go testuję do bólu ale też niestety sam się zakochuję w Atmedze128 ;) .... ależ fajnie jest się bawić takim prockiem - nie mogę się oderwać ...

      Usuń
  14. Super poradnik! Odkładałem trochę zabawę z rejestrami, ale widzę, że treba się wziąć do roboty :)

    OdpowiedzUsuń
  15. Oj Panie Mirku Panie Mirku, Niech los daje Panu siły na dalsze nagrania i pomysły! Jak to wiele wyjaśnia i uczy... Najchętniej to "Obejrzał" bym całą "niebieską książkę" omówioną przez Pana. To lepsze niż Moda na Sukces - w pozytywnym znaczeniu.

    OdpowiedzUsuń
  16. Panie Mirosławie, jestem pod wielkim wrażeniem pracy którą Pan wykonuje. Gdybym ja miał takich nauczycieli gdy zaczynałem swoją przygodę z elektroniką (jakieś 20 lat temu) - ile mniej frustracji i nerwów by mnie kosztowało wejście w ten fascynujący świat... Pozdrawiam i życzę siły na następne nagrania!

    OdpowiedzUsuń
    Odpowiedzi
    1. Dziękuję - takie wypowiedzi motywują mnie do dalszych działań ;) będę się starał - byle starczyło czasu, zdrowia i sił ;)

      Usuń
  17. Witam Panie Mirku.
    Na wstepie pragne podziekowac za naprawde swietny kurs eagla ktory sprawil ze sam stworzylem,schemat jak i plytke drukowana oraz samo urzadzenie jakim byl stereofoniczny sluchawkowy wzmacniacz lampowy na pcl86,cos pieknego.
    Prosze wybaczyc jesli pisze nie w tym miejscu co trzeba.

    Zajmuje sie aktualnie led cubem 8x8x8.
    Mam pytanie.....czy ksiazka ''Mikrokontrolery AVR,jezyk c pods.....''
    jest ksiazka,dzieki ktorej naucze sie programowac atmege w jezyku C i pokaze mi jak sterowac rejestrem przesownym w inny sposob niz Pan pokazal w poradniku??
    Mianowicie jestem nemo,czyli nie umie pisac C.

    Pozdrawiam i licze na odpowiedz.

    OdpowiedzUsuń
    Odpowiedzi
    1. Pomyśl sobie - wszystkie poradniki na blogu to tylko uzupełnienie, wsparcie do moich książek - więc jak myślisz - to co w nich opisałem to coś co da dużo więcej ? czy dużo mniej niż video poradniki ? ;)

      Szczególnie niebieska książka jest właśnie dla wszystkich początkujących. Tych którzy jak to piszesz są "nemo" jeśli chodzi o C ;) ... i to nie jest chwyt marketingowy jeśli chodzi o jej tytuł jak to bywa w innych wydawnictwach. Ja nie będę zresztą tu reklamował swojej książki - sam poszukaj w internecie opinii na jej temat - znajdziesz ich na dzień dzisiejszy mnóstwo. Nie obawiam się tego że znajdziesz złe ....

      Ja mogę tylko gorąco polecić książkę - na bazie tego co piszą do mnie czytelnicy. Zresztą hmm zajrzyj też np tutaj:

      http://forum.atnel.pl/topic4789.html

      Usuń
  18. Rozumie Pana
    Chodzi mi tylko o to ze np rozumie metode sterowania rejestrem w sposob jaki Pan przedstawil w tym poradniku,lecz ja bede wyprowadzal z rejestru 5v 40mA,na tranzystor i opor zmniejszajacy tak aby wyjscie moglo obslozuc kolumne 8 Ledow.
    Tak jak Pan napisal,ksiazka wiele mi wyjasni wiec....zakupimy,poczytamy:)
    Nauczymy sie:)

    OdpowiedzUsuń
    Odpowiedzi
    1. Książka wyjaśnia jak właśnie posługiwać się językiem C. To czy będziesz sterował przez tranzystory czy inne takie tam - to już jest kwestia elektroniki.

      Nie mniej jednak polecam ci zainteresować się dużo fajniejszymi rejestrami przesuwnymi, odnośnie których niedługo będą fajne poradniki na blogu ;)

      http://www.sklep.atnel.pl/pl/p/WS2801-SMD/89

      albo:

      http://www.sklep.atnel.pl/pl/p/WS2803-DIP/84

      będzie się działo sporo fajnych rzeczy ;)

      Usuń
    2. Panie Mirku a czy wiadomo na kiedy planowane sa sterowniki odnosnie WS2801 i WS2803 ?
      To bylby dosc ciekawy pomysl na kontynuacje poradnikow na temat rejestrow przesuwnych.

      Pozdrawiam i dziekuje za filmik ! Zaraz zaczynam zabawe z dwoma rejestrami i wszystko dzieki Panu !

      Usuń
    3. Dokładnie jak mówisz - będą poradniki również o tych wspaniałych (co tu dużo mówić) scalakach ;) ale po zakończeniu odcinków poradnika na temat "Magic LED" , który teraz jest w trakcie realizacji ...

      Usuń
  19. Super poradnik ;) Zresztą tak jak każdy inny :D Wielkie dzięki

    OdpowiedzUsuń
  20. Poradnik wspaniały bardzo fajnie prowadzony

    OdpowiedzUsuń
  21. Panie Mirku jestem początkującym w tej dziedzinie i nie mogę poradzić z jednym problemem.
    Chcę zapisać do rejestru SPDR tablicę ośmioelementową typu bool, lub zamienić ją wcześniej na typ uint8_t i dopiero wysłać. Szukałem informacji w książce i w internecie i nic nie znalazłem.
    Pozdrawiam

    OdpowiedzUsuń
    Odpowiedzi
    1. Pomyśl sobie, ty już w samym założeniu robisz MEGA BABOLA pisząc, że chcesz: "zapisać do rejestru tablicę bool" .... no panie - po tym od razu widać, że masz problem na DUŻO wcześniejszym etapie i warto najpierw douczyć się troszkę w podstawach. Co mam na myśli? .... no musisz zacząć od poznania TYPÓW w języku C. Rozumiesz? Bo jak można chcieć zapisywać wartość BOOL do rejestru ? Wiesz co to jest ten typ? Widać, że nie to przypomnę - to jest typ który przechowuje TYLKO dwie wartości i to logiczne: TRUE i FALSE. Owszem w mikrokontrolerze zajmuje on powierzchnię jednego bajtu ale przyjmuje tylko wartości ZERO albo NIE-ZERO. Więc już pal pies czy ty zamienisz BOOL na uint8_t czy na cokolwiek - to co ty chcesz uzyskać w ogóle ?

      Jak zadajesz pytania to staraj się powiedzieć co chcesz zrealizować, zamiast pisać, że chcesz zrobić wydumaną rzecz ... to wtedy łatwiej byłoby ci pomóc

      a tak? .... a tak to ja nawet nie wiem, w którym kierunku iść żeby zgadnąć co ty w ogóle miałeś na myśli....

      Dlatego jak masz książkę (ale jaką? tego też nie napisałeś ) to poczytaj o typach, a później o tablicach ... bo panie kochany

      1. albo NIGDY W ŻYCIU ten jeden raz (co zawsze polecem) nie przeczytałeś od początku do końca mojej książki niebieskiej o ile o niej mówisz oczywiście? A nie chodzi o to aby raz przeczytać i zapamiętać - ale o to żeby zrozumieć w jaki sposób ja podchodzę do przekazywania wiedzy. A zwykle każdy kto rozpoczyna jej czytanie na wyrywki - to tak właśnie kończy i nie ma co się dziwić.

      2. albo czytałeś inną książkę i trudno mi się wtedy odnieść do tego z jakich informacji korzystałeś ... Ja jestem pewien, że do tego aby wysłać coś do rejestru przekazałem w swojej książce ZARÓWNO PODSTAWY C ... ba ale także opisałem DOKŁADNIE jak działać z rejestrem przesuwnym. Do tego zrobiłem poradnik na blogu i wideo ....

      a ty nagle pytasz - jak wysłać BOOL do rejestru i tego w książce nie znalazłeś ani w internecie. I dobrze, że nie znalazłeś bo uwierz mi - nikt na świecie na taki pomysł nie wpadł i na pewno go nigdy nie zrealizował ... ok?

      Usuń
  22. Bardzo szczegółowe omówienie tematu. Gratuluję ciekawego przedstawiania zagadnień cyfrowych.

    OdpowiedzUsuń
  23. piekny poradnik-ale mam pytanie:
    1.chiałbym wyświetlacz led 4 cyfrowy wykorzystać jako wysietlacz wyniku meczu:goscie 88 i gospodarze 88 sterując PRZYCISKAMI2xpo dwa przyciski +- wyświetlane punkty -jak zmodyfikować program dla SPI 74HC595 ? 4.07.2017 wieslaw.luczynski@gmail.com

    OdpowiedzUsuń
    Odpowiedzi
    1. No no nooo ;) ciekawe podejście - pomoc techniczna na maila i to jeszcze ja mam pisać i pytać w czym problem i jak pomóc szanownego Pana ;) ... no tego to ja jeszcze w życiu nie widziałem. Dziękuję uprzejmie - nie mam czasu.

      Usuń