Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры (конспект).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
972.29 Кб
Скачать

Вектора прерываний

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

Во втором случае каждому источнику прерываний ставится в соответствие определенный адрес программы (вектор прерывания) и по этому адресу программист размещает команду перехода к соответствующей этому источнику подпрограмме обработки прерывания.

Источник прерывания

Вектор прерывания

Внешнее прерывание INT0

0003h

Таймер/счетчик Т/С0

000Вh

Внешнее прерывание INT1

0013h

Таймер/счетчик Т/С1

001Вh

Последовательный порт

0023h

Таблица 1.9 Вектора прерывания микроконтроллера 8051.

1.7 Порты ввода/вывода организация ввода/вывода

Порты ввода-вывода обеспечивают ввод и вывод данных в параллельном формате. Обычно порты ввода-вывода выполняются 8-разрядными. В режиме ввода данные с внешних контактов порта пересылаются в регистры микроконтроллера. В режиме вывода данные из регистров перемещаются на контакты микроконтроллера. Вывод данных, как правило, производится в «защелку» порта. Данные при этом присутствуют на выходных контактах до новой операции вывода в этот порт. В системе команд микроконтроллера для ввода и вывода данных обычно предусматриваются специальные команды.

В зависимости от выполняемых функций порты могут быть:

  • однонаправленными, предназначенными только для выполнения одной из

  • операций (ввод или вывод) по всем линиям;

  • двунаправленными, предназначенными для выполнения любой из операций ввода-вывода по всем линиям одновременно; направление передачи может быть изменено программно в процессе работы;

  • с индивидуальной настройкой линий; направление передачи данных по

  • каждой линии программируется независимо от остальных.

Последний вариант построения схемы порта в настоящее время наиболее распространен.

Алгоритмы обмена данными

Порты ввода-вывода предназначены для связи микроконтроллера с различными объектами и могут реализовывать различные алгоритмы обмена данными:

  • асинхронный программный обмен,

  • синхронный обмен,

  • ввод-вывод с сигналами квитирования.

Обмен данными между портами и объектами обеспечивается специальными подпрограммами - драйверами, создаваемыми индивидуально для каждого объекта.

Асинхронный обмен

В режиме асинхронного программного обмена ввод и вывод данных производится по программе в моменты выполнения инструкций ввода и вывода данных. Предполагается, что объект всегда готов к обмену: при вводе - данные в момент выполнения инструкции in присутствуют на линиях порта, при выводе - данные будут прочитаны с линий порта до следующего вывода.

Симплексный обмен

Симплексным считается однонаправленный обмен данными. Такой обмен обычно является синхронным. В этом случае каждое изменение данных на линиях порта сопровождается сигналом синхронизации (стробом). Строб генерируется источником данных и предназначается для задания момента записи данных в регистр приемника.

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

Полудуплексный обмен

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

Дуплексный обмен

Дуплексным считается двунаправленный синхронный обмен, при котором в любой момент времени возможна передача данных в двух направлениях. В этом случае для передачи данных в каждом направлении выделяется свой однонаправленный порт.

организация портов ввода вывода микроконтроллера 8051.

Общие сведения.

Количество портов - 4. Название - P0...P3, они адресуются как регистры специальных функций. Разрядность - 8 с возможностью побитной адресации разрядов. Направление обмена информацией через порты - все порты двунаправленные, причем имеется возможность в каждом порту часть разрядов использовать для ввода данных, а часть для вывода.

Альтернативные функции.

Из-за ограниченного количества выводов корпуса ИМС микроконтроллера, большинство выводов используется для выполнения двух функций - в качестве линий портов и для альтернативных функций:

  • Порты P0 и Р2используются при обращении к внешней памяти. При этом на выходах P0 младший байт адреса внешней памяти мультиплексируется с вводимым/выводимым байтом. Выходы Р2 содержат старший байт адреса внешней памяти, если адрес 16-разрядный. При использовании восьмиразрядного адреса портом Р2 можно пользоваться для ввода-выввода информации обычным образом. При обращении к внешней памяти в P0 автоматически заносятся 1 во все биты. Информация в Р2 при этом остается неизменной.

  • Порт P3 помимо обычного ввода и вывода информации используется для формирования и приема специальных управляющих и информационных сигналов. Разряды порта (все или частично) при этом могут выполнять следующие альтернативные функции. Альтернативные функции могут быть активированы только в том случае, если в соответствующие биты порта P3 предварительно занесены 1. Неиспользуемые альтернативным образом разряды могут работать как обычно.

Вывод порта

Альтернативная функция

РЗ.0

RXD - вход последовательного порта

Р3.1

TXD - выход последовательного порта

РЗ.2

INT0 - внешнее прерывание 0

Р3.3

INT1 - внешнее прерывание 1

РЗ.4

Т0 - вход таймера-счетчика 0

РЗ.5

Т1 - вход таймера-счетчика 1

РЗ.6

WR - строб записи во внешнюю память данных

РЗ.7

RD - строб чтения из внешней памяти данных

Таблица 1.10 Альтернативные функции портов.