FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 23.10.2017, 14:44
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: support, Сергей 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » PCF8574 (Расширение входов/выходов по I2C)
PCF8574
Sancho Дата: Понедельник, 17.07.2017, 10:33 | Сообщение # 1
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
PCF8574, PCF8574A различаются только секторами адресов, возможно максимально установить по 8 штук на одну шину, итого 8х2х8вх/вых - 128вх/вых.
Блок легко может быть переделан под PCF8575 - 16 вх/вых.
Описание:
Адрес для входа должен подаваться в виде байта(0-255), например: 3C= 3x16 + C = 48+12=60
Для работы в качестве ТОЛЬКО НА ВЫХОД(управляем нагрузками) сигнал byte_out не используется, на нём будет повтор входа. Физически работа выхода почти соответствует
схеме с открытым коллектором и по + питания токооганичивающий резистор(не более 100мкА). Снять логическую единицу с бОльшим током не получится.
Для работы ТОЛЬКО НА ВХОД(считываем входа) на вход необходимо подать byte 255. Поясню.
Сигналы принимаются только прижиманием к общему, поэтому необходимо перевести выводы в 1, внутренне подтянуть к +, ток очень мал - 100мкА: при помехах ДОПОЛНИТЕЛЬНО можно добавить внешние резисторы(20-4,7 кОм).
Для одновременной работы ВХОД/ВЫХОД необходимо так организовать подачу байта на вход, что-бы на выводах, подключенных для ввода присутствовали единицы.
Образно говоря, указанная микросхема принимает байт и распаковывает на биты, или считывая биты и упаковывает их в байт.
Данный блок представляет собой образец/шаблон работы с I2C.

ОБНОВЛЕНО 21.07.2017. БЛОКИ ОБНОВЛЕНЫ. ДОБАВЛЕНО ДВА  INPUT, OUTPUT.

БЛОК
Прикрепления: PCF8574_v5.flp(212Kb) · PCF8574_v7.flp(596Kb)


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Суббота, 22.07.2017, 08:30
 
Sancho Дата: Понедельник, 17.07.2017, 10:53 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Ещё в придачу smile
Раскладываем на символы 5 значное число

Добавлено (17.07.2017, 10:53)
---------------------------------------------
Для экспериментов использовалась стандартная переходная плата от дисплея, цена  на али - около 22руб.

Прикрепления: INT_to_5Digit-C.ubi(17Kb)


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
krom23 Дата: Четверг, 20.07.2017, 21:51 | Сообщение # 3
Подполковник
Группа: Проверенные
Сообщений: 248
Награды: 4
Репутация: 3
Статус: Offline
Спасибо за поддержку годной микросхемы, давно ей пользуемся, а чтоб вот так, у наших программистов руки ещё не доходили. Кстати, а упростить работу с блоком можно, чтоб без дополнительных гаргарушек с адресами. Типа подал единицу на вход блока 1 и на ноге микрухи 1 появилась единица, ну и со входами так же? Вообще было бы шикарно.:)
 
pan Дата: Четверг, 20.07.2017, 22:01 | Сообщение # 4
Генерал-лейтенант
Группа: Проверенные
Сообщений: 882
Награды: 37
Репутация: 33
Статус: Offline
Цитата krom23 ()
а упростить работу с блоком можно, чтоб без дополнительных гаргарушек с адресами
  даже нужно.
 
Sancho Дата: Пятница, 21.07.2017, 08:34 | Сообщение # 5
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Цитата krom23 ()
Кстати, а упростить работу с блоком можно, чтоб без дополнительных гаргарушек с адресами. Типа подал единицу на вход блока 1 и на ноге микрухи 1 появилась единица, ну и со входами так же? Вообще было бы шикарно.:)
 
Цитата pan ()
даже нужно.
Даже и незнаю что ответить. Но попытаюсь.
Адресов имеется восемь штук - выбирай любой, подавай на вход необходимый.
Для уменьшения "веса блока" отсутствуют всякие ненужные изначально, на мой взгляд, плюшки.
Если есть необходимость работы с входами/выходами побитно - посмотрите примеры выше, есть готовые блоки.
Пример   PCF8574_v5 - работа микрухи ОДНОВРЕМЕННО на вход и выход,  PCF8574_v7 - пятизначный семисегментный дисплей со статической индикацией, т.е. у каждой PCF8574 свой индикатор(оцените размер программы, сравните с другими решениями на сдвиговых регистрах). 
Если вставлять изначально все восемь входов/выходов, то добавится 16(!) переменных в проекте на каждый блок!!! Хотя это и биты, но занимают в памяти переменных каждая байт!
Для каждого случая - своё решение, а к данному блоку можно прицепить снаружи всё необходимое в данном проекте. 
Сугубо моё мнение.


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
pan Дата: Пятница, 21.07.2017, 08:43 | Сообщение # 6
Генерал-лейтенант
Группа: Проверенные
Сообщений: 882
Награды: 37
Репутация: 33
Статус: Offline
адреса убрать в параметры

Цитата Sancho ()
можно прицепить снаружи всё необходимое в данном проекте
  кто знает тот прикрутит и допилит. а для многих нуна "ножки" к блоку прилепить)
 
