Скачиваний:
22
Добавлен:
01.05.2014
Размер:
2.06 Mб
Скачать

Лабораторная работа № 4 изучение таймеров микроконтроллера 8xc196кс

Цель работы: 1. Изучение структуры и функциональных возможностей таймеров микроконтроллера I8XC196КС

2. Изучение порядка программирования таймеров микроконтроллера I8XC196KC.

3. Подготовка программ с использованием интегрированной cреды.

1. Общие сведения

1.1. Таймеры

8XC196KC содержит два 16 битных таймера, Таймер 1 и Таймер 2, которые входят в состав быстродействующего модуля ввода -вывода (High-Speed Input-Output; HSIO).

Таймер 1 - стандартный, 16-битный таймер свободного доступа, который увеличивается один раз каждые восемь тактов. Напомним, что при частоте тактового генератора 8 МГц один такт составляет 250 наносекунд. Таймер 1 - всегда датчик времени для HSI (High-Speed Input) модуля. Он может также выбираться как датчик времени для HSO (High-Speed Output) модуля. Два байта регистра TIMER1 содержат счет Таймера1. Вы можете инициализировать Таймер 1 значением, отличным от нуля, записывая его в регистр TIMER1 в HWindow 15. Если Вы изменяете значение TIMER1 после инициализизации HSI модуля, Вы можете нарушить относительные времена между HSI событиями. Также, изменение значения TIMER1 после инициализизации HSO модуля с Таймером 1 в качестве датчика времени, может вызвать пропуск команд HSO.

Таймер 2 - программируемый 16-битный счетчик, который может использоваться как датчик времени для HSO модуля, как суммирующий/вычитающий счетчик, или как дополнительный счетчик. Он может также фиксировать внешние события.

Таймер 2 может синхронизироваться или внутренне или внешне. Когда выбирается внешняя синхронизация, Вы можете выбрать в качестве источника синхронизации или контакт T2CLK (P2.3) или контакт HSI.1.

Регистр Timer 1

TIMER 1

0B/0AH

Hwindow 0 (Read),HWindow 15 (Write)

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

TIMER 1 (HI)

TIMER 1 (LO)

Максимальная скорость счета Таймера 2 - каждое время состояния ( быстрый режим приращения ) или каждые восемь времен состояния ( нормальный режим ).

Два байта регистра TIMER2 содержат значение Таймера 2. Вы можете инициализировать Таймер 2 значением, отличным от нуля, записывая его в регистр TIMER2 в HWindow 0. При использовании Таймера 2 как датчика времени для HSO, изменение значения TIMER2 после инициализизации HSO модуля, может заставить HSO пропускать команды.

Регистр Timer 2

TIMER 2

0D/0CH

Hwindow 0 (Read/ Write)

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

TIMER 2 (HI)

TIMER 2 (LO)

1.2. Программирование таймера 2

1.2.1. Служебные регистры

Ниже приведены регистры, которые воздействуют на работу и функции Таймера 2.

Input/Output Control Register 0

IOC0

15H

HWindow 0 (Write), HWindow 15 (Read)

7

6

5

4

3

2

1

0

T2CLK SCR

T2RSTSRC

T2RST_ENA

SW_T2RST

Input/Output Control Register 2

IOC2

0BH

HWindow 0 (Write), HWindow 15 (Read)

7

6

5

4

3

2

1

0

T2UD_ENA

FAST_T2_ENA

Input/Output Control Register 3

IOC3

0CH

HWindow 1 (Write), HWindow 15 (Read)

7

6

5

4

3

2

1

0

R

R

R

R

T2_ENA

Таблица 4.1

TIMER2

Содержит значение Таймера 2.

T2CAPTURE

Передний фронт на контакте P2.7 заставляет значение Таймера фиксироваться в этот регистр и генерирует прерывание Timer 2 Capture interrupt (INT11).

INT_MASK1

Маска прерывания INT_MASK1 разрешает или запрещает прерывания Таймера 2.

IOC0

Регистр управления 0. Выбирает внешние источники синхронизации и сброса для Таймера 2.

IOC1

Регистр управления 1. Выбирает источник прерывания для прерывания “Переполнение Таймера” (Timer Overflow interrupt (INT07). )

IOC2

Регистр управления 2. Разрешает или запрещает режим быстрого инкремента (приращения), суммирующую/вычитающую функцию счётчика и границу переполнения для вызова прерыванияTimer 2 Overflow interrupt (INT12).

IOC3

Регистр управления 3. Выбирает внутренний или внешний источник синхронизации для Таймера 2.

В табл.4.2 приведены индивидуальные биты и контакты порта, которые управляют опциями Таймера 2. Столбец два приводит результат установки бита или контакта порта. Столбец три приводит результат очистки бита или контакта порта.

Таблица 4.2

Служебные биты и контакты Таймера 2

Контакты Порта /Биты регистра

Бит = 1

Бит = 0

IOC0.1

Сброс Таймера 2 при

каждой установке этого бита

Нет действия.

IOC0.3

Допускает внешний сброс

Отключает внешний сброс

IOC0.5

HSI.0-внешний источник сброса

T2RST (P2.4) внешний источник сброса

IOCO.7

HSI.1-внешний источник часов

T2CLK (P2.3) - внешний источник часов

Допускает

Отключает

IOC1.3

Таймер 2 как источник прерывания “Переполнение Таймера” (INT00)

IOC2.0

Допускает режим быстрого приращения

Отключает режим быстрого приращения

IOC2.1

Допускает вычитающий счет

Только суммирующий счёт

IOC2.5

Прерывание на границе 7FFFH/8000H

Прерывание на границе 0FFFFH/0000H

T2UP-DN (P2.6)

Вычитающий счет если IOC2.1 = 1

Суммирующий счет если IOC2.1 = 1

T2CAPTURE (P2.7)

Фиксирует TIMER2 в T2CAPTURE когда происходит положительный переход на контакте P2.7 и логический уровень на нем остается устойчивым в течение одного времени состояния

В целях лучшего понимания принципов программирования Таймера 2 на рисунке 4.1 приведена логика управления Таймером 2.

Fosc/4

IOC0.7

Fosc/32

Рис.4.1. Логика управления Таймером 2

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