Forum: Mikrocontroller und Digitale Elektronik Einstieg in 8051 - Atmels AT89S52 oder?


von H2 O. (Gast)


Lesenswert?

Hallo zusammen,
ich werde vermutlich nächstes Jahr von der Schule aus (muhahah* wenn den 
welche stattfindet - sorry) mit der 8051er Architektur mich vertraut 
machen. Dabei wirds um so Sachen wie Assembler und Co. sowie C gehen, 
die Architektur, etc.

In der Schule haben wir so einige Entwicklerbord mit dem Abgekündigten 
Infineon C515 einige Keil Entwicklerboards ein paar alte Multimeter mit 
8051er Clone etc. bei den meisten ist die Schrift so verblasst das man 
Sie nicht mehr lesen konnte.

Ich hab nun den Atmel AT89S52 ins Auge gefasst, dieser scheint dank 
Microchips "nicht abkündigen" Politik wahrscheinlich noch eine Zeitlang 
gut und günstig verfügbar zu sein...zudem gibt zu dem Tonnenweise 
Beispiele und Co.

Nun die eigentliche Frage: wenn ich also so ein Assembler Programm für 
eines dieser Antiken 8051er (z.B. dem C515) hätte würde das mehr oder 
weniger oder Zicken auf dem AT89S52 laufen? Ist also die einzige 
"Herausforderung" dann noch das -korrekte- flashen des AT89S52?

Bin da noch nicht ganz so vertraut mit dem ganzen "alten" Zeug

---btw. falls jemand ein gutes -und empfehlenswertes- Assembler Tutorial 
dann für 8051er Architektur hat, immer her damit :D hehe

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Der AT89S52 ist ein vollwertiger 8052 und kann auch mit den ISP Tools 
von Atmel/Microchip geflasht werden, ich flashe ihn mit dem AVRISP MkII.

Er hat einige kleine Erweiterungen, die aber für den Betrieb nicht 
wichtig sind. Ja, alle Software für den 8051/8052 läuft also auf dem 
89S52, wie z.B. auch das Intel 8052AH Basic.

Thomas B. schrieb:
> falls jemand ein gutes -und empfehlenswertes- Assembler Tutorial
> dann für 8051er Architektur hat

Ich habe damals die 'Bibel', also das Microcontroller Handbook von Intel 
benutzt, da der Befehlssatz von MCS-51 so easy und logisch ist, das 
selbst ein Anfänger keine grossen Hürden überwinden muss. Spezialdinge 
wie 'Bit Addressable' usw. muss man ja nicht gleich am Anfang benutzen, 
wenns nicht gerade um Ports geht.

: Bearbeitet durch User
von Roland F. (rhf)


Lesenswert?

Hallo,
Thomas B. schrieb:
> ...wenn ich also so ein Assembler Programm für eines dieser
> Antiken 8051er (z.B. dem C515) hätte würde das mehr oder
> weniger oder Zicken auf dem AT89S52 laufen?

Beschaffe dir doch mal die Datenblätter der beiden Bausteine und 
vergleiche den Assemblerbefehlssatz. Dann kannst du zumindest sehen ob 
es da große Unterschiede b.z.w. Erweiterungen bei den neueren Typen 
gibt.
In der Regel sind aber diese Unterschiede in der "Lernphase" irrelevant. 
Da geht es zunächst mal darum überhaupt zu verstehen wie die Architektur 
funktioniert.

rhf

von Manuel X. (vophatec)


Lesenswert?

AT89C51CC03

Gibts im PLCC Package, heisst Fassung und tauschbar.

Ist noch dazu so "modern" das man nach dem Lernen auch was damit machen 
kann ;)

von Jooooo (Gast)


Lesenswert?

8051? Sind wir denn in der Steinzeit??

von Manuel X. (vophatec)


Lesenswert?

Jooooo schrieb:
> 8051? Sind wir denn in der Steinzeit??

Bevor man mit Kanonen auf Spatzen schiesst und sich generell angewöhnt 
zu programmieren mit der Prämisse "Speicher und MHz sind immer genug 
da", macht es durchaus Sinn sich mal anzuschauen wie "sowas" denn 
überhaupt funktioniert.

Und dafür ist ein 8015 mit ASM immernoch vorzüglich geeignet.

Auf DIE Basics kann man ja aufsetzen. Das genau DIE Basics heute aber 
oft fehlen sieht man nur allzu oft.


Und nebenbei... für die meisten Dinge für die ein kleiner ARM heute 
genutzt wird, kommt ein 8051 auch noch klar.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Jooooo schrieb:
> 8051? Sind wir denn in der Steinzeit??

War ja klar, das wieder so einer ankommt, der zwar nichts weiß, aber 
erstmal rumtönt.
Mikrocontroller ist Mikrocontroller und jede Erkenntnis in der 
Programmierung ist auf andere übertragbar.
Ob man da nun 'ORL P1.3' oder 'SBI PORTB,3' schreibt, spielt da 
überhaupt keine Rolle.

von Marek N. (Gast)


Lesenswert?

Deutsches Standardwerk für die '51-er: Andreas Roth, 
Miktrocontroller-Kochbuch 
https://www.amazon.de/Das-Mikrocontroller-Kochbuch-Andreas-Roth/dp/3883222259

von MaWin (Gast)


Lesenswert?

Jooooo schrieb:
> 8051? Sind wir denn in der Steinzeit??

Du schon, verwendest wohl noch den deutlich älteren PIC-uC.

8051 ist eine bessere Wahl als AVR, denn es gibt viel mehr Hersteller 
die genau das integrieren, was man braucht, und nicht immer denselben 
Chip mit anderem PinOut wie bei AVRs. Bisher hat den 8051 nur behindert, 
daß es keinen ordentlichen C Compiler gratis gab, abe Keil ist 
inzwischen gratis, also ist dieser Hinderungsgrund der Verbreitung 
weggefallen.

Microchip/Atmel hat eine ganze Palette vom kleinen AT89C2051 über 
AT89C51/53, der auch mit externem Speicher erweitert werden kann, und 
den T89C51CC01 von Atmel/Temic mit 32k Flash, 2k EEPROM, 8*10bit 4, CAN 
Bus (der T89C51RD2 vergisst jedoch ohne Reset-Controller manchmal den 
Inhalt des Programmspeichers) bis 66 MHz. http://www.sinowealth.com/ hat 
neben mit A/D und RC Takt und 7*80mA Ausgängen erweiterten 2051/4051 
auch beispielsweise den SH79F3212 mit 13 x 12 bit A/D, 1% genauem RC 
Takt, 8 x Touch-Key, 7 x 100mA Ports und I/Os mit wählbar 75/100/150/300 
Ohm für 10,20,30,40 mA LED Strom in SOP20/SOP28.

Silabs bietet 14-bit 1MSPS A/D oder 16*12bit A/D 4*12bit D/A, 64 I/O und 
64k Flash+4k RAM oder den C8051F4 mit 100MHz, Analog Devices hat den 
ADUC824/834 mit 24bit A/D, 3 x 16 bit A/D, 12 bit D/A, PWM und 62k 
Flash, 4k EEPROM, 2k RAM und http://www.dalsemi.com/ (Maxim) den 50MHz 
schnellen DS89C420, Tezzaron den TSCR8051L bis 200MHz, und Texas 
Instruments den TUSB3210 mit USB Interface (miese Doku, kein 
Herstellersupport), Cypress EZ-USB (bessere Doku) oder den MSC1210 mit 
32k Flash (partitionierbar für Daten und Programm), 1k RAM, 24 Bit ADC 
mit PGA und 2 UARTs. Cheng Xin Wei Technologies baut 8051 abgeleitete 
Flash uC mit A/D und PWM CX8F2810E CX8P1710C in SO8 und CX8F2811E 
C8XP1711C in SO14 ohne weitere Doku.

