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

74HC595, SPI, Bascom - Nie działa rejestr przesuwny

pawelec5 23 Lip 2014 19:03 3489 6
REKLAMA
  • #1 13820107
    pawelec5
    Poziom 17  
    Witam,

    Chciałem się zainteresować rejestrem przesuwnym 74HC595 jako rozszerzenie AVR o kolejne wyjścia lecz coś mi to w symulatorze ISIS nie działa. Proszę zerknijcie i wypowiedzcie się gdzie popełniam błąd. Proszę nie krytykujcie małej znajomości obsługi SPI i ISIS ponieważ dopiero się zaprzyjaźniam z tematem.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    74HC595, SPI, Bascom - Nie działa rejestr przesuwny 74HC595, SPI, Bascom - Nie działa rejestr przesuwny

    Widziałem na necie również rozszerzenie avr o kolejne wejścia 74HC165 ale nie wiem czy podołam z tematem bez Waszej pomocy.
  • REKLAMA
  • #2 13820458
    Intre
    Poziom 11  
    Podam Ci linki do rozwiązania ale może to nie w Bacom a w C ale mogło by Cie nakierować. Na pewno na poprawność podłączenia i ewentualnej kompilacji tak żeby sobie tylko przetestować działanie rejestru. W filmie tam masz opowiedziane o tym rejestrze z notą jak i samą komunikacje z SPI, w Bascomie zapewne będzie analogicznie. Myślę że warto to zobaczyć przez Ciebie, a kto wie może Ci pomoże.


    mirekk36.blogspot.com/2013/09/rejestr-przesuwny-74595-podstawy.html
  • REKLAMA
  • #3 13888527
    pawelec5
    Poziom 17  
    Witam ponownie.
    Okazuje się że wszystko jest oki. Program do symulacji nie działa. Podłączyłem dzisiaj wszystko na płytce i działa.
    Teraz problem pojawia się jak sterować każdym wyjściem osobno. Tzn. jak stworzyć bajt z konkretnymi jedynkami i zerami.

    Np. 10010100

    a potem zmienić tylko ostatnie wyjście na 1

    10010101
  • #4 13889009
    nsvinc
    Poziom 35  
    '595 to jest SIPO z zatrzaskiem. Więc musisz najpierw wzegarować do niego 1001 0110, potem 'machnac' sygnałem STCP - w tym momencie złapie zatrzask, i na wyjsciach scalaka pojawi się 1001 0110. Trzymając zatrzask w stanie zatrzaśniętym, wzegarowujesz do niego nową wartosc (np. 1001 0101) - jednak z powodu tego, ze zatrzask jest zatrzasniety, nie zobaczysz tego na wyjsciach scalaka. Dopiero kolejne machniecie STCP spowoduje, ze nowa wartosc pojawi się na wyjsciach. Tym sposobem wyjscia scalaka zmieniły się z 1001 0110 na 1001 0101, 'natychmiastowo', i nie widzialy one procesu wzegarowywania bit po bicie nowych wartosci.
  • REKLAMA
  • #5 13947758
    pawelec5
    Poziom 17  
    Oki dzieki za pomoc. Udało mi sie ogarnąć 74hc595 a czy ktoś ma jakieś doświadczenie z 74hc165??? Sporo już z tym zcalakiem walczę i nie mogę go ogarnąć.
    Chodzi oczywiście o język Bascom.
  • #6 13949261
    nsvinc
    Poziom 35  
    Funkcjonalnosc jest odwrotna do '575, czyli PISO.

    CE i DS podlacz na stałe do masy.

    Na wejsciach D0..D7 masz jakies stany. Zeby je 'zatrzasnąć' do wnętrza scalaka, ustaw pin PL na niski. Na Q7 pojawi się stan D7.

    Potem ustaw PL na wysoki, i generując zbocza narastające na CP na wyjsciu Q7 będą się pojawiać stany kolejno D6,D5,....,D0 a potem same zera ;]
  • REKLAMA
  • #7 13979428
    pawelec5
    Poziom 17  
    Dzięki wszytko działa według Twojego opisu.
    ISIS PROTEUS ma bibloteki tych scalaków ale ich nie symule w sposób poprawny.
    Pozdrawiam
REKLAMA