Блок таймеров

Блок таймеров (рис.3.4.5.) включает в себя три однотипных канала, каждый из которых содержит:

• пятиразрядный десятичный реверсивный счетчик Т, на вход которого по­ступают метки времени (таймер);

• программируемый предделитель D;

• регистр управления таймером CTR;

• флаг переполнения таймера FT.

Регистры таймеров Т доступны по записи и чтению (адреса 1, 3, 5 соответст­венно для Tl, T2, ТЗ). Программа в любой момент может считать текущее содержимое таймера или записать в него новое значение. На входы предделителей поступает общие для всех каналов метки времени CLK с периодом 1 мс.

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

Регистры управления 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.

В окне обозревателя (рис.3.4.6) предусмотрена кнопка Сброс, нажатие которой сбрасывает в 0 все регистры блока таймеров, кроме CTR, которые уста­навливаются в состояние 001000. Таким образом, все три таймера обнуляют­ся, переключаются в режим инкремента, прекращается счет, запрещаются прерывания, сбрасываются флаги переполнения и устанавливаются коэффи­циенты деления предделителей равными 01.



 

Рис.3.4.5. Программная модель блока таймеров

 

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

 

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

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

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

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

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








Дата добавления: 2015-04-07; просмотров: 1044;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.