Скачиваний:
21
Добавлен:
01.05.2014
Размер:
284.67 Кб
Скачать

2 Да Да Да Нет Нет Нет2

Рис. 4.3. Алгоритм управления шаговым двигателем

Нет

Нет

Нет

Да

Да

Да

Рис. 4.3. Алгоритм управления шаговым двигателем (продолжение)

CLR PSW.3 ; установка регистрового банка 0

CLR PSW.4 ;

MOV TMOD,#01h ; настройка T/C0 в режим таймера 1

CLR FL_1 ; установка фазы «Вращение_1»

CLR FL_2 ;

MOV R2,#S1 ; загрузка в СчЭШ константы S1

MOV TL0,#K1_L ; загрузка в младший и

MOV TH0,#K1_H ; старший байты T/C0 константы k1

SETB TCON.4 ; запуск T/C0

SETB IE.3 ; разрешение прерывания от T/C0

CYC: SJMP CYC ; пустой цикл

.END

; Программа обработки прерывания

.ORG 1100h ;

CLR IE.7 ; запрет всех прерываний

CLR TCON.4 ; останов T/C0

JNB FL_1,M1; определение типа фазы, переход к M1, если «Вращение»

; фаза «Пауза»

DJNZ R3,M2 ; декремент и проверка на нуль СчИЗ, переход на

; метку M2, если фаза «Пауза» не завершена

CLR FL_1 ; переход к очередной фазе «Вращение»

CPL FL_2

MOV A, R4 ; смена направления вращения - изменение маски

SWAP A ;

MOV R4,A ;

JNB FL_2,M3 ; ветвление по номеру фазы «Вращение»

; инициализация фазы «Вращение_2 »

MOV R2, #S2 ; загрузка в СчЭШ константы S2

M8: MOV TL0,#K2_L ; загрузка в T/C0 константы k2

MOV TH0,#K2_H

AJMP M5 ; переход на запуск T/C0

; инициализация фазы «Вращение_1 »

M3: MOV R2,#S1 ; загрузка в СчЭШ константы S1

M7: MOV TL0,#K1_L ; загрузка в T/C0 константы k1

MOV TH0, #K1_H

M5: SETB TCON.4 ; запуск T/C0

RETI ; возврат из прерывания

; продолжение текущей фазы «Пауза»

M2: MOV TL0,#K3_L ; загрузка в T/C0 константы k3

MOV TH0,#K3_H ;

AJMP M5 ; переход на запуск T/C0

M1: MOV A,R4 ; отработка элементарного шага - переключение

XRL P1,A ; в одной из обмоток ШД

SWAP A ; изменение и сохранение маски

MOV R4, A

DJNZ R2, M4 ; декремент и проверка на нуль СчЭШ, переход на

; метку M4, если фаза «Вращение» не завершена

CPL FL_1 ; переход в фазу «Пауза»

JNB FL_2,M6 ; определение номера фазы «Пауза»,

; инициализация фазы «Пауза_2 »

MOV R3, #M2 ; загрузка в СчИЗ константы M2

AJMP M2 ; переход на загрузку в T/C0 константы k3

; инициализация фазы «Пауза_1 »

M6: MOV R3, #M1 ; загрузка в СчИЗ константы M1

AJMP M2 ; переход на загрузку в T/C0 константы k3

M4: JNB FL_2,M7 ; определение номера фазы «Вращение»

AJMP M8 ; переход на загрузку в T/C0 константы k2

4.2 Однокристальные микроконтроллеры семейства mcs-251

4.2.1 Общая характеристика семейства mcs-251

В 1995 г. фирма Intel начала выпуск однокристальных микроконтроллеров семейства MCS-251. Микроконтроллеры нового семейства программно и аппаратно совместимы с микроконтроллерами семейства MCS-51. Вместе с тем, микроконтроллеры нового семейства имеют ряд существенных преимуществ по сравнению с микроконтроллерами семейства MCS-51:

- расширенная система команд, позволяющая выполнять арифметические, логические и пересылочные операции с данными в формате “байт”, “слово” (два байта), “двойное слово” (четыре байта);

- расширенное адресное пространство памяти, содержащее 16М адресов;

- процессор микроконтроллеров нового семейства имеет в своем составе регистровое запоминающее устройство. Любой регистр этого устройства, пара регистров и четверка регистров могут использоваться в качестве источника операнда и приемника результата, что существенно расширяет возможности программиста при разработке программ;

- машинный цикл в микроконтроллерах нового семейства содержит два такта вместо двенадцати тактов у микроконтроллеров семейства MCS-51, что позволяет существенно сократить время выполнения программы при той же тактовой частоте;

- микроконтроллеры нового семейства изготавливаются по КМДП технологии и имеют полностью статическую структуру, что позволяет им работать при значениях тактовой частоты от 0 Гц.

В настоящее время нашли широкое применение микроконтроллеры подсемейства SX, в состав которого входят микроконтроллеры четырех типов - SA, SB, SP, SQ.

Соседние файлы в папке Материалы по микроконтроллерам