Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:exercises:timer [2010/11/10 00:11] Wemberde:exercises:timer [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Aufgabe ======+====== Aufgaben ======
  
-Das Zeil ist es ein Programm zu schreiben was die unten genannten Anforderungen erfüllt+Ziel ist esein Programm zu schreiben welches die unten genannten Aufgaben durchführt
  
-===== Aufwärm Übung =====+===== Aufwärm-Übung =====
  
-  * Lass die rote LED blinken. Die Periode soll 10 Sekunden (Halbperiode 5 Sekunden) seinNutze eine Softwareverzögerungsfunktion, mit der Anzahl an Sekunden als Parameter.+  * Lassen Sie die rote LED blinken. Die Periode soll 10 Sekunden (Halbperiode 5 Sekunden) betragenNutzen Sie eine Softwareverzögerungsfunktion, mit der Sekundenanzahl als Parameter.
  
 ===== Für Anfänger ===== ===== Für Anfänger =====
  
-  - Zeige auf dem LCD Display, mit einer Genauigkeit von 100ms, die Zeit zwischen dem drücken von 2 beliebigen Knöpfen an. Die Zeitmessung geschieht nach eigenem Ermessen+  - Zeigen Sie mit einer Genauigkeit von 100 ms auf dem LCD Display die Zeit zwischen der Betätigung von 2 beliebigen Schaltern an. Die Art der Zeitmessung können Sie frei bestimmen
-  - Wenn man Knopf S1 drückt, wird die Blinkgeschwindigkeit aller 3 LEDS um die Hälfte reduziert. Wenn man S3 drückt wird das Blinken doppelt so schnell wie vorher, und S2 stellt die Frequenz auf 1 Hz. Nutze Funktionen oder Interrupts (die Interrupts sind schwerer, aber mit den Verzögerungsfunktionen geht Zeit durch die Filterfunktionen der Knöpfe verloren.)   +  - Wird Schalter S1 betätigt, wird die Blinkgeschwindigkeit aller 3 LEDs zweimal reduziert. Durch Betätigung von S3, blinken die LEDs  doppelt so schnell, und S2 setzt die Blinkfrequenz auf 1 Hz. Nutzen Sie Verzögerungsfunktionen oder Interrupts (die Interrupts sind schwieriger, aber bei der Verwendung von Verzögerungsfunktionen wird eine zusätzliche Verzögerung durch die Filterfunktion der Schalter auftreten.)  
-  - zeige die Druckfrequenz von Knopf S1 auf dem 7 Segment LED Indikator in Hz-s. Das Anzeigen der Frequenz muss unten mit 0 und oben mit 9 limitiert werden. +  - zeige die Druckfrequenz von Schalter S1 auf dem 7 Segment LED-Display in Hz-s. Die Anzeige der Frequenz muss nach unten mit 0 und nach oben mit 9 begrenzt werden. 
-  - Wenn Knopf S1 gedrückt wird, zählt das Programm von 60s bis 0s runter und schaltet dann die rote LED anWenn S2 gedrückt wird ist die Zeit nur 30sdanach wird aber die gelbe LED angeschaltet. S3 benötigt 10s um die grüne LED an zuschalten. Alle Prozesse müssen gleichzeitig funktionieren. Die LEDs schalten sich aus, wenn der dazugehörige Knopf gedrückt wird. +  - Wird Schalter S1 gedrückt wird, zählt das Programm die Sekunden von 60 bis 0 herunter und schaltet dann die rote LED einBei S2 beträgt die Zeit nur 30 sanschließend wird die gelbe LED eingeschaltetDie Zeit bei Betätigung von S3 beträgt 10 s, dann leuchtet die grüne LED. Alle Prozesse müssen gleichzeitig stattfinden. Die LEDs schalten sich aus, wenn der dazugehörige Schalter betätigt wird. 
-  - Zeige die Zeit auf dem LCD wie folgt an: hh:mm:ss. Nutze Hardwaretimer 1 mit Interrupts, die Zeit muss mit den Knöpfen eingestellt werden können. Es sollten 3 Knöpfe genutzt werden, S1 erhöht die Stunden, S2 die Minuten, und S3 die Sekunden.+  - Zeigen Sie die Zeit auf dem LCD wie folgt an: hh:mm:ss. Nutzen Sie den Hardwaretimer 1 mit Interrupts, die Zeit muss mit den Schaltern eingestellt werden können. Es sollten drei Schalter genutzt werden, S1 erhöht die Stunden, S2 die Minuten, und S3 die Sekunden.
  
 ===== Für Fortgeschrittene ===== ===== Für Fortgeschrittene =====
  
-  - Entwickle eine Stoppuhr, welche Stunden, Minuten, Sekunden, und Millisekunden auf dem LCD anzeigt. Knopf S1 startet die Zeit, S2 Stoppt Sie, und S3 nullt die Uhr. Interrupts des Timers müssen genutzt werden. +  - Entwickeln Sie eine Stoppuhr, die Stunden, Minuten, Sekunden, und Millisekunden auf dem LCD anzeigt. Schalter S1 startet die Zeit, S2 hält sie an, und S3 nullt die Uhr. Es müssen Interrupts des Timers genutzt werden. 
-  - In 2-Sekunden Intervallen müssen die rote, gelbe und grüne LED fließend nacheinander an und aus geschaltet werden. Das fließende Licht wird erzeugt, in dem man die LED mit mehreren Hundert Hertz (also sehr schnell an und ausschaltet) und die Proportionen zwischen den Licht/Dunkel Zeiten verändert, was für das Auge einen Effekt erzeugt, dass die Helligkeit der LED sich ändert(das ist Pulsweitenmodulation). +  - Die rote, gelbe und grüne LED müssen in 2-Sekunden Intervallen fließend nacheinander ein- und ausgeschaltet werden. Das fließende Licht wird erzeugt, in dem man die LED mit mehreren hundert Hertz moduliert (also sehr schnell ein- und ausschaltet) und die Abstände zwischen dem Ein- und Ausschalten verändert. Dadurch wird für das Auge der Effekt erzeugt, dass sich die Helligkeit der LED ändert (Pulsweitenmodulation). 
-  - Erstelle einen Teil eines Programms in C-Sprache, welcher eine Verzögerung von 10 µs ± 10% erzeugt bei einer Taktfrequenz von 14,7456 MHz. Verifiziere die Funktion der Verzögerung im kompilierten Programm indem man die Befehle in asm-Sprache in der .lss Datei des kompilierten Programms.+  - Erstellen Sie einen Programmteil in C, welcher eine Verzögerung von 10 µs ± 10% bei einer Taktfrequenz von 14,7456 MHz erzeugtVerifizieren Sie theoretisch, dass die Verzögerung funktioniert, indem Sie die Assembler-Befehle in der .lss Datei des kompilierten Programms kommentieren.
  
 ===== Fragen ===== ===== Fragen =====
  
-  - Welche Verzögerungsmethoden gibt es?+  - Welche Methoden zur Erstellung von Verzögerungen gibt es?
   - Wie wird eine Softwareverzögerung erstellt? Von welchen Parametern hängt die Softwareverzögerung ab?   - Wie wird eine Softwareverzögerung erstellt? Von welchen Parametern hängt die Softwareverzögerung ab?
-  - Warum nutzen wir Hardwareverzögerungen/Timer mit Interrupts? +  - Warum werden Hardwareverzögerungen/Timer mit Interrupts genutzt
-  - Berechne die Overflow-Unterbrechungsperiode für 8-Bit Timer, wenn die Taktfrequenz 16MHz ist und der Teiler 1024 +  - Berechnen sie die die Überlauf-Interruptperiode für einen 8-Bit Timer, wenn Taktfrequenz 16M Hz und Frequenzteilerfaktor 1024 betragen. 
-  - Was ist eine Echtzeituhr in einem Computer? +  - Was ist ein Echtzeitgeber in einem Computer? 
-  - Was passiert am 19.01.2038 in der Computerwelt? +  - Was geschieht am 19.01.2038 in der Computerwelt? 
-  - Was kann man mit AVR Timers noch machen, außer Zeit zu zählen?+  - Wozu können AVR Timer noch genutzt werden, außer um Zeit zu zählen?
   - Welche Indizes können genutzt werden um den ATmega128 Timer 0 einzustellen? Was kann mit diesen Register verändert werden?   - Welche Indizes können genutzt werden um den ATmega128 Timer 0 einzustellen? Was kann mit diesen Register verändert werden?
-  - Was ist die längste Zeitspanne an Unterbrechungen in Millisekunden, welche mit einem ATmega128 mit 14,7456 MHz Taktfrequenz erreicht werden können. Zeige deine Rechnung+  - Wie lang ist die längste Zeitspanne von Unterbrechungen in Millisekunden, die mit einem ATmega128 mit einer Taktfrequenz von 14,7456 MHz erreicht werden kann? Stellen Sie die Berechnung dar
-  - Wenn der Prozessor viel zu tun hat mit der Ausführung eines Programms (z.B. mehrere Motoren kontrollieren und die Werte mehrerer Sensoren auf einmal auslesen), hat das einen Effekt auf die Genauigkeit von TimernErkläre deine Antwort.+  - Hat es einen Effekt auf die Genauigkeit von Timern, wenn der Prozessor mit der Ausführung eines Programms stark ausgelastet ist (z.B. mehrere Motoren und Werte verschiedener Sensoren gleichzeitig kontrollieren)? Erläutern Sie Ihre Antwort.
de/exercises/timer.1289347861.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0