Du bist da auf eine Stoppuhr gestossen. Du brauchst eher sowas wie einen Wecker. Für weitere Hilfe fehlt mir allerdings einiges an Code, worauf ich aufbauen kann. Eine komplette mehrkanalige Zeituhr möchte ich hier eigentlich nicht komplett posten.
Hier mal das Grundgerüst:
Code:
$regfile = "m8def.dat"
$crystal = 4000000
Config Dcf77 = Pind.7 , Timer = 1 , Gosub = Sectic 'DCF-Uhr Routine, lässt sich auch mit einem xMHZ Quarz ohne DCF-Empfänger nutzen
Dim Stundeein(3) As Byte
Dim Minuteein(3) As Byte
Dim Stundeaus(3) As Byte
Dim Minuteaus(3) As Byte
Dim B As Byte
Ddrd = &B00001110 'Ausgänge für Zeituhr auf PortD.1-Portd.3
Do 'übersichtliche Hauptschleife...
Gosub Temperaturregeln
Gosub Tastatur
Gosub Sonstiges
Loop
End
Sectic: 'wird sekündlich aufgerufen
Gosub Uhranzeigen
Gosub Temperaturanzeigen
If _sec = 0then
Gosub Schaltuhr
End If
Return
Schaltuhr:
For B = 1 To 3
If Stundeein(b) = _hour Then
If Minuteein(b) = _min Then
Set Portd.b
End If
End If
If Stundeaus(b) = _hour Then
If Minuteaus(b) = _min Then
Reset Portd.b
End If
End If
Next B
Return
Temperaturregeln:
'hier dein Code für die Temperaturregelung rein
Return
Tastatur:
'hier dein Code für die Tastatur / Drehencoder rein
Return
Sonstiges:
'hier dein Code für Anderes rein
Return
Uhranzeigen:
'hier dein Code für die Uhrzeitanzeige rein
Return
Temperaturanzeigen:
'hier dein Code für die Temperaturanzeige rein
Return
Lesezeichen