Авторизация


...

Кто на сайте?

Сейчас 98 гостей и ни одного зарегистрированного пользователя на сайте

Статистика

-Посетители : 26421
-Материалы : 210

Пользователь сайта продает...

  MB913 C-01

Пользователь сайта покупает...

Модуль для использования цветного дисплея от сотового телефона

Автор: Сергей Шакуров Просмотров: 15030

 

Чтобы использовать в своей конструкции миниатюрное цветной дисплей, совсем не нужны особо мощные процессоры или дорогостоящие дисплеи. Если нужен размер экрана порядка 2.5”, то можно применить дисплеи от телефона. Например, LS022-LS024 от телефонов NOKIA N76, N82, N73, 6303, 6500. Подойдет и самый большой дисплей от N95 (2.6”).

Все эти дисплеи оснащены котроллером, имеющим небольшой, но достаточно полный, набор команд. Даташит на контроллер дисплея MC2PA8201, который является аналогом LS022-LS024 прилагается. Правда, не все функции 100% работают, как описано.

Дисплей имеет разрешение 240х320 пикселей и цветовую гамму 24 бит. Стоимость от 200 рублей. Разъём со шлейфом стоит столько же. Оборванный шлейф в ремонте могут отдать бесплатно. Известную трудность представляет только его пайка и изготовление под него платы.

Дисплей имеет три напряжения питания: 1,8 В, 2,5 В и 12 В. Последнее подается  на подсветку через ограничивающий резистор. Ток подсветки примерно равен 20 мА. Распиновка разъёма N76 показана рис.1.

 

alt

 

Сам этот разъем выглядит так:


alt

 

Примеров работы с этим дисплеем в сети имеется достаточно много. Используя их, я разработал и собрал модуль как заготовку для создания своего графического интерфейса. Схема модуля приведена на рис.2.

 

alt

 

  Основой модуля является распространенный микроконтроллер PIC18F452. Программа для него написана на Си.

Для питания дисплея я применил два стабилизатора LM1117 на соответствующее напряжение. Номинальное напряжение на сигнальных линиях1,8 В.

При упрощённом подключении (через делитель на резисторах), которое я использовал для согласования уровней выходных сигналов МК и входных дисплея, невозможно чтение из памяти дисплея, но это и не понадобилось. Однако, при желании, можно применить более правильное согласование этих уровней.

Индуктивности в цепях питания, использованные в схеме телефона, думаю, можно проигнорировать, так как в телефоне применены импульсные преобразователи питания, а у меня линейные.

Достоинство рассматриваемого дисплея, как и его проблема, заключается в 24-битном цвете. То есть для вывода 1 пикселя надо передать 5 байт, что снижает скорость вывода и требует приличных объёмов для хранения изображений. Поэтому тактовую частоту процессора надо стараться выбирать как можно выше. Я использовал 40 МГц. При этом скорость рисования вполне устраивает, а скорость вывода картинки маловата. Как вариант, можно на время прорисовки больших заставок гасить экран.

Изображения, заставки, значки решил хранить на microSD-карточке. Небольшие сейчас мало где продаются, но стоят совсем копейки, объёма хватит с запасом, а удобство заключается в лёгкости редактирования отображаемых элементов прямо на компьютере в виде .bmp файлов. В последующем, карточку можно использовать также для записи, например, лога каких-нибудь событий.

В прилагаемой программе имеется библиотека необходимых графических функций (описанная в файле LS_driver.h):

1. вывод точки;

2. вывод символа;

3. вывод текста;

4. вывод байта значения;

5. рисование линии;

6. рисование прямоугольника (с заливкой или без нее);

7. рисование круга;

8. рисование окошка типа WINDOWS;

9. чтение из карточки и вывод рисунка  .BMP 24bit/pix

Детальные инструкции по функциям расписаны в файле LS_driver.h, и особо не требуют пояснений, за исключением 2-х моментов.

1. При выводе картинки следует придерживаться вертикальной ориентации экрана (сам файл картинки предварительно развернуть в редакторе)

2. При выводе файлов и рисовании картинок следует учитывать размеры экрана. Значения Х и Y меняются местами при изменении текущей ориентировки вывода с горизонтальной на вертикальную и наоборот, поэтому  проверка на превышение размеров не производится (не известен текущий максимум Х или Y)

Всё это, конечно, давно известно, но я попробовал собрать в кучу.

Получился более-менее универсальный модуль, который можно встроить в готовую или разрабатываемую конструкцию.

В интерфейсе карточки заблокированы необязательные, на мой взгляд, функции: работа с директориями, запись, поддержка FAT32, но их можно включить в любой момент.

В качестве примера приведено рисование вертикальной шкалы в зависимости от значения АЦП (см. заглавное фото). В верхней части экрана выведена картинка – заставка.

 

Проект в MPLAB и PROTEUS можно скачать

Ссылка для скачивания доступна только авторизованным пользователям сайта !

Случайные статьи....

Prev Next

Часы-термометр на термодатчике DS18B20 и RTC DS1302

11-06-2011 Sergey Roslik

Часы-термометр на термодатчике DS18B20 и RTC DS1302

Возможности прибора: 1) Измерение температуры на улице, в комнате и температуры тела (кол-во термодатчиков можно увеличить); 2) Отображение часов (блок RTC DS1302); 3) Управление и установка времени с пульта (пульт и датчик от старого CD ROM “Креатив”), можно приспособить и любой другой. 4)...

Программирование c нуля в AVRStudio 5 (ч.7)

07-04-2012 Радик

Программирование c нуля в AVRStudio 5 (ч.7)

Продолжим разбор теоретических основ, без которых невозможно полноценное создание программ.Основной синтаксис AVRASM совместим с AVRASM2 с исключениями, отмеченными ниже:- Ключевые слова.- Директивы препроцессора.- Комментарии.- Продолжения строк.- Строки и символьные константы.

Разлочка автонавигатора Prestigio GeoVision 5300.

16-12-2012 Алексей

Разлочка автонавигатора Prestigio GeoVision 5300.

Хочется надеяться что эта статья положит начало целому циклу статей по связке микроконтроллер-WinCE. В частности использовать портативное устройство для вывода различного рода информации, например, связать логический анализатор с WinCE. В свое время мной был куплен автонавигатор Prestigio GeoVision 5300. Естественно целью...

Программная реализация BAM (Binary Angle Modulation).

25-04-2013 Александр Беглецов

Программная реализация BAM (Binary Angle Modulation).

   В данной статье рассмотрен алгоритм BAM «двоичного управления положением бита»   который во многих случаях может заменить общеизвестный ШИМ (PWM), задействуя при этом значительно меньше процессорной мощности.          


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru