Ports AT89S8253

Gast #3976174
Lesenswert?

ich wage mich dran zu erinnern das dass alles mit IN OUT im CISC gemacht 
wird das heißt die ganze Umschaltung wie beim Risc ist eigentlich nicht
Notwendig
z.B.

out   P0, akku

dann übernimmt der Controller diese Funktion und weiß selbst das er den 
Port als Ausgang schalten muss mit IN ist es umgekehrt
Gast #3976232
Lesenswert?

die 8051 (zu denen dein µC gehört) haben ein anderes Konzept zu 
Ein/Ausgängen als die meisten anderen µC. Es gibt keine Umschaltung 
zwischen Eingang und Ausgang.

Es funktioniert darüber, dass die Ausgangstreiber stark asymmetrisch 
sind. Wenn du eine 1 ausgibst, dann wird der Pin nur schwach nach oben 
gezogen (µA Bereich, auf Port 0 floatet er sogar völlig). Wenn du außen 
einen Treiber an diesen Pin anschließt, dann kann er die 1 locker 
übertreiben und den Pegel beliebig festlegen. Wenn kein externer Treiber 
angeschlossen ist, dann wird der Pin durch den schwachen Pullup auf 1 
gezogen.

Wenn du eine 0 ausgibst, dann wird diese stark nach außen getrieben - 
dann sollte möglichst kein externer Treiber versuchen, den Pin auf 1 zu 
ziehen, sonst fließt viel Strom.

Also:
- um den Pin als Ausgang zu benutzen einfach den gewünschten Wert 
reinschreiben (und an Port 0 zusätzlich externe Pullups vorsehen).
- um den Pin als Eingang zu benutzen einfach 1 reinschreiben, und den 
Pegel durch den externen Treiber festlegen lassen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren