дык ведьжеж нарисовано уже все Bill'ом. switch'овые структуры и использовать. Только в примере изменение состояния раскидано по разным функциям в частности по интерраптам. Для полного понимания лучше пример когда состояние системы меняется сугубо внутри однго цикла в котором свич и стоит но это будет сугубо плоская задачка.
представьте себе кассетный магнитофон. Состояние его кнопок (переменная 1 байт - 8 кнопок - грубо говоря - нажато-ненажато) определяет его состояние. А внутри есть маленьки Демон (младший брат демона Максвела) который смотри состояние кнопок (вот тот байт) и дергает нужные рычажки ЛПМ мафона. Посмотрел -> дернул, потом новый квант времени: Посмотрел -> дернул.
Вот этот демон и будет структурой свич и квантование по времени дает внешний цикл или другая процедура задающая периодичность.