Генерация и распознование DTMF-сигналов


 


       
 
 
   

Режим Continuous, прерывания разрешены Подготовка выходных модулей таймера Timer_A MCLK = 1.048 МГц;(автоматически)

 

DL .equ
STACK .equ 600h
; Определения ОЗУ  
STDTMF .equ 202h
TIM32B .equ
LENGTH .equ 206h
.text

OFOOOh

Инициализация таймера Timer A


длительность сигнала DTMF в мс 65..100 мс) Адрес инициализации стека

Статус частот Hi

и Lo

Расширение регистра

таймера

Счётчик длительности

DTMF

Стартовый адрес программы

MCLK,


 

INIT MOV #STACK,SP Инициализация указа-
    теля стека
CALL #INITSR Инициализация умно-
    жителя частоты FLL
    и ОЗУ
MOV #ISMCLK+TAIE+C LR,&TACTL
    Инициализ ация
    таймера
MOV. В #TA2+TA1,&P3SEL Выходы ТА2 и ТА1
    на портах РЗ.5/4
CLR TIM32B Очистить расширенный
    регистр таймера
BIS #MCONT,&TACTL Старт таймера Timer A
EINT   Общее разрешение
    прерываний
MAINLOOP ...   Основной цикл

;Нажатие клавиши: в SDTMF содержится смещение

; по таблице для 2-х частот (О..б,О..б) в старшем

; и младшем байте

MOV &TAR,R5 ; Для немедленного

; старта: