Hallo Leute Nach langem überlegen habe ich mich Entschlossen in die Programmierebene von Mikrocontrollern einzusteigen. Ziel für mich ist die Mikrocontroller für Uhrenschaltungen zu verwenden sofern Sie sich dazu eignen. Ich habe mich auf dem Markt ein wenig umgesehen aber habe kein gutes Entwicklerboard gefunden was mir zusagt. Also hab ich meine Freunde um Rat gefragt und da hat mir jemand dieses Board geschenkt (Siehe Bild) Alles schön und gut nur ich hab keinerlei Software ,Dokumentation oder Ähnlches dazu . Ich nutze übrigens kein Windows als Betriebssystem sondern Linux ,was die Wahl der Programme evtl. einschränken könnte. Falls wer Irgendwas dazu hat ,wäre nett mir dazu ein paar Links mitzuteilen da ich noch nicht mal aus der Hardware den Hersteller ermitteln kann. Das Board nennt sich 51 AVR MCU Microcontroller Development Board H5B2 Dabei war auch ein passender Mikrocontroller im Sockel womit ich testen könnte aber auch hier habe ich keinerlei Infos was für ein Controller das ist.
:
Bearbeitet durch Moderator
123 4. schrieb: > Dabei war auch ein passender Mikrocontroller im Sockel womit ich testen > könnte aber auch hier habe ich keinerlei Infos was für ein Controller > das ist. Steht gewöhnlich drauf ;-)
Soll das ein China-Klon von einem AVR ATmega sein? Wenn es ein original ATmega wäre, würde es auch draufstehen. Auf dem Bild steht nur was von STC. Keine Ahnung was das sein soll und ob man das verwenden kann. Womöglich kann man das Board mit dem Sockel noch verwenden, wenn der µC nichts ist. Gabs keinen Schaltplan dazu?
Den 'Hardcore'-Leute hier wird das nicht gefallen, aber mein Tip ist: Besorg dir einen Arduino, normales Standardmodell. Kostet im Original nur 20 Euro. Die Entwicklungsumgebung gibt es kostenlos für Linux (und Windows und Mac). Und es gibt tausende von Beispielen und Leuten die dir helfen können. Verschenke dein altes Board an die Leute, die gleich kommen und behaupten, dass man nur mit solch einem Board etwas lernen könne.
123 4. schrieb: > Falls wer Irgendwas dazu hat ,wäre nett mir dazu ein paar Links > mitzuteilen da ich noch nicht mal aus der Hardware den Hersteller > ermitteln kann. Nun ja, das Board hat einen STC +051, 4-stelliges Display, ein ppar Tasten und Digitalausgänge, und damit alles was man für eine Uhr braucht. Seriell programmierbar über USB. Mit AVR und Arduino hat es nichts zu tun, das ist nur Werbegeschwätz. Heute noch kaufbar: eBay 111933465739 Aber Linux ? Wer sich für ein user supported Betriebssystem mit 2% Marktanteil entscheidet, muss halt alles selber programmieren. http://grauonline.de/wordpress/?p=44 http://www.buydisplay.com/default/stc-8051-microcontroller-isp-software Sogar auf YouTube erklärt http://www.google.gr/url?sa=t&source=web&cd=1&ved=0ahUKEwiE6b6qqqzPAhUTnRQKHbsSBGUQtwIIHTAA&url=http%3A%2F%2Fm.youtube.com%2Fwatch%3Fv%3D08ErLUIr490&usg=AFQjCNF3b1TgRS6-G6fNyb8g4ecbpAlHAw
123 4. schrieb: > Ich nutze übrigens kein Windows als Betriebssystem sondern Linux ,was > die Wahl der Programme evtl. einschränken könnte. Konfiguriere doch dienen PC so, dass du auch Windows booten kannst (so eine Windows-7-Lizenz kostet auch nicht mehr als 20€). Du machst dir das Leben in vielen Bereichen einfacher, als wenn du dich mit aller Gewalt an einem Nischen-OS fixierst. > Das Board nennt sich 51 AVR MCU Microcontroller Development Board H5B2 > Dabei war auch ein passender Mikrocontroller im Sockel womit ich testen > könnte aber auch hier habe ich keinerlei Infos was für ein Controller > das ist. Das ist ein Nachbau des 8051 aus dem letzten Jahrtausend: http://www.stcmicro.com/stcmcu.html Schön einfach für den Anfang, aber langfristig sicher eine Sackgasse. BTW: Bitte das nächste Mal einen sinnvolleren Titeltest als "Suche Hilfe" eingeben...
:
Bearbeitet durch Moderator
Ich vermute mal, da ist ein USB-RS232 Umsetzer drauf, der an die UART geht. Da könnte man auch einen Atmel 89C51 mit Bootloader reinstecken und dann mit der Linux-Version von Flip programmieren. Z.B.: http://csd-electronics.de/ICs/Mikrocontroller/AT32-43-86-89-91/AT89C51RB2-3CSUM::406.html http://www.atmel.com/tools/FLIP.aspx
LINUX stcgal - STC MCU ISP flash tool stcgal is a command line flash programming tool for STC MCU Ltd. [1] 8051 compatible microcontrollers. The name was inspired by avrdude https://github.com/grigorig/stcgal --- Bzgl. des oben abgebildeten Teils, http://www.instructables.com/id/Cheap-AVR51-Development-board --- Kenne aber beides nicht.
Allerdings funktioniert erstmal gar nichts, wenn du keinen Quarz da an Pin 22 und 23 steckst, wo der 3 pol. Sockel vorgesehen ist. Ohne externen Quarz geht bei den 8051 nischt. Auf dem Foto liegt er da unten auf der Platine, ich drücke dir die Daumen, das der auch bei deinem Board dabei ist.
Matthias S. schrieb: > Allerdings funktioniert erstmal gar nichts, wenn du keinen Quarz da an > Pin 22 und 23 steckst, wo der 3 pol. Sockel vorgesehen ist. Ohne > externen Quarz geht bei den 8051 nischt. Auf dem Foto liegt er da unten > auf der Platine, ich drücke dir die Daumen, das der auch bei deinem > Board dabei ist. Jap ist dabei und 2 Stück sogar . Einer mit genau 12 Mhz der andere mit 11,X Mhz . Die Quarze sind ja nicht das Problem da ich auch langsamere oder etwas schnellere einsetzten könnte (Palette lässt da etwas Spielraum zu).
Die 11,0592Mhz werden oft verwendet, weil man damit die Baudrate genau einstellen kann. Die 12MHz benutzen gerne Anfänger, um Zeiten genau in 1µs hinschreiben zu können. Erfahrene Programmierer lassen sich die Konstanten einfach vom Compiler ausrechnen und schreiben nur die Formel hin mit einem Define für F_CPU.
MaWin schrieb: > Nun ja, das Board hat einen STC +051, 4-stelliges Display, ein ppar > Tasten und Digitalausgänge, und damit alles was man für eine Uhr > braucht. Seriell programmierbar über USB. > > Mit AVR und Arduino hat es nichts zu tun, das ist nur Werbegeschwätz. > > Heute noch kaufbar: eBay 111933465739 > > Aber Linux ? Wer sich für ein user supported Betriebssystem mit 2% > Marktanteil entscheidet, muss halt alles selber programmieren. > > http://grauonline.de/wordpress/?p=44 > > http://www.buydisplay.com/default/stc-8051-microcontroller-isp-software > > Sogar auf YouTube erklärt > > http://www.google.gr/url?sa=t&source=web&cd=1&ved=0ahUKEwiE6b6qqqzPAhUTnRQKHbsSBGUQtwIIHTAA&url=http%3A%2F%2Fm.youtube.com%2Fwatch%3Fv%3D08ErLUIr490&usg=AFQjCNF3b1TgRS6-G6fNyb8g4ecbpAlHAw Als Serielle Schnittstelle zeigt sich auch das Board wenn man das ohne Programme oder zusätzliche Tools an einen USB Schnittstelle hängt. Im Terminal dann lsusb eingegeben erkennt man das Board als dies : Bus 008 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port Es hat alls alles was ich brauche um einen Controller für Digital Uhren zu Programmieren. Mehr will ich ja auch nicht. Alles andere ist nur Beiwerk was für meine Vorhaben nicht sinnvoll ist. Und die Kommentare bei einigen finde ich auch schon traurig . Aber man sieht aber auch hier schön wie viele Leute es gibt die kaum übern Tellerrrand schauen können. Dabei gibt es sehr wohl und viele Programme speziell für Linux die für solche Boards ,nur die wenigstens wissen überhaupt was davon ,das ist mitunter auch ein kleines Problem. Und wegen Nieschen OS würde ich das eher nicht Behaupten den 98% aller Server im Internet darauf laufen Linux Distributionen drauf .Die Minderheit oder als "Nieschen OS" im Internet sind eher die Windows Kisten .Ebenfalls gibt es viele andere Bereiche wo mittlerweile Linux als Monopol anzusehen ist und kein Windows. Aber solche Diskussionen gehören hier nicht in diesen Thread. Ich hatte ja höflich und freundlich um Hilfe gebeten um etwas zu erfahren über das Board und gebeten evtl. nen Tip zu geben welche Software man dafür verwenden kann um damit Mikrocontroller zu Programmieren. Nur zu Info am Rande das Board hat nen Jumper mit dem man auch zwischen dem vorhandenen Controller und der Stellung "AVR" wählen kann. Eventuell lässt sich damit dann sogar ein AVR dran betreiben bzw. Programmieren ? Ebenso sitzt ein Jumper drauf mit dem man auch auf 5V Umschalten kann Die Schnittstelle Oben neben dem 4 Stelligen Display ,gibt es dazu Infos ? DAS Sind die Informationen wo ich suche und gehofft haben das jemand vielleicht was drüber weis. Und ich dazu Dokumentation suche. Da wird von einem mit Arduino für nen Zwanziger erwähnt , mein Gott ! Warum soll ich Geld für etwas ausgeben wenn ich alles wichtige schon habe ? Dann werde ich zu AVR verwiesen ,nett aber das ist kein Board generell nur für AVR Modelle.
Wolfgang schrieb: > > Steht gewöhnlich drauf ;-) Hilft dir diese Info : Hersteller : STC Modell : 89C52RC Weiter ?
Embedded software Entwicklungs Maschinen sind nun mal Windows Maschinen. Aber wenn du mit Linux da gleucklich werden willst mach doch.
123 4. schrieb: > Und > wegen Nieschen OS würde ich das eher nicht Behaupten den 98% aller > Server im Internet darauf laufen Linux Distributionen drauf .Die > Minderheit oder als "Nieschen OS" im Internet sind eher die Windows > Kisten . Die überwiegende Mehrheit aller auf Ackerflächen fahrender Fahrzeuge sind Traktoren und Mähdrescher. Hingegen sind Personenkraft-"Kisten" auf Ackerflächen eher die Minderheit - und das, obwohl die Gesamtfläche der Ackerflächen dieser Welt dramatisch größer ist als die der Straßen und Autobahnen. Wenn dir das OS weitaus wichtiger ist, als eine gute Infrastruktur für's Entwickeln, dann ist das eben so und dann kannst du mit 98% aller wirklich gut gemeinten Ratschläge eben nichts anfangen. Das ist dein Problem, aber mosere deshalb nicht über Andere, denen ihre Arbeit wichtiger ist als irgend ein OS. Ich schreib zwar grad auch auf einem Linux, aber das ist nur zum Daddeln hier an. Gearbeitet wird bei mir unter Windows. W.S.
hier: https://www.pjrc.com/tech/8051/ sollte eigentlich alles dabei sein, was Du für deinen Käfer (unter Linux) brauchst. Von Keil: https://www.keil.com/c51/demo/eval/c51.htm gibt's eine (Demo-) Toolchain, die für das Ding eigentlich auch ausreichend sein sollte. SDCC kann auch 8051 Code erzeugen und ist für Linux verfügbar. Kein Grund, Windows zu installieren...
123 4. schrieb: > Modell : 89C52RC Hier hat schon jemand alles gemacht: http://mcudreams.blogspot.de/2012/12/programming-stc-89c52-microcontroller.html Das ist zwar für Win aber unter Linux läuft SDCC genau so.
Lothar schrieb: > Das ist zwar für Win aber unter Linux läuft SDCC genau so Hatte ich noch vergessen, alternativ kannst Du unter Linux auch eine dicke Eclipse IDE für 8051 installieren z.B. http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx
123 4. schrieb: > Nur zu Info am Rande das Board hat nen > Jumper mit dem man auch zwischen dem vorhandenen Controller und der > Stellung "AVR" wählen kann. Eventuell lässt sich damit dann sogar ein > AVR dran betreiben bzw. Programmieren ? Schau mal nach, ob der Jumper irgendwie an Pin 9 des MC (Reset) landet. Wenn ja, kann man damit die Resetpolarität einstellen und statt des 80C51 einen Mega 8515 stecken. Der 8051 wird mit einem positiven, der AVR mit einem Massepuls resettet - Universalboards sehen deswegen dafür einen Jumper vor. Programmieren geht bei dir leider nur, wenn du einen MC mit Bootloader steckst, der das programmieren über serielle Schnittstelle vorsieht. Fabirkfrische MC der AVR Serie können damit nicht dienen.
Also Jungs ich weiss nicht was das gemecker soll. Ich nutze Linux seit 1992 und das ist bei mir das Hauptsystem und selbstverstaendlich auch fuer die Embedded Entwicklung: [olaf] ~: avr-gcc-4.7.0 -v gcc version 4.7.0 (GCC) [olaf] ~: sh2a-gcc -v (sh2a und sh2) gcc version 4.5.1 (GCC) [olaf] ~: m32c-elf-gcc -v (m16c und r8c) gcc-Version 4.7.0 (GCC) [olaf] ~: m68k-elf-gcc -v (68332 und Palmpilot) gcc-Version 4.1.1 [olaf] ~: tasm TASM Assembler. Version 2.9.2, May, 1992. Copyright (C) 1985-1992 by Speech Technology Incorporated tasm: No files specified. tasm -<nn> [-options] src_file [obj_file [lst_file [exp_file [sym_file]]]] Option Flags defined as follows: -<nn> Table (48=8048 65=6502 51=8051 85=8085 80=z80) (68=6800 05=6805 70=TMS7000) (3210=TMS32010 3225=TMS32025) Ihr seht es geht alles. Allerdings muesste man mich schon grosszuegig mit Geld bewerfen damit ich mir nochmal MCS51 antue. Olaf
Matthias S. schrieb: > Programmieren geht bei dir leider nur, wenn du einen MC mit Bootloader > steckst, der das programmieren über serielle Schnittstelle vorsieht. > Fabirkfrische MC der AVR Serie können damit nicht dienen. Der gesteckte STC 89C52RC kommt werksseitig mit seriellem Bootloader und kann daher auch in diesem Board geflasht werden. Ohnehin kommen fast alle uC egal ob 8051 oder ARM mit Bootloader - außer denen von Atmel - Programmer gibt es fast nirgends mehr.
> alle uC egal ob 8051 oder ARM mit Bootloader - außer denen von Atmel - > Programmer gibt es fast nirgends mehr. Das mag vielleicht fuer modernere Typen gelten. Aber bei MCS51 waren integrierte Bootloader eher die Ausnahme. Ah..ich sehe gerade es gibt noch mehr: [olaf] ~: asx8051 ASxxxx Assembler V01.70 + NoICE + SDCC mods Feb-1999 (Intel 8051) [olaf] ~: sdcc SDCC : FreeWare C Compiler For 8051 Core MicroControllers Version 2 : Release 0 : Patch Level 17 (UNIX) [olaf] ~: mcs51forth bash: ./mcs51forth: /lib/ld-linux.so.1: bad ELF interpreter: Datei oder Verzeichnis nicht gefunden Verdammt, Forth ist schon ausgestorben. Ich muss wohl wirklich mal aufraeumen. :-) Ich hoffe im uebrigen die anvisierten Uhrenschaltungen sollen nicht mit Batterie laufen. Dann gibt es gewiss auch besseres als den alten 89C52. Olaf
Falls du PL/M 51 brauchst, irgendwo muss es noch rumliegen. Das war die erste Hochsprache für die 51er. Damit hab ich damals einen Wecker mit dem 51er gebaut. Noch bevor Keil und IAR C Compiler geschrieben haben. Übrigens war IAR damals kaum brauchbar im Vergleich zu Keil. Intel ASM51 und die alten Keil C Versionen sind alles DOS Versionen welche auch sicher mit DOSBOX laufen würden falls du Bedarf hast. Oder kann man ev. unter Linux auch 'inline' DOS Befehle laufen lassen? Unter OS/2 liefen die alle out of the box :-) Selbst das Hitex C51 ICE geht mit Win31. Und mehr als den alten DOS Keil 3.2 C Compiler braucht man für deinen 89C52 nicht. Die 6er und 7er Win Versionen gehen mit PE und sicher auch mit Wine würde ich dir aber fürs erste nicht empfehlen. Make tool kennst du ja sicher und kannst dann jedes x-beliebige verwenden. Übrigens sieht dein Prozessor aus wie eine Kopie der Philips 89C52RC/RD Serien. Wurden später von Atmel gekauft IIRC. Dafür gibt's auch so ein DOS Programmiertool noch irgendwo auf einer meiner Platten. Wenn du mit diesen DOS Programmen unter Linux was anfangen kannst, dann melde dich.
Ich verwende den ASEM-51 (http://plit.de/asem-51/home.htm) und SCITE als Editor... allerdings ist der 8051 schon etwas OUT. Das letzte MCS51 Projekt habe ich mit dem NXP P89LPC920 gemacht, jetzt ist der "Not recommended for new design" MCS51 liegt im sterben ;-)
Scherg schrieb: > Das letzte MCS51 Projekt habe ich mit dem NXP P89LPC920 gemacht, jetzt > ist der "Not recommended for new design" Das stimmt NXP wollte seine LPC900 mit 8051 durch die LPC800 mit ARM ersetzen mit denselben Packages zum gleichen Preis. Das hat aber nicht funktioniert, die LPC800 sind nicht so günstig zu fertigen wie gedacht, obwohl für viele Anwendungen gut geeignet. Die 8051 Konkurrenz freut das, Silabs hat mit neuen 8051 in 2016 Umsatz und Gewinn enorm gesteigert: http://www.silabs.com/products/mcu/8-bit/Pages/efm8.aspx
Peter D. schrieb: > Die 11,0592Mhz werden oft verwendet, weil man damit die Baudrate genau > einstellen kann. > Die 12MHz benutzen gerne Anfänger, um Zeiten genau in 1µs hinschreiben > zu können. > Erfahrene Programmierer lassen sich die Konstanten einfach vom Compiler > ausrechnen und schreiben nur die Formel hin mit einem Define für F_CPU. Und sie wissen dann natürlich auch, dass der Compiler runden muss und evtl. der Quarz für die gewünschte Baudrate nicht taugt, oder eben keine genaue µs erreicht werden kann. Ein Anfänger kann das nicht so leicht abschätzen. Oder er ist sich dieses Problems gar nicht bewusst...
Lothar schrieb: > Die 8051 Konkurrenz freut das, Silabs hat mit neuen 8051 in 2016 Umsatz > und Gewinn enorm gesteigert: > > http://www.silabs.com/products/mcu/8-bit/Pages/efm8.aspx Also korrigiere ich mich: Der 8051 ist tot, es lebe der 8051. ;-) Das dieses Uraltdesign solange durchhält ist wirklich bemerkenswert.
Andi B. schrieb: > Übrigens sieht dein Prozessor aus wie eine Kopie der Philips 89C52RC/RD > Serien. Wurden später von Atmel gekauft IIRC. Nö, Atmel hatte die Flash 89C51 zuerst im Programm. Die mit Bootloader und CAN haben sie von Themic übernommen, deshalb heißen die auch T89C51CC01. Atmel hat auch viele 89C51 auf 1-Takter umgestellt (XTAL/1). Sie können aber weiterhin auf XTAL/6 oder /12 konfiguriert werden. Philips hat nach der Übernahme durch NXP sein gesamtes 8051 Programm geschreddert. Mit Atmel hatten die nie was am Hut. Das merkt man leider auch am I2C der Atmels, das ist buggy, sieht aber von der Programmierung dem original 80C552 sehr ähnlich. Es kann sich verklemmen, daher muß man ein Timeout aufsetzen und es neu starten.
Scherg schrieb: > Das dieses Uraltdesign solange durchhält ist wirklich bemerkenswert. Der Befehlssatz des 8051 ist für mich ein Musterbeispiel an Geradlinigkeit und Effektivität. Bitadressierbarkeit, das flexible Speicherdesign und die simple Erweiterbarkeit finde ich bis heute zwar erreicht, aber nicht übertroffen. Es macht Spass, die Kiste in Assembler zu programmieren und das kann ich nicht von jedem MC sagen. Schade, das beim Board des TE vermutlich zu wenig Platz ist wg. des Bootloaders. Ansonsten wäre sicher auch MCS-52 Basic eine lustige Sache.
:
Bearbeitet durch User
... lustig ist, dass in den Datenblättern von STC (die, die ich gefunden habe) so nichts von einem Bootloader steht. Wenn das sauber dokumentiert wäre wie dieser funktioniert, würde ich mir einen Chip interessehalber bestellen um den an mein MCS51 Equipment anzupassen. Wenn mir hier jemand Links nennen kann (außer den offiziellen von STC) wäre schön für mich !
jjflash schrieb: > lustig ist, dass in den Datenblättern von STC (die, die ich gefunden > habe) so nichts von einem Bootloader steht Da gibt es ein Kapitel "Typical Application Circuit for ISP" wo man sieht, dass es einen werksseitigen Power-On Bootloader für RX/TX gibt, der sich "ISP Monitor" nennt. Matthias S. schrieb: > Schade, das beim Board des TE vermutlich zu wenig Platz ist wg. des > Bootloaders. Ansonsten wäre sicher auch MCS-52 Basic eine lustige Sache. Da sollte genug Platz sein, der "ISP Monitor" ist minimal. Besser wäre aber einen aktuellen 8051 zu nehmen: EFM8BB3 mit 64K Flash kommt werksseitig mit einem 512 Byte Bootloader, der Rest ist also frei. Der Bootloader ist ausserdem ganz oben, so dass das User Programm ganz normal ab Adresse 0000 läuft. Und der Bootloader wird durch einen Boot-Pin gestartet, also keine Wartezeit wie bei einem "Monitor" http://www.silabs.com/products/mcu/8-bit/Pages/efm8.aspx
Lothar schrieb: > Da sollte genug Platz sein, der "ISP Monitor" ist minimal. 8052 Basic hat in der letzten Version noch etwa 10 Bytes frei. Da wird kein Bootloader passen. Lothar schrieb: > http://www.silabs.com/products/mcu/8-bit/Pages/efm8.aspx Das bringt dem TE aber nichts, denn er hat ja schon ein Board - und danach weiter auf 8051 zu setzen, wird wohl nicht passieren. Immerhin fällt mir da ein 10-Pin Verbinder auf, der durchaus die ältere ISP Programmierschnittstelle für z.B. 89S52 oder Mega8515 sein könnte. Falls das so ist, könnte der TE nach Anschaffung eines ISP Programmierers dann die o.a. Typen im Board verwenden. Der z.B. AVRISP MkII kann sowohl den Mega als auch den 89S52 flashen, benötigt lediglich einen Adapter von 6-Pin auf 10-Pin ISP.
> Immerhin fällt mir da ein 10-Pin Verbinder auf, der durchaus die ältere > ISP Programmierschnittstelle Das wird eher die JTAG-Schnittstelle sein. Passende JTAG-Adapter gibt es von Silabs und natuerlich etwas guenstiger auch vom freundlichen Chinesen. Funktioniert mit Keils C89 unter M$-Win tadellos. Linuxer bleiben da wohl aussen vor.
Peter D. schrieb: > Andi B. schrieb: >> Übrigens sieht dein Prozessor aus wie eine Kopie der Philips 89C52RC/RD >> Serien. Wurden später von Atmel gekauft IIRC. > > Nö, Atmel hatte die Flash 89C51 zuerst im Programm. Die mit Bootloader > und CAN haben sie von Themic übernommen, deshalb heißen die auch > T89C51CC01. > .... > Philips hat nach der Übernahme durch NXP sein gesamtes 8051 Programm > geschreddert. Hm, mein Philips Programming Guide für die 89C51Rx (RA - RD) Familie ist von 1998. Mein Temic Preliminary T89C51RD2 von 2000. AFAIR waren die Temic Teile damals schon verbesserte Versionen gegenüber Philips. Und Philips hat diese 89C51Rx schon lange aufgegeben bevor sie sich in NXP umbenannt haben. Und ja, Atmel hat die Temic übernommen IIRC zu einer Zeit wo Philips diese Serien schon abgekündigt hat. Aber egal, ist eh nur mehr Leichenfledderei. Zum Spielen kann man MCS51 nach wie vor verwenden und vor allem um zu Lernen wie man es besser heutzutage nicht mehr macht. Die die nichts anderes kennen, werden auch heute noch glücklich damit. Anfängern sollte man aber solch Steinzeitarchitektur eher nicht empfehlen, sondern besser irgendeinen kleine ARM µC. Aber wenn jemand unbedingt will, die passenden Steinzeittools dazu hab ich noch.
123 4. schrieb: > sondern Linux ,was die Wahl der Programme evtl. einschränken könnte. Evtl. wenn man was gerade ganz neues fuer Win10 nutzen will, den ganze alten DOS, W95-Win8 Kram kriegt man doch fast immer mit der freien Win-API wine zum laufen. https://appdb.winehq.org/objectManager.php?bIsQueue=false&bIsRejected=false&sClass=vendor&iId=629&sAction=view&sTitle=View+Developer aktuell ist wohl Version 9.56, falls interessiert einfach probieren und berichten!
Matthias S. schrieb: > Der Befehlssatz des 8051 ist für mich ein Musterbeispiel an > Geradlinigkeit und Effektivität. ... Stimmt, deshalb "quäle" ich meine Azubis auch noch heute damit ;-)
Andi B. schrieb: > ... Anfängern sollte man aber solch > Steinzeitarchitektur eher nicht empfehlen, sondern besser irgendeinen > kleine ARM µC... Aber ARM programmierst du doch nicht mehr in Assembler, oder? Das Verständnis für Prozessoren erlangt man am Besten von ganz unten, als Grundlagenvermittlung ist das MCS51 völlig ausreichend.
Markus F. schrieb: > SDCC kann auch 8051 Code erzeugen und ist für Linux verfügbar. > > Kein Grund, Windows zu installieren... ... und die Performance des SDCC scheint sich auch gerade verdoppelt zu haben: https://acassis.wordpress.com/2016/07/20/sdcc-went-from-worst-stm8-compiler-to-best-in-a-very-short-time/
Scherg schrieb: > Andi B. schrieb: > >> ... Anfängern sollte man aber solch >> Steinzeitarchitektur eher nicht empfehlen, sondern besser irgendeinen >> kleine ARM µC... > > Aber ARM programmierst du doch nicht mehr in Assembler, oder? Das > Verständnis für Prozessoren erlangt man am Besten von ganz unten, als > Grundlagenvermittlung ist das MCS51 völlig ausreichend. Nein, ich programmiere fast nichts mehr in Assembler. Obwohl es natürlich manchmal hilft wenn man es kann. Einem Anfänger würde ich aber auch fürs Grundlagenstudium bzw. Assemblerlernen zu einer aktuellen RISC Architektur (Cortex-Mx) raten. Oder meinetwegen einem PIC, oder wenn er unbedingt will irgendeinem Atmel. MCS51 mit seinen verschiedenen indirekten Adressierungen und vor allem deren Begrenzungen - never ever again. Da lernst du viel Schrott den du bei keiner aktuellen Architektur mehr brauchen kannst. Aber wenn du natürlich Azubis quälen willst, dann ist der 51er ideal ;-)
Andi B. schrieb: > MCS51 mit seinen verschiedenen > indirekten Adressierungen und vor allem deren Begrenzungen - never ever > again. Da lernst du viel Schrott den du bei keiner aktuellen Architektur > mehr brauchen kannst. Das ist allerdings ein Irrtum deinerseits. Das, was man da lernen kann, sind Kenntnisse über Prozessorarchitekturen, hier eben sowas wie Codesegment, Datensegment, externes Datensegment. Jeder Lackel, der zu allererst mit C anfängt, beschwert sich hingegen, wenn sein toller char*, den er mal auf ein Funktionsargument und dann auf nen const char[] anwenden will, nicht so tut wie er es gedacht hat. Man kann auch (sofern man sich nicht zu blöd anstellt) den Umgang mit dem Carry, mit Schiebe- und Rotationsbefehlen und vieles mehr lernen - und sowas hilft auch für später und für ganz andere Architekturen. Kurzum, man lernt dazu und erweitert seinen Horizont. Das ist ne wichtige Grundlage. Vergleich's mal mit dem Fahrschul-Unterricht auf irgend einem Auto, was man später selbst nicht zu fahren gedenkt. Auch dieser Unterricht lohnt sich dennoch. W.S.
Andi B. schrieb: > MCS51 mit seinen verschiedenen indirekten Adressierungen und > vor allem deren Begrenzungen Das ist doch bei den Cortex-M ganz ähnlich. Bei vielen ist das RAM nicht an einem Stück sondern aufgeteilt auf AHB, APB etc. mit unterschiedlicher Latenz und undefinierten Adressen dazwischen. Dann noch Bit-Banding und Bit-adressierbare Peripherie und vielleicht noch eine MPU ...
Das ist doch hier kein Platz für diese alte Grundsatzdiskussion. Der TE hat nun mal dieses gar nicht schlechte Board, auf dem MCS51 oder auch AVR Platz nehmen kann und hat sonst alles drauf, was er braucht, um z.B. eine Uhr zu programmieren, inklusive Knöpfen und Displays. Da braucht man keinen ARM, sondern eher Köpfchen. Und das Adressschema von MCS51 ist doch ein Spaziergang gegenüber den Eigenheiten anderer MC Familien. Wenn es keine Unterlagen zu dem Board gibt, würde ich dem TE empfehlen, sich mal einen Abend hinzusetzen und mit Durchgangspieper die Belegung von 10 pol. Leiste, den Knöpfen und der Displays durchzuklingeln und zu notieren. Wenn wir das gepostet kriegen, haben wir in Nullkommanichts raus, was das Board ist und wie der Pfostenverbinder gemeint ist.
Matthias S. schrieb: > Das ist doch hier kein Platz für diese alte Grundsatzdiskussion. > Der TE > hat nun mal dieses gar nicht schlechte Board, auf dem MCS51 oder auch > AVR Platz nehmen kann und hat sonst alles drauf, was er braucht, um z.B. > eine Uhr zu programmieren, inklusive Knöpfen und Displays. > Da braucht man keinen ARM, sondern eher Köpfchen. > Und das Adressschema von MCS51 ist doch ein Spaziergang gegenüber den > Eigenheiten anderer MC Familien. > Wenn es keine Unterlagen zu dem Board gibt, würde ich dem TE empfehlen, > sich mal einen Abend hinzusetzen und mit Durchgangspieper die Belegung > von 10 pol. Leiste, den Knöpfen und der Displays durchzuklingeln und zu > notieren. > Wenn wir das gepostet kriegen, haben wir in Nullkommanichts raus, was > das Board ist und wie der Pfostenverbinder gemeint ist. Erstmal Vielen dank für das raus-nehmen der Heißen Luft bei so mancher Diskussion.Ich bin es auch manchmal echt leid immer und immer wieder sich mit irgendwelchen Leuten sinnlos zu Unterhalten wo es echt zu keiner Lösung kommt. Das was da ist soll reichen und damit sollte man auch klarkommen. Inwiefern man welche Lösung dann herausbekommt liegt im ermessen der jeweiligen Leute die zusammenarbeiten wollen/möchten. Ich habe auch nie Behauptet das der 8051 das Top aktuelle auf dem Markt ist. Er ist schon ein paar Tage alt aber das Bedeutet das es zu dem Bereich genug Dokumentation schon gibt um Projekte die man vorhat entsprechend Umzusetzen. Es geht halt mitunter um einen Entsprechenden Compiler wie beim Ardunio das z.B. Sketch um die Programmierung mal Anzufangen. Die Nächte werden länger ,die Tage kürzer und man hat eben Zeit sich auch damit zu Befassen. Und wenn es einen Compiler gibt ,gibt es auch dazu entsprechende Dokumentation worauf man sich Stützen kann. Wenn also so ein Entsprechender Compiler für Linux existiert um damit diese Controller anzusprechen und zu Programmieren lassen sich auch viele Schnittstellen und Pins ebenfalls leichter herausfinden und man kann so sich dann auch eine entsprechende Dokumentation zurechtbasteln. Sorry wenn ich mich jetzt wieder Melde ,aber ich hatte Beruflich viel zu tun und musste das Projekt "Mikrocontroller" auf Eis legen. Ich habe vor einigen Tagen versucht mal ein Schaltplan von dem Entwicklerboard zu kriegen ,bin aber kläglich gescheitert mangels Informationen zum Schaltplan selbst. Das "Ausklingeln" der Entsprechenden Pins kann ich auch gerne die Tage machen müsste aber auch mal Konkret eine Info kriegen welche Pins/Anschlüsse) gemessen werden sollen.
Andi B. schrieb: > Falls du PL/M 51 brauchst, irgendwo muss es noch rumliegen. Das > war die > erste Hochsprache für die 51er. Damit hab ich damals einen Wecker mit > dem 51er gebaut. Noch bevor Keil und IAR C Compiler geschrieben haben. > Übrigens war IAR damals kaum brauchbar im Vergleich zu Keil. Intel ASM51 > und die alten Keil C Versionen sind alles DOS Versionen welche auch > sicher mit DOSBOX laufen würden falls du Bedarf hast. Oder kann man ev. > unter Linux auch 'inline' DOS Befehle laufen lassen? Unter OS/2 liefen > die alle out of the box :-) Selbst das Hitex C51 ICE geht mit Win31. Und > mehr als den alten DOS Keil 3.2 C Compiler braucht man für deinen 89C52 > nicht. Die 6er und 7er Win Versionen gehen mit PE und sicher auch mit > Wine würde ich dir aber fürs erste nicht empfehlen. Make tool kennst du > ja sicher und kannst dann jedes x-beliebige verwenden. > > Übrigens sieht dein Prozessor aus wie eine Kopie der Philips 89C52RC/RD > Serien. Wurden später von Atmel gekauft IIRC. Dafür gibt's auch so ein > DOS Programmiertool noch irgendwo auf einer meiner Platten. > > Wenn du mit diesen DOS Programmen unter Linux was anfangen kannst, dann > melde dich. Hallo Andi B. Danke für das Angebot ,doch leider kann ich da nur wenig was damit Anfangen. Unter Wine mit Linux ist zwar vieles Möglich aber die Kommunikation über USb ,daran scheitert es kläglich. Es gibt Ansätze wo es ein paar Lösungen dazu gibt ,aber die basieren eher auf ab Win XP und sind nicht für DOS Gedacht. Natürlich könnte ich dann in einer "DOSBOX" den Kram schreiben ,Dann Abspeichern und zuletzt über andere Tools dann das Programm auf den Controller bringen .aber das wäre bei jedem Versuch ( wenn man Fehler such oder neu es hinzufügt/altes entfernt) der im Dauerzustand der auf Zeit hin echt nervig werden kann.
Andi B. schrieb: > Nein, ich programmiere fast nichts mehr in Assembler. Obwohl es > natürlich manchmal hilft wenn man es kann. Einem Anfänger würde ich aber > auch fürs Grundlagenstudium bzw. Assemblerlernen zu einer aktuellen RISC > Architektur (Cortex-Mx) raten. Oder meinetwegen einem PIC, oder wenn er > unbedingt will irgendeinem Atmel. Witzig, Du empfiehlst also die noch ältere vorsteinzeitliche PIC-Architektur und lehnst die 8051er ab. Ahja...
123 4. schrieb: > Das "Ausklingeln" der Entsprechenden Pins kann ich auch gerne die Tage > machen müsste aber auch mal Konkret eine Info kriegen welche > Pins/Anschlüsse) gemessen werden sollen. Für eine Uhr ist natürlich die Belegung des Displays und die der Taster vorrangig. Dazu besorgst du dir am besten ein Datenblatt des 8051 und druckst dir das Pinout aus. Darein schreibst du dann, welche Portbeinchen mit welcher Peripherie verbunden ist. Durchgangspiepser bzw. Ohmmeter braucht man dazu allerdings. Da du die Kiste programmieren musst, ist noch die Belegung des Pfostenfeldverbinders wichtig.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.