Forum: Mikrocontroller und Digitale Elektronik Port 0 geht nurnoch als Eingang


von Dome (Gast)


Lesenswert?

Guten Abend,

ich habe folgendes Problem und zwar lässt sich Port0 nurnoch als Eingang 
verwenden, also er ist 0V und ich kann ihn nichtmehr auf 5V schalten,
hat jemand eine Idee, woran es liegen könnte???

ich habe es mit insgesamt 4 Controllern versucht, bei allen das gleiche, 
es waren 2 mal AT89S8252 und 2 mal AT89S8253 die Controller sind 
nagelneu und hatten mal funktioniert.

gruß Dome

von astroscout (Gast)


Lesenswert?

direkt ein Lösung dazu hab ich leider auch nicht. Ich könnte mir aber 
vorstellen, dass der Port evtl. für die Verwendung z.B. als AD-Wandler 
konfiguriert wurde. Guck mal im Datenblatt auf Seite 2, dort stehen alle 
Funktionen, die der Port 0 übernemen kann und überprüfe mal, ob du da 
ggf. irgendwelche Register geändert hast

von Dome (Gast)


Lesenswert?

Ich habe nichts geändert, wollte heute was testen und hab mich 
gewundert, warum aufeinmal der Port0 nicht mehr geht, wenn ich ihn auf 
"LOW" schalte liegen 0 V an wenn ich ihn auf "HIGH" schalte, dann liegen 
0,2V an, der port ist weder belegt, noch kurzgeschlossen...

das programm ist ein einfaches Test-Programm, in dem ich einfach nur 
sage P0 high oder low...

von holger (Gast)


Lesenswert?

>dass der Port evtl. für die Verwendung z.B. als AD-Wandler
>konfiguriert wurde.

Die haben keine AD Wandler. AD bezieht sich auf Adress/Data
falls man den externen Memory Bus benutzt.

>also er ist 0V und ich kann ihn nichtmehr auf 5V schalten,
>hat jemand eine Idee, woran es liegen könnte???

Was hast du da dran gehängt? Die können bei High nur sehr
wenig Strom liefern.

von Dome (Gast)


Lesenswert?

also, es hängt nichts dran, bei high können sie einen strom von 0.89mA 
geben oder sowas in der art, das weiß ich, der port ist an nichts 
angeschlossen gibt aber nur 0,2V aus

von holger (Gast)


Lesenswert?

>also, es hängt nichts dran, bei high können sie einen strom von 0.89mA
>geben oder sowas in der art, das weiß ich,

Bei 60uA ist der Ausgang schon nur noch bei 2.4V.

> der port ist an nichts
>angeschlossen gibt aber nur 0,2V aus

Womit gemessen? Häng mal einen 4k7 Pullup an den Pin dran.

von Dome (Gast)


Lesenswert?

OK, ich hab nen neuen PC, hab heute erst Keil neu drauf gemacht und hab 
es jetzt testen wollen, das prog was davor drauf war, da ging P0 noch, 
kann das sein, das ich zu dumm war und nen fehler beim einstellen von 
Keil gemacht habe?!

von Dome (Gast)


Lesenswert?

gemessen mit einem Multimeter

von holger (Gast)


Lesenswert?

>gemessen mit einem Multimeter

Wenn du den Pin ganz schnell ein und wieder ausschaltest
kannst du dein Multimeter vergessen. Schreib dir ein Programm
was den Pin nur einschaltet und miss dann nochmal.

von Peter D. (peda)


Lesenswert?

Dome schrieb:
> ich habe folgendes Problem und zwar lässt sich Port0 nurnoch als Eingang
> verwenden, also er ist 0V und ich kann ihn nichtmehr auf 5V schalten,
> hat jemand eine Idee, woran es liegen könnte???

Es liegt daran, daß Du das Datenblatt nicht gelesen hast.
P0 ist nämlich open-drain.
Um 5V zu messen, mußt Du externe Pullups anschließen.


Peter

von Dome (Gast)


Lesenswert?

ich schalte den port ja auf high bzw. zum vergleichen alle 4 ports und 
alle gehen nu der port 0 nicht ;-)

