M
martin widler
Guest
hi leute!
folgendes: ich will oben genannte tastatur(alle 12 tasten einzeln
herausgefuehrt) an meinen at89s8252 h?ngen.
um nur 2 portpins verwenden zu muessen, waere mein plan zwei 8-bit
schieberegister (SR1,SR2) (z.b.74hc164,singleIn paral.Out) mit den
ausgaengen an die 12 leitungen zu schlieszen. der dataeingang von SR1
liegt an dauerplus, SR2 bekommt sein data vom hoechstwertigen bit von
SR1.die gemeinsame leitung der tasten geht invertiert als eingang an
einen portpin.
in einer abfrageroutine(alle 20ms?) sendet ein uC-ausgangspin dann einen
1-0 impuls an die /clk eingaenge beider SR.
wird dann am uC-eingangspin eine null eingelesen ist taste1 gedrueckt.
wird eine eins eingelesen(taste1 nicht gedrueckt), sende den naechsten
impuls an /clk und lies wieder aus (taste2) usw. bis taste#.
das 13.bit (bit6 SR2) wird mit den clear-eingaengen beider SR verbunden,
wenn also bis dorhin geshiftet wird, ist keine taste gedrueckt und die
SR-ausgaenge werden fuer die naechste abfrage resetet.
wuerde gern wissen ob ich irgendwelche denkfehler gemacht habe.
ein problem stellt sich noch im initialzustand: welchen wert nehmen die
ausgaenge von so einem 74hc164 nach power-on an? 1-0 zufallsmuster?
sollte ich das zu verkorkst erklaert haben, sagt mir bescheid und ich
werde eine zeichnung uploaden.
thanx
martin widler
folgendes: ich will oben genannte tastatur(alle 12 tasten einzeln
herausgefuehrt) an meinen at89s8252 h?ngen.
um nur 2 portpins verwenden zu muessen, waere mein plan zwei 8-bit
schieberegister (SR1,SR2) (z.b.74hc164,singleIn paral.Out) mit den
ausgaengen an die 12 leitungen zu schlieszen. der dataeingang von SR1
liegt an dauerplus, SR2 bekommt sein data vom hoechstwertigen bit von
SR1.die gemeinsame leitung der tasten geht invertiert als eingang an
einen portpin.
in einer abfrageroutine(alle 20ms?) sendet ein uC-ausgangspin dann einen
1-0 impuls an die /clk eingaenge beider SR.
wird dann am uC-eingangspin eine null eingelesen ist taste1 gedrueckt.
wird eine eins eingelesen(taste1 nicht gedrueckt), sende den naechsten
impuls an /clk und lies wieder aus (taste2) usw. bis taste#.
das 13.bit (bit6 SR2) wird mit den clear-eingaengen beider SR verbunden,
wenn also bis dorhin geshiftet wird, ist keine taste gedrueckt und die
SR-ausgaenge werden fuer die naechste abfrage resetet.
wuerde gern wissen ob ich irgendwelche denkfehler gemacht habe.
ein problem stellt sich noch im initialzustand: welchen wert nehmen die
ausgaenge von so einem 74hc164 nach power-on an? 1-0 zufallsmuster?
sollte ich das zu verkorkst erklaert haben, sagt mir bescheid und ich
werde eine zeichnung uploaden.
thanx
martin widler