Hallo, nein das hier ist keine Hausaufgabe und ja, ich versuche das wirklich zu verstehen und nein, ich will nicht nur das Ergebnis.. Die Aufgabe: Der Eingabe-/Ausgabe-Baustein 8255 hat die (hexadezimale) Grundadresse 64h und ist mit folgendem Kontrollwort (im Steuerregister) konfiguriert: 98 (hexadezimal) aus der 96h habe ich folgendes entnommen: MSB: 1 <- Mode Set Flag = aktiv 0 <- Mode 0 0 <- Mode 0 1 <- PortA= Input 1 <- PortC= Input (Upper) 0 <- Mode 0 0 <- PortB= Output 0 <- Port C = Output ( lower) An den peripherieseitigen Portleitungen sind folgende hexadezimalen Signalwerte gegeben: Port A : 12h Port B : 00h Port C : A3h Der μP führt nun folgende EA-Operationen zwischen seinem Akkumulatorregister AL und den Ports durch: IN AL, 64h ; Wert aus der Peripherie nach AL einlesen XOR AL, 25d ; Exklusiv-ODER Verknüpfung mit Dezimalwert, ; Ergebnis steht in AL OUT 66h, AL ; Ausgabe des AL-Wertes OUT 65h, AL ; an die Peripherie Welche hexadezimalen Werte befinden sich nach den Ausgabebefehlen in den Ports? Port A : 12h , da Port A ein Input ist Port B : 0bh , berechnet durch Programmablauf, da Port B ein Output ist Port C : ? Wie ihr seht habe ich mir schon einige Gedanken gemacht. Wie Verhält sich der Port C, bzw wie komme ich zum Wert in Port C? MfG
Dazu müßte man erstmal das Datenblatt dieses uralten Chips aus dem Museum klauen. Wie steuerst Du ihn überhaupt an (CPU, Adreßmapping).
Mal grob ins Blaue geschossen: Adresse 0x64 scheint Port A zu adressieren, 0x65 Port B und 0x66 Port C. 0x12 XOR 25 (=0x19) = 0x0B Die 0x0B siehst du ja auch an Port B. OUT 66h, AL ; Ausgabe des AL-Wertes OUT 65h, AL ; an die Peripherie Es sieht mir so aus, als ob die 0x0B auch an Port C ausgegeben werden. Da die oberen 4 Pins ja anscheinend als Input konfiguriert sind, kommt also am lower Teil (Output) die 0xB an. Woher hast du die Information über die Bits im Steuerregister?
:
Bearbeitet durch User
> Dazu müßte man erstmal das Datenblatt dieses uralten > Chips aus dem Museum klauen. Keine Ahnung, ob das weiterhilft, aber bitte.
Joe F. schrieb: > Woher hast du die Information über die Bits im Steuerregister? Steht alles im Datenblatt - man kann auch das des 82C55 zu Rate ziehen. Wenn im Akku 0bh steht und an Port C vor der Operation A3h, dann steht nach dem Schreiben in Port C also ABh, denn das obere Nibble ist ein Eingang, an dem lt. Aufgabe A3h stand.
:
Bearbeitet durch User
Joe F. schrieb: > Woher hast du die Information über die Bits im Steuerregister? Der Eingabe-/Ausgabe-Baustein 8255 hat die (hexadezimale) Grundadresse 64h und ist mit folgendem Kontrollwort (im Steuerregister) konfiguriert: 98 (hexadezimal) Die habe ich aus der 98h. Und im Skript steht dann das, was ich hinter jedes Bit ergänzt habe
Matthias S. schrieb: > dann steht > nach dem Schreiben in Port C also ABh, denn das obere Nibble ist ein > Eingang, an dem lt. Aufgabe A3h stand. genau das dachte ich auch die ganze Zeit. ist auch richtig so habe ich gerade Festgestellt, dass mein PROF lediglich vergessen hat, das h für hexadezimal in die Musterlösung des Eingabefelds zu schreiben. Ich habe mich schon gewundert, wieso ABh falsch ist... AB funktioniert aber, obwohl bei den 2 Lösungen davor jeweils ein h dahinter musste... Vielen Dank für eure Hilfe! =)
Matthias S. schrieb: > Steht alles im Datenblatt Ja, OK, das habe ich jetzt auch gefunden. Ich fragte ja TO, woher er diese Info hat, denn angeblich: Peter93 schrieb: > Ich habe dazu nur noch folgendes Bild als Information und dann später: Peter93 schrieb: > Die habe ich aus der 98h. > Und im Skript steht dann das, was ich hinter jedes Bit ergänzt habe Ich werde irgendwie nicht schlauer. Wie "hat man die" aus "der 98h", und welches Skript? Egal. Es gibt auch noch ein (nicht eingescanntes) Datenblatt: http://www.pci-card.com/8255.pdf
Peter93 schrieb: > Hallo, nein das hier ist keine Hausaufgabe Peter93 schrieb: > ist auch richtig so habe ich > gerade Festgestellt, dass mein PROF lediglich vergessen hat
98h = 1001 1000 in binär, in meinem Skript von der uni steht, was die verschiedenen bits im steuerregister heißen, ob die ports outputs oder inputs sind und welcher mode aktiv ist
@Joe F. (easylife) Es ist eine vorbereitung für eine Klausur. Ich konnte mir nicht erklären, was an meinem Ergebnis falsch sein sollte und habe deshalb mal nachgefragt, also keine Hausaufgabe.
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.