Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Лабораторная работа №3. Тема:Система прерываний. Опрос дискретных датчиков.




Тема:Система прерываний. Опрос дискретных датчиков.

Цель работы: Изучение режимов работы системы прерывания ОЭВМ, программная обработка дискретных сигналов

Учебная задача: Изучение систем прерывания режимов ввода дискретной информации, разработка программ опроса сигналов от датчиков

Порядок выполнения лабораторной работы.

1) Изучить систему прерывания ОЭВМ К1816ВЕ31,особенности опроса дискретных датчиков с механическими контактами.

2) Разработать алгоритм для выполнения индивидуального задания до начало лабораторного занятия.

3) Разработать программу для выполнения индивидуального задания до начало лабораторного занятия

4) Ввести программу индивидуального задания на ПК.

5) С помощью ПОС проанализировать выполнение индивидуальной программы

6) Загрузить программу в стенд ОЭВМ. Убедиться в правильном выполнении индивидуального задания, при отрицательном результате осуществить изменение алгоритма либо программы. Повторить загрузку программы в стенд ОЭВМ

7) Распечатать листинг правильно работающей программы.

8) Ответить на контрольные вопросы преподавателя

Контрольные вопросы:

1. Структура системы прерывания ОЭВМ К1816ВЕ31.

2. Назначение, примеры применения системы прерывания

3. Регистры управления, распределение памяти в ОЭВМ 1816 ВЕ31.

4. Прерывание от таймеров, последовательного приемопередатчика

5. Аппаратное устранение дребезга контактов для схем с TTL и КМОП.

6. Программное устранение дребезга контактов

7. Необходимость применения аппаратного либо программного устранения дребезга контактов

Краткие теоретические сведения

Опрос дискретных сигналов.Для ввода информации широко применяются кнопочные переключатели и контактные клавиатуры. Сигнал таких переключателей формируется путем замыкания (размыкания) электрической цепи. Сигнал, формируемый контактной парой, сопровождается дребезгом, длительность которого составляет ~8-12мс рисунок 8.

Рисунок 8. Сигнал контактной пары

Для устранения дребезга в получаемом сигнале на выходе контактной пары устанавливают специальные формирователи. Пример такого формирователя основанного на принципе непосредственной установки RS-триггера приведён на рисунке 9.

Рисунок 9. Схема устранения дребезга с помощью RS-триггера

Для уменьшения аппаратных затрат применяют программное подавление дребезга. Оно заключается в повторном опросе контактной пары с задержкой в 12мс, при совпадении результатов опроса кнопка была нажата, иначе в результате первого опроса был зафиксирован дребезг.

 

Система прерываний ОЭВМ 1816ВЕ31

Регистр приоритетов прерывания (IP) предназначен для установки ровня приоритета прерывания для каждого из 5-ти источников прерывания.

Обозначение разрядов регистра IP показано в таблице 5, а назначение указано ниже.

Таблица 4 Регистр приоритетов прерываний IP

Х Х Х PSP PT1 PX1 PT0 PX0

 

PX0 - установка уровня приоритета прерывания от внешнего источника /INTO.

PT0 - установка уровня приоритета прерывания от Т/С0.

PX1 - установка уровня приоритета прерывания от внешнего источника. /INT1.

PT1 - установка уровня приоритета прерывания от Т/С 1.

PS - установка уровня приоритета прерывания от последовательного порта.

X - резервный разряд.

Наличие в разряде IP "1" устанавливает для соответствующего источника высокий уровень приоритета, а наличие в разряде IP "0"-низкий уровень приоритета. При чтении резервных разрядов, соответствующие линии магистрали данных не определены.

Регистр разрешения прерывания (IE) предназначен для разрешения или запрещения прерываний от соответствующих источников. Обозначение разрядов регистра IE показано в таблице 6, а назначение указано ниже.

Таблица 5 Регистр разрешения прерываний IE

EA X X ES ET1 EX1 ET0 EX0

 

ЕА - управление всеми источниками прерываний одновременно. Если ЕА = 0, то прерывания запрещены. Если ЕА = 1,то прерывания могут быть разрешены индивидуальными разрешениями EXO, ETO, EXI, ETI, ES.

* - резервный разряд.

ES - управление прерыванием от последовательного порта. ES = 1 разрешение. ES = 0 - запрещение.

ETI - управление прерыванием от т/с 1. ЕТ = 1 -разрешение. ЕТI = 0 - запрещение.

EXI - управление прерыванием от внешнего источника /INT1. EXI = 1 - разрешение. EXI = 0 - запрещение.

ЕТО - управление прерыванием от т/с 0. ЕТО = 1 - разрешение. ЕТО= 0 - запрещение.

EXO - управление прерыванием от внешнего источника /INTO. EXO=1 - разрешение. EXO = 0 - запрещение.

При чтении резервных разрядов соответствующие линии магистрали не определены.

Структура прерываний

Механизм прерываний в ОМЭВМ позволяет автоматически реагировать на внешние и на внутренние события (переполнение таймеров/счетчиков; завершение последовательного обмена).

Каждое из внешних прерываний /INTO, /INT1 может быть активизировано по уровню или по фронту сигналов Р3.2, Р3.3 с помощью битов IT0 и IT1 регистра TCON. При поступлении запроса внешнего прерывания /INTх устанавливается флаг IEх регистра TCON. Очистка флага IEх производится аппаратно: при прерывании по фронту IEх сбрасывается при обращении к соответствующей подпрограмме обработки прерывания; при прерывании по уровню флага очищается при снятии запроса внешнего прерывания, то есть в IEх отслеживается состояние вывода /INTх.

Чтобы внешнее прерывание по уровню было распознано, необходимо, чтобы низкий уровень на выводе INTх удерживался в течение не менее 12 периодов сигнала тактовой частоты. Если же прерывание активизируется по переходу из состояния высокого уровня в состояние низкого уровня, то циклу низкого уровня должен предшествовать цикл высокого уровня на выводе /INTх. Если внешнее прерывание активизируется по уровню, запрос должен удерживаться до начала обслуживающей подпрограммы и сниматься перед завершением этой подпрограммы для предотвращения повторного обслуживания.

Прерывания от таймеров/счетчиков выполняются по флагам TF0 и TF1 регистра TCON, которые устанавливаются при переполнении соответствующих регистров таймеров/счетчиков (за исключением режима 3). Очистка флагов TF0 и TF1 происходит при переходе к подпрограмме обслуживания прерывания.

Прерывание от последовательного порта выполняется по флагу окончания приема RI или по флагу окончания передачи TI, которые останавливаются в регистре SCON.

В отличие от всех остальных флагов, RI и TI сбрасываются только программным путем обычно в пределах подпрограммы обработки прерывания, где определяется, какому из флагов RI или TI соответствует прерывание.

В случае одновременного поступления запросов прерывания с одинаковым уровнем приоритета, равным 0 или 1, обработка их производится в порядке внутреннего опроса флагов:

IEO -> TFO -> TE1 -> TF1 -> (TI + RI)

Установка флагов прерывания происходит в конце машинного цикла, а их опрос в следующем цикле. И только после выполнения последнего цикла текущей команды производится аппаратный вызов соответствующей подпрограммы обслуживания, эквивалентный команде LCALL.

В общем случае, обращение к подпрограмме обслуживания задерживается при выполнении хотя бы одного из следующих условий:

· производится обработка прерывания с таким же или высшим приоритетом;

· текущий машинный цикл (цикл опроса флага) не является последним циклом выполняемой команды;

· выполняемая команда текущей программы RETI или любая команда обращения к регистрам IE, IP.

В последнем условии после окончания одной из вышеуказанных команд обязательно выполнится еще одна команда текущей программы перед вызовом подпрограммы обслуживания прерывания.

Флаг прерывания, установленный во время действия блокировки прерывания по одному из трех указанных условий и сброшенный до их снятия, не вызовет обслуживания соответствующего запроса прерывания.

Подпрограмма обслуживания прерывания продолжается до выполнения команды RETI по которой восстанавливается состояние логики прерывания и состояние программного счетчика PC из двух верхних ячеек стека. При использовании команды RET восстанавливается только состояние программного счетчика, а состояние логики прерывания остается неизменным.

Таблица 6 Начальные адреса векторов прерываний

