- •Микропроцессорные контроллеры
- •8.3 Система команд
- •10.4 Организация памяти
- •1. Типы архитектур микроконтроллеров
- •1.1 Основные структуры вычислительных систем
- •1.2 Определение микропроцессора
- •1.3 Шинная организация соединений
- •1.4. Типы архитектур микроконтроллеров
- •2 Микроконтроллер на базе 8-разрядного
- •2.1 Описание микропроцессора кр1821вм85
- •2.2 Режимы работы мп
- •3 Микроконтроллер на базе 16-разрядного микропроцессора к1810вм86
- •3.1 Технические характеристики мп к1810вм86
- •3.2 Назначение сигналов
- •3.3 Программно-доступные регистры
- •3.5 Организация внешней памяти
- •3.6 Структурная схема мк на базе мп к1810вм86
- •3.7 Способы адресации
- •3.8 Система команд мп 1810вм86
- •3.8.1 Команды пересылок данных
- •2. Пересылки “регистр-память” -
- •3.8.2 Команды преобразование данных
- •10. Команды сдвигов –
- •3.8.3 Команды передачи управления
- •1. Безусловные переходы -
- •8 Микроконтроллер на базе омэвм к1816ве48
- •8.1 Технические характеристики к1816ве48
- •8.2 Способы адресации операндов
- •8.3 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •8.4 Таймер
- •8.5 Структурная схема мк
- •9 Микроконтроллер на базе омэвм к1816ве51
- •9.1 Технические характеристики омэвм к1816ве51
- •9.2 Организация памяти
- •9.3 Регистры специальных функций
- •9.4 Способы адресации операндов
- •9.5 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •9.6 Управление прерываниями
- •9.7. Последовательный ввод-вывод данных
- •9.8 Таймеры
- •11.1 Семейство pic-контроллеров
- •12 Современные тенденции в развитии
- •12.1 Сигнальные процессоры фирмы Texas Instruments
- •12.2 Сигнальные процессоры Analog Devices
- •12.3 Транспьютеры
9.6 Управление прерываниями
В системе команд ОМЭВМ К1816ВЕ51 существенно расширены возможности по использованию прерываний. Система прерываний –
5-ти уровневая и двухкаскадная.
Источники запросов на прерывания с указанием фиксированных адресов переходов представлены в таблице 9.6.1. Порядок следования запросов на прерывание в этой таблице соответствует исходному распределению приоритетов от высшего (INT0) к низшему (RI):
Таблица 9.6.1
-
Источники запросов
Адреса
Приоритет
Внешний вход - INT0 (вход Р3.2)
0003h
Высший
Tаймер/счетчик – TF0
000Bh
Внешний вход - INT1 (вход Р3.3)
0013h
Таймер/счетчик – TF1
001Bh
Последовательный порт – RI
0023h
Низший
Каждый источник запроса на прерывание может быть индивидуально разрешен или запрещен с помощью регистра прерываний IE, значения разрядов которого следующие:
D7 D6 D5 D4 D3
D2 D1 D0 EA
- - ES ET1 EX1 ET0 EX0
EA= 0 – запрет всех прерываний, 1–разрешение всех прерываний;
ES =1 – разрешение прерывания при приеме бита со входа Р3.0;
ET1, ET0 =1 - разрешение прерывания от таймеров;
EX1, EX0 =1 - разрешение прерывания от внешних источников.
В системе управления прерываниями предусмотрено изменение приоритета каждого источника с помощью регистра IP, значения разрядов которого следующие:
D7 D6 D5 D4 D3
D2 D1 D0
-
- - PS PT1 PX1 PT0 PX0
PS – назначение приоритета для прерывания при приеме бита со входа Р3.0;
- PT1, PT0 - назначение приоритета для прерываний от таймеров;
- PX1, PX0 - назначение приоритета для прерываний от внешних источников.
Для всех пяти источников запросов на прерывание устанавливается – 1 – высший приоритет, 0 – низший приоритет. Если несколько источников запросов будут иметь одинаковое значения разрядов в регистре IP, то тогда распределение приоритетов будет соответствовать исходному распределению (таблица 9.6.1).
При выполнении прерываний реализуются операции, соответствующие команде LCALL:
- заканчивается текущая команда;
- полный 16-разрядный адрес следующей команды в виде 2-х байтов записываются в стек, при этом PSW в стек не записывается;
- в РС записываются фиксированные начальные адреса подпрограмм обработки прерывания в соответствии с таблицей 9.6.1;
- выполняется переход по начальному адресу подпрограммы обработки прерывания, в конце которой должна стоять команда RETI.
9.7. Последовательный ввод-вывод данных
В ОМЭВМ К1816ВЕ51 предусмотрено два способа последовательного ввода-вывода данных – синхронный и асинхронный с переменной скоростью обмена данными.
В качестве последовательного порта используются разряды порта Р3 – Р3.0 – для приема данных, а Р3.1 – для передачи данных.
Последовательный ввод-вывод данных программируется на 4 режима путем записи в регистр SCON управляющего кода, значения разрядов которого следующие:
D7
D6 D5 D4 D3 D2 D1 D0 SM0
SM1 SM2 REN TB8 RB8 TI RI
- SM0, SM1 - режим последовательного ввода-вывода данных;
- SM2 - разрешение многопроцессорной работы;
- REN – прием (при 1) и передача (при 0);
- TB8 – 9-й бит при передачи данных, может быть использован в качестве контрольного бита;
- RB8 - 9-й бит при приеме данных, может быть использован в качестве контрольного бита;
- TI - признак окончания передачи байта из регистра SBUF;
- RI - признак прерывания после приема байта в регистр SBUF.
Передача байта выполняется в следующей последовательности:
a). в управляющем регистре SCON указывается режим последовательного вывода байта, значение 9-го контрольного разряда бита, например MOV SCON, #11001000b ;
б). выполняется команда записи в регистр SBUF передаваемого байта
MOV SBUF, A ,
после чего сразу же начинается последовательная передача байта с выхода Р3.1.
в). после окончания передачи байта формируется признак TI = 1.
Прием байта выполняется в следующей последовательности:
a). в управляющем регистре SCON указывается режим последовательного приема байта и устанавливается разрешение приема REN=1;
б). после обнаружения стартового бита выполняется прием информационного байта в регистр SBUF и контрольного 9-го бита в разряд RB8 регистра SCON;
в). формируется прерывание RI , по которому необходимо сохранить принятый байт .
Отметим режимы последовательного ввода-вывода байта, которые определяются разрядами SM1, SM0:
Режим 0. Синхронный ввод-вывод данных. Последовательный порт работает как сдвиговый регистр, при этом необходимо передавать сигнал синхронизации, так как тактовая последовательность на приеме должна быть синхронизирована с тактовой последовательностью на передачи. Скорость приема-передачи фиксированная и равна до 1000 кбод, так как для передачи используется тактовая частота fT = fQ/12, где fQ – тактовая частота кварцевого генератора.
Режим 1. Асинхронный ввод-вывод данных. Бит ТВ8 не передается. Скорость передачи определяется частотой переполнения таймера, то есть скорость можно задавать программным путем от 100 бод до 62 кбод. Для асинхронной передачи данных характерной особенностью является побайтная передача и наличие стартовой и стоповой посылки (рисунок 9.7.1).
Режим 2. Асинхронный ввод-вывод данных. Бит ТВ8 передается в качестве контрольного. Скорость передачи в этом режиме фиксированная, равна 375 кбод и определяется использованием тактовой частоты
fT = fQ/32.
Рисунок 9.7.1 Последовательная асинхронная передача байта
в режимах 2 и 3
Режим 3. Асинхронный ввод-вывод данных. Бит ТВ8 передается в качестве контрольного. Скорость передачи в этом режиме определяется частотой переполнения таймера. Записывая в таймер необходимый код, можно задавать требуемую скорость передачи битов.