КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Лабораторная работа №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
PX0 - установка уровня приоритета прерывания от внешнего источника /INTO. PT0 - установка уровня приоритета прерывания от Т/С0. PX1 - установка уровня приоритета прерывания от внешнего источника. /INT1. PT1 - установка уровня приоритета прерывания от Т/С 1. PS - установка уровня приоритета прерывания от последовательного порта. X - резервный разряд. Наличие в разряде IP "1" устанавливает для соответствующего источника высокий уровень приоритета, а наличие в разряде IP "0"-низкий уровень приоритета. При чтении резервных разрядов, соответствующие линии магистрали данных не определены. Регистр разрешения прерывания (IE) предназначен для разрешения или запрещения прерываний от соответствующих источников. Обозначение разрядов регистра IE показано в таблице 6, а назначение указано ниже. Таблица 5 Регистр разрешения прерываний IE
ЕА - управление всеми источниками прерываний одновременно. Если ЕА = 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 Начальные адреса векторов прерываний
В составе учебно-отладочного стенда имеется две отдельные кнопки 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
Лабораторная работа №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
|