simples Programm will nicht

Gast #64150
Lesenswert?

moin,

teste gerade mit meinem ersten uC herum und bekomme es einfach nicht
hin. Ich compiliere folgendes Programm asem51:
$NOMOD51
$INCLUDE(89s8252.mcu)

main:  MOV  A,#00H
  MOV  P1,A
  MOV  A,#00H
  MOV  P0,A
  MOV  A,#00H
  MOV  P2,A
  MOV  A,#00H
  MOV  P3,A
loop:  SJMP  loop
  END

Mit PonyProg lade ich das Programm dann in den flash aber habe dann
folgende Konstellation:
Port 0: alle 0,17V
Port 1: alle high
Port 2: 1.6 bzw 3.5 V
Port 3:  alle high

Die verification von PonyProg meldet keine Fehler. Hab ich den uC schon
geschrottet?
Ist ueberigens ein ST89S8252

TIM
Gast #64152
Lesenswert?

habs in nem Simulator getestet, macht das was es soll: alle ports aus.
Auch meine sonstigen Programmierversuche funktionieren im Simulator
(Led Lauflicht). Nur eben auf echter Hardware will es nicht.
Muss ich da denn noch irgendwelche extra widerstaende einbauen?  Hab
jetzt einfach LEDs mit Widerstand dran. Die leuchten auch, obwohl sie
das ja eigentlich gar nicht sollten.

TIM
#64155
Lesenswert?

"Port 2: 1.6 bzw 3.5 V"


Das klingt nach externem Code-Zugriff, d.h. Dein Programm im internen
Flash wird garnicht ausgeführt.

Entweder Du machst kein richtiges Reset oder Du hast den EA-Pin auf
extern gesetzt oder, noch schlimmer, offen rumfloaten


Peter
Gast #64156
Lesenswert?

ja, das wars wohl. Hatte EA gar nicht angeschlossen und jetzt auf Vcc
gelegt. Jetzt stimmt die Spannung, nur an den dioden hab so 2.xx Volt.
Ist das normal? Das Datenblatt sag "output high voltage (I = -60uA)
sollen es min. 2.4Volt" sein. Aber ist das nicht ar** wenig? 60uA sind
ja gar nichts!!  Da kann man die Ausgaaenge ja nur als spannungsgeber
benutzen, aber bloss keinen Strom ueber die Ports ziehen!

TIM

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