Главное меню

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



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

 

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

Рисунок 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 – русская.

ЗАКЛЮЧЕНИЕ

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

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

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

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