Page 310 - Embedded Microprocessor Systems Real World Design
P. 310
Reset logic:
Turn all display digits off.
Set mode to power up.
Clear all variables.
Set ON time to 8:30.
Set OFF time to 8:OO.
Set current time to ON time. (This will turn the pump on.)
Start of background Loop:
If counting ON time or if in ON override,
If water level OK, turn pump on.
If counting OFF time, or if in OFF override
or if water level low, turn pump off.
If time rolled over from ON to OFF,
Switch to oounting ON time.
Set current time to OFF time.
If time rolled over from OFF to ON,
Switch to counting ON time.
Set current time to ON time.
If mode is powerfail,
If set pushbutton pressed, set mode to normal timekeeping.
If mode is normal timekeeping,
If ON pushbutton pressed (ON override)
If override time = 0:O (first button press),
Set to ON override mode
Set override time to 0:30.
If override time was > O:O,
If in ON override,
add 30 to override time
If override time = 24:0, set override time to 0:O.
If in OFF override (ON pressed while in OFF override),
Set override time to 0:O (exit override).
If OFF pushbutton pressed (OFF override)
If override time = 0:O (first button press),
Set to OFF override mode
Set override time to 0:30.
If override time was > O:O,
If in OFF override,
add 30 to override time
If override time = 24:00, set override time to 0:O.
If in ON override (OFF pressed while in ON override),
Set override time to 0:O (exit override).
If SET pushbutton pressed,
Set mode to time set
Display ON time
Set override time to 0:O.
Appendix A 291