
- •Лабораторная № 6 «Организация взаимодействия с пользователем. Подключение графического lcd дисплея».
- •Введение
- •Цель работы
- •Теоретическая часть.
- •Структура графического lcd экрана с контроллером ks0108
- •Интерфейс с мпс. Назначение выводов.
- •Использование готовых библиотек для работы с текстовым lcd дисплеем.
- •Требование к содержанию и оформлению отчета
- •Варианты заданий.
- •Контрольные вопросы
- •Литература.
Использование готовых библиотек для работы с текстовым lcd дисплеем.
Конечно, изучив принцип работы таких дисплеев, можно самостоятельно создать и использовать библиотеку функций. Однако имеется большое количество готовых открытых библиотек, использование которых позволит значительно сократить время разработки программ для GLCD.
В частности рассмотрим подключение и использование библиотеки [3] . Библиотека включает в себя всего 3 файла «lcd12864.c», «lcd12864.h» и «chars.h». Причем вся документация находится в комментариях к текстам функций.
В общем, для базовой настройки библиотеки под используемую плату в большинстве случаев достаточно только указать тип используемого процессора в настройках проекта, тактовую частоту и порты для связи с контроллером GLCD.
Ниже приведен текст заголовочного файла «lcd12864.h»:
/*
Библиотека ЖКИ с управляющим контроллером KS0108
Проверена на WG12864C
File: lcd12864.h
http://samou4ka.net
*/
#include <util/delay.h>
#include <avr/io.h>
#define LCD_PORT PORTC
#define LCD_DDR DDRC
#define LCD_PIN PINC
#define CMD_PORT PORTD
#define CMD_DDR DDRD
#define DI 4
#define RW 5
#define E 6
#define CS1 2
#define CS2 3
#define RST 7
#define CS 0 //0 или 1 - в зависимости от уровня которым включается контроллер
#define MODE 0 // 0 - белый фон и черная графика, 1 - черный фон и белая графика
//Посылка команды ЖКИ
void LCD12864_Com(unsigned char cmd);
//Посылка данных ЖКИ
void LCD12864_Data(unsigned char data);
//Очистка экрана
void LCD12864_Clr();
//Установка координат, x - строка(0..8), y - столбец(0..127)
void LCD12864_GotoXY(unsigned char x, unsigned char y);
//Инициализация ЖКИ
void LCD12864_Init();
//Рисование точки на экране, x - координата х (0..63), y - координата y (0..127)
void LCD12864_Point(unsigned char x, unsigned char y);
//Возвращает абсолютное значение числа
int LCD12864_abs(int x);
//Возвращает знак числа
int LCD12864_sign(int x);
//Рисование линии, используется алгоритм Брэзенхема
//x1,y1 - координаты начальной точки (x1 - 0..64, y1 - 0..127), x2,y2 - координаты конечной точки
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);
//Рисование круга - x0, y0 - координаты центра, r - радиус круга
void LCD12864_Ellipse(unsigned char x0, unsigned char y0, unsigned char radius);
//x0 - строка(0..8), y0 - столбец(0..127), code - символ
void LCD12864_Char(unsigned char x0, unsigned char y0, unsigned char code);
//Функция выводит строку на экран
//x0 - строка(0..8), y0 - столбец, buffer - текст, count - длина текста
void LCD12864_String(unsigned char x0,unsigned char y0,char* buffer, unsigned char count);
Библиотека подключается к проекту как обычный файл программы.
Примеры использования функций библиотеки приведены в файле «wg12864.c»
Описание лабораторного оборудования
Графический LCD дисплей 128x64.
На рис. . представлен внешний вид и электрическая схема подключения графического экрана. Установлен регулятор контрастности подсветки R6. Имеется возможность отключения подсветки посредством переключателя SW10.7. Шина данных подключена к порту С контроллера, а управление осуществляется через группу выводов порта D.
Меры безопасности
Включение и выключение стенда проводить, строго в соответствии с указаниями в лабораторной работе №1.
Изменение аппаратной конфигурации (переключателей) проводить строго при выключенном питании платы.
Не допускать замыкания открытых цепей платы внешними предметами.
Без необходимости не менять положение «джамперов» устройства.
Задание. Методика выполнения задания
Изучить и разобраться в теоретической части лабораторной работы. Представить в отчет основные положения.
На основе примеров функций и файлов библиотеки создать программу, выполняющую заданную вариантом функцию
Запустить и отладить программу в Proteus и на средствах стенда. Убедиться в корректности работы программ. При необходимости провести коммутацию портов МК в соответствии с требованиями программы.
Оформить отчет.