Forum: Mikrocontroller und Digitale Elektronik Port 0 AT89S52


von Fabian H. (fabian2)


Lesenswert?

Guten Abend,

ich bin noch neu hier im Forum und auch ein Neuling in Sachen µC 
Programmierung.

Zu meiner Hardware:

Ich habe mir eine Board mit einem AT89S52 einem 24MHz Quarz und ein paar 
LED´s und dip-Schalter zusammen gebastelt. Mit Keil schreibe ich mein 
Programm in Assembler und mit AT89 ISP Cable + Software beschreibe ich 
den Controller. Soweit funktioniert das auch.

Mein Problem besteht darin, dass ich den Port 0 als ganz normalen 
Ausgang für einen BCD-7Segment Treiber nutzen möchte! Im Datenblatt 
steht, dass man am Port 0 Pull-Up´s braucht für die Nutzung mit einem 
externen Speicher. Aber was muss ich tun, um den Port 0 als normalen 
Ausgang nehmen zu können.
Kriege das irgendwie nicht hin???

von Ralf (Gast)


Lesenswert?

> ... dass man am Port 0 Pull-Up´s braucht für die Nutzung mit einem
> externen Speicher.
Falsch. Nochmal lesen :)

Bei Verwendung von MOVX-Befehlen wird der interne Pull-Up aktiviert, um 
eine Eins auszugeben. Wenn du Port 0 als normalen IO verwenden willst, 
also wie die anderen Ports auch, dann brauchst du externe Pull-Ups, da 
der Port ansonsten nur 0 ausgeben kann, andernfalls ist er open-drain. 
Als Eingang funktioniert er immer, wenn die Gegenstelle 1/0 ausgeben 
kann.

Ralf

von Fabian H. (fabian2)


Lesenswert?

Danke für die schnelle Antwort!

Kann ich als Pull-Up´s 10K nehmen?

von Ralf (Gast)


Lesenswert?

Ja ich denke, Pull-Up im Bereich 2k2 - 10k ist in Ordnung. Davon ist 
abhängig, wieviel Strom du High treiben kannst. Größer geht auch, nur zu 
klein darfs nicht werden, weil bei einem Schalten nach Low sonst der 
interne Transistor hops geht (Stromangabe im DB nachgucken).

Ralf

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
Noch kein Account? Hier anmelden.