![]() |
|
ПРЕРЫВАНИЯ СЧЕТЧИКОВСо счетчиками 1 и 2 связаны три вектора прерывания:
Регистр состояния IOS1 (см. Приложение) содержит флаги, которые указывают, какое событие вызвало прерывание. Чтение регистра IOS1 очищает биты 0-5. По этой причине рекомендуется копировать содержимое регистра IOS1 в промежуточный регистр и затем выполнять команды проверки разрядов типа JBC или JBS на промежуточном регистре. Прерывание переполнения счетчиковИ счетчик 1, и счетчик 2 могут вызвать прерывание переполнения счетчика (INT00). Чтобы разрешить это прерывание, нужно установить нулевой бит в регистре маскирования прерываний INT_MASK (см. Приложение). А чтобы задать источник прерывания, надо установить или второй бит в регистре управления IOC1 (счетчик 1), или третий - IOC1.3 (счетчик 2). При переполнении счетчика аппаратно устанавливается флаг в соответствующем разряде регистра состояния IOS1. Переполнение счетчика 1 устанавливает пятый бит в регистре IOS1, а переполнение счетчика 2 устанавливает бит IOS1.4. Прерывание переполнения счетчика 2Счетчик 2 может генерировать прерывание переполнения счетчика 2 (INT12) вместо стандартного прерывания переполнения счетчика. Это прерывание разрешается записью "1" в четвертом разряде регистра маскирования INT_MASK1 (см. Приложение). При переполнении второго счетчика устанавливается бит IOS1.4. Счетчик 2 может генерировать прерывание переполнения на границе 7FFFH/8000H (вычитающий счет), или на границе 0FFFFH/0000H (суммирующий счет). Переполнение может происходить в любом направлении. Программируя бит IOC2.5, мы выбираем границу переполнения счетчика. Когда бит IOC2.5 установлен, счетчик 2 генерирует прерывание на границе 7FFFH/8000H, иначе - на границе 0FFFFH/0000H. Прерывание захвата счетчика 2Положительный переход на счетном входе T2CAPTURE (P2.7) заставляет значение счетчика 2 загружаться в регистр T2CAPTURE. Это событие генерирует прерывание захвата счетчика 2 (INT11), если высокий уровень сигнала на входе сохраняется в течение более двух временных состояний и если установлен бит INT_MASK1.3. Аббревиатура -T2CAPTURE Размер - 2 байта Находится по адресу 0D/0CH Использовать для записи/чтения в окне HWindow 15
![]() В таблице 6.2 приведены разряды регистров управления, программирование которых задает соответствующие опции счетчика 2. Столбец 2 приводит результат установки единичного значения разряда, столбец 3 - результат записи нуля. Таблица 6.2
|