Views: 2822
Графическая библиотека для LCD драйвера UC1601s v-2.0.1.
Автор Гена Чернов.
Библиотека ориентирована на LCD индикаторы выпускаемые компанией ООО “Гамма” RDX0032, RDX0048, RDX0077, RDX0120, RDX0154. Протестирована с индикаторами RDX0077, RDX0120, RDX0154 (что были в наличии).
Обновление в версии 2.0.1.
Изменена система координат, стала стандартной, начало координат нижний левый угол. Оптимизирована сама библиотека, выигрыш по памяти составил до 30%. До добавлены новые функции вывода символов и строк (старые сохранены). новые функции в 4 раза быстрее работают чем старые, но вывод символов возможен только по строкам индикатора. Возможно вывод символов четырех кратной высоты. Для уменьшения занимаемой памяти, при вызове функций, применены статические переменные которые задают параметры функции при вызове.
Дата шиты:
RDX0048-GC, RDX0032-GC, RDX0077-GS, RDX0120-GC, RDX0154-GC
Подсветка к индикаторам в скобках тип индикатора:
TB1055S(048), CU173A-01(032), TB1016S(077), RTB1084-03(120), RTB01025(154)
Подключение индикаторов.
Выполнено на основании даташитов, расположение выводов на схеме аналогично, как на корпусе индикатора.
Емкости для преобразователя, вывод VLCD – 0.33 uF, VB0+/VB0-/VB1+/VB1- – 2.2 uF, “керамика” на 25 вольт.
Габаритные размеры.
RDX0120 ——————————————————————————————————————————————–
RDX0154 ——————————————————————————————————————————————–
RDX0077 ——————————————————————————————————————————————–
Функции библиотеки.
Выбор дисплея в файле graphic.h. выбор дисплея, нужный раскоментировать
#define LCD154 // для работы с 154 индикатором
//#define LCD077
//#define LCD120 (для других дисплеев сделаем когда появятся в наличии)
Для работы с I2C
void I2C_Open (unsigned int FCLOCK);// инициализация, значение частоты шины в килогерцах (100, 300, 400)
void i2c_idle (void); // провекра на готовность I2C к работе
void i2c_stop (void); // формирование стоп
char i2c_start (char adres, char C_D, char R_W); // адрес устройства и управление младшими битами char i2c_restart (char adres, char C_D, char R_W);
char i2c_write (char data); //запись байта
char i2c_read_ack (void); //чтение с подтверждением
char i2c_read_noack (void); //чтение без подтверждения
Для работы с индикатором
void int_LCD (void); // инициализация
void clear_LCD (char tip); // очиска всего дисплея tip == 0 очистка, 1 черный, 2 серое 50%.
Установка курсора
void curcorG_LCD (char X,char Y); (для графических и символьных функций с возможностью вывода с любой точки экрана).
void curcorS_LCD (char X,char Y); (для символьных функций, значение Y-(1-8), в зависимости от типа дисплея. 0 и 1 вывод в самой нижней строке.)
Вывод символа или числа
вывод символа с любой точки экрана
void Symbol_LCD (char codv); вывод строк
void String_LCD(const char *str,char X,char Y); //X == -1 центрирование, (если вы задаете значение -1 выполняется автоматическое выравнивание строки по центру экрана, строки длиной больше ширины экрана по центру не выравниваются).
void Stringp_LCD(const char *str);
Вывод символа или числа
выводит символы с привязкой к строкам индикатора (увеличено быстродействие, “кушают” меньше памяти)
void SymbolS_LCD (char codv);
void StringS_LCD (const char *str,char X,char Y);
void StringpS_LCD(const char *str);
Примечание, для экономии памяти применять только функции SymbolS, StringS, StringpS
Бегущая строка
void ticker_LCD (const char *str,char start,char ends,char Y); //с ПЗУ
void tickerB_LCD (char dlinok,char start,char Y);// с озу Для работы с индикатором
Графические примитивы
void point (char tip, char X, char Y); рисование тоски, X, Y – координаты
void line(char x0, char y0, char x1, char y1); рисование линии, X0, Y0 – координаты начала, X1, Y1 – координаты конца.
void rectangle (char x0, char y0, char sh, char vs); рисование квадрата, X0, Y0 – координаты начала (нижний левый угол), sh – ширина, vs – высота.
void strip (char tipAngle,char tipLine,char tipzal, char x0, char y0, char sh, char vs, char vol); индикатор загрузки и т.п. tipAngle – тип углов, tipLine- тип линии контура, tipzal – тип заливки, X0, Y0 – координаты начала (нижний левый угол), sh – ширина, vs – высота, vol – значение индикатора.
Декларация массива
char ca[]; массив для расположения данных в озу контроллера.
Параметр для функции вывод символов/строк. Если при использовании функции необходим новый шрифт – измените параметр.
bit
tip, // тип выводимого 0-символ/1-число
inv; // инверсия символа 0-нормальный/1-инверсный
char
width, // ширина символа 0-1-нормальный/2-7 ширина
height; // высота символа 0-нормальный/1-двойная высота/>1-четырех кратная высота
char
tipAngle, // [тип углов, прямоугольник, бар] 0-прямые, 1-скругленные
tipLine, // [тип линии примитива]0-белая 1- сплошная, от 2 и более варианты
tipBor, // [толщина бордюра] 0- нет (заливка все равно будет делать 1 пиксел отступа), 1,2,3 толщина
tipzal; // [тип заливки]0-нет заливки,1-белая,2-черная, 3 и более варианты
Видео работы библиотеки, контроллер PIC16LF1936, индикатора RDX0154-GC.
Оригинальное описание:
Графическая библиотека для LCD драйвера UC1601s - Оригинальное описание 668.48 KB 3402 downloads
Графическая библиотека для LCD драйвера UC1601s -...Графическая библиотека для LCD драйвера UC1601s - Русское (свободный перевод v1.0) 540.77 KB 3753 downloads
Графическая библиотека для LCD драйвера UC1601s -...Графическая библиотека для LCD драйвера UC1601s - Русское (свободный перевод v1.2 дополненное) 695.88 KB 3908 downloads
Графическая библиотека для LCD драйвера UC1601s -...Графическая библиотека для LCD драйвера UC1601s - Библиотека + демо-программа. 23.58 KB 1647 downloads
Графическая библиотека для LCD драйвера UC1601s -...обновление для XC16 http://catcatcat.d-lan.dp.ua/skachat/biblioteki/graficheskaya-biblioteka-dlya-drayvera-uc1601s-mplab-xc16/
Это может быть интересно
- ESP8266 применение в проектахViews: 3567 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
- NeoPixel LED and PIC24Views: 646 Популярность однопроводной шины для управления светодиода типа WS2812 не ослабевает, а новые типы светодиодов в корпусах 3,5*3,5мм, 2,0*2,0мм становяться все больше привлекательными. Построение дисплеев для анимации требуют все …
- DIXELL XWEB500D-EVO + RUT900 или как пробить NAT-серверViews: 1012 Когда необходимо под какой нибудь контроллер имеющий вэб сервер в инет, то нужен статический IP, что оказалось проблемой при работе с операторами сотовых сетей, конкретно с оператором сети …
- Проект с использованием MCC часть 01Views: 2544 Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид …
- УКВ – радиоприем, часть 1Views: 9608 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
- Униполярный шаговый двигательViews: 2219 В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
- Простой цифровой милливольтметр постоянного токаViews: 4098 Простой цифровой вольтметр постоянного тока. Три диапазона измерений с автоматическим переключением 1 – 0,001 – 0,999 V, 2 – 0,01-9,99 V, 3 – 0,1-99,9. Четыре управляемых выхода с возможностью задания функции контроля …
- I2C MODULE – PIC18F25K42 Device ID Revision = A001Views: 1081 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
- Простой сенсорный регулятор светаViews: 2319 Простой сенсорный регулятор. Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня …
- Дисплей KD035C-3A подключение и управлениеViews: 711 Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение …