Библиотека Компэла


Ь 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