STC Micro http://www.stcmcu.com/ hat nicht nur nützlich erweiterte 8051 
wie STC15F20x (3.8-5.5V) oder STC15L20x (2.4-3.6V) (205EA kaufen zum 
Entwicklen), die sich einfach über Rx/Tx flashen lassen mit der 
Programmiersoftware /STCISP/stc-isp-15xx-v6.86L.zip sondern auch gute 
Doku /datasheet/stc/STC-AD-PDF/STC12C2052AD-english.pdf mit vielen 
Beispielen und seit dem Keil-C kostenlos ist leicht nachvollziehbar und 
die USB fähigen STC8F2Kxx, STC8A4Kxx, aber man sollte chinesisch können. 
Die STC12xxx brauchen leider ein Programmiergerät.

Bis 300 GradC arbeiten HT83C51 im Keramikgehäuse von 
https://aerospace.honeywell.com/en/products/navigation-and-sensors/high-temperature-microelectronics

zeig mir auch nur einen AVR der dasselbe bietet. Bei ARM sieht es etwas 
besser aus als die obsolete Familie AVR, aber lange nicht so gut.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hier noch Empfehlungen für die Software. MIDE-51 ist eine IDE für 
Windows, in die Assembler (ASEM-51) und ein kleiner C-Compiler (SDCC) 
schon integriert ist. Konfigurierbar ist z.B. auch die direkte 
Einbindung von Programmern und ein kleiner Simulator ist auch dabei.
http://www.opcube.com/home.html

von Thorsten R. (halogenfan)


Lesenswert?

>> daß es keinen ordentlichen C Compiler gratis gab, abe Keil ist
>> inzwischen gratis, also ist dieser Hinderungsgrund der Verbreitung
>> weggefallen.

Das hört sich interessant an. Wie kommt man da dran?

von Peter D. (peda)


Lesenswert?

Ich würde den AT89LP51RD2 empfehlen.
20MIPS, 64kB Flash, bequem über die UART programmierbar. Auch in DIP-40 
verfügbar.

https://www.microchip.com/wwwproducts/en/AT89LP51RD2

: Bearbeitet durch User
von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

moin Thomas,


mein Assembler mal so zum spielen:
MASM51 in neues Verzeichnis auspacken,
MASM51 Starten, da sollte gleich die LCD_Test erscheinen, auf den 
Käfer-Button drücken ( das ist der Debug-Modus ), dann den Button Run 
drücken und zuschauen.

Viel SPASS!
Pieter

von oerks (Gast)


Lesenswert?

> den Atmel AT89S52 ins Auge gefasst

Eigentlich sind alle Konkurreten besser.
Einige wurden ja schon aufgezaehlt.

Wenn man sie noch irgendwo kriegt:

ST UPS323X
8051-Code
256 k + 32 k Flash
8 k SRAM
3000 gate PLD with 16 macrocells
JTAG

Ansonsten ist man mit den 51ern von Silabs sicher besser beraten.
Den passenden (JTAG-)Debug-Adapter gibt es guenstig aus China.

Unbedingt lesenswert: "THE FINAL WORD ON THE 8051"
Dagegen ist das deutsche Standardwerk recht muede...

> Assembler Tutorial dann für 8051er Architektur
gibts bei Silabs: "8051 Instruction Set".

von H2 O. (Gast)


Lesenswert?

Danke an alle schonmal...


oerks schrieb:
> Ansonsten ist man mit den 51ern von Silabs sicher besser beraten.
> Den passenden (JTAG-)Debug-Adapter gibt es guenstig aus China.

meinst du z.B. den hier von SiLabs
https://www.mouser.de/ProductDetail/634-8LB11F16EBQFP32

von Jooooo (Gast)


Lesenswert?

MaWin schrieb:
> Du schon, verwendest wohl noch den deutlich älteren PIC-uC.

Naja, ich lass euch mal weiter mit eurem Steinzeit Zeug spielen. Wenn 
der TO wirklich was auf dem aktuellen Stand lernen möchte, soll der 
einen STM8 nehmen oder einen kleinen ARM.

Die C8051 von silabs sind ne Katastrophe. Oftmals seltsames Verhalten 
und z.B. nur mit Codebanking mehr als 64k nutzbar. Schmeiss weg die 
Kacke.

von Karl (Gast)


Lesenswert?

Thomas B. schrieb:
> ich werde vermutlich nächstes Jahr von der Schule aus (muhahah* wenn den
> welche stattfindet - sorry) mit der 8051er Architektur mich vertraut
> machen

Paar Jahrzehnte zu spät, oder?

von oerks (Gast)


Lesenswert?

Ich habe/hatte eher mit den Klassikern von Silabs gearbeitet.
C8051F020, C8051F320, C8051F350.

Wenn man auf ein DIP-Gehaeuse Wert legt, ist man bei Silabs aber falsch.

Bzgl. des (USB-)JTAG-Adapters gab/gibt es praktisch nur einen fuer
die Silabs 8051er. Der funktioniert mit der USBHID.DLL von Silabs
auch mit dem Keil/MDK-Debugger.

von Peter D. (peda)


Lesenswert?

Als Tutorial fand ich diese Seite ganz praktisch:
https://www.ipd.kit.edu/mitarbeiter/buchmann/microcontroller/index.htm

Der Vorteil am 8051 ist, daß alle Typen sehr kompatibel zueinander sind. 
Man kann praktisch mit jedem Assembler oder Compiler für 8051 auch 
sämtliche anderen 8051-Typen programmieren.

von Peter D. (peda)


Lesenswert?

oerks schrieb:
> Wenn man auf ein DIP-Gehaeuse Wert legt, ist man bei Silabs aber falsch.

Bezüglich DIP und 5V ist man bei Microchips 8051-ern gut aufgehoben.

von H2 O. (Gast)


Lesenswert?

Ok, also ich glaub ich muss noch was ergänzen.

1. Ich verwende KEIN Windows -sonder Linux, hierbei ist die Disto egal 
(sorgt nur wieder für Diskussion, wie die 8051 Basher....)
2. Ich würde sehr gerne im Verlauf dann JTAG nutzen können
3. Brauche weder zwingen 5V noch DIP Gehäuse, da ich mir (und ggf. den 
Klassenkameraden) einfach ein kleines Development-Board basteln werde - 
ala China-PCB


um nochmal auf meinen angesprochenen AT89S52 zu kommen, ist der also 
schlecht oder "ungeeignet"? (*ja ich bin ein 
Atmel/Microchip-Fanboy....damit halt groß geworde*)

von Thomas Z. (usbman)


Lesenswert?

man kann das zwar infrage stellen ob ein x51er heute noch zeitgemäs ist. 
Ganz sicher wird heute niemand mehr mit den ollen Siemens / Infinion 
Teilen anfangen.

