Vor kurzem habe ich die Chance, einen AT89S52-Chip zu bekommen, aber ich habe keinen geeigneten Programmierer dafür. Ich bin neu bei Mikrocontrollern, insbesondere bei der MCS-51-Serie, aber ich habe gehört, dass MCS-51 der "richtige Weg" ist, um Mikrocontroller-Sachen zu machen, und ich würde gerne versuchen, es zu lernen.
Ich habe einen USB-zu-TTL-Konverter (UART) (mit dem PL2303HX-Chip), ein Arduino Uno-Board und ein Raspberry Pi-Board.
Ich habe im Internet nach Informationen zum Programmieren des Chips gesucht, aber die meisten Informationen und Schaltpläne beziehen sich auf den seriellen RS-232-Anschluss oder den parallelen Druckeranschluss oder einige andere teure kommerzielle Programmierprodukte. Da ich keinen RS-232- oder Druckeranschluss an meinem Computer habe, kann ich diesen Diagrammen oder Tutorials nicht folgen.
Ich habe mit einem Freund von mir gesprochen, der mit 89C51 vertraut ist, und er sagte mir, dass es laut Atmels Datenblatt zur seriellen Programmierung des 89S51-Chips tatsächlich technisch möglich ist, den Chip mit Arduino oder Raspberry Pi zu programmieren, aber er ist es nicht sicher, ob es mit einem USB-zu-TTL-Konverter (UART) machbar ist.
Ich habe keine klaren Informationen zum Protokoll der seriellen 89S51-Programmierung gefunden (einige sagen, dass es SPI ist, andere sagen, es ist nicht), was vielleicht daran liegt, dass ich keine Englischkenntnisse oder Kenntnisse über Elektronik habe verwirrt.
Ist es also möglich, einen AT89S51-Chip mit einem USB-zu-TTL(UART)-Konverter oder einer einfachen Schaltung damit zu programmieren? Wenn nicht, ist es möglich, es mit einem Arduino-Board oder Raspberry Pi zu programmieren? Hat jemand diese Dinge schon mal gemacht?
Wenn das alles nicht möglich ist, kann ich dann einen USB-zu-RS-232-Konverter mit einem seriellen Programmierer wie diesem verwenden?
(Ich bekomme dieses Diagramm von hier )
Vielen Dank im Voraus.
PS Viele der kommerziellen Produkte sind für mich nicht nutzbar, da ich nirgendwo einen Windows-Rechner in Reichweite habe.
Ich denke, Ihre beste Wette ist es, einen Arduino als ISP-Programmierer zu verwenden. Dieser Artikel erklärt es genauer.
Der Adapter, den Sie im Schaltplan bereitstellen, erfordert ein Bit-Banging des Protokolls an den Pins der seriellen Schnittstelle. Es ist auf Computern mit serieller Schnittstelle des Motherboards möglich.
Wenn es jedoch um USB-RS232-Adapter geht, können die meisten Daten nur über die Rx-Tx-Leitungen mit dem Standard-RS232-USART-Protokoll senden. Es funktioniert nicht, weil es bestimmte Pins der seriellen Schnittstelle nicht umschalten kann.
Eine ähnliche Programmierschnittstelle (PonyProg mit SIProg-Hardware) funktioniert mit solchen Adaptern nicht.
Ja, es ist möglich, 8051 mit einem Arduino zu programmieren: Using Arduino to program at89s51
Dave Van den Eynde
Ping-yu Chou
Ping-yu Chou
Adam Davis
Dave Van den Eynde