← Назад Второй урок: цифровые порты ввода-вывода, делаем мигалку светодиодом
Далее →
Четвёртый урок: работа с ШИМ - меняем яркость светодиода
В данной статье приводится пример работы с расширителем портов (MUX), он позволяет удвоить полезное количество портов микроконтроллера.
Содержание
Расширитель портов (мультиплексор/демультиплекор/mux) - используется в ситуациях, когда необходимо получить дополнительные порты ввода вывода.
Для того что-бы понять что же такое мультиплексор, рассмотрим простую схему с прошлого урока.
Взглянем на схему подключения светодиода.
Для управления 1 светодиодом используется 1 пин микроконтроллера. Но что, если мы хотим подключить 8 светодиодов? По-хорошему тогда потребуется 8 пинов микроконтроллера, это достаточно много. А если требуется зажигать светодиоды не одновременно, а по очереди (как змейкой), тогда ситуация становится совсем грустной.
Для ситуаций когда не требуется одновременный доступ ко всем пинам, и используется расширитель портов.
В нашем микроконтроллере используется аналоговый мультиплексор/демультиплексор 74HC4051PW. Суть его работы заключается в том, что подавая высокие-низкие уровни на управляющие пины S1-S3, можно подключить к пину Q один из пинов A-H.
Таким образом получается, что используя всего 4 пина, мы можем вывести во внешний мир 8 - в 2 раза больше!
Левый пин выбирается исходя из “числа” которое задается пинами S1-S3, если представить их как степени двойки, формула x = S1 + S2*2^1 + S3*2^2.
Так получим, что
S1, S2, S3 = 0,0,0 ⇒ x=0 ⇒ пин Q подключен к пину A S1, S2, S3 = 1,0,0 ⇒ x=1 ⇒ пин Q подключен к пину B
…
S1, S2, S3 = 0,1,1 ⇒ x=6 ⇒ пин Q подключен к пину G S1, S2, S3 = 1,1,1 ⇒ x=7 ⇒ пин Q подключен к пину H
Расширитель портов такого рода, можно использовать как для цифровых сигналов, так и для аналоговых.