Подключение PIC к PT6523

Подключение разных дисплейчиков
Mixer
инженер, читатель
инженер, читатель
Сообщения: 70
Зарегистрирован: 27 ноя 2009, 00:45

Подключение PIC к PT6523

Сообщение Mixer »

Думаю как подцепить данный контроллер LCD к PIC. Вопросы вызывают последние 4 бита данных и инициализация.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

Последние 4 бита - специальные. DR - определяет какой режим используется. Если твой LCD сделан под режим 1/2 bias, 1/3 duty, то пины VDD1 и VDD2 должны быть закорочены, если это не так - значит LCD сделан под режим 1/3 bias, 1/3 duty. В соответствии с этим шлёшь нужный DR. SC я так понимаю может выключить все сегменты, что равносильно выключению дисплея (отображаться ничего не будет). BU видимо тоже может выключить дисплей, но по другому - прекратится работа генератора, все выходы = GND. четвёртый бит - любой.
Инициализации никакой нет - что передал, то сразу и отобразилось. Просто во время включения может отобразиться любая фигня, пока первый раз не послал, что показывать, поэтому придумали /INH. Пока он не станет = 1 - на дисплее ничего не отобразится. Поэтому если не хочешь видеть абракадабру при включении - надо успеть послать то, что надо показывать при старте (или наоборот ничего не показывать), за время t1-10мкс. В доке написано, что t1 (время от подачи питания до начала отображения) определяется значениями R и C в обвязке /INH, но формулы не нашёл. Если пофиг - забей.
С уважением, администрация сайта.
Mixer
инженер, читатель
инженер, читатель
Сообщения: 70
Зарегистрирован: 27 ноя 2009, 00:45

Re: Подключение PIC к PT6523

Сообщение Mixer »

Что-то куча дублирующих друг друга регистров у данного контроллера... LCD от древней самсунговской магнитолы SC-7500. Спецификации на дисплей нет. Нашел схему на данную магнитолу (выложил в обменник) VDD1 и VDD2 не закорочены, наверно в режиме 1/3 на 1/3 (к слову - что за режим?).
SC-7500(Deposit Files)

Инициализация, если верить графику (стр. 8):
1. Подать питание (VDD)
2. Подать импульс на CE (1, затем 0)
3. Потом уже можно передавать данные и включать (INH)

По поводу передачи данных (стр. 6):
1. О каком высоком/низком уровне подключения CLK там идет речь? В чем разница/преимущества?
2. Сколько бит данных дисплея передавать? Сначала пишется, что 156 бит (без учета последних 4) D1-D156, потом в примере рассматривается 67 (с учетом последних 4) D94-D156. Или контроллеру все равно сколько передано - он ждет пока CE установят в низкий уровень, затем из переданного вычитает 4 бита, а остальное считает данными дисплея?
3. CLK и DI следует делать так (?):

1: установить бит CLK в 0
2: установить бит данных DI в нужное значение
3: установить бит CLK в 1
4: задержка и переход к пункту 1
Последний раз редактировалось Mixer 20 янв 2010, 06:10, всего редактировалось 1 раз.
PIC16F628A
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

1) Про режим управления можешь почитать здесь: http://www.gaw.ru/html.cgi/txt/app/lcd/teorija.htm, но в принципе, тебе оно по барабану, нужно только знать какой он, чтобы бит правильно выставить (сказать контроллеру LCD как управлять дисплеем) - дальше контроллер LCD с дисплеем сами договорятся.
2) По поводу инициализации. Посмотрел схему, они /INH с контроллера подают. Ну, можно и так сделать, а можно его к питанию подтянуть и забить на то, что он при включении будет фигню показывать, пока данные не пошлёшь. Смысл этого пина в том, что пока он не установится в "1" - LCD не будет ничего показывать, а если он стал "1" до первой посылки данных, то отображаться может всё, что угодно, поскольку при старте в PT6523 будут случайные данные.
3) О каком высоком/низком уровне CLK идёт речь действительно не очень понятно. Судя по графикам разница только в том, что в первом варианте нужно после выключения CLK сразу установить D1, а потом после включения CE продолжать передавать данные, а во втором варианте (если CLK не выключать) можно D1 сразу не устанавливать, контроллер будет считать, что продолжает передаваться последний бит адреса.
4) Сколько бит данных передавать? Похоже, что передавать надо все 156 бит данных. Судя по примеру, он начинает считать задом-наперёд, то есть передал ты 9 бит данных - он считает, что это D148-D156. В любом случае, хуже не будет, просто времени больше на передачу. Просто если у тебя не подключен сегмент SG52 - передавай D154=D155=D156=0 да и всё.
5) CLK и DI похоже следует делать так:
в неиспользуемом состоянии на линии CLK висит 1 (high level)
- установили CLK в "0"
- установили DI
- подождали не менее 100 нс (toL,tds)
- установили CLK в "1"
- подождали не менее 100 нс (toH, tdh)
- начинаем передавать следующий бит (повторяем всё с начала)
передали 8 бит адреса - включаем CE
- ждём не менее 200 нс (tcp+tcs) и начинаем передавать данные
- установили CLK в "0"
- установили DI
- подождали не менее 100 нс
- установили CLK в "1"
- подождали не менее 100 нс
- начинаем передавать следующий бит (повторяем всё с начала)
передали все данные + 4 упр. бита, подождали не менее 100 нс (tcH) - выключаем CE.
Всё - данные загружены!
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

Узнавать к какому сегменту (SG) и к какой линии COM подключен каждый конкретный кристаллик придётся методом научного тыка.
Передаёшь сначала D1=1, все остальные =0 - смотришь какой кристаллик подключен к SG1, COM3, потом D2=1, остальные нули - находишь кристаллик, подключенный к SG1, COM2 и т.д. для всех используемых линий SG.
С уважением, администрация сайта.
Mixer
инженер, читатель
инженер, читатель
Сообщения: 70
Зарегистрирован: 27 ноя 2009, 00:45

Re: Подключение PIC к PT6523

Сообщение Mixer »

Прикрутил, всё работает как надо. К слову - сколько занимает выполнение одной ассемблерной команды на 4МГц?
PIC16F628A
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

О, круто! :D
Команды могут выполняться за 1 или 2 цикла (4 или 8 тактов), т.е. за 1 или 2 мкс на 4 МГц.
Ну, давай подробностей. Какой алгоритм? Как я предложил?
Как узнал какой кристал к чему подключен? Методом научного тыка?
Прогу покажешь? Как вообще, какие нюансы узнал в результате экспериментов?
:D :D :D
С уважением, администрация сайта.
Mixer
инженер, читатель
инженер, читатель
Сообщения: 70
Зарегистрирован: 27 ноя 2009, 00:45

Re: Подключение PIC к PT6523

Сообщение Mixer »

Собственно вот:
Изображение

В прикрепленном архиве схема, исходник на C (среда microC) и HEX файл. Цепляется к родной колодке на съемной панели. Кристалы загораются по одиночке с периодичностью в 1/4 секунды (при желании можно уменьшить/увеличить). Если нужно, чтобы кристал загорался вместе со всеми предыдущими, в функции set_display() необходимо изменить условие с (i == j) на (i <= j). Для получения динамической индикации (чтоб дисплей не моргал) нужно закоментировать или вообще убрать функцию switch_display_off(). Да и вообще /INH можно смело цеплять на VDD. Последние 4 контрольных бита - ставятся в ноль. Алгоритм полностью соответствует твоему, за одним исключением - когда ничего не передается CLOCK и CE установлены в 0. К тому же получается, что на 4МГц нет необходимости в дополнительных задержках. У данного дисплея не используются сегменты 19, 24, 29, 34, 39, 42, 46, 49, 50, 51, 52.
Вложения
PIC16F628A.rar
(38.76 КБ) 1306 скачиваний
PIC16F628A
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

Спасибо. У меня тоже где-то старая магнитола валяется. Будем подключать!!!
С уважением, администрация сайта.
Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 3060
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
Контактная информация:

Re: Подключение PIC к PT6523

Сообщение rhf-admin »

Кстати, а ты с управляющими битами игрался?
И ещё. Можешь немного видео на цифровик снять? Я бы по материалам твоих экспериментов полноценную статейку накатал.
С уважением, администрация сайта.
Ответить