08.01.2013 Aufrufe

Download - Projektlabor

Download - Projektlabor

Download - Projektlabor

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Anhang2: Frequenzaeler<br />

D:\juergen\Projekt\Projekt\prog\Frequenzzaehler\settings.h<br />

1: /****************************************************<br />

2: * KONSTANTEN *<br />

3: ****************************************************/<br />

4: // Taktfrequenz des Mikrocontrollers<br />

5: #define FCK 14745600 // 14,7456MHz<br />

6: //#define FCK 10000000 // 10MHz<br />

7: #define PERIODEN 50 // Anzahl der Perioden pro Messung<br />

8: #define ZEITBASIS FCK/8 // Zeitbasis für die<br />

9: #define NENNER PERIODEN*ZEITBASIS // Nenner für die Frequenzberechnung<br />

10: #define START_PER 1 // Perioden, die gemessen werden bevor etwas<br />

angezeigt wird<br />

11:<br />

12: #define UART<br />

13: //#define LCD<br />

D:\juergen\Projekt\Projekt\prog\Frequenzzaehler\Frequenzzaehler.c<br />

1: /****************************************************<br />

2: * HEADER-DATEIEN *<br />

3: ****************************************************/<br />

4:<br />

5: #include <br />

6: #include <br />

7: #include <br />

8: #include <br />

9: #include <br />

10: #include <br />

11:<br />

12: #include "settings.h"<br />

13:<br />

14: #ifdef LCD<br />

15: #include "lcd.h"<br />

16: #endif<br />

17:<br />

18: #ifdef UART<br />

19: #include "uart.h"<br />

20: #endif<br />

21:<br />

22: /****************************************************<br />

23: * FUNKTIONS PROTOTYPEN *<br />

24: ****************************************************/<br />

25: void init_timer(); // initialisiert den Timer<br />

26: void init_ports(); // initialisiert die Ports des Mikrocontrollers<br />

27: void init_lcd(); // initialisiert das LCD-Display<br />

28: void put_to_lcd(uint16_t mw); // gibt einen Messwert auf dem<br />

29: // LCD-Display aus<br />

30: uint16_t berechne(); // berechnet die Frequenz<br />

31: void check_and_send(uint16_t f); // überprüft was angefordert wird und<br />

sendet es<br />

32:<br />

33:<br />

34: /****************************************************<br />

35: * GLAOBALE-VARIABLEN *<br />

36: ****************************************************/<br />

37: volatile uint32_t overflows; // Überlaufzähler<br />

38: volatile uint32_t ov; // Zwischenspeicher zur Ausgabe des<br />

Überlaufzählers<br />

39: volatile uint32_t dt; // Periodendauer<br />

40: volatile uint8_t wait; // wait-Flag, zeigt an ob messung läuft<br />

41:<br />

42: volatile uint16_t f_max; // maximale gemesseneFrequenz<br />

43: volatile uint16_t f_min; // minimlae gemessene Frequenz<br />

44:<br />

45: /****************************************************<br />

46: * INTERRUPT-ROUTINEN *<br />

47: ****************************************************/<br />

48:<br />

217

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!