Загорелся однажды идеей подключить внешний LCD дисплей от мобильного телефона Motorola V-180 к микроконтроллеру. Готовых библиотек для работы с ним в сети не нашел. Но очень хорошо иметь такой дисплей в своем арсенале для разработок схем. Было принято решение написать их самому, благо что уже некоторый опыт работы в этом направлении есть. Таким опытом является дисплей от Nokia 1202. Вся библиотека заточена для работы в AVR Studio 6 — недавно на нее перешел.

В общем впечатления разные. Писать там немного тяжелее, чем CodeVision, но зато код получается более компактным по объему занимаемой памяти. Здесь главное понимать что откуда нужно брать, ну и приходится более плотно работать с даташитом. Кому нужны библиотеки под CodeVision, тот может обратится на форум. На данный момент она еще не доделана — нужно дописать функцию вывода строки.

Вернемся все-таки к дисплею. Его можно приобрести, или выковырять с телефона в виде шлейфа с двумя дисплеями. Цветной пока от кладем в сторону. Возможно позже мы к нему вернемся. Нас интересует внешний монохромный экран распределением 32 на 96 пикселя. К сожалению встроенной подсветки в нем нет. Распиновку выводов дисплея можно посмотреть на схеме.
Схема подключения дисплея

Конденсатор есть на шлейфе, его емкость 1 микрофарад.

Вывод CS подключен к 0. Он отвечает за включение контролера дисплея. В теории можно управлять несколькими дисплеями параллельно, просто вывод CS подключить к отдельным ногам МК. В зависимости от состояния вывода CS дисплея можно переключатся между ними.



Приступим к разбору самой библиотеки. В файле MOTOV180.h можно назначить порт для работы, и номера вывода портов под дисплей. Отдельно настраивать выводы на выход не нужно. В библиотеке все это предусмотрено.
- void MOTOV180_send_byte(int8_t mode, uint8_t d); можно послать в дисплей байт данных, или команду.
- void MOTOV180_init(void); — функция для инициализации дисплея.
- void MOTOV180_clear(void); — функция для очистки дисплея.
- void MOTOV180_gotoxy(int8_t x,int8_t y); — данной функцией можно перейти в указанную точку координат.
- void MOTOV180_Putc(uint8_t c); функция для вывода одной переменной из программной памяти.
- void MOTOV180_Print(char* message); — используется для вывода строки.

Пример работы есть в архиве, там же все остальные файлы, в том числе и печатной платы. Среда разработки – AVR Studio 6.2.
Видео работы дисплея
По всем вопросам обращаемся на форум. Также хочу отдельно поблагодарить товарища Skateman за помощь при создании проекта. С вами был Бухарь.







