Передача данных

Система прерываний MК51

Внешние прерывания по входам INT0 и INT1 могут быть вызваны либо уровнем (0), либо фронтом (переход из 1 в 0) сигналов на выводах Р3.2, Р3.3, что определяется программированием битов IT0 и IT1 регистра TCON. При поступлении запроса внешнего прерывания устанавливаются флаги IE0 или IE1. При прерываниях по фронту эти флаги сбрасываются аппаратно при обращении к подпрограмме обслуживания, при прерываниях по уровню флаги очищаются при снятии запроса внешнего прерывания.

В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний (IE) и уровнями приоритета (IP). Установка бита ЕА снимает общую блокировку прерываний.

Прерывания от таймеров/счетчиков вызываются при их переполнении установкой флагов TF0 и TF1. Очистка этих флагов происходит автоматически при обращении к подпрограммам обслуживания. Флаги запросов прерываний приемника и передатчика последовательного порта RI и TI устанавливаются аппаратно, но сбрасываться должны программой.

Если прерывания разрешены и сформировался соответствующий флаг, система прерываний помещает в стек содержимое счетчика команд РС и загружает в счетчик команд адрес вектора подпрограммы обслуживания. По адресу вектора обычно располагается команда безусловной передачи управления к начальному адресу подпрограммы обслуживания прерывания. Подпрограмма обслуживания должна в случае необходимости начинаться командами записи в стек (PUSH) PSW, ACC, B, DPTR и заканчиваться командами восстановления их из стека (РОР). Подпрограммы обслуживания обязательно заканчиваются командой RETI, снимающей блокировку прерываний.


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

Взаимодействие с памятью программ ПП (только для чтения) и внешней памятью данных ВПД (для чтения и записи) осуществляется только через аккумулятор А с использованием косвенной адресации.

К ячейкам резидентной памяти данных РПД можно обратиться как с помощью косвенной адресации (в качестве указателей памяти используются регистры R0 или R1), так и с помощью прямой адресации.

Прямая адресация байтов используется при обращении к регистрам специальных функций РСФ.

При работе с битами всегда используется прямая адресация битов. Пересылка битов возможна только через триггер переноса С.

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

Доступ к внешней памяти данных возможен с использованием 16-битного адреса (MOVX A,@DPTR) или 8-битного адреса (MOVX A,@Ri). В любых случаях использования 16-разрядного адреса старший байт адреса фиксируется (и сохраняется неизменным в течение одного цикла записи или чтения) в регистре-защелке порта P2.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: