MOV.B
MOV.B
MOV.B
BIS
MOV.B
CLR.B
#B16+TPDMAX-1,&TPD ;один 16-битный счётчик, выбор выходов заряда
#TPDMAX-1,&TPE |
; Разрешить выходы
заряда #PRESET,&TPCNT2; Загрузить время
заряда #CPUOFF,SR ; Режим пониженного
потребления @SP,&TPE ; Разрешить только
текущий датчик &TPCNT2
: Запретить все прерывания, чтобы обеспечить непрерыв-: ную работу таймера и разряд конденсатора
Запрет прерываний Очистить младший байт таймера Переключить все датчики в «О» |
&TPCNT1 @SP,&TPD |
DINT CLR.B
BIC.B
MOV.B #(TPSSEL0*3)+ENA+ENB,&TPCTL
TPCNT1 CLK=MCLK, разрешить вход CIN
EINT ; Разрешить прерыва-
ния, общий старт
BIS #CPUOFF,SR ; Режим пониженного
потребления
******************************** |
*********************
EN=0:Завершение преобразования: 2X8 бит результата
в MSTACK
Включить следующий датчик : если больше нет,
завершение *****************************************************
MOV.B &TPCNT1,MSTACK(R8)
; Сохранить результат в стеке
MOV.B &TPCNT2,MSTACK+1(R8)
; Сохранить старший байт результата
L$301
INCD RRA.B JNC INCD |
R8 @SP MEASLOP SP |
Инкремент адреса Следующий выход TPD.X Если С=1 - завершение
Убрать старший TPD из стека