Ports of 0851
-
Hiho,
ich verstehe das lesen/schreiben eines Ports-pin und eines Port-Latches nicht ganz.
Was kann ich jetzt wo genau machen?
Alle 4 Ports dienen als In- und Output richtig?
Bei welchen Port(0-3) kann ich jetzt schreiben und lesen und wie verknüpfe ich das mit den Befehlen?
Port-Latch ist doch das D-FF und Port-Pin der Anschluss am 8051. Richtig?
Also ich verstehe das Grundprinzip von Port 1: Wenn wir ins Port Latch ein 1 Schreiben ist Q=1 und Q-NICHT=0 --> Spannung am Transistor ist niedrieg und (fast) alles fällt am Pull Up Widerstand oben ab --> Es ist ein High am Pin Port.
Wie beschreibe und lese ich nun ein Port-Latch und wie beschreibe und lese ich einen Port Pin?
Sind die Schreib- und Lesevarianten bei allen Ports(0-3) gleich?
mfg tom55
-
Hier das Bild zu den 4 Ports:
http://img7.imagebanana.com/img/ilksbo36/thumb/ports.png
-
tom55 schrieb:
ich verstehe das lesen/schreiben eines Ports-pin und eines Port-Latches nicht ganz.
Faustregel für µC: Schreiben auf die Port-Latches, lesen von den Port-Pins. Wenn Du von den Port-Latchess liest, dann bekommst Du nur, was Du zuletzt geschrieben hast und nicht, was tatsächlich an den Port-Pins anliegt. Wenn Du auf die Port-Pins schreibst, passiert meist gar nichts.
ABER: In der 8051-Architektur sind die Ports im Datenspeicher einheitlich gemappt (z.B. Port 1 auf Speicherzelle 90h). Diese Speicherzelle kannst Du lesen und schreiben, ohne Dich um Latch oder Pin zu kümmern - dies sogar bitweise.
Was kann ich jetzt wo genau machen?
Alle 4 Ports dienen als In- und Output richtig?
Ja.
Bei welchen Port(0-3) kann ich jetzt schreiben und lesen und wie verknüpfe ich das mit den Befehlen?
Du kannst alle Ports beschreiben und lesen. Das elektrische Ergebnis kann sich unterscheiden.
Port-Latch ist doch das D-FF und Port-Pin der Anschluss am 8051. Richtig?
Ja.
Also ich verstehe das Grundprinzip von Port 1: Wenn wir ins Port Latch ein 1 Schreiben ist Q=1 und Q-NICHT=0 --> Spannung am Transistor ist niedrieg und (fast) alles fällt am Pull Up Widerstand oben ab --> Es ist ein High am Pin Port.
Wo und was bei Elektronikers alles abfällt, habe ich noch nie richtig kapiert. Aber sinngemäß ist das richtig.
Wie beschreibe und lese ich nun ein Port-Latch und wie beschreibe und lese ich einen Port Pin?
Grundsätzlich liest und schreibst Du in eine Speicherzelle. Netterweise musst Du die Dir nicht merken, der Assembler bietet Dir eine Kurzschreibweise an:
mov A, P0 ; von Port 0 lesen
mov P0, A ; auf Port 0 schreibenSind die Schreib- und Lesevarianten bei allen Ports(0-3) gleich?
Typische Hausaufgabenfrage. Guck doch in Deine Unterlagen! Ich sage mal: "Nein" (Stichwort: Open Drain oder nicht), weiß aber nicht, was Du oder Dein Lehrer unter "Schreib- und Lesevarianten" verstehen. Wenn es sich dabei nur um die Memnonics handelt, dann "Ja". Bei Nutzung von Alternativfunktionen: "Nein". Usw.
Mit elektronischen Fragen bist Du übrigens besser hier aufgehoben:
http://www.elektronik-kompendium.de/forum/board.php
Mit einiger Frustrationstoleranz auch hier:
http://www.mikrocontroller.net/forum/mikrocontroller-elektronik (Lies erst einmal ein paar Beiträge, damit Du weißt, was Dich erwartet)
viele grüße
ralph