Zum Lernen sind x51 Controller aber immer noch hervoragend geeignet. Das 
gilt insbesonders dehalb weil alle die gleichen Instruktionen verwenden 
und es viele 100 Anbieter gibt.

Da du unter Linux arbeiten willst ist die Verfügbarkeit an Compiler 
etwas eingeschränkt da bleibt dann wohl nur SDCC. Neuere Keil µVision 
Umgebungen werden unter Wine vermutlich nicht mehr laufen. Der 
Compiler/Linker selbst ist dabei noch nicht mal das Problem, der dürfte 
auch unter wine problemlos funktionieren. Vielmehr dürfte die Lizenz 
eher Schwierigkeiten bereiten.

Ich würde eventuell eine virtuelle Win Maschine aufsetzen. Du hast 
einfach mehr Auwahl bei den Tools.


Thomas

von Peter D. (peda)


Lesenswert?

Thomas B. schrieb:
> um nochmal auf meinen angesprochenen AT89S52 zu kommen, ist der also
> schlecht oder "ungeeignet"?

Der AT89LP51RD2 ist einfach schneller und hat viel mehr Flash, SRAM, 
Peripherie (ADC usw.). Und braucht keinen speziellen SPI-Programmer.
Er unterstützt auch IAP, d.h. man kann sich seinen eigenen Bootloader 
schreiben.
Du kannst ja eine DIP-40 Fassung auf die Platine setzen und dann beide 
Typen ausprobieren.

von 2⁵ (Gast)


Lesenswert?

Thorsten R. schrieb:
> Das hört sich interessant an. Wie kommt man da dran?

https://pages.silabs.com/lp-keil-pk51.html

von oerks (Gast)


Lesenswert?

> AT89S52

Wenn ich 8051 nutze, muss ich gewisse Vorteile sehen.
Die liegen in der Peripherie. Also z.B. ein integrierter PLD,
oder AD- und DA-Wandler, einfaches I2C oder USB.
Und da sieht es beim 89S52 eben recht duester aus.

Beim Kennenlernen mag das ja noch nicht stoeren, aber wenn
man erlernte Dinge dann umsetzen will, wird man wohl etwas
anderes brauchen.
Und koennte feststellen, dass mit mit dem anderen auch
gleich haette beginnen koennen.
Das koennte z.B. ein Silabs C8051F020 sein.

Fuer Linux oder andere Unixe kenne ich keine Hersteller mehr,
die im Controllerbereich noch Treiber fuer ihre JTAG-Adapter
anbieten. Ich nutze auch Linux u.a. kommerzielle Unixe, aber
im Bereich Controller ist ein gewisser Pragmatismus angezeigt.

Daher ueberlasse es ich dir selber nach Loesungen fuers
Debugging zu suchen.
Ausser einem per Terminal bedienten Monitorprogramm wird
da aber vermutlich nicht viel herumkommen.

von Jooooo (Gast)


Lesenswert?

Hinzu kommt, dass die silabs C8051 wirklich furchtbar teuer sind. Alao 
so richtig überteuert. 7€ für einen C8051 mit 8bit, USB, 3 Timern und 
128k, welche nur über Banking erreicht werden kann. Für 2€ kriege ich n 
STM32 der ein vielfaches von dem kann.

Wo liegt da der Vorteil??????

von oerks (Gast)


Lesenswert?

> Für 2€

Ach, doch noch so teuer.

Wenn du loeten koenntest, koenntest du den Kaefer auch selber
auf dein Platinchen klexen. Einen winzigkleinen STM32 bekommst
du schon fuer 50 Ct.

von Jooooo (Gast)


Lesenswert?

Das stimmt. Aber einen C8051 mit 128k/8k kriegst du nicht für unter 7€ - 
mit all seinen Nachteilen inkludiert. Vermutlich ist bereits der 50Cent 
STM32 flexibler und leistungsfähiger als so ein C8051.

von Jim M. (turboj)


Lesenswert?

Jooooo schrieb:
> Hinzu kommt, dass die silabs C8051 wirklich furchtbar teuer sind.

Das sind auch alles alte Kamellen, die neuen Silabs Designs heißen EFM8.

Und da gäbe es auch welche für 50 Eurocents und weniger pro Stück.

Zum Einstieg empfehle ich aber ein passendes STK (z.B. SLSTK2022A), denn 
dort ist auch gleich ein Programmierer und Debugger(!) mit drauf.

von MaWin (Gast)


Lesenswert?

Du hast ja keine Wahl. Der 8051 ist vorgegeben. Die ATMEL sind dabei 
schon Ok. AT89c4051 ist gut für den Einstieg. Da musst du nur noch einen 
Promer haben.

Alternativ gibt es gute Simulatoren für die 8051er. Das reicht für den 
SW Einstieg und nimmt den Frust der HW Inbetriebnahme. Du kannst dann 
auch tief in den uC blicken und hast alle Innerein immer im Blick.

von Hallo (Gast)


Lesenswert?

Die Entscheidung mit einem 8051 zu lernen wurde wohl wegen dessen 
Einfachheit getroffen! Wenn man gleich mit STM32 einsteigt kriegt man ja 
einen Schock  :-)

von Carl D. (jcw2)


Lesenswert?


von W.S. (Gast)


Lesenswert?

Atmels AT89S52 oder?...

.. Nuvoton's N76E003 zum Beispiel. Das ist ein eher kleiner 8051 mit nur 
18K Flash und 12 Bit ADC und spottbillig und in kleinem Gehäuse - und 
mit nur 1 Takt pro Befehl. Ist also im Vergleich zum Ur-typ sauschnell.

Ich schätze mal, zum Lernen und Assembler programmieren lernen reicht 
der völlig aus. Da sind ohnehin keine Boliden gefragt.

W.S.

von Gerhard O. (gerhard_)


Lesenswert?

Warum denn nicht 8051?


Vor ein paar Jahren schenkte mir die Firma den alten uV2 Keil Compiler 
den wir schon ein Jahrzehnt nicht mehr brauchten und befaßte mich dann 
mit einem Atmel Flash AT89F51RD2. War ganz nett damit zu arbeiten und 
fand das irgendwie nostalgisch schön. Nur den internen ADC konnte ich 
ums Verrecken nicht richtig zum Laufen kriegen. Alles andere 
funktionierte Bestens. Man kann sich in alle uC einarbeiten. Bis jetzt 
kam ich noch mit allen uC klar mit denen och mich befasste.

Der freie uV4 von Silabs funktioniert übrigens auch mit den Atmel 
Schinken solange man sich die richtigen Header Dateien besorgt.

Leider wird heutzutage nicht mehr viel für die Zilog Encores getrommelt. 
Ich befasste mich früher mal damit. Freies IDE und Debugger. Mit dem 
Teil ließ sich wunderschön arbeiten. Gab es auch als 64K Flash DIP40 
Version.

Ich glaube nicht, daß man sich für 8051er Interesse schämen muß. 
8-Bitter sind sogar eine nette Abwechslung wenn man sich im Betrieb nur 
mit den modernen Boliden befasst. Jedenfalls machen mir die 8-Bitter auf 
Hobby Basis eigentlich mehr Spaß wie die 32-Bit Kollegen in der Arbeit. 
Ist halt Geschmacksache und hängt auch von der Leistung ab die man 
braucht um zu entscheiden welche Architektur man wirklich nehmen soll. 
Für Real World Steuerung von Vorgängen die sich im ms-s Bereich 
abspielen ist ein 8-Bitter fast immer ausreichend.

