- •Ответы по мпс (по Вовану – 2008-2009 уч.Г.)
- •1. Классификация микропроцессоров. Архитектуры микропроцессоров. Микропроцессорные комплекты, системы на кристалле.
- •2. Ацп. Основные характеристики, структурные схемы.
- •3. Цап. Основные характеристики, структурные схемы.
- •4. Микроконтроллеры семейства mcs51. Структура, параметры.
- •5. Микроконтроллеры семейства mcs51. Организация памяти.
- •6. Микроконтроллеры семейства mcs51. Система команд.
- •7. Микроконтроллеры avr. Структуры, параметры.
- •8. Микроконтроллеры avr. Организация памяти, внешняя память.
- •9. Микроконтроллеры avr. Система тактирования.
- •10. Микроконтроллеры avr. Организация портов ввода/вывода.
- •11. Микроконтроллеры avr. Сторожевой таймер, логика сброса.
- •12. Микроконтроллеры avr. Подсистема прерываний.
- •13. Микроконтроллеры avr. Таймеры.
- •14. Микроконтроллеры avr. Модуль захвата и сравнения, режимы шим.
- •15. Микроконтроллеры avr. Интерфейс spi.
- •16. Микроконтроллеры avr. Интерфейс usart.
- •17. Микроконтроллеры avr. Интерфейс twi.
- •18. Микроконтроллеры avr. Модуль ацп.
- •19. Микроконтроллеры avr. Система команд.
- •20. Микроконтроллеры avr. Методы адресации.
- •21. Микроконтроллеры avr. Организация интерфейса с семисегментным индикатором и матричной клавиатурой.
- •22. Ассемблер микроконтроллеров avr. Приемы программирования.
- •23. Программные и аппаратные средства разработки и отладки микропроцессорных систем.
- •24. Цифровые сигнальные процессоры, структуры, характеристики, области применения.
- •25. Цсп семейства tms320c2000. Структура, основные характеристики.
- •39. Организация интерфейса usb.
- •40. Шина isa. Организация, протокол обмена.
- •41. Шина pci. Организация, протокол обмена.
- •42. Проектирование микропроцессорных систем. Цикл проектирования.
- •43. Организация питания микропроцессорных систем. Импульсные источники питания.
6. Микроконтроллеры семейства mcs51. Система команд.
Система команд MCS-51, ориентированная на реализацию различных цифровых алгоритмов управления, при сохранении некоторой внешней схожести с системой команд предыдущего семейства MCS-48, качественно расширилась, в ней появились принципиальные нововведения:
• битово - ориентированные операции и адресуемые в памяти данных битовые поля, что дало
возможность говорить о реализации на кристалле битового процессора;
• реализовано исполнение команд умножения, деления и вычитания;
• усовершенствована работа со стеком;
• расширена группа команд передачи управления;
Система команд стала выглядеть более симметричной, то есть менее зависимой от пересылок данных через аккумулятор. Функциональные возможности встроенных периферийных устройств также расширились за счет введения:
• двух 16-разрядных таймеров-счетчиков;
• аппаратного последовательного дуплексного порта;
• двухуровневой системы прерываний;
• четырех 8-битовых портов ввода-вывода.
Принципиальные изменения в структуре временного цикла работы процессора привели к ускорению работы с внешней памятью программ и данных, а также реакций на внешние и внутренние прерывания. Суммарный размер адресного пространства внешней памяти программ и данных увеличился до 128 Кбайт. 16-разрядные регистры счетчика команд (Program Counter) и указателя данных (Data Pointer) позволили напрямую обращаться ко всему диапазону адресов, что дало разработчикам возможность реализации алгоритмов быстрой обработки крупных массивов данных. Все программно-доступные узлы микроконтроллера были сведены в специальную область памяти данных (Special Function Register), что позволило обращаться к ним почти так же, как и к обычным ячейкам резидентного ОЗУ.
Система команд семейства MCS-51 содержит 111 базовых команд, которые по функциональному признаку можно подразделить на пять групп:
• команды пересылки данных (Data Transfer);
Данную группу команд можно подразделить на следующие подгруппы:
• команды передачи данных, использующие внутреннюю память данных;
• команды передачи данных, использующие внешнюю память данных;
• команды работы с таблицами.
• арифметические команды (Arithmetic);
• логические команды (Logic);
• команды передачи управления (Control Transfer or Program Branching);
• команды обработки битовых переменных (Boolean Variable Manipulation).
Формат команд - одно-, двух- и трехбайтовый, причем большинство команд (94) имеют формат один или два байта. Первый байт любых типа и формата всегда содержит код операции, второй и третий байты содержат либо адреса операндов, либо непосредственные операнды. Состав операндов включает в себя операнды четырех типов: биты, ниблы (4 разряда), байты и 16-битные слова. Время исполнения команд составляет 1, 2 или 4 машинных цикла. При тактовой частоте 12 мГц длительность машинного цикла составляет 1 мкс, при этом 64 команды исполняются за 1 мкс, 45 команд - за 2 мкс и 2 команды (умножение и деление) - за 4 мкс. Набор команд MCS-51 поддерживает следующие режимы адресации.
Прямая адресация (Direct Addressing). Операнд определяется 8-битным адресом в инструкции. Эта адресация используется только для внутренней памяти данных и регистров SFR.
Косвенная адресация (Indirect Addressing). В этом случае инструкция адресует регистр, содержащий адрес операнда. Данный вид адресации может применяться при обращении как к внутреннему, так и внешнему ОЗУ. Для указания 8-битных адресов могут использоваться регистры R0 и R1 выбранного регистрового банка или указатель стека SP. Для 16-битной адресации используется только регистр "указатель данных" (DPTR – Data Pointer).
Регистровая адресация (Register Instruction). Данная адресация применяется для доступа к регистрам R0+R7 выбранного банка. Команды с регистровой адресацией содержат в байте кода операции трехбитовое поле, определяющее номер регистра. Выбор одного из четырех регистровых банков осуществляется программированием битов селектора банка (RS1, RS0) в PSW.
Непосредственная адресация (Immediate constants). Операнд содержится непосредственно в поле команды вслед за кодом операции и может занимать один или два байта (data8, data16).
Индексная адресация (Indexed Addressing). Индексная адресация используется при обращении к памяти программ и только при чтении. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или PC) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора). Другой тип индексной адресации применяется в командах "перехода по выбору" (Case Jump). При этом адрес перехода вычисляется как сумма указателя базы и аккумулятора.
Неявная адресация (Register-Specific Instructions). Некоторые инструкции используют индивидуальные регистры (например, операции с аккумулятором, DPTR), при этом данные регистры не имеют адреса, указывающего на них; это заложено в код операции.
Система команд МК51 содержит 111 (49 - 1б, 45 - 2б, 17 - 3б) базовых команд, которые можно разделить на 5 групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами.
Типы операндов. Состав операндов МК51: биты, 4-битные цифры, байты и 16-битные слова. Четырехбитные операнды используются только при операциях обмена (команды SWAP и XCHD). Восьмибитным операндом может быть ячейка памяти программ или данных (резидентной или внешней), константа (непосредственный операнд), регистры специальных функций (РСФ), а также порты ввода/вывода. Порты и РСФ адресуются только прямым способом. Двухбайтные операнды - это константы и прямые адреса, для представления которых используются второй и третий байты команды.
Флаги результата. Слово состояния программы (PSW) включает в себя четыре флага: C - перенос, AC - вспомогательный перенос, O - переполнение и P - паритет.
Флаг паритета напрямую зависит от текущего значения аккумулятора. Если число единичных бит аккумулятора нечетное, то флаг P устанавливается, а если четное - сбрасывается.
Флаг АС устанавливается в случае, если при выполнении операции сложения/вычитания между тетрадами байта возник перенос/заем.
Флаг C устанавливается, если в старшем бите результата возникает перенос или заем. При выполнении операций умножения и деления флаг C сбрасывается.
Флаг OV устанавливается, если результат операции сложения/вычитания не укладывается в семи битах и старший (восьмой) бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV устанавливается, если результат больше 255.
Способы адресации данных. В МК51 используются такие же способы адресации данных, как и в МК48: прямая, непосредственная, косвенная и неявная. Следует отметить, что при косвенном способе адресации РПД в отличие от МК48 используются все восемь бит адресных регистров R0 и R1.
Система команд МК51 по сравнению с МК48 допускает больше комбинаций способов адресации операндов в командах, что делает ее более гибкой и универсальной.