; Каждая смена состояния подсчитывается для контроля ; длительности сигнала
HCCR1 PUSH R5 MOV. В STDTMF,R5 ADD DEC.В LENGTH JNZ TARET |
Сохранение используемых регистров Статус нижней частоты DTMF
FDTMFLO(R5),&CCR1 ; Добавить длительность полупериода Длительность сигнала DL завершена? Нет
; Да, прекратить выдачу сигнала DTMF: запретить ; прерывания
BIC #OMRS+OUT+CCIE,&CCTL1 ; Сброс ТА1
BIC #OMRS+OUT+CCIE,&CCTL2 ; Сброс ТА2
TARET POP R5 ; Восстановить R5
RETI ; Возврат из прерыва-
; ния
; Верхняя частота DTMF: TA2 инвертирует выход модуля ; Output Unit 2
PUSH R5 MOV. В STDTMF+1,R5 ADD R5 |
POP RETI |
RETI |
RETI |
HCCR2
HCCR3
HCCR4
Сохранение используемых регистров Статус верхней частоты DTMF
FDTMFHI(R5),&CCR2 /Добавить длительность полупериода Восстановить R5 Возврат из прерывания
Задача, контролируемая регистром CCR3
Задача, контролируемая регистром CCR4