Регистры. Таймеры

Регистры. Таймеры
МОДУЛЬ 4
Во время работы МК возникают временные данные, необходимые для работы основной исполняемой программы. Тем не менее некоторые из них логично выделять в особые ячейки памяти — регистры, — поскольку ядро МК обращается к ним с завидной регулярностью. Пожалуй, самым очевидным примером этого является указатель на текущий номер исполняемой программной инструкции. Именно поэтому регистры стоят несколько обособленно от ОЗУ и находятся внутри ядра для упрощения топологии.
Посмотрим на регистры на примере микроконтроллера MCS-51 — классического 8-битного микроконтроллера из 80-х гг. (подробная документация доступна по ссылке). Рассматривать будем на таком упрощенном примере, поскольку у STM32 более продвинутая архитектура, и, соответственно, регистры устроены несколько сложнее.

Размещение регистров MCS-51
Многие из регистров имеют понятное значение. Скажем, регистры TL0, TH0 хранят информацию о счетчике таймера 0. Сразу можем сказать, что счетчик 16-битный. Поговорим про вычислительное ядро. Мы видим, что есть регистры, отвечающие за состояние подсистем, таких как таймеры, за их настройку, как приоритет прерываний. Непосредственно при выполнении операций крайне важен результат, складываемый в аккумулятор ACC + B, и некая его интерпретация, хранящаяся в PSW.
Приведем пример — деление целых. Если мы делим 4 на 2, у нас получается просто 2 — ответ будет записан просто в аккумулятор. Если делить 1 024 на 2, получится 512 — ответ будет записан в аккумулятор и расширитель аккумулятора, поскольку целочисленный ответ выходит за размер машинного слова. Если же делить 2 на 0, операция не пройдет. Значение аккумуляторов не изменится, а в слове состояния программы появится код арифметической ошибки.
На следующем занятии мы подробно поговорим о портах ввода — вывода и регистрах, связанных с ними.
Запишитесь на курс, чтобы выполнить задания и получить сертификат!
Присоединяйтесь к нашему робочату в Telegram!
Микроконтроллеры. Основы STM32
Курс для школьников старших классов и студентов младшего бакалавриата про основы устройства вычислительной техники и практические методы работы с микроконтроллерами на примере STM32. Курс научит использовать микроконтроллеры под необходимые задачи и пробовать разные творческие подходы к программированию.
14 уроков с короткими видео (до 15 минут)
Проверочные задания после каждой главы
Авторская подача: просто, понятно и с примерами
Свободное расписание: нет дедлайнов и сроков сдачи заданий
Все материалы доступны сразу, можно начать обучение в удобное время
Профессиональное видео и современная графика
Быстрая связь с техподдержкой и чат с автором
Сертификат о прохождении курса
Зачем
Мыслить и программировать творчески, не следуя заложенной схеме
Научиться переходить на разные платформы для программирования
Реализовывать технические идеи, используя продвинутые инструменты
Что вы получите
Собрать и запрограммировать необычного робота
Познакомиться с перспективной профессией
Запишитесь, чтобы получить доступ к заданиям и чату курса
Находясь на сайте, вы даете согласие на обработку файлов cookie. Это необходимо для более стабильной работы сайта
Понятно