Страница 1 из 1
Контроллер LCD PCF8578
Добавлено: Чт фев 16, 2012 01:15:02
svshow
Может кто игрался с контроллером графических и сегментных дисплеев PCF8578 подскажите пожалуйста последовательность команд управления, необходимых для корректной инициализации сего чуда. В документации описаны лишь общие команды флаги и т.д. а вот какова их последовательность???
Re: Контроллер LCD PCF8578
Добавлено: Чт фев 16, 2012 01:35:48
Леонид Иванович
Вроде, в Google примеры находятся:
http://www.hackchina.com/en/r/45988/jbDisp.c__html
Лично работал только с PCF8535.
Re: Контроллер LCD PCF8578
Добавлено: Чт фев 16, 2012 19:06:10
svshow
Благодарю за ссылочку - очень много интересного...
Есть пара экранов от телефонов 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. Должен загоряться какой-то сегмент...