Источник прерывания Адрес
Внешнее прерывание 0 0003H
Переполнение таймера 0 000BH
Внешнее прерывание 1 0013H
Переполнение таймера 1 001BH
Последовательный порт 0023H

В составе учебно-отладочного стенда имеется две отдельные кнопки S10-S11, которые могут опрашиваться, как программно, так и с помощью использования функций прерываний INT0-INT1 соответственно.

В составе учебно-отладочного стенда имеется матрица кнопок S1-S9 (подписи на кнопках соответствуют номеру позиционного обозначения на схеме). На линиях РС4-РС6 микросхемы параллельного приемопередатчика DD10 выставляется сканирующая тетрада, которая содержит ноль только в одном разряде, а с линий РС0-РС2 считывается состояние кнопок. Если в прочитанной тетраде биты (0,1,2) равны единице, то ни одна кнопка не нажата. В противном случае была нажата та кнопка, которая включена в пересечение линий, где был установлен ноль и с которой считался ноль. Например если в текущем цикле опроса ноль выставляется на линии РС4 и при считывании состояния клавиатуры был обнаружен ноль на линии РС1 то значит была нажата кнопка S2.

Пример программного опроса дискретного сигнала

CSEG

ORG 0

jb p3.2,$ ;опрос нажатия кнопки S1,если кнопка была

;нажата то программа выполняется дальше

Continue:

mov A,#04h ;записать в аккумулятор число 04

mov DPTR,#0A000h ;уст. в DPTR адрес инд. DD15,DD16

movx @DPTR,A ;засв. на инд. DD15,DD16 число 04

mov DPTR,#0B000h ;уст. DPTR адрес инд. DD17,DD18

movx @DPTR,A ;засв. на инд. DD17,DD18 число 04

C1: mov R1,#0FFh ;временная задержка на двух регистрах

mov R2,#0FFh ;с декрементом во вложенном цикле,

djnz R1, $ ;определяет время свечения

djnz R2, C1 ;индикаторов

mov A,#0FFh ;записать в аккумулятор число FFh

mov DPTR,#0A000h ;уст. в DPTR адрес инд. DD15,DD16

movx @DPTR,A ;потушить инд. DD15,DD16

mov DPTR,#0B000h ;уст. в DPTR адрес инд. DD17,DD18

movx @DPTR,A ;потушить инд. DD17,DD18

C2: mov R1,#0FFh ;временная задержка на двух регистрах

mov R2,#0FFh ;с декрементом во вложенном цикле,

djnz R1, $ ;определяет время гашения

djnz R2, C2 ;индикаторов

jmp Continue ;переход на начало программы

END

 

Варианты индивидуальных заданий

Таблица 7 Таблица заданий к л.р. №3

Текст индивидуального задания
Подсчитать и отобразить на С_инд количество нажатий кнопки S1
Реализовать опрос клавиатуры. Номер клавиши отображать путем засвечивания соответствующей точки на матрице HG1
Реализовать опрос клавиатуры. Номер клавиши отображать на C_инд
По нажатии S10 запускать бегущий огонь на светодиодах HL1-HL8
По нажатии S11 запускать бегущую “тень” на светодиодах HL1-HL8
Реализовать опрос клавиатуры. Номер клавиши индицировать позиционным кодом на светодиодах HL1-HL8
Реализовать программу ввода двухзначного числа с клавиатуры, используя С_инд.
Реализовать опрос клавиатуры. Номер клавиши отображать на Д_инд
По нажатии S10 запускать бегущий огонь на матрице HG1 а по нажатии S11 потушить все точки
По прерыванию INT0 засветить светодиоды HLn (n-нечетное)
По прерыванию INT1 засветить светодиоды HLn (n-четное)
По прерыванию INT0 отображать “шахматку” на HG1
Реализовать программу ввода трехзначного числа с клавиатуры, используя С_инд.
По нажатии S11 запускать бегущую “тень” на матрице HG1 а при повторном нажатии S11 потушить все точки
Реализовать опрос клавиатуры. Номер клавиши индицировать двоичным кодом на светодиодах HL1-HL8

Лабораторная работа №4

Тема: Цифроаналоговое преобразование

Цель работы: Изучение методов цифроаналогового преобразования

