Ь IV. Примеры конкретных применений
.bss DTMF TL ; Выравнивание по чётному
; адресу
.bss DTMF_TH
.bss DTMF NR ; глобальная переменная в ОЗУ
; для номера DTMF (0..F)
.even
; Определения для 8-битного таймера
TCCTL .EQU 42H TCPLD .EQU 43H TCDAT .EQU 44H
; Определения для универсального таймера-порта
TPCTL | .equ | 04bh |
TPCNT1 | .equ | 04ch |
TPCNT2 | .equ | 04dh |
TPD | .equ | 04eh |
TPE | .equ | 04fh |
.text |
; Управление таймером-портом ; Счётчик таймера-порта 1 ; Счётчик таймера-порта 2 ; Данные таймера-порта ; Разрешение таймера-порта
; Таблицы частот DTMF: таблица содержит
; число тактов MCLK для одного полупериода.
; Таблица для «верхней» частоты
; Добавлена корректирующая поправка для учёта времени
; входа в прерывание
DTMF_HI .word Offffh-(TCLK/(1336*2))+25 ; Верхняя
; частота для С .word Offffh-(TCLK/(1207*2) ) +28 ; Верхняя
; частота для 1 .word Offffh-(TCLK/(1336*2))+25 ; Верхняя
; частота для 2 .word Offffh-(TCLK/(1477*2) ) +24 ; Верхняя
; частота для 3 .word Offffh-(TCLK/(1207*2))+28 ; Верхняя
; частота для 4 .word Offffh-(TCLK/(1336*2))+25 ; Верхняя
; частота для 5 .word Offffh-(TCLK/(1477*2) ) +24 ; Верхняя
; частота для 6 .word Offffh-(TCLK/(1207*2) ) +28 ; Верхняя
; частота для 7 .word Offffh-(TCLK/(1336*2) ) +25 ; Верхняя
; частота для 8