- •Вариант 1
- •1. Идентификаторы типа данных передаваемые через порт p0. Данный ответ совсем не понятен, гадайте сами, что авторы имели ввиду
- •2. Механизм прерываний. Прерывания по уровню (организация, обработка, применение).
- •3. Таймеры. Т0 как таймер.
- •4. Режимы работы, orl pcon,#02h
- •Вариант 5
- •2. Механизм прерываний. Способы уменьшения числа прерываний при обмене
- •3. Таймер т2 как генератор сигналов
- •4. Режимы работы. Способы выода из режима пониженного энергопотребления.
- •Билет 6
- •Вариант 7
- •1 Порты Устройство портов
- •2 Механизм прерываний. Как можно увеличить число внешних прерываний за счет таймера то?
- •3 Таймеры. Сторожевой таймер (аппаратурное решение).
- •4 Система команд. Как изменится состояние psw после команды orl a,#01h?
- •Билет 8
- •Вариант 9
- •1 Порты. Какое состояние выводов имеет порт ро микроконтроллера i80c5l по включению питания?
- •2 Механизм прерываний. Как можно увеличить число внешних прерываний за счет таймера т2?
- •3 Таймеры. То как измеритель длительности импульса
- •4 Система команд. Как изменится состояние асс после команды xrl a,#01h?
- •Билет 10
- •Билет 11
- •Билет 12
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •4.Порты. Откуда поступает старший байт адреса на выводы порта р2 при выполнении команды movx @r0,a?
- •Вариант 17
- •Режим захвата.
- •Режим 16-разрядного программируемого таймера.
- •Режим скоростного вывода.
- •Вариант18
- •4.Режимы работы. Once
- •Вариант19
- •Билет 20
- •Вариант 2i
- •1. Порты. Напишите программу формирования одиночного импульса на выводе p1.0
- •Вариант 22
- •Билет 31
4.Порты. Откуда поступает старший байт адреса на выводы порта р2 при выполнении команды movx @r0,a?
Из старших разрядов аккумулятора a8...a15
Вариант 17
Модуль РСА как вход запроса на прерывание
Режим захвата.
При обнаружении фронта или спада на внешнем выводе СЕХn в этом режиме осуществляется запись значения РСА таймера-счетчика в регистры ССАРnН, CCAPnL (см. рисунок). Этот режим рекомендуется использовать при измерении периодов, длительности, скважности импульсов, а также разности фаз между различными входами. Установка битов САРРn и/или CAPNn в регистре ССАРМn определяет перепад (0-1 или 1-0), по которому будет осуществляться захват. При захвате устанавливается флаг события модуля CCFn в регистре CCON, и генерируется запрос на прерывание, если установлен бит ECCFn в регистре ССАРМn. Флаг события сбраывается программно. До наступления следующего события значение в регистрах ССАРnН, CCAPnL должно быть сохранено в ОЗУ подпрограммой обработки прерывания. В противном случае, в регистрах ССАРnН, CCAPnL будет записано новое значение.
Режим 16-разрядного программируемого таймера.
В этом режиме 16-разрядное значение РСА таймера-счетчика сравнивается с 16-разрядным значением, которое было предварительно загружено в регистры CCAPnH, CCAPnL одного из модулей сравнения-захвата. Это происходит трижды за машинный цикл. Установка бита ЕСОМn в регистре ССАРМn разрешает функцию сравнения, как показано на рисунке. Для перехода в режим программируемого таймера также должен быть установлен бит МАТn. Когда происходит совпадение значений РСА таймерасчетчика и регистров CCAPnH, CCAPnL, устанавлиается флаг событий CCFn. При этом будет генерироваться запрос на прерывание, если бит ECCFn установлен. Математическое обеспечение должно сбрасывать флаг событий CCFn перед тем, как произойдет следующее совпадение.
Подпрограмма обработки прерывания может записать новое 16-paзpядное значение в регистры ССАРnН, CCAPnL. Однако следует помнить, что запись в CCAPnL сбрасывает ЕСОМn бит, тем самым запрещая функцию сравнения на время пока происходит изменение содержимого этих регистров, что позволяет избежать неверного совпадения. Запись ССАРnН устанавливает бит ЕСОМn и возобновляет работу компаратора. По этой причине математическое обеспечение должно записывать сначала CCAPnL, затем ССАРnН.
Режим скоростного вывода.
В этом режиме формируется сигнал на внешнем выводе СЕХn, когда происходит совпадение РСА таймера со значением, которое было предварительно загружено в регистры ССАРnН, CCAPnL одного из модулей. В этом режиме бит TOGn должен быть установлен дополнительно к битам ЕСОМn и МАТn, как показано на рисунке в предыдущем разделе. Устанавливая или сбрасывая этот бит в своей программе, вы можете формировать на внешнем выводе СЕХn или фронт, или спад. Кроме того, при совпадении может генерироваться запрос на прерывание, если бит ECCFn установлен. Режим скоростного вывода является более точным по сравнению с переключением контактов параллельного порта программным путем, поскольку формирование сигнала на внешнем выводе происходит до обращения к подпрограмме обработки прерывания. Это значит, что задержка, связанная с выполнением подпрограммы обработки прерывания, не будет влиять на формирование сигнала. Если подпрограмма обработки прерывания не изменит содержимого регистров ССАРnН, CCAPnL, то следующий сигнал "совпадение" будет сформирован после того, как значение РСА таймера-счетчика снова совпадет со старым сравниваемым значением.
Последовательный связной адаптер. Как организовать программно-управляемую передачу данных, если в SCON записан код 52h?
В регистре SCON – 50h (01010000b) – SCON.6 (SM=1) и SM 0=0 – 8 битный приёмо-передатчик. И установлен SCON.4 – бит разрешения приёма.
ЕСЛИ 52h:
BYTE_T:
WAIT:
JNB SCON.1, WAIT
CLR SCON.1 // сначала сбросим флаг (TI) прерывания передатчика.
MOV SBUF, A
RET
Память. Рассчитайте адрес ячейки памяти для команды movс а,@а+рс
Адрес ячейки вычисляется следующим образом ((A)+(PC)+1)
Порты. Почему при выполнении команд типа чтение-модификация-запись над содержимым порта информация берется не с вывода, а с выхода триггера-защелки порта?
Выходная информация порта фиксируется в триггере-защелке при записи в него соответствующего значения по внутренней шине данных. Входная информация порта интерпретируется либо как содержимое триггера-защелки порта, либо как состояние на соответствующем выводе микросхемы в зависимости от типа используемой команды. Выходные цепи портов P0 и P2 переключаются либо выход своего тригера-защелки либо на внутреннюю шину адреса и данных в зависимости от текущего режима работы. Во время доступа к внешней памяти содержимое тригеров-защелок порта P2 не изменяется, а тригеры-защелки порта P0 устанавливаются в 1. Выводы портов P1, P2, P3 имеют внутренние резисторы-подпорки. Выводы порта P0 имеют выходы с открытым стоком. Если требуется использование выводов этого порта в качестве выходов, то необходимы внешние резисторы подпорки на соответствующие выводы. Для того чтобы отдельные выводы порта могли использоваться как входы либо выполнять альтернативные функции, в их триггеры защелки должна быть записана 1. После системного сброса триггеры всех выводов всех портов содержат 1, т.е. все выводы портов настроены на работу в качестве входов либо на выполнение альтернативных функций. Если выполняемая команда записывает новое значение в порт, т.е. изменяет содержимое внутреннего триггера-защелки, новое значение поступает на вход триггера-защелки в фазе S6P2 последнего цикла инструкции. Однако новая информация действительно появится на выходе порта лишь в фазе S1P1 следующего машинного цикла. Входные данные, считываемые с выводов портов фиксируются в моменты S5P1 каждого машинного цикла. Чтение информации с выходов защелок, а не с внешних контактов выводов порта позволяет исключить возможную в ряде случаев неправильную интерпретацию уровня напряжения на выводе порта. К примеру, вывод порта может использоваться для управления базой n-p-n транзистора. В этом случае, когда в защелку вывода порта записывается "1", транзистор открывается. Если после этого ОМЭВМ прочитает состояние внешнего контакта рассматриваемого вывода порта, то получит значение логического "0", т. к. на контакте в это время присутствует напряжение базы открытого транзистора. Чтение же выхода защелки покажет истинное значение сигнала на выводе порта, т. е. "1".