Воскресенье, 19.05.2024, 20:55
Всего понемногу...
Меню сайта
Категории
AVR [6]
Питание [4]
Генераторы [0]
ESR [6]
Детекторы [0]
Справочник [13]
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Ваши данные:
 
Главная » Статьи » Радиотехника » AVR

Порты ввода/вывода

Порты ввода/вывода

С внешним миром микроконтроллер общается через порты ввода вывода.

От превышенных и отрицательных значений напряжения порт защищён внутренними диодами. Эти диоды слабы и защищают порт от перепадов всего в 1-2 В. Большие перепады способны привести к выгоранию порта.

На рисунке показана цоколёвка микроконтроллера Atmega8 в корпусе PDIP28. Порты ввода/вывода обозначены следующим образом PXY, где X - имя порта, а Y - номер бита в этом порту (например, вывод PD0 является нулевым битом порта D).

За настройку каждого порта отвечают 3 регистра конфигурации порта: PORTx, DDRx, PINx (x - имя порта)

DDRx - регистр направления порта.
Если DDRx.y=0, то бит y порта x работает в режиме входа, если DDRx.y=1, то бит y порта x работает в режиме выхода.

PORTx - управления состоянием вывода.

Когда ножка настроена на выход (DDRx.y=1) , то значение соответствующего бита y в регистре PORTx определяет состояние вывода. Если PORTx.y=1, то на выводе установится напряжение, соответсвующее логической единице; если PORTx.y=0, то на выводе установится логический ноль.

Когда ножка настроена на вход (DDRx.y=0), то в зависимости от значения PORTx.y возможны 2 варианта состояния:

1) Вход PullUp — вход с подтяжкой (PORTx.y=1)

При такой конфигурации замыкается ключ подтяжки и к линии подключается резистор 100кОм, что приводит к возникновению на выводе логической 1. Если этот вывод замкнуть на землю (например кнопкой), то слабый резистор не сможет удерживать напряжение на линии на уровне логической единицы и на выводе установится ноль.

Для неиспользуемых выводов рекоммендуется устанавливать этот режим (это приведёт к снижению энергопотребления и повышению надёжности)

P.S. бит PUD в регистре SFIOR запрещает включение подтяжки сразу для всех портов. По умолчанию он равен 0, то есть подтяжка разрешена

2) Вход Hi-Z — режим высокоимпендансного входа (PORTx.y=0).

При такой конфигурации вывод вообще никуда не подключен и ни на что не влияет. Но при этом он постоянно отправляет свое состояние в регистр PIN и всегда можно узнать что на этом входе — единица или ноль. Этот режим подходит для прослушивания какой-либо шины данных, так как он не оказывает на неё никакого влияния. Если вывод никуда не подключён и просто "висит в воздухе", то напряжение на нём будет колебаться от действия внешних наводок, электромагнитных полей и т.д

Этот режим стоит по умолчанию.

PINх
Это регистр чтения. Из него можно только читать. В регистре PINx содержится информация о реальном текущем логическом уровне на выводах порта. Вне зависимости от настроек порта




Источник: http://www.atmega8.ru/wiki/view/doc.16.html
Категория: AVR | Добавил: adelay (23.04.2013)
Просмотров: 778 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
ADelay © 2024
Конструктор сайтов - uCoz