Das C-Control Programm wird an Hand von Flussdiagrammen in Compact-C entwickelt. Im Programmcode wird auf die Nummer (SR...) des Flussdiagrammes verwiesen.

1. Das Hauptprogramm main()

 

Beim Programmstart werden die Ports (Digital-I/O, I2C-Bus, 1Wire-Bus) initialisiert und dann die Hardware (Sensoren). Bei der Software-Initialisierung werden die Variablen des Programms passend vorbelegt. Anschliessend wird eine Endlosschleife durchgeführt, welche nur durch die Interrupts (IRQ) der Echtzeituhr im Sekundentakt unterbrochen wird.

1.1 Initialisierung der Hardware

 Initialisierung der Hardware

asd

1.2 Test der Hardware

 Test der Hardware

asd

1.3 Initialisierung der Software

 Initialisierung der Software

asd

1.4 Tastaturabfrage

Tastatur

asd

2. Die Interrupt-Service-Routine

IRQ

In der IRQ Service Routine werden die Messwerte der Temperatursensoren, Digitaleingänge und des Volumengebers eingelesen und die Variablenbänke an Hand des aktuellen Monats umgeschaltet.

2.1 Messwerte erfassen und Variablen umschalten

Messwerte erfassen

tbd

2.1.1 Impulsbehandlung

Impulsbehandlung

Für die Erfassung der Volumenimpulse wird ein 8Bit-Counter verwendet, der nicht zurückgesetzt werden kann. Er wechselt nach dem Zählerstand 255 zum neuen Zählerstand 0. Deshalb muss eine Abfrage auf den aktuellen und den vorhergehenden Wert erfolgen.

2.2 Wärmemenge berechnen

Wärmemenge berechnen

asd

2.2.1 Pumpenstatus ermitteln

 Pumpenstatus ermitteln

asd

2.2.2 Schätzung Volumen

 Schätzung Volumen

asd

2.2.3 Wärmewerte berechnen

Wärmewerte berechnen

 

2.2.4 Reset der Variablen

Reset der Variablen

asd

2.2.5 Berechnung Volumen

Berechnung Volumen

asd

2.2.6 Variablen inkrementieren

Variablen inkrementeieren

asd

2.3 Werte auf LCD ausgeben

Werte auf LCD ausgeben

asd

2.4 Werte auf RS-232 ausgeben

Werte auf RS232 ausgeben

asd