Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 393 6.7. Порты ввода-вывода Введение Все порты микроконтроллеров AVR в режиме цифрового ввода- вывода представляют собой полноценные двунаправленные порты, у которых каждый из выводов может работать как в режиме ввода, так и в режиме вывода. Это означает, что каждый отдельный разряд порта может быть настроен либо как вход, либо как выход, независимо от настройки всех остальных разрядов того же порта. Настроить разряды порта можно при помощи команд сброса и уста ­ новки бита SBI и CBI. То же самое касается изменения значения на выходе (если разряд сконфигурирован как выход) или включения/отключения вну ­ треннего резистора нагрузки (если разряд сконфигурирован как вход). Все эти настройки выполняются отдельно для каждого вывода порта. Выходной буфер каждого из выводов порта содержит симметричный выходной каскад с высокой нагрузочной способностью. Нагрузочная способность каждого вывода любого порта достаточна для непосред ­ ственного управления светодиодным дисплеем. Все выводы любого порта имеют индивидуально подключаемые рези ­ сторы нагрузки, которые в случае необходимости могут подключаться между этим выводом и источником питания. Входные схемы каждой линии порта имеют по два защитных диода, подключенных к цепи пита ­ ния и к общему проводу, как это показано на рис. 6.18. Описание всех регистров и их отдельных разрядов в этом разделе при ­ водится в общей форме. Буква “ х ” в описании имен регистра означает название порта, строчная буква “ п ” означает номер разряда. При использо ­ вании этого имени в программе вместо этих символов нужно подставлять конкретную букву названия порта и конкретный номер разряда. Например, PORTB3 — для бита номер 3 порта В, если в документа ­ ции этот бит назывался PORTxn. Физическое расположение регистров Рис. 6.18. Эквивалентная схема входных цепей одного разряда порта ввода-вывода ввода-вывода и местоположение их разрядов подробно описаны в разделе «Описание регистров портов ввода-вывода». Для каждого порта ввода- вывода в микроконтроллере име ­ ется три специальных регистра: ♦ PORTx — регистр данных; ♦ DDRx — регистр управления; ♦ PINx — регистр непосред ­ ственного чтения состояния линий порта.

RkJQdWJsaXNoZXIy MTExODQxMg==