Особенности архитектуры PIC - контроллеров

PIC — микроконтроллеры Гарвардской архитектуры, производимые американской компанией

Базовая архитектура состоит из контроллеров семейства PIC10 и части контроллеров семейств PIC12 и PIC16. Основываются они на 12-и разрядной архитектуре слова программ и представлены контроллерами в корпусах от 6 до 28-и выводов. Широкий диапазон напряжений питания, возможность работы при низких напряжениях преследует целью возможность применения микроконтроллеров в батарейных устройствах. Свойства: маловыводные и миниатюрные корпуса, Flash память программ, низкое потребление тока, низкая цена, легкое освоение, всего 35 команд

Общие атрибуты всех 16-и разрядных семейств — это совместимость по выводам, общая система команд и, соответственно, общие компиляторы Си и средства разработки. Семейство 32-разрядных микроконтроллеров PIC32 выделяется увеличенной производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами. PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы.

Система команд. Каждая команда представляет собой 14-разрядное слово, содержащее поле кода операции OPCODE и поле операндов. Система команд включает в себя команды работы с байтами, команды работы с битами, команды управления и операции с константами. Все команды выполняются в течение одного командного цикла, кроме следующих двух случаев:

Переход по проверке условия, если результат проверки условия - истина. Изменение счетчика команд как результат выполнения команды. В этих случаях команда выполняется за два цикла с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. Так, для генератора с частотой 4 МГц время выполнения команды составит 1 мкс.

Текст программы должен быть разбит на секции с тем, чтобы его было легко читать, сопровождать, документировать и модифицировать. Применительно к PIC-микроконтроллерам структура

текста программы может выглядеть так:

а) блок определений: секция заголовка, секция подключаемых файлов, секция конфигурации,

секция определения констант, секция определения EEPROM-данных, секция определения макросов, секция объявления переменных

б) блок кода: вектор сброса, обработчик прерывания, код инициализации, основной цикл программы, подпрограммы, END.

Для оформления секций внутри одного файла есть свои правила:

а) Каждая секция должна содержать только те описания, которые ей соответствуют.

б) Секции должны быть едиными, а не разделенными на несколько кусков.

в) Каждой секции должен предшествовать хорошо заметный блок комментария.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: