Forum: Mikrocontroller und Digitale Elektronik Einstiegsschwierigkeiten mit Mikrocontroller-Kochbuch


von Benjamin K. (benjamink)


Lesenswert?

Hallo,
ich habe die suche benutzt und nichts brauchbares für meinen Fall
gefunden und hoffe ihr seid es nicht langsam leid blutigen anfängern zu
helfen =).

Zum Problem:
Ich habe mir das Mikrocontroller Kochbuch und Applikations-Kochbuch
angeschafft um den einstieg in die welt der mikrocontroller zu
schaffen.
als hardware habe ich den willem advanced mit adapterplatine für
avr's. habe einen at90s2313 und einen at90s8515 beide pdip. zusätzlich
habe ich noch haufenweise kleinkram, quarze, widerstände, kondensatoren
dieoden, transistoren 5V spannungsregler lochraster usw..

Mein problem ist das ich nicht so recht einen einstieg finde, im
kochbuch werden mir von anfang an begriffe wie register, interrups,
datenbreite, akkumulator,E0h bitadressierbar, subroutineaufruf, etc. um
die ohren gehauen bis ich nurnoch bahnhof verstehe.

Gibt es ein buch oder ein tutorial im internet was erstmal diese
begriffe klärt um mir einen einstieg zu geben damit ich überhaupt was
in dem kochbuch verstehe?

Elektronik grundkentnisse habe ich durch mein abitur in dieser
fachrichtung, auch mit logischen schaltungen.
programmierkenntnisse habe ich durch webseitenaufbau mit php.
Sowieso war ich schon seit ich ein kleiner junge war interessiert daran
was diese kleinen schwarzen dinger mit den vielen beinchen auf den
platinen machen ;).

Vielen Dank, ich hoffe ihr könnt mir helfen.

von Peter D. (peda)


Lesenswert?

Ich vermute mal, Du meinst das 8051-Kochbuch.

Das nützt Dir nur was, wenn Du auch einen 8051 nimmst, z.B. den
AT89C51ED2:

http://www.mikrocontroller.net/forum/read-1-25968.html#new


Die Kochbücher sind eigentlich didaktisch gut aufgebaut.
Zu meiner Zeit hatte man noch im Studium die Grundlagen, d.h was das
binäre Zahlensystem und was RAM, ROM, CPU usw. sind.


Peter

von Jörn G. aus H. (Gast)


Lesenswert?

Hast du dir schon das Tutorial hier auf dieser Seite (auf der linken
Seite der Link AVR-GCC-Tutorial) angesehen?
Dort werden auch Grundlagen, wie Interrupt usw. erläutert und es passt
vor allem (im Gegensatz zu deinem Kochbuch) zu deiner Hardware.

jörn

P.S. Das Kochbuch ist trotzdem gut und ich sehe auch als AVR-User ab
und zu noch mal rein um etwas grundlegendes Nachzuschlagen (RS232,
8-bit Rechnereien mit 16bit Zahlen usw.)

von Rahul D. (rahul)


Lesenswert?

Wieso meinen eigentlich alle Leute, die PHP und son Zeug können, dass
sie auch gleich nen Mikrocontroller programmieren können?

Egal.

Wie Peter schon schrieb: Die Kochbücher sind für den 8051 (INTEL etc.
auch ATMEL) optimiert.
Die Algorithmen des Applikationskochbuchs kann man zwar auf den AVR
(nur ATMEL) übertragen, aber nicht den Code. Der ist für 8051er.

von Sascha (Gast)


Lesenswert?


von Benjamin K. (benjamink)


Lesenswert?

Vielen Dank für die Antworten.

Zum Thema Kochbuch:
Habe das MCS51 Kochbuch und dachte MCS51 sei ein Überbegriff für all
die 8051, AVR, ATMegas usw.. Dann ist das wohl zum Einstieg das falsche
Buch für meine Hardware gewesen. Aber selbst wenn ich 8051er nehmen
würde hätte ich noch das Problem mit den Voraussetzungen die das Buch
an mich stellt.

