Forum: Mikrocontroller und Digitale Elektronik erster Mikrocontroller


von CocaCola (Gast)


Lesenswert?

Hi, was ist der erste Mikrocontroller gewesen? Waren das schon Bauteile 
in den Computern in den 60er Jahren oder erst so mit dem C64 oder den 
Amigas? Oder kann man von Mikrocontrollern und Logikgattern(FGPAs) schon 
sprechen, seit dem die Transistoren da sind?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

Von https://en.wikipedia.org/wiki/Microcontroller#History :

"The Smithsonian Institution says TI engineers Gary Boone and Michael 
Cochran succeeded in creating the first microcontroller in 1971."

von Rolf M. (rmagnus)


Lesenswert?

Johann L. schrieb:
> z.B.: https://de.wikipedia.org/wiki/Intel_4004

Nur daß das kein Mikrocontroller ist.

von Heiko Jakob (Gast)


Lesenswert?

Alles eine Frage der eh schon recht schwammigen Definition von 
Microcontroller. Kandidaten gibts da einige. Z.b.
 - Der AGC in der Block II Variante der Apollo Missionen
 - AL1
 - MP944
 - CADC
 - TMS1000
 - GI250
 - Intel 4004

von CocaCola (Gast)


Lesenswert?

Rolf M. schrieb:
> Von https://en.wikipedia.org/wiki/Microcontroller#History :
>
> "The Smithsonian Institution says TI engineers Gary Boone and Michael
> Cochran succeeded in creating the first microcontroller in 1971."

Der Text ist ja auf englisch :-(, warum gibts den nicht in Deutsch?

von Klaus (Gast)


Lesenswert?

Das haben sich die Babylonier vermutlich auch gefragt, als sie vor dem 
Trümmerhaufen standen.

von Rainer V. (rudi994)


Lesenswert?

Rolf M. schrieb:
> https://en.wikipedia.org/wiki/Microcontroller#History
> TI engineers Gary Boone ... first microcontroller in 1971.

TMS-1802-NC, 3000 Bits Programmspeicher, 128 Bits RAM.
http://www.circuitstoday.com/microcontroller-invention-history

von Diodenes (Gast)


Lesenswert?

Nach meinem persönlichern Erleben war es Mitte der 70er der 8048 /8748 
bzw. die MCS-48-Familie. Da ging es flächendeckend los, und mit der 
51-er-Familie als Nachfolger hat sich das Konzept "Mikrocontroller" dann 
explosionsartig ausgebreitet.

von Peter D. (peda)


Lesenswert?

Die 8048 und 8051 waren bei Bastlern sehr beliebt, da sie auch mit 
externem EPROM laufen konnten.

Ich hatte dann auch 1993 die ersten AT89C51 mit Flash-Programmspeicher 
gekauft.

von F. F. (foldi)


Lesenswert?

CocaCola schrieb:
> Der Text ist ja auf englisch :-(, warum gibts den nicht in Deutsch?

Weil das geheim ist und nicht jeder verstehen soll. ;-)

von Diodenes (Gast)


Lesenswert?

Peter D. schrieb:
> Die 8048 und 8051 waren bei Bastlern sehr beliebt, da sie auch mit
> externem EPROM laufen konnten.

Genau, aber in der Industrie und Handwerk schon auch, weil man nicht 
unbedingt teure maskenprogrammierte Bausteine anfertigen lassen musste, 
sondern ebenfalls mit den preiswerten externen Speichern arbeiten 
konnte. Sogar Einzelstücke, Kleinserien, spätere Programmmodifikationen 
und Updates waren damit plötzlich kein Problem mehr.

Das Schönste aber am 8051 war und ist die mächtige Einzelbitverarbeitung 
- wie gemacht für Steuercomputer aller Art. Dafür liebe ich ihn noch 
heute. An modernes Multimedia und seine Erfordernisse war damals ja noch 
nicht zu denken.

Peter D. schrieb:
> Ich hatte dann auch 1993 die ersten AT89C51 mit Flash-Programmspeicher
> gekauft.

Ich auch, der Komfortgewinn war phänomenal, denn bevor ich einen eigenen 
EPROM-Löscher hatte, bin ich in meiner Not sogar in die Sonnenbade- und 
Bräunungsabteilung der benachbarten Schwimmhalle ausgewichen ;-)

von Asko B. (dg2brs)


Lesenswert?

Diodenes schrieb:
> Ich auch, der Komfortgewinn war phänomenal, denn bevor ich einen eigenen
> EPROM-Löscher hatte, bin ich in meiner Not sogar in die Sonnenbade- und
> Bräunungsabteilung der benachbarten Schwimmhalle ausgewichen ;-)

grins, der Verkauf von Braeunungslampen muss damals
enorm gewesen sein.
Vor allem bekam der Begriff Eprom-Brennen einen echten
Hintergrund. Zu lange und zu nahe an der "Hoehensonne"
und man verbrannte sich nicht bloss die Finger, sondern
auch der Chip war teilweise "geroestet".

Gruss Asko.

von H.Joachim S. (crazyhorse)


Lesenswert?

Die erforderlichen Löschzeiten, verbunden mit begrenztem Vorrat an 
EProms, erzogen aber zu mehr Disziplin beim Programmieren :-)
Heute ist man da schon mal etwas grosszügiger.
Mein erster ernstzunehmender MC war der 8051. Mit dem 8048 hatte ich nur 
theoretischen Kontakt.

von Joachim (Gast)


Angehängte Dateien:

Lesenswert?

Der erste wirklich vom Entwickler frei programmierbare Mikrocontroller 
war der 8048/49 bzw. deren EPROM-Varianten 8748/49 oder die "ROMless" 
Variante 8035/39.
So gesehen würde ich den als ersten "echten" Mikrocontroller bezeichnen.
Ich selbst habe mit denen angefangen.
Die Befehlscodes waren einfach aufgebaut. Man konnte ohne die Hilfe 
eines Computers das Programm einfach von Hand schreiben und manuell in 
den HEX-Code übersetzen. Das ganze dann per Tastatur in ein 
EPROM-Programmiergerät eingetippt und gut wars.
War ein Fehler drin, musste man eben neu probieren.
Mein erstes Projekt war eine Steuerung für ein 12Kanal Lichtsteuerpult 
(Bilder). Das muss so um 1987 gewesen sein. Der handgestrickte Prototyp 
funktioniert heute noch.
Die EPROM-Versionen des Chips kosteten damals um 100,- DM und somit fast 
ein kleines Vermögen.

Gruß

Joachim

von Topsi (Gast)


Lesenswert?

Hallo

als Anschlussfrage:

Die ersten µC mit Flashspeicher gab es (für den Hobbyisten) ab 1993?
Oder haben die zwei Schreiber nur zufällig im selben Jahr zum erstenmal 
µC mit Flash Speicher genutzt?

Und eine eventuell seltsam klingende Frage die aber durchaus ernst 
gemeint ist:
Wie hat man als Hobbyist ohne beruflichen Hintergrund in der 
"Vorinternetzeit" gelehrnt einen µC zu Programmieren?
War das nur mit Büchern / Zeitschriften ohne unterstützung durch andere 
"echte" :-) Menschen nicht eine arge Quälerei?

Topsi

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


Lesenswert?

Topsi schrieb:
> War das nur mit Büchern / Zeitschriften ohne unterstützung durch andere
> "echte" :-) Menschen nicht eine arge Quälerei?

Aber neien :-) Im Gegenteil, die Lektüre des 'Intel Microcontroller 
Handbook' mit der ausführlichen Beschreibung des Befehlssatzes von MCS48 
und MCS51 gaben mir die Ruhe, nochmal ausführlich über das zu lösende 
Problem nachzudenken. Ausserdem war der Befehlssatz des 8051 eine wahre 
Freude.

Ein grösseres Projekt war damals eine programmierbare Tastatur für den 
Apple Desktop Bus, da musste man dann allerdings  teure Addison-Wesley 
Bücher heranziehen, in dem dann der Apple Kram beschrieben war:
http://www.apple-forever.com/detail/131.html
http://www.worldcat.org/title/macintosh-family-hardware-reference/oclc/19126610

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

CocaCola schrieb:
> Hi, was ist der erste Mikrocontroller gewesen? Waren das schon
> Bauteile
> in den Computern in den 60er Jahren oder erst so mit dem C64 oder den
> Amigas? Oder kann man von Mikrocontrollern und Logikgattern(FGPAs) schon
> sprechen, seit dem die Transistoren da sind?

Fahr mal nach Paderborn und besuche das Nixdorf Museum.
http://www.hnf.de/besucherinfo.html

mfg klaus

von Peter R. (pnu)


Lesenswert?

Topsi schrieb:
> Wie hat man als Hobbyist ohne beruflichen Hintergrund in der
> "Vorinternetzeit" gelehrnt einen µC zu Programmieren?

In Kursen bei den Großrechner-Herstellern wurden zunächst die 
Spezialisten der Anwender geschult. Dabei entstand zunehmende 
Übersichtlichkeit über die benötigten Fertigkeiten wie Systemanalyse, 
Programmstruktur und Befehlsvorrat

1. Selbst große Rechner wurden in Maschinensprache programmiert. Die 
Assembler für Kontroller mit ihren Mnemonics waren aus diesen 
anlagenspezifischen Programmiersprachen abgeleitet.
2. Die Fähigkeit, Abläufe in Form von Flussdiagrammen und dgl. zu 
zergliedern gab es schon lange. Sonst konnte man ja für die Großrechner 
keine Buchungsprogramme usw. schreiben.
3. Auch der Umgang mit Zahlensystemen ( binär, oktal, hex ,dezimal) war 
auch schon längst Stand der Technik

Als dann später die Mikrokontroller aufkamen, waren die Grundlagen so 
vereinfacht und strukturiert worden, dass sie auch Hobbyisten mit 
erträglichem Aufwand zugänglich waren. Vor Allem der 6502 und der 8031 
waren schnell zugänglich, da damals eine Fülle neuer Zeitschriften 
entstand, anhand derer ausreichend Information zur Verfügung stand. Ein 
VC20 oder ein Z80- Kleincomputer war damals für jeden Bastler der 
attraktive Einstieg in die neue Technik. Jedermann hatte Zugang zu dem, 
was bisher nur wenigen Spezialisten an millionenteueren Rechnern 
vorbehalten war.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Laut Definition ist ein Mikrocontroller ein Mikroprozessor, vereint mit 
Programm- und Daten-Speicher und IO-Baugruppen in einem Chip, so dass 
bereits Anwendungen ohne zusätzliche externe Bauelemente (abgesehen 
evtl. von Taktgeber und einigen passiven BE wie Stützkondensatoren) 
realisiert werden können.

Logischerweise wird es kaum Mikrocontroller VOR Mikroprozessoren gegeben 
haben.

von Joachim (Gast)


Lesenswert?

Topsi schrieb:
> Wie hat man als Hobbyist ohne beruflichen Hintergrund in der
> "Vorinternetzeit" gelehrnt einen µC zu Programmieren?

Bei mir war das vor meiner beruflichen Anwendung so:
Ich schrieb damals alle möglichen Halbleiterfirmen direkt an.
Die Adressen hatte ich aus Fachzeitschriften, die in der Firma auslagen, 
wo ich meine Ausbildung machte.
In meinem Schreiben bat ich um Datenbücher, Hard- und Softwaremanuals 
und auch Muster zu Lernzwecken.
Fast alle Firmen waren da großzügig. Ich bekam manchmal kartonweise 
Bauteile und stapelweise Bücher. Z.B. bekam ich von Analog Devices ein 
Mustersortiment aller gängigen A/D- und D/A-Wandler. Die waren damals 
extrem teuer!
Von Siemens bekam ich Bücher zum 8080, 8085 und den 8048 
Mikrocontrollern. Damit ließ sich ohne weiteres programmieren.
Ähnlich war es mit dem 8051. Nur war dieser ohne Assembler auf einem 
Computer wesentlich schwerer zu programmieren.
Der 8051 war schon eine Erlösung, konnte der doch endlich multiplizieren 
und dividieren und auch mehr RAM adressieren.
Ich habe gut 10 Jahre lang ausschließlich 8051 benutzt und kannte 
irgendwann alle Assemblerbefehle in- und auswendig.

Gruß

Joachim

von Carl D. (jcw2)


Lesenswert?

Topsi schrieb:
> War das nur mit Büchern / Zeitschriften ohne unterstützung durch
> andere "echte" :-) Menschen nicht eine arge Quälerei?

Früher hat man einfach jede Form von Information auf toten Bäumen 
gehortet. Manche hab ich heute noch, von anderen bin ich, meist durch 
Frauen, getrennt worden. Um aufzuräumen!?
Andere Menschen mit hexadezimalen Neigungen mußte man damals ohne 
Internet finden, entsprechend gering war die Trefferquote.
Und man hat viel länger nachgedacht. Ein typischer Zyklus:
- Programm schreiben
- hand-assemblieren nach Hex
(15km fahren)
- Hex in Prommer tippen
(5km fahren)
- EProm in Maschine stecken
- Testen, fluchen, möglichst viel messen und ausprobieren
(10km fahren)
- nachdenken und
nächster Durchlauf.

Bald danach kam Turbo-Pascal, wo man mit "Compile" schneller den 
nächsten Fehler erreichte, als mit den Cursor-Tasten. Das war der Anfang 
vom Ende des geplanten Programmierens ;-)

von Diodenes (Gast)


Lesenswert?

Das mit den Datenbüchern etc. von Siemens und Co. kann ich nur 
unterschreiben. Dort stand ALLES drin, was man wissen musste, inkl. 
kompletter Listings ganz konkreter industrieller Anwendungen, eigentlich 
unglaublich. Die zahllosen Elektronikzeitschriften der damaligen Zeit 
haben letztlich häufig auch nur aus diesen Werken zitiert und damit das 
Wissen "unter's Volk" gebracht. Trotzdem verdienstvoll.

Topsi schrieb:
> War das nur mit Büchern / Zeitschriften ohne unterstützung durch andere
> "echte" :-) Menschen nicht eine arge Quälerei?

Das war schon deshalb keine Quälerei, weil die Assemblersprache des 8051 
ein ganz großer Wurf war! Die Entwickler haben sich erfolgreich große 
Mühe gegeben, eine wirklich gut zu handhabende und in sich weitgehend 
logische Sprache zu entwerfen. Die einzige kleine Klippe beim 8051 war 
für manchen vielleicht die Handhabung des Adressraums bzw. 
Speichermanagement.

Wenn man diese wunderschöne Assemblersprache mal mit der anderer 
Prozessoren vergleicht, dann ... oh je!

Dafür ist die Programmierung in beispielsweise C nicht gerade eine 
Domäne des 8051, aber dafür wurde er nicht entworfen. Es geht aber 
natürlich trotzdem.

Wenn Deine Frage also wäre, was nicht der erste Mikrocontroller war, 
sonder DER Mikrocontroller schlechthin, dann wäre es für mich ganz 
eindeutig die MCS-51-Familie. Das Ding ist Käfer, Golf und Corolla in 
Einem.

von Walter S. (avatar)


Lesenswert?

Topsi schrieb:
> War das nur mit Büchern / Zeitschriften ohne unterstützung durch andere
> "echte" :-) Menschen nicht eine arge Quälerei?

das schon, aber es war auch ein Abenteuer.

Wenn ich mir die Antworten dazu so anschaue würde mich der 
Alterdurchschnitt der Forumsmitglieder interessieren, ich tippe auf über 
50.
Nur leicht gedrückt von ein paar Teenys die sich hier die Hausaufgaben 
machen lassen ...

von Joachim (Gast)


Lesenswert?

>Ein typischer Zyklus:

Haha, ja genau! Da kommen alte Erinnerungen.
Ich hatte 1987 noch gar keinen Computer.
Mein Arbeitgeber hatte einen "Kontron" EPROM-Programmer, so ein 
Mordsteil mit HEX-Tastatur.
Also dahem Programm geschrieben und übersetzt, dann am nächsten Tag in 
der Arbeitspause in den Prommer getippt und EPROM gebrannt.
Abends daheim probiert, geflucht, geschaut, neu übersetzt.
Am nächsten Tag EPROM in die Lösch-Schublade und in der Pause neu 
programmiert.
Irgendwann lief es :-)

