Частота синхронизации мк

Примем частоту задающего кварцевого генератора FOSC = 12 МГц. Длительность машинного цикла при этом равна TМЦ = 1 мкс.

Настройка таймера-счётчика Т/С0

Режим работы. По сформулированному выше определению Т/С0 должен работать в непрерывном режиме таймера (без блокирования сигналом частота синхронизации мк - student2.ru ) для формирования импульсов с частотой дискретизации FД. Выбираем поэтому режим 2 с перезагрузкой после каждого цикла счёта. Управляющие биты GATE0 = 0, C/ частота синхронизации мк - student2.ru 0 = 0 и код режима 10 записываются в состав управляющего слова (константа #02) для регистра TMOD при инициализации фильтра – командой MOV 89, #02.

Управляющее слово для регистра TMOD (прямой адрес 89)
TMOD.7 TMOD.6 TMOD.5 TMOD.4 TMOD.3 TMOD.2 TMOD.1 TMOD.0
x(0) x(0) x(0) x(0)
  GATE1 C/ частота синхронизации мк - student2.ru 1   M1.1   M0.1   GATE0 C/ частота синхронизации мк - student2.ru 0   M1.0   M0.0

Задание частоты дискретизации FД = 10000 Гц. Длительность интервала дискретизации равна ТД = 100 мкс. Количество машинных циклов TМЦ, укладывающихся на интервале дискретизации: N = TД / TМЦ = 100, т.е. T/С0 должен иметь в режиме с перезагрузкой коэффициент счёта kСЧ = N = 100.

Максимальный коэффициент пересчёта 8-разрядного счётчика (без перезагрузки) равен kМАКС = 28 = 256. Чтобы в режиме суммирования 8-разрядный Т/С0 имел требуемый коэффициент пересчёта kСЧ = N, при перезагрузке в него должно записываться число NИСХ = kМАКС – N, для рассматриваемого примера NИСХ = 156 = 9С.

Константа #9С, обеспечивающая требуемую частоту дискретизации, при инициализации фильтра должна быть записана для хранения в регистр TH0 (прямой адрес 8C) – командой MOV 8C, #9C.

Пуск Т/С0 осуществляется путём установки в регистре TCON управляющего бита TR0 =1 при инициализации фильтра - командой SETB 8C.

Вывод импульса переполнения Т/С0 для запуска АЦП выполняется по прерыванию от флага TF0, устанавливающегося при переполнении Т/С0. Подпрограмма обработки прерывания от флага TF0 имеет стартовый адрес 000B и содержит команды: CLR 90, SETB 90 – сброс и установка линии P1.0 (порт P1), так как исходное состояние линии – 1 (во все защёлки портов при сбросе МК записаны 1 – порты настроены на ввод).

Настройка прерываний

В результате сброса МК при включении питания всем источникам прерываний назначается одинаковый, нулевой приоритет. Поскольку обработки прерываний от таймера Т/С0 и по входу частота синхронизации мк - student2.ru не могут совпадать по времени, переопределять приоритеты прерываний не требуется.

После сброса МК все прерывания запрещены. Поэтому при инициализации требуется разрешить прерывания вообще (установить бит EA = 1) и, в частности, разрешить прерывания от Т/С0 (ET0 = 1) и по входу частота синхронизации мк - student2.ru

(EX0 = 1). Команда записи управляющего слова (константы #83) в регистр IE:

MOV A8, #83.

Управляющее слово для регистра IE (прямой адрес A8)
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
EA - - ES ET1 EX1 ET0 EX0

Наши рекомендации