Файл: 1Описание Внешних устройств 2 2Контроллер клавиатуры. 3.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2023

Просмотров: 27

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Регистры таймеров Т доступны по записи и чтению (адреса 1, 3, 5 соответст­венно для T1, T2, ТЗ).

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

На входы предделителей поступают общие для всех каналов метки времени CLK с периодом 1 мс.

Предделители в каждом канале программируются не­зависимо, поэтому таймеры могут работать с различной частотой.


Рис. 5. Блок таймеров.

Регистры управления CTR доступны для записи и чтения (адреса 2, 4, 6) и содержат следующие поля:

  • Т (разряд 5) — флаг включения таймера;

  • EI (разряд 4)— флаг разрешения формирования запроса на прерывание при переполнении таймера;

  • I/D (разряд 3) — направление счета (инкремент/декремент), при I/D = 0 таймер работает на сложение, при I/D = 1 — на вычитание;

  • k(разряды [1:2]) — коэффициент деления предделителя (от 1 до 99).

Флаги переполнения таймеров собраны в один регистр — доступный только на чтение регистр состояния SR, имеющий адрес 0. Разряды регистра (5, 4 и 3 для Tl, T2, ТЗ соответственно) устанавливаются в 1 при переполнении со­ответствующего таймера.

Для таймера, работающего на сложение, перепол­нение наступает при переходе его состояния из 99 999 в 0, для вычитающего таймера — переход из 0 в 99 999.

В окне обозревателя (рис. 6) предусмотрена кнопка Сброс, нажатие кото­рой сбрасывает в 0 все регистры блока таймеров, кроме CTR, которые уста­навливаются в состояние 001000. Таким образом,:

  • все три таймера обнуляют­ся, переключаются в режим инкремента,

  • прекращается счет,

  • запрещаются прерывания,

  • сбрасываются флаги переполнения

  • и устанавливаются коэффи­циенты деления предделителей равными 01.




Рис. 6. Окно обозревателя блока таймеров

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

Запись по адресу SR числа с 1 в третьем разряде интерпретируется блоком таймеров как команда, при­чем младшие разряды этого числа определяют код команды:


  • ххх100 — общий сброс (эквивалентна нажатию кнопки Сброс в окне обо­зревателя);

  • xxx101 — сброс флага переполнения таймера FT1;

  • ххх102 — сброс флага переполнения таймера FT2;

  • ххх103 — сброс флага переполнения таймера FT3.


  1. Тоногенератор.


Модель этого простого внешнего устройства не имеет собственного обозре­вателя, содержит всего два регистра, доступных только для записи:

  • FR (адрес 0) — регистр частоты звучания (Гц);

  • LR (адрес 1) — регистр длительности звучания (мс).

По умолчанию базовый адрес тоногенератора — 30.

Сначала следует запи­сать в FR требуемую частоту тона в герцах, затем в LR — длительность зву­чания в миллисекундах.

Запись числа по адресу регистра LR одновременно является командой на начало звучания.