- •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. Отчет по работе.
1.1. Режим 0
В нулевом режиме таймер работает как 13-битный суммирующий счётчик. Этот счётчик состоит из 8 бит регистра ТНх и младших 5 бит регистра TLx, где x в обозначении регистра заменяется на 0 или 1 в зависимости от того таймера, которым мы управляем. Старшие 3 бита регистров TLx не определены и игнорируются. Установка запускающего таймер флага TR0 или TR1 не очищает эти регистры. Работе таймера 0 или таймера 1 в режиме 0 соответствует схема:
Рис. 9.2. Схема таймеров 0 или 1 в режиме 0.
Этот режим был введён для совместимости с устаревшим семейством микроконтроллеров MCS-48 для облегчения переноса уже разработанных программ на новые процессоры и поэтому в настоящее время не используется. Тем не менее, в этом режиме можно обеспечить формирование интервала времени длительностью до 8096 мс при частоте задающего генератора 12 МГц.
Когда содержимое счетчика изменяется из состояния все "1" в состояние все "0" , то устанавливается (принимает значение "1") флаг прерывания таймера TF0 или TF1.
Обычно пользователя интересует не максимальный интервал времени, а свой конкретный интервал времени. Для уменьшения интервала времени в регистры таймера можно предварительно занести число и тем самым сформировать произвольный интервал времени. Рассмотрим пример подготовки таймера T0 для формирования временного интервала 5мс.
;Настроить режим работы таймера-------------------------------------------------------
mov TMOD,#00000000b ;настроить таймеры T0 и T1 на нулевой режим работы
;||||||||
;||||||++-------Перевести таймер T0 в тринадцатиразрядный режим работы
;|||||+---------Синхронизироваться от внутреннего генератора
;||||+----------Запретить управление таймером от ножки INT0
;||++-----------Перевести таймер T1 в тринадцатиразрядный режим работы
;|+-------------Синхронизироваться от внутреннего генератора
;+--------------Запретить управление таймером от ножки INT1
;Настроить таймер на генерацию 5-ти миллисекундного интервала времени------------------
mov TH0, #HIGH(-5000) ;Загрузить старший байт таймера
mov TL0, #LOW(-5000) ;Загрузить младший байт таймера
В рассмотренном примере для расщепления 16-ти битной константы на два отдельных байта были использованы функции выделения старшего и младшего байта. Эти функции присутствуют в большинстве ассемблеров для микроконтроллеров MCS-51. Если же язык программирования не содержит в своём составе подобные функции, то можно для выделения байтов воспользоваться операцией деления на 256.
mov TH0, #-5000/256 ;Загрузить старший байт таймера
mov TL0, #-(5000-5000/256) ;Загрузить младший байт таймера
1.2. Режим 1
В первом режиме работы таймер работает как шестнадцатиразрядный счётчик. Режим 1 похож на режим 0, за исключением того, что в регистрах таймера использует все 16 бит. В этом режиме регистры ТНх и TLx также включены друг за другом. Работе таймера 0 или таймера 1 в режиме 1 соответствует схема:
Рис. 9. 3. Схема таймеров 0 или 1 в режиме 1.
В этом режиме можно обеспечить формирование интервала времени длительностью до 65536 мкс при частоте задающего генератора 12 МГц.
Рассмотрим пример использования таймера T0 для формирования временного интервала 15мс.
;Настроить режим работы таймера--------------------------------------------------------
mov TMOD,#00000001b ;перевести таймер T0 в первый режим работы, а T1 - в нулевой
;||||||||
;||||||++-------Перевести таймер T0 в шестнадцатиразрядный режим работы
;|||||+-----------Синхронизироваться от внутреннего генератора
;||||+------------Запретить управление таймером от ножки INT0
;||++-------------Перевести таймер T1 в тринадцатиразрядный режим
;|+----------------Синхронизироваться от внутреннего генератора
;+-----------------Запретить управление таймером от ножки INT1
;Настроить таймер на генерацию 15-ти миллисекундного интервала времени-----------------
mov TH0, #HIGH(-15000) ;Загрузить старший байт таймера
mov TL0, #LOW(-15000) ;Загрузить младший байт таймера
OjidanTimer:
jnb TF0, OjidanTimer ;Подождать пока не переполнится таймер
В рассмотренном примере переполнение таймера произойдёт через 15000 циклов процессора, то есть через 15 мс. Программа будет постоянно проверять состояние флага переполнения таймера и как только он установится в единицу, перейдёт к выполнению следующей команды.
Нулевой и первый режимы работы таймеров T0 и T1 предназначены для формирования одиночного интервала времени. Если возникает необходимость формировать последовательность интервалов времени для периодических процессов, то загрузка регистров TH0 и TL0 для задания нужного интервала времени производится программно, что для коротких интервалов времени может привести к значительным затратам процессорного времени.
Для формирования последовательности одинаковых интервалов времени используется режим работы таймера с перезагрузкой - режим 2.