Средства разработки семейства Microchip
Система и формат команд. Способы адресации
Микроконтроллер PIC12F675 имеет систему команд аккумуляторного типа, которая ортогональна и разделена на три основных группы:
--Байт ориентированные команды
--Бит ориентированные команды
--Команды управления и операций с константами
Каждая команда состоит из одного 14 - разрядного слова, разделенного на код операции (OPCODE), определяющий тип команды и один или несколько операндов, определяющие операцию команды.
Для байт ориентированных команд «f» является указателем регистра, а «d» указателем адресата результата. Указатель регистра определяет, какой регистр должен использоваться в команде. Указатель адресата определяет, где будет сохранен результат. Если «d»=0, результат сохраняется в регистре W. Если «d»=1, результат сохраняется в регистре, который используется в команде.
В бит ориентированных командах «b» определяет номер бита участвующего в операции, а «f» - указатель регистра, который содержит этот бит.
В командах управления или операциях с константами «k» представляет восемь или одиннадцать бит константы или значения литералов.
Система команд включает 35 операций. Все команды выполняются за один машинный цикл, кроме команд условия, в которых получен истинный результат и происходит изменение содержимого программного счетчика. Один машинный цикл состоит из 4-х тактов, при работе МК при номинальной частоте 4 МГц время выполнения одной команды составляет 1 мкс.
Любая команда, которая определяет регистр памяти данных как часть команды, выполняется по принципу «Чтение - Модификация - Запись» (R - М -W). Сначала выполняется чтение регистра, изменяются данные, а затем результат сохраняется в регистре назначения (зависит от состояния бита «d»). Чтение выполняется даже, если производится только запись данных.
Байт-ориентированная команда
13 8 | 6 0 | |
OPCODE | d | f |
Бит-ориентированная команда
13 10 | 9 7 | 6 0 |
OPCODE | d | f |
Команды управления и операций с константами
13 8 | 7 0 |
OPCODE | k |
Рисунок 9 - Формат команд микроконтроллера PIC12F675
Все команды МК оперируют 3 способами адресации:
1) регистровая – второй операнд хранится в регистровой памяти
2) непосредственная – один из операндов хранится в теле команды
3) косвенная – с помощью регистров специального назначения INDF и FSR.
Современные системы разработки программного обеспечения для МК можно разделить на 2 основных типа:
1) написание программ на основе архитектурных особенностей МК, т.е. в машинном коде (ассемблер, макроассемблер).
2) написание программ осуществляется с помощью языков высокого уровня с дальнейшей компиляцией (построением программ) с кодом, понятному МК.
Самыми распространенными являются Си компиляторы.
МК семейства Microchip обеспечены большим программ, позволяющих программировать МК на языках высокого и низкого уровня.
Разработчик Microchip выпускает программный пакет MPLAB IDE, который является доступным в свободном доступе.
Основные разработчики компиляторы высокого уровня: HITECH (HICE), MicroC (C17, C18).
глава 7: МК MCS 51