Карта сайта | Пишите нам | В избранное | eng
Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91; +7(909) 638-88-00 и +7(903) 530-10-01 (Билайн). |
Микроэлектронные проекты. Фролов Дмитрий. КОНТРОЛЛЕР ГРАФИЧЕСКОГО ЖКИ WG32240В настоящее время промышленностью выпускается большое количество графических ЖКИ. Существуют как модели со встроенным контроллером, так и без него. В данной статье речь пойдёт о ЖКИ производства фирмы WinStar со встроенным контроллером SED1335 фирмы Epson.Встроенный контроллер ЖКИ берёт на себя всю черновую работу по выводу изображения на экран. Однако само изображение должно формироваться центральным контроллером (ЦК) системы. При этом для создания красивого пользовательского интерфейса приходится реализовывать довольно ресурсоёмкие алгоритмы рисования линий, окружностей, вывода точек, текста и т.п. Контроллер, о котором идёт речь в данной статье, является посредником между ЦК и SED1335. Он принимает команды по интерфейсу SPI и уже самостоятельно формирует необходимые изображения на экране. Таким образом, он работает наподобие видеокарты персонального компьютера. Контроллер собран на базе микроконтроллера PIC18F2520 фирмы Microchip. Схема контроллера приведена в файле scheme.gif. На данный момент он может выполнять следующие команды:
Следует отметить, что координаты вывода текста задаются в строках и столбцах и нумеруются с единицы. При этом для текстовых строк шрифтом 8x8 количество столбцов составляет 40, количество строк - 30, для шрифта 16x16 соответственно 20 и 15. Шрифты могут выводиться как в обычном, так и в полужирном и подчёркнутом начертании. Для этого первый символ текстовой строки должен быть: & - для полужирного начертания; ^ - для подчёркнутого начертания; @ - для полужирного и подчёркнутого. Ниже приведены примеры использования графических команд для микроконтроллера PIC18F4620 и компилятора Hi-Tech C18 9.50PL3. 1. Печать текстовой строки шрифтом 8x8 (последним параметром задаётся инверсия изображения): PrintLCD8(2,2,"Test string…",0); 2. Рисование линии: Line(0,0,200,140); 3. Вывод картинки из внешней микросхемы I2C памяти (изображение должно быть двухцветное и разложенное по строкам): void DrawImage (void) { unsigned i; char j, buf [160]; SetActivePage(1); SetVideoAddr(0x3000); StartWrite(); StartReadI2C(0xA0,0); for (j = 60; j > 0; j--) { for (i = 0; i < 160; i++) buf [i] = GetI2C(ACK); WriteData(160,buf); } GetI2C(NACK); StopI2C(); SetActivePage(0); } Функции для формирования необходимых команд приведены в файле gaf.c. Реализация аппаратного SPI находится в файле spi.c. Данные файлы несложно приспособить и для других семейств микроконтроллеров. Следует отметить, что скорость передачи данных по SPI не должна превышать 5 МБит. Бесплатно доступна прошивка (PIC18F2520test.hex), в которой реализованы только команды записи в видеопамять, рисования линий и окружностей и вывода текста шрифтом 8x8. При этом все графические примитивы могут располагаться только в левой верхней четверти экрана, а длина текстовой строки ограничена 10 символами. В контроллер встроены следующие таблицы знакогенераторов: Шрифт 8x8 Шрифт 16x16
Файлы проекта: cхема контроллера - sheme.gif, прошивка - PIC18F2520test.hex, схема и чертёж печатной платы - scheme.pcb и pcb.pcb. Автор проекта: Фролов Д.А., г. Рязань. E-Mail: d.frolov@inbox.ru |
Правила оформления проектов
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
| |||||||