Учебная задача: Разработка программ для формирования различных аналоговых сигналов.

Порядок выполнения лабораторной работы

1) Изучить структурную схему модуля ЦАП на плате расширения

2) Разработать алгоритм для выполнения индивидуального задания до начало лабораторного занятия

3) Разработать программу для выполнения индивидуального задания до начало лабораторного занятия

4) Ввести программу индивидуального задания на персональном компьютере.

5) С помощью ПОС проанализировать выполнение индивидуальной программы

6) Загрузить программу в стенд ОЭВМ. Убедиться в правильном выполнении индивидуального задания (формирование заданной формы сигнала) используя осциллограф, при отрицательном результате осуществить изменение алгоритма либо программы. Повторить загрузку программы в стенд ОЭВМ

7) Распечатать листинг правильно работающей программы.

8) Ответить на контрольные вопросы преподавателя

Контрольные вопросы:

1. Методы и типы ЦАП.

2. Статические параметры ЦАП

3. Понятие дискретности, квантование, разрешающая способность ЦАП

4. Характеристика преобразования, нелинейность ЦАП.

5. Напряжение смещения нуля, допустимое напряжение на выходе ЦАП.

6. Динамические параметры ЦАП

7. Факторы, влияющие на погрешность ЦАП

8. Аппаратные реализации ЦАП

9. Примеры практического применения ЦАП

Краткие теоретические сведения

Цифро-аналоговые преобразователи (ЦАП) вырабатывают напряжение или ток, функционально связанные с управляющем кодом. Применяются ЦАП для формирования выходных аналоговых сигналов цифровых измерительных и вычислительных устройств. Для преобразования двоичного кода в аналоговый сигнал обычно формируются токи, пропорциональные весам разрядов кода, и затем суммируются те из токов, которые соответствуют ненулевым разрядам входного кода.

Применяются в основном два метода ЦАП: суммирование единичных эталонных величин и суммирование эталонных величин, веса которых различаются. В первом при формировании выходной аналоговой величины используется только одна эталонная величина весом в один квант. Во втором методе применяются эталонные величины с весами, зависящими от номера разряда, и в суммировании участвуют только те эталонные величины, для которых в соответствующем разряде входного кода установлена единица.

В случае использования на входе двоичного позиционного кода значения всех разрядов поступает одновременно, и работа таких ЦАП описывается выражением

 

Х=Р(а1*2Е-1 + а2*2Е-2 +а3*2Е-3 +аi*2Е-b),

 

где Х - аналоговая величина.

ai – коэффициенты соответствующих двоичных разрядов, которые принимают дискретные значения единица или нуль.

Р - опорный сигнал

b - число разрядов

В преобразователях из опорного напряжения формируются эталонные величины, соответствующие значениям разрядов входного кода, которые суммируются и образуют дискретные значения выходной аналоговой величины.

Классификация ЦАП может быть проведена по признакам.

Способу формирования выходного напряжения (С суммирование напряжений, делением напряжений, суммированию токов).

Роду выходного сигнала (с токовым выходом, выходом по напряжению).

Полярности выходного напряжения (постоянному, переменному) и т.д. Основные структуры используемые в ЦАП интегрального исполнения –это:

Структуры с суммированием токов.

ЦАП - со взвешенными резисторами в цепях эмиттеров.

ЦАП - со взвешенными резисторами в цепях нагрузки.

ЦАП с лестничной матрицей R=2R в цепях эмиттеров транзисторов источников токов.

ЦАП с выходной лестничной матрицей R=2R

Параметры ЦАП.

Число разрядов n управляющего кода, номинальный выходной ток, время установления выходного сигнала после изменения входного управляющего кода, погрешность полной шкалы, погрешность линейности, дифференциальная нелинейность.

Погрешности ЦАП могут быть выражены в процентах или других относительных единицах, а также в долях кванта

Упрощенная схема ЦАП для понимания работы преобразования входного кода в ток (напряжение) определенной величины.

Рисунок 10.

Если соотношение резисторов ЦАП как 8R, 4R, 2R, 1R, то при включении всех коммутаторов, в соответствии с законом Ома напряжение в точке OUT будет равняться напряжению VCC. Если включить коммутатор резистора R8, напряжение в точке OUT будет равно Аналогично можно знать значение напряжения, при различных комбинациях входного кода.

