Fórum témák

» Több friss téma
Fórum » Shift regiszter
 
Témaindító: Zsooti79, idő: Ápr 21, 2008
Lapozás: OK   3 / 6
(#) proba válasza Programmer hozzászólására (») Jún 22, 2010 /
 
Hát a tárolás lábat is illő volna nem 1 -en hagyni.Ahogy nézem a hiba csak az első csoportban jelentkezik .Esetleg a tápszűrő kondikat megspóroltad,vagy az uln nel túl nagy áramot kapcsoltatsz,és ez táp zavarokat okoz...
(#) icserny válasza Programmer hozzászólására (») Jún 22, 2010 /
 
Ha beírod az IC típusszámát a Goole keresőbe, rengeteg mintapéldát találsz. Például ezt...
(#) Programmer válasza proli007 hozzászólására (») Jún 28, 2010 /
 
A válaszodból úgy érzem félreérthető voltam. Nem az ULN kimenete van a regiszter bemenetére kötve hanem fordítva. Az ULN után pedig egy led mátrix van. Próbáltam a lassítást 1ms-ot hagyva minden művelet között s az eredmény ugyanaz volt(hibás).
(#) Programmer válasza proba hozzászólására (») Jún 28, 2010 /
 
A tárolás láb hogy szerepel a datasheetben? A tápszűrő kondik 100u + 100n a stabkocka mindkét oldalán, így nem jó? Nincs szó nagy áramokról egy pár led van az ULN-k után.
(#) Programmer válasza icserny hozzászólására (») Jún 28, 2010 /
 
Keresgéltem én is rengeteget (többek közt az általad belinkelt lapon levő infókat is felhasználtam) de nem igazán találtam hasonló problémát, vagy ha volt akkor azt a nem megfelelő adatkiküldés okozta. Nálam a gond hogy a helytelen bitek csak néha és össze-vissza jelentkeznek.
(#) proba válasza Programmer hozzászólására (») Jún 28, 2010 /
 
Tárolás=latch enable.Nekem volt olyan ,hogy vékony volt a föld vezeték (bár ez inkább számítógép -próba panel közöt fordult elő )
(#) Programmer válasza proba hozzászólására (») Jún 28, 2010 /
 
Tehát ha jól értem a következőt javaslod: miután kiküldtem az összes bitet, állítsam a latch enable-t 1re s utána vissza0-ra?
(#) proba válasza Programmer hozzászólására (») Jún 28, 2010 /
 
Hát nagyjából.Miért hagynád 1-en ,mindenféle zavar írhatja büntetlenül.Meg különben is a következő beírást,hogy kezded megint 0-ról?
(#) Programmer válasza proba hozzászólására (») Jún 28, 2010 /
 
Értem. De ha jól meggondolom akkor így csináltam. A 24 bit kiküldése előtt 0-ra állítom, megtörténik a kiküldés utána latch enable -> 1, s ez ciklusban. Tehát rögtön az 1re állítás után, a következő ciklus elején 0 értéket vesz fel.
Az utolsó kérdésed viszont nem tiszta, esetleg kicsit bővebben?
(#) proba válasza Programmer hozzászólására (») Jún 28, 2010 /
 
Azt írtad "clock 0, adat a DS re, clock 1, clock 0. Miután mind a 24 bit ki lett küldve a latch enable-t 1re állítom."
Ebből az következik hogy a következő 24 bit kiküldése után már nem tudod a tárolást 1-re állítani mert már ott van. Tehát a következő tárolás előtt ezt törölnöd kell Így értettem.(arról nem írtál sehol hogy a ciklus törléssel kezd.)
Esetleg valami extrém magas frekivel járatod az is problémát okozhat.
Esetleg a programodban van némi hiányosság,egy két megszakítás rosszkor jön,és valami változót ,jelzőbitet módosít a főprogiban.Írj rá egy tesztprogramot megszakítás nélkülit ,ami csak ezt a célt szolgálja.Ha azzal is hibázik rsetleg az időzítéseket növelve ,vagy egészen lelassítva kideríthető a hiba oka.
(#) proba válasza Programmer hozzászólására (») Jún 28, 2010 /
 
Ha az ULN nel kapcsoltatsz (valószínű azért mert relatíve nagyobb az áramigény) akkor a stabkocka bemenetén szerintem a 100µF kevés.Utána viszont inkább fólia kondik és 1-2µF + 100 nF ,vagy elkó ,de max 10µF körüli.Ha nagyobb elkót használsz akkor a kocka ki-be menete közé is kell egy fordított dióda.(kikapcsolásnál ne kapjon fordított feszültséget a kimeneti kondiból)
(#) Programmer válasza proba hozzászólására (») Jún 29, 2010 /
 
Az extrém magas frekvencia az mennyitől értendő? Próbáltam úgy is hogy minden művelet után beszúrtam egy 1ms os delayt de a hiba akkor is jelentkezett. Megszakítás csak egy van ami az UART-ot kezeli de az is 3 sor nem nyúl semmilyen jelzőbithez(egyenlőre). A kondenzátorokat kicserélem. Amúgy olvastam olyat is hogy minden IC-t hidegíteni kell főleg ha több van belőlük(3 db regiszter + 3 ULN + UDN). A hidegítés hiánya okozhat ilyet? Van itthon marékra 47n kerámia kondim az jó lenne erre?
(#) proba válasza Programmer hozzászólására (») Jún 29, 2010 /
 
Elvileg minden iC hez kellene ,a lehető legrövidebb lábbal.A 47nF valószínű jó. Az ördög nem alszik, a soros portos megszakítást is vedd ki.
(#) m.joco hozzászólása Jún 30, 2010 /
 
Hello
Egy régi PC alaplapjáról leszereltem egy flash chipet. Adatlapja szerint 128K x 8bit. Gondoltam jó lesz majd valamire, de túl sok lábat foglalna le a PIC-en. Arra gondoltam, hogy az írás-, olvasás engedélyező lábakat és a 8 adatvonalat közvetlenül a mikrovezérlőre kötném, a 17 címbuszt pedig shift regisztereken keresztül címezném. Milyenekből és hogyan lehetne a legegyszerűbben összeállítani egy legalább 17 bites shift regisztert, amit csak serial input és clk lábbal lehetne vezérelni?
Üdv.
(#) Programmer válasza m.joco hozzászólására (») Júl 5, 2010 /
 
Megteszi szerintem a 74HC595. Elvile kellene neked 3 darab (8+8+1) vagy használsz csak kettőt s az utolsó bit megy a vezérlőre. Serial input s a clk láb mellé viszont még fog kelleni feltétlen a latch enable ahhoz hogy a bitek egyszerre jussanak a kimenetre. A 74HC595 adatlapjában találsz leírást mindenre, plusz volt itt a topikban egy link is ami szintén hasznos lehet(bekötés + program a vezérlőnek)
(#) Kovabe hozzászólása Nov 1, 2013 /
 
Sziasztok
PIC-et programoznék flowcode-ban de megakadtam egy 74hc595-ön, A gondom a következö: szeretnék átváltani egy változot data-ra. Ugy gondolom hogy ugye a data-ban pl:00001000 van és ehez hozzá szeretnék addni 00100000 és ebből lenne 00101000. Ez az elképzelés lehetséges?
(#) proli007 válasza Kovabe hozzászólására (») Nov 1, 2013 /
 
Hello! Nem egészen érthető, mi köze a kérdésednek a shift regiszterhez.. De ha a flow-ban programozol, akkor miért nem annak topikjában kérdezed? Amúgy meg az eredmény amit szeretnél bit szinten, az egy egyszerű VAGY kapcsolat a két nyolc bites szám között. üdv!
(#) kaqkk válasza Kovabe hozzászólására (») Nov 1, 2013 /
 
Ha a flow totyikban visszalapozol találsz több példát az 595 kezelésére, a többi már csak matek .
(#) Kovabe válasza kaqkk hozzászólására (») Nov 2, 2013 /
 
Tudom, tudom de pont a matek a bajom, kukk fogalmam sincs hogy hogy is álljak neki ennek a dolognak. Leirom az elképzelésem miről is van szó, adott bemenetekhez tartozna adott shift kimenet és ha több bemeneten (B1 magas=00010100, B2=00011010) van jel akkor összegzi a shift-be (shift=00011110) és együtt a kettöt küldi ki. Na erre milyen matekot kell alkalmazni?
(#) proli007 válasza Kovabe hozzászólására (») Nov 2, 2013 /
 
Hello! Ha már bitekre, programozásra és shift-regiszterre adtad a fejed, akkor az a minimum, hogy a logikai kapcsolatokkal megismerkedsz. Pld itt. De ha a kugliba beütöd, hogy "AND" "OR" "XOR" stb. akkor számtalan találat lesz. üdv!
(#) pucuka válasza Kovabe hozzászólására (») Nov 2, 2013 /
 
Idézet:
„Na erre milyen matekot kell alkalmazni?”

Boole algebrát.
Bővebben: Link
(#) Attila86 hozzászólása Dec 16, 2013 /
 
Sziasztok!
74HC595-öt szeretnék vezérelni PIC-ről. Az adatlapjából kinéztem hogy az egyes lábait hogyan kellene vezérelni és ezt Tinában le is szimuláltam, ott működött is rendesen. Viszont a valóságban nem akar működni sajnos. A programocskám így néz ki:
  1. bsf             CLR
  2.         bsf             ADAT_KI
  3.         bsf             CLK
  4.         bcf             CLK
  5.         bcf             ADAT_KI
  6.         bsf             LATCH
  7.         bcf             LATCH
  8. cimke1
  9.         bsf             CLK
  10.         bcf             CLK
  11.         bsf             LATCH
  12.         bcf             LATCH
  13.         bra             cimke1

Értelem-szerűen a CLR a 74HC595 10-es lába, a CLK a 11-es, a LATCH a 12-es, az ADAT_KI pedig a 14-es. Megmértem és az alacsony és magas szintek tényleg ott vannak a PIC kimenetein és a 74HC595 bemenetein is. És a tápfesze is megvan.
A programot debuggerben léptetgetem manuálisan, azaz az sem lehet probléma hogy esetleg túl gyors a PIC (36MHz-en fut egyébként).
Mi lehet a gond?
(#) proba válasza Attila86 hozzászólására (») Dec 16, 2013 /
 
Van még két bemenete, lehet azokat hagytad üresen.
(#) Attila86 válasza proba hozzászólására (») Dec 16, 2013 /
 
Csak egy van ezeken felül, az OE ami magas impedanciássá teszi az összes kimenetet de az le van kötve földre.

Közben rájöttem, valami kontakthiba van a csatlakozók körül. A PIC és a 74HC595-ök külön nyákon vannak és van köztük két pár csati, ezek valamelyike kh-s.
(#) Hp41C válasza Attila86 hozzászólására (») Dec 16, 2013 /
 
  1. bsf          CLR
  2.             MOVLW   .8
  3.     cimke1
  4.             bcf          ADAT_KI
  5.             btfsc       ADAT,0
  6.             bsf          ADAT_KI
  7.             bsf          CLK
  8.             rrncf        ADAT,f
  9.             bcf          CLK
  10.             decfsz    WREG,f
  11.             bra          cimke1
  12.             bsf          LATCH
  13.             bcf          LATCH
A hozzászólás módosítva: Dec 16, 2013
(#) sdvid hozzászólása Feb 14, 2014 /
 
Hahó! Egy olyan kérdésem lenne, hogy az alábbi kapcsolás működőképes lehet-e? 4 db ilyen panel lenne összefűzve, és vezérelve egy arduinoval?

kapcs.png
    
(#) proli007 válasza sdvid hozzászólására (») Feb 14, 2014 /
 
Hello! Elvileg működhetne, csak a Led-ek áramát nem korlátozza semmi csak HC kimenet ellenállása. Ha minden Led-et bekapcsolod, várhatóan hasmenést kap a HC. üdv!
(#) sdvid válasza proli007 hozzászólására (») Feb 14, 2014 /
 
2 centinél nem akartam szélesebbre a nyákot, ebből a megfontolásból fog csak 3.3V-ról menni (előtétR)
Köszi! ezt akartam csak tudni, hogy működhet remélem fog is :S
(#) proba válasza sdvid hozzászólására (») Feb 15, 2014 /
 
Ehez hasonlónak tűnik.
(#) TWS hozzászólása Feb 25, 2014 /
 
Problémám merült fel a címben megjelölt áramkörrel.
A feladat: ~50 bemenetet beolvasása 74ls166 shift regiszterrel. A bemenetek szimpla komparátor kimenetek.
A probléma: CD4021-es shift regisztert használva minden gond nélkül megy a beolvasás, de a jelenlegi NYÁK-on 74LS166-ot használtam a lábkiosztása miatt. Utólag megbántam, mert nem lett sokkal egyszerűbb a panel. Mivel már késztettem belőle és a regiszter is megvan szeretnék rájönni mi a hiba. Adatlap alapján elvileg minden helyes a kapcsolásban is és a programban is, de az adatvonalon csak a Q7 adat érkezik meg, majd ennek értéke van folyamatosan az adat vonalon.

Esetleg valakinek van valami tapasztalata ezzel az áramkörrel?
Jelenleg egy Arduino-val tesztelgettem. Engedélyező és tiltó lábak fixen tápvonalakra vannak kötve.
Próbáltam informálódni az interneten is, hátha mással is előfordult hasonló, egy-két fórumbejegyzést találtam, de nem lettem okosabb.
Minden segítséget előre is köszönök!
Következő: »»   3 / 6
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem