Это был мой первый мобильник. Как и все последующие он достался мне от сестры, которая регулярно их меняла и меняет. Помню особые надежды я возлагал на ее Nokia 7610, но за день до покупки нового телефона, она уронила его в туалет. Девайс испустил дух, не приходя в себя. Разбор, перебор и сушка феном ничего не дали. Вот ведь облом. Ну да ладно..
Вообщем валялась у меня эта Motorola, валялась, пока в один прекрасный день мне не захотелось подключить ее экранчик к микроконтроллеру. Сказано, сделано. Посерфил сеть, нашел распиновку разъема, datasheet на контроллер экранчика и начал шаманить.
Вообщем валялась у меня эта Motorola, валялась, пока в один прекрасный день мне не захотелось подключить ее экранчик к микроконтроллеру. Сказано, сделано. Посерфил сеть, нашел распиновку разъема, datasheet на контроллер экранчика и начал шаманить.
Аппаратная часть
Экранчик подключается к микроконтроллеру довольно просто – по SPI интерфейсу. Назначение выводов экранчика приведено на рисунке.
Хочу вас сразу предупредить – в интернете мне попадалась неправильная распиновка. Из-за нее я убил кучу времени на оживление экранчика. Разобраться с подключением мне помогла схема на телефон С250.
Выводы 1, 2 подключаются к выводам апаратного SPI интерфейса микроконтроллера AVR – MOSI, SCK соответственно. Выводы 3, 4, 5 – к любым другим.
Напряжение питания контроллера экранчика 2,7 - 3,3 вольта. Чтобы не заморачиваться, я подрубил экранчик к STK500 и через AVR Studio программно задал напряжение питания платы. (Если кто не знает, делается это так – на вкладке HW Settings в разделе Voltages с помощью ползунка устанавливаем VTarget на 3 вольта и нажимаем кнопку Write). Можно собрать простую схему согласования уровней на резисторах.
Для подсветки 3,3 вольта мало. Поэтому пришлось собрать простенький удвоитель напряжения на конденсаторах и диодах. Если будете повторять – используйте диоды Шоттки, на них маленькое падение напряжения - порядка 0,3 В. Не знаю, есть ли там встроенный ограничительный резистор, я на всякий случай его поставил. В программе микроконтроллера нужно будет постоянно дергать ножкой к которой подключен удвоитель и ,конечно, лучше по таймеру, а не как у меня.
Напряжение питания контроллера экранчика 2,7 - 3,3 вольта. Чтобы не заморачиваться, я подрубил экранчик к STK500 и через AVR Studio программно задал напряжение питания платы. (Если кто не знает, делается это так – на вкладке HW Settings в разделе Voltages с помощью ползунка устанавливаем VTarget на 3 вольта и нажимаем кнопку Write). Можно собрать простую схему согласования уровней на резисторах.
Для подсветки 3,3 вольта мало. Поэтому пришлось собрать простенький удвоитель напряжения на конденсаторах и диодах. Если будете повторять – используйте диоды Шоттки, на них маленькое падение напряжения - порядка 0,3 В. Не знаю, есть ли там встроенный ограничительный резистор, я на всякий случай его поставил. В программе микроконтроллера нужно будет постоянно дергать ножкой к которой подключен удвоитель и ,конечно, лучше по таймеру, а не как у меня.
Программная часть
После включения питания на вывод Reset нужно подать сигнал сброса (логический 0) в течении 10 мкс. Он запускает процесс внутренней инициализации контроллера экрана. Все его установки приводятся в начальное состояние.Затем нужно программно задать параметры настройки контроллера экрана. Их довольно много и если что-то выставить неправильно, отображаться ничего не будет. В datasheet на контроллер дисплея был кусок программы инициализации - я его оттуда передрал.
Дисплей может работать в двух цветовых режимах – 8 бит и 16 бит. Второй режим получается за счет уменьшения разрешения экрана, если я правильно понял. В описании на контроллер экрана задано разрешение 104 на 80 пикселей, реально у этого экранчика оно меньше.
Чтобы вывести попиксельно на экран изображение нужно задать начальный и конечный адрес столбца, начальный и конечный адрес страницы. Затем потоком записать данные. Контроллер дисплея, в зависимости от настроек, сам инкрементирует адреса столбца и страницы. В этом отношении от обладает довольно богатыми возможностями.
Есть правда один нюанс. В 8-ми битном режиме нужно устанавливать таблицу перекодировки. Пока я этого не знал, попытки накатать знакогенератор проваливались с полным непониманием происходящего. В конце концов я его добил. К сожалению, под рукой был только английский шрифт.
Кроме этого, контроллер дисплея обладает встроенными графическими функциями – рисование линии, рисование прямоугольника с заливкой, очистка заданной области, копирование заданной области. Я добавил к этому функцию вывода пикселя и рисования окружности.
Есть еще функция скрола. С ней я не разбирался.
Comments
Спасибо!
была идея подключить жки от нее, но не нахожу даташита на этот дисплей...
а может эти жки идентичны ?
может автор подскажет, как подключить ? :-)
с уважением.
С уважением.
Подсветка ярко светится через 12ом резистор от 3.3В.
RSS feed for comments to this post