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

3.7 Laborübung 2

Aufgabe 1
  1. Nehmen Sie sich das Programm aus Kapitel 3.2 vor und testen Sie, ob es funktioniert (Geziptes Projekt nach c:/lokal herunterladen, dort entpacken und durch Doppelklicken des roten Käfers - pullup.aps - Projekt öffnen, speichern, kompilieren, auf den unteren Baustein beim Testboard übertragen, Belegung der Pins s. z.B. Kapitel 2.4).
  2. Überprüfen Sie, wieviele Taktzyklen ein Durchlauf der Endlosschleife benötigt (s. dazu Kapitel 2.2 unten).
  3. Wandeln Sie das Programm in ein Assemblerprogramm um und überprüfen Sie auch hier die benötigten Taktzyklen für einen Durchlauf der Endlosschleife. Nehmen Sie als Grundlage das Assembler-Projekt takttest_assembler.zip aus Kapitel 2.2.
  4. Bestimmen Sie die tatsächliche Dauer eines Schleifendurchlaufs beim C- und beim Assemblerprogramm für eine Taktrate des Mikrocontrollers von 1MHz und für 8MHz.
Aufgabe 2
  1. Schreiben Sie verschiedene Programme, um am Ausgang PORTC Rechtecksignale zu erzeugen.
  2. Versuchen Sie Ihr Ziel durch unterschiedliche Taktraten des Mikrocontrollers und unterschiedlichen Taktzyklenverbrauch beim Programm zu erreichen.
  3. Geforderte Frequenzen: 1000Hz, 100Hz, 10Hz, 1Hz.
  4. Überprüfen Sie Ihr Ergebnis u.a. mit Hilfe eines Multimeters.
  5. Hinweis: Integer-Werte sind beim Mikrocontroller zwei Byte groß. Verwenden Sie für große Zähler z.B. unsigned long als Datentyp.
Aufgabe 3
  1. Schließen Sie an PB2 eine grüne und bei PB3 eine rote LED an (Vergleiche Schaltplan des neuen Boards!).
  2. Schreiben Sie ein Programmm, bei dem durch Tastendruck bei PB0 die grüne LED leuchtet und bei Tastendruck bei PB1 die rote.
  3. Zusatzaufgabe: Werden beide Taster gleichzeitig gedrückt sollen die LEDs wechselblinken.
  4. Hinweise: Die 5mm-LEDs benötigen einen Vorwiderstand von 220Ω bei 5V. Der längere Anschluß ist die Anode und wird an den Pluspol angeschlossen.
Aufgabe 4
  1. In Kapitel 1.5.5 finden Sie ganz unten die Musterlösung für das Inkrementieren und Dekrementieren einer Zahl mittels der Taster an PB0 und PB1. - Laden Sie das Projekt herunter und testen Sie es (nach c:/lokal herunterladen, entpacken, Projekt öffnen, übertragen und Taster betätigen.)
  2. Modifizieren Sie das Programm so, dass inkrementiert wird, wenn beide Taster gedrückt sind.
  3. Entfernen Sie die Spannungsversorgung von dem Testboard. Schließen Sie an PB2 und PB3 je eine LED an. Verwenden Sie dazu ein Steckbrett und beachten Sie dazu die Hinweise in Kapitel 3.5.1 zum Anschluß gewöhnlicher LEDs. Fragen Sie Ihren Dozenten, wenn Sie unsicher mit der Beschaltung sind, BEVOR Sie das Testboard wieder einschalten.
  4. Modifizieren Sie das Programm jetzt so, dass die LED an PB2 nur dann leuchtet, wenn der Taster an PB0 gedrückt ist und die LED an PB3 nur dann leuchtet, wenn der Taster an PB1 gedrückt ist.