HELP Ich möchte 4 BCD Tasten an einem Port per multiplex abfragen und an anderem Port als hex Zahl ausgeben.Dabei soll der Port D0-3 als Eingang zum einlesen der BCD tasten dienen und D4-7 als Ausgang zum ansteuern der BCD segmente. Mein Problem ist das Einlesen der einzehlnen Tasten in das Register, der avr liest nur die erste BCD Taste und wertet es als alle vier Tasten aus.Also es ist egal was ich an den anderen 3 Tasten einstelle,wertet er nur die erste aus. Danke für alle Antworten
Es gibt da ein IC namens HCF4532. Das ist ein Prioritätsdecoder an dem man max. 7 Taster anklemmen kann. Als Ausgang steht ein 3bit BCD - Code sowie Controlausgänge zur verfügung. Gruß, Günter
Hallo Peter, mit BCD Taste meine ich ein Tastensegment mit + und - knöpfen zum vorwählen von Zahlen 0-9. Diese werden dann an vier Anschlüssen binär ausgegeben. Der fünfte gem. Anschluss dient zur ansteuerung des Tastensegments. Ich möchte diese dann mit Port D eines 8515 abfragen. Bits 0-3 zum einlesen und Bits 4-7 zum ansteuern der vier Tastensegmente.(Siehe Anhang)allerdings frage ich hier einfachheithalber nur zwei Segmente ab.Die BCD Tasten sind LOW-aktiv.
Hallo, BCD-Tasten sind normalerweise als Platine mit geätzten und vergoldeten Schleifringen aufgebaut. Diese Platine steht nach hinten ein wenig heraus, wo dann Lötaugen zum Anschluß der fünf Kontakte sitzen. Oft ist sogar eine zweite Reihe Lötaugen vorhanden, wo Dioden eingelötet werden können. Ansonsten musst Du die Dioden irgendwo anders unterbringen. Den gemeinsamen Anschluss der jeweiligen Taster legst Du dann auf Deine Bits 4-7, die über Dioden entkoppelten BCD-Anschlüsse gemeinsam an die Bits 0-3. Sollte funzen. Spaß, Chris
Hallo Chris, ja die Hardware funzt bei mir.Nur mit der Software komme ich noch nicht klar. Gruß Arthur
Wenn Du Probleme mit der Software hast, mußt Du sie uns schon zeigen. Hellsehen können wir nicht. Aber einen Schaltplan mußt Du auch dazutun, der geht nähmlich nicht aus Deinem Text hervor. Diese BCD-Kodierschalter geben doch schon 4 Bit raus, was willst Du denn da multiplexen ? Wenn ich z.B. einen 4-stelligen Wert eingeben will, mache ich das mit 2 einfachen Tasten. Mit der einen zähle ich das Digit hoch und mit der anderen schalte ich zum nächsten Digit weiter. Das gewählte Digit blinkt solange. Wenn man durch ist, blinkt nichts mehr. Will man wieder was ändern, muß man die Digittaste länger drücken bis das 1. Digit wieder blinkt usw. Hier erfolgt z.B. die Einstellung der Weckzeit auf diese Weise: http://www.specs.de/users/danni/appl/soft/c51/thclock/index.htm Peter
Hallo Peter hier ist die "Software" als Dateianhang.Ich habe es einfachheithalber auf zwei BCD tasten reduziert.Kann aber trotzdem das Problem nicht lösen. Vielleicht kannst Du es auch aus meinem Programm erkennen wie die Tasten angeschlossen sind. Den Schaltplan werde ich noch reinstellen, da ich keinen habe weil es sich um ein von mir selbstgebastelltes Versuchsboard handelt. Danke für den link aber ich kann mit C nichts anfangen. Ich bin Anfänger in diesen Sachen und kann nur mit Assembler etwas anfangen.
Ich hab`s es lag fehlte jeweils nur ein NOP nach den cbi PORTD,... Befehlen. Warum??
Die Ports werden synchronisiert, dadurch entsteht ein 1,5 Takt delay ist im Datenblatt beschrieben. Ist allerdings ein beliebter Stolperstein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.