Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » ЖК+пик (Подключение ЖК индикатора к пику и управление им)
ЖК+пик
DeveloperX Дата: Ср, 19.12.2007, 14:45  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 149
Репутация: 1   ±
Замечания:   ±
На сайте с 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. Как они работают?

Есть ли самый простой способ подключения/управления жк???

ЯНДЕКС Дата: 19.12.2007
Yrok Дата: Ср, 19.12.2007, 15:15  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

А непроще было взять ЖК экран уже с контроллером типа wh1602d--2 строки по 16 символов.
А в том что ты взял предется еще схему контроллера мастерить + писать драйвер управления--а если будешь выводить цифры и буковки там всякие--то еще все их описать и хранить в памяти--короче труба--бери уже с контроллером)))
DeveloperX Дата: Ср, 19.12.2007, 15:20  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 149
Репутация: 1   ±
Замечания:   ±
На сайте с 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
Репутация: 2   ±
Замечания:   ±
На сайте с 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
Репутация: 1   ±
Замечания:   ±
На сайте с 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
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

Quote
правильно ли я понял, что нужно очень быстро перерисовывать все разряды?
--да понял правильно.
Сначало подаем в последовательном коде число "2"--потом подаем управляющий сигнал --после чего подаем сигнал на зажигание соответствующего разряда(т.е. тот разряд где мы хотим высветить это число)--обязательно делаем паузу(т.е. держим разряд зажженым--потому как пока мы будем выводить цифру в следующий разряд--предыдущий у нас потухнет , а чтоб глаз смог воспринять высвечиваемое число то нужно все делать быстро)--далее переходим к высвечиванию следующего разряда.
Насчет команд в PBP пока неподскажу--завтра время будет посмотрю даташит на КР1561ПР1 и скажу что можно сделать.
Кстати можешь пока сам найти даташит и скинуть ссылку--сможешь съэкономить мне время.
DeveloperX Дата: Ср, 19.12.2007, 17:35  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 149
Репутация: 1   ±
Замечания:   ±
На сайте с 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
Репутация: 2   ±
Замечания:   ±
На сайте с 27.09.2007

Статус: Offline

Quote
Я вот о чем подумал: если взять и подключить линии разрядов через такой чип, а линии сегментов через 32-х битный преобразователь (бывают ли такие?), то можно один раз зажечь все разряды как нужно и обновлять по мере изменения значений...

Ух ты какой хитрый)))--незнаю есть ли такие--но думаю если есть то стоят немало)))
DeveloperX Дата: Ср, 19.12.2007, 18:07  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 149
Репутация: 1   ±
Замечания:   ±
На сайте с 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
Репутация: 3   ±
Замечания:   ±
На сайте с 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
Репутация: 1   ±
Замечания:   ±
На сайте с 25.10.2007

Статус: Offline

evgenb, понятно.
однозначно собирать надо на КР1561ПР1.
Какими командами РВР отправлять последовательность кодов (например, 00001110)?
ЯНДЕКС Дата: 19.12.2007
evgenb Дата: Ср, 19.12.2007, 19:51  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 3   ±
Замечания:   ±
На сайте с 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
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Если мне не изменяет память, то управление ЖКИ без контроллера отличаеться от светодиодного..? Меня тоже заинтересовала эта тема.

Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
DeveloperX Дата: Чт, 20.12.2007, 08:45  |                                                                                                                Сообщение # 14
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 149
Репутация: 1   ±
Замечания:   ±
На сайте с 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
Репутация: 2   ±
Замечания:   ±
На сайте с 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
Форум Picbasic.ru » Программирование МК » PicBasicPro » ЖК+пик (Подключение ЖК индикатора к пику и управление им)
  • Страница 1 из 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск: