Читайте также:
|
|
В микроконтроллерах семейства MCS-51 серии 8051 имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий вывод МК (Т0 или Т1).
Для управления режимами работы T/C и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций: TMOD – регистр режима и TCON – регистр управления.
Регистры самих таймеров/счетчиков являются также регистрами специальных функций и обозначаются:
для T/C0: TL0 – младший, TH0 – старший;
для T/C1: TL1 – младший, TH1 – старший.
Формат регистра режима таймера /счетчика TMOD:
Разряды | ||||||||
GATE | C/ T | M1 | M0 | GATE | C/ T | M1 | M0 |
--------------------------------- -------------------------------------
T/C1 T/C0
GATE – управление внешней блокировкой T/C, при установке разрешает внешнему входу блокировать счет T/C, при этом единичное значение входа разрешает счёт, нулевое – запрещает;
С/ – выбор режима работы Т/С: 0 – таймер, 1 – счетчик;
М1, М0 – выбор одного из четырех режимов работы Т/С:
00 – режим 0, 01 – режим 1, 10 – режим 2, 11 – режим 3.
Формат регистра управления/состояния таймера/счетчика TCON:
Разряды | ||||||||
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
TF1, TF0 – флаги переполнения Т/С1, Т/С0, устанавливаются при переполнении Т/С, сбрасываются при входе в подпрограмму обслуживания прерывания;
TR1, TR0 – управление пуском/остановом Т/С1 и Т/С0: 1 – счет, 0 – останов;
IE1, IE0 – флаг внешнего прерывания, устанавливается при переходе сигнала из 1 в 0 на входах и , сбрасывается при выходе из подпрограммы обслуживания прерывания;
IT1, IT0 – управление типом прерывания, прерывание фиксируется: 1 – по спаду, 0 – по нулю на входах и .
Наиболее часто в программах управления и контроля таймеры/счетчики используются в режиме 1, т.е. как 16-разрядные, регистры THx и TLx включены последовательно. В этом режиме таймер может считать от 0 до 65535, т.е. от 0000H до FFFFH. При переходе из состояния «все единицы» в состояние «все нули» устанавливается флаг переполнения TFx, одновременно вырабатывается запрос прерывания. Разрешение и запрещение прерываний от таймеров/счетчиков выполняется битами регистра разрешения прерываний IE.
Дата добавления: 2015-12-07; просмотров: 143 | Нарушение авторских прав