
- •Цифровые устройства
- •Введение.
- •1. Основные принципы цифровой электроники.
- •1.1. Аналоговые и цифровые сигналы
- •1.2. Модели и уровни представления цифровых устройств
- •1.3. Входы и выходы цифровых микросхем
- •1.4. Основные обозначения на схемах
- •1.5. Серии цифровых микросхем
- •1.6. Корпуса цифровых микросхем
- •2.1. Системы счисления.
- •2.2 Арифметические операции над двоичными числами.
- •2.3. Машинное представление информации
- •2.3.1 Формы представления чисел.
- •2.3.2. Буквенно-цифровой код
- •2.3.3 Восьмисегментный код
- •3. Логические основы цифровой техники
- •3.1 Основные законы алгебры логики
- •3.2 Формы описания логических функций и их использование для синтеза логических схем
- •3.3. Синтез комбинационных схем с несколькими выходами
- •3.4. Понятие логического базиса
- •4. Логические элементы цифровых устройств
- •4.1 Общие характеристики элементов цифровых устройств
- •4.2. Переходные процессы в логических схемах
- •4.3. Описание основных схемотехнических решений базовых логических элементов.
- •4.3.1. Интегральные схемы ттл и ттлш
- •4.3.2. Интегральные микросхемы на моп-структурах
- •4.3.3. Микросхемы эмиттерно-связанной транзисторной логики
- •4.3.4. Инжекционные интегральные логические схемы (и2л)
- •4.3.5. Схемные особенности логических элементов
- •4.4. Сложные комбинационные цифровые автоматы
- •4.4.1. Сумматор по модулю два
- •4.4.2. Мультиплексоры и демультиплексоры
- •4.4.3. Дешифраторы, дешифраторы-демультиплексоры, шифраторы
- •4.4.4. Преобразователи кодов
- •4.4.5. Сумматоры
- •4.5. Последовательностные схемы цифровых автоматов
- •4.5.1. Асинхронный r-s триггер
- •4.5.2. Синхронный r-s триггер
- •4.5.3. Синхронный d - триггер со статическим управлением
- •4.5.3. Синхронный d - триггер с динамическим управлением
- •4.5.4. Универсальный j-k триггер
- •4.5.6. Регистры
- •4.5.7. Счетчики
- •Полупроводниковые запоминающие устройства
- •5.1. Статические озу
- •5.2. Динамические озу
- •5.3. Однократно программируемые постоянные запоминающие устройства
- •5.4. Перепрограммируемые постоянные запоминающие устройства
- •Специальные элементы цифровых устройств
- •6.1. Автоколебательные генераторы на логических элементах
- •6.2. Формирователи сигналов
- •6.2.1. Укорачивающие формирователи
- •6.2.2. Расширяющие одновибраторы
- •6.2.3. Триггер Шмитта
- •6.2.4. Аналоговый компаратор
- •Преобразователи сигналов
- •7.1. Цифроаналоговые преобразователи
- •7.1.1. Цап с матрицей r-2r
- •7.1.2. Цап с матрицей звездообразного типа
- •7.2. Аналого-цифровые преобразователи
- •Ацп двойного интегрирования (интегрирующий ацп).
- •Сигма-дельта ацп.
- •Преобразователи напряжение-частота
- •8. Элементы цифровой индикации
- •Малогабаритные лампочки накаливания
- •Светодиодные индикаторы.
- •Жидкокристаллические индикаторы
- •Дисплеи на основе органических пленок (oled)
- •Динамическая индикация
- •Микропроцессоры Введение
- •1. Классификация микропроцессоров
- •2. Архитектура микроконтроллера
- •2.1 Основные характеристики микроконтроллера
- •2.2. Архитектура микроконтроллеров
- •2.2.1. Архитектура микроконтроллеров mcs-51
- •Альтернативные функции порта p3
- •2.2.2. Архитектура avr микроконтроллеров
- •3. Программирование микроконтроллеров
- •3.1 Языки программирования для микроконтроллеров
- •3.2. Виды компиляторов
- •3.3.1 Форматы и способы адресации данных
- •3.3.2. Форматы и способы адресации команд
- •3.3.3. Команды пересылки информации
- •3.3.4. Команды поразрядной обработки информации
- •3.3.5. Команды арифметических операций
- •3.3.6. Управляющие команды
- •3.3.7. Порядок выполнения прерываний в микроконтроллерах семейства mcs51.
- •3.3.8. Применение подпрограмм при программировании.
- •3.3.9. Директивы ассемблера для микроконтроллеров семейства mcs-51
- •3.3.10. Применение комментариев
- •3.3.11. Многофайловые программы.
- •3.3.12. Отладка программ.
- •3.3.13. Способы отладки программ.
- •Программируемые логические матрицы, программируемая матричная логика, базовые матричные кристаллы
- •4.1. Программируемые логические матрицы и программируема матричная логика
- •4.3. Базовые матричные кристаллы
- •4.4. Бис/сбис с программируемыми структурами (cpld, fpga, смешанные структуры)
- •Список использованной литературы
3.3.2. Форматы и способы адресации команд
Команды могут занимать от одного до трех байтов. Размер команды определяется кодом операции, записанным в первом байте, Дополнительные байты могут содержать адреса и/или данные. В символической записи команд, как правило, указываются все операнды. В машинных командах часть информации, необходимой для адресации, может содержаться в коде операции. При помощи байта кода операции можно закодировать 256 команд, но для микроконтроллера i8051 используется только 255. Код 0A5h зарезервирован для дальнейшего развития семейства.
Адресация команд (то есть их выполнение) по порядку их расположения в ПЗУ называется естественной. При завершении чтения очередной команды содержимое программного счетчика содержит адрес кода операции следующей команды. Команды, в результате выполнения которых может быть изменен естественный порядок исполнения команд, называются управляющими. Передача управления может происходить в зависимости от выполнения некоторых условии, тогда это называется условной передачей управления (conditional jump). Если команда всегда передает управление в другую часть программы, то это называется безусловной передачей управления (unconditional jump). Некоторые из условных управляющих команд используют информацию, содержащуюся в слове состояния программы, а другие сами производят сравнение байтов или проверку содержимого битов ОЗУ. В операнде управляющей команды в общем случае должна содержаться информация для изменения кода в программном счетчике. Способы адресации управляющих команд в микроконтроллере типа i8051 различаются по дальности перехода на короткие (short), абсолютные (absolute) и длинные (long). Приведенные далее сведения по способам вычисления адреса, заносимого в программный счетчик управляющей командой, являются справочными. Для передачи управления программисту достаточно указать символический адрес перехода в соответствующем операнде ассемблерной команды.
При использовании короткого способа адресации в последнем байте команды содержится разность между адресом той команды, которой передается управления, и адресом команды, следующей за управляющей командой. Эта разность может составлять от -128 до +127. Для вычисления нового содержимого программного счетчика из содержимого последнего байта команды сначала формируется двухбайтовый код посредством записи старшего (знакового) бита во все разряды старшего байта. Затем двухбайтовый код прибавляется к содержимому программного счетчика. Такой способ часто называют относительным (relative).
Название абсолютного перехода унаследовано от предшествующей модели микроконтроллера, у которой объем ПЗУ был ограничен двумя килобайтами. При переходе к 64 Кбайт старое адресное пространство стали называть страницей (page). 11озтому 3 старших бита адреса перехода содержатся в коде операции, а 8 младших — во втором байте команды. Этот способ обеспечивает адресацию в пределах одной из 32 страниц ПЗУ, номер которой определяется 5 старшими разрядами кода операции. При абсолютном способе адресации 11 младших разрядов содержимого программного счетчика заменяются на содержимое адресной части команды. Для длинного перехода адресная часть команды состоит из двух байтов, содержимое которых заносится в программный счетчик. Короткий, абсолютный и длинный безусловные переходы обозначаются в мнемокодах команды начальными буквами
S(Short), A(Absolute) и L(Long) соответственно.
Команды безусловного перехода можно разделить на команды без запоминания адреса возврата, команды с запоминанием адреса возврата и команды возврата, В последней разновидности команд безусловного перехода адресная часть отсутствует. Есть также команда безусловного перехода, использующая индексную адресацию. Более подробно о способах адресации будет рассказано в описании управляющих команд.
Эту главу мы завершаем описанием команд, разделенных функционально на следующие 4 группы: команды пересылки информации, команды поразрядной обработки информации, арифметические команды и управляющие команды. Существует одна команда, которую нельзя отнести ни к одной из групп, так как она не делает ничего в течение одного такта:
NOP
Однако эта команда (No OPeration — нет операции) нужна для работы в реальном масштабе времени, чтобы обеспечить кратковременную задержку перед выполнением следующей команды.