Auch braucht man sich wie bei den 32-Bittern nicht mit mehreren tausend 
Seiten an Referenz Dokumenten vertraut machen.

von oerks (Gast)


Lesenswert?

Wenn man droellfzig Leute nach ihrem 51er fragt, wird man
auch droellfzig Antworten bekommen.
Das finde ich immerhin wesentlich gesuender als das staendige stupide
"AVR" oder "Arduino".

von Hebi (Gast)


Lesenswert?

Also ich setze den AT89C51ED2 gern und oft ein.
Dieser Controller hat viel Peripherie, ist ausgezeichnet dokumentiert 
und überall verfügbar. Bei den kleinen Mengen, die ich für meine 
Projekte brauche, spielt der Stückpreis für mich auch eine 
untergeordnete Rolle.

Eine überschaubare Auswahl an Entwicklungsboards gibt es übrigens auch.
Also falls der Selbstbau nicht Teil Deines persönlichen Lehrplanes ist, 
kannst Du Dir für 30-75 EUR ein umfassendes Set bestellen ;)

von H2 O. (Gast)


Lesenswert?

OhhK also ich hab mich mal in dieses Rabbithole vertieft.

Also ich werde sicher keine 30-70€ für EIN Dev-Board ausgeben. Lieber 
kauf ich mir davon noch 10x einen 7€ Chip  oder hau das Geld sinnvoll 
für einen JTAG-ICE Debugger raus.
*nicht böse gemeint, in irgend einer weise*

wirklich viel Programmspeicher brauche ich nicht, da ich z.Zt auch ohne 
Probleme meinen C/C++/Arduino-ish Code in weniger als 8kB 
unterbringe....also daher....

ABER was ich so mittlerweile sehe ist es "einfacher" einen integrierten 
ADC zu bedienen als einen externen, da man da direkt an die Flags 
rankommt welche z.B. habe fertig, etc. signalisieren ODER?
*hab ich das so richtig verstanden???

von oerks (Gast)


Lesenswert?

> ist es "einfacher" einen integrierten ADC zu bedienen
Das Starten reduziert sich auf das Setzen eines Bits in einem Register.

> habe fertig
Gibt es per Interrupt oder mit der Abfrage eines Bits in einem Register.

Extern angebunden braucht es:
- Pins fuer die Uebertragung
- ein Protokoll fuer die Uebertragung
Und die Geschwindigkeit leidet auch.

Warum benutzt man also interne AD-Wandler?
Weil man es kann.
Wenn der Kaefer keine hergibt, nimmt man einen anderen.

Interne ADCs bei Controllern decken mittlerweile einen sehr weiten
Bereich ab.
Beispielsweise Von 12 bit bei 12.5 Msps bis 24 bit Wandlungsbreite.
Man muss schon recht spezielle Anforderungen haben damit
externe AD-Wandler noetig sind.

Und, stell dir mal einen 8-Pinner vor wo nur 1 AD benoetigt wird...

von Hebi (Gast)


Lesenswert?

Thomas B. schrieb:
> ABER was ich so mittlerweile sehe ist es "einfacher" einen integrierten
> ADC zu bedienen als einen externen, da man da direkt an die Flags
> rankommt welche z.B. habe fertig, etc. signalisieren ODER?
> *hab ich das so richtig verstanden???

ganz klares Jein ;)

Natürlich ist es einfacher einen internen ADC zu steuern bzw. 
abzufragen.
Aber es ist auch nicht schwer einen externen ADC abzufragen.

Da ist der Nachteil eher, dass ein externer ADC halt nicht so flexibel 
ist, was die Abtastrate betrifft. Ein es wäre ein weiterer Kostenfaktor. 
Ein zweikanaliger 10bit ADC liegt vermutlich schon so bei 2 EUR/Stück.

von Philipp Klaus K. (pkk)


Lesenswert?

Ein paar Tutorials, um auf ein paar 8051-Boards einfachste C-Programme 
(blinkende LED, Hello-World, per UART, einfache Benchmarks) zu bringen:

http://www.colecovision.eu/mcs51/

Alles ursprünglich auf Debian GNU/Linux gemacht, sollte aber auch bei 
anderen Distributionen genauso gehen.

von Philipp Klaus K. (pkk)


Lesenswert?

MaWin schrieb:

> 8051 ist eine bessere Wahl als AVR, denn es gibt viel mehr Hersteller
> die genau das integrieren, was man braucht, und nicht immer denselben
> Chip mit anderem PinOut wie bei AVRs. Bisher hat den 8051 nur behindert,
> daß es keinen ordentlichen C Compiler gratis gab, abe Keil ist
> inzwischen gratis, also ist dieser Hinderungsgrund der Verbreitung
> weggefallen.

Keil mag ja relativ guten Code erzeugen, aber einen "ordentlichen C 
Compiler" würde ich ihn nicht nennen. Keil behauptet, dass der Compiler 
zum ANSI-C Standard von 1989 kompatibel sein, ist das allerdings auch 
nur eingeschränkt. SDCC ist bei der Standardkompatibilität deutlich 
weiter.

von Carl D. (jcw2)


Lesenswert?

Philipp Klaus K. schrieb:
> MaWin schrieb:
>
>> 8051 ist eine bessere Wahl als AVR, denn es gibt viel mehr Hersteller
>> die genau das integrieren, was man braucht, und nicht immer denselben
>> Chip mit anderem PinOut wie bei AVRs. Bisher hat den 8051 nur behindert,
>> daß es keinen ordentlichen C Compiler gratis gab, abe Keil ist
>> inzwischen gratis, also ist dieser Hinderungsgrund der Verbreitung
>> weggefallen.
>
> Keil mag ja relativ guten Code erzeugen, aber einen "ordentlichen C
> Compiler" würde ich ihn nicht nennen. Keil behauptet, dass der Compiler
> zum ANSI-C Standard von 1989 kompatibel sein, ist das allerdings auch
> nur eingeschränkt. SDCC ist bei der Standardkompatibilität deutlich
> weiter.

Es ist eben ein Unterschied, ob man Dinge entwickelt, weil man Kunden zu 
verlieren droht, oder weil man ein besseres (OSS-)Produkt haben will.

Danke für deine Arbeit!
(auch wenn ich den SDCC nur für die sigrok-Firmware für meine China-LA 
benutze)

von Ralph S. (jjflash)


Lesenswert?

... ich weiß ja nicht, ob sich wirklich jemand noch mit dem MCS-51 
beschäftigt.

Gerade eben ist mein Linux-Live-System für Mikrocontrollerprogrammierung 
fertig geworden und ich habe ein erstes Image dafür erstellt (kein Spaß, 
insgesamt immer weider einmal habe ich da Jahre daran gebastelt).

Mit dem Ding können über sehr klassische Art und Weise Mikrocontroller 
programmiert werden (Editor - Make).

Im System ist ein Konsoleneditor vorhanden, im Desktop kann mit Geany 
programmiert werden.

Der Assembler ist ein sehr sehr rudimentärer und für den Einstieg sehr 
leicht zu handhabender : naken-asm

