Курсовая работа: Разработка электронного кодового замка
Алгоритм функционирования программы кодового замка включает в себя следующие основные блоки:
- включение;
- ввод кода;
- проверка введённого кода;
- контроль количества попыток ввода кода;
- открытие замка;
- закрытие замка;
- световая индикация;
- звуковой сигнал.
На рисунке 4.1 представлена блок-схема алгоритма работы программы.
Рассмотрим алгоритм функционирования программы более подробно.
- Включение устройства
При подаче питания производится инициализация переменных: для хранения адреса ячейки памяти с текущей введённой цифрой кода используется регистр r0, для количества попыток ввода – память данных по адресу 38h. Затем выключаются светодиод и динамик установкой в 0 соответствующих битов порта p2. Настраивается таймер t0, который будет далее использоваться для формирования программной задержки. Режим – 16-битный таймер. Далее задаётся адрес для первой цифры кода и количество попыток ввода.
- Ввод кода
Ввод кода производится посредством опроса клавиатуры и регистрации нажатий клавиш. Клавиатура опрашивается в бесконечном цикле. При обнаружении нажатия кнопки во избежание регистрации нескольких нажатий из-за явления дребезга контактов вызывается подпрограмма формирования временной задержки длительностью 5 мс (delay2). После отпускания кнопки происходит запоминание введённого значения и возврат в цикл опроса клавиатуры, если ещё не все цифры введены.
Рисунок 4.1 - Блок-схема работы программы
- Проверка введённого кода
Когда введены все цифры кода, производится последовательная проверка всех цифр, начиная с последней (метка code_wrong). Здесь для примера выбран шестизначный код “123456” В случае несовпадения цифры кода с заданной проверяется количество оставшихся попыток ввода кода (метка code_wrong).
- Контроль количества попыток ввода кода
Если все попытки ввода израсходованы, включается звуковой сигнал длительностью 1 с. Для формирования задержки используется подпрограмма delay. Во время действия звукового сигнала устройство не реагирует на нажатия клавиш.
- Открытие замка
Открытие замка производится установкой бита p2.0.
- Закрытие замка
Закрытие замка производится сбросом бита p2.0.
- Световая индикация
Световая индикация включается установкой бита p2.2 и выключается его сбросом.
- Звуковой сигнал
Звуковой сигнал включается установкой бита p2.1 и выключается его сбросом.
- Формирование программной временной задержки.