Подключение графических дисплеев 122х32 на основе кристалла SED1520

 к микроконтроллерам AVR

 

         В представленной ниже статье представлен вариант подключения графических дисплеев (в том числе производства российской фирмы МЭЛТ) к микроконтроллерам Atmel AVR. Схема подключения представлена на рис.1

 

 

Рис.1. Схема подключения дисплея

 

            В качестве управляющего МК (микроконтроллера) может быть применен любой МК AVR, имеющий один свободный 8-и разрядный порт для шины данных между МК и ЖКИ(графическим дисплеем) и пять свободных линий портов для формирования линий управления ЖКИ. Схема подразумевает как запись данных в ЖКИ, так и чтение данных из ЖКИ в МК.

            На инверторе DD2:2 собран дешифратор выборки кристалла ЖКИ. При лог.0 на выводе ADC4/PA4 выбирается левая половина дисплея ЖКИ, при лог.1 – правая. Если в Вашей схеме нет свободного инвертора, то возможно применить инвертор на транзисторе, или вообще отказаться от инвертора, задействовав для CS2 свободную линию ввода-вывода МК.

            На инверторе DD2:1, диодах VD1, VD2 и конденсаторах С3, С6 собран преобразователь отрицательного напряжения, для питания драйвера ЖКИ. Схема тактируется от вывода сравнения внутреннего счетчика МК –  ТС2 , который так же вырабатывает тактовые импульсы для ЖКИ. Записывая в регистр совпадения счетчика произвольное число, можно менять длительность положительного  импульса тактового сигнала. Тем самым изменяется напряжение на конденсаторе С6, что приводит к изменению контрастности дисплея ЖКИ.

            Если драйвер ЖКИ питается от внешнего источника, то данную схему можно исключить.

            Если ЖКИ имеет встроенную схему тактирования, а в качестве регулятора контрастности Вы хотите использовать данную схему, то можно исключить инвертор DD2:1.

           

Автором был написан драйвер ЖКИ на языке С, который может выполнять следующие функции:

1.      Начальная инициализация дисплея;              

2.      Очистка произвольной области экрана;

3.      Закраска произвольной области экрана;

4.      Инвертирование произвольной области экрана;

5.      Вывод картинки в произвольную область экрана;

6.      Скроллинг произвольной области экрана (вверх, вниз, влево, вправо) с очисткой(закраской) освобождающейся области;

7.      Скроллинг произвольной области экрана (вверх, вниз, влево, вправо) с заполнением рисунком освобождающейся области;

8.      Циклический скроллинг произвольной области экрана (вверх, вниз, влево, вправо);

9.      Вывод текста в произвольную область экрана;

10.  Эффект бегущей строки в произвольной области экрана;

11.  Рисование линий по алгоритму Брезенхема;

12.  Закраска (очистка) пикселя в произвольном месте экрана.

 

Драйвер может быть адаптирован под любое сочетание управляющих линий и порта данных для ЖКИ, так как все линии определены через директивы #define.  Размер занимаемой памяти программ драйвера – чуть менее 2,8 килобайт (не слов!!!), необходимый размер оперативной памяти МК – 600 байт. Т.е драйвер можно применять в МК со встроенной SRAM не менее 1024 байт. Возможно и применение в МК с меньшим объемом памяти. При работе функций 1 – 4, 10 – 11, драйвер практически не использует SRAM, за исключением нескольких глобальных переменных для своей работы. В остальных функциях драйвер использует статический буфер для чтения данных из ЖКИ, размер буфера зависит от области, с которой работает основная программа и его не сложно подсчитать самому. Буфер используется только на время отработки функций драйвера, в остальное время работы МК буфер может быть использован под нужды основной программы.

Некоторые данные по скорости работы (для частоты 16 МГц):

 

1.      Очистка всего экрана – 1,7 мс;

2.      Закраска всего экрана – 1,86 мс;

3.      Инвертирование всего экрана – 1,89 мс

4.      Скроллинг всего экрана по горизонтали на один шаг – 2,68 мс (шаг – произвольное количество пикселей);

5.      Скроллинг всего экрана по вертикали на один шаг – 3,92 мс;

6.      Рисование линии от верхнего левого угла до правого нижнего – 1,8 мс.

 

Драйвер написан на компиляторe IAR Embedded Workbench for AVR v.4.10B, при этом его можно настроить под вариант, где константы (таблицы знакогенераторов, рисунки и т.п.) будут хранятся в памяти программ AVR, или вариант где константы хранятся во внешнем SPI EEPROM типа 25ххх, стандартно подключенным через SPI интерфейс AVR.

 

Файлы для скачивания:

 

Схема на рис.1 в формате PCAD2001

Даташит на SED1520(eng)

Даташит на SED1520(html.rus)

Драйвер ЖКИ для МК Atmel AVR

Драйвер ЖКИ для МК Atmel AVR: бесплатный, включает полный хедер и функции для записи-чтения данных-команд в ЖКИ

 

Архив с драйвером запаролен. Архив выложен только для того, что бы Вы могли убедиться что скачиваете не кота в мешке. Для получения пароля пишите на мыло. Пароль стоит 100WMR в валюте Web Money.

 

Главная         

Написать мне

           

           



Используются технологии uCoz