Der C-Compiler (weil alles Open Source ist) ist hier dann natürlich 
SDCC.

Für den Fall, dass der TO mit Linux umgehen kann, kann ich ihm einen 
Ordner mit MCS-51 Programmen machen das es ihm erleichtert, dort einen 
Einstieg zu haben.

Das "größte" Problem beim MCS-51 sind mittlerweile Programmieradapter, 
die einen Chip flashen können.

Meine Lösung hier ist einen AVR (früher hatte ich einen AT89C2015) zu 
nehmen, der einen AT89S52 flasht.

Vor einiger Zeit hatte ich das hier eingestellt gehabt:

Beitrag "Arduino - UNO Flashershield (Linux)"

... und über den Arduino konnten weitere AVR, MCS-51 und ein paar PIC 
geflasht werden.

Wenn man sich nur die Pins für den ISP-Connector des AT89S52 
herausführt, braucht man dieses Flashershield in Hardware nicht, 
erleichtert es aber ungemein.

von Carl D. (jcw2)


Lesenswert?

Für Linux gibt es übrigens "MCU 8051 IDE".
https://sourceforge.net/projects/mcu8051ide/
Da ist auch Simulation dabei, auch von einfacher Peripherie, wie LED, 
7-Segment, etc.
Zum Lernen ohne HW-Frust.

von H2 O. (Gast)


Lesenswert?

Philipp Klaus K. schrieb:
> http://www.colecovision.eu/mcs51/

Carl D. schrieb:
> https://sourceforge.net/projects/mcu8051ide/

Die Simulation werde ich die Tage direkt mal testen.
Euch beiden vielen Dank für die Links, die sind schonmal sehr 
interessant.


Ralph S. schrieb:
> ... ich weiß ja nicht, ob sich wirklich jemand noch mit dem MCS-51 beschäftigt.
Noch nicht aber bald :D

> Meine Lösung hier ist einen AVR (früher hatte ich einen AT89C2015) zu nehmen, 
der einen AT89S52 flasht.
Ich dachte mir schon das ich mir einen Programmieradapter bauen 
werde/muss der auch den PROM programmieren können sollte. Ist ja 
heutzutage mit Arduino und Co. eigentlich kein Problem mehr da sehr 
schnell was lauffähiges zu haben.

> Für den Fall, dass der TO mit Linux umgehen kann, kann ich ihm einen Ordner mit 
MCS-51 Programmen machen das es ihm erleichtert, dort einen Einstieg zu haben.
Ja auf jeden Fall, darüber würde ich mich sehr freuen. Dann hab ich mal 
eine Art von Beispielsammlung.

von Peter D. (peda)


Lesenswert?

Thomas B. schrieb:
> Ich dachte mir schon das ich mir einen Programmieradapter bauen
> werde/muss der auch den PROM programmieren können sollte.

Der genannte AT89LP51 braucht keinen Programmieradapter, er hat einen 
UART-Bootloader eingebaut. Das Flip von Atmel gibt es auch als 
Linux-Version. Man kann sich aber auch ein Tool selber schreiben, die 
Bootloaderfunktionen sind gut dokumentiert. Im Prinzip schickt man 1:1 
das Hexfile rüber + Sonderfunktionen fürs Löschen, Fusebits usw.

von Bernd (Gast)


Lesenswert?

Ralph S. schrieb:
> ... ich weiß ja nicht, ob sich wirklich jemand noch mit dem MCS-51
> beschäftigt.
Gelegentlich. Der 8051-Kern steckt ja auch im Cypress FX2 drin...

von MaWin (Gast)


Lesenswert?

Bernd schrieb:
> Der 8051-Kern steckt ja auch im Cypress

Damit wäre ich vorsichtig. Auch Cypress räumt auf und setzt stark auf 
ARM.

von Bernd (Gast)


Lesenswert?

MaWin schrieb:
> Auch Cypress räumt auf und setzt stark auf ARM.
Ja. Im FX3...

von сорок две (Gast)


Lesenswert?

Frage an die versammtelte 51er Kompetenz:

Ich habe im Ramsch eine Stange von D87C51FA gefunden, dazu habe ich 
Datenblätter hervorgekramt die von 128 Bytes RAM gemäß der Nomenklatur 
"51" erzählen, aber auch Eines das meint "256 Bytes RAM, 8K Eprom, 3 16 
Bit Timer" ..was eigentlich zu einem "52" passen würde.
Hat Intel hier wirklich seine eigene Nomenklatur verlassen? Welche 
angaben sind richtig?

сорок две

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

сорок две schrieb:
> Hat Intel hier wirklich seine eigene Nomenklatur verlassen?

Sollte nicht. Der 'D87C51' ist ein MC mit 4kB EPROM, 128 Bytes RAM und 
ohne Timer2.
https://en.wikipedia.org/wiki/Intel_MCS-51#Related_processors
http://www.cpu-world.com/CPUs/8751/Intel-D87C51.html

von сорок две (Gast)


Lesenswert?

Guckstduhier:

https://www.datasheets360.com/part/detail/d87c51fa/5091243102361036513/

Wikipdia..das ist die letzte Ecke bei der ich nach Prozessordaten suchen 
würde.

сорок две

von сорок две (Gast)


Lesenswert?

Die 80C51Fx Serie scheint auch mehr Peripherie zu enthalten als die 
gewöhnlichen 52er, da ist von einem PCA (Programmable Counter Array) die 
Rede, das 5 Einheiten mit Compare/Capture und PWM Capabilities umfaßt.
Des Weiteren gibts wohl Low Power Modes und Taktfrequenzen bis zu 33Mhz.

Eine genauere Beschreibung habe ich bisher nur im NXP Datenblatt zum 
80C51FX gefunden.

сорок две

von Route_66 H. (route_66)


Angehängte Dateien:

Lesenswert?

Die Forensoftware ist so beschixxx, dass zwei Dateien anhängen nicht 
funktioniert.
Hier die zweite...

: Bearbeitet durch User
Beitrag #6191540 wurde von einem Moderator gelöscht.
Beitrag #6192216 wurde von einem Moderator gelöscht.
von Lothar (Gast)


Lesenswert?

Silabs 8051 EFM8 Breakout Board mit Debugger für 6 EUR !!

Debugger läuft in Simplicity Studio auch unter Linux ...

https://www.mouser.de/ProductDetail/Silicon-Labs/EFM8BB1LCK?qs=sGAEpiMZZMve4%2FbfQkoj%252BKKziDnzRKIEpZqsivMsmCw%3D

von H2 O. (Gast)


Lesenswert?

Ja so langsam sehe ich das da Atmel/Microchip technisch mau aussieht.
Aber es gibt ja reichlich gutes so wie es scheint von SiLabs, danke an 
alle. Zudem scheint ein integrierter ADC für Anfang wirklich sehr schön 
zu sein.

Danke hierzu schonmal.


Lothar schrieb:
> Silabs 8051 EFM8 Breakout Board mit Debugger für 6 EUR !!
>
> Debugger läuft in Simplicity Studio auch unter Linux ...
Die Software werde ich mir heute Abend mal zu Gemüte führen......
Weißt du ob man mit dem auf dem Board vorhandenen Debugger auch externe 
SiLabs Chips programmieren/debuggen kann?

von Lothar (Gast)


Lesenswert?

