Brauche Hilfe bei Assembler-Aufgabe
-
Hallo,
bei folgender Aufgabe bräuchte ich Hilfe.Über Port 1 sollen Daten mit 8 Bit (Dualzahlen) eingestellt werden.
Die Daten sollen an Port 2 als Hexzadezimalzahlen ausgegeben werden.
Beide 7-Segment-Anzeigen sind parallel an Port 2 angeschlossen
und werden über Port 3.6 und 3.7 gemultiplext.
Die 16er-Anzeige wird durch Port 3.7 aktiviert.
Die 1-er Anzeige wird durch Port 3.6 aktiviert.
Es soll die Basis-Index Adressierung genutzt werden.Beispiel: Eingabe an Port 1: 10100011 zeigt an den 7-Segment Anzeigen die Zahl " A 3 " an.
Das ist die Aufgabenstellung. Habe keine Ahnung wie ich da anfangen soll. Hoffe mir kann da jemand helfen.
Danke schonmal
mfg
-
Kein Mensch wird dir bei der Aufgabe helfen können, auch wenn er es gerne möchte und Zeit hätte... Ich hätte jetzt z.B. Zeit und Lust (weil die Aufgabe einfach ist ;)), aber ich weiss nicht, für welche CPU ist denn die Aufgabe gestellt...
Gehe jetzt schlafen, tut mir leid...
-
Oh ganz vergessen ....
Ist ein 8051 von Atmel.mfg
-
Ok, und wo ist da jetzt im Einzelnen dein Problem?
Hast du einen passenden Assembler, weisst wie man ihn bedient und wie das Grundgeruest fuer die Quellcodes aussehen muss?
Hast du die Uebersicht der Mnemonics (kriegst du von der Atmel homepage oder deine Lieblingssuchmaschine...)?
Kannst zB. auch einen Blick hierauf werfen: http://www.mytutorialcafe.com/index Tutorial.htm
Probleme mit der Adressierung..?Oder hakt's am prinzipiellen Verstaendnis der Aufgabe?
Da musst du eigentlich nur in einer Schleife von Port 1 lesen (8bit auf einmal), per and zuerst die unteren 4bit isolieren und danach die oberen 4 Bit per rechtsshift 4 und and. Diese 4 bit benutzt du dann jeweils als Index in eine Tabelle mit Werten, die du nach Port 2 schreibst, um die 7seg-Anzeigen anzusteuern (einfach ein bit per Segment - wie genau das aussehen muss, haengt von der tatsaechlichen Verkabelung ab). Je nachdem, ob du die Werte fuer die unteren oder oberen 4 bits nach Port 2 schreibst, setzt du P3.6 auf 1 und P3.7 auf 0 oder umgekehrt...