Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Система команд микроконтроллера 1830ве51
Система команд МК51 содержит 111 базовых команд, которые по функциональному признаку можно подразделить на следующие пять групп: - команды передачи данных; - арифметические команды; - логические команды с байтовыми переменными; - команды битового процессора; - команды ветвления программ и передачи управления. Формат команд - одно-, двух- и трехбайтовый, причем большинство команд (94) имеют формат один или два байта. Первый байт команды любого типа и формата всегда содержит код операции, второй и третий байты содержат либо адреса операндов, либо непосредственные операнды. Операнды могут быть четырех типов: биты, тетрады (4 разряда), байты и 16-битные слова. Время выполнения команд составляет 1, 2 или 4 машинных цикла. При тактовой частоте 12 МГц длительность машинного цикла составляет 1 мкс, при этом 64 команды исполняются за 1 мкс, 45 команд - за 2 мкс и 2 команды (умножение и деление) - за 4 мкс. В МК51 поддерживает следующие способы адресации: 1. Прямая адресация (Direct Addressing). Операнд определяется 8-битным адресом в команде. Эта адресация используется только для внутренней памяти данных и регистров специальных функций; 2. Косвенная адресация (Indirect Addressing). В этом случае команда адресует регистр, в котором содержится адрес операнда. Данный вид адресации может применяться при обращении как к внутреннему, так и внешнему ОЗУ. Для указания 8-битных адресов могут использоваться регистры R0 и R1 выбранного банка памяти или указатель стека SP. Для 16-битной адресации используется только регистр DPTR. 3. Регистровая адресация (Register Instruction). Данная адресация применяется для доступа к регистрам R0…R7 выбранного банка. Адреса регистров содержатся в байте кода операции и представляют собой трехбитовое поле, определяющее номер регистра. Выбор одного из четырех регистровых банков осуществляется программированием битов селектора банка (RS1, RS0) в PSW; 4. Непосредственная адресация (Immediate constants). Операнд содержится непосредственно в поле команды вслед за кодом операции и может занимать один или два байта (data8, data16). 5. Индексная адресация (Indexed Addressing). Индексная адресация используется при обращении к памяти программ и только при чтении. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или PC) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора).
6. Другой тип индексной адресации применяется в командах “перехода по выбору”. При этом адрес перехода вычисляется как сумма указателя базы и аккумулятора. 7. Неявная адресация (Register-Specific Instructions). Некоторые команды используют индивидуальные регистры (например, операции с аккумулятором, DPTR), при этом данные регистры не имеют адреса, указывающего на них; это заложено в коде операции. В табл. 1.15 приведены обозначения и символы, используемые в командах. Таблица 1.15
Команды пересылки данных В группу команд пересылки данных входит 28 команд, краткое описание которых, а также их количество байт и время выполнения приведено в табл. 1.16. Таблица 1.16. Команды пересылки данных
По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды MOVX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая – чтение байт из памяти программ.
По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD – обмен младшими тетрадами (битами 0…3). Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека. Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н. Группа команд пересылок МК51 имеет следующую особенность – в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение данных из порта Р1 в аккумулятор может быть выполнено командой MOV A, P1. Кроме того, следует отметить, что в МК51 аккумулятор имеет два различных имени в зависимости от способа адресации: А – при неявной адресации (например, MOV A, R0) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 322; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.150.175 (0.005 с.) |