АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. Принципы функционирования аппаратных таймеров-счетчиков, входящих в состав микроконтроллера AVR АТMEGA 128.

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

 

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

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

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

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

 

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

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

 

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

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

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

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

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

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

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

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

 

 

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

 

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

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

□ xxxl0l — сброс флага переполнения таймера FT 1;

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

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

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)