Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 5. Переходим непосредственно к разработке устройств и программ 331 Действительно, кто же будет одновременно звонить в звонок и набирать кодовую комбинацию? Итак, мы можем сформулировать последнюю нашу задачу следую щим образом: «Объединить два разработанных ранее устройства: музыкальную шкатулку (пример 9) и электронный кодовый замок (пример 10) в одно универсальное устройство, обладающее обеими этими функциями. Устройство должно иметь десять кнопок набора кода, тумблер выбора режима, выходной каскад для управления электромагнитом замка, а также кнопку звонка и выходной каскад звука». Алгоритм Итак, нам нужно объединить два алгоритма. Как уже говорилось выше, эти два алгоритма не должны работать одновременно. Поэтому каждый алгоритм останется практически без изменений. Но их нужно все же соединить вместе. Как может выглядеть это соединение? Для соединения алгоритмов достаточно объединить их процедуру ожидания. Такая процедура есть и в программе музыкальной шкатулки, и в программе замка. В первом случае такая процедура должна ожидать нажатия кнопки звонка, а во втором — нажатия одной из кнопок набора кода. Обе эти процедуры нужно объединить в одну. Объединенная про цедура ожидания должна сначала опрашивать кнопку звонка, а затем проверять, не нажаты ли кнопки набора кода. Если обнаружится нажатие кнопки звонка, выполняется алгоритм музыкальной шкатулки. Если нажатыми окажутся кнопки набора кода, то выполняется алгоритм электронного замка. Если ничего не нажато, цикл ожидания продолжается. В том случае, если начнется выполнение музыкального алгоритма, программа будет целиком занята этим алгоритмом, пока кнопка звонка не будет отпущена. Если начнется выполнение алгоритма замка, то про грамма будет выполнять его до конца. То есть пока набранная комбина ция не запишется в память или пока не закончится процедура проверки. И только тогда, когда выбранный алгоритм закончит свою работу, управ ление передается к объединенной процедуре ожидания. Схема За основу схемы объединенного устройства удобнее взять схему электронного замка (см. рис. 5.17). Она потребует минимальной дора ботки. Новая схема приведена на рис. 5.19. К старой схеме добавлены всего два элемента. Во-первых, это выходной каскад звука, подклю-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==