von holger (Gast)


Lesenswert?

>P0 ist nämlich open-drain.

Da hat Peter wohl recht;)

Port 0 is an 8-bit open drain bidirectional I/O port. As an
output port, each pin can sink eight TTL inputs. When 1s
are written to port 0 pins, the pins can be used as highimpedance
inputs.

Also Pullup dran wie ich schon vorgeschlagen hatte und gut.

von Dome (Gast)


Lesenswert?

ich programmiere jetzt schon seit 2 jahren und habe den Port 0 immer als 
Ausgang ohne Pull Ups verwendet und es ging bis jetzt immer, sonst wäre 
meine Projektprüfung nie gegangen ^^

ja, ich kenne das Datenblatt und zu dem, habe ich grade Keil neu drauf 
gemacht und jetzt geht es wieder, mhm, also ohne Pull Ups, ich fand es 
damals auch komisch, das es ohne geht, aber es geht =D

Trotzdem danke an euch =)

von Jobst M. (jobstens-de)


Lesenswert?

Wenn Du an P0 externen Speicher hängst, dann benötigst Du keine 
Pull-ups.

Wenn Du P0 als Port betreibst, benötigst Du welche. Und wenn sie in dem 
Teil sitzen, den Du dort anschliesst. Sonst geht es nicht. Egal mit 
welcher SW.

Wenn Du sagst, es geht komplett ohne Pull-ups, dann glaubt Dir das 
keiner hier. Irgendetwas wirst Du verändert haben.


Gruß

Jobst

von Andreas D. (rackandboneman)


Lesenswert?

"Wenn Du sagst, es geht komplett ohne Pull-ups, dann glaubt Dir das
keiner hier."

Evtl hatte er immer echte TTL oder auf VCC bezogene Lasten daran hängen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dome schrieb:
> ja, ich kenne das Datenblatt
Hast du es auch gelesen?
1
Port 0 is an 8-bit open drain bi-didirectional I/O port. As an output port, each pin can
2
sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-
3
impedance inputs.
4
5
Port 0 can also be configured to be the multiplexed low-order address/data bus during
6
accesses to external program and data memory. In this mode, P0 has internal pull-ups.
7
8
Port 0 also receives the code bytes during Flash programming and outputs the code
9
bytes during program verification. External pull-ups are required during program
10
verification.
Steht eigentlich alles klar+deutlich drin: nur bei Verwendung als AD-Bus 
werden Pullups aktiviert.
ALLE anderen Ports verhalten sich anders und haben fest eingebaute 
Pullups.

> habe ich grade Keil neu drauf gemacht und jetzt geht es wieder
Da solltest du aber mal genau kontrollieren, ob du nicht noch was 
anderes auch gemacht hast...

von Jobst M. (jobstens-de)


Lesenswert?

Andy D. schrieb:
> Evtl hatte er immer echte TTL oder auf VCC bezogene Lasten daran hängen.

Jobst M. schrieb:
> Und wenn sie in dem
> Teil sitzen, den Du dort anschliesst.


Gruß

Jobst

von Dome (Gast)


Lesenswert?

Guten Morgen,

nene ich hab son fertiges Board, auf dem sind schon Pull Ups drauf, die 
man mit Jumper "aktivieren" kann, es lag an Keil

von Heinz (Gast)


Lesenswert?

>  ... es lag an Keil ...

Schlamperei, dass die nicht vorbeigekommen sind und die Jumper gezogen 
haben.

von rudi (Gast)


Lesenswert?

Dome schrieb:
> es lag an Keil
welche Version???

von Dome (Gast)


Lesenswert?

is die ganz neue, glaub die 4er Version, war scheinbar was verstellt, 
denn jetzt geht es wunderbar

von Jobst M. (jobstens-de)


Lesenswert?

Heinz schrieb:
> Schlamperei, dass die nicht vorbeigekommen sind und die Jumper gezogen
> haben.

Haben sie doch!

Und mit der Neuinstallation ist wieder jemand vorbeigekommen und hat sie 
wieder gesteckt.

Das nenne ich mal Service!

**rotfl*


Gruß

Jobst

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.