В составе учебно-отладочного стенда имеется микросхема ЦАП КР572ПА1. Она включена как десяти разрядный ЦАП с выходом по напряжению (Напряжение полной шкалы указывается на плате расширения). Для наблюдения выходного сигнала с микросхемы ЦАП необходимо подключить осциллограф к BNC разъему и замкнуть перемычку J4. Цифровой код подается через лини РА0-РА7 и РС0-РС1 микросхемы параллельного приемопередатчика DD10.

Пример выполнения программы цифро-аналогового преобразования

Сформировать два прямоугольных сигнала ½ амплитуды и ¼ полной амплитуды выхода ЦАП.

A55 equ 8000h ;Адрес порта А

B55 equ 8001h ;Адрес порта В

C55 equ 8002h ;Адрес порта С

RUS55 equ 8003h ;Адрес порта управляющего слова

UW equ 80h ;Управляющее слово все порты на ;вывод ORG 0000

MOV DPTR,#RUS55

MOV A,#UW

MOVX @DPTR,A ;инициализация ВВ55

М2: MOV R0,#00h ;в R0 хранятся старшая часть ;кода ЦАПа

MOV DPTR,#C55 ;обнуление старших

MOV A,R0 ;разрядов ЦАПа

MOVX @DPTR,A ;D9-D8

MOV DPTR,#А55 ;обнуление младших

MOV A,R0 ;разрядов ЦАПа

MOVX @DPTR,A ;D7-D0

СALL ZAD ; подпрограмма задержки на 0.1 сек

MOV A,#02h ;в А занести ½ макс. значения кода

MOV DPTR,#С55 ;

MOVX @DPTR,A ;Запись в порт А младшей части кода

СALL ZAD ; подпрограмма задержки на 0.1 сек

MOV A,#01h ;в А занести ½ макс. значения кода

MOV DPTR,#С55 ;

MOVX @DPTR,A ;Запись в порт А младшей части кода

СALL ZAD ; подпрограмма задержки на 0.1 сек

СALL ZAD ; подпрограмма задержки на 0.1 сек

JMP M2 ;переход на новый цикл

END


 

Варианты индивидуальных заданий

Таблица 8 Таблица заданий к л.р. №4

Текст индивидуального задания
Сформировать пилообразное напряжение с частотой повторения 50 Гц. Отображать на С_Инд число сгенерированных импульсов.
По нажатии S1 сформировать треугольные импульсы, передний фронт 20мсек задний 10 мсек.
По нажатии S2 сформировать трапециевидные импульсы, передний фронт 13мсек задний 15 мсек.
Сформировать синусоиду с частотой повторения 120 Гц.
Сформировать пилообразное напряжение с частотой повторения 200 Гц и длительностью переднего фронта 2 мсек.
По нажатии S3 сформировать синусоиду с частотой повторения 100 Гц.
Сформировать прямоугольные импульсы, с длительностью 25мсек и скважностью 4
По нажатии S4 сформировать треугольные импульсы, передний фронт 25мсек задний 5 мсек.
Сформировать синусоиду с частотой повторения 300 Гц. По нажатии S5 изменить частоту на 100 Гц.
Сформировать два прямоугольных импульса, один максимальной амплитудой длительностью и второй 2/3 амплитуды максимальной с периодом повторения 40 Гц.
Сформировать прямоугольные импульсы, с длительностью 25мсек по нажатии S6 сформировать треугольные импульсы.
Сформировать синусоиду с частотой повторения 70 Гц, по нажатию S7 прямоугольные импульсы, с длительностью 25мсек и скважностью 2.
По нажатии S8 сформировать треугольные импульсы, передний фронт 15мсек задний 40 мсек.
По нажатии S9 сформировать трапециевидные импульсы, передний фронт 20сек задний 20 мсек
Сформировать три прямоугольных импульса, один 1/3 макс. Амп., 2-ой 2/3 амп. макс., 3-ий макс. Амп.с периодом повторения 100 Гц.


Поделиться:

Дата добавления: 2015-04-04; просмотров: 85; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты