Использование прерываний. Таймеры ЦПУ, страница 4

В общем, схема работы таймера ЦПУ заключается в следующем: в 32-разрядный счетный регистр TIMH : TIM загружается значение регистра периода счетчика PRDH : PRD. Далее значение счетного регистра декрементируется с частотой SYSCLKOUT. Когда значение счетного регистра обнуляется, таймер генерирует сигнал (импульс) запроса на прерывание.

2.2. Конфигурирование

Управление  и конфигурирование Таймера 0 ЦПУ осуществляется с помощью служебных регистров, обозначение и краткое описание которых приведено в табл. 2.1.


Таблица 2.1

Сводная таблица регистров управления и конфигурирования Таймера 0 ЦПУ

Обозначение

Адрес hex

Размер (x16)

Описание

TIMER0TIM

0x0C00

1

Счетный регистр Таймера 0 ЦПУ

TIMER0TIMH

0x0C01

1

Счетный регистр Таймера 0 ЦПУ, старшая часть

TIMER0PRD

0x0C02

1

Регистр периода счета Таймера 0 ЦПУ

TIMER0PRDH

0x0C03

1

Регистр периода счета Таймера 0 ЦПУ, старшая часть

TIMER0TCR

0x0C04

1

Управляющий регистр Таймера 0 ЦПУ

TIMER0TPR

0x0C06

1

Регистр предделителя Таймера 0 ЦПУ

TIMER0TPRH

0x0C07

1

Регистр предделителя Таймера 0 ЦПУ, старшая часть

TIMER0TIM – младшая часть 32-разрядного счетного регистра (TIMH:TIM) Таймера 0 ЦПУ: хранит младшие 16 бит результата текущего счета таймера,  TIMER0TIMHсоответственно его старшая часть, предназначенная для хранения старших 16 бит результата счета. Содержимое счетного регистра TIMH:TIM уменьшается на 1 с каждым циклом, задаваемым системой тактирования и значением 32-разрядного регистра предделителя TDDRH:TDDR. Когда значение счетного регистра TIMH:TIMуменьшается до 0, он перезагружается значением, задаваемым содержимым регистра периода счета PRDH:PRD. Одновременно с этим генерируется запрос на прерывание. Регистр TIMH:TIMдоступен как для чтения, так и для записи, после сброса регистр содержит 0.

Регистры периода Таймера 0 ЦПУ PRDH:PRD: регистр TIMER0PRD содержит младшие 16 бит значения периода счета, представленного 32-разрядным числом, регистр TIMER0PRDH – старшие 16 бит. Когда значение счетного регистра TIMH:TIMуменьшается до 0, он перезагружается значением, содержащимся в регистре периода счета PRDH:PRD. Содержимое PRDH:PRD также загружается в TIMH:TIM при установке разряда перезагрузки таймера TRB в управляющем регистре TIMER0TCR. Регистр TIMH:TIMдоступен как для чтения, так и для записи, после сброса регистр содержит 0.

Описание служебных полей управляющего регистра Таймера 0 TIMER0TCRприводится в табл. 2.2.