- •4. Однокристальные микроконтроллеры фирмы intel
- •4.1 Микроконтроллеры семейства mcs-51
- •4.1.1 Общая характеристика семейства mcs-51
- •4.1.2 Организация памяти
- •4.1.3. Параллельные порты ввода/вывода.
- •4.1.4. Таймеры/счетчики
- •4.1.5. Организация системы прерываний
- •4.1.6. Последовательный порт
- •4.1.7. Система команд
- •4.8. Применение мк для управления шаговым двигателем
- •2 Да Да Да Нет Нет Нет2
- •4.2 Однокристальные микроконтроллеры семейства mcs-251
- •4.2.1 Общая характеристика семейства mcs-251
- •4.2.2 Структура микроконтроллера
- •4.2.3 Организация памяти микроконтроллера
- •4.2.4 Система команд
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.