Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurs_lektsy_TS_AiU.doc
Скачиваний:
70
Добавлен:
31.03.2015
Размер:
2.39 Mб
Скачать

6.17 Категории прерываний эвм семейства ibmpc.

Все прерывания делятся на 3 категории:

  1. Внешние или аппаратные прерывания.

  2. Прерывания по особой ситуации или внутренние прерывания.

  3. Программные прерывания.

1. Внешние или аппаратные прерывания генерируются ВУ в ответ на некоторые события, требующие внимания ЦП.

2. Внутренние прерывания возникают, когда ЦП наталкивается на абсолютно бессмысленные команды.

Пример: по особой ситуации.

IntNo=0 – деление на 0.

IntNo=1 – в регистре флаговIF=1.

IntNo=2 –NMINoneMaskedInterrupt, немаскируемые прерывания.

3. Программные прерывания – не возникают неожиданно - возникают, если какая-то программа вызывает это прерывание, служит для вызова других программ, которые находятся в: ПЗУ – BIOS, ОЗУ –DOS.

Основные черты программных прерываний.

Программные прерывания функционируют так же, как и аппаратные прерывания. Программные прерывания не разделены по приоритетам, могут вызываться друг из друга. Аппаратное прерывание тоже может получить прерывание при выполнении программного прерывания.

Ассемблерная команда INT<номер типа прерывания>.

Реакции ЦП на эту команду:

  1. Сохраняет свое состояние.

  2. Определяет адрес ВП.

  3. Загружает в СК содержимое ВП.

  4. Приступает к выполнению соответствующей процедуры.

В языках высокого уровня также можно использовать программные прерывания. Они становятся доступны при объявлении в программе модуля DOS.* (WinDOS.*).

Procedure Intr(IntNo:byte; var Regs: registers); (если вызываем из Windows: var Regs:TRegisters).

Тип Registersопределяют таким образом (дляDOS):

Type Registers=record case integer of

0: (AX, BX, CX, DX,BP, SI, DI, DS, ES, Flags: word);

1: (AL, AH, BL, BH, CL, CH, DL, DH: byte) end;

Для Windows: Type TRegisters вместо Type Registers.

Один и тот же номер типа может содержать несколько функций: AH– номер функции,AL– номер подфункции.

Краткий обзор функций bios.

№ Типа прерывания

Функция или группа функций

5

Печать графической копии экрана

11h

Оборудование RAM

12h

Объем памяти

13h

Управление НТМД

14h

Управление последним портом

16h

Управление клавиатурой

19h

Перезапуск системы

33h

Управление мышкой

Пример. Определение наличия сопроцессора.

Program Intr_copr; uses Dos;

Var R: registers;

Begin Intr($11, R);

If (R.AX and 2)<>0 then Writeln (‘Есть сопроцессор’) else Writeln(‘Сопроцессор отсутствует’); end.

Команда, используемая для обращения к памяти DOS:ProcedureMSDOS(varRegs:registers);

Пример. Получить версию операционной системы.

Uses WinDOS, winCRT;

Var R:TRegisters;

Begin R.AH=$30; MSDOS(R);

Writeln(‘Версия ОС=’, R.AL, ‘:’, R.AH); End.

Лекция №7. Программируемые интервальные таймеры-счетчики (пит).

Программируемые интервальные таймеры-счетчики (ПИТ) предназначаются для:

  • Для синхронизации компонентов автоматизированной системы во времени.

  • Для формирования временных интервалов.

  • Измерения длительности импульсов, частоты, периода сигнала.

  • Деление частоты сигнала.

  • Для подсчета числа событий.

Практически все ПИТ используют ТТЛ. Уровни ТТЛ: низкий – 0 В, высокий – 5 В.

Обобщенная функциональная схема ПИТ включает:

GATE

Рис. 7.1 Обобщенная функциональная схема ПИТ.

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

Вход GATE– входные ворота, служит для управления счетом. ЕслиGATE= 1, счет разрешен, еслиGATE=0, счет запрещен.

Выход OUT– переключается в зависимости от выбранного режима работы. Если содержимое счетчика увеличивается при каждом импульсе на входеCLK, то при достижении максимального значения, выход переключается. Максимальное значение называетсяTerminalcount. Если содержимое счетчика уменьшается при каждом импульсе на входеCLK, то выходOUTпереключается, когда содержимое счетчика достигнет нуля. Это значение также называетсяTerminalCount. ВыходOUTподключается к элементам автоматизированной системы для синхронизации действий.

Основные характеристики счетчиков-таймеров:

  1. Разрешение - определяется числом бит в регистре счетчика. Эта характеристика говорит, до какого максимального значения счетчик может считать. Современные счетчики могут считать 16-48 двоичных разрядов.

  2. Максимальная тактовая частота - определяет максимальную скорость, с которой можно переключать вход CLK. При большей максимальной тактовой частоте может считать быстрее. Максимальная частота счета: 1÷100 МГц.

Рассмотрим ПИТ Intel8253,Intel8254.

Эти таймеры программно-совместимы и отличаются быстродействием.

Технические характеристики:

  1. Число независимых каналов – 3;

  2. Число режимов работ канала – 6;

  3. Разрешение каждого канала – 16 бит;

  4. Содержимое регистра счетчика уменьшается с каждым импульсом на входе CLK.Terminalcountнаступает когда содержимое счетчика становится равным нулю;

  5. Максимальная тактовая частота на входе CLK:Intel8253 – 2 МГц,Intel8254 – 8 МГц;

  6. Формат счета импульсов – двоичный или двоично-десятичный;

  7. КМОП-технология, напряжение питания - 3÷6 В, корпус по DIP-технологии, содержит 24 вывода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]