Составители:
32
Один цикл является единицей времени, отсчитываемой таймером. Если
установить частоту генератора 12 Мгц, то частота отсчета 1 Мгц и единица
времени 1 мкс.
Контроль продолжительных промежутков, измерение реального времени
выполняются с использованием прерываний от таймеров. Записываем в таймер
константу (– С), тогда отсчет до прерывания выполнятся за С мкс.
Таблица параметров внутренних прерываний.
Таблица 2.2.
1 2 3 4 5 6 7
TF0 ET0 1 1 0bh
T1vR1 ES 4 4 23h
TF1 ET1 3 3 1bh
Запросы прерываний TF0. TF1 формируются при переполнении таймеров
и установкой по программе.
Управление 16-битовыми таймерами задается битами управляющего
регистра TMOD
Таймер 0 представлен двумя регистрами SFR - TH0.TL0
Таймер 1 - регистрами TH1.TL1
a) Выбор режима 16-бит счетчика таймера 1 TMOD[5.4]=01
таймера 2 TMOD[1.0]=01
b) разрешение счета таймера 0 - бит TR0=1
разрешение счета таймера 1 - бит TR1=1
с) режим Gate таймер считает, пока на входе INTi высокий уровень,
по INT1 TMOD.7 =1
по INT0 TMOD.3 =1
Примеры.
1. Счетчик прерываний от таймера в P3.
#include <reg51.h>
intt0() interrupt 1 //счетчик времени
{ P3++; }
main()
{ TMOD=1; //режим 16-бит счетчик Tm0
ET0=1; //маска прерывания Tm0
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »