Синхронизация АЦП и время преобразования.
Преобразование начинается после записи стартового бита в регистр DAPR. Эта операция начнет новое преобразование, даже если текущее преобразование не завершено. Преобразование начинается со следующего машинного цикла. Флаг занятости будет устанавливаться в том же самом машинном цикле. Если значение, записанное в DAPR - 00H, это означает, что никакая корректировка внутренних опорных напряжений не желательна, и преобразование будет происходить в течение 15 машинных циклов, до полного окончания. Таким образом, время преобразования - 15 мкс при 12 МГц частоте тактового генератора. Для каждой корректировки внутренних опорных напряжений преобразование требуется дополнительно время 7 мкс. Таким образом, если должно программироваться только одно опорное напряжение, общее время преобразования будет занимать 22 машинных цикла, если же должны программироваться оба опорных напряжения, то время преобразования будет продолжаться 29 машинных циклов.
После того, как преобразование было запущено записью в соответствующий бит DAPR, аналоговое напряжение в выбранном входном канале выбирается в течение 5 машинных циклов (5 мкс при 12 МГц частоте генератора). Это напряжение будет оставаться неизменным на протяжении остальной части времени преобразования. Внешний аналоговый источник должен обеспечить ток достаточный, чтобы зарядить емкость выборки-хранения, равную 25pF, за 5 машинных циклов.
Преобразование выбираемого аналогового напряжения происходит между 6-ым и 15-ым машинным циклом после того, как была завершена операция выборки сигнала. В 15-ом машинном цикле преобразованный результат перемещается в ADDAT, флаг занятости (BSY) очищается, генерируется запрос на прерывание от АЦП и устанавливается флаг IADC (бит 0 в регистре управлении прерывания IRCON). Если установлено непрерывное преобразование, то следующее преобразование, автоматически начнется в следующем машинном цикле.
5.6.Таймер счетчик Т/С2 микроконтроллера 8052.
Т/С2 — это 16-битный таймер/счетчик, способный работать и как таймер, и как счетчик событий. Выбор производится битом СD2 в SFR T2CON . Т/С2 может работать в режимах защелки, автоперезагрузки (при этом направление счета может быть как вверх, так и вниз, т. е. на увеличение или уменьшение содержимого TL2, ТН2) и генератора скорости передачи в бодах. Режимы выбираются битами в T2CON .
Т/С2 состоит из двух 8-битных регистров: ТН2 и TL2. В режиме таймера его 16-разрядный регистр TL2, ТН2 инкрементируется в каждом машинном цикле. Поскольку цикл состоит из 12 периодов колебаний, скорость счета равна 1/12 тактовой частоты (т. е, частоты кварцевого резонатора fрез. По сути дела, в этом режиме таймер подсчитывает выполненные машинные циклы.
5.6.1.Регистр управление таймера/счетчика 2 T2COM.
Символ | Позиция | Имя и назначение |
TF2 | Т2СОМ.7 | Флаг переполнения таймера/счетчика 2. Сбрасывается программным путем. Флаг не устанавливается, если либо RCLK, либо TCLK (см. ниже) установлены в 1 |
ЕХF2 | Т2СОN.6 | Внешний флаг таймера/счетчика 2. Устанавливается при защелкивании информации в таймерных регистрах или при перезагрузке, происходящих под воздействием перепада из 1 в 0 на выводе Р1.1 и при EXEN2 1. Сбрасывается только программным путем. При разрешенном прерывании от таймера/счетчика 2 вызывает подпрограмму обработки прерывания (если бит Т2МОD.0 = 0) |
RCLK | T2CON.5 | Выбор таймера/счетчика 2 для задания скорости работы приемника в режимах 1 и 3. При RCLK = 1 используется таймер/счетчик 2, при RCLK = 0 - таймер/счетчик 1 |
TCLK | Т2СОN.4 | Выбор таймера/счетчика 2 для задания скорости работы передатчика в режимах 1 и 2. При TCLK = 1 используется таймер/счетчик 2, при TCLK = 0 - таймер/счетчик 1 |
EXEN2 | T2CON.3 | Разрешение работы от внешнего сигнала. При EXEN2 = 1 перепад из 1 в 0 на выводе Р1.1 вызывает защелкивание информации или перезагрузку таймера/счетчика 2. При EXEN2 = 0 таймер/счетчик 2 игнорирует сигналы на выводе Р1.1 |
TR2 | T2CON.2 | Запуск/остановка таймера. TR2 = 1 запускает таймер/счетчик 2 |
С/Т2 | Т2СОN.1 | Бит выбора режима работы таймера/ счетчика 2. При установке бита в 1 функционирует как счетчик перепадов из 1 в 0 на выводе Р1.0. При установке бита в 0 работает таймер |
CP/RL2 | Т2СОN.0 | Выбор режима защелки/перезагрузки. Если бит установлен в 1, то при ЕХЕН2 = 1 перепад из 1 в Она Р1.1 вызовет защелкивание содержимого TL2. ТН2 a BCAP2L, RCAP2H. При нулевом бите таймер/счетчик 2 работает в режиме автоперезагрузки при переполнении счетчика или при обнаружении перепада из 1 в Она Р1.1 (последнее при EXEN2 = 1) |
После сброса все биты регистра T2ON устанавливаются в 0.
5.6.2.Режимы работы таймера/счетчика 2.
RCLK и TCLK | CP/RL2 | TR2 | Режим |
0 и 0 | и | 16-битный таймер/счетчик с перезагрузкой | |
0 и 0 | 16-битный таймер/счетчик с защелкиванием информации | ||
0 и 1, 1 и 0. 1 и 1 | Любое | Генератор приемопередатчика | |
Любое | Любое | Выключен |
В режиме счетчикарегистр инкрементируется в ответ на перепад из 1 в 0 на входе Р1.0. Состояние этого входа анализируется в момент S5P2 каждого машинного цикла. Если анализ показывает наличие единичного уровня в одном цикле и нулевого в следующем, содержимое счетчика инкрементируется. Его новое значение появляется в регистре в момент S3P1 цикла, следующего за тем. в котором был обнаружен перепад. Так как обнаружение этого перепада занимает два машинных цикла (24 периода колебаний), максимальная скорость счета равна 1/24 частоты f рез. Чтобы микро-ЭВМ успела идентифицировать заданный уровень, он должен T/C2 — это 16-битный таймер или счетчик, при переполнении которого устанавливается бит TF2 в T2CON. Этот бит затем может использоваться для вызова прерывания. Если же EXEN2 = 1, то T/C2 продолжает делать то же самое, однако в этом случае перепад из 180 на выводе Р1.1 вызывает защелкивание текущих значений ТН2 и TL2 в RCAP2H и RCAP2L соответственно. Кроме того, этот перепад вызывает установку в 1 бита EXF2 в T2CON. Как и TF2, этот бит может вызвать прерывание. Режим защелки иллюстрирует рис. 1, содержимое счетчика растет вверх до 0FFFFH и затем устанавливает в 1 бит переполнения TF2. Переполнение вызывает также перезагрузку регистров Т/С2 16-битным значением в RCAP2H и RCAP2L, которое предварительно должно быть установлено программно. Если же EXEN2 = 1 16-битная; перезагрузка может произойти как от переполнения, так и от перепада из 1 в 0 на выводе Р1.1. Этот перепад также устанавливает в 1 бит ЕХР2. 0ба бита - ТР2 и ЕХР2 — могут вызвать прерывание, если оно разрешено.
Установка в 1 бита DCEN переводит Т/С2 в режим счета вверх или вниз, как показано на рис.
Рис.16.Работа Таймера/счетчика 2 в режиме : захвата (а),
автоперезагрузки (б), задающего генератора (в) .
Режим автоперезагрузки.На рис. 1, б показана структурная схема T/C2, считающего в сторону увеличения при DCEN = 0. В этом режиме возможны два подрежима, выбираемых регистром T2MOD
5.6.3.Регистр режима таймера/счетчика 2 Т2МОD.
Символ | Позиция | Имя и назначение |
T2MOD.7 | Не используется | |
T2MOD.6 | Не используется | |
T2MOD.5 | Не используется | |
T2MOD.4 | Не используется | |
T2MOD.3 | Не используется | |
T2MOD.2 | Не используется | |
Т20Е | T2MOD.1 | При установке бита на выводе Р1.1 формируется последовательность прямоугольных импульсов со скважностью 2 |
DCEN | T2MOD.0 | При установке бита таймер/счетчик 2 конфигурируется на счет как вверх, так и вниз, в зависимости от уровня сигнала на выводе Р1.1 |
Биты регистра Т2МOD не адресуются непосредственно командами работы с битами. После сброса Т2МОD.0 и Т2НOD.1 устанавливаются в 0, значение остальных бит не определено.
Дата добавления: 2015-06-05; просмотров: 1835;