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
kramann.info
© Guido Kramann

Login: Passwort:




Übung für den 13.05.2014 und 14.05.2014 - CTC

(EN google-translate)

(PL google-translate)

Im Rahmen der Behandlung von Timern wurde auch der CTC-Mode angesprochen.

Dieser erlaubt es die Frequenz eines Rechtecksignal fester Tastung (High- und Lowphase sind gleich lang) in einem grösseren Bereich, bzw. mit größerer Auflösung einzustellen.

Die Einstellung der Ausgangsfrequenz erfolgt hierbei nicht nur über eine grobe Vorteilung, sondern auch über ein spezielles Register.

Aufgabe 1

Informieren Sie sich im Datenblatt des ATmega32 über den CTC-Mode bei Timer 2.

Aufgabe 2

Schreiben Sie unter Verwendung des CTC-Modes für Timer 2 ein Programm, das auf den Lautsprecher bei PD7 ein Rechtecksignal ausgibt, das möglichst genau die Frequenz 440Hz hat.

HINWEIS: Bei manchen Boards ist der Lautsprecher defekt. Es stehen aber einige Lautsprecher mit 50 Ohm Innenwiderstand zur Verfügung, die statt dessen angeschlossen werden können.

Aufgabe 3

So genannte Orff-Instrumente (bestimmte Xylophone, Glockenspiele, Trommeln, usw.) verwenden eine pentatonische Tonskala: Auf einer Grundfrequenz weren Quinten "gestapelt". Eine Quinte stellt das 1,5-fache einer Grundfrequenz dar. Damit alles in einen kleinen Tonraum passt, werden die höheren Töne oktaviert, also die resultierende Frequenz noch durch 2, 4 oder 8 geteilt.

Wählen Sie eine gut hörbare Grundfrequenz f aus und machen Sie folgende Frequenzen als Ton abrufbar (Inkrement/Dekrement über Taster, oder Abruf einer automatisch ablaufenden Tonfolge per Tastendruck):

    frequenzen0 = f;
    frequenzen1 = f*1.5*1.5*0.5;
    frequenzen2 = f*1.5*1.5*1.5*1.5*0.5*0.5;
    frequenzen3 = f*1.5;
    frequenzen4 = f*1.5*1.5*1.5*0.5;
    frequenzen5 = f*2.0;
    frequenzen6 = f*1.5*1.5*0.5*2.0;

Code 0-1: Abrufbare Tonfrequenzen in Abhängigkeit einer Grundfrequenz f.