
- •Управление четырехфазным ШД
- •Использование регистров ЦП
- •START
- •Команды RRC и RLC: циклический сдвиг аккумулятора вправо и влево
- •Процедура COUNTER
- •Процедура WAIT
- •4.6. Система прерываний
- •Радиальная и векторная схемы организации прерываний
- •Радиальные прерывания
- •Радиальные прерывания
- •Векторная приоритетная система прерываний
- •Организация векторного прерывания
- •Типовая структура ЦП
- •Сигналы прерываний (на примере МП
- •Система прерываний применит. к МП-ру
- •Система прерываний применит. к МП-ру
- •Входы запросов радиального прерывания
- •МаскированиеМаскированиесостоит в запрещении действия соответствующего входа запроса прерывания.
- •Последовательность действий МП в режиме прерывания
- •Выполнение команды рестарта
- •Цикл М1: выдача на ША содерж. PC, на ШД – байта состояния, выборка
- •4.7. Прямой доступ к памяти
- •ВУ запрашивает режим ПДП сигналом высокого уровня на линии HOLD.
- •Цикл ЧТЕНИЯ ПАМЯТИ в режиме ПДП
- •МП формирует Н-уровень квитирующего сигнала HLDA подтверждения запроса ПДП по нарастающему фронту Ф1,
- •4.8.Память МПС
- •Сегментация памяти
- •Сегментация памяти: иллюстрация
- •Адрес сегмента нужно сдвинуть влево на 4 р-да (дописать 4 нуля справа) и
- •Преобразование логического адреса в физический в защищённом режиме
- •Разрядность МП
- •Построение модуля памяти
- •Увеличение числа хранимых слов при построении модуля памяти
- •Литература по теме «МП»
- •Доп. литература по МК-рам
- •Микроконтроллеры AVR
- •8-битный AVR микроконтроллер
- •Микроконтроллеры PIC

Управление четырехфазным ШД
Изменение данных в регистре В

Использование регистров ЦП
•регистр В - для хранения настоящего состояния фазных обмоток;
•регистры С и Е – для подсчета числа шагов (соотв. заданного и остающегося до окончания движения);
•регистр D – для хранения кода направления и конца движения;
•двойной Рг HL – для определения памяти, содержащей значения имп.

START
RESET B
HL<--Y
LOOP1
D<--M
YES
D=2? STOP
NO
HL<--HL+1 |
|
E<--M |
|
CLEAR C |
|
PUSH HL |
|
ROTATE |
|
C<-- C+1 |
|
E<-- E-1 |
|
E=0? |
PAUSE |
DETERMINE |
|
WAIT |
|
LOOP2
HL<-- HL+1
POP HL

Команды RRC и RLC: циклический сдвиг аккумулятора вправо и влево
В циклических сдвигах выдвигаемый разряд переносится в освобождаемый и одновременно фиксируется в виде флага переноса

Процедура COUNTER
|
|
COUNT: INR C |
|
HL<-- HL+1 |
|
||||||||
|
|
|
|
|
|
|
|||||||
C<-- C+1 |
|
|
DCR E |
|
|
|
|
|
|||||
E<-- E-1 |
|
|
JZ PAUSE |
|
POP HL |
|
|||||||
|
|
|
|
YES |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
PAUSE |
|
|
|||
E=0? |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
PAUSE: MVI A, 0FFH |
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
PUSH B |
||
|
|
|
|
|
|
|
|
|
|
LOOP6: MVI B, 0FFH |
|||
|
|
|
|
|
|
|
|
|
|
LOOP5: DCR B |
|||
|
|
A<--FF |
|
|
|
|
|
JNZ LOOP5 |
|||||
|
|
|
|
|
|
|
|
|
|
|
DCR A |
||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
JNZ LOOP6 |
||
|
|
PUSH BC |
|
|
|||||||||
|
|
|
|
|
|
POP B |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
LOOP6 |
B<--FF |
|
B<--B-1 |
LOOP5 |
|
|
B=0? |
NO |
|
|
YES |
|
A<--A-1 |
|
A=0? |
NO |
|
|
YES |
|
POP BC

Процедура WAIT

4.6. Система прерываний
Прерывание (Interrupt) – режим, в котором процессор должен приостановить выполнение текущей последовательности команд и начать выполнение другой последовательности команд, соответствующей данному прерыванию
Прерывания могут обусловливаться:
•обменом с периферийными у-вами;
•попыткой осуществления неизвестного/запрещ. действия;
•сбоями и неисправностями в системе;
•действиями оператора.
Прерывания по запросам от медленно действующих ВУ позволяют занимать время ЦП только при их готовности к обмену, что увеличивает производительность МПС

Радиальная и векторная схемы организации прерываний
При радиальном прерывании последовательно – в порядке убывания приоритета - опрашиваются все источники прерываний.
При векторном прерывании перебирать все ВУ не нужно.

Радиальные прерывания
Для реализации радиальной схемы подключения источников аппаратных запросов надо иметь отдельный вход запроса для каждого источника запроса.

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