Der erste eigene PC/XT "Turbo 10MHz" und ein Universalprogrammer "Hilo 
All02" war ein Segen.

Es gab hin und wieder Treffen mit Gleichgesinnten, z.B. bei und auf der 
Ham Radio Messe in Friedrichshafen oder der Hobby & Elektronik in 
Stuttgart. Einmal im Jahr eben..

>ich tippe auf über 50.

Ja mei - wie die Zeit halt vergeht.. :-)

Gruß

Joachim

von Diodenes (Gast)


Lesenswert?

Walter S. schrieb:

> Wenn ich mir die Antworten dazu so anschaue würde mich der
> Alterdurchschnitt der Forumsmitglieder interessieren, ich tippe auf über 50.

Hm, das glaube ich eigentlich nicht, kommt halt auf die Frage an.

Wenn Du freilich fragst, "was habt ihr beim Mauerfall oder bei der 
Mondlandung gemacht", dann werden dazu klarerweise nicht viele Antworten 
von Leuten kommen können, die damals noch mit der Trommel um den 
Christbaum gesprungen sind.

Kein Drama. Das Forum ist schon sehr schön gemischt. Und sogar auf 
Fragen außerhalb des Mikrocontrolleruniversums gibt es hier regelmäßig 
sehr brauchbare Antworten...
;-)

von Gerhard O. (gerhard_)


Lesenswert?

Für mich war damals in den 80er Jahren der 8048, der "Erste".

Da ich damals noch keinen PC hatte, nur einen HP-71B Handrechner, 
schrieb ich mir in HP Basic meine eigene Werkzeuge. So enstand ein 
Assembler und Disassembler und andere Werkzeuge. Alles mußte auf einem 
alten Zentronics Drucker der 40kg+ wog und sich wie ein Düsenflugzeug 
beim Lauf anhörte, ausgedruckt werden im 5x7 Matrix Format. Dann mußten 
die HEX Daten per Hand in ein EPROM geladen werden. Umständlich war das 
ganze schon...

Da tut man sich heutzutage in jeder Hinsicht schon viel leichter und 
jedermann hat prinzipiell Zugangsmöglichkeit. Damals war diese Technik 
wirklich nur in der Industrie zu finden mit ihren teuren Werkzeugen über 
die man als Angehender Technik Interessierter nur träumen konnte.

von Carl D. (jcw2)


Lesenswert?

>ich tippe auf über 50.

Naja, wer den 8048/35/39 noch zu seinen Hoch-Zeiten selbst benutzt hat, 
der ist eben inzwischen auch rund 35 Jahre älter. Aber das hat nichts zu 
bedeuten, außer, daß man nicht jedem Hype nachrennt und auch manche 
"Revolution" irgendwann früher schon mal gesehen hat. Eigenschaften, die 
einer, der bei Verkaufsstart dieses MCs noch nicht mal geplant war, 
verständlicherweise nicht haban muß. Dazu noch das ungute Gefühl, daß 
die Zeit knapper wird. Aber das wird jeder selbst erleben.

von (prx) A. K. (prx)


Lesenswert?

In den 70ern war Fairchilds F8 die wohl meistverkaufte 8-Bit 
Mikrocontroller-Serie. Kenner des davon inspirierten 8048 werden gewisse 
Ähnlichkeiten erblicken, was aufgrund der Personalhistorie von Intel 
allerdings nicht weiter verwundert.

Den F8 kennt heute kein Aas mehr, was man nicht unbedingt bedauern muss. 
Der hatte in der ersten Generation die Besonderheit, aus mindestens 2 
Chips zu bestehen: Einem ALU/RAM-Chip und einem oder mehreren 
PC/ROM-Chips - jeder Chip mit Programmspeicher hatte eine eigene Kopie 
des Program Counters an Bord.

Programmierung im Entwicklungssystem war vergleichsweise einfach, weil 
es Programm-Chips gab, die an Stelle eines internen Mask-ROMs extern 
angeschlossene EPROMs, SRAMs oder sogar DRAMs unterstützten.

http://hcvgm.org/Static/Books/F8%20User's%20Guide%20(1976)(Fairchild)(Document%2067095665)-1.pdf

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Heiko Jakob schrieb:
>  - Der AGC in der Block II Variante der Apollo Missionen

Den würde ich eher als Makrocontroller bezeichnen. ;-)
Für Mikro war er als Gattergrab zu gross und viel zu hungrig.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

CocaCola schrieb:
> Der Text ist ja auf englisch :-(, warum gibts den nicht in Deutsch?

Weil das ganze Thema von englischer Sprache geprägt ist. Klingt hart, 
aber wer sich mit diesem Thema auseinander setzen will, der muss sich 
mit Englisch anfreunden.

Wenn du mit dieser Sprache über Kreuz bist, dann solltest du dir 
vielleicht fairerweise auch einen anderen Namen suchen. ;-)

: Bearbeitet durch User
von Olaf (Gast)


Lesenswert?

Ich hab auch mit dem 8048 angefangen. Die Eproms dafuer hab ich mir auf 
einer selbstgefaedelten Steckkarte im Apple][+ gebrannt. Software in 
Mbasic unter CP/M selber geschrieben. Geloescht habe ich die Teile mit 
einer 250HQL Birne wo ich das aeussere Glas abgemacht hatte. Damit 
konnte man auch gleich Platinen belichten und aus meinem Kinderzimmer 
kam immer ein gesunder Ozonduft. :-D

> Wie hat man als Hobbyist ohne beruflichen Hintergrund in der
> "Vorinternetzeit" gelehrnt einen µC zu Programmieren?
> War das nur mit Büchern / Zeitschriften ohne unterstützung durch
> andere "echte" :-) Menschen nicht eine arge Quälerei?

Zum einen gab es mehr und bessere Fachzeitschriften. (z.B Elrad, die 
fruehen c't) Zum anderen hab ich auf Amateurfunkmaerkten alles an 
Datenbuechern gekauft was ging. Ausserdem gab es es vor dem Internet 
schon andere Netze. (Z-Netz, Fido, Magic) Da wurde auch viel verschoben.

Ich hab z.B immer noch den hier auf der Platte:

[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)

Der kam also 1985 raus und damit konnte man dann 8048 und 8051 
programmieren. Am Anfang unter CP/M, spaeter dann unter Linux 0.94a. 
(Linux auf vier Disketten!) Ich glaube man musste 5 oder 10$ im Brief 
nach Amerika schicken und bekam dann irgendwann eine Diskette mit dem 
Sourcecode.

Davor musste man Memnonics im Kopf in Hexcodes uebersetzen und die 
relativen Spruenge von Hand berechnen. Ich bin dann an der Uni mal durch 
eine Klausur gefallen weil der Prof meinte ich haette abgeschrieben. 
Dabei hab ich nur nicht verstanden das man bei Hex-Dez 
umrechungen/berechnungen auch einen Rechenweg hinschreiben soll. Ich 
dachte es reicht wenn man nur die Loesung hinschreibt. :-)

Man sieht, manches ist heute einfacher geworden. Andererseits wenn ich 
heute nochmal 16Jahre alt waere und dann als erstes so einen absurd 
zusammengehusteten Dreck wie Eclipse zu sehen bekommen wuerde, wer weiss 
ob ich dann nicht was anderes gemacht haette. Es ist heute kein Problem 
an jede beliebige Information zu kommen, allerdings ist die notwendige 
Lernkurve viel steiler.

Olaf

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


Lesenswert?

Olaf schrieb:
> Ich glaube man musste 5 oder 10$ im Brief
> nach Amerika schicken und bekam dann irgendwann eine Diskette mit dem
> Sourcecode.

Das hat bei mir nie geklappt. Die Mäuse hab ich zwar rübergeschickt, 
aber habe von Speech Tech. nie was gehört. Allerdings habe ich jetzt 
trotzdem Version 3.1 von TASM, der lustigerweise durch den TMS32025 
letztes Jahr wieder in Benutzung kam.

