Скачиваний:
34
Добавлен:
01.05.2014
Размер:
2 Мб
Скачать
☆

1.3. Прерывания по таймеру

С Таймером 1 и Таймером 2 связаны три вектора прерывания:

- прерывание переполнения таймера - Timer Overflow Interrupt (INT00,2000H);

- прерывание переполнения Таймера 2 - Timer 2 Overflow Interrupt (INT12,2038H);

- прерывание фиксатора Таймера 2 - Timer 2 Capture Interrupt (INT11,2036H).

Регистр IOS1 содержит флажки, которые указывают какое событие вызвало прерывание. Обращение к битам регистра IOS1 по командам JBC или JBS обнуляет биты 0-5. По этой причине, мы рекомендуем чтобы Вы копировали содержимое регистра IOS1 в промежуточный регистр и затем выполняли команды проверки разрядов типа JBC или JBS на промежуточном регистре.

1.3.1. Прерывание переполнения таймера

И Таймер 1 и Таймер 2 могут вызвать прерывание переполнения Таймера (INT00). Установите INT_MASK.0 ,чтобы разрешить это прерывание. Установите или IOC1.2 ( Таймер 1 ) или IOC1.3 ( Таймер 2 ) чтобы выбрать источник прерывания. Когда происходит переполнение, устанавливается флажок состояния в регистре IOS1. Переполнение Таймера 1 устанавливает IOS1.5, а переполнение Таймера 2 устанавливает IOS1.4.

Input/Output Control Register 1

IOC1

16H

HWindow 0 (Write), HWindow 15 (Read)

7

6

5

4

3

2

1

0

T2OVF_INT

T1OVF_INT

Input/Output Status Register 1

IOS1

16H

Hwindow 0 (Write), HWindow 15 (Read)

7

6

5

4

3

2

1

0

T1_OVF

T2_OVF

1.3.2. Прерывание переполнения Таймера 2

Таймер 2 может генерировать прерывание переполнения Таймера 2 (INT12, адрес вектора - 2038H) вместо стандартного прерывания переполнения Таймера. Это прерывание разрешается установкой INT_MASK1.4. Переполнение Таймера 2 устанавливает IOS1.4. Таймер 2 может генерировать прерывание переполнения Таймера 2 или на границе 7FFFH/8000H или на границе 0FFFFH/0000H. Переполнение может происходить в любом направлении. IOC2.5 выбирает границу переполнения. Когда IOC2.5 установлен, Таймер 2 прерывается на границе 7FFFH/8000H. Иначе, он прерывается на границе 0FFFFH/0000H.

1.3.3. Прерывание фиксатора Таймера 2

Положительный переход на контакте T2CAPTURE (P2.7) заставляет значение Таймера 2 загружаться в регистр T2CAPTURE. Это событие генерирует прерывание фиксатора Таймера 2 (INT11), если установлен INT_MASK1.3 и T2CAPTURE утверждается в течение более двух времен состояний.

Timer 2 Capture Register

T2CAPTURE

0D/0CH

Hwindow 15(Read /Write)

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

T2_VALUE (HI)

T2_VALUE (LO)

Соседние файлы в папке Лабораторные работы по МПС