mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik simples Programm will nicht


Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: edi-edi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stecke dein prograemmchen in einen Simulator fuer '51 familie
alles ok?

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mal ne ganz dumme Frage: An welcher Adresse fängt das Prg an?

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keine Ahnung? Wo sehe ich sowas, wie stelle ich sowas ein? Hab halt
einfach das Programm so wie es ober steht kompiliert und per "write
program memory (FLASH)" mit ponyprog geschrieben.
TIM

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Aber ist das nicht ar** wenig? 60uA sind
ja gar nichts!!"

Das kommt noch aus der TTL-Zeit,da hats dicke gereicht.

Deshalb schaltet man ja auch die LEDs gegen VCC.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.