Zum Thema Tutorial auf dieser Seite:
Ich wollte mich erstmal nicht an die Programmierung mit C++ wagen
sondern mit einer simplen Diodenschaltung auf Lochraster in Assembler
beginnen und dann weitersehen.

Zum Thema PHP:
Ich weiss das es mir für die Programmierung von u'Cs in Assembler
überhaupt nichts bringt, wollte damit nur andeuten das ich eventuell
spätere Schritte in C++ deshalb schneller verstehen kann. Ausserdem ist
sowas generell förderlich für den Umgang mit Programmiersprachen (auch
wenn Assembler nicht wirklich eine ist, das weiss ich).

Danke für den Link Sascha, damit kann ich glaube was anfangen. Melde
mich zurück wenn ich ein Testprogramm laufen habe (fange sofort an zu
löten ;).

von Thomas K. (thkais)


Lesenswert?

Öhm - Das Tutorial auf dieser Seite ist für Assembler.
Assembler keine Programmiersprache? Du weißt aber schon, dass man
durchaus der Meinung sein kann, dass C nur ein Makro-Assembler ist?
Und bedenke: C++ ist nur sehr eingeschränkt auf einem µC nutzbar, ich
würde Dir eher Ansi-C empfehlen.

von Benjamin K. (benjamink)


Lesenswert?

Das AVR-GCC Tutorial ist doch nicht für Assembler das beisst sich doch
schon mit GCC oder sehe ich das falsch?
Ja nur ich dachte Assembler wäre sehr "linear" aufgebaut ohne
logische schleifen und all sowas, das macht für mich eine
Programmiersprache aus.
Ja ich weis das auch Programme mit Hochsprachen wieder auf
Hardwarebefehle compiliert werden, dafür gibt es ja Compiler ;).

von Elektrikser (Gast)


Lesenswert?

>>Ja nur ich dachte Assembler wäre sehr "linear" aufgebaut ohne
>>logische schleifen und all sowas, das macht für mich eine
>>Programmiersprache aus.

Naja, Linearität ist nicht gerade das Wahre. Man benötigtt schon ein
Konzept und eine Unterteilung und Unterroutinen, sonst wird es
"Spaghetti"-Code und sehr schwer lesbar. Und Schleifen sind auch in
Assembler sehr brauchbar.

Schau dir die Seite mal an, die dir Sascha gepostet hat.

Gruß Elektrikser

von Bob (Gast)


Lesenswert?

Die beste erklärung, die ich bis jetzt gefunden habe war im buch
einstieg in maschinensprache oder so. bin zur zeit nicht daheim, sonst
hätt ich dir die isbn geschrieben. das buch ist ned für µcom aber die
begriffe sind dort geil erklärt

von Thomas K. (thkais)


Lesenswert?

Wenn Du in der Navigationsleiste dieses Forums links den ersten Link
direkt unter "home" anklickst, dann kommst Du auf
http://www.mikrocontroller.net/tutorial/
Und das hat mit dem GCC nicht viel zu tun ;)

Man kann in Assembler durchaus Schleifen programmieren. Wenn das nicht
ginge, wäre auch kein Compiler in der Lage, Schleifenkonstrukte zu
erzeugen. Eine Hochsprache ist nur "bequemer", mit Assembler ist
alles möglich, was auch mit Hochsprachen möglich ist.
Aber Assembler ist für den Einstieg durchaus eine gute Wahl, denn auch
beim Umstieg auf C bleibt die Programmierung wesentlich hardwarenäher
als z.B. bei PCs.
Trau Dich ruhig an Assembler heran, das ist meines Erachtens die
einfachste Programmiersprache, die es gibt. (Aber da gehen die
Meinungen sicherlich auseinander...)

von Benjamin K. (benjamink)


Lesenswert?

Oh mann peinlich.
Vielen Dank für die viele Starthilfe von euch allen, habe heute mein
Willem-Advanced Programmiergerät Adapter fertig gelötet und meine
AVR's mal mit Testprogrammen beschrieben und gelöscht, hat gut
geklappt.
Werde mir dann morgen mal ein Testprogramm machen und mit Diode und
Taster auf Grundlage der Tutorialschaltung dieser Seite grins ein
Kleines Programm schreiben.

Vielen Dank nochmal ihr habt mir sehr geholfen.

von Schoaschi (Gast)


Lesenswert?

Ich hoffe ich verwirre dich dann nicht allzusehr.. aber du hast ja
vorher geschrieben, dass du mit den begriffen noch nicht so ganz
zurecht kommst.

Ich bin leidenschaftlicher PIC-Fan :-) darum kann ich dir nur folgende
seite empfehlen. Es ist zwar rein auf PIC-Basis, jedoch sind
standtartbegriffe wie "Interrupt" usw erklärt.

http://www.fernando-heitor.de/pic/glossar/i.htm#interrupt

Einfach mal schaun :-)

mfg schoasch

von Werner J. (werner_j)


Lesenswert?

Hallo Benjamin,

'ne ganze Reihe von Tutorials sind ja bereits genannt worden.

Wie man die AVRs programmiert ist imo aber nur die halbe Miete, wissen
was die AVRs hardwaremäßig können die andere. Also Timer, A/D, UART,
SPI, I2C und wie man damit umgeht.

Hierfür fand ich das Rowalts "AVR Mikrocontroller Lehrbuch" sehr
hilfreich (www.rowalt.de). Er verwendet zwar BACOM Basic als
Programmiersprache, verzichtet dabei aber darauf alles per CONFIG xyz
zu initialisieren. Er beschreibt die Control-Register lieber selber.
Dadurch ist der ganze Hardware-Teil 1:1 auch in Assembler umsetzbar.
Basic ist dabei nur das Gerüst für alles drumherum.


Ciao,
Werner

von Kevin (Gast)


Lesenswert?

Ich suche die einfachste Programmiersprache die es gibt!
Und will sie lernen!
Kann mir wer helfen?????
;)
Kev

von mr.chip (Gast)


Lesenswert?

> Ich suche die einfachste Programmiersprache die es gibt!

Hängt sehr davon ab, was du damit tun willst.

von Frank (Gast)


Lesenswert?

Versuchs mal mit LOGO, das ist für Kinder gemacht und wurde auch an
einigen Schulen gelehrt. Und es macht bestimmt Spass der Schildkröte
das krabbeln beizubringen.

bye

Frank

von Stefan (Gast)


Lesenswert?

Was meinst du mit einfachste?

Die mit dem einfachsten d.h. geringsten Befehlsvorrat oder die am
einfachsten zu lernende oder die am einfachsten (mit dem wenigsten
Code) auf einem Prozessor einzurichtende?

Mit dem einfachsten Befehlsvorrat in der Grundversion... da könnte
Forth die Nase vorne haben. Ebenso mit dem Codeumfang auf der
Rechenmaschine.

Mit am einfachsten zu lernen... Da gibt es die Sprachen, die sich auch
an Kinder richten. U.a. das genannte LOGO und auch Squeak
(http://www.squeak.de/)

Auf der Seite http://www.99-bottles-of-beer.net/ kannst du nachsehen,
wie ein Programm zur Ausgabe dieses Liedtextes in ca. 1000
verschiedenen Varianten/Sprachen programmiert werden kann.... suche dir
die interessanteste aus ;-)

Wenn du die Herausforderung suchst, befasse dich mit INTERCAL und
Brainfuck.

http://de.wikipedia.org/wiki/Intercal
http://de.wikipedia.org/wiki/Brainfuck

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.