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

394 Микроконтроллеры AVR от азов программирования... Регистр непосредственного чтения состояния линий порта доступен только для чтения, в то время как регистр данных и регистр управления доступны как для чтения, так и для записи. Однако тоже возможна запись логической единицы в любой разряд регистра PINx. Она приведет к переключению соответствующего разряда регистра данных (PORTx). Каждый разряд регистра PORTx управляет включением и отключением резистора внутренней нагрузки, если соот ­ ветствующий разряд порта находится в режиме ввода. Внимание. Если установлен флаг отключения нагрузок (PUD) в регистре MCUCR, то все внутренние нагрузочные резисторы всех разрядов всех портов всегда отключены. Подробнее об использовании портов ввода-вывода смотрите в раз ­ деле «Общие вопросы использование цифровых портов ввода-вывода» Шага 6. Большинство разрядов любого порта имеют, кроме основной, одну или несколько дополнительных функций. Описание дополнитель ­ ных функций для каждого вывода микросхемы приводится в разделе «Дополнительные функции линий порта ввода-вывода». Для получения полной информации о дополнительных функциях обратитесь к соответ ­ ствующим абзацам этого раздела. Следует отметить, что использование дополнительной функции одним из разрядов порта не мешает использовать остальные разряды того же порта для ввода или вывода цифровой информации. Использование портов для цифрового ввода-вывода Каждый разряд порта представляет собой двунаправленную линию ввода-вывода с возможностью подключение внутреннего сопротивления нагрузки. На рис. 6.19 показана функциональная схема одной линии порта ввода-вывода. Выходной контакт этой линии обозначен на схеме как Рхп. Н Это интересно знать. Сигналы WRx, WPx, WDx, RRx, RPx, и RDx являются общими для всех раз ­ рядов одного порта. Сигналы clk l/c , SLEEP и PUD являются общими для всех портов. Конфигурация выводов Каждый разряд порта связан с тремя разрядами трех специальных регистров: DDxn; PORTxn; PINxn. Как уже говорилось: ♦ бит DDxn — это разряд номер п регистра DDRx;

RkJQdWJsaXNoZXIy MTExODQxMg==