ЖК+пик
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 14:45 | Сообщение # 1 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
Кто-нибудь подключал 7-ми сегментный ЖК индикатор типа такого http://www.chipdip.ru/library/DOC000174245.jpg?ver=2.0. Никак не придумаю как управлять всеми 4-мя разрядами. Вот нашел проект управления 64-мя светодиодами http://www.larwe.com/zws/products/picxie2/img/picxie2schem.gif Так там используются регистры 74HC374. Как они работают? Есть ли самый простой способ подключения/управления жк???
|
|
|
|
Yrok |
Дата: Ср, 19.12.2007, 15:15 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
А непроще было взять ЖК экран уже с контроллером типа wh1602d--2 строки по 16 символов. А в том что ты взял предется еще схему контроллера мастерить + писать драйвер управления--а если будешь выводить цифры и буковки там всякие--то еще все их описать и хранить в памяти--короче труба--бери уже с контроллером)))
|
|
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 15:20 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
Yrok, нужно выводить именно на такой 7сегментный жк. т.к. он энергоэкономичный. выводить туда собираюсь 3 цифры. я думаю, что в программе нужно в зависимости от требуемой цифры зажигать те или иные палочки жк. но как это делать через 2 штуки 74НC374? нужны ли им какие-то импульсы или как? а тут вообще без регистров. http://radio-konst.narod.ru/moi_konstrukcii/ik_irast/ris1.gif но у меня портов свободных столько нет. ещё нашел схему подключения: http://domavto.narod.ru/assets/images/image0064.gif там стоит регистр КР1561ПР1. выяснил, что это преобразователь последовательных сигналов в параллельные. не пойму как им управлять 4-мя разрядами....
Сообщение отредактировал
DeveloperX - Ср, 19.12.2007, 16:37
|
|
|
|
Yrok |
Дата: Ср, 19.12.2007, 16:40 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Ну 3 цифры--это уже проще))) Quote Вот нашел проект управления 64-мя светодиодами http://www.larwe.com/zws/products/picxie2/img/picxie2schem.gif Не 64 светодиода , а LED матрица --хотя можно рассматривать и как 64 светодиода. Работает так: на вход D0-D7 микросхемы 74НC374 отвечающей за горизонтальные линии подается сигнал из условия какую линию хотим зажечь(допустим нужно зажечь первую линию с верху значит будет подан код 00000001, если 2 и 5 линию то код 01001000--и т.д.)--и при подачи управляющего сигнала на вход 11 CLK --на выходе установится код что мы установили на входе и небудет меняться до тех пор пока мы неподадим управляющии сигнал CLK--т.е. после управляющего сигнала мы можем менять сигналы на входах D0-D7 , а на выходе будет оставаться то что мы записали до этого. Для вертикальных линий делаем тоже самое.)))--потребуется 8+2=10 портов Quote а тут вообще без регистров. http://radio-konst.narod.ru/moi_konstrukcii/ik_irast/ris1.gif потребуется 8бит +количество цифр=8+3=11 портов!!! А так смотри пример в PBP с LED индикатором!!)))) Quote там стоит регистр КР1561ПР1. выяснил, что это преобразователь последовательных сигналов в параллельные. не пойму как им управлять 4-мя разрядами.... Все просто код подается последовательно сигналами DAT и CLK и после подачи управляющего сигнала ST на выходе 1561ПР1 устанавливается код в параллельном коде. Соответственно требуется DAT+CLK+ST+количество цифр=6 портов.
Сообщение отредактировал
Yrok - Ср, 19.12.2007, 16:55
|
|
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 16:57 | Сообщение # 5 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
Yrok, Quote (DeveloperX) ещё нашел схему подключения: http://domavto.narod.ru/assets/images/image0064.gif там стоит регистр КР1561ПР1. выяснил, что это преобразователь последовательных сигналов в параллельные. вот эта схемка мне подходит. и портов мало используется - 3 + 3 = 6!!! как такой штукой управлять? как (какой командой PBP) послать код цифры? например, чтобы зажечь число "23". правильно ли я понял, что нужно очень быстро перерисовывать все разряды?
Сообщение отредактировал
DeveloperX - Ср, 19.12.2007, 16:59
|
|
|
|
Yrok |
Дата: Ср, 19.12.2007, 17:20 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote правильно ли я понял, что нужно очень быстро перерисовывать все разряды? --да понял правильно. Сначало подаем в последовательном коде число "2"--потом подаем управляющий сигнал --после чего подаем сигнал на зажигание соответствующего разряда(т.е. тот разряд где мы хотим высветить это число)--обязательно делаем паузу(т.е. держим разряд зажженым--потому как пока мы будем выводить цифру в следующий разряд--предыдущий у нас потухнет , а чтоб глаз смог воспринять высвечиваемое число то нужно все делать быстро)--далее переходим к высвечиванию следующего разряда. Насчет команд в PBP пока неподскажу--завтра время будет посмотрю даташит на КР1561ПР1 и скажу что можно сделать. Кстати можешь пока сам найти даташит и скинуть ссылку--сможешь съэкономить мне время.
|
|
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 17:35 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
Quote (Yrok) Насчет команд в PBP пока неподскажу--завтра время будет посмотрю даташит на КР1561ПР1 и скажу что можно сделать. Кстати можешь пока сам найти даташит и скинуть ссылку--сможешь съэкономить мне время. вот ссылка на чип, который я хочу использовать. полный аналог КР1561ПР1 http://www.platan.ru/pdf/datasheets/philips/hef4094b.pdf Я вот о чем подумал: если взять и подключить линии разрядов через такой чип, а линии сегментов через 32-х битный преобразователь (бывают ли такие?), то можно один раз зажечь все разряды как нужно и обновлять по мере изменения значений...
Сообщение отредактировал
DeveloperX - Ср, 19.12.2007, 17:39
|
|
|
|
Yrok |
Дата: Ср, 19.12.2007, 17:57 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote Я вот о чем подумал: если взять и подключить линии разрядов через такой чип, а линии сегментов через 32-х битный преобразователь (бывают ли такие?), то можно один раз зажечь все разряды как нужно и обновлять по мере изменения значений... Ух ты какой хитрый)))--незнаю есть ли такие--но думаю если есть то стоят немало)))
|
|
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 18:07 | Сообщение # 9 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
вот по-подробнее мануал http://www.platan.ru/pdf/datasheets/stm/hcf4094.pdf Quote (Yrok) Ух ты какой хитрый)))--незнаю есть ли такие--но думаю если есть то стоят немало))) к сожалению таких нет. проверил всю 4000 серию. нашел только 16, 64 битные из параллельн. в последоват. сигналы. так что придется мастерить как все... наткнулся на схему управления 10-и разрядами ЖК по 2-м линиям!!! http://www.telesys.ru/electronics/projects/proj068/IOmodule.gif как это работает - ума не приложу. Может кто-нибудь прокомментировать? Команды не посмотрел?
Сообщение отредактировал
DeveloperX - Ср, 19.12.2007, 18:45
|
|
|
|
evgenb |
Дата: Ср, 19.12.2007, 18:58 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
DeveloperX, Процессор подает на сегменты 7-ми сегментного (+ запятая) светодиодного индикатора состояние нуля в зависимости от комбинации цифры, а транзистор подает напряжение питания на анод матрицы. И в динамическом режиме перебирает состояние катодов (цифра разряда) и подача напряжения на тот анод, который в данный момент должен отображать информацию. Матрицы светодиодные сдвоенные катоды обозначены A,B,C,D,E,F,G и запятая H. Аноды А1 -:- А10.
Сообщение отредактировал
evgenb - Ср, 19.12.2007, 19:11
|
|
|
|
DeveloperX |
Дата: Ср, 19.12.2007, 19:06 | Сообщение # 11 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
evgenb, понятно. однозначно собирать надо на КР1561ПР1. Какими командами РВР отправлять последовательность кодов (например, 00001110)?
|
|
|
|
evgenb |
Дата: Ср, 19.12.2007, 19:51 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
91
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
DeveloperX, Для вывода в последовательный регистр м/с i var byte ' Переменная цикла Z1 var byte ' Результат побитного ЛОГИЧЕСКОГО И Znak var byte ' Значение выводимого разряда for i = 0 to 7 Z1 = %00000001 & Znak PortB.1 = Z1 PortB.2 = 1 'Выставить строб сдвига Pauseus 30 PortB.2 = 0 'Снять строб сдвига Znak >> 1'Сдвинуть байт на один разряд в право next
Сообщение отредактировал
evgenb - Ср, 19.12.2007, 20:24
|
|
|
|
brown |
Дата: Чт, 20.12.2007, 05:00 | Сообщение # 13 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Если мне не изменяет память, то управление ЖКИ без контроллера отличаеться от светодиодного..? Меня тоже заинтересовала эта тема.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
DeveloperX |
Дата: Чт, 20.12.2007, 08:45 | Сообщение # 14 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
149
Замечания:
±
На сайте с 25.10.2007
Статус:
Offline
|
brown, а по-моему не отличается. evgenb, мне нужно 3 разряда, а переменная Znak будет принимать значения 0..7(всего 4 разряда)! Quote (evgenb) Z1 = %00000001 & Znak смысл этой строки не понял. что здесь творится? как мне передать последовательный код цифры например 01101110?
Сообщение отредактировал
DeveloperX - Чт, 20.12.2007, 08:46
|
|
|
|
Yrok |
Дата: Чт, 20.12.2007, 11:35 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote ля вывода в последовательный регистр м/с i var byte ' Переменная цикла Z1 var byte ' Результат побитного ЛОГИЧЕСКОГО И Znak var byte ' Значение выводимого разряда for i = 0 to 7 Z1 = %00000001 & Znak PortB.1 = Z1 PortB.2 = 1 'Выставить строб сдвига Pauseus 30 PortB.2 = 0 'Снять строб сдвига Znak >> 1'Сдвинуть байт на один разряд в право next Ну алгоритм впринципе понятен)))--вот только вопрос Quote PortB.2 = 1 'Выставить строб сдвига Pauseus 30 PortB.2 = 0 'Снять строб сдвига Здесь формируем сигнал CLK--правильно я понял??? А где же тогда стробирующий сигнал?? to DeveloperX Quote Z1 = %00000001 & Znak Здесь Z1 присваиваем значение 0 бита Znak--остальные все обнуляем Потом Quote Znak >> 1'Сдвинуть байт на один разряд в право здесь сдвигаем на один бит вправо--т.е. 0 бит принимает значение 1 бита и т.д. Т.е.--выводим последовательно значение Znak в PortB.1(получаем сигнал Data) и при этом формируем сигнал CLK на PortB.2
Сообщение отредактировал
Yrok - Чт, 20.12.2007, 11:39
|
|
|
|