Сборник лабораторных работ: Специализированные вычислительные системы. Часть 2. Никищенков И.А. - 22 стр.

UptoLike

Составители: 

- 22 -
ходимость подсчета числа импульсов за заданный интервал времени.
Эта процедура может быть реализована тремя различными способами:
программной реализацией временного интервала и программным
подсчетом числа импульсов на входе МК;
программной реализацией временного интервала и аппаратурным
подсчетом числа импульсов (на внутреннем таймере/счетчике);
аппаратурной реализацией временного интервала и программным
подсчетом числа импульсов.
Первый способ неэффективен и значительно сложнее других, а
потому не рассматривается, второй и третий являются альтернатив-
ными, поскольку у МК48 имеется только один таймер/счетчик.
При аппаратурной реализации подсчета числа событий импуль-
сный датчик должен быть подключен к входу Т1 микроконтроллера:
STDLY: CLR A ; сброс счетчика импульсов
MOV T,A ;
STRT CNT ; запуск счетчика
CALL DELAY ; временная задержка
STOP TCNT ; останов счетчика
MOV A,T ; фиксация результата
Подсчет импульсов производится счетчиком событий, а отсчет за-
данного временного интервала - подпрограммой DELAY.
При аппаратурной реализации отсчета временного инт ервала им-
пульсные сигналы удобнее всего принимать на вход Т0:
CTLDYT: MOV A,#0 ; настройка таймера
MOV T,A ;
STRT T ; запуск таймера
MOV R1,A ; сброс счетчика импульсов
WAITC: JTF STP ; если время истекло - переход на выход
JT0 WAITC ; ожидание импульса
WAIT0: JNT0 WAIT0
INC R1 ; инкремент счетчика
JMP WAITC ; переход для продолжения счета
STP: STOP TCNT ; останов таймера
В приведенном примере таймер настроен на максимально возмож-
ный временной интервал - 20 мс, счетчик импульсов реализован в
регистре R1. Проверка истечения заданного временного интервала
осуществляется по флагу переполнения таймера (TF). Прерывание
должно быть замаскировано.
Поскольку аппаратурный таймер не может реализовать временные