Изучение функционирование таймеров/счетчиков микроконтроллеров АТ90S8535, получение практических навыков в их программировании.
Пояснения к работе
Периферийный модуль микроконтроллера AT90S8535 имеет три встроенных таймера/счетчика общего назначения – ТС0, ТС1 и ТС2.
ТС0 – 8 разрядов
ТС1 – 16 разрядов
ТС2 – 8 разрядов
Таймеры/счетчики ТС0 и ТС2 представляют собой 8-разрядные двоичные счетчики (рис. 13.1) с возможностью предварительной записи информации и ее считывания.
С точки зрения обмена информацией счетчики ничем не отличаются от регистров и обозначаются как регистры TCNT0 и TCNT2, соответственно.
Рис. 13.1. 8-разрядный двоичный счетчик
16-разрядный таймер/счетчик ТС1 представляет собой два последовательно соединенных 8-разрядных счетчика TCNT1L и TCNT1H. Так как шина данных 8-разрядная, то запись и считывание информации производится последовательно.
Таймеры/счетчики могут работать в следующих режимах:
счетчика внешних событий (с внешним тактированием);
таймера (от внутреннего источника опорной частоты);
Для организации работы таймеров/счетчиков, приема и передачи информации служит набор регистров пространства ввода-вывода. В таблице 13.1 перечислены регистры общие для всех таймеров счетчиков, а в таблицах 13.2, 13.3, 13.4 приведены регистры, относящиеся к таймерам/счетчикам ТС0, ТС1 и ТС2.
Таблица 13.1. Регистры обслуживания прерываний и фиксации событий
для всех таймеров/счетчиков
Адрес I/O
(адрес SRAM)
Обозначение
Функция
$39 ($59)
TIMSK
Регистр масок таймера счетчика
$38 ($58)
TIFR
Регистр флагов таймера счетчика
Таблица 13.2. Регистры таймера/счетчика ТС0
Адрес I/O
(адрес SRAM)
Обозначение
Функция
$33 ($53)
TCCR0
Регистр управления таймера/счетчика ТС0
$32 ($52)
TCNT0
Таймер/счетчик ТС0 8-бит
Таблица 13.3. Регистры таймера/счетчика ТС1
Адрес I/O
(адрес SRAM)
Обозначение
Функция
$2F ($4F)
TCCR1A
Регистр управления таймера/счетчика ТС1 A
$2E ($4E)
TCCR1B
Регистр управления таймера/счетчика ТС1 B
$2D ($4D)
TCNT1H
Таймер/счетчик ТС1, старший байт
$2C ($4C)
TCNT1L
Таймер/счетчик ТС1, младший байт
$2B ($4B)
OCR1AH
Регистр сравнения таймера/счетчика ТС1 A Старший байт
$2A ($4A)
OCR1AL
Регистр сравнения таймера/счетчика ТС1 A Младший байт
$29 ($49)
OCR1BH
Регистр сравнения таймера/счетчика ТС1 В Старший байт
$28 ($48)
OCR1BL
Регистр сравнения таймера/счетчика ТС1 В Младший байт
$27 ($47)
ICR1H
Регистр захвата таймера/счетчика ТС1 Старший байт)
$26 ($46)
ICR1L
Регистр захвата таймера/счетчика ТС1 Младший байт)
Таблица 13.4. Регистры таймера/счетчика ТС2
Адрес I/O
(адрес SRAM)
Обозначение
Функция
$25 ($45)
TCCR2
Регистр управления таймера/счетчика ТС2
$24 ($44)
TCNT2
Таймер/счетчик ТС2 8-бит
$23 ($43)
OCR2
Регистр сравнения таймера/счетчика ТС2
$22 ($42)
ASSR
Регистр статуса асинхронного режима
Информация в эти регистры может записываться и считываться программными средствами и в дальнейшем выводиться через один из четырех портов ввода вывода.
Непосредственный обмен информацией с внешней средой организуется через отдельные выводы портов, перечисленные в таблице 13.5
Таблица 13.5. Выводы портов для обмена информацией с внешней средой