Графическая библиотека для LCD драйвера UC1601s

Views: 3025


Графическая библиотека для LCD драйвера UC1601s v-2.0.1.

Автор Гена Чернов.

Библиотека ориентирована на LCD индикаторы выпускаемые компанией ООО “Гамма” RDX0032, RDX0048, RDX0077, RDX0120, RDX0154. Протестирована с индикаторами RDX0077, RDX0120, RDX0154 (что были в наличии).

lcd1b lcd2


Обновление в версии 2.0.1.

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

 



  • RDX0048

    RDX0048
    RDX0048, разрешение 128х32, размеры – дисплей 6х24мм, габариты 29х17мм (RGB – красная подсветка)
  • RDX0154

    RDX0154
    RDX0154, разрешение 132х64, размеры – дисплей 51,44х27,48мм, габариты 65х47мм
  • RDX0120

    RDX0120
    RDX0120, разрешение 64х32, размеры – дисплей 36,44х19,48, габариты 45х36мм
  • RDX0077

    RDX0077
    RDX0077, разрешение 128,64, размеры – дисплей 58х32,6, габариты 72,5х47мм
  • RDX0048

    RDX0048
    RDX0048, разрешение 128х32, размеры – дисплей 6х24мм, габариты 29х17мм (RGB – красная подсветка)
  • RDX0032

    RDX0032
    RDX0032, разрешение 128х32, размеры – дисплей 72,92х19,16мм, габариты 82х33,7мм
  • RDX0048

    RDX0048
    RDX0048, разрешение 128х32, размеры – дисплей 6х24мм, габариты 29х17мм (RGB – красная подсветка)



Дата шиты:

RDX0048-GCRDX0032-GCRDX0077-GSRDX0120-GC,  RDX0154-GC

Подсветка к индикаторам в скобках  тип индикатора:

TB1055S(048)CU173A-01(032)TB1016S(077)RTB1084-03(120)RTB01025(154)


Подключение индикаторов.

Выполнено на основании даташитов, расположение выводов на схеме аналогично, как на корпусе индикатора.

UC1601_01

Емкости для преобразователя, вывод VLCD – 0.33 uF, VB0+/VB0-/VB1+/VB1- – 2.2 uF,  “керамика” на 25 вольт.


Габаритные размеры.

RDX0120 ——————————————————————————————————————————————–

UC1601_02

RDX0154 ——————————————————————————————————————————————–

 UC1601_03 UC1601_04

RDX0077 ——————————————————————————————————————————————–

 UC1601_05

 

UC1601_06


Функции библиотеки.

Выбор дисплея в файле 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 3411 downloads

Графическая библиотека для LCD драйвера UC1601s -...
Русское (свободный перевод v1.0):
Значок

Графическая библиотека для LCD драйвера UC1601s - Русское (свободный перевод v1.0) 540.77 KB 3761 downloads

Графическая библиотека для LCD драйвера UC1601s -...
Русское (свободный перевод v1.2 дополненное): 
Значок

Графическая библиотека для LCD драйвера UC1601s - Русское (свободный перевод v1.2 дополненное) 695.88 KB 3917 downloads

Графическая библиотека для LCD драйвера UC1601s -...
Библиотека + демо-программа. 
Значок

Графическая библиотека для LCD драйвера UC1601s - Библиотека + демо-программа. 23.58 KB 1658 downloads

Графическая библиотека для LCD драйвера UC1601s -...

обновление для XC16 http://catcatcat.d-lan.dp.ua/skachat/biblioteki/graficheskaya-biblioteka-dlya-drayvera-uc1601s-mplab-xc16/



Это может быть интересно


  • VU Meter Tower ARTVU Meter Tower ART
    Views: 1759 Стерео индикатор уровня аудио сигнала. Компактность и удобство проектирования устройств на светодиодах WS2812B, а также легкость реализации алгоритма родило идею созданию своей конструкции. В этом проекте я предоставлю …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Views: 2464 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Views: 1503 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …
  • Toyota Auto Fader – Модуль включения усилителяToyota Auto Fader – Модуль включения усилителя
    Views: 2120 Toyota Auto Fader – Модуль включения усилителя. Часто автолюбители прибегают к замене штатного головного устройства на универсальное мультимедийное, в котором значительно расширены функциональные возможности. Если возникает желание оставить …
  • APA102 – светодиоды со встроенным драйвером и SPI интерфейсомAPA102 – светодиоды со встроенным драйвером и SPI интерфейсом
    Views: 3599 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
  • Инфракрасный датчик движения, PIR-sensorИнфракрасный датчик движения, PIR-sensor
    Views: 3318 Домашняя автоматика предполагает наличие датчиков движения, которые способны контролировать движения человека. Самым простым и доступным устройством позволяющие контролировать изменения ИК-излучения, это ПИР-сенсоры. На текущий момент доступны не дорогие модели D203B, D204B, D205B. Все …
  • Electronic Speed ​​Controller for FPV droneElectronic Speed ​​Controller for FPV drone
    Views: 42 Другий проект цієї серії, це контролер швидкості або контролер управління BLCD мотором. Для аналізу було вибрано плату SpeedyBee BLS 55A 4-in-1 ESC із комплекту SpeedyBee F405 V4 BLS …
  • Arduino LCD + STONE STVI056WT-01 + Strain gaugeArduino LCD + STONE STVI056WT-01 + Strain gauge
    Views: 686 Author li grey email: greyli1987@outlook.com The strain assessment instrument is used to assess the degree of corresponding muscle strain by obtaining the muscle surface action potential through silver …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0
    Views: 298 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0   Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …
  • USB K-L-line адаптерUSB K-L-line адаптер
    Views: 4775 USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели …



Поделись этим!