Контроллер LCD PCF8578

Обсуждаем цифровые устройства...
Ответить
Аватара пользователя
svshow
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 04, 2009 11:09:42
Откуда: Русь

Контроллер LCD PCF8578

Сообщение svshow »

Может кто игрался с контроллером графических и сегментных дисплеев PCF8578 подскажите пожалуйста последовательность команд управления, необходимых для корректной инициализации сего чуда. В документации описаны лишь общие команды флаги и т.д. а вот какова их последовательность???
Вложения
tdp-40-tn2_LCD(PCF8578).pdf
Описание контроллера, которое можно найти в сети.
(323.6 КБ) 465 скачиваний
Реально не время, а процессы, происходящие в материи, единицей измерения которых, служит единица времени
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Контроллер LCD PCF8578

Сообщение Леонид Иванович »

Вроде, в Google примеры находятся: http://www.hackchina.com/en/r/45988/jbDisp.c__html

Лично работал только с PCF8535.
Аватара пользователя
svshow
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 04, 2009 11:09:42
Откуда: Русь

Re: Контроллер LCD PCF8578

Сообщение svshow »

Леонид Иванович писал(а):Вроде, в Google примеры находятся: http://www.hackchina.com/en/r/45988/jbDisp.c__html


Благодарю за ссылочку - очень много интересного...
Есть пара экранов от телефонов Benefon. 3 строки. Одна - 10 семисегментных знаков, Вторая буквы и символы, третья - 10 двенадцатисегментных знаков.
На каком-то польском сайте нашел, что внутри стоит PCF8678. Больше упоминаний в сети не нашёл... (может плохо искал)
Может кому пригодится список команд для управления этими экранами:

В I2C отправляем сначала Старт - затем адрес контроллера, потом настраиваем параметры контроллера, выбираем участок в памяти где у нас сегменты находятся (в описании контроллера на 31 странице), устанавливаем начальный адрес и пихаем данные. Вот и всё.

Код: Выделить всё

ldi i2cadr,0b01111000; Set device address and write
rcall i2c_start ; Send START condition and address

ldi i2cdata,0b11010110 ; Mixet mode T=1 E1E0=00, M1M0=10
rcall i2c_do_transfer ; Execute transfer

ldi i2cdata,0b11111100 ; Set Start Bank0
rcall i2c_do_transfer ; Execute transfer

ldi i2cdata,0b00010010 ; Set Start Position Address
rcall i2c_do_transfer ; Execute transfer

ldi i2cdata,0b00000001 ; Send DATA
rcall i2c_do_transfer ; Execute transfer

rcall i2c_stop ; Send stop condition


Вырезка из ассемблерного кода для AVR. Должен загоряться какой-то сегмент...
Вложения
14-02-2012_2.jpg
Фото экранов
(34.83 КБ) 645 скачиваний
Реально не время, а процессы, происходящие в материи, единицей измерения которых, служит единица времени
Ответить

Вернуться в «Цифровая техника»