
- •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. Отчет по работе.
2. Пример выполнения работы
В качестве примера ниже приведена программа, реализующая измеритель напряжения с использованием алгоритма аналого-цифрового преобразования по методу дифференциального кодирования с индикацией полученного результата на статических индикаторах стенда. Поскольку в стенде использован восьми разрядный ЦАП на который подано опорное напряжение 5,12 В, вес младшего значащего разряда составляет 5,12 / 256 = 0,02 В. Поэтому после выполнения аналого-цифрового преобразования, для получения достоверных результатов, полученный код перед выводом на индикаторы необходимо масштабировать результат: умножить на 0,02 В.
;*******ЛАБОРАТОРНАЯ РАБОТА 12*************
;*****Программа изучения аналого-цифрового преобразования *********
; Реализуется способ следящего АЦП
; с последующим преобразованием результата в BCD формат для
; вывода на индикацию на статич. индикаторах HG1.1, HG1.2, HG1.3
; составил А. Н. Алаев
; ********************************************************
.ORG 0 ; установка указателя сч команд для ассемблера на 0
ADC: ; программа преобразования напряжения в 8-ми разр. дв. код
;результат преобразования в регистре R0
mov A,R0 ; переслать в акк. содерж. регистра преобр.
mov DPTR,#0F000h ; переслать в DPTR адрес ЦАПа
movx @DPTR,A ; переслать содержимое регистра преобр. в регистр ЦАПа
; т.е. произвести перобразование код-напряжение
call delay ; вызвать п-п задержки для ожидания окончания переходных
; процессов в ЦАПе
jnb P1.7, decr ; если сработал компаратор, подключенный выходом к порту
;Р1.7, а входами к ЦАП и преобр. напряжению переход к уменьш.
; на "1" содерж. в рег. R0
cjne A,#0FFh,i1 ; сравнение содерж. акк с FFh и переход если не равно
; (блокировка переполнения регистра)
sjmp i2 ;абсолютный переход на сегмент индикации без увеличения
; содержимого регистра
i1: inc A ; увеличение содержимого акк. на "1" т. к. компаратор
; не сработал
i2: mov R0,A ; пересылка акк. в регистр преобр.
sjmp ind ; абсолютный переход на сегмент индикации
decr:
cjne A,#000h,i3 ; сравнение содерж. акк. с 00h и переход если не равно
; (блокировка переполнения регистра)
sjmp i4 ; абсолютный переход на сегмент индикации без уменьшения
; содержимого регистра
i3: dec A ; уменьшение содержимого акк. на "1"
i4: mov R0,A ; пересылка акк. в регистр. преобр.
sjmp ind ; абсолютный переход на сегмент индикации
ind: ; сегмент индикации R1-упакованные единицы (ст. тетрада)
; и десятки, R2 - сотни ст. тетрада
call preobr ; вызов подпрограммы масштабирования и преобразования
; в упакованный BCD формат
mov A,#00100001b ; подготовка включения трех левых разр. стат. инд. и
; второй слева точки
mov DPTR,#0A004h ; адрес анодов и точек индикаторов в DPTR
movx @DPTR,A ; включение соотв. разрядов и точки
mov A,R1 ; единицы и десятки в акк.
mov DPTR,#0B000h ; адрес двух правых инд. в DPTR
movx @DPTR,A ; высветить десятки и единицы
mov A,R2 ; сотни в акк.
mov DPTR,#0A000h ; адрес двух левых индикаторов в DPTR
movx @DPTR,A ; высветить сотни
sjmp ADC ; абсолютный переход на начало программы
;**************************************************************
;ПОДПРОГРАММА ЗАДЕРЖКИ НА 200 мкс
;****************************************************************
delay:
mov R3,#200 ;* организация 200 машинных циклов
djnz R3,$ ;* переход на саму себя с уменьшением содержимого R3 на «1»
ret
;********************************************************************
;*********************************************************************
;Подпрограмма умножения на 2 и преобразования 8-ми разрядного
; двоичного кода
;в двоично-десятичный (BCD) упакованный, в R1 записываются младшие
; разряды
;числа в R2 (старшую тетраду) – старший
preobr:
mov A,R0 ; код АЦП в акк.
mov R7,A ; запоминание масштабированного результата
mov B,#100 ; заносим во вспомогательный регистр делитель
div AB ; делим преобр. число на 100
rl A ; умножаем на 2 код сотен
mov R2,A ; переписываем код (старший двоично десятин.
; разряд) в регистр R2 мл. тетрада (код сотен)
mov A,B ; переписываем в акк. остаток от деления
mov B,#10 ; заносим во вспомогательный регистр делитель
div AB ; делим на 10, в результате в акк.
; в
; в ст. тетраде нули
; а в рег. В в
mov R1,B ; переписываем код единиц в регистр R1
rl A ; умножение на 2 кода десятков
mov R4,A ; запоминание кода десятков во вспомогат. регистре R4
mov A,R1 ; пересылка в акк. кода единиц
rl A ; умножение на 2 кода единиц
mov B,#10 ;* формирование переноса в байт десятков, если число
;* превышает «9»
div AB ;* деление кода единиц на «10»
mov R1,B ;* пересылка остатка (фактический код единиц)
;* в регистр кода ед.
add A,R4 ; прибавление переноса к коду десятков
; (перенос содержится в акк.)
mov B,#10 ;* формирование переноса в байт сотен,
;* если код десятков превышает «9»
div AB ;* деление кода десятков на «10»
mov R4,B ;* запоминание фактического кода десятков во вспом. регистре
add A,R2 ; прибавление переноса к коду сотен
mov R2,A ; запоминание фактического кода сотен
mov A,R4 ; пересылка в акк. фактического кода десятков для упаковки
pack: swap A ; меняем местами ст. и мл. тетраду акк.
; в результате в ст. тетраде хранится код десятков
; в мл. записаны нули
xrl A,R1 ; логическое суммирование регистров
; в результате получили упакованный BCD в акк.
; - в ст. тетраде находится код десятков, а в мл.
; - код единиц
mov R1,A ; переписываем результат в регистр для индикации
; десятков и единиц
ret
end