Подключение дисплея к МК уже рассматривалось здесь. Данная библиотека позволит использовать его с МК фирмы Atmel в среде BASCOM-AVR. Поддерживаются все стандартные команды BASCOM для работы с графическими дисплеями.
Подходит для моделей:
Nokia 100, 101, 112, 113, 1661, 1662, 1800, 5030с, С1-00, С1-01, С1-02, С1-03, С2-00, X1-01 и других. Внешний вид дисплея:
Разъем 12-контактный, гибкий, удобнопаяемый. Схема подключения:
Напряжение подсветки для разных моделей может варьироваться от 3 до 7 Вольт. Будьте осторожны.
Контроллер дисплея совместим с SPFD54124B. Аналогичный установлен в моделях:
Nokia 2865cdma, 5070, 5200, 6060, 6061, 6070, 6080, 6085, 6086, 6101, 6102, 6103, 6125, 6136, 6151, 7360.
Разъем на них другой, DF23-22-пин. Их так же можно использовать с данной библиотекой, подключив по следующей схеме:
Питание и управляющие сигналы должны быть в диапазоне 2,8...3,3 Вольт.
В среде BASCOM подключаем библиотеку, выбираем режим цветного дисплея, устанавливаем порты подключения и инициализируем:
$lib "glcd-Nokia1616.lbx" Config Graphlcd = Color , Controlport = Portd , Cs = 1 , Rs = 0 , Scl = 7 , Sda = 4
Initlcd
Вот, собственно и вся настройка дисплея, уже можно с ним работать. Библиотека эмулирует режим 8-битного цвета - другие варианты BASCOM напрямую не поддерживает. Можно назначить наиболее употребимые цвета в удобочитаемом виде:
Const Blue = &B00000011 Const Yellow = &B11111100 Const Red = &B11100000 Const Green = &B00011100 Const Black = &B00000000 Const White = &B11111111 Const Brightgreen = &B00111110 Const Darkgreen = &B00010100 Const Darkred = &B10100000 Const Darkblue = &B00000010 Const Brightblue = &B00011111 Const Orange = &B11111000 Const Violet = &B11100011
Дисплей имеет разрешение 128*160. В командах Bascom нумерация идет от 0 (0...127, 0...159), кроме Lcdat - здесь принята нумерация от 1, кроме того, первый параметр здесь Y, второй - X, в отличие от остальных. Поддерживаемые команды:
Cls - очистка дисплея (заливка черным цветом)
Boxfill(X1,Y1)-(X2,Y1),Color - заливка прямоугольной области заданным цветом
Box(X1,Y1)-(X2,Y1),Color - прямоугольная рамка
Line(X1,Y1)-(X2,Y1),Color - линия
Circle(X, Y) , Radius , Color - круг
Pset X , Y , Color - точка
Lcdat Y , X , Text, Forecolor, Backcolor - вывод текста Showpic X , Y , Label - вывод картинки в формате BGC
Шрифт для вывода должен быть "цветной" (при создании шрифта штатной утилитой нужно выставить соответствующую галочку). Его необходимо подключить к программе директивой:
$include "font6x8.font"
По умолчанию дисплей имеет расположение "портрет", выводами вверх. Можно изменить ориентацию, подав следующие команды:
Glcdcmd 54 : Glcddata 200 - "портрет" выводами вниз Glcdcmd 54 : Glcddata 104 - "ланшафт" выводами влево Glcdcmd 54 : Glcddata 168 - "ланшафт" выводами вправо
В архиве сама библиотека и тестовый пример. Библиотеку необходимо поместить в каталог "LIB" программы BASCOM.
=========================================================================================================
Добавлена новая версия библиотеки . Улучшена передача цвета, исправлена утечка стека.
Добавлен вариант библиотеки glcd-Nokia1616ap.LBX, в которой выходы могут принадлежать любым портам. Обозначения выходов здесь немного отличаются, см. прилагаемый пример.
- Sources.zip (10 Кб)
- Version-2.zip (121 Кб)
Комментарии (27) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
P.S. Питание 3.3В, внутренний генератор на 8МГц, реально ли на таком напряжении ставить кварц на 16 или даже на 20? Читал что при 5В мега 32 на 20МГц нормально работает...
[Автор]
2) Дописать кириллицу можно стандартной утилитой BASCOM - Инструменты / Плагины / Font Editor.
3) При питании 3,3В практически все экземпляры стабильно работают на 12МГц. Большинство Atmega32A запускаются на 16МГц, но не все - как повезет. При 5В работают и даже и от 24МГц.
Библиотека не очень быстрая из-за последовательного интерфейса и необходимости постоянной конвертации однобайтного цвета в двухбайтный. Поэтому лучше использовать 5В питание, высокочастотный кварц и делители напряжения до 3,3В на выходах.
К концу недели планирую выложить вторую версию библиотеки - выявил утечку стека (проявляется минут через 5 работы). Кроме того будет улучшена обработка цвета и добавлена возможность назначать выходы из разных портов.
[Автор]
[Автор]
[Автор]
Эх... Жаль не нашел модели для протеуса этого дисплея... будет не просто.
[Автор]
Версия из статьи не работает с ладшафтным экраном (сбоку полоса разноцветного шума). С исправленной библиотекой не запустился - белый экран и всё. Как бы можно это исправить?
Виноват, библиотека работает, но только с портами из примера. Если ставлю свои - уже не работает.
Например
Config Scl = Portb.0
А то пытаюсь скачать этот bascom avr, только демо версия на 4 кб кода
Где можно раздобыть русский шрифт 8х8 и 16х16?