• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта

Главное меню

Карта сайта
Главная
Курсовые работы
Отчеты по практикам
Лабораторные работы
Методические пособия
Рефераты
Дипломы
Лекции



Электронная записная книжка

 

РАЗРАБОТКА АЛГОРИТМА РАБОТЫ СИСТЕМЫ И ПРОГРАММЫ

Рисунок 12 - Блок схема программы

Программный код приведён в приложении А. Представленный выше алгоритм включает в себя следующие шаги:

  1. После включения устройства происходит инициализация дисплея, это необходимо для установки настроек ЖКИ в требуемый режим работы.
  2. Далее дисплей очищается.
  3. На третьем шаге алгоритма проверяется, нажата ли какая-нибудь клавиша на клавиатуре. Если клавиша не нажата, то происходит возврат к началу третьего шага.
  4. В случае если нажата какая-либо клавиша, на дисплей выводится соответствующей этой клавиши символ.
  5. После этого проверяется состояние дисплей, и когда он готов происходит переход к началу третьего шага.

Описание хода разработки программного обеспечения

Текст программы с комментариями представлен в Приложении А.

Далее будет представлено описание и назначение некоторых функций программы.

Функция wait_lcd() представляет собой проверку состояния дисплея (проверяется бит D7 ЖКИ). При занятом устройстве бит 7 будет установлен, поэтому нужно дождаться, пока этот бит станет равным 0 ,чтобы послать следующую команду.

Перед выводом символов на дисплей необходимо выполнить инициализацию и очистку дисплея, послав устройству соответствующие команды. Инициализацию и очистку дисплея выполняют функции init_lcd() и clr_lcd() соответственно. При инициализации линия Enable устанавливается в 1 – это линия, фиксирующая начало передачи команды в дисплей, затем линия Register Select устанавливается в 0 – это означает, что данные на линиях D0-D7 должны интерпретироваться как команда, и линия Read/Write d 0 – это означает запись. После этого по линиям D0-D7 передается команда 00111000 (0x38), означающая начальные установки ЖКИ (разрядность шины интерфейса 8-бит, количества строк на дисплее – две, и размера символов 5×8 точек). Далее линия Enable устанавливается в 0, т.е. фиксируется окончание передачи команды.

Таким же образом посылаются еще 2 команды: 00001110 (0x0E) – включение дисплея и отображение курсора и 00000100 (0x04) – задание режима ввода (направление перемещения курсора вправо).

Функция очистки clr_lcd() посылает дисплею команду 00000001 (0х01), означающую что во все ячейки DDRAM записывается код 0х20 (пробел) и счетчик адреса DDRAM устанавливается в 0x00.

Функция write_char() производит вывод байта данных на дисплей, при этом Register Select устанавливается в 1 – это означает, что данные на линиях D0-D7 должны отображаться на экране.

В функции main() реализован цикл, ожидающий нажатия пользователем клавиши. После нажатия клавиши функция write_char() выводит символ на дисплей и программа после выполнения функции wait_lcd() снова переходит в режим ожидания.

Переменая flag_simv служит флагом клавиатурной раскладки. При flag_simv=1 доступна английская раскладка клавиатуры, при flag_simv=0 – русская.

ЗАКЛЮЧЕНИЕ

В данной работе разработана электронная записная книжка на микроконтроллере, написана программа для неё, рассмотрены вопросы программирования МК.

В ходе выполнения работы был проведён анализ задачи, на основе которого были сформулированы требования к конечной системе. Была построена структурная схема.

В ходе выполнения проекта были подобраны соответствующие устройства для реализации функций, возложенных на элементы системы.

Далее, с использованием выбранных устройств была построена функциональная схема. Разработка завершилась составлением блок-схемы алгоритма и написанием исходного кода программы для микроконтроллера.