Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [ 14 ] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

этом захват срабатывает по первому заданному (нарастающему или спадающему) фронту сигнала на выводе ICP. При установке бита обрабатываются четыре последовательные выборки сигнала на выводе ICP. Для срабатывания захвата все выборки должны соответствовать уровню, заданному битом ICESl. Частота выборок равна тактовой частоте процессора.

Бит 6 - ICES1: выбор фронта сигнала захвата. Если бит ICES I = О, содержимое таймера/счетчика 1 переписывается в регистр захвата по спадающему фронту сигнала на выводе ICP. Если бит установлен - по нарастающему фронту сигнала.

Биты 5,4 - в AT90S2313 зарезервированы и всегда читаются какО.

Бит 3 - СТС1: очистка таймера/счетчика 1 по совпадению. Если бит СТС1 = 1, таймер/счетчик 1 устанавливается в $0000 в такте, следующем за событием совпадения. Если бит сброшен, таймер/счетчик 1 продолжает считать, пока не будет остановлен, сброшен, произойдет его переполнение или изменение направления счета. В режиме ШИМ этот бит не работает.

Биты 2, 1, О - CS12, CS11, CS10: выбор источника тактирования. Эти биты определяют источник счетных импульсов для таймера/счетчика 1.

Таблица 2.8. Выбор источника счетных импульсов

CS12

CS11

CS10

Описание

Таймер/счетчик 1 остановлен

CIV8

СК/64

CIV256

avi024

Спадающий фронт на выводе Т1

Нарастающий фронт на выводе Т1



$20 ($40)

$2С ($4С)

Чт./зап.

Нач. знач.

TCNT1H

Рис. 2.32. Таймер/счетчик 1 TCNTIH и TCNTIL !

Это 16-разрядный регистр, содержащий текущее значение таймера/счетчика 1. Чтобы чтение и запись двух байтов счетчика происходило синхронно, для работы с ним используется временный регистр (TEMP).

Запись в таймер/счетчик 1: при записи старшего байта в TCNT1H записываемые данные помещаются в регистр TEMP. Затем, при записи младшего байта, он вместе с данными из TEMP переписывается в таймер/счетчик 1. Таким образом, при записи 16-разрядного значения первым должен записываться байт в TCNT1H;

Чтение таймера/счетчика 1: при чтении младшего байта из TCNT1L он посылается в процессор, а данные из TCNT1H переписываются в регистр TEMP, т. е. одновременно читаются все 16 разрядов. При последующем чтении регистра TCNT1H данные берутся из регистра TEMP.

Таймер/счетчик 1 организован как суммирующий счетчик (в режиме ШИМ - суммирующий/вычитающий) с возможностью чтения и записи. Если выбран источник тактовых импульсов для таймера/счетчика 1, после записи в него нового значения он продолжает счет в следующем после записи периоде тактовой частоты.

$2В($4В)

$2А($4А)

Чт./зап.

Нач. знач.

OCR1AH OCRIAL

Рис. 2.33. Регистр совпадения A таймера/счетчика 1 - OCRIAH и OCRIAL

Регистр совпадения - 16-разрядный регистр, доступный для чтения и записи.



$25 ($45)

ICRlH

$24 ($44)

ICR1L

7 6 5 4 3 2 1 0

ЧТ./зап. RRRRRRRR

RRRRRRRR Нач. знач. 00000000

00000000

Рис. 2.34. Регистр захвата таймера/счетчика 1 - ICR1H и ICR1L

Регистр захвата - 16-разрядный регистр, доступный только для чтения. По нарастающему или спадающему фронту (в соответствии с выбором фронта импульса захвата ICESl) сигнала на выводе ICP текущее значение таймера/счетчика 1 переписывается в регистр захвата ICR1. В это же время устанавливается флаг захвата ICFI.

Поскольку регистр захвата является 16-разрядным, для чтения его значения, чтобы оба байта прочитались одновременно, используется временный регистр. При чтении младшего байта ICR1L старший байт регистра ICR1H переписывается во временный регистр. При чтении старшего байта он принимается из временного регистра. Таким образом, для чтения 16-разрядного регистра первым должен Читаться младший байт.

Таймер/счетчик в режиме ШИМ

При выборе режима широтно-импульсной модуляции (ШИМ) таймер/счетчик 1 и регистр совпадения OCR 1А формируют 8-, 9- или 10-разрядный непрерывный, свободный от «дрожания» и правиль-

В этом регистре хранятся данные, которые непрерывно сравниваются с текущим значением таймера/счетчика 1. Действие по совпадению задается регистрами управления таймером/счетчиком 1 и регистром состояния.

Поскольку регистр OCR1A 16-разрядный, при записи нового значения в регистр, для того чтобы оба байта регистра записывались одновременно, используется временный регистр. При записи старшего байта данные помещаются во временный регистр, который переписывается в OCR 1 АН при записи младшего байта в OCR 1AL. Таким образом, для записи в регистр первым должен записываться старший байт.



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [ 14 ] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0011