Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
microcontrollertechnik:7._uhr_und_zeitraster [2022/10/22 04:32] tfischermicrocontrollertechnik:7_uhr_und_zeitraster [2024/11/13 01:04] (aktuell) mexleadmin
Zeile 1: Zeile 1:
-====== 7Uhr und Zeitraster ======+====== 7 Uhr und Zeitraster ======
  
 ==== Ziele ==== ==== Ziele ====
Zeile 26: Zeile 26:
 <-- <--
  
---> III. Eingabe in Atmel Studio #+--> III. Eingabe in Microchip Studio #
 <WRAP group><WRAP column 40%><sxh c; first-line: 1> <WRAP group><WRAP column 40%><sxh c; first-line: 1>
  
Zeile 262: Zeile 262:
 */ */
 { {
- DDRC = DDRC &~INPUT_PIN_MASK; // Port auf Eingabe schalten+ DDRC = DDRC &~INPUT_PIN_MASK; // Port auf Eingabe schalten
  PORTC |=   INPUT_PIN_MASK; // Pullup-Rs eingeschaltet  PORTC |=   INPUT_PIN_MASK; // Pullup-Rs eingeschaltet
  _delay_us(1); // Wartezeit Umstellung Hardware-Signal  _delay_us(1); // Wartezeit Umstellung Hardware-Signal
- buttonState    = (PINC & INPUT_PIN_MASK) ; // Hole den Schalterstatus von B1..B4, 0b1 ist hier offener SChalter + buttonState    = (PINC & INPUT_PIN_MASK) ; // Hole den Schalterstatus von C0..C3, 0b1 ist hier offener SChalter 
- DDRC |= INPUT_PIN_MASK; // Port auf Ausgabe schalten+ DDRC |= INPUT_PIN_MASK; // Port auf Ausgabe schalten
  
     // Einlesen der Tastensignale        // Einlesen der Tastensignale   
Zeile 379: Zeile 379:
 ''Hauptprogramm ========================='' ''Hauptprogramm =========================''
  
-  - Das Hauptprogramm ähnelt sehr stark dem [[4._up_down_counter|Up/Down Counter]]. Entsprechend werden die Zeilen 143-157 hier nicht weiter erklärt. \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ +  - Das Hauptprogramm ähnelt sehr stark dem [[4_up_down_counter|Up/Down Counter]]. Entsprechend werden die Zeilen 143-157 hier nicht weiter erklärt. \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ 
   - In der Endlosschleife sind auf der ersten Ebene wieder nur If-Abfragen zu den Flags ''takt10ms'' und ''takt100ms'' zu finden. \\ \\   - In der Endlosschleife sind auf der ersten Ebene wieder nur If-Abfragen zu den Flags ''takt10ms'' und ''takt100ms'' zu finden. \\ \\
-    - Alle $10ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrStellen()'' aufgerufen \\ \\ \\  +    - Alle $10~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrStellen()'' aufgerufen \\ \\ \\  
-    - Alle $100ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrAnzeigen()'' aufgerufen \\ \\ \\  +    - Alle $100~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrAnzeigen()'' aufgerufen \\ \\ \\  
-    - Alle $1s$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrZaehlen()'' aufgerufen \\ \\ \\ \\ +    - Alle $1~\rm s$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm ''uhrZaehlen()'' aufgerufen \\ \\ \\ \\ 
 ''Interrupt Routine ========================='' ''Interrupt Routine =========================''
-  - Auch die Interrupt Routine ist dem Programm [[4._up_down_counter|Up/Down Counter]] entlehnt und wird hier nicht weiter erklärt. \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ +  - Auch die Interrupt Routine ist dem Programm [[4_up_down_counter|Up/Down Counter]] entlehnt und wird hier nicht weiter erklärt. \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
  
-'' Stellfunktion  ==============''+'' Stellfunktion ==============''
 \\ \\ \\ \\
-  - In dieser Funktion werden zunächst die Stellungen aller Taster eingelesen (vgl. ''counterCounting(void)'' bei [[4._up_down_counter|Up/down Counter]]). \\ \\ \\ +  - In dieser Funktion werden zunächst die Stellungen aller Taster eingelesen (vgl. ''counterCounting(void)'' bei [[4_up_down_counter|Up/down Counter]]). \\ \\ \\ 
-  - Neu hier ist, dass die Bedienung der Schalter die Variablen für Stunden, Minuten um eins hochsetzen, bzw. bei Überlauf wider zurück auf 0 setzen. Zusätzlich wird bei eine Änderung des Minuten-Werts der Sekunden-Wert auf 0 gesetzt.  \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ +  - Neu hier ist, dass die Bedienung der Schalter die Variablen für Stunden, Minuten um eins hochsetzen, bzw. bei Überlauf wider zurück auf 0 setzen. Zusätzlich wird bei eine Änderung des Minuten-Werts der Sekunden-Wert auf 0 gesetzt.  \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
  
 '' Anzeigefunktion Uhr ========================='' '' Anzeigefunktion Uhr =========================''