Thomas B. schrieb:
> Weißt du ob man mit dem auf dem Board vorhandenen Debugger auch externe
> SiLabs Chips programmieren/debuggen kann?

Am besten fragst Du direkt im Silabs Forum. Es sieht aber so aus, dass 
auf dem 6 EUR Billig Board der Debugger direkt mit dem EFM8 verbunden 
ist. Die SWD Debug Pins sind zwar rausgeführt, aber wahrscheinlich geht 
da nichts, oder nur mit Aufwand.

https://www.mouser.de/ProductDetail/Silicon-Labs/EFM8BB1LCK?qs=sGAEpiMZZMve4%2FbfQkoj%252BKKziDnzRKIEpZqsivMsmCw%3D

Wenn Du also selbst gemachte Boards debuggen willst, nimm lieber ein 
etwas teureres Board mit Debug Stecker. Die gibt es zum selbst auflöten 
für 23 EUR

https://www.mouser.de/ProductDetail/Silicon-Labs/SLTB005A?qs=sGAEpiMZZMve4%2FbfQkoj%252BNm%252BCpoJ5N%2FFZF3TtvPVcsY%3D

Und fertig und noch mit Display für 27 EUR bis 33 EUR ja nach EFM8 wobei 
aber natürlich jedes Board alle EFM8 extern debuggen kann:

https://www.mouser.de/ProductDetail/Silicon-Labs/SLSTK2020A?qs=sGAEpiMZZMu6TJb8E8Cjr9wwHbLtDYs2kvF1z02tfJ4%3D

https://www.mouser.de/ProductDetail/Silicon-Labs/SLSTK2030A?qs=sGAEpiMZZMsnnjF5aXV%2FXp4paRTmurUin3jKKQUTEZM%3D

von Lothar (Gast)


Lesenswert?

Thomas B. schrieb:
> reichlich gutes so wie es scheint von SiLabs

Nicht nur - siehe hier:

https://jaycarlson.net/pf/silicon-labs-efm8/

https://jaycarlson.net/pf/stcmicro-stc8/

von MaWin (Gast)


Lesenswert?

8051, AVR ist kalter Kaffee!

Spiel zuerst mit einem Simulator. Und wenn es Spaß macht, dann nimm 
einen aktuellen µC.

von ??? (Gast)


Lesenswert?

MaWin schrieb:
> Und wenn es Spaß macht, dann nimm einen aktuellen µC

Was wäre das? RISC-V?

von H2 O. (Gast)


Lesenswert?

Mal eine Frage bezüglich dem J-Link Programmern, verstehe ich es richtig 
wenn ich Seite von Segger so deute,

das der J-Link EDU (60€ bei mouser) im Vergleich zum J-Link EDU Mini 
(18€) zwei "Vorteile" hat:
* Spannugsbereich von 1,2V bis 5V (also einen Level-Shifter noch 
intergriert hat, oder?
* und er auch in der Lage ist "Microchip ICSP® interface" zu nutzen also 
das "normale" JTAG Interface der Atmel Chips, sehe ich das so richtig?
* ja ein Gehäuse halt

Info hab ich hier von gezogen:
https://www.segger.com/products/debug-probes/j-link/models/model-overview/

von Wolfgang B. (et-tutorials) Benutzerseite


Lesenswert?

Falls Du auch ein C-Tutorial für 8051er suchst, Herzlich Willkommen:

https://ET-Tutorials.de/Mikrocontroller

von Lothar (Gast)


Lesenswert?

Thomas B. schrieb:
> das "normale" JTAG Interface der Atmel Chips

Der J-Link unterstützt nur "alte" Atmel ARM mit JTAG und einige neuere 
Atmel ARM mit SWD. AVR werden nicht unterstützt.

Der alte Atmel SAM-ICE war ein J-Link:

https://www.microchip.com/DevelopmentTools/ProductDetails/AT91SAM-ICE

> Microchip ICSP interface

Damit ist wirklich Microchip gemeint, also deren ARM-Konkurrenz PIC32 
MIPS. AVR werden nicht unterstützt.

https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/microchip-pic32-support/

Der J-Link unterstützt nur 8051 mit SWD, also die EFM8, aber nicht 
"alte" C8051 mit JTAG

Der Debugger auf den EFM8 Boards ist ein J-Link:

https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/silabs-efm8-c8051-support/

von John Doe (Gast)


Lesenswert?

??? schrieb:
> MaWin schrieb:
>> Und wenn es Spaß macht, dann nimm einen aktuellen µC
>
> Was wäre das? RISC-V?

Nein, das ist die Zukunft ;)

von H2 O. (Gast)


Lesenswert?

@Lothar: vielen Dank ich werde mir nun ein kleines Board für den 
direkten Einstieg besorgen wie Ihr schon verlinkt habt
* https://www.mouser.de/ProductDetail/634-EFM8BB1LCK

und dann für später den großen Bruder auf Steroiden + den EDU  mini
* https://www.mouser.de/ProductDetail/634-LB12F64ECQFP32
* https://www.mouser.de/ProductDetail/943-8.08.91

damit sollte man fürn Anfang nichts mehr falsch machen können oder?

von Lothar (Gast)


Lesenswert?

Thomas B. schrieb:
> den EDU  mini

Frag lieber vorher bei Segger nach. Da steht nämlich nichts von mini. 
Anderseits: all probes

"EFM8 support is included in all current J-Link probes (J-Link BASE, 
PLUS, ULTRA+, PRO and EDU) and can be used without purchasing any 
additional license"

von Johann D. (khs)


Lesenswert?

Servus,
befasse mich zur Zeit auch wieder mit einem älteren Projekt mit
einem AT89S52.
Zum flashen habe ich dafür den ISP Programmer 1.2.0.55
(Hard- und Software wie auf dieser Seite
https://www.windows7download.com/win7-isp-programmer/tzwqylih.html
beschrieben verwendet)
Das flashen war aber oft Glückssache, mal gings auf Anhieb, oft
gar nicht.
Hatte immer an Pin 31 EA/VPP 5 Volt anliegen, wurde aus den
Datenblättern nicht recht schlau, sollten es besser 12 V auch beim
seriellen flashen sein?

Gruß
Hans

von Peter D. (peda)


Lesenswert?

Johann D. schrieb:
> wurde aus den
> Datenblättern nicht recht schlau

Das Datenblatt ist da eindeutig, keine 12V:

Figure 23-2. Flash Memory Serial Downloading

von CH552 (Gast)


Lesenswert?


von Johann D. (khs)


Lesenswert?

> keine 12V
Danke für die Info, bzw. Bestätigung.
So muß ich leider wieder weitersuchen, warum das flashen hier zur Zeit
wieder nicht klappt.
Habe auch schon angedacht, mit Arduino zu flashen, was auch hier im 
Forum
schon beschrieben wurde.

> CH552
wenn es den auch in DIL 40 -Ausführung gäbe wäre es schon zu überlegen.

Gruß, Hans

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Johann D. schrieb:
> warum das flashen hier zur Zeit
> wieder nicht klappt.
Die üblichen Gründe sind: zu lange Anschlussdrähte, Erdschleife, 
Ableitströme...

Johann D. schrieb:
> Hard- und Software wie auf dieser Seite
Mir sticht da gleich der fehlende Blockkondensator ins Auge. Mach den 
mal in Form eines 100n-Kerkos direkt zwischen Vcc und GND.

