AT89S52 startprobleme

Gast #219072
Lesenswert?
• ▲
▼
Hallo,

ich versuche zur Zeit mit einem AT89C2051 - den ich allerdings nur als
Seriell zu Parallel converter benutze - einen AT89S52 über dessen SPI
zu programmieren. Das SPI Signal wird dabei per Software auf dem
Computer erzeugt. Vor einem Jahr hat das auch alles super funktioniert,
habe das
Projekt dann kürzlich wieder "rausgekramt" und bekomme nun die
programmierten AT89S52 chips nicht mehr zum laufen :(

Am Programmiergerät sollte es eigentlich nicht liegen, da ich mein
Programm erfolgreich wieder auslesen konnte. Wenn ich den AT89S52
jedoch
resette (benutze z.Zt. nur ein Kabel welches ich kurz auf high setze;
RST ist über 560 Ohm Wiederstand mit GND verbunden) startet das
Programm nicht...

Mein Testprogramm sieht so aus:
begin:
   mov P1, #10101010b
   mov P1, #01010101b
   ajmp begin

Merkwürdig ist, dass ich manchmal nach dem Anlegen der Spannung (ohne
reset) das 10101010 Signal an P1 bekomme, sobald ich dann jedoch
resette, ist der gesamte Port auf high...
Das Programm scheint also schon irgendwie in den Weiten des Speichers
zu sein ;)

Hat jemand eine Idee, was ich falsch machen könnte?
Das ist mein erstes µC Projekt seit so ca. einem Jahr, kann also gut
sein, dass ich irgendwas triviales falsch gemacht hab...

Vielen Dank schonmal im Voraus
Peter
Gast #219074
Lesenswert?
• ▲
▼
Hi,

die Programmierkabel hab ich alle weggenommen, aber nach einem Reset
tut sich nichts :(
EA = 0 (muss das auf 1?), genauso wie P0 = 00H. Bei P1, P2, P3 sind
alle Pins auf 1

Beim Durchmessen von P0 (nach einem Reset) haben dann die LEDs die ich
an P1 habe mal kurz angefangen zu blinken, also das Verhalten gezeigt,
was eigentlich (nur wesentlich schneller) stattfinden sollte.
Könnte es irgendein problem mit der Taktung geben? Sodass das Programm
zu langsam, oder gar nicht läuft? Ich habe allerdings schon mehrere
Quarze mit 12MHz und 22.11...MHz ausprobiert. Der Quarz ist auch nur
5mm vom Chip entfernt.

An meiner noch recht primitiven Resetschaltung bei der ich RST einfach
kurz über ein kabel mit VCC verbinde kann es doch eigentlich auch nicht
liegen, oder?

Gruß
P
Gast #219078
Lesenswert?
• ▲
▼
hi ich weis nicht ob sich das Problem erledigt hat aber ich denke dass
dein Programm einfach nur zu schnell durchgearbeitet wird und due es
garnicht merkst dass die lesd blinken!

versuch mal zwischen die zwei ausgaben eine warteroutine zu machen.

am besten:

   MOV R1, #C8H
   MOV R2, #14H
   WARTE:  DJNZ R1, WARTE
           DJNZ R2, WARTE

so müsste du das blinken auf jedenfall sehen!
Gast #219079
Lesenswert?
• ▲
▼
Hi,

das Problem ist gelöst, es lag an dem EA Pin den ich nicht mit VCC
verbunden hatte.
Das mit der Geschwindigkeit war mir klar. Ich habe zum Überprüfen ein
Oszi angeschlossen.

Trotzdem danke
P

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.