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.5.5 Aufgaben

Download des notwendigen Materials
taster_fangschleifen.zip - Musterlösung zu Aufgabe4: Taster mit Fangschleifen.
  • Die Laborübungen lehnen sich eng an die Vorlesung an.
  • Der obige Link enthält Ihr benötigtes Material für die Laborübung:
  • Die AVR-Studio-Projekte mit den Programmen aus der Vorlesung, Das Datenblatt des ATmega32 und das AVR-instruction-set.
  • Nach dem Entpacken (c:/lokal) können die Projekte durch Doppelklicken auf das Käfer-Icon geöffent werden.
  • Der Raum IWZ219 bietet Platz für 14 Studierende, die jeweils zu zweit an einem Testboard arbeiten können.

Vorbereitungen

  1. Jedes Testboard ist mit einer Spannungsversorgung von 12 Volt versehen. - Schalten Sie diese ein und stecken Sie den roten Plus-Stecker in die rote Buchse und den blauen Massestecker in die blaue Buchse.
  2. Vergewissern Sie sich anhand der Bilder aus Kapitel 1.5.3 (AVR-Studio), dass Sie verstanden haben, wierum jeweils der Programmierstecker eingesteckt werden muß, um den oberen, bzw. den unteren Mikrocontroller zu programmieren.
  3. Schauen Sie sich in dem gleichen (Kapitel 1.5.3) auch die notwendigen Einstellungen beim USB-Programmiergerät an und vergleichen Sie diese bei sich.
  4. Schalten Sie den PC ein und loggen sich ein.
  5. Wenn nun alles richtig angeschlossen ist, müssen zwei LEDs im USB-Programmiergerät grün leuchten.

Aufgabe

  1. Übertragen Sie das .hex-File aus dem Projekt "anzeige" auf den oberen Mikrocontroller (muecA).
  2. Übertragen Sie das .hex-File aus dem Projekt "erstes_assembler" auf den unteren Mikrocontroller (muecB). - Es müßte nun 64 angezeigt werden.
  3. Modifizieren Sie das Assembler-Programm so, dass 42 angezeigt wird und übertragen es erneut.
  4. Gehen Sie jetzt in das C-Projekt "taster_c" und übertragen dieses auf den Mikrocontroller.
  5. Wie muß das Programm modifiziert werden, damit der andere Taster (PB1) benutzt wird?
  6. Setzen Sie sich mit dem Problem auseinander ein Programm zu schreiben, bei dem es möglich ist durch wiederholten Tastendruck bei PB0 die Variable akku immer um eins zu erhöhen und durch wiederholtes Drücken bei PB1 diese immer um 1 zu erniedrigen. Wieder soll akku über PORTC zur Anzeige gebracht werden.