Forum: Mikrocontroller und Digitale Elektronik AT89S8252 macht nicht was er soll


von Alexander (Gast)


Angehängte Dateien:

Lesenswert?

Hi, kann sich vielleicht mal einer von euch das Programm anschauen und 
sagen was ich falsch mache. Beim Start des programmes sollen auf die 
PINs P3.7,P3.6,P3.4,P3.2 eine Spannung von +5V ausgegeben werden, dies 
geschieht aber nur bei PIN3.7, PIN3.6 hat gar keine Spannung, und die 
anderen nur eine Spannung von 0.1-0.5V, die Pins die aus sein sollten 
haben allerdings eine genauso hohe Spannung, PIN3.0 sogar +5V.
bitte helft mir.
Mit freundlichen Grüßen Alex

von Christian (Gast)


Lesenswert?

hi
ich schätz du vergisst, dass der zuletz ausgeführte Befehl rechts: ist 
und nicht gerade1:. Für einen extem kurzen Moment durchläuft er schon 
die gerade1 schleife, aber die letzte schleife, die port 3 ändert ist 
halt rechts: - hoffe das wars.....

mfg
Christian

von András (Gast)


Lesenswert?

Hi!

Also meiner Meinung nach müßte das schon funktionieren. Du setzt 
zunächst den ganzen Port1. Dadurch werden die Bedingungen für den Sprung 
nach rueck nicht erfüllt. Du bleibst also in der Schleife. Ich weiß 
nicht was du für einen Assembler verwendest, aber ich nehme an, daß du 
vor die Zahlen jeweils noch eine Raute # machen mußt. Das dürfte dann 
der Fehler sein.


Viel Erfolg András

von Alexander (Gast)


Lesenswert?

Wenn ich vor die Zahlen noch eine Raute mache, funktioniert schon mehr, 
allerdings bleibt PIN3.6 nachwie vor auf 0V und der PIN 3.3 schaltet 
wenn er auf +5V gehen sollte nur auf +1.1V, weiß zufällig einer wodran 
dass jetzt schon wieder liegen kann?
Mit freundlichen Grüßen Alex

von Meiserl (Gast)


Lesenswert?

Hallo

Kann es sein das du beim Port 3 einen PullUp brauchst?
Habe leider das Datenblatt nicht im Kopf.

von Alexander (Gast)


Lesenswert?

Der Port 3 hat interne PullUps, es ist sind ja auch nur die zwei PINs 
die noch die nicht tun was sie sollen.

MfG lars

von Alexander (Gast)


Lesenswert?

Weiß nicht genau was du meinst, schau dir mal das Assembler programm an, 
an der ersten Nachricht angefügt, aber ich denke das da alles stimmt, da 
die anderen Pins des portes ja funktionieren.

von ERDI - Soft (Gast)


Lesenswert?

Mal ne ganz blöde Frage: Hast du E/A auf High gelegt?

von András (Gast)


Lesenswert?

Hi!

Probier mal anstatt:

mov P1,#0FFh

dieses:

mov P1,#FFh

Mein assembler braucht keine führende Null, es muß allerdings kein 
fehler sein.

cu András

von ERDI - Soft (Gast)


Lesenswert?

Ich meinte damit, ob du den E/A-Pin am Controller auf High gelegt hast? 
Ansonsten erwartet der Controller das Programm in nem externen Speicher 
und "spielt verrückt".
Solltest vielleicht auch mal das ERRATA-Sheet von ATMEL zu dem Prozessor 
anschauen. Könnte vielleicht auch ein Problem in der Richtung sein. 
(Wobei mir allerdings nichts in der Richtung bekannt ist. Ich nutze den 
AT89S8252 auch, ohne bisher solche Problemen gehabt zu haben.
Allerdings hatte ich auch mal ein Programm, das einfach nicht so laufen 
wollte, wie ich es wollte. Bis ich dann gemerkt habe, dass eben dieser 
E/A Pin am Controller auf Masse war. Deshalb gabs da durcheinander.)
Ich hoffe, das hilft ein wenig. Sollte es nicht daran liegen, dann weiß 
ich auch nicht weiter.

Bis denn, ERDI - Soft.

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.