Графический LCD дисплей 128x64

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

Графический LCD дисплей 128x64 - student2.ru

Меры безопасности

Включение и выключение стенда проводить, строго в соответствии с указаниями в лабораторной работе №1.

Изменение аппаратной конфигурации (переключателей) проводить строго при выключенном питании платы.

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

Без необходимости не менять положение «джамперов» устройства.

Задание. Методика выполнения задания

  1. Изучить и разобраться в теоретической части лабораторной работы. Представить в отчет основные положения.
  2. На основе примеров функций и файлов библиотеки создать программу, выполняющую заданную вариантом функцию
  3. Запустить и отладить программу в Proteus и на средствах стенда. Убедиться в корректности работы программ. При необходимости провести коммутацию портов МК в соответствии с требованиями программы.
  4. Оформить отчет.

Требование к содержанию и оформлению отчета

Отчет должен быть оформлен в соответствие с требованиями кафедры и включать в себя необходимые описания, листинги программ и скриншоты экранов по каждому пункту задания (конкретизировано в указаниях по выполнению каждого пункта). В конце работы должны быть сделаны общие выводы.

Варианты заданий.

№ варианта Действие GLCD при нажатии кнопки Примечание
Управление квадратом размером 4х4 с помощью кнопок влево, вправо, вверх, вниз.  
Периодическая смена графического изображения (bmp файлов) 2-3 произвольных изображения
«бегущий» снизу вверх текст Любой шрифт
«Летающие» шарики 2 шарика
Отображение значения кода АЦП в виде столбиковой диаграммы  
Отображение значения кода АЦП в виде аналогового (стрелочного) спидометра  
Анимация (наподобие GIF файла)  
Реализация примера собственного шрифта увеличенного размера  
Определение минимальных и максимальных задержек, допустимых при отработке временных диаграмм обращения к GLCD  

Контрольные вопросы

  1. Принцип работы графических LCD дисплеев?
  2. Сколько видеопамяти используется в дисплее 128х64?
  3. Сколько контроллеров KS0108 используется в GLCD 128х64 и почему?
  4. Какой интерфейс взаимодействия используется в GLCD 128х64?
  5. Как организована видеопамять дисплея?
  6. Как вычислить координаты байта и бита для установки или сброса точки экрана?
  7. Назовите основные команды контроллера GLCD.
  8. Имеется ли в контроллере GLCD специальная команда сдвига экрана? В чем особенность ее выполнения?
  9. Поясните способ обращения управляющего контроллера к GLCD при выполнении операций чтения/записи.
  10. Можно ли писать и читать данные одновременно в (из) несколько контроллеров KS0108 одного дисплея?
  11. Для чего используются сигналы CS в GLCD 128х64?
  12. Как настраивается библиотека GLCD, используемая в ходе выполнения работы?
  13. Перечислите возможности использованной графической библиотеки.
  14. Как в библиотеке реализовано формирование временных диаграмм обращения к GLCD?
  15. Поясните назначение функций и алгоритм функционирования в шаблоне программы (из теоретического материала)
  16. Объясните назначение и способ работы (по коду) следующих функций библиотеки GLCD:
    1. void LCD12864_Com(unsigned char cmd);
    2. void LCD12864_Data(unsigned char data);
    3. void LCD12864_Clr();
    4. void LCD12864_GotoXY(unsigned char x, unsigned char y);
    5. void LCD12864_Init();
    6. void LCD12864_Point(unsigned char x, unsigned char y);
    7. int LCD12864_abs(int x);
    8. void LCD12864_Line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2);
    9. void LCD12864_Rect(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2);
    10. void LCD12864_Ellipse(unsigned char x0, unsigned char y0, unsigned char radius);
    11. void LCD12864_Char(unsigned char x0, unsigned char y0, unsigned char code);
    12. void LCD12864_String(unsigned char x0,unsigned char y0,char* buffer, unsigned char count);

Литература.

Наши рекомендации