Hallo,
ich hab gerade mächtig sch**** gebaut.
Hab für 9 Euro inkl. Versand 20 von diesen AT89C2051 ersteigert.
Kommen nächste Woche.
Hab gerade gelesen das ich dafür so einen Parallel Port Programmer bauen
muss. Geht das auch einfacher vielleicht per USBAsp?
Oder kann ich mir in Fernost irgendwo einen billigen Programmer kaufen?
Hab bereits einmal gelitten beim Eigenbau meines AtMEga Programmers...
Grüße
Franz
Franz W. schrieb:> Hab für 9 Euro inkl. Versand 20 von diesen AT89C2051 ersteigert.
Du kaufst einfach so auf Verdacht irgendwelche Controller ohne zu wissen
was die können? Nach dazu solche uralten Teile die praktisch nichts
können?
> die praktisch nichts können?
Es sind immerhin codeeffiziente 8051.
Manch einer braucht nicht mehr.
Die funktionieren ohne HAL, ohne Java, ohne Quarz.
Das letzte war gelogen.
Und so aufwendig ist die (Parallel-)Programmierung auch nicht.
Bauanleitungen dafür finden sich.
> Nach dazu solche uralten Teile die praktisch nichts
können?
Naja - das stimmt ja nun auch nicht so ganz. 15 I/Os, UART, 2 Timer, 2
externe Interrupts. Da lässt sich schon so einiges mit tun.
Ich mag die 8051 uC...
und 20 Stück für 9 EUR ist doch toll.
1993 war serielle Programmierung noch nicht Standard. Da war man froh,
daß es schon Flash war und kein OTP.
Per SPI programmierbar sind:
AT89S2051
AT89S4051
AT89LP2052
AT89LP4052
"Lustiger" als den 89c2051 zu flashen dürfte sein, ein Programm für ihn
zu entwickeln.
Will der TO ein Programm schreiben, den Chip in den Programmer tun und
ihn flashen, aus dem Programmer holen in die Zielschaltung stecken und
gucken ob es geht?
Wäre sehr mühselig.
Für das Teil hatte ich mal eine Bastelarbeit gemacht, die einen 89S2051
per SPI geflasht hat und dessen Pins über ein Flachbandkabel in die
Zielschaltung geführt wurden.
Wenn das Programm fertig war wurde ein 89c2051 im Parallelprogrammer
geflasht.
Das habe ich solange gemacht, bis mein "Vorrat" an 89c2051 aufgebraucht
war.
Wenn also der TO nicht über das Equipment verfügt mit dem Chip
umzugehen, nutzt es ihm auch nichts, wenn er einen Programmer dafür hat.
Das Equipment dafür anzuschaffen (wenn man bisher mit MCS51 nichts
gemacht hat) wäre teurer als die 9 Euro die er dafür ausgegeben hat.
Als Lehrgeld betrachten, ooooooder:
Du baust dir einen Programmer (mein Programmer ist mit einem 89S52
realisiert dessen Firmware mit Pascal51 geschrieben war - die einzige
Firmware, die ich mit Pascal gemacht hatte nur um es auszuprobieren).
Eine schöne "Übung" wäre, mittels einem AVR-Board (gerne auch ein
Arduino) ein oder zwei Schieberegistern und einer PWM Step-Up Schaltung
(der 89c2051 braucht 12V Programmierspannung) einen Programmer selbst zu
bauen.
Ohne es ausprobiert zu haben, könnte für den TO vllt. das hier etwas für
ihn sein:
http://ceptimus.co.uk/?p=216
... schrieb:> Es sind immerhin codeeffiziente 8051.
Cortex-M3 (Thumb2) ist Code-Effizienter...
... schrieb:> Die funktionieren ohne HAL, ohne Java, ohne Quarz.
Wie die meisten anderen uC auch.
Milo schrieb:> Naja - das stimmt ja nun auch nicht so ganz. 15 I/Os, UART, 2 Timer, 2> externe Interrupts. Da lässt sich schon so einiges mit tun.
Klar, aber ab welcher Stückzahl lohnt es sich preislich, sich mit so
einem primitiven Ding rumzuschlagen? Ein moderner Cortex-M3 o.ä. mit
2-Pin-SWD und Debugger ist doch viel komfortabler, selbst wenn man ihn
nur zu 1% ausnutzt.
Markus schrieb:> Deine AT89C2051 kannst du bei Ebay einstellen und> kaufst dir vom Erlös Controller, die seriell zu flashen sind.
Wenn er das hier schreibt:
Franz W. schrieb:> Geht das auch einfacher vielleicht per USBAsp?
dann sollte er vllt. über einen ATtiny2313 nachdenken, der ist
Pinkompatibel (der Resetpegel ist allerdings zum AT89c2051 invertiert)
und kann mit USBasp geflasht werden.
Dr. Sommer schrieb:> Cortex-M3 (Thumb2) ist Code-Effizienter...
Ich glaub nicht, daß der mit 2kB Flash zurecht kommt, wenns mehr als ne
Blink-LED sein soll.
Irgendwo hab ich noch C-Code für den AT89C2051 als Frequenzmesser
rumliegen. Die Berechnungen erfolgen in float, die Ausgabe auf
7-Segment.
Anbei der Schaltplan.
Franz,
hab gerade meinen alten Programmer für 89C1051, 2051 und 4051 (Elektor
9/2001) aus der Schrottkiste geholt, in die ich ihn letzte Woche gelegt
hatte. Falls du ihn haben möchtest, würde ich ihn dir für kleinstes Geld
überlassen. PC-Schnittstelle ist seriell, Programm dazu habe ich auch
noch!
Servus,
Helmut.
p.s. verwendet habe ich die Dinger, da sie damls wenig Strom
verbrauchten (war Vor-MSP430-Zeit) und als Ersatzsensoren für
Wetterstationen im Batteriebetrieb dienten.
Peter D. schrieb:> Ich glaub nicht, daß der mit 2kB Flash zurecht kommt, wenns mehr als ne> Blink-LED sein soll.
Gar kein Problem. Habe z.B. mal in exakt 2kB einen CAN-Bootloader für
STM32 (Cortex-M3) geschrieben, inkl. Takt-Konfiguration,
CAN-Initialisierung, Prüfsummen, Fehlerbehandlung & Wiederholung, Flash
beschreiben, Ausführung im RAM, Timeouts via Timer, und natürlich
asynchronen Abläufen (Interrupts).
Irgendwo gab es mal einen schönen Vergleich wie viel platz-effizienter
Thumb2 als 8051 ist... Ich finde ihn nur nicht mehr!
> C++
Wer will das schon.
Für den 89C2051 gibt es auch ein LC-Meter Projekt.
Da rechnen die auch fleissig mit Floats.
Auch in 2k.
> in exakt 2kB einen CAN-Bootloader
Mein (Tape-)Urlader für den Z80 brauchte so ca. 50 Byte.
Da sind 2kB reine Verschwendung.
Dr. Sommer schrieb:> Habe z.B. mal in exakt 2kB einen CAN-Bootloader für> STM32 (Cortex-M3) geschrieben
Nur das bischen CAN-Controller initialisieren, Puffer auslesen und ein
paar Flash-API Aufrufe kosten schon so viel?
Ich denke mal, bei einem AT89C51CC03 sollte ein CAN-Bootloader bequem in
500 Byte passen.
... schrieb:> Wer will das schon.
Leute die mehr als nur Blinker schreiben.
... schrieb:> Da rechnen die auch fleissig mit Floats.> Auch in 2k.
Auf dem Cortex-M4 ist eine Float-Multiplikation 2 Bytes... auf dem 8051
auch?
... schrieb:> Mein (Tape-)Urlader für den Z80 brauchte so ca. 50 Byte.> Da sind 2kB reine Verschwendung.
Und was macht der genau?
Peter D. schrieb:> Nur das bischen CAN-Controller initialisieren, Puffer auslesen und ein> paar Flash-API Aufrufe kosten schon so viel?
Ja, schließlich ist die Peripherie sehr mächtig und braucht ein paar
mehr Register.
Peter D. schrieb:> Ich denke mal, bei einem AT89C51CC03 sollte ein CAN-Bootloader bequem in> 500 Byte passen.
Aha, zeigen!
Bonustipp:
Selbstverändlich entwickelt und testet man Programme für den
kleinen 2051 und 4051 nicht unbedingt auf der Zielhardware.
Stattdessen benutzt man zur Entwicklungszeit einen grösseren 8031/51,
mit Monitorprogramm, RAM und Pin-Adapter.
Der kleine kommt dann dran wenn es fertig ist.
> ... schrieb:> > Wer will das schon.> Leute die mehr als nur Blinker schreiben.> ... schrieb:> > Da rechnen die auch fleissig mit Floats.> > Auch in 2k.> Auf dem Cortex-M4 ist eine Float-Multiplikation 2 Bytes... auf dem 8051> auch?
Aha, für mehr als den Wurstblinker braucht man schon C++.
Interessante These.
Wenn man den 2/4/8051 mit einem FP-Interpreter aufpeppt reicht
unter Umständen sogar 1 Byte um ihn multiplizieren zu lassen.
... schrieb:> Aha, für mehr als den Wurstblinker braucht man schon C++.> Interessante These.
Es ging nicht um brauchen! Man braucht gar keine höhere
Programmiersprache. Man kann auch alles in Brainfuck schreiben. Wenn man
aber irgendwie effizient arbeiten möchte, sind abstrahierende Sprachen
wie C++ sinnvoll.
... schrieb:> Wenn man den 2/4/8051 mit einem FP-Interpreter aufpeppt reicht> unter Umständen sogar 1 Byte um ihn multiplizieren zu lassen.
Der FP-Interpreter ist aber bestimmt nicht 1 Byte groß.
Helmut -. schrieb:> Franz,> hab gerade meinen alten Programmer für 89C1051, 2051 und 4051 (Elektor> 9/2001) aus der Schrottkiste geholt, in die ich ihn letzte Woche gelegt> hatte. Falls du ihn haben möchtest, würde ich ihn dir für kleinstes Geld> überlassen. PC-Schnittstelle ist seriell, Programm dazu habe ich auch> noch!>> Servus,> Helmut.
Das ist auch eine Lösung für den TO.
@ all
Warum müsst ihr Threads mit euren Kindereien vollmachen?
Dr. Sommer schrieb:> Franz W. schrieb:>> Hab für 9 Euro inkl. Versand 20 von diesen AT89C2051 ersteigert.>> Du kaufst einfach so auf Verdacht irgendwelche Controller ohne zu wissen> was die können? Nach dazu solche uralten Teile die praktisch nichts> können?
Ja,
ich hab auf einer Seite so eine 7 Segment LED Uhr als diy Kit gekauft.
In diesem Kit war dieser Chip.
Ich dachte "Mega cool ein analoger Led Treiber mit Uhr"
Hab erst im Datenblatt gesehen das dass ding was anderes ist...
Grüße
Franz
Marek N. schrieb:> Hast du noch nen Rechner mit LPT-Port?> Ich hab letztens noch nen Batronix Programmer für die C2051 gefunden.
Ja, hab ich.
Ich schau mal ob ich einen Fertig aufgebuaten Parallelportporgrammer
irgendwo auf Aliexpress finde...
Ralph S. schrieb:> "Lustiger" als den 89c2051 zu flashen dürfte sein, ein Programm für ihn> zu entwickeln.>> Will der TO ein Programm schreiben, den Chip in den Programmer tun und> ihn flashen, aus dem Programmer holen in die Zielschaltung stecken und> gucken ob es geht?>> Wäre sehr mühselig.
Hallo,
so mache ich es auch mit meinen AtMega, AtTiny usw.
Was ist daran merkwürdig?
Erst in den Programmer/Flasher dann raus in die auf dem Steckboard
aufgebaute Zielschaltung und testen.
Ist doch der normale vorgang?
Grüße
Franz
Franz W. schrieb:> Hallo,>> so mache ich es auch mit meinen AtMega, AtTiny usw. Was ist daran merkwürdig?> Erst in den Programmer/Flasher dann raus in die auf dem Steckboard aufgebaute
Zielschaltung und testen.
>> Ist doch der normale vorgang?>> Grüße> Franz
Warum das Programm nicht erst simulieren, bevor man es in Hardware
testet?
Franz W. schrieb:> Ist doch der normale vorgang?
Nur, wenn der Chip nicht im System programmierbar ist. Ich habe
Schaltungen gelochrastert, da ist der Atmega erst eingelötet und dann
programmiert worfen.
Franz W. schrieb:> Ich schau mal ob ich einen Fertig aufgebuaten Parallelportporgrammer> irgendwo auf Aliexpress finde...
Hier ist einer mit USB-Anschluss. Der kann neben Deinen AT89C2051 noch
viele andere µCs und auch seriell oder ISP...
SP200 Programmer
https://www.aliexpress.com/i/32881902442.html
Dafür gibt es viele Anbieter. Ich habe einen SP200SE.
Michael F. schrieb:> Warum das Programm nicht erst simulieren, bevor man es in Hardware> testet?
Macht kein Mensch für so einen Pups Mikrocontroller.
... schrieb:> Aha, für mehr als den Wurstblinker braucht man schon C++.> Interessante These.>> Wenn man den 2/4/8051 mit einem FP-Interpreter aufpeppt reicht> unter Umständen sogar 1 Byte um ihn multiplizieren zu lassen.
Manche werden halt auch in 30 Jahren noch LEDs mit 8051 oder Atmega
blinken lassen, während es moderne, zeitgleich günstigere und
benutzerfreundlichere µC gibt - die man via Funk flasht.
Ich würde einen C8051 nur noch für Bestandprojekte verwenden. Bei
Neuentwicklung niemals, es sei denn der Kunde gibt das vor - dann
versuchen zu überzeugen, dass das totaler Unsinn ist.
Bimbo. schrieb:> Michael F. schrieb:>> Warum das Programm nicht erst simulieren, bevor man es in Hardware>> testet?>> Macht kein Mensch für so einen Pups Mikrocontroller.>> ... schrieb:>> Aha, für mehr als den Wurstblinker braucht man schon C++.>> Interessante These.>>>> Wenn man den 2/4/8051 mit einem FP-Interpreter aufpeppt reicht>> unter Umständen sogar 1 Byte um ihn multiplizieren zu lassen.>> Manche werden halt auch in 30 Jahren noch LEDs mit 8051 oder Atmega> blinken lassen, während es moderne, zeitgleich günstigere und> benutzerfreundlichere µC gibt - die man via Funk flasht.>> Ich würde einen C8051 nur noch für Bestandprojekte verwenden. Bei> Neuentwicklung niemals, es sei denn der Kunde gibt das vor - dann> versuchen zu überzeugen, dass das totaler Unsinn ist.
Ok, mag für Dich stimmen, aber nicht für einen Bastler der noch 2
Stangen von dem Zeug da liegen hat.
Ich habe Ende vorigen Jahres einen Timer auch mit 89C52 gemacht, mehr
als ausreichend für den Zweck, SDCC als Compiler und tut was es soll.
Mit MC8051IDE gibts auch für unix/linux eine IDE mit Debugger und
Simulator so das das Progrämmchen auf Anhieb funktionierte, der GALEP IV
hats gebrannt.
Gleichzeitig hatte ich kommerzielle Entwicklungen mit XMEGA und STM32
laufen. Wo ist das Problem?
Ich habe auch noch 2 Stangen CY8C26443 herumliegen, di dürfen demnächst
Quadraturdecoder mit Zähler spielen, auch wenn das noch PSOC1 sind.
Gruß,
Holm
Helmut -. schrieb:> Franz,> hab gerade meinen alten Programmer für 89C1051, 2051 und 4051 (Elektor> 9/2001) aus der Schrottkiste geholt, in die ich ihn letzte Woche gelegt> hatte. Falls du ihn haben möchtest, würde ich ihn dir für kleinstes Geld> überlassen. PC-Schnittstelle ist seriell, Programm dazu habe ich auch> noch!>> Servus,> Helmut.>
@TO: Franz,
wie sieht's mit meinem Angebot aus? Willst du ihn für's Porto oder nicht
(oder jemand anders)? Morgen kommt er in die Tonne!