Исследование таймеров/счетчиков микроконтроллера МК51. Программа формирования импульса

Страницы работы

Содержание работы

                                        Лабораторная работа  4

Исследование таймеров/счетчиков микроконтроллера МК51

1.  Цель работы

Изучить таймеры/счетчики микроконтроллеров семейства МК51. Исследовать работу таймеров при формировании временных задержек.

2.  Основные теоретические сведения

В микроконтроллерах семейства МК51 имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое T/C  инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0,T1) вывод МК51.

Для управления режимами работы T/C и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций: TMOD – регистр режима и TCON – регистр управления.

Регистры самих таймеров/счетчиков являются также регистрами специальных функций и обозначаются:

Для  T/C0 :  TL0 – младший, TH0 – старший;

Для  T/C1:   TL1 – младший , TH1 – старший.

Формат регистра режима таймера /счетчика TMOD:

7

6

5

4

3

2

1

0

Разряды

GATE

C/

M1

M0

GATE

C/

M1

M0

 

T/C1                                                      T/C0

GATE – управление внешней блокировкой T/C, при установке разрешает внешнему входу  блокировать счёт T/C, при этом единичное значение входа  разрешает счёт, нулевое – запрещает;

С/ – выбор режима работы Т/С:  0 – таймер, 1 – счётчик;

М1, М0 – выбор одного из четырёх режимов работы Т/С:

00 – режим 0, 01 – режим 1, 10 – режим 2, 11 – режим 3.

Формат регистра управления/состояния таймера/счетчика TCON:

7

6

5

4

3

2

1

0

Разряды

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.

Формат регистра разрешения прерываний IE:

7

6

5

4

3

2

1

0

Разряды

EA

ES

ET1

EX1

ET0

EX0

EA – бит общего разрешения: 0 – все прерывания замаскированы, 1 – каждый источник разрешается своим собственным битом IEx;

ES -  разрешение прерывания от УАПП;

ET1, ET0 – разрешение прерывания от Т/С1, Т/С0

EX1, EX0 – разрешение прерывания от ,

Если разрешено прерывание от T/C0, то при его переполнении программа переходит на адрес 000BH, где должна находится первая команда подпрограммы обработки прерывания. Если же разрешено прерывание от T/C1, то при его переполнении программа переходит на адрес 001BH.

Имеется возможность устанавливать приоритеты запросов прерывания (в случае их одновременного поступления) с помощью битов регистра управления приоритетами IP.

Формат регистра управления приоритетами IP:

7

6

5

4

3

2

1

0

Разряды

PS

PT1

PX1

PT0

PX0

PS -  бит приоритета УАПП;

PT1, PT0 – биты приоритетов  Т/С1, Т/С0;

PX1, PX0 – биты приоритетов  , ;

бит=1 – высший приоритет, 0 – низший.

Похожие материалы

Информация о работе