ВУЗ:
Составители:
43
4. ТАЙМЕРЫ
4.1. МОДУЛЬ ТАЙМЕРА TMR0
Модуль таймера TMR0 – это простой 8-разрядный счетчик с
переполнением (регистр TMR0). Источником синхронизации может
быть внутренний генератор системы (F
OSC
/4) или внешний
(RA4/T0CKI). Когда источник синхронизации внешний, модуль таймера
0 может быть запрограммирован на счет по переднему и по заднему
фронту. К модулю таймера 0 может быть подключен предделитель.
Таймер 0 включается очисткой бита T0CS в регистре OPTION_REG<5>
Модуль таймера 0 генерирует сигнал прерывания T0IF
(INTCON<1>)при переполнении (FF->00) и если прерывание для него
разрешено, т.е. установлен бит T0IE в регистре INTCON<5> и
установлен бит разрешения глобальных прерываний GIE (INTCON<7>),
то произойдет прерывание, и контроллер начнет работать с адреса 04h.
Выход из процедуры прерывания командой RETFIE.
Биты управления таймера TMR0 и сторожевого таймера
содержатся в регистре OPTION_REG.
Таблица 13
Регистр OPTION_REG (адреса 81h, 181h)
№ бита
7 6 5 4 3 2 1 0
Имя бита
RBPU INTEDG
T0CS T0SE PSA PS2 PS1 PS0
Состояние
после сбро
са
1 1 1 1 1 1 1 1
Доступ
ность.
R/W R/W R/W R/W R/W R/W R/W R/W
Обозначения: R – читаемый разряд, W – записываемый разряд
.
Назначение битов регистра OPTION_REG для работы с
таймерами приведено ниже.
Бит 5: TOCS: выбор источника тактового сигнала для TIMER0.
1 = тактовый сигнал с входа RA4/T0CKI.
0 = внутренний источник тактового сигнала (CLKOUT).
Бит 4: T0SE: выбор фронта приращения TMR0 при внешнем
тактовом сигнале
1 = приращение по заднему фронту сигнала на T0CKI.
0 = приращение по переднему фронту сигнала на T0CKI.
Бит 3: PSA: выбор включения предделителя.
1 = предделитель включен перед сторожевым таймером WDT.
0 = предделитель включен перед таймером TMR0.
Биты 2-0: PS2 - PS0; выбор коэффициента предделителя.
Коэффициенты деления предделителя показаны в таблице 14.
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »