Графический LCD дисплей 128x64
На рис. . представлен внешний вид и электрическая схема подключения графического экрана. Установлен регулятор контрастности подсветки R6. Имеется возможность отключения подсветки посредством переключателя SW10.7. Шина данных подключена к порту С контроллера, а управление осуществляется через группу выводов порта D.

Меры безопасности
Включение и выключение стенда проводить, строго в соответствии с указаниями в лабораторной работе №1.
Изменение аппаратной конфигурации (переключателей) проводить строго при выключенном питании платы.
Не допускать замыкания открытых цепей платы внешними предметами.
Без необходимости не менять положение «джамперов» устройства.
Задание. Методика выполнения задания
- Изучить и разобраться в теоретической части лабораторной работы. Представить в отчет основные положения.
 - На основе примеров функций и файлов библиотеки создать программу, выполняющую заданную вариантом функцию
 - Запустить и отладить программу в Proteus и на средствах стенда. Убедиться в корректности работы программ. При необходимости провести коммутацию портов МК в соответствии с требованиями программы.
 - Оформить отчет.
 
Требование к содержанию и оформлению отчета
Отчет должен быть оформлен в соответствие с требованиями кафедры и включать в себя необходимые описания, листинги программ и скриншоты экранов по каждому пункту задания (конкретизировано в указаниях по выполнению каждого пункта). В конце работы должны быть сделаны общие выводы.
Варианты заданий.
| № варианта | Действие GLCD при нажатии кнопки | Примечание | 
|    |   Управление квадратом размером 4х4 с помощью кнопок влево, вправо, вверх, вниз. | |
|    |   Периодическая смена графического изображения (bmp файлов) | 2-3 произвольных изображения | 
|    |   «бегущий» снизу вверх текст | Любой шрифт | 
|    |   «Летающие» шарики | 2 шарика | 
|    |   Отображение значения кода АЦП в виде столбиковой диаграммы | |
|    |   Отображение значения кода АЦП в виде аналогового (стрелочного) спидометра | |
|    |   Анимация (наподобие GIF файла) | |
|    |   Реализация примера собственного шрифта увеличенного размера | |
|    |   Определение минимальных и максимальных задержек, допустимых при отработке временных диаграмм обращения к GLCD | 
Контрольные вопросы
- Принцип работы графических LCD дисплеев?
 - Сколько видеопамяти используется в дисплее 128х64?
 - Сколько контроллеров KS0108 используется в GLCD 128х64 и почему?
 - Какой интерфейс взаимодействия используется в GLCD 128х64?
 - Как организована видеопамять дисплея?
 - Как вычислить координаты байта и бита для установки или сброса точки экрана?
 - Назовите основные команды контроллера GLCD.
 - Имеется ли в контроллере GLCD специальная команда сдвига экрана? В чем особенность ее выполнения?
 - Поясните способ обращения управляющего контроллера к GLCD при выполнении операций чтения/записи.
 - Можно ли писать и читать данные одновременно в (из) несколько контроллеров KS0108 одного дисплея?
 - Для чего используются сигналы CS в GLCD 128х64?
 - Как настраивается библиотека GLCD, используемая в ходе выполнения работы?
 - Перечислите возможности использованной графической библиотеки.
 - Как в библиотеке реализовано формирование временных диаграмм обращения к GLCD?
 - Поясните назначение функций и алгоритм функционирования в шаблоне программы (из теоретического материала)
 - Объясните назначение и способ работы (по коду) следующих функций библиотеки GLCD:
 - void LCD12864_Com(unsigned char cmd);
 - void LCD12864_Data(unsigned char data);
 - void LCD12864_Clr();
 - void LCD12864_GotoXY(unsigned char x, unsigned char y);
 - void LCD12864_Init();
 - void LCD12864_Point(unsigned char x, unsigned char y);
 - int LCD12864_abs(int x);
 - void LCD12864_Line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2);
 - void LCD12864_Rect(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2);
 - void LCD12864_Ellipse(unsigned char x0, unsigned char y0, unsigned char radius);
 - void LCD12864_Char(unsigned char x0, unsigned char y0, unsigned char code);
 - void LCD12864_String(unsigned char x0,unsigned char y0,char* buffer, unsigned char count);
 
Литература.