Und setz die Eingänge der zweiten Hälfte des Baustein auf einen 
definierten (inaktiven) Pegel.

von Frank K. (fchk)


Lesenswert?

H2 O. schrieb:
> Mal eine Frage bezüglich dem J-Link Programmern, verstehe ich es richtig
> wenn ich Seite von Segger so deute,

> * und er auch in der Lage ist "Microchip ICSP® interface" zu nutzen also
> das "normale" JTAG Interface der Atmel Chips, sehe ich das so richtig?

ICSP kommt nicht von Atmel, sondern ist das Programmier- und 
Debuginterface der Microchip PICs (MCLR, PGCLK, PGDAT, VCC, GND). Die 
zugekauften Atmel AVR Controller haben alle was anderes. Und der JLink 
kann nur das ICSP vom PIC32, denn da wird das MIPS EJTAG-Protokoll der 
PIC32 MIPS-Kerne quasi durchgetunnelt, und der JLink kann ja auch MIPS 
EJTAG. Heißt aber auch: Er kann keine PIC24/dsPICs und auch keine 8-Bit 
PIC 10/12/16/18, und er kann auch kein High-Voltage ICSP (Vcc+5V auf 
MCLR), was die meisten 8-Bit PICs brauchen.

fchk

von Lothar (Gast)


Lesenswert?


von Alt G. (altgr)


Angehängte Dateien:

Lesenswert?


: Bearbeitet durch User
von Johann D. (khs)


Lesenswert?

@ Lothar M.
Blockkondensatoren sind vorhanden, alle Leitungen so kurz wie möglich,
keine Eingänge in der Luft.

Wie geht man gegen Erdschleife und Ableitströme vor?

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Johann D. schrieb:
> Wie geht man gegen Erdschleife und Ableitströme vor?
Zuerst mal den PC und die Schaltung aus der selben Steckdose(nleiste) 
betreiben.
Ein Trafonetzteil (statt eines Schaltnetzteils) zur Versorgung der 
Schaltung verwenden.

von Johann D. (khs)


Lesenswert?

Danke für alle Antworten,
habe heute das Netzteil gewechselt, Reset direkt ohne RC-Glied 
angeschlossen,
hat alles nichts geholfen. Auch zusätzliche Pullup-Wiederstände 
eingebaut,
als Steuersoftware PonyProg verwendet,
weder 89S52, noch 89S8253 konnte ich flashen.
Warum es früher in der gleichen Weise (gelegentlich) funktionierte und
jetzt nicht mehr, werde ich wohl auch kaum mehr sicher klären können.
Einzige Vermutung wäre, dass die ICs nach öfterem flashen irgendwie
nachlassen, aber noch lange keine 1000 mal gelöscht wurden.
Habe noch einen Arduino hier, vielleicht komme ich damit weiter.

Gruß, Hans

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Johann D. schrieb:
> hat alles nichts geholfen.
Da müsste man jetzt mal mit einem Oszilloskop nachmessen, ob der 
Oszillator schwingt (das ist zur Programmierung nötig), die Pegel passen 
und die Flanken sauber aussehen. Und dann mal kontrollieren, ob die 
Voraussetzungen vom Kapitel 20 und 24 eingehalten werden:
https://ww1.microchip.com/downloads/en/DeviceDoc/doc1919.pdf

> nach öfterem flashen irgendwie nachlassen
> ...
> aber noch lange keine 1000 mal gelöscht wurden.
Wo das Datenblatt zudem eine Endurance von 10,000 Write/Erase Cycles 
verspricht.

> wurde aus den Datenblättern nicht recht schlau
Ich finde, das ist dort im Datenblatt recht eindeutig: nur im Kapitel 22 
"Programming Interface – Parallel Mode" ist eine Vpp mit 12V angegeben. 
Sonst it lediglich die Rede von VCC und VIH. Und auch diese beiden sind 
klar spezifiziert...

: Bearbeitet durch Moderator
von Peter D. (peda)


Lesenswert?

Wie schon mehrfach erwähnt, mit den 8051-ern mit UART-Bootloader hatte 
ich noch nie Probleme.
Einfach Quarz und MAX232 ranpappen, Flip starten, fertig.

Nachteil, die schnellen AT89LP51RD2 kann man mit Flip nicht auf XTAL/1 
umschalten.

von TomA (Gast)


Lesenswert?

Hallo Johann D.

Hatte vor Jahren die gleichen Probleme mit dem 89S52, hatte sie mit 
eigener Hard- und Software gelöst. Den Schaltplan findest Du durch 
Forensuche "V24Prog", die Software hier:

Beitrag "Re: Layout für MCS51 Experimentierboard"

Vielleicht hilft es Dir weiter.

Gruß. Tom

von TomA (Gast)


Lesenswert?

Sehe grad, der Schaltplan ist im Link auch zu finden.

von Johann D. (khs)


Lesenswert?

Danke für die vielen Antworten,
bin schon mal froh, dass ich nicht der einzige bin, der mit dem IC
Probleme hatte.
> Quarz
Da hatte ich auch schon rumgesucht und dann sicherheitshalber
gleich einen 2 MHz Oszillator eingebaut,
vielleicht wurde es auch damit schlechter.
Werde jetzt mal die angegebenen Links studieren und mich dann ev.
wieder melden.

Gruß, Hans

von Peter D. (peda)


Lesenswert?

Johann D. schrieb:
> Da hatte ich auch schon rumgesucht und dann sicherheitshalber
> gleich einen 2 MHz Oszillator eingebaut

Das ist ungünstig.
Für den 8051 nimmt man typisch 12MHz (USB) oder 11,0592MHz (UART).

von Johann D. (khs)


Lesenswert?

> 12MHz (USB) oder 11,0592MHz (UART)
Muß erst suchen, ob ich für obige Frequenzen was passendes finde.

In dem Projekt, bei dem ich auch im System anfangs flashen konnte,
ist ein 4 MHz Quarz. (serielle Übertragung lief bei niedrigen
Baudraten auch mit krummen Werten)
Beim ISP-Programmer und auch beim PonyProg konnte man auch noch
unter 1 MHz einstellen.
Da wäre jetzt die Frage an TomA, dessen Hard- und Software mir sehr
zusagt, wie hoch die Frequenz mindestens sein soll, weil ich in der
Software keine Einstellmöglichkeiten gesehen habe.

War eigentlich immer der Meinung, die MHz nur so hoch wie nötig zu 
halten,
weil irgendwelche Probleme sonst eher zunehmen als abnehmen.

Gruß, Hans

von TomA (Gast)


Lesenswert?

Hallo Johann D.

Die Controller meiner Hardware werden mit 12 MHz getaktet.

Gruß. Tom

von Johann D. (khs)


Lesenswert?

Danke für die Info,
die meisten Bauteile für die Hardware müssten da sein, die Transistoren
dürften als TUN und TUP nicht so kritisch sein.

Gruß, Hans

von Re D. (Gast)


Lesenswert?

Manuel X. schrieb:
> generell angewöhnt zu programmieren mit der Prämisse "Speicher und MHz
> sind immer genug da", macht es durchaus Sinn sich mal anzuschauen wie
> "sowas" denn überhaupt funktioniert.
> Und dafür ist ein 8015 mit ASM immernoch vorzüglich geeignet.
> Auf DIE Basics kann man ja aufsetzen. Das genau DIE Basics heute aber
> oft fehlen sieht man nur allzu oft.
> Und nebenbei... für die meisten Dinge für die ein kleiner ARM heute
> genutzt wird, kommt ein 8051 auch noch klar.

MHz und Speicher sind heute einfach billiger als inselbegabte Experten, 
die Lösungen für Kleinanwendungen entwickeln. Vom Ressourcenverbrauch 
gibt es aich nichts einzuwenden, da Moderne Chips kleiner und 
energiesparender sind. Das einzige, was für die Steinzeit spricht sind 
ein paar krause uC.net-Foristen, die in Zeiten schwelgen, als Autos noch 
Winker hatten.

von W.S. (Gast)


Lesenswert?

Re D. schrieb:
> MHz und Speicher sind heute einfach billiger...

Und zu Zeiten, als selbige noch nicht so billig waren, haben Leute wie 
du sich eher dem Briefmarkensammeln oder einem anderen Hobby zugewandt. 
Jetzt aber meint man, daß es ausreicht daß Speicher usw. billiger sind. 
Was fehlt sind Basiskenntnisse, weil man wieder mal meint, daß man durch 
Verwendung einer maschinenunabhängigen Programmiersprache selbige nicht 
mehr braucht.

Natürlich braucht man keinerlei Elektronik-Kenntnisse zum Briefmarken 
sammeln. Oder zum Hobby-Schreinern. Dafür aber andere Kenntnisse, die 
man auch bloß nicht durch eine kopierte Lib ersetzen kann.

W.S.

von Re D. (Gast)


Lesenswert?

W.S. schrieb:
> Was fehlt sind Basiskenntnisse, weil man wieder mal meint, daß man durch
> Verwendung einer maschinenunabhängigen Programmiersprache selbige nicht
> mehr braucht.

Hast du denn ausreichend Basiskenntnisse, um das Fundament von dem Haus 
zu bauen, oder soll ich die vorwerfen, dass Leute wie du früher in 
Höhlen hausten und jetzt meinen in Häusern leben zu müssen?

von Stefan F. (Gast)


Lesenswert?

Re D. schrieb:
> Hast du denn ausreichend Basiskenntnisse, um das
>  Fundament von dem Haus zu bauen

Hat er, 100% sicher.

von Johann D. (khs)


Lesenswert?

Bin auch noch da, und am Sonntag hatte ich mir mal Zeit genommen
am Programmer zu löten:
2 MHz Oszillator raus und 12 MHz Quartz rein.
Zuerst hatte ich nur ein paar Kondensatoren mit ca. 20 pF in ungleicher
Bauform - schwinkt nicht.
Dann fand ich doch noch 2 gleiche mit 39 pF, dann war wieder Leben im 
µC.

Lothar M. schrieb:
Da müsste man jetzt mal mit einem Oszilloskop nachmessen

Ich messe zuerst mit einem einfachen TTL-Tester an ALE - Pin 30,
ob sich was tut und wenn ich genauer wissen will,
noch die (1/6)Frequenz an dem Pin. Habe auch ein (altes) Oszi, aber 
denke,
dass man da direkt am Quarz nicht messen kann ohne ihn stark zu
beeinflussen.
Wie testet ihr eine saubere Schwingung?

Jedenfalls konnte ich dann wieder einigermasen zuverlässlich mit
dem ISP-Programmer flashen. Allerdings nur mit einem älteren 32bit-
Tower mit XP-Prof SP3. Dazu musste ich im Programm auch die MHz
statt 12 auf 4 oder gar 2 runterstellen.
Würde eigentlich lieber mit Laptops das machen, um nicht immer
unter dem Tisch nach der Buchse zu suchen, habe aber weder mit
2 XP-Laptops, noch mit einem Win98-Laptop irgend einen Fuß vor
die Tür gebracht.
Da ich auch lieber im System flashen würde, als x-mal die ICs aus-
und einstecken und meine "neueren" Laptops schon keine serielle
Buchse mehr haben, werde ich mal in dem weiter oben von Ralph S.

Beitrag "Arduino - UNO Flashershield (Linux)"

beschriebenen Verfahren weiter probieren.

Gruß, Hans

von Peter D. (peda)


Lesenswert?

Johann D. schrieb:
> und meine "neueren" Laptops schon keine serielle
> Buchse mehr haben

Die 8051 mit UART-Bootloader gehen problemlos über einen üblichen 
USB-RS232 Konverter. Ich hab auch schon ewig keine echte RS232 mehr am 
PC.

von Jobst M. (jobstens-de)


Lesenswert?

Ich könnte Dir einen AT89S52 zukommen lassen, mit dem Du ein HexFile für 
AT89S52 mittels Terminalprogramm (interaktiv) dort hinein schieben 
kannst.

Peter D. schrieb:
> Ich hab auch schon ewig keine echte RS232 mehr am PC.

Auf den meisten Mainboards befindet sich noch eine in Form einer 
Stiftleiste. Benötigt nur ein Slotblech mit Stecker.

Gruß
Jobst

von Johann D. (khs)


Lesenswert?

> Die 8051 mit UART-Bootloader gehen problemlos über einen üblichen
USB-RS232 Konverter.

Ich könnte mir auch einen pinkompatiblen mit Bootloader kaufen,
soll man denn alles alte einfach wegwerfen nur weil es heute
etwas besseres gibt? (Beim Energieverbrauch könnte man heutzutage
eher darüber nachdenken) So einen Konverter habe ich schon, aber
mit PonyProg und vermutlich der Software von TomA sollen die
USB-RS232 Konverter nicht richtig klar kommen.

> Auf den meisten Mainboards befindet sich noch eine in Form einer
Stiftleiste. Benötigt nur ein Slotblech mit Stecker.

Ältere und neuere Tower mit RS habe ich genug.
Wenn man ein Projekt an Ort und Stelle updaten will, ohne jedesmal
das IC heraus nehmen zu müssen, wäre eben ein Laptop schon
praktischer.

Komischerweise funktioniert die ISP-Programmersoftware in meinen
Laptops (XP und Win98) nicht. Beim Tower mit einem 1 m langen
Verlängerungskabel zum Programmer auch schon wieder fast gar nicht.
PonyProg geht nur für AT89S53 und AT89S8252.
Wenn ich also für die hier vorhandenen AT89S52 und AT89S8253
ein Laptop nehmen will, sollte es am ehesten mit der Software
von TomA oder Ralph S gehen.

Gruß
Hans

von Lothar (Gast)


Lesenswert?

Peter D. schrieb:
> Die 8051 mit UART-Bootloader gehen problemlos über einen üblichen
> USB-RS232 Konverter

Mouser hat mal eben meine AT89LP51ED2 um drei Monate verschoben, aber 
wenn die endlich da sind, werde ich ja sehen, ob das so problemlos ist. 
Die diversen Foren sagen was anderes, FLIP wird nicht weiterentwickelt 
und ist gegenüber dem was z.B. Silabs bietet veraltet. Also wenn ich 
nicht unbedingt DIP-40 brauchen würde ...

https://www.mouser.de/ProductDetail/Microchip-Technology-Atmel/AT89LP51ED2-20PU?qs=L%2Fel7Pqjd7DAUOlySpf3UQ%3D%3D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.