31 июл. 2012 г.

Helloworld на магнитоле

Неспешно эмигрируем с "уженеторта". Старый проектик just for lulz - хеловролд на экране автомагнитолы.
 

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

 А внутре у ней неонка - драйвер неизвестного устройства LCD-дисплея с возможностью опроса клавиатуры LC75883.
Схема включения всего этого безобразия в виде дисплея, слеподиодов подсветки и кнопок есть в сервисмануале на магнитолу:
 Сопряжено это устройство будет вот с таким ардуино Pic Kit-ом, собранным из того что было еще в студенческие годы для погружения в Embedded Design. Девайс уж 10 лет с нами - юбилей :)
 Управляется драйвер дисплея с помощью SPI-подобного интерфейса CCB фирмы Sanyo, подробно описанного в даташите на микросхему. Интерфейс имеет 4 линии:
CL — тактирование;
CE — разрешение работы микросхемы;
DI — запись адреса/данных;
DO — чтение данных.
Предварительно проверяем в Proteus, что это мы там напрограммировали (CL — желтый; CE — синий; DI — красный).
 Запись адреса и 1 байта данных:
 Один цикл записи (9 байт):
 Всего требуется передать 27 байт, или 3 цикла.
Пишем в память все единички - зажигаем все, что горит:
 Пишем нолики в случайные ячейки - гасим сегменты:
Целенаправленно пишем "1" последовательно в каждую ячейку памяти и вычисляем, какая ячейка за какой сегмент отвечает.

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


Комментариев нет:

Отправить комментарий