Контроллер LCD PCF8578
Контроллер LCD PCF8578
Может кто игрался с контроллером графических и сегментных дисплеев 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.
Лично работал только с PCF8535.
Re: Контроллер LCD PCF8578
Леонид Иванович писал(а):Вроде, в 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 скачиваний
Реально не время, а процессы, происходящие в материи, единицей измерения которых, служит единица времени