Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа ИС-09New.docx
Скачиваний:
5
Добавлен:
11.12.2018
Размер:
168.44 Кб
Скачать

Курсовая работа

Таймер. Система прерываний. Сигналы и их

обработка.

Кафедра ТС и ВС

СибГУТИ

2011 г.

Содержание

1 Цель работы

2 Теоретическое введение

2.1 Программируемый таймер

2.1.1 Режим 0 - программируемая задержка

2.1.2 Режим 1 - программируемый одновибратор

2.1.3 Режим 2 - программируемый делитель (генератор) частоты

2.1.4 Режим 3 - программируемый генератор меандра

2.1.5 Режим 4 - генератор одиночного импульса (счетчик событий)

2.1.6 Режим 5 - генератор одиночного импульса (счетчик событий) с ап­паратным перезапуском

2.2 Обработка прерываний.

2.2.1 Определение сигнала

2.2.2 Имена сигналов

2.2.3 Нормальное и аварийное завершение программ

2.2.4 Обработка сигналов

2.2.5 Генерация сигнала

2.2.6 Передача сигналов самому процессу: вызовы raise и alarm

2.2.7 Приостановка работы программы. Системный вызов pause

3 Задание на курсовую работу

4 Требование к оформлению курсовой работы

Пример программы

Список иллюстраций

1 Схема подключения микросхемы памяти

2 Формат настроечного слова

3 Настроечное слово для "чтения на лету"

4 Пример использования команды kill для завершения программы

Рис. 1: Схема подключения микросхемы памяти

1 Цель работы

Изучить принципы работы таймера и систему прерываний персонального компьютера.

Дать определение термину "сигнал". Научиться генерировать и перехватывать сигналы,

2 Теоретическое введение

2.1 Программируемый таймер.

Таймер содержит три независимых канала, соответственно канал 0, канал 1 и канал 2, Внутри каждого канала стоит шестнадцатиразрядный счетчик, работающий на вычита­ние. Счетчик можно программным образом настроить на счет в двоичной или двоично-десятичной системе счисления. Любой канал таймера можно запрограммировать на ра­боту в одном из шести режимов, соответственно режим 0, режим 1, ... , режим 5. При программировании канала в его регистр управляющего слова (РУС) передается настро­ечное слово (байт). Хотя у каждого канала свой РУС, все они имеют один системный адрес и поэтому, с точки зрения программиста, внутри таймера один РУС, Таймер опре­деляет, какому каналу предназначено настроечное слово по внутреннему содержимому этого слова. Схема подключения таймера, к системной шине приведена на рис. 1, Ин­формация на линиях А1 и АО задает одно из четырех адресуемых устройства внутри таймера: А1=0, А0=0 - канал 0; Al=0, A0=1 - канал 1; А1=1, А0=0 - канал 2; А1=1, А0=1-РУС.

CLK - вход синхроимпульсов. На этот вход поступают импульсы, которые считает канал. Декремент счетчика происходит по заднему фронту импульсов на входе CLK,

GATE -управляющий вход. Если на этом входе единица, счетчик канала считает импульсы, приходящие на CLK, если ноль - не считает, В некоторых режимах снятие и подача единицы на входе GATE инициирует перезапуск счетчика,

OUT - выход канала. Вид сигнала на этом выходе зависит от режима, на который

Рис. 3: Настроечное слово для "чтения на лету"

настроен канал.

Формат настроечного слова канала приведен на рис. 2,

Разряды D7t D6 задают номер канала, в который передается настроечное слово:

D7=0, D6=0 - канал 0;

D7=0, D6=l - канал 1;

D7=l, D6=0 - канал 2;

D7=l, D6=1 - специальная команда (на практике используется редко).

Как видно из рис. 2, таймер связан с СШ восьмиразрядной шиной данных. В то же время формат счетчика канала - два байта. Поэтому имеются различные варианты загрузки счетчика и чтения его содержимого. Эти варианты задают разряды D5 и D4 настроечного слова:

D5=0, D4=0 - специальный режим "чтение на лету";

D5=0, D4=1 - передается только старший байт;

D5=l, D4=0 - передается только младший байт;

D5=l, D4=l - передаются оба байта (за две передачи, сначала младший, а потом старший.

Прочитать содержимое счетчика канала можно двумя способами. Первый способ тре­бует остановки счета, для чего надо либо прекратить подачу импульсов на вход CLK, либо снять единицу с входа GATE. Второй способ не требует остановки счета и называ­ется "чтение на лету". В этом случае в настроенный, работающий канал надо передать еще одно настроечное слово (его формат смотри на рис, 3),

Здесь, как и ранее, D7 и D6 задают номер канала, а звездочки означают безразлич­ное значение. Получив такой приказ, канал автоматически фиксирует текущее значение счетчика в буфере, откуда его затем можно считать за одну или две передачи.

Разряды D3 - D1 (рис, 3) задают режим, в котором будет работать канал (соответ­ственно 000- режим 0, ,„ , 101 - режим 5). Разряд D0 задает систему счисления, в которой будет работать канал. При D0 — 0 задается двоичная, а при D0—1 - десятичная система счисления.