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

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