Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная работа 6_GLCD.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
737.79 Кб
Скачать

Использование готовых библиотек для работы с текстовым 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.

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

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

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

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

  1. Изучить и разобраться в теоретической части лабораторной работы. Представить в отчет основные положения.

  2. На основе примеров функций и файлов библиотеки создать программу, выполняющую заданную вариантом функцию

  3. Запустить и отладить программу в Proteus и на средствах стенда. Убедиться в корректности работы программ. При необходимости провести коммутацию портов МК в соответствии с требованиями программы.

  4. Оформить отчет.