: Bearbeitet durch User
von stefan us (Gast)


Lesenswert?

Und ich dachte, 8048 sei ein Lego Bausatz. Den hab' ich sogar :-)


Ich habe auch den "ersten" übersprungen und mit dem 8051 angefangen.

von Peter D. (peda)


Lesenswert?

Ein Kollege hatte ein deutsches Valvo-Datenbuch über den 8051, damit 
habe ich angefangen.
Daneben gab es noch ein gutes Datenbuch von AMD und dann später das IC20 
von Philips.
Ich kann mich nicht erinnern, daß da Fragen offen blieben oder gar 
Fehler drin waren.
Was man heutzutage als PDFs hinterhergeworfen kriegt, ist mit der 
Qualität der alten Datenbücher überhaupt nicht zu vergleichen.

von Diodenes (Gast)


Lesenswert?

Peter D. schrieb:
> Ich kann mich nicht erinnern, daß da Fragen offen blieben oder gar
> Fehler drin waren.

Bei den Atmel-8051ern waren die Errata-Sheets manchmal von stattlicher 
Länge, und das dann auch noch in der zigsten Revision ;-)

Peter D. schrieb:
> Was man heutzutage als PDFs hinterhergeworfen kriegt, ist mit der
> Qualität der alten Datenbücher überhaupt nicht zu vergleichen.

Vor allem war da alles Wichtige meist in einem einzigen Schinken 
versammelt. Heute ist das oft etwas unübersichtlicher.
Die Qualität war über die Zeit aber auch nicht immer konstant. Was 
Philips teilweise aus den alten Valvo-Informationen gemacht hatte, war 
teilweise schon arg traurig, und oft voll mit verheerenden 
Flüchtigkeitsfehlern.

Trotzdem ist die Lage heute auch nicht gerade schlecht, eher im 
Gegenteil. Google & Co. spucken heute in Sekundenschnelle Datenblätter 
aus, von deren schierer Existenz man früher erst nach tagelangen 
Telephonaten überhaupt etwas ahnte. Und dann hatte man sie aber noch 
längst nicht...

von Kenner (Gast)


Lesenswert?

Heute gibt's bessere Technik aber keine gute Programierer mehr, oder 
wenig davon. Das ist halt das Problem weil der Mikrocontroller kann sehr 
gut sein aber er tut nichts ohne ein Program. Deswegen sollte die 
Industrie leichter zu programierende Mikrocontroller entwickeln. Das 
haben die schon teilwese gemacht, Z.B PIC18 Serie, aber es sollte noch 
leichter werden.

von Olaf (Gast)


Lesenswert?

> Ich habe auch den "ersten" übersprungen und mit dem 8051 angefangen.

Sei dankbar! Der Grund warum so mancher alter Knacker immer noch an den 
MCS51 haengt ist die Erinnerung an das Gluecksgefuehl das man beim 
Umstieg von MCS48 auf MCS51 empfunden hat. :-)

> Ein Kollege hatte ein deutsches Valvo-Datenbuch über den 8051, damit
> habe ich angefangen.

Und es war in Deutsch! Es traut sich ja keiner mehr zuzugeben aber es 
gibt viele in unserem Land die sich erstmal mit English schwer tun. 
Besonders wenn man noch 15 oder 16 ist und man sowieso mehr an Technik 
als an Sprachen interessiert ist und in einer neuen Sprache etwas neues 
lernen soll. Ich halte die Englischfixierung fuer einen grossen Fehler 
der uns viel Geld kostet. Da sind uns die Franzosen oder Japaner 
vorraus. Fuer Japan uebersetzt jeder Hersteller alle seine Datenblaetter 
auf Japanisch oder sie verkaufen da nichts.

> Trotzdem ist die Lage heute auch nicht gerade schlecht, eher im
> Gegenteil.

Stimmt. Heute kann ich alles an Datenblaettern sofort bekommen. 
Allerdings habe ich den Eindruck das sie keiner mehr liesst. Jedenfalls 
nicht der Nachwuchs. Vermutlich muss man erst etwas bezahlen und einen 
20kg Rucksack vom Amateurfunkflohmarkt nach Hause tragen damit man das 
Wissen darin zu schaetzen weiss.
Andererseits hat das Erratasheet zum STM32F103 genauso viele Seiten wie 
frueher das Datenblatt des gesamten Controllers. Es ist also nicht alles 
besser geworden. :-)

> Heute gibt's bessere Technik aber keine gute Programierer mehr, oder
> wenig davon.

Also das halte ich mal fuer Bullshit. Es gab frueher genauso viel 
schlechte Programmierer wie heute. Nur sind die nicht so aufgefallen 
weil auch ein bloedes Hirn einen Controller mit 2k Eprom und 64Byte Ram 
spaetestens nach dem dritten Versuch ans laufen gebracht hat. Ausserdem 
wurde man durch den Eprom/brennen/loeschen Zyklus gleich mal ordentlich 
erzogen.
Aber ich kann mich ja wohl kaum beschweren das mein Controller heute 
100x mehr Resourcen und Leistung hat als mein Entwicklungsrechner von 
1985.

> Deswegen sollte die Industrie leichter zu programierende
> Mikrocontroller entwickeln.

Keine Sorge. Die Applesierung der Welt schreitet voran. Ich bin mir 
sicher das bald die Doedel einen Pythoninterpreter auf ihre Controller 
installieren und dann uns erzaehlen wie toll das doch sei.

Olaf

von F. F. (foldi)


Lesenswert?

Olaf schrieb:
> Ich halte die Englischfixierung fuer einen grossen Fehler
> der uns viel Geld kostet. Da sind uns die Franzosen oder Japaner
> vorraus. Fuer Japan uebersetzt jeder Hersteller alle seine Datenblaetter
> auf Japanisch oder sie verkaufen da nichts.

Das sehe ich auch so. Zumal es sich ja um technisches Englisch handelt.
Hatte mich mit dem Sohn einer Freundin über Englisch unterhalten, er war 
ein halbes Jahr in Amerika. Klar, er kannte einige Begriffe oder 
Redewendungen die ich nicht kannte, aber washer oder screwdriver, um mal 
zwei einfache Wörter zu nennen, die kannte er nicht.
Dennoch haben sie es heute leichter diese Wörter nach zu schlagen. Zu 
meiner Zeit, als ich die brauchte, kostete ein richtig gutes Lexikon für 
technisches Englisch um die 1000 DM.

von F. F. (foldi)


Lesenswert?

Olaf schrieb:
> Keine Sorge. Die Applesierung der Welt schreitet voran. Ich bin mir
> sicher das bald die Doedel einen Pythoninterpreter auf ihre Controller
> installieren und dann uns erzaehlen wie toll das doch sei.

Aber wenn es einfacher wird, was würde dagegen sprechen? sollen nur 
"Eingeweihte" so was machen dürfen?
Bin mir sicher die meisten Autofahrer können keinen Zahnriemen wechseln 
oder die Kopfdichtung ersetzen, aber das müssen sie auch nicht, denn sie 
wollen nur fahren.
Übertragen heißt das doch, ich will dass der Mikrocontroller das oder 
dies macht, wie er das anstellt ist seine Sache.
Es wäre doch schön wenn mann ihm 'sagen' könnte, "Hey ATtiny, ich 
brauche für 10ms einen Ausgang auf PB4, aber nur, wenn du ein Signal an 
PB1 für länger als 3ms bekommst!"q

Was ist so schlimm daran, wenn es alle können?
Nur weil dann einige nicht mehr was besonderes können?

von Olaf (Gast)


Lesenswert?

> Bin mir sicher die meisten Autofahrer können keinen Zahnriemen wechseln
> oder die Kopfdichtung ersetzen, aber das müssen sie auch nicht, denn sie
> wollen nur fahren.

Das ist der falsche Vergleich. Du muesstest eher sagen wieso sollen 
Autowerkstaetten noch einen Zahnriemen wechseln koennen, es reicht doch 
wenn sie einfach den ganzen Motor auswechseln. Das macht dann vielleicht 
deutlich wo ich die Probleme sehe. Ein Recht auf Dummheit mag ja gut und 
schoen sein, aber es macht eine Gesellschaft halt ineffizient.

Natuerlich wuerde umgekehrt keiner erwarten das der Endkunde eines 
Elektronikprodukts eine neue Firmware flashen kann! Vollkommen absurd. 
Noch nie dagewesen. :-)

Olaf

von M. K. (sylaina)


Lesenswert?

Olaf schrieb:
> Das ist der falsche Vergleich.

So falsch finde ich den gar nicht. Noch besser aber wäre wohl gewesen: 
Wohl nur die wenigsten Autofahrer wissen wie ihr Motor funktioniert, zur 
Arbeit kommen sie mit ihrem Auto aber trotzdem. ;)

von Olaf (Gast)


Lesenswert?

Doch, er ist falsch. Autofahrer sind Endkunden. Programmierer eines 
Microcontrollers sind aber Entwickler. So wie der Entwickler des Motors 
in einem Auto. Die sollten schon noch wissen was da abgeht.

Olaf

von Joachim (Gast)


Lesenswert?

F. F. schrieb:
> Was ist so schlimm daran, wenn es alle können?
> Nur weil dann einige nicht mehr was besonderes können?

Die Frage würde ich mir momentan gar nicht stellen.
Denn zum einen interessiert es den Großteil der Leute gar nicht (welchen 
User eines Smartphones interessiert der Mikrocontroller darin, wenn er 
seine Whatsapp-Nachrichten tippt?) und zum anderen wird es so schnell 
keine universelle Computersprache geben.
Es wurde schon immer versucht, einfache Programmiermöglichkeiten zu 
schaffen und die Mikrocontroller für "jedermann" zugänglich zu machen. 
Sei es BASIC damals für 8051 oder PASCAL, Fuzzylogik oder irgendwelche 
interaktive Oberflächen, mit denen man sich Peripheriefunktionen 
zusammenklicken kann.
Die Ernüchterung folgte auf dem Fuße.
Mit dem darauf folgenden katastrophalen Rückschritt müssen wir heute 
noch leben. Das ist ca. 40 Jahre alt und nennt sich C.
C war die Antwort auf die Programmiersprache "B" und danach waren die 
Programmierer so gefrustet, dass es bis heute dabei geblieben ist und es 
kein "D" mehr gab :-))

Der bis heute andauernde Ruf nach einer einfachen Programmiermöglichkeit 
zeigt, dass dies wohl doch nicht so einfach ist, wie in den Anfängen der 
Computergeschichte vermutet.
Die einzige Hardware, die leicht verständlichen Befehlen folgt (wenn 
auch nicht immer und oft nur mit einem Tritt in den Hintern), nennt sich 
Mensch.

Olaf schrieb:
> Sei dankbar! Der Grund warum so mancher alter Knacker immer noch an den
> MCS51 haengt ist die Erinnerung an das Gluecksgefuehl das man beim
> Umstieg von MCS48 auf MCS51 empfunden hat. :-)

Das Glücksgefühl hatte ich bereits mehrfach:
- beim Umstieg von 8048 auf 8051
- beim Umstieg von 8051 auf M16C (Whow! 16Bit!)
- beim Umstieg von M16C auf ARM (Whow! 32Bit!)

wenn nur dieses sch**** C nicht wäre :-)


Gruß

Joachim

von Olaf (Gast)


Lesenswert?

> wenn nur dieses sch**** C nicht wäre :-)

Ich hatte zeitweise meine Hoffnung auf Go gesetzt, aber dann kam ich zu 
der Zeile mit dem Garbage Collector....

Olaf

von Kenner (Gast)


Lesenswert?

C ist an sich nicht schlecht, aber es wurde ursprünglich für für das 
Programieren von PC's entwickelt und hier funkzioniert es sehr gut, erst 
danach wurde es für andere Systeme angepasst. Und das ist nicht so gut 
gelungen weil jeder Chip seine eigene Programier-Sprache braucht.
Der Grund dafür ist ein ganz anderer interner Aufbau und andere 
Assembler Befehle. Wenn alle Prozessoren intern gleich wären und gleiche 
Befehle hätten, dann wäre das natürlich leichter.

von Bernd N (Gast)


Lesenswert?

C ist doch mit Abstand noch die Beste Wahl auch für MCs. Mein Einstieg 
war in den 80ern ebenfalls auf dem 8051. 15 Jahre Assembler waren dann 
irgendwann genug und der Umstieg auf C stand an, ich habe es nie bereut.

Nach diversen ASM Erfahrungen war ein Umsatteln auf C einfach nur 
konsequent und von AVR über MSP430, ARM etc. macht C dann die 
Erarbeitung in neue Typen einfach nur Spass :-) und lässt einem Zeit für 
andere Dinge.

> Wenn ich mir die Antworten dazu so anschaue würde mich der
> Alterdurchschnitt der Forumsmitglieder interessieren, ich tippe auf über 50.

Stimmt :-)

von Stefan F. (Gast)


Lesenswert?

Naja, die MCS52 Serie kann je bekanntlich testen, ob ein Bit gesetzt 
ist. In Pseudocode etwa so:
1
if ( isset PB.1) {
2
  tuwas();
3
}

In C muss man das jedoch deutlich umständlicher schreiben. Genau 
genommen kann C nur ganze Bytes lesen und mit der UND Funktion 
verknüpfen.
1
if (PINB & 2) {
2
  tuwas();
3
}

Ich finde, dass die Sprache C hier weit von dem entfernt ist, was 
tatsächlich passiert. Der Compiler optimiert das gut, aber trotzdem 
wirkt der Ausdruck für mich wie von hinten durch die Brust.

Nur gut, dass es Makros gibt.

von F. F. (foldi)


Lesenswert?

Stefan, wenn du schon "isset" schreibst, dann musst du auch "tu wat" 
schreiben. ;-)

SCNR

: Bearbeitet durch User
von Carl D. (jcw2)


Lesenswert?

SDCC kann das so:
1
if (PINB_2) {
2
  tuwas();
3
}
Mit dem "." geht es nicht, weil "2" eine Zahl und kein Identifier ist.
Es muß ja nicht agiles rumzappelt sein, aber etwas flexibel darf man 
schon sein ;-)

von Chefkoch (Gast)


Lesenswert?

Hab mich vor 2 Tagen schon gefragt, wann hier endlich über Autos/Motoren 
oder Hüner/Eier diskutiert wird.

von (prx) A. K. (prx)


Lesenswert?

Kenner ;-) schrieb:

> C ist an sich nicht schlecht, aber es wurde ursprünglich für für das
> Programieren von PC's entwickelt

Eigentlich als Sprache von Unix und damit Minicomputern. PC gab es 
überhaupt noch nicht.

von Kenner (Gast)


Lesenswert?

Wie gesagt es gibt Von-Neumann-Architektur und Harvard-Architektur.
Der PC hat Von-Neumann-Architektur und die meisten Mikrocontroller 
Harvard-Architektur.

https://de.wikipedia.org/wiki/Von-Neumann-Architektur

von M. K. (sylaina)


Lesenswert?

Kenner schrieb:
> Wie gesagt es gibt Von-Neumann-Architektur und Harvard-Architektur.
> Der PC hat Von-Neumann-Architektur und die meisten Mikrocontroller
> Harvard-Architektur.
>
> https://de.wikipedia.org/wiki/Von-Neumann-Architektur

Welche Architektur der Prozessor hat ist der Programmiersprache C sowas 
von egal denn C ist eine Hochsprache, hat also ein entsprechend hohes 
Abstraktionslevel. Ihr vergleicht hier Birnen mit Kartoffeln.

Stefan U. schrieb:
> In C muss man das jedoch deutlich umständlicher schreiben. Genau
> genommen kann C nur ganze Bytes lesen und mit der UND Funktion
> verknüpfen.

Wieso ist das Umständlicher? In C heißt das
1
if (PIND & ( 1 << PD2)){
2
  doSomething();
3
}

Das finde ich ist genauso gut wie
1
sbic PIND, 2
2
rjmp doSomething

und nix anderes macht ja auch C aus der If-Anweisung.

von Operator S. (smkr)


Lesenswert?

Michael K. schrieb:
> Welche Architektur der Prozessor hat ist der Programmiersprache C sowas
> von egal

In der Programmiersprache C mag das noch stimmen, in diesem Thread aber 
nicht.
Hier gehts um (den ersten) Mikrocontroller, bitte dabei bleiben, noch 
ein Programmiersprachen Thread braucht niemand...

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

Fundstück aus meiner "Sammlung":
µPD75CG08 Entwicklerversion, laut Internet wohl von 1987.
Wo wurde der wohl eingesetzt?

Gruß aus Berlin
Michael

von Joachim (Gast)


Lesenswert?

Der kann überall eingesetzt worden sein.
4 Bit Controller fanden sich in nahezu jedem Gerät, von der 
Waschmaschine bis zum Kassettenrekorder.
Diese Piggyback ICs waren sehr teuer. Die Serie ging dann aber 
ausschließlich über Masken-ROM, weshalb ich mich niemals für 4Bit 
interessiert habe.
Ende der 80er hatte schon jeder Hersteller 16Bit im Angebot, aber die 
4Bit uC machten sehr lange Zeit den Großteil des Marktes aus.

Gruß

Joachim

von Walter S. (avatar)


Lesenswert?

Joachim schrieb:
> wenn nur dieses sch**** C nicht wäre :-)

Ich postuliere Mal folgenden Satz:
Die Wahrscheinlichkeit, dass in einem Thread, egal mit welcher 
Ursprungsfrage, ein C-Bashing erfolgt, geht mit steigender Antwortzahl 
gegen 1

Und das, obwohl niemand gezwungen wird C zu verwenden.

von Kenner (Gast)


Lesenswert?

> Welche Architektur der Prozessor hat ist der Programmiersprache C sowas
> von egal denn C ist eine Hochsprache, hat also ein entsprechend hohes
> Abstraktionslevel.

Das ist schon richtig, aber diese C compiler werden von verschiedenen 
Leuten geschrieben und deswegen wird es manchmal gut umgesetzt und 
manchmal nicht so gut.Für PC gib's gute C-Compiler aber für 
Microcontroller nicht.

von Olaf (Gast)


Lesenswert?

> Und das, obwohl niemand gezwungen wird C zu verwenden.

Das stimmt nicht. Wenn du Microcontroller programmieren willst dann 
programmierst du entweder in C oder du bist arbeitslos.
Bei aller Kritik an C ist es ja ein grosser Vorteil das wirklich jeder 
Controller ausschliesslich in C programmiert wird. (kommerziell, nicht 
privat!)

Olaf

von Andi B. (Gast)


Lesenswert?

Kenner schrieb:
> Für PC gib's gute C-Compiler aber für
> Microcontroller nicht.

Was für ein Blödsinn diese Verallgemeinerung! Offenbar hast du sehr 
beschränkte Programmierkenntnisse sowohl am PC als auch für µCs. 
Vielleicht mal andere µCs ansehen?

> Wenn du Microcontroller programmieren willst dann programmierst du
> entweder in C oder du bist arbeitslos.

Liegt wohl daran, dass sich C bei der überwiegenden Anzahl der Profis 
als der beste Kompromiss durchgesetzt hat. Wenn PL/M oder Assembler so 
toll wären, dann hätte wohl nicht schon in Urzeiten selbst am 51er C 
(Keil, der IAR war damals Schrott) die beiden großteils abgelöst. 
Natürlich greift man für manche Sachen noch immer besser auf Assembler 
zurück. Aber meist ist C einfach besser.

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


Lesenswert?

Michael U. schrieb:
> µPD75CG08 Entwicklerversion, laut Internet wohl von 1987.
> Wo wurde der wohl eingesetzt?

Z.B. in den Jalousieantrieben meiner Eltern. Das ist aber im Vergleich 
zu TMS1000 und z.B. den alten COP Prozessoren, die wir nicht vergessen 
sollten, schon Jahrzehnte neuer.
Die NEC Dingse begegnen einem bis heute, wobei ich manche Entwickler in 
Verdacht habe, das sie die extra deswegen nehmen, weil sie immer ein 
wenig exotisch bleiben. Allerdings haben sie aber z.B. auch LCD Treiber 
onchip und auch AD Wandler.

: Bearbeitet durch User
von Kenner (Gast)


Lesenswert?

Es wird überwiegend in C programiert weil die meisten "profis" diese 
Sprache kennen und nich auf eine andere umschulen wollen, aber das 
bedeutet nicht, dass es keine bessere gibt, besonders für 
Microcontroller gibt's bessere Sprachen.

von Olaf (Gast)


Lesenswert?

> bedeutet nicht, dass es keine bessere gibt, besonders für
> Microcontroller gibt's bessere Sprachen.

Na dann erzaehl doch mal. Ich programmiere gerade ARM, M16C und SH2. 
Welche bessere Sprachen (mehrzahl?) gibt es da?

Auch ich habe durchaus das ein oder andere an C auszusetzen, aber ist 
einfach die einzige Sprache die es fuer wirklich jeden Controller gibt.

Ich wuerde es wirklich begruessen wenn sich da mal was anderes 
entwickeln und durchsetzen wuerde, aber das ist nicht abzusehen.


Olaf

von Handwerker (Gast)


Lesenswert?

Kenner schrieb:
> Für PC gib's gute C-Compiler aber für
> Microcontroller nicht.

Schmarrn, vielleicht verwechselst Du hir IDE oder Bibliotheken mit 
Compiler aber wahrscheinlich hast Du nicht die geringste Ahnung.

der gcc bspw ist für PC oder uC der gleiche.

von Route_66 H. (route_66)


Lesenswert?

Olaf schrieb:
> Ich wuerde es wirklich begruessen wenn sich da mal was anderes
> entwickeln und durchsetzen wuerde, aber das ist nicht abzusehen.

Mir fällt da FORTH ein.
Zugegeben, sehr speziell aber für spezielle Anwendungen besser als 
Compilersprache geeignet. Gibst wohl für alle Controller und 
Prozessorarchitekturen sogar spezielle FORTH-Prozessoren.

http://www.mpeforth.com/press/MPE_PR_From_Telescope_to_Comet_2014_11_13.pdf

von Peter D. (peda)


Lesenswert?

Kenner schrieb:
> Für PC gib's gute C-Compiler aber für
> Microcontroller nicht.

Nö, viele MC-Compiler sind äußerst gut.

Um beim 8051 in Assembler etwa 10% Code zu sparen gegenüber dem C51, 
bräuchte ich die 100-fache Entwicklungszeit.
Was ist effektiver, 10% mehr Flashbelegung oder 10000% mehr Zeitaufwand?

von xXx (Gast)


Lesenswert?

Olaf schrieb:
> Na dann erzaehl doch mal. Ich programmiere gerade ARM, M16C und SH2.
> Welche bessere Sprachen (mehrzahl?) gibt es da?

C++. C kann nichts, was C++ nicht mindestens ebensogut koennte.

von Thomas E. (thomase)


Lesenswert?

Kenner schrieb:
> Das ist schon richtig, aber diese C compiler werden von verschiedenen
> Leuten geschrieben und deswegen wird es manchmal gut umgesetzt und
> manchmal nicht so gut.Für PC gib's gute C-Compiler aber für
> Microcontroller nicht.

Endlich mal einer, der sich auskennt und mit hohem Sachverstand 
vorurteilsfrei und ohne Pauschalierung die Lage messerscharf analysiert 
und die Tatsachen auf den Punkt bringt.

mfg.

: Bearbeitet durch User
von Olaf (Gast)


Lesenswert?

> Mir fällt da FORTH ein.

Oh Gott! So ein Quatsch. Ich hab ja selber mal vor vielen Jahren einen 
kleinen Forthcompiler fuer ST6 programmiert und auch zwischendurch immer 
mal wieder eine kleine Forth-Sache in der Sprache des HP48 geschrieben.
Ich vermag also an der Sprache durchaus eine gewisse Eleganz zu 
entdecken.

Aber hast du eigentlich schonmal jemals an einem grossem Projekt 
gearbeitet? Wo 10-20Leute dran arbeiten? SIL-Zertifziert, Misra, Lint? 
Wo man Source aus den vergangenen 10Jahren weiterverwendet? Wo selbst in 
C ein grosser Aufwand und Disziplin notwendig ist? Forth ist doch ein 
grosser Schmerz im Arsch wenn du etwas programmierst was laenger ist wie 
10 Seiten.

> C++. C kann nichts, was C++ nicht mindestens ebensogut koennte.

Hihi. Ja ich wusste das das kommt. Das Problem ist, du musst dann Leuten 
erstmal SEHR viel beibringen damit sie wissen warum sie was alles besser 
nicht verwenden. Und die Probleme die du mit normalem C hast, wofuer man 
ja gerade Misra und aehnliches verwendet hast du immer noch.

Wuenschenswert waere IMHO eher soetwas wie Oberon/Modula. Wo also der 
Compiler den Leuten schon mehr auf die Finger schaut. Wobei die Sprache 
aber unbedingt Nebenlaeufigkeit/Multicores (vgl: Go) unterstuetzen 
sollte.

Olaf

von kuehler rechner (Gast)


Lesenswert?

Einen Thread "welches ist die beschissendste Programmiersprache" könnt 
ihr eigentlich separat aufmachen...

Um mal wieder ein wenig in Richtung Ursprungsfrage zu lenken:

Frank E. schrieb:
> Laut Definition ist ein Mikrocontroller ein Mikroprozessor, vereint mit
> Programm- und Daten-Speicher und IO-Baugruppen in einem Chip...

> Logischerweise wird es kaum Mikrocontroller VOR Mikroprozessoren gegeben
> haben.

Wenn diese Definition stimmt:

Der Hitachi HD32127 (und seine unzähligen Kollegen...) besitzt Programm- 
und Datenspeicher sowie Ein- Ausgabebaugruppen. Und er kann eigenständig 
Anwendungen ausführen. Sehr spezielle, freilich.

Entstanden ist er etwa zeitgleich mit mit dem Intel4004. Kann man da 
schon von einem Mikrocontroller sprechen???

http://www.alciom.com/perso/calc/casio/mini/descrcalc.htm

von M. K. (sylaina)


Lesenswert?

kuehler rechner schrieb:
> Entstanden ist er etwa zeitgleich mit mit dem Intel4004. Kann man da
> schon von einem Mikrocontroller sprechen???

IMO ja. Ich sehe das ähnlich wie der ein und andere: Ein Mikrocontroller 
ist ein Mikroprozessor mit Peripherie (kann, muss aber nicht, auch 
Arbeits- und Programmspeicher sein). Also im Prinzip ist ein 
Mikrocontroller ein Chip der neben dem Mikroprozessor noch einen 
weiteren Funktionsbaustein trägt, und wenns ein läppischer AD-Wandler 
ist.

von (prx) A. K. (prx)


Lesenswert?

kuehler rechner schrieb:
>> Logischerweise wird es kaum Mikrocontroller VOR Mikroprozessoren gegeben
>> haben.
>
> Wenn diese Definition stimmt:

Eher nicht. Liegt auch nicht unbedingt nahe.

Der ursprüngliche Einsatzzweck von Mikroprozessoren waren Controller. 
TIs TMS1000 war kurz nach Intels 4004 fertig. Und gilt als erster 
Mikrocontroller. Damit stimmt zwar die Reihenfolge, aber nicht die 
Kausalität.

: Bearbeitet durch User
von Kenner (Gast)


Lesenswert?

Ich verstehe nicht was das für eine Relevanz hat, welcher 
Mikrocontroller der erste war? Viel interessanter, für mich jedenfals 
ist, wie er aufgebaut war und welche Architektur er hatte.

von M. K. (sylaina)


Lesenswert?

Kenner schrieb:
> wie er aufgebaut war und welche Architektur er hatte.

Das Grundprinzip hat sich heute bis heute nicht geändert. Aber auch für 
deine Frage musst du ja erst mal wissen wer der erste war bevor du 
fragen kannst welche Architektur er hatte und wie er aufgebaut war.

von Kenner (Gast)


Lesenswert?

Zusamengafasst kann man also sagen das die ersten Mikrocontroller 
4-biter waren und hatten sehr wenig resourcen, und waren schwer zu 
programieren.
Also fast für nichts zu gebrauchen.

von M. K. (sylaina)


Lesenswert?

Kenner schrieb:
> Also fast für nichts zu gebrauchen.

Das würde ich so nicht sagen. Für die damalige Zeit waren sie für 
relativ viele Aufgaben zu gebrauchen. Man darf diese Technik nicht blind 
mit der heutigen Technik vergleichen sondern muss schaun: Was gabs zu 
dieser Zeit als Alternativen.

von (prx) A. K. (prx)


Lesenswert?

Kenner ;-) schrieb:
> Also fast für nichts zu gebrauchen.

Für Tisch- und Taschenrechner beispielsweise. Dafür hatte TI die TMS1000 
nämlich entwickelt. Es hatte freilich etwas gedauert, bis TI das 
Potential erkannte und die Mikros davon loslöste und auf den Markt 
brachte.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Michael K. schrieb:
> und wenns ein läppischer AD-Wandler ist.

Ein Microcontroller mit A/D-Wandler ist die ganz hohe Schule der 
Halbleitertechnik, weil es sich um einen Mixed-Mode-Baustein handelt. So 
etwas konnte man lange Zeit auch nur in Hybrid-Technik realisieren.

Als läppisch würde ich eher einen digitalen I/O-Port in Datenbusbreite 
bezeichnen, d.h. bei frühen Controllern in 4 Bit oder 8 Bit. Etwas 
komplexer wäre schon ein UART oder Timer, insbesondere wenn diese extern 
taktbar sind.

von sumail (Gast)


Lesenswert?

Olaf schrieb:
> grosser Schmerz im Arsch wenn du etwas programmierst was laenger ist wie
> 10 Seiten.

Apropos Schmerz im Arsch...

von avr (Gast)


Lesenswert?

Olaf schrieb:
> Ja ich wusste das das kommt. Das Problem ist, du musst dann Leuten
> erstmal SEHR viel beibringen damit sie wissen warum sie was alles besser
> nicht verwenden.

nein, man muss ihnen gar nichts beibringen. Denn wenn man die Sprache 
verstanden hat (was zum programmieren gehört), dann weiß man auch das 
z.B. Exceptions für den Compiler aufwändig zu implementieren sind. Man 
muss einfach sein Werkzeug kennen. Witzigerweise ist Unkenntnis oftmals 
der Grund der Ablehnung von C++. Genauso könnte ich argumentieren warum 
wir nicht in Assembler programmieren. Ist doch viel einfacher als C.
Die Zeitersparnis möchte ich bei komplexen Projekten nicht gegen C 
tauschen. Der einzige Vorteil sehe ich in der geringfügig besseren 
Portabilität. Aber dafür verzichtet man auf ein mächtiges Werkzeug. 
Allein die OOP ist für mich Grund genug C++ zu nutzen. OOP in C wird 
spätestens bei der Vererbung ein Krampf. Unübersichtlich sowieso. 
Zusätzlich bekommt man in C++ eine effiziente Bibliothek (Standardlib + 
Boost) geschenkt, die auf größeren Controllern ohne Probleme einsetzbar 
ist.

von Olaf (Gast)


Lesenswert?

> Ein Microcontroller mit A/D-Wandler ist die ganz hohe Schule der
> Halbleitertechnik, weil es sich um einen Mixed-Mode-Baustein handelt.

Richtig, ist so schwierig das es heute noch Firmen (nennen wir sie z.B 
mal ST ) gibt die damit ihre Probleme haben. :-)

Olaf

von xXx (Gast)


Lesenswert?

Olaf schrieb:
> Hihi. Ja ich wusste das das kommt. Das Problem ist, du musst dann Leuten
> erstmal SEHR viel beibringen damit sie wissen warum sie was alles besser
> nicht verwenden.

Also, "Oh je, ich muss was lernen!" gilt in meiner Branche nicht als 
Ausrede. Und "Also, das hat man mir an der Schule nicht beigebracht." 
auch nicht. :-)

> Und die Probleme die du mit normalem C hast, wofuer man
> ja gerade Misra und aehnliches verwendet hast du immer noch.

Solange Menschen programmieren, werden Menschen das Hauptproblem sein, 
richtig. :-)

> Wuenschenswert waere IMHO eher soetwas wie Oberon/Modula. Wo also der
> Compiler den Leuten schon mehr auf die Finger schaut. Wobei die Sprache
> aber unbedingt Nebenlaeufigkeit/Multicores (vgl: Go) unterstuetzen
> sollte.

Das ist wohl wirklich dir traurige Wahrheit: Gibst du Entwicklern 
Freiheiten, bauen sie Mist. Also musst du ihre Freiheiten immer mehr 
einschraenken. Womit du sprachlich immer mehr von Implementierungen zu 
Beschreibungen uebergehen musst.

von (prx) A. K. (prx)


Lesenswert?

Olaf schrieb:
> Wuenschenswert waere IMHO eher soetwas wie Oberon/Modula. Wo also der
> Compiler den Leuten schon mehr auf die Finger schaut. Wobei die Sprache
> aber unbedingt Nebenlaeufigkeit/Multicores (vgl: Go) unterstuetzen
> sollte.

Wobei Ada ursprünglich exakt diesen Anwendungsbereich adressierte, also 
embedded Systems einer Komplexitätsklasse, die heutigen 32-Bit 
Mikrocontrollern entspricht. Mit präzise definierter typsicherer Sprache 
und der Möglichkeit, die Implementierungseigenschaften zu kontrollieren. 
Auch Nebenläufigkeit war darin bereits vorgesehen.

von Kenner (Gast)


Lesenswert?

Ich habe mir Ada angeschaut und bin nicht so begeistert davon.Es ist 
alles viel zu kompliziert und unverständlich.

von Kenner (Gast)


Lesenswert?

Obwohl wie ich erfahren habe, ist die komplette Software des 
Eurofighters ist in Ada geschrieben. Hoffentlich gibt's da keine 
compiler bugs.

von Nonsens (Gast)


Lesenswert?

Andreas S. schrieb:

> Als läppisch würde ich eher einen digitalen I/O-Port in Datenbusbreite
> bezeichnen, d.h. bei frühen Controllern in 4 Bit oder 8 Bit.

Um den 8048 noch mal aufzugreifen:

Der "erste 8 bit Single Chip Mikrocontroller der Welt" hatte einen guten 
Kumpanen, beide wurden wohl auch gezielt füreinander entwickelt: Den 
I/O-Expander 8243. Über einen 4-bit-Bus konnten sie angebunden werden, 
womit man den 8048 um 16 I/O je Baustein - sie waren über Chip Select 
kaskadierbar - erweitern konnte. Ein Schreib- oder Lesezugriff auf den 
externen Port brauchte nur einen einzigen Befehlszyklus, so, als sei der 
Port bereits im µC integriert. Das machte die Hardwarelogik.

Für diese Sache hatte der 8048 spezielle Befehle im Befehlssatz, die auf 
den Portexpander zugreifen. Die Portbezeichnungen deuten ebenfalls auf 
die gegenseitige Abstimmung der beiden hin: Hatte der 8048 die Ports P0, 
P1, P2 und P3, so lauteten sie beim 8243 P4, P5, P6 und P7. Ein 
Transportbefehl lautete z.B. MOVD A,P7 und ein Verknüpfungsbefehl ORLD 
P6,A.

Wenn man die beiden jetzt miteinander vergießen würde, hätte man ja auch 
einen einzigen Chip. So war es teilweise bei µC aber auch realisiert: 
Der Chip hatte unter dem Kunststoff in Wahrheit mehr als einen Die, die 
untereinander mit Bonddrähten verbunden waren.

Der Nachfolger 8051 hatte so ein Feature nicht mehr. Er hatte nur wenige 
I/O mehr als der 8048, also auch noch nichts berühmtes. Wenn man mehr 
I/O brauchte, sagte man: Nimm den neuen 8255 von der Produktlinie 
Erweiterungsbausteine für das System 8085 aus gleichem Hause, die passen 
auch auf 8051. Der 8255 wurde erst in der Zeit zwischen 8048 und 8051 
entwickelt.

Der älteste 8255 aus meiner Sammlung ist aus dem Jahr 1979. Aber von 
AMD. Das wundert mich etwas, die Geschwindigkeit mit der das Second 
Source Teil am Markt war, denn er war ja gerade erst kurz von Intel 
entwickelt.



Michael U. schrieb:

> Fundstück aus meiner "Sammlung":
> µPD75CG08 Entwicklerversion, laut Internet wohl von 1987.
> Wo wurde der wohl eingesetzt?

In meiner Soehnle Küchenwaage aus den 1980-ern befindet sich ein 
µPD7520, das könnte sowas ähnliches sein. Kenne mich aber mit deren 
Produktlinien nicht aus. Auf jeden Fall älter, vielleicht sogar noch aus 
den 1970-ern, denn es ist ein PMOS. Betriebsspannung unstabilisierte 
-8V. Ja, Minus, negativ gegen Masse. Im Gerät befinden sich 6 
Mignonzellen in Reihe. Ich zog mir mal das Datenblatt des µC, weil ich 
neugierig war. Eigentlich so ein typisches Teil für die Zeit, wie die 
i8048 oder MC68705P3.

von Joachim (Gast)


Lesenswert?

Es gab noch einen weiteren interessanten Peripheriebaustein, den 8155.
Dieser hatte neben den I/O auch noch 256 Byte RAM und einen extra Timer.
Der ist auch auf meinem weiter oben abgebildeten Lichtkontroller zur 
Steuerung der Tastatur und Anzeige eingesetzt.
Den 8243 hatte ich auch oft eingesetzt. Wenn man z.B. 7segment Displays 
anschließen wollte, dann konnte man relativ einfach 4 Stellen über einen 
8243 und 4 7447 Bausteine anschließen, ohne die Anzeige zu multiplexen.

Gruß

Joachim

von Peter D. (peda)


Lesenswert?

Nonsens schrieb:
> Wenn man mehr
> I/O brauchte, sagte man: Nimm den neuen 8255

Die riesigen 8255 mußte ich mir zum Glück nicht mehr antun.
Ich hab beim 8051 schon die 74LS574 bzw. 74LS541 zur Erweiterung 
verwendet.
Mit einem 74LS139 als Adreßdekoder hatte man dann je 32 Ein- und 
Ausgänge memory mapped.
Und falls man schon den schnellen DS80C320 nahm, waren die 8255 eh zu 
langsam.

von Peter D. (peda)


Lesenswert?

Die ersten DS80C320 hatten noch einen Bug: im T0 Mode 3 ging T1 nicht 
mehr als Baudratengenerator. Nachdem ich den Bug gemeldet hatte, haben 
die das aber sehr schnell gefixt.

von (prx) A. K. (prx)


Lesenswert?

Nonsens schrieb:
> Der älteste 8255 aus meiner Sammlung ist aus dem Jahr 1979. Aber von
> AMD. Das wundert mich etwas, die Geschwindigkeit mit der das Second
> Source Teil am Markt war, denn er war ja gerade erst kurz von Intel
> entwickelt.

Damals legten einige strategisch wichtige Anwender wie Staat/Rüstung 
grossen Wert darauf, nicht von einem einzigen Anbieter abhängig zu sein. 
Es musste einen zweiten Anbieter für die einzusetzenden Produkte geben.

Intel musste also mit einem Partner kooperieren. Entsprechende 
Verträge mit AMD führten zu ganz offiziell vom Die weg abgekupferten x86 
Prozessoren und zu grossen Rechtsstreitigkeiten.

Das ging allerdings auch in die andere Richtung. Intel hatte bei der 
Peripherie nicht immer ein gutes Händchen (*). AMD übernahm deshalb 
manche Bausteine in erheblich verbesserter Form, die dann teilweise 
wiederum bei Intel im Programm waren. IIRC ist der im PC eingesetzte DMA 
Controller aus der 8080 Serie so ein Teil.

*: Unken rufen, dass dies auch auf die Prozessoren selbst zutrifft. ;-)

: 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
Noch kein Account? Hier anmelden.