Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций_Лобан_.doc
Скачиваний:
7
Добавлен:
21.12.2018
Размер:
2.06 Mб
Скачать

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

Процессоры C8051F06 фирмы Silabs имеют 8 портов ввода-вывода:

  • порты P0-P3 адресуются как битно, так и побайтно

  • порты P4-P7 доступны только для побайтной адресации

Порты ввода-вывода в SFR представлены регистром защелки.

Входной драйвер определяется входным сопротивлением. Резистор подтяжки (к питанию 3,26 В) имеет сопротивление порядка 100 кОм.

Выходные драйверы P0-P3 могут иметь 2 режима работы:

  1. нормальный режим работы (push-pull)

  2. режим работы с открытым стоком (open-drain)

Резистор подтяжки подключается только в режиме работы с открытым стоком.

Схема 25. Организация порта ввода-вывода

PORT-OUTPUT – основная линия вывода, на нее необходимо подать PORT-OUTENABLE

WEAK-PULLUP – слабая подтяжка

Выходы порта P1 могут служить для аналогового ввода для ADC2. Выходы порта P2 могут служить для аналогового ввода для компаратора.

После RESET все линии портов ввода-вывода программировались для цифрового ввода. Чтобы сконфигурировать порты для аналогового ввода необходимо записать в соответствующий бит регистра защелки логический нуль, разрешить режим с открытым стоком, явно запретить резисторы подтяжки.

Порты ввода-вывода связаны с цифровым коммутатором и с приоритетным дешифратором.

Цифровой коммутатор и приоритетный дешифратор

Через цифровой коммутатор можно скоммутировать любые линии периферии интерфейса на выходы драйверов портов.

Только порт P0 имеет «толерантные» линии, которые могут работать с напряжением 5 В.

Для правильной коммутации встроен приоритетный дешифратор. Он показывает, какие устройства, каким образом должны быть подключены.

Таблица 4. Приоритетный дешифратор

Как видно из таблицы, наивысшим приоритетом периферии обладает UART0, наивысшим приоритетом обладает порт выхода P0.0. Чем выше в таблице, тем выше приоритет.

Выбор подключаемых устройств осуществляется строго перебором сверху вниз, при этом, если выбрали какой-либо интерфейс, должны подключаться все его линии. Выбор пинов осуществляется строго слева направо, начиная с порта 0 до 2.

Регистры конфигурирования XBR (0-3) имеют биты для коммутации периферии.

Форматы регистров конфигурирования

  1. XBR0

Бит SMB0EN разрешает работы с периферийными узлами

Биты 3-5 – PCA0ME – биты разрешения:

000 - запрещение

001 - CEX0

010 - CEX0, CEX1

011 - CEX0, CEX1, CEX2

100 - CEX0, CEX1, CEX2, CEX3

101 - CEX0, CEX1, CEX2, CEX3, CEX4

Бит ECI0E – разрешение включения счетчика PCA

  1. XBR1

В отличие от базовой модели биты INT0E и T0E коммутируют

  1. XBR2

Бит WEAKPUD: по умолчанию режим подтяжки включен (0), если не нужен, то автоматически отключается (1). Если режим подкачки не нужен то его можно отключить явно.

Бит XBARE: до тех пор пока он не установлен в единицу, все порты ввода-вывода работают в обычном режиме ввода-вывода не смотря на то, что коммутация разрешена другими регистрами.

  1. XBR3

Бит T3EXE: внешняя линия управления таймера Т3

  1. P0MDOUT – регистр, определяющий режим выходного драйвера для порта Р0, по умолчанию (все нули) – режим с открытым стоком.

  1. P0 – регистр защелки

  1. P1