www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler Hex Zahl & 7 SGA


Autor: Thomas Lutter (tomsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Leute, also kurz zu der Aufgabe, das ganze mit einem MC8 in 
Assembler!
Ich hab jeweils 4 Schalter (0-3 und 4-7), die entsprechen einer Stelle 
einer 2-stelligen Hex-Zahl. Und die stellen sollen jeweils an einer 7 
Segment-Anzeige ausgegeben werden.

So also ich les meinen DIL-Schalter über den Port 1 ein. in das Reg A. 
Speicher das ganze in den Ram und maskier das ganze mal mit 0000 1111 
damit ich die ersten 4 stellen krieg (für die erste 7 SGA) und speichers 
in Reg B ab. Dann das ganze nochmal mit 1111 0000 für die 2 SGA. (so 
meine überlegungen mit Assembler proggn schauts wieder anders aus =( )
und danach muss ich ja meine bin daten aus den Reg B,C einlesen und 
befehl für die 7SGA ausgeben oder?

Dankeschonmal für die Zahlreichen hilfen.!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Lutter schrieb:

> befehl für die 7SGA ausgeben oder?

Ja.
Dei jeweilige Zahl ist doch nichts anderes als der Index in eine 
Tabelle, aus der du das Muster kriegst, welches du an die 7-Seg ausgeben 
musst, damit die jeweils richtigen LED leuchten.

Also:
Anfangsadresse der Tabelle laden
Dazu noch den Indexwert (zb aus B) dazuzählen.
Mit der so erhaltenen Adresse aus dem Speicher das Byte laden (das ist 
dann das auszugebende Muster)
und ab mit diesm Muster auf die 7-Seg


Wie du jetzt auf die 7-Seg ausgeben musst, hängt davon ab, wie die 
angeschlossen sind. Aber das musst du wissen.

Autor: Thomas Lutter (tomsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Start:  In A, 04
  MOV Rs,A

UE1:  MOV A, Rs
  CP 02h
  JPZ ACHT1


ACHT1:  OUT 05, ffh

  ORG 4000h
Rs:  RS 1

so jetzt mal nur für die acht geschrieben hab nur ein problem bei ACHT1:
undzwar ist das ja das ansprechen für die leds oder? bei acht leuchten 
alle also FF. wenn ich das ausgeben sollte es ja funktionieren? gibt 
aber schon ein problem beim assimblieren. wie kann ich die ausgabe sonst 
machen für die leds?
liegen a,b,c,d,e,f,g,dc

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann passt Du nächstes Jahr besser auf, wenn Du die Klasse wiederholst.

Autor: Thomas Lutter (tomsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke hab alles hinbracht läuft perfekt mit meinen gedanken und 
unterstützung dieser von Karl Heinz =)

auf so kommentare von gästen kann man denk ich jedoch verzichten! wenn 
man das ganze erst wieder lernt (auffrischt) du kannst über mich richten 
wenn ich nach einem fertigen code gefragt hab aber so nicht! und als 
gast schreiben ist so und so naja ich überlass dir den rest =)

tread könnt auch closed oder gelöscht werden war ja ned viel informelles 
drin =)

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Lutter schrieb:
> auf so kommentare von gästen kann man denk ich jedoch verzichten!

Schon. Aber diese Forum ist ja nicht nur für Deine Bedürfnisse da.
Ich kann auf diese Kommentare nicht verzichten.

Danke das Du mir Gelegenheit dazu gegeben hast. :-)

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.