Клеммные колодки Keen Side

Подключение графического индикатора (KS0108) к PIC микроконтроллеру. Часть 2 - Схема подключения к микроконтроллеру и инициализация индикатора

Часть 1 – Теория

Для подключения графического индикатора Winstar WDG0151-TMI к микроконтроллеру и проведения экспериментов автор использовал отладочную плату компании mikroElektronika UNI-DS6 с микроконтроллером Microchip PIC16F887.

UNI-DS6 – универсальная отладочная плата для изучения микроконтроллеров PIC, AVR, 8051, ARM, PSoCи dsPIC, идеальная для оборудования учебных классов и лабораторий. Хорошо методически проработанная плата включает универсальное посадочное место, в которое может быть установлена одна из плат специализации (mikroBoard).

Отладочная платформа mikroElektronika UNI-DS6

Плата оснащена большим количеством разнообразных устройств ввода и вывода информации и гибкой системой их коммутации с платой специализации. В качестве устройств ввода предусмотрены кнопки, подключаемые ко всем линиям портов микроконтроллеров, 12-разрядный АЦП, температурный датчик, накопитель MMC/SD. Для отображения данных на плате имеются светодиоды на всех линиях портов микроконтроллера, а также предусмотрены посадочные места со штыревыми разъемами для установки алфавитно-цифрового и графического ЖК дисплеев. Для двунаправленного обмена установлены два USB-UART моста.

Принципиальная схема отладочной платы доступна для скачивания в секции загрузок.

Схема подключения индикатора к микроконтроллеру показана на рисунке ниже. Выводы шины данных подключаются к порту D микроконтроллера, управляющие сигналы поступают с порта B.

Подключение графического индикатора к микроконтроллеру PIC

Программа микроконтроллера для инициализации индикатора написана в компиляторе mikroC Pro для микроконтроллеров PIC. Несмотря на то, что компилятор предоставляет готовую библиотеку функций для управления графическим индикатором, работу с которой мы рассмотрим в третьей части описания, мы попытаемся написать свой тестовый код для передачи данных от микроконтроллера в индикатор.

Тестовая программа выводит на индикатор 11 горизонтальных строк с точками с интервалами между ними в 6 линий. Исходный код доступен для скачивания в разделе загрузок. При разработке тестовой программы за основу была взята готовка библиотека Osama’s Lab GLCD library, модифицированная для применения в среде mikroC.

Рассмотрим основные функции в программе инициализации индикатора.

  • GLCD_ON(): функция включения индикатора. Функция реализует подачу команды 3Fh обоим контроллерам индикатора, следовательно, низкий уровень должен быть на входах /CS1 и /CS2, а также на входе RS, т.к. посылаемый байт это инструкция;
  • Set_Start_Line(): функция изменяет номер первой строки, которая будет отображаться вверху экрана. Вы можете установить любое значение из диапазона 0 – 63, функция не вносит каких-либо изменений в ОЗУ данных дисплея, а лишь сдвигает экран вверх или вниз;
  • GOTO_COL(): перемещает курсор в указанный столбец (0 – 127);
  • GOTO_ROW(): перемещает курсор в указанный ряд или страницу (0 – 7);
  • GOTO_XY(): перемещает курсор в указанные координаты столбца и ряда;
  • GLCD_Write(): запись байта данных в текущую позицию;
  • GLCD_Read(): чтение байта данных с текущей позиции. Если вы посмотрите исходный код то увидите в этой функции две операции чтения. Первая операция чтения вызывает перемещение данных из ОЗУ дисплея в выходной регистр контроллера KS0108B, а при следующей операции чтения микроконтроллер получает актуальные данные из регистра;
  • GLCD_Clrln(): функция очищает указанную страницу;
  • GLCD_CLR(): полностью очищает дисплей;
  • Draw_Point(): функция прорисовки точки в указанной позиции.

Загрузки

Исходный текст тестовой программы микроконтроллера и файл прошивки - скачать
Принципиальная схема отладочной платы UNI-DS6 - скачать

Часть 3 - Использование встроенной библиотеки в среде mikroC Pro для управления графическим индикатором

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Interfacing a KS0108 based Graphics LCD. Part 2 - Schematic, Firmware for the PIC microcontroller to initialize the GLCD

ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя