Hallo,
ich versuche einen AT89S52 µC zu programmieren, habe dabei jedoch so meine Probleme... Das programmiergerät hierfür will ich mir selber bauen. Als ersten Schritt wollte ich den Programming Enable Befehl an den µC senden und testen, ob dieser dann "0110 1001" zurück gibt (sollte er doch, oder?). Das ist mir aber noch nicht so richtig gelungen. Um das Signal zu senden, benutze ich einen von mir programmierten AT89C2051, der dann so ca. 2Bit pro Sekunde sendet, damit ich das Ganze besser beobachten kann.
Der MISO-Port vom Zielcontroller bleibt jedoch immer auf high. Ich bin mir auch nicht ganz sicher ob ich das Prinzip der seriellen Schnitstelle wirklich richtig verstanden habe. Z.Z. versuche ich es folgendermaßen: Nach dem Einschalten sind MOSI und SCK low. Dann wird MOSI je nach dem zu sendenden Bit eingestellt. SCK wird auf high gesetzt und nach einiger Zeit (im Moment zum testen noch 0.5s) wieder auf low. Dann wird das ganze mit dem nächsten Bit wiederholt. Für das 4. Byte, das ja nur gelesen werden soll werden dann beliebige Daten gesendet und MISO überwacht. Der Port bleibt jedoch immer auf high.
Was könnte ich falsch machen? Ich hab noch nicht all zu viel Erfahrung (keine :-) ) mit der Programmierung von µC. Es könnte also ein einfacher Fehler sein.
Gibt es ggf. auf der Seite von Atmel eine genaue Beschreibung der ISP Programmierung?
Gruß + Vielen Dank schon mal, Peter