Мегаобучалка Главная | О нас | Обратная связь


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



2019-10-11 306 Обсуждений (0)
Обращение к портам ввода/вывода 0.00 из 5.00 0 оценок




Упрощенная структурная схема элемента ввода/вывода приведена на рисунке 3.3. Здесь DDRx - бит контроля направления передачи данных и привязки вывода к шине питания (VCC), PORTx - бит привязки вывода к VCC и бит выходных данных, PINx - бит для отображения логического уровня сигнала на физическом выводе микросхемы. На рисунке 3.4, в качестве примера приведена структурная схема первого разряда порта D (PD1) микроконтроллера AT90S4434.

Обращение к портам производится через регистры ввода/вывода, причем под каждый порт в адресном пространстве ввода/вывода зарезервировано по 3 адреса (таблица 3.2). По этим адресам размещаются три регистра - регистр данных порта PORTx, регистр направления данных DDRx и регистр выводов порта PINx. Разряды этих регистров имеют названия Рх7...РхО – для регистров PORTx, DDx7...DDxO – для регистром DDRx и PINx7...PINxO – для регистров PINx. Действительные названия регистров (и их разрядов) получаются подстановкой названия порта вместо символа «х», соответственно для порта А регистры называют PORTA, DDRA, PINA, для порта ВPORTB, DDRB, PINB и т.д. Положение этих регистров в адресном пространстве ввода/вывода приведено в таблице 3.2. При сбросе микроконтроллера регистры DDRx и PORТх очищаются, а все выводы портов после сброса устанавливаются в третье состояние.

 

DDRx - бит контроля направления передачи данных и привязки вывода к шине питания (VCC); PORTx - бит привязки вывода к VCC и бит выходных данных; PINx - бит отображения логического уровня сигнала на физическом выводе микросхемы

Рисунок 3.3 – Структура разряда порта ввода/вывода

 

Следует заметить, что регистры PINx на самом деле регистрами не являются, по этим адресам осуществляется доступ к физическим значениям сигналов на выводах порта. Соответственно, они доступны только для чтения, тогда как регистры PORTx и DDRx доступны и для чтения, и для записи. А в микроконтроллере АТ90С8534 регистр выводов порта вообще отсутствует, т.к. единственный порт этой модели является только портом вывода.

 

WP – Запись в PORTD; WD –Запись в DDRD; RL –Чтение регистра-защелки порта; RP –Чтение состояния вывода порта; RD –Чтение регистра DDRD; TXD – UАRТ.передаваемые данные; TXEN– UART разрешение передачи

Рисунок 3.4 – Структурная схема канала PD1 микроконтроллера AT90S4434

 

Таблица 3.2 – Адреса регистров портов ввода/вывода

Порт Название регистра Адрес AT9BS1200 AT90S2313 AT90S/LS2323 AT90S/LS2343 AT90S/LS2333 AT90S/LS4433 AT90S/LS4434 AT90S/LS8535 AT90S4414 AT90S8515 АТ90С 8 534

А

PORT A $1 B ( $3B )         0 0 0
DDRA $1 A ( $3A )         0 0 0
P1NA $19 ($39)         0 0  

В

PORTB $I 8 ($38) 0 0 0 0 0 0  
DDRB $17 ($37) 0 0 0 0 0 0  
P I NB $16 ($36) 0 0 0 0 0 0  

С

PORTC $15 ($3 5 )       0 0 0  
DDRC $14 ($3 4 )       0 0 0  
PINC $13 ($3 3 )       0 0 0  

D

PO RTD1 $12 ($32) 0 0   0 0 0  
DDRD $11 ($31) 0 0   0 0 0  
P IND $10 ($30) 0 0   0 0 0  

Порядковый номер вывода порта соответствует, разумеется, порядковому номеру разряда регистров этого порта. Поэтому если разрядность порта меньше восьми, в регистрах порта используется соответствующее число младших разрядов. Незадействованные старшие разряды регистров доступны только для чтения и всегда содержат "0".

Таким образом, запись в порт означает запись требуемого состояния для каждого вывода порта в соответствующий регистр данных порта РORTx. А чтение состоянии порта выполняется чтением либо регистра данных порта PORTx, либо регистра выводов порта PINx. При чтении регистра выводов порта PINx происходит считывание логических уровней сигналов, присутствующих на выводах порта. А при чтении регистра данных порта PORTx происходит считывание данных, находящихся в регистре защелке порта. Причем сказанное справедливо как для входных, так и для выходных контактов.

Контрольное чтение состояния выводов порта PINx после записи в порт (запись в регистр PORTx) необходимо выполнить с задержкой, учитывающей емкостную нагрузку на выводах порта. Это можно выполнить с помощью одной или двух команд пустых команд NOP.



2019-10-11 306 Обсуждений (0)
Обращение к портам ввода/вывода 0.00 из 5.00 0 оценок









Обсуждение в статье: Обращение к портам ввода/вывода

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (306)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)