33365

Порты ввода-вывода ОМК АТ90S8515

Доклад

Коммуникация, связь, радиоэлектроника и цифровые приборы

Конфигурирование каждой линии порта задание направления передачи данных может быть произведено программно в любой момент времени. Обращение к портам ввода вывода Обращение к портам производится через регистры ввода вывода причем под каждый порт в адресном пространстве ввода вывода зарезервировано по 3 адреса. По этим адресам размещаются три регистра: регистр данных порта PORTx регистр направления данных DDRx и регистр выводов порта PINx. Действительные названия регистров и их разрядов получаются подстановкой названия порта вместо...

Русский

2013-09-05

31.5 KB

1 чел.

Порты ввода-вывода ОМК АТ90S8515

Как и любые другие микроконтроллеры, микроконтроллеры AVR семейства Classic имеют порты ввода/вывода. Каждый порт состоит из определенного числа выводов, через которые микроконтроллер может принимать или передавать цифровые сигналы. Конфигурирование каждой линии порта (задание направления передачи данных) может быть произведено программно в любой момент времени. Для линий, сконфигурированных как входные, также имеется возможность подключения внутреннего подтягивающего резистора сопротивлением 35... 120 кОм между входом и проводом питания VDD. Кроме того, если вывод (вход) с подключенным внутренним подтягивающим резистором подключить к общему проводу, он может служить источником тока.

Максимальная нагрузочная способность выходных буферов портов ввода/вывода при логическом «0» на выходе составляет 20 мА. Благодаря этому микроконтроллер может непосредственно управлять светодиодными индикаторами.

Обращение к портам ввода/вывода

Обращение к портам производится через регистры ввода/вывода, причем под каждый порт в адресном пространстве ввода/вывода зарезервировано по 3 адреса. По этим адресам размещаются три регистра: регистр данных порта PORTx, регистр направления данных DDRx и регистр выводов порта PINx. Разряды этих регистров имеют названия: Px7...Px0 - для регистров PORTx, DDx7...DDx0 - для регистров DDRx и PINx7...PINx0 - для регистров PINx. Действительные названия регистров (и их разрядов) получаются подстановкой названия порта вместо символа «x», соответственно для порта A регистры называются PORTA, DDRA, PINA, для порта В - PORTB, DDRB, PINB и т.д. При сбросе микроконтроллера регистры DDRx и PORTx очищаются, а все выводы портов после сброса устанавливаются в третье (высокоимпедансное) состояние.

«Регистры» PINx на самом деле регистрами не являются (их можно рассматривать как входные буферы), по этим адресам осуществляется доступ к физическим значениям сигналов на выводах порта. Соответственно, они доступны только для чтения, тогда как регистры PORTx и DDRx доступны и для чтения, и для записи.

Конфигурирование портов ввода/вывода

Направление передачи данных определяется содержимым регистра DDRx. Если разряд DDxn этого регистра установлен в «1», соответствующий n-й вывод порта является выходом. Если же разряд DDxn этого регистра сброшен в «0», соответствующий вывод порта является входом.

Управление подтягивающим резистором осуществляется с помощью регистра данных порта PORTx. Если разряд Pxn регистра PORTx установлен в «1» и соответствующий вывод порта является входом, между этим выводом и проводом питания подключается подтягивающий резистор. Чтобы отключить подтягивающий резистор, необходимо либо сбросить соответствующий разряд регистра PORTx, либо сделать вывод порта выходом.