Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БО_Презентации / Пр к лек БО 2014 2-я ч / Retro темы МП, курсовой.ppt
Скачиваний:
67
Добавлен:
15.04.2015
Размер:
1.85 Mб
Скачать

Ещё пример. Применение МП для управления ШД

Типы ШД: а – реактивный; б – с постоянными магнитами

а) б)

Управление ШД четырьмя младшими битами с выходного порта МП

МП-ное управл. у-во

Фазные обм. ШД

Последовательности управляющих

импульсов и соответствующие коды,

формируемые МП

1000

Фаза1

 

2

0100

0010

3

0001

4

 

Использование регистров ЦП

регистр В - для хранения настоящего состояния фазных обмоток;

регистры С и Е – для подсчета числа шагов (соотв. заданного и остающегося до окончания движения);

регистр 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

Фрагмент

структурно

й

схемы до блока PushHL

Программирование включения обмоток: структурная схема блока ROTATE

ROTATE: MOV A, D

CPI 00H

JZ LEFT

MOV A, B

RRC

JMP STEP

LEFT: MOV A, B

RLC

JMP STEP

STEP:

Команды 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