Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы_по_вариантам.doc
Скачиваний:
16
Добавлен:
23.04.2019
Размер:
281 Кб
Скачать
☆
  1. Режимы работы. Способы выхода из режима холостого хода.

Для окончания режима холостого хода имеются два способа. Активизация любого разрешенного прерывания автоматически приведет к установке PCON. 0=0, оканчивая режим холостого хода. После исполнения команды RETI (выход из подпрограммы обслуживания прерывания) будет исполнена команда, которая следует за командой, переведшей ОМЭВМ в режим холостого хода. Биты GF0 и GF1 (PCON.2 и PCON.3) удобно использовать для индикации режима, в котором была вызвана программа обработки прерывания: произошло это при нормальной работе ОМЭВМ или в режиме холостого хода. К примеру, команда, вызывающая режим холостого хода, может также устанавливать один или несколько флагов (GF0, GF1 или каких-либо других). Программа обработки прерывания, проверяя эти флаги, может определить предысторию своего вызова. Другим способом окончания режима холостого хода является аппаратный сброс по входу RST длительностью не менее двух машинных циклов. Активный сигнал сброса на выводе RST асинхронно сбрасывает бит IDL (PCON.0). Поскольку тактовый генератор работает, ОМЭВМ сразу после сброса IDL начинает выполнять программу с команды, следующей за командой, вызвавшей режим холостого хода. Между сбросом бита IDL и моментом, когда включится внутренний алгоритм сброса, может пройти до двух машинных циклов выполнения программы. Внутренние аппаратные средства ОМЭВМ блокируют доступ к внутренней памяти данных в течение указанного времени, но не блокируют доступ к портам. Если при этом изменение информации на портах нежелательно, то необходимо следить, чтобы за командой, которая устанавливает бит IDL, не следовала непосредственно команда, записывающая информацию в порт или во внешнюю память данных.

Вариант 7

1 Порты Устройство портов

Каждый из портов содержит регистр-защелку (SFR P0 — SFR P3), выходную цепь и входной буфер.

Рис.3.Порт P0 Рис.4.Порт P1 Рис.5.Порт P2 Рис.6.Порт P3

На рисунке изображены функциональные схемы регистров-защелок и буферов ввода-вывода всех портов микро-ЭВМ 8051. Каждый из разрядов регистра-защелки SFR является D-триггером, информация в который заносится с внутренней шины данных микроконтроллера по сигналу «Запись в SFR Pх» (х= 0, 1, 2, 3) от центрального процессорного элемента (CPU). С прямого выхода D-триггера информация мажет быть выведена на внутреннюю шину по сигналу «Чтение SFR Pх» от CPU, а с вывода микросхемы («из внешнего мира») по сигналу «Чтение выводов Pх». Одни команды активизируют сигнал «Чтение SFR PI», другие - «Чтение выводов РI».

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

Выходная информация порта фиксируется в триггере-защелке при записи в него соответствующего значения по внутренней шине данных. Входная информация порта интерпретируется либо как содержимое триггера-защелки порта, либо как состояние на соответствующем выводе микросхемы в зависимости от типа используемой команды. Выходные цепи портов P0 и P2 переключаются либо выход своего тригера-защелки либо на внутреннюю шину адреса и данных в зависимости от текущего режима работы. Во время доступа к внешней памяти содержимое тригеров-защелок порта P2 не изменяется, а тригеры-защелки порта P0 устанавливаются в 1. Выводы портов P1, P2, P3 имеют внутренние резисторы-подпорки. Выводы порта P0 имеют выходы с открытым стоком. Если требуется использование выводов этого порта в качестве выходов, то необходимы внешние резисторы подпорки на соответствующие выводы. Для того чтобы отдельные выводы порта могли использоваться как входы либо выполнять альтернативные функции, в их триггеры защелки должна быть записана 1. После системного сброса триггеры всех выводов всех портов содержат 1, т.е. все выводы портов настроены на работу в качестве входов либо на выполнение альтернативных функций. Если выполняемая команда записывает новое значение в порт, т.е. изменяет содержимое внутреннего триггера-защелки, новое значение поступает на вход триггера-защелки в фазе S6P2 последнего цикла инструкции. Однако новая информация действительно появится на выходе порта лишь в фазе S1P1 следующего машинного цикла. Входные данные, считываемые с выводов портов фиксируются в моменты S5P1 каждого машинного цикла. Чтение информации с выходов защелок, а не с внешних контактов выводов порта позволяет исключить возможную в ряде случаев неправильную интерпретацию уровня напряжения на выводе порта. К примеру, вывод порта может использоваться для управления базой n-p-n транзистора. В этом случае, когда в защелку вывода порта записывается "1", транзистор открывается. Если после этого ОМЭВМ прочитает состояние внешнего контакта рассматриваемого вывода порта, то получит значение логического "0", т. к. на контакте в это время присутствует напряжение базы открытого транзистора. Чтение же выхода защелки покажет истинное значение сигнала на выводе порта, т. е. "1".