Sancho Дата: Пятница, 21.07.2017, 09:09 | Сообщение # 7
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Цитата pan ()
адреса убрать в параметры
Если я использую ОДИН блок, но в разных циклах для разных адресов???
 
Цитата pan ()
кто знает тот прикрутит и допилит. а для многих нуна "ножки" к блоку прилепить)
Я старался сделать максимально доходчивое, подробное описание. С примерами.
Но, думаю, придётся сделать парочку входных/выходных дополнительных блоков....


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
pan Дата: Пятница, 21.07.2017, 09:34 | Сообщение # 8
Генерал-лейтенант
Группа: Проверенные
Сообщений: 882
Награды: 37
Репутация: 33
Статус: Offline
просто блок в том виде как есть, больше для работы с шиной i2c для всех устройств, чем конкретно для этой микры)
 
Sancho Дата: Суббота, 22.07.2017, 08:28 | Сообщение # 9
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Цитата pan ()
просто блок в том виде как есть, больше для работы с шиной i2c для всех устройств, чем конкретно для этой микры)
 = Последняя строчка в описании. smile 
Просто так получилось, что указанная микросхема одна из простейших в серии I2C.

БЛОКИ ОБНОВЛЕНЫ. ДОБАВЛЕНО ДВА:  INPUT, OUTPUT.


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
krom23 Дата: Суббота, 22.07.2017, 13:25 | Сообщение # 10
Подполковник
Группа: Проверенные
Сообщений: 248
Награды: 4
Репутация: 3
Статус: Offline
Спасибо за блоки Sancho. Вы пишете в описании: "Адрес задаётся в формате от 0x38 до 0x3F  или от 57 до 63 включительно." Вы имеете в виду адрес микросхемы или чего? У меня адрес 0x27, его я задать не смогу? Извините за глупые вопросы.
 
Sancho Дата: Суббота, 22.07.2017, 18:00 | Сообщение # 11
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Цитата krom23 ()
У меня адрес 0x27, его я задать не смогу?
Подключили блок/микросхему. Отсканировали с помощью FLProg или пересчитали адрес по даташитам и установленным перемычкам вручную. Теперь два варианта:
1. Если в формате FLProg, т.е. шестнатиричном, НЕХ, то пишем 0х.., где .. полученные два символа.
2. Если считали сами или как иначе, то можно в десятичном.
Например, 00011101 - это в hex 1D, а в десятичном 29.
Адрес PCF8574 может находится при разных вариантах перемычек в диапазоне от 0x38 до 0x3F  или от 56 до 63 включительно, т.е. максимум восемь штук на одной шине I2C.
Откуда у Вас такие адреса?


Если не получится на контроллере - сделаю на тразисторах и 155/176...

Сообщение отредактировал Sancho - Суббота, 22.07.2017, 18:31
 
pan Дата: Суббота, 22.07.2017, 18:51 | Сообщение # 12
Генерал-лейтенант
Группа: Проверенные
Сообщений: 882
Награды: 37
Репутация: 33
Статус: Offline
Sancho, может в описание добавить возможные варианты адресов при определенном состоянии перемычек
 
krom23 Дата: Суббота, 22.07.2017, 19:21 | Сообщение # 13
Подполковник
Группа: Проверенные
Сообщений: 248
Награды: 4
Репутация: 3
Статус: Offline
Цитата Sancho ()
Откуда у Вас такие адреса?
Плата для LCD, а вот табличка адресов-перемычек из паспорта микросхемы
Прикрепления: 1972082.png(58Kb)
 
Sancho Дата: Суббота, 22.07.2017, 19:29 | Сообщение # 14
Генерал-майор
Группа: Проверенные
Сообщений: 464
Награды: 13
Репутация: 13
Статус: Offline
Цитата pan ()
может в описание добавить возможные варианты адресов при определенном состоянии перемычек
Сделаю, хорошо.

Добавлено (22.07.2017, 19:29)
---------------------------------------------

Цитата krom23 ()
Плата для LCD, а вот табличка адресов-перемычек из паспорта микросхемы
Весь вопрос в НАЗВАНИИ микросхемы - есть буква А или нет.
В последнее время без буквы не встречалось.
ИНАЧЕ, у Вас без буквы, поэтому смело берите из таблицы, с условием - если в Вашей таблице "+" перемычки нет, "-" запаяна.


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
krom23 Дата: Суббота, 22.07.2017, 19:38 | Сообщение # 15
Подполковник
Группа: Проверенные
Сообщений: 248
Награды: 4
Репутация: 3
Статус: Offline
Видимо адрес зависит от литеры в номинале и/или от партии/производителя. Для плат LCD самые распространённые это 27, значительно реже 3F, про такие только на форуме слышал. Я так понял можно любой адрес, главное чтоб он совпал с адресом микросхемы?
Мысли встретились. С буквой "Т".


Сообщение отредактировал krom23 - Суббота, 22.07.2017, 19:41
 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » PCF8574 (Расширение входов/выходов по I2C)
Страница 1 из 212»
Поиск:

FLProg © 2017
Яндекс.Метрика