kramann.info
© Guido Kramann

Login: Passwort:










Mikrocontroller
1 Einfuehrung
..1.1 Entwicklungsgeschichtliches
..1.2 Maschinensprache
..1.3 Assemblerbeispiel
..1.4 Sprachwahl
..1.5 Praxis
....1.5.1 Digital_IO
....1.5.2 Byteoperationen
....1.5.3 AVR_Studio
....1.5.4 Testboard
....1.5.5 Aufgaben
....1.5.6 Do_it_yourself
......1.5.6.1 Ampel
......1.5.6.2 Programmierer
..1.6 Literatur
..1.7 Programmierer
....1.7.1 Bauverlauf
....1.7.2 KurzreferenzLow
....1.7.2 Kurzreferenz_16PU
..1.8 Uebung1
..1.9 BoardAtHome
....1.9.1 Software
....1.9.2 Hardware
....1.9.3 Knoppix
....1.9.4 Aufbau
....1.9.5 LED
2 Oszillator
..2.1 Assembler
..2.2 Interner_RC
..2.3 Quarz
..2.4 Taktgenerator
3 DigitalIO
..3.1 Elektrische_Eigenschaften
..3.2 Pullup_Widerstaende
..3.3 Bitmasken_Eingang
..3.4 Bitmasken_Ausgang
..3.5 Tic_Tac_Toe
....3.5.1 DuoLEDs
....3.5.2 Schaltplan
....3.5.3 Spielfeld
....3.5.4 Anwahl
....3.5.5 Kontrolle
..3.6 Laboruebung2
..3.7 Laboruebung2_alt
4 PWM
..4.1 Prinzip
..4.2 Nutzen
..4.3 Generierung
..4.4 Programmierung
..4.5 Servos
..4.7 Laboruebung3
..4.8 LoesungUE3
..4.9 Uebung6
5 LichtKlangKugeln
..5.1 LED
..5.2 RGB
..5.3 Sensoren
..5.4 lautsprecher
..5.5 tonerzeugung
6 UART
..6.1 Bussysteme
..6.2 UART
..6.3 RS232
..6.4 Hardware
..6.5 Senden
..6.6 Hyperterminal
..6.7 Empfangen
..6.8 Broadcast
..6.9 Uebung4
7 Infrarot
..7.1 schalten
..7.2 seriell
..7.3 Uebung
8 OOP
..8.1 Probleme
..8.2 Konzept
..8.3 Statisch
..8.4 Datentypen
..8.5 RS232
....8.5.1 Prozedural
....8.5.2 Analyse
....8.5.3 Umsetzung
....8.5.4 Vererbung
....8.5.5 Statisch
....8.5.6 Performance
..8.6 Fahrzeug
9 ADW
..9.1 ADW
..9.2 Zaehler
10 Peripherie
..10.1 RS232Menue
..10.2 ASCIIDisplay
..10.3 Tastenmatrix
..10.4 Schrittmotor
..10.5 Zaehler
..10.6 Uebung7
11 SPI
..11.1 Testanordnung
..11.2 Register
..11.3 Test1
..11.4 Test2_Interrupt
..11.5 Test3_2Slaves
..11.6 Laboruebung
12 EEPROM
13 I2C
..13.1 MasterSendByte
..13.2 MasterSend2Bytes
..13.3 MasterReceiveByte
..13.4 MasterReceive2Bytes
14 Anwendungen
..14.1 Mechatroniklabor
....14.1.1 Biegelinie
....14.1.2 Ausbruchsicherung
....14.1.3 Einachser
....14.1.4 AV
....14.1.5 Vierradlenkung
....14.1.6 Kommunikation
..14.2 Sinuserzeugung
....14.2.1 Variante1
....14.2.2 Variante2
....14.2.3 Variante3
....14.2.4 Variante4
..14.3 Laboruebung8
..14.4 Loesung_Ue8
..14.5 SPI_Nachtrag
20 Xubuntu

1.2 Maschinensprache

- was sich durch die Basisarchitektur heutiger Computer für eine Grundgestalt bei der Programmierung auf Maschinenebene ergibt

Grundarchitektur Mikrocontroller / PC im Vergleich

PC Architektur

Bild 1.2-1: PC-Architektur (von Neumann-Architektur)

Mikrocontroller Architektur

Bild 1.2-2: Mikrocontroller-Architektur (Harvard-Architektur)

  • Die vorangehenden Bilder vergleichen die Architektur eines PCs mit der eines Mikrocontrollers.
  • Bedenken Sie: Bei "PC" ist alles gemeint, was beispielsweise in ein Tower-Gehäuse eingebaut wird: Das Motherboard mit der darauf sitzenden CPU (z.B. PenthiumIV oder Athlon-Prozessor) und die eingesteckten Karten.
  • Dagegen ist mit "Mikrocontroller" nur das IC, z.B. der abgebildete ATmega32 gemeint.
  • Stellen Sie sich zunächst ein "Bussystem" als einen Strang paralleler Leitungen vor, der an verschiedenen Stellen von verschiedenen Komponenten angezapft wird.
  • Dabei gibt es Master-Komponenten, die bestimmen, was auf dem Bussystem passiert, hier ist das die CPU und Slave-Komponenten, die auf Anfragen auf dem Bussystem reagieren.
  • Bussysteme unterscheiden sich nach Anzahl der Leitungen, der möglichen Übertragungsgeschwindigkeit und dem so genannten Bus-Protokoll, das die Struktur und den zeitlichen Ablauf der auf das Bussystem geschickten Datenpakete beschreibt und wie Kollisionen zwischen lauschenden und sendenden Komponenten vermieden wird.
  • Statt eines Datenbands wie bei der Turingmaschine, gibt es also beim PC und beim Mikrocontroller ein- bzw. zwei Bussysteme mit angeschlossenem Daten- und Programmspeicher.
  • Nach Neustart des Mikrocontrollers wird aus dem Programmspeicher Befehl für Befehl geladen und abgearbeitet.

Was ist Maschinensprache?

  • Mikrocontroller haben kein Betriebssystem.
  • Werden sie eingeschaltet, oder wird ein Reset durchgeführt, so springt der Programmzähler in der Regel an den Anfang des Programmspeichers und holt von da den ersten Maschinenbefehl in die CPU.
  • Ein solcher Befehl ist nichts anderes als eine Zahl, die beim ATmega32 zwischen 0 und 63 liegt, also mit 6-Bit dargestellt werden kann.
  • Diese Zahl wird dann von der CPU interpretiert.
  • Je nach Befehlscode, folgen ihm weitere Bit-Codierte Parameter.