
- •6.050901 «Радіотехніка»
- •6.170102 «Системи технічного захисту інформації»
- •Изучение основных характеристик логических элементов основных типов
- •1. Методические указания к лабораторной работе
- •1.1. Исследование статических характеристик логических элементов
- •1.2. Исследование динамических характеристик логических элементов
- •2. Содержание отчета
- •3. Приложение
- •3.1. Описание учебно-лабораторного стенда “logic”
- •3.2. Описание микросхем, входящих в состав стенда и используемых для снятия переходной характеристики
- •3.3. Описание микросхем, используемых для снятия динамических характеристик
- •Двухвходового элемента и-не
- •Исследование базовых логических элементов и их комбинаций
- •1. Методические указания к лабораторной работе
- •1.1. Исследование базовых логических элементов
- •2. Содержание отчета
- •Синтез комбинационных схем с одним выходом
- •1. Методические указания к лабораторной работе
- •1.1. Исследование базовых логических элементов
- •2. Содержание отчета
- •3. Приложение.
- •3.1. Варианты заданий для выполнения лабораторной работы
- •Исследование триггеров
- •1. Методические указания к лабораторной работе
- •1.1. Исследование r-s триггеров
- •1.1.1. Исследование асинхронного r-s триггера
- •1.1.2. Исследование синхронного r-s триггера
- •1.1.3. Исследование r-s триггеров r, s и e типов
- •1.2. Исследование d-триггеров
- •1.2.1. Исследование d – триггера со статическим управлением
- •1.2.2. Исследование d – триггера с динамическим управлением
- •1.3. Исследование т-триггера
- •1.4. Исследование универсального j-k триггера
- •2. Содержание отчета
- •3. Приложение
- •Исследование двоичных счетчиков
- •1. Методические указания к лабораторной работе
- •1.1. Счетчики
- •1.2. Синтез синхронных счетчиков
- •1.2.1. Синтез цепей возбуждения
- •Матрица переходов j-k триггера
- •1.2.2. Синтез цепи переноса в следующие разряды
- •1.3. Динамические параметры счетчиков
- •2.Порядок выполнения работы
- •3. Отчет по работе.
- •Исследование регистров
- •1. Методические указания к лабораторной работе
- •1.1. Регистры
- •1.1.1. Регистры сдвига
- •1.1.2. Регистр сдвига на один разряд
- •1.1.3. Регистр сдвига на k разрядов
- •1.1.4. Реверсивные регистры сдвига
- •1.1.5. Параллельный ввод информации в регистрах сдвига
- •1.1.6. Регистры с обратными связями
- •1. 2. Проектирование многофункциональных регистров
- •1.3. Проектирование комбинационной схемы
- •1.4. Динамические параметры регистров
- •2. Порядок выполнения работы
- •3. Отчет по работе.
- •Состязания сигналов в цифровых схемах
- •1. Краткие теоретические сведения
- •2. Состязания в комбинационных схемах
- •2.1. Статические и динамические состязания сигналов
- •2.2. Синтез схем, свободных от статических состязаний
- •Статического состязания сигналов
- •2.3. Функциональные и логические состязания сигналов
- •На выходе схемы может появиться ложный импульс.
- •2.4. Синтез схем, свободных от логических состязании
- •2.5. Анализ комбинационных схем с целью выявления состязаний
- •3. Состязания сигналов в последовательностных схемах
- •4. Условия надежного функционирования асинхронной схемы
- •4.1. Критические состязания
- •4.2. Существенные состязания
- •5. Порядок выполнения работы
- •6. Отчет по работе должен содержать:
- •Изучение стенда, команд микроконтроллеров семейства mcs-51
- •1. Цель работы
- •2. Приборы и оборудование
- •3. Краткие теоретические сведения
- •3.1.Организация памяти и функционирование микроконтроллера
- •3.2. Запись исходного текста программы на языке программирования asm-51
- •3.3. Встроенные имена
- •3.4. Определяемые имена
- •3.5 Числа
- •3.6. Группа команд пересылки данных
- •3.7. Группа логических команд
- •3.8. Группа арифметических команд
- •3.9. Группа команд управления
- •3.10. Директивы ассемблера asm-51
- •4. Пример выполнения работы
- •5. Задание на выполнение работы.
- •6. Отчет по работе.
- •Изучение программирования встроенных таймеров микроконтроллера mcs-51
- •1. Краткие теоретические сведения
- •1.1. Режим 0
- •1.2. Режим 1
- •1.3. Режим 2
- •1.4. Режим 3
- •1.5. Управление таймерами-счётчиками.
- •1.7. Использование таймера в качестве частотомера.
- •2. Пример выполнения работы
- •1. Краткие теоретические сведения
- •1.1. Регистр приоритетов прерываний
- •1.2. Регистр разрешения прерываний
- •1.3. Начальные адреса прерываний
- •2. Задание на выполнение работы.
- •3. Отчет по работе.
- •Изучение способов программирования преобразования в двоично-десяичный код и программирования прерываний таймеров микроконтроллера mcs-51
- •1. Краткие теоретические сведения
- •Структура регистра ie
- •Адреса векторов прерывания
- •Регистр приоритетов прерываний
- •2. Пример выполнения работы
- •3. Задание на выполнение работы.
- •4. Отчет по работе.
- •Изучение способов построения аналого-цифровых преобразователей с использованием микроконтроллера mcs-51
- •1. Краткие теоретические сведения
- •2. Пример выполнения работы
- •3. Задание на выполнение работы.
- •4. Отчет по работе.
3.8. Группа арифметических команд
В ранее рассмотренных командах обработки информации кодирование содержимого отдельных битов байта не имело значения. В арифметических операциях нужно придерживаться строго определенных правил записи данных в соответствии с порядковыми номерами разрядов двоичного кода. В связи с ограниченными ресурсами микроконтроллера в нем используются только четыре арифметических операции с целыми числами. Отступления от правил кодирования приводят к неправильному выполнению арифметических операций.
В одном байте может быть закодировано 256 значений целого числа. При работе с положительными числами это соответствует значениям от 0 до 255. Все команды арифметических операций предназначены для работы с положительными целыми числами байтового формата, хотя команды сложения и вычитания в случае отсутствия переполнения обеспечивают получение корректного результата при специальном способе кодирования отрицательных чисел. Кодирование чисел более подробно рассмотрено в главе о программировании арифметических операций. При необходимости работы с числами, которые не могут быть представлены в байтовом формате, необходимо разрабатывать соответствующие подпрограммы. Выполнение операций умножения и деления с числами, имеющими произвольный знак, возможно при их представлении через знак и модуль и использовании соответствующих подпрограмм. Это могут быть собственные разработки или заимствования из хорошо проверенных библиотек других разработчиков.
Команда сложения работает с данными байтового формата, притом в качестве приемника всегда используется только аккумулятор:
ADD A, #dat8
ADD A, Rn
ADD A, @Ri
ADD A, dat8
Мнемоника этой команды соответствует слову ADDition (сложение).
Для работы с числами, которые не могут быть представлены одним байтом, используется команда сложения, учитывающая перенос, полученный при сложении предыдущей пары байтов:
ADDC A, #dat8
ADDC A, Rn
ADDC A, @Ri
ADDC A, dat8
С теми же операндами работают и команда вычитания с заемом:
SUBB A, #dat8
SUBB A, Rn
SUBB A, @Ri
SUBB A, dat8
При выполнении этой команды из вычитаемого вначале вычитается единица, если установлен флаг переноса CY, а затем само вычитаемое. Здесь следует отметить, что при вычитании многобайтовых чисел, при выполнении первого вычитания, для получения правильного результата необходимо предварительно сбрасывать флаг переноса CY.
Для увеличения, или уменьшения содержимого регистров на «1» существуют команды INC и DEC соответственно:
INC A
INC Rn
INC dat8
INC @Ri
DEC A
DEC Rn
DEC dat8
DEC @Ri
Команда INC работает и для двухбайтового регистра DPTR.
Команды уменьшения для работы с двухбайтовым форматом данных нет.
Результаты выполнения команд сложения и вычитания влияют на содержимое битов переноса, дополнительного переноса и переполнения в cлове состояния программы. Результаты выполнения команд увеличения и уменьшения не влияют па содержимое слова состояния программы.
Команда умножения (MULtiplication) и деления (DIVision) работают при записи операндов в накопитель и регистр В, Для команды умножения порядок записи сомножителей в эти регистры не важен:
MUL АВ
Произведение имеет двухбайтовый формат. Младший байт произведения записывается в накопитель, а старший - в регистр В.
Для команды деления делимое должно быть записано в аккумулятор а делитель - в регистр В:
DIV AB
После выполнения команды в накопителе находится частное, а в регистре В - остаток. После выполнения команд умножения и деления в бит переноса заносится 0. Если старший байт произведения не равен нулю, то в байт переполнения заносится «1». При делении на 0 в байт переполнения также заносится «1».