mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BCD Tastenabfrage


Autor: ArthKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was sind "BCD Tasten" ?

Peter

Autor: Günter König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ArthKo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian Hartz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ArthKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Chris,

ja die Hardware funzt bei mir.Nur mit der Software komme ich noch nicht 
klar.

Gruß
Arthur

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/thcl...


Peter

Autor: ArthKo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: ArthKo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier der Schaltplan.
Gruß
Arthur

Autor: ArthKo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab`s es lag fehlte jeweils  nur ein NOP nach den cbi PORTD,... 
Befehlen. Warum??

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ports werden synchronisiert, dadurch entsteht ein 1,5 Takt delay ist 
im Datenblatt beschrieben. Ist allerdings ein beliebter Stolperstein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.