Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
final_vershion.doc
Скачиваний:
66
Добавлен:
26.03.2015
Размер:
305.15 Кб
Скачать

Билет 6

  1. Порты. Откуда поступает старший байт адреса на выводы порта Р2 при выполнении команды movx @R0,a?

Из старших разрядов аккумулятора a8...a15

  1. Механизм прерываний. Система приоритетов.

В микроконтроллере реализованы прерывания:

- внешние прерывания INT0 и INT1;

- прерывания от таймеров Т0, Т1 и Т2;

- прерывание от последовательного порта UART или SPI

Существует высокий и низкий уровни прерываний, определяемые по состоянию битов регистра IP.0-IP.4 (1- высокий, 0- низкий). При приходе прерываний одного уровня приоритет следующий(сверху вниз): INT0#, таймер T0, INT1#, таймер T1, последовательный порт.

  1. Таймеры. Т2 как измеритель длительности периода.

Для измерения длительности импульса измеряемый сигнал подается на вывод микроконтроллера INTx и в бит управления GATE записывается разрешающий сигнал логической единицы

mov TMOD,#00001001b

mov TH2, #0 ;Обнулить старший байт таймера

mov TL2, #0 ;Обнулить младший байт таймера

setb TR0 ;Включить измеритель ширины импульса

TstLog0: jnb INT0, TstLog0 ;Подождать начало импульса (начало - 1)

TstLog1: jnb INT0, TstLog1 ;Подождать конец импульса (надо вроде jb)

Clr TR0 ;Отключить измеритель ширины импульса

  1. Режимы работы. Способы выхода из режима холостого хода.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]