dafür könntest du ein Schieberegister mit parallelem Input und seriellem Output verwenden, genaue Bezeichnung hab ich allerdings nicht im Kopf
Hi, habe da ein kleines problem, wo ich keine lösung bisher für finde.
Also ich habe hier ein Modul was 8 Ausgänge hat die für eine sekunde auf High schalten. So nun ist mein Problem das ich a keine 8 eingänge am controler habe und teilweise 2 pins high geleght werden. um so mehr als 8 zustände darzustellen.
Giebts vieleicht ein IC der so was kann also 8 ports überwchen und dann über max 3 Leitungen die Daten zum Pic giebt...
Hilfe...
dafür könntest du ein Schieberegister mit parallelem Input und seriellem Output verwenden, genaue Bezeichnung hab ich allerdings nicht im Kopf
Kommen die 8 Eingänge mit einer One-Hot-Codierung (immer nur 1 von 8 high)? Weil dann könnte man diese durch 3Bit codieren. Ansonsten gibt es ja 256 Kombinationen, die nur seriell, also hintereinander durch 3Bit darstellbar wären...
MK
Hallo Anubisbot!
Das Problem habe ich auch gehabt und mit einem Schieberegister 74xx166 gelöst. Im Code ist ein Schaltplan und dazugehöriges Unterprogramm (DataRec) für PIC´s. Die 8 Bits werden zuerst mit Load parallel in den Schieberegister geladen, mit dem Clock vom PIC seriell in DTmp7 eingelesen und danach in A6 kopiert. Es werden 3 I/O Pins vom PIC benötigt: _PLE (Load), _CKI (Clock) und _DTI (Data).
MfG
Code:D D D D D D D D 7 6 5 4 3 2 1 0 V V V V V V V V | | | | | | | | | | | | | | | | | | | | | | | | .-----------------. | 1 1 1 1 5 4 3 2 | | 4 2 1 0 15|-------> _PLE zum PIC | 7|-------> _CKI | 74xx166 6 13|-------> _DTI '-----------------' | === GND DataRec call DatLoad call DatRec movf DTmp7,0 movwf A6 return DatLoad bcf _CKI bcf _PLE bsf _CKI bcf _CKI bsf _PLE return DatRec movlw 7 movwf DTmp1 SRec call CopyDTI rlf DTmp7,1 bsf _CKI bcf _CKI decfsz DTmp1,1 goto SRec call CopyDTI return CopyDTI bcf DTmp7,0 btfsc _DTI bsf DTmp7,0 return
Danke erst mal für die Tips, ich glaube die Variante Picture ist die richtiege..
Nur das ich ein picaxe chip habe, und nicht so genau weis wie es dort funktioniert, da ich allgemein noch ein kleiner newbe bin : )
Ich denke es geht so, aber bitte koregiert mich wenn ich falsch liege..
ich bruache2 outports und ein Seriell in Port ?
Load wird high/ low zum daten sammeln
Clock wird high/ low um daten aus dem chip zu holen
Data ist die input leitung als Serielle leitung rein.( schiftin )
Oder bin ich total falsch ???
Hallo Anubisbot!
Du bist total richtig!
Viel Erfolg!
MfG
Und wo bekomme ich den Chip ????
Je nach dem welche Logikfamilie Du in Deiner Schaltung schon hast, kannst Du den Chip aus gleichen Familie verwenden. Es gibt 74LS166 (TTL) und 74HC166 oder 74HCT166 (CMOS). Den Chip hat z.B. der Reichelt (am billigsten). Mindestbestellwert 10€.
www.reichelt.de
MfG
Danke für die Hilfe, werde berichten wie es mir ergangen ist ...
MfG
o:R
Ich werde das Thema beobachten, aber ich hoffe für Dich auf Erfolg und erwarte keine weitere Fragen.
Viel Spass!
MfG
Lesezeichen