- •Семейство микроконтроллеров mcs-51.
- •Отличительные особенности контроллеров семейства mcs-51.
- •Структурная организация микроконтроллеров семейства mcs-51.
- •Распределение памяти данных mcs-51.
- •Распределение памяти программ mcs-51.
- •Флаги mcs-51. Слово состояния процессора mcs-51.
- •Команды, модифицирующие флаги.
- •Арифметические команды:
- •Логические команды:
- •Сдвиговые команды:
- •Команды сравнения:
- •Система команд mcs-51. Типы команд.
- •Методы адресации mcs-51.
- •Команды пересылки обмена и загрузки mcs-51.
- •Арифметические команды mcs-51.
- •Команда сложения (add):
- •Команда вычитания (subb):
- •Логические команды mcs-51.
- •1. Команда логического и (anl):
- •2. Команда логического или (orl):
- •3. Команда логического исключающего или (xrl):
- •4. Команда логического не (cpl):
- •Команды, оперирующие с битами, в системе команд mcs-51.
- •Команды условных переходов mcs-51.
- •1. Команда перехода, если равно (jz, je):
- •2. Команда перехода, если не равно (jnz, jne):
- •3. Команда перехода, если больше (jnc, jnb, ja, jae):
- •4. Команда перехода, если меньше или равно (jb, jbc, jbe):
- •Команды безусловных переходов mcs-51.
- •Команды инкремента и декремента.
- •Таймеры/Счетчики mcs-51. Программирование таймеров/счетчиков.
- •Режимы работы 0 и 1 таймеров/счетчиков mcs-51.
- •1. Режим работы 0 (Mode 0):
- •2. Режим работы 1 (Mode 1):
- •Режимы работы 2 и 3 таймеров/счетчиков mcs-51.
- •1. Режим работы 2 (Mode 2):
- •2. Режим работы 3 (Mode 3):
- •Режимы прерываний mcs-51. Программирование режимов прерываний.
- •1. Прерывания по уровню (Level-Triggered Interrupts):
- •2. Прерывания по фронту (Edge-Triggered Interrupts):
- •3. Программные прерывания (Software Interrupts):
- •4. Внешние прерывания (External Interrupts):
- •Приоритеты прерываний mcs-51.
- •Последовательный Порт mcs-51. Программирование последовательного порта.
- •Режимы работы последовательного порта mcs-51.
- •1. Асинхронный режим (uart):
- •2. Синхронный режим:
- •3. Режим мастера spi:
- •Состав и назначение регистров специальных функций mcs-51.
- •Система команд mcs-51.
- •Универсальный асинхронный приемник-передатчик (уапп) и режимы его работы.
- •1. Асинхронный режим (uart):
- •2. Синхронный режим:
- •3. Многопроцессорный режим:
- •Таймер-счетчики mcs-51 и режимы их работы.
- •1. Режим 0 (13-битный таймер):
- •2. Режим 1 (16-битный таймер):
- •3. Режим 2 (8-битный таймер с автоперезагрузкой):
- •Организация прерываний в микроконтроллере mcs-51.
- •1. Источники прерываний:
- •Способы адресации mcs-51.
- •Система команд микроконтроллеров mcs-51.
- •Организация пошагового режима работы при отладке микроконтроллеров mcs-51.
- •6. Наблюдение за состоянием и переменными:
- •7. Анализ и исправление ошибок:
- •Таймер-счетчики микроконтроллеров mcs-51 и режимы их работы.
- •5. Другие режимы:
- •3. Обработка прерываний таймера 0 (опционально):
- •4. Главный цикл программы:
- •1. Настройка таймера 1 в режиме захвата/сравнения:
- •2. Включение прерываний для захвата значения:
- •3. Настройка обработчика прерывания:
- •4. Главный цикл программы:
- •Организация прерываний в микроконтроллере mcs-51.
- •1. Настройка регистров:
- •2. Написание обработчиков прерываний:
- •3. Настройка векторов прерываний:
- •4. Включение прерываний:
- •Режимы работы микроконтроллера mcs-51.
- •Обзор 8-разрядных микроконтроллеров mcs-51.
- •Структурная организация и назначение выводов микроконтроллера mcs-51.
- •Семейство микроконтроллеров msp430.
- •Мк msp430x1xx. Система тактирования.
- •Архитектура мк msp430. Адресное пространство.
- •Немаскируемые и маскированные прерывания мк msp430.
- •Обработка прерываний мк msp430. Векторы прерываний.
- •Регистры цп мк msp430.
- •Режимы адресации мк msp430.
- •Система команд мк msp430. Командные циклы и длина команд.
- •Принципы построения устройств с низким энергопотреблением. Подключение неиспользуемых выводов.
- •Цифровые входы / выходы мк msp430. Функционирование цифровых входов / выходов.
- •Прерывания портов р1 и р2 мк msp430. Регистры флагов прерывания р1ifg, р2ifg.
- •Функционирование сторожевого таймера мк msp430.
- •Сторожевой таймер мк msp430 в режиме интервального таймера.
- •Блоки захвата / сравнения Таймера а мк msp430.
- •Таймер в мк msp430. Отличия от таймера а. Работа таймера в.
- •Инициализация usart. Асинхронные коммуникационные форматы.
- •Задачи mcs-51 на языке Ассемблера
- •Вариант 4. Составить программу вычитания четырехбайтовых беззнаковых чисел. Первое число находится в рпд по адресу 30÷33h, второе – по адресу 38÷3Bh. Результат поместить на место первого операнда.
- •Вариант 8. В рпд, начиная с адреса 30h находится массив из 20 элементов. Подсчитать количество элементов массива, попавших в интервал от 50 до 100. Результат запомнить в регистре r5.
- •Вариант 9. В рпд, начиная с адреса 30н, находится массив из 16 чисел. Найти максимальный элемент массива и поместить в r2 его значение, а в r3 его адрес.
- •Вариант 10. В регистре r5 находится двоично-десятичный операнд. Перевести операнд в шестнадцатеричное значение и поместить в r5
- •Вариант 14. В рпд с адреса 20h находится массив из 16 чисел. Элементами массива являются числа 32, 64, 96 и 128. Подсчитать и сохранить в регистрах r4 ÷ r7 количество повторений каждого элемента.
- •Вариант 18. В впд, начиная с адреса 100h, находится массив из 10 элементов. Получить в регистре r3 число элементов, равных 55h. Счет прервать, если число элементов превысит 3.
- •Вариант 20. В впд с адреса 300h находится массив из 15 чисел. Элементами массива являются числа 10, 20, 30 и 180. Подсчитать и сохранить в регистрах r4 - r7 количество повторений каждого элемента.
- •Вариант 21. В порты микроконтроллера р0-р3 поступают двоично-десятичные данные. Перевести данные в шестнадцатеричный формат и разместить в рпд последовательно с адреса 30h.
- •Вариант 22. Выдать последовательно в порты р1 и р2 микроконтроллера содержимое младших байт счетчиков в двоично-десятичном формате (в р1 – сотни, в р2 – десятки и единицы).
- •Вариант 23. В порты р0÷р3 поступают шестнадцатеричные данные. Занести в рпд, начиная с адреса 40h количество единиц, поступивших в каждый порт.
- •Вариант 24. Для каждого из регистров r0, r3 и регистра-расширителя в последовательно выдать в порты информацию о содержимом регистров:
- •Вариант 25. В каждый из портов р0÷р2 поступают данные от двух четырехразрядных датчиков. Выдать в порт р3 сумму шести датчиков, подключенных к портам р0÷р2.
- •Вариант 26. Записать в регистры r3, r7 и регистр-расширитель в произведение их старшей и младшей тетрады соответственно.
- •Вариант 27. Выдать в порты р0÷р2 количество единиц, содержащихся в регистрах r0, r7 и регистре-расширителе в соответственно
3. Настройка векторов прерываний:
Векторы прерываний - это адреса обработчиков прерываний. Вы должны указать микроконтроллеру, какой обработчик прерывания должен быть вызван при возникновении каждого конкретного прерывания.
; Настройка вектора прерывания от таймера 0
ORG 0x08 ; Адрес вектора прерывания для таймера 0
DW TIMER0_INTERRUPT ; Указатель на обработчик прерывания от таймера 0
; Настройка вектора прерывания от внешнего источника 1
ORG 0x0B ; Адрес вектора прерывания для внешнего источника 1
DW EXTERNAL1_INTERRUPT ; Указатель на обработчик прерывания от внешнего источника 1
; ... и другие настройки векторов прерываний
4. Включение прерываний:
После настройки регистров, обработчиков и векторов прерываний вы должны включить глобальное разрешение прерываний.
SETB EA ; Разрешить глобальные прерывания (EA - Enable All)
Теперь микроконтроллер MCS-51 будет обрабатывать прерывания в соответствии с настройками, и при возникновении прерывания будет вызываться соответствующий обработчик прерывания. Обработчик прерывания выполняет необходимые действия и возвращает управление основной программе.
Обратите внимание, что для каждого типа прерывания в микроконтроллере MCS-51 может быть свой набор регистров и настроек, поэтому вам следует обратиться к документации для вашей конкретной модели микроконтроллера для получения подробной информации о настройке прерываний.
Режимы работы микроконтроллера mcs-51.
Микроконтроллер MCS-51 предлагает различные режимы работы, которые определяют функциональность и поведение микроконтроллера. Вот некоторые из основных режимов работы MCS-51:
1. Режим работы "Нормальный" (Normal mode):
В этом режиме микроконтроллер работает в основном цикле программы и последовательно выполняет инструкции из программной памяти. Он не выполняет прерывания или другие специальные операции. Этот режим является наиболее распространенным и используется для выполнения основных задач.
2. Режим работы "Прерывания" (Interrupt mode):
В этом режиме микроконтроллер ожидает возникновения прерываний от внешних источников или внутренних событий. При возникновении прерывания микроконтроллер переключается на обработку прерывания, вызывая соответствующий обработчик прерывания. После завершения обработки прерывания микроконтроллер возобновляет выполнение основной программы.
3. Режим работы "Сна" (Sleep mode):
В этом режиме микроконтроллер переводится в спящий режим для снижения энергопотребления. Он ожидает возникновения прерывания или другого внешнего сигнала для выхода из режима сна. Этот режим полезен в приложениях, где требуется энергосбережение.
4. Режим работы "Автоматический режим сна" (Auto power-down mode):
Этот режим похож на режим сна, но дополнительно отключает системные части микроконтроллера для дальнейшего снижения энергопотребления. В этом режиме включается только внешний источник прерывания или сигнал RESET для активации микроконтроллера.
5. Режим работы "Автоматический режим ожидания" (Idle mode):
В этом режиме микроконтроллер ожидает выполнения команды "ожидания" (idle) и приостанавливает выполнение инструкций до возникновения прерывания или другого события. В это время микроконтроллер продолжает мониторить внешние источники прерывания.
6. Режим работы "Автоматический режим ожидания с автоматическим прекращением работы" (Power-down mode):
Этот режим аналогичен режиму ожидания, но также отключает основную систему микроконтроллера для дополнительного снижения энергопотребления. В этом режиме только внешнее прерывание или сигнал RESET могут возобновить работу микроконтроллера.
Каждый режим имеет свои особенности и применяется в зависимости от требований конкретного приложения. Режимы работы микроконтроллера MCS-51 могут быть настроены с помощью соответствующих регистров и битов управления, которые описаны в документации для конкретной модели микроконтроллера.
