С НОВЫМ ГОДОМ дорогие читатели! В новом году хочу начать со статьи в которой приведу библиотеку для работы с OLED дисплеем SSD1306 для CodeVisionAVR.
Давно хотел написать статью и выложить библиотеку, но все никак руки не доходили да и библиотеку хотелось «допилить», но как известно предела фантазий нет, поэтому выложу что уже есть). Библиотека довольна сырая, собрана из разных примеров по ардуине и портирована в среду CVAVR, но думаю, хорошему программисту не составит труда «допилить» её под себя.
Схема включения дисплея по интерфейсу I2C.
Мне в руки попал дисплей с интерфейсом I2C — очень удобный, для подключения надо всего лишь пару проводов.
Даташит на данный контроллер можно скачать здесь OLED SSD1306.
В библиотеке реализованы 3 размера шрифта , русский и английский языки. Также добавлены очень крупные цифры, точка, двоеточие и знак градусов.
Примеры можно видеть на фото:
На фото ниже показан режим инвертирования дисплея.
Функции реализованные в библиотеке.
void LCD_init(void); //начальная инициализация дисплея void LCD_Commmand(unsigned char ControByte, unsigned char DataByte); //команды дисплею или данные void LCD_Goto(unsigned char x, unsigned char y); //установить координаты void LCD_Goto2X(unsigned char x, unsigned char y); //установить координаты умноженые на 2 void LCD_Clear(void); //очистка всего дисплея void LCD_Contrast(char set_contrast); //настройка контраста от 0 до 255 void LCD_BigNum(unsigned char num); //вывод больших цифр void LCD_Char(unsigned int c); //вывод символа void LCD_CharBig(unsigned int c); // вывод крупных символов void LCD_Printf(unsigned char* buf, unsigned char size); //печатает строку с размерами - 0 самый мелкий 2 - увеличиный - 3 самый большой(только для цифр) void LCD_DrawImage(unsigned char num_image); //выводит картинку из флеш void LCD_Bat(unsigned char y,unsigned char x, unsigned char z); //рисует батарейку по координатам z - от 0 до 10 делений void LCD_Mode(char set_mode); //1 - inverted / 0 - normal void LCD_Sleep(char set); //1 - on sleep / 0 - off sleep
Ну пока все, не люблю долго сопли развозить и пичкать вас нудным текстом не стоит.))
Собственно библиотека прокоментирована, так что вопросов возникнуть не должно.
В архиве так же есть пример использования.
Скачать библиотеку для работы с OLED дисплеем SSD1306 для CodeVisionAVR Скачали 8750 раз
А фьюзы какие выставлять?
ссылка битая
Сыылка на архив битая
И в ардуине тоже не работает 🙁
Почему Протеус пишет No model specified for LCD1. [LCD1]