\
МИКРОКОНТРОЛЛЕРЫ
I
В зависимости от того, в каком со-
стоянии находятся биты 4, 3 и 2 управ-
ляющего регистра по адресу 04И, тот
регистр (или часть регистра) и будет
доступен через рабочий регистр по ад-
ресу 05И.
Из чего состоит интервальный тай-
мер? Во-первых, в его состав входит
регистр конфигурации, устанавливаю-
щий режим работы таймера. Во-вто-
рых, в его состав входит собственно
счетный регистр (по большому счету-
обыкновенный счетчик), который и ве-
дет подсчет числа поступивших им-
пульсов. И, наконец, в его состав вхо-
дит так называемый регистр интерва-
ла. Назначение его следующее: как
только значение, подсчитанное в счет-
ном регистре, сравняется со значени-
ем в регистре интервала, счетный ре-
гистр будет сброшен, а процессору мик-
роконтроллера будет выдан сигнал
прерывания. В некотором роде регистр
интервала можно считать “будильни-
ком”, который пошлет процессору зво-
ночек, когда время в таймере досчи-
тается до заданного значения. Если в
регистре интервала записано нулевое
значение - прерываний при работе
счетного регистра не возникает (“бу-
дильник отключен”).
Регистр конфигурации таймера ус-
троен следующим образом (таблица 7).
Некоторые биты регистра конфигу-
рации таймера требуют дополнитель-
ного пояснения. Бит 6 указывает, каким
будет размер счетного регистра и ре-
гистра интервала таймера. При разме-
ре, равном 8 бит, максимальное число
импульсов, которое способен подсчи-
тать таймер - 256, а при размере, рав-
ном 16 бит - 65536. Настраивают этот
бит в зависимости от характера зада-
чи, для которой используется таймер,
но, как правило, интервальный таймер
в микроконтроллере КР1878ВЕ1 обыч-
но используют в 16-битном режиме.
Бит 5 указывает, в какой момент сле-
дует наращивать значение счетного
регистра - в момент прихода фронта
или в момент прихода спада импуль-
са. Для режима таймера значение это-
го бита по большому счету безразлич-
но, а вот при работе в режиме счетчи-
ка может иметь значение. С помощью
бита 4 выбирается источник импуль-
сов, которые считает таймер/счетчик.
В режиме отработки временных интер-
валов в качестве источника импульсов
используется тактовый генератор са-
мого микроконтроллера (лог. 0), час-
тота следования импульсов при этом
равна частоте кварцевого резонатора
микроконтроллера. Если же таймер ис-
пользуется как счетчик внешних им-
пульсов (наиболее часто в таком режи-
ме его используют в частотомерах),
тогда этот бит устанавливается в лог. 1
и на вход счетного регистра будет по-
дан сигнал с линии 4 порта А (3-я нож-
ка микроконтроллера). Линию 4 порта
А при этом в программе лучше всего
не использовать, иначе счетчик тайме-
ра в результате ее работы может “на-
считать” лишнего. Бит 3 указывает,
проходит ли сигнал, поступающий на
таймер, дополнительную обработку:
его можно отправить на вход таймера
либо непосредственно (лог. 0), либо
пропустив сначала через предвари-
тельный делитель частоты (лог. 1).
Коэффициент деления предваритель-
ного делителя задается последними
тремя битами регистра конфигурации
таймера. Если бит 4 в регистре конфи-
гурации не установлен, содержимое
последних трех битов для работы тай-
мера безразлично.
Как программируется интерваль-
ный таймер? Обычно порядок програм-
мирования его следующий:
1. В управляющий регистр выводит-
ся набор битов, подключающий к ра-
бочему регистру по адресу 05И регистр
конфигурации таймера.
2. В рабочий регистр выводится
требуемое значение регистра конфи-
гурации.
3. В управляющий регистр выводит-
ся набор битов, подключающий к ра-
бочему регистру младший байт регис-
тра интервалов.
4. В рабочий регистр выводится
значение младшего байта регистра ин-
тервалов.
5. В управляющий регистр выводит-
ся набор битов, подключающий к ра-
бочему регистру старший байт регист-
ра интервалов (если выбран 16-битный
формат регистров).
6. В рабочий регистр выводится зна-
чение старшего байта регистра интер-
валов.
После этого таймер готов к работе.
Запуск таймера на счет выполняется
установкой бита 0 в лог. 1. в управляю-
щем регистре таймера (адрес 04И), ус-
тановка этого же бита в лог. 0 останав-
ливает счет. Бит 1 управляющего реги-
стра разрешает (лог. 1) или запрещает
(лог. 0) выдачу сигналов прерывания от
таймера. Если счет таймера останов-
лен, можно посмотреть, до какого зна-
чения он досчитал - для этого необхо-
димо считать содержимое регистра ин-
тервала. Считывают его следующим
образом:
1. В управляющий регистр выводит-
ся набор битов, подключающий к ра-
бочему регистру по адресу 05И млад-
шую часть счетного регистра.
2. Из рабочего регистра по адресу
05И считывают содержимое младшего
байта счетного регистра.
3. В управляющий регистр выводит-
ся набор битов, подключающий к ра-
бочему регистру по адресу 05И стар-
шую часть счетного регистра (если выб-
ран 16-битный формат регистров).
4. Из рабочего регистра по адресу
05И считывают содержимое старшего
байта счетного регистра (если выбран
16-битный формат регистров).
(Окончание в N96/2005)
Таблица 7
Бит регистра
Назначение
7
Не используется
6
Лог. 0 - размер регистров таймера = 8 бит,
лог. 1 - размер регистров таймера = 16 бит
5
Лог. 0 - увеличение значения счетчика по фронту импульса,
лог. 1 - по спаду
4
Лог. 0 - считаем частоту процессора,
лог. 1 - считаем сигнал с линии А [4]
3
Лог. 0 - счетчик работает без дополнительного делителя,
лог. 1 - с делителем
2
Коэффициент деления делителя: 000 - 2, 001 - 4, 010 - 8,
011 - 16, 10 0 -3 2 , 101 -6 4 , 1 1 0 - 128, 111 - 256
1
0
28 [
| Радиолюбитель - 05/2005
предыдущая страница 24 Радиолюбитель 2005-05 читать онлайн следующая страница 26 Радиолюбитель 2005-05 читать онлайн Домой Выключить/включить текст