Библиотека предназначена для подключения символьных ЖК индикаторов на контроллере HD44780 к микроконтроллерам с использованием 4-х битной шины данных. Основное отличие от подобных программных модулей заключается в том, что Flex LCD позволяет использовать пины и порты в совершенно произвольном порядке. Код полностью написан на языке Си под компилятор CVAVR и поэтому может быть портирован под другие компиляторы с минимальными доработками. Назначение пинов портов производится в самом начале через дефайны(#define). Один из пользователей библиотеки добавил перекодировку русских символов в таблицу кодов ЖКИ. Благодаря этому в компиляторе можно сразу писать русскими буквами. Пользовательские функции по названию совместимы со встроенной библиотекой CodeVision(та которая подключается файлом lcd.h).
Установка параметров ЖКИ:
#define lcd_max_x 16//количество символов в строке
#define lcd_max_y 2 //количество строк
Т.е. в данном случае по умолчанию используется ЖКИ 16х2.
Описание пользовательских функций(API):
void lcd_init(void)
Запускает процедуру инициализации ЖКИ и устанавливает
4-битный режим обмена. Обычно вызывается один раз при загрузке контроллера.
void lcd_clear(void)
Очистка ЖКИ. В отличие от библиотеки CV не осуществляет
сброс на нулевую позицию(0,0) печати. Поэтому для идентичности результата
после нее следует вызывать lcd_gotoxy(0,0).
void lcd_gotoxy(unsigned char x, unsigned char y)
Переводит курсор на новую позицию x,y. x=символов в строке,
y=число строк. Счет начинается с нуля.
void lcd_putchar(char chr)
Печатает символ с заданной позиции. После печати позиция
следующего символа автоматически сдвигается вправо, либо осуществляется
переход на начало новой строки если текущая строка заполнена.
void lcd_puts(char *str)
Выводит строку из SRAM начиная с текщей позиции.
void lcd_putsf(char flash *str)
Выводит строку из FLASH с текущей позиции.
void define_char(flash unsigned char *pc, unsigned
char char_code)
Назначает новые пользовательские символы. Осуществляет
копирование изображения нового символа из FLASH контроллера(указатель на
массив *pc) в RAM ЖКИ и назначает ему код char_code. Ввиду
особенностей контроллера ЖКИ 44780 переназначены могут быть только первые
восемь символов(адреса 0...7). В результате этой операции позиция курсора
изменяется, поэтому после переназначения всех символов следует вызвать
функцию lcd_gotoxy(0,0).
Скачать:
Библиотека flex_lcd.c
Пример использования