ru24.pro
Новости по-русски
Апрель
2019

Программирование в машинных кодах микроконтроллера MSP430

0

Программирование в машинных кодах микроконтроллера MSP430


Как вы уже знаете:


Задача любого микроконтроллера:


- читать числа из регистров и памяти МК,

- делать что-то с числами, данными и

- записывать числа в регистры и память.


Только так программа может общаться с МК !!!.



Регистры МК - это ячейки-байты в памяти МК MSP430 ,которые имеют свое название, согласно Дата шиту ( инструкции пользователя на микроконтроллер на сайте производителя ) и так как числа в большинстве из них можно менять - для программы регистры являются по сути переменными.

Переменная- это набор ячеек в памяти в которых можно хранить число или числа и менять их. Переменная имеет адрес.

Константа- это как переменная но менять содержимое нельзя.

Мы изначально предполагаем , что читатель знаком с система исчисления – двоичной , восьмеричной , десятеричной и шестнадцатеричной.


Итак, поскольку мы с вами уже определились, что микроконтроллер должен читать числа из регистров и памяти, изменять их различными вычислениями и записывать обратно в регистры или память, нам необходимо, при знакомстве с любым микроконтроллером, изучить его карту памяти и регистры. Для этого нужно открыть руководство пользователя на конкретный микроконтроллер.

Остановимся на рассмотрении модели микроконтроллера MSP430 и обратимся к его руководству пользователя.


Полный набор команд семейства MSP430 содержит 27 команд ядра и 24 эмулированные команды.


Команды ядра - это команды, имеющие уникальный код операции, декодируемый ЦПУ.


Эмулированные команды - представляют собой инструкции, облегчающие чтение и написание кода, но не имеющие собственного кода операции,эти команды используются, как правило, языком программирования ассемблер и нами будут рассматриваться их эквивалентные команды ядра. Использование эмулированных команд не приводит к увеличению объема кода или снижению производительности.



Существует три формата команд ядра:


  • С двойным операндом
  • С одиночным операндом
  • Команды перехода


Все команды с одним и двумя операндами могут быть командами для работы с байтами или командами для работы со словами, используя, соответственно, расширения «.B» или «.W». Байтовые команды используются для доступа к данным байта или к байту периферийного устройства. Команды-слова используются для доступа к данным слова или к слову периферийного устройства. Если никакое расширение не используется, команда является командой-словом.

Источник и получатель в команде определяются следующими полями: