Ist es möglich, einen AT89S51-Chip mit einem USB-zu-TTL(UART)-Konverterkabel oder Arduino zu programmieren?

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?1

(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.

Irgendwie eklig, mit dem guten alten 8051 zu gehen, nur weil Sie gehört haben, dass es der "richtige Weg" ist. Der richtige Weg ist, das Mikro zu wählen, das Ihren Bedürfnissen am besten entspricht.
Ich halte mich eigentlich nicht so sehr an diese Theorie, aber hier in Taiwan mögen viele "Profis" (mit Ausnahme einiger von ihnen, die die Maker-Community verstehen) AVR und insbesondere Arduino-artiges Zeug nicht. Sie sagen, dass sie Studenten unfähig machen, in der Industrie zu arbeiten, und ihr Berufsleben ruinieren.
Ich kümmere mich nicht wirklich um diese Kommentare, weil ich denke, dass sie nur Leute der alten Schule mit alten Gedanken sind und dachten, dass Bill Gates das größte Genie der Welt ist. Aber ich interessiere mich sehr für 8051, da sie in der Tat immer noch sehr beliebt sind und es meines Wissens auch der De-facto-Standard der Mikrocontroller ist. UND SIE SIND SEHR GÜNSTIG.
Sie können den folgenden Arduino-Sketch und ein Arduino verwenden, um diesen Chip zu programmieren: wdong.org/wordpress/blog/2012/07/04/… es gibt zweifellos andere, die dasselbe tun, wenn Sie Probleme mit diesem haben.
@PcChou Nun, Bill Gates ist das größte Genie der Welt, aber ich verstehe, worauf Sie hinauswollen.

Antworten (2)

Ich denke, Ihre beste Wette ist es, einen Arduino als ISP-Programmierer zu verwenden. Dieser Artikel erklärt es genauer.

Danke für deine Antwort! Ich werde den Artikel überprüfen
Ist die Verwendung eines USB-zu-TTL(UART)-Konverterkabels zum Programmieren möglich?
Nein. Ein UART ist ein asynchroner Empfänger/Sender. Ein ISP-Programmierer verwendet das SPI-Protokoll, das synchron ist. Das heißt, es erzeugt ein Taktsignal und ein Datensignal, während eine asynchrone serielle Leitung nur das Datensignal (und ein gutes Timing) hat. Die beiden sind nicht austauschbar. Aber es gibt eine Reihe von ISP-Programmierern, die Sie mit Ihrem Computer verwenden können.

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

Nur versuchen wir in diesem Fall, einen 8051 mit einem Arduino zu programmieren.
Danke für deine Antwort! Ich suche nach dem von dir angegebenen Link. Ich werde den Gedanken mit dem RS232-Adapter wohl aufgeben.
Ist die Verwendung eines USB-zu-TTL(UART)-Konverterkabels zum Programmieren möglich?