mov | #WDTPW+WDTCL,&WDTCTL | остановить | |
• сторожевой | |||
• таймер | |||
; Инициализация | MCLK | ||
mov.b | #102-1,&SCFQCTL | •102*32.768 Гц = | |
• 3,342 МГц | |||
bis .b | #008h,&SCFIC | • Макс. частота | |
• 3 MHz | |||
; Инициализация | ЖКИ/очистка памяти | ЖКИ | |
CLRSCR | |||
mov | #11,r5 | ||
clrl | |||
clr .b | DISPL-1 (r5) | ||
dec | r5 | ||
jnz | clrl | ||
mov.b | #017h,&BTCTL | • Тактирование | |
• ЖКИ | |||
mov.b | #0ffh,&LCDCTL | ; Генератор ЖКИ | |
; Инициализация | АЦП | ||
mov | #04912h,&ACTL | ; Инициализация | |
; АЦП, внутрен- | |||
; ний ИОН | |||
bis .b | #004h,&IE2 | ; разрешить пре- | |
; рывания от АЦП | |||
; Инициализация | 8-битного таймера | ||
mov.b | #100h-9,&TCPLD ; | счёт до 9 | |
; тактов | |||
; ACLK=274 мкс | |||
mov.b | #000h,&TCDAT | ; загрузка | |
; счётчика | |||
mov.b | #068h,&TCCTL | ; Инициализация | |
; 8-битного тай- | |||
; мера | |||
mov.b | #008h,&IEl ; | разрешить прерывания | |
; | от таймера | ||
eint | |||
bis .b | #LPM0,SR ; | выкл. CPU | |
DTMF FILTER | |||
inc | COUNT | ||
cmp | #20,COUNT ; | 20 отсчётов принято? | |
jlo RufinunTRKa Кпмпяпя | FILTER ; | нет Ч9Ч |
f& Texas iNSiraJMENTS | IV. Примеры конкретных применений | ||
; проверка | 1-го | условия | |
cmp | #THRE,MAXLO | • Максимум для «ниж- | |
• ней» группы ниже | |||
• порога? | |||
jlo | FALSE | • да, выход | |
cmp | #THRE,MAXHI | • Максимум для «верх- | |
• ней» группы ниже | |||
• порога? | |||
jlo | FALSE ; да, выход | ||
; проверка | 2-ro | условия | |
rra | MAXLO | • разделить MAXLO на 2 | |
cmp | MAXLO,MAXHI | • MAXHI > MAXL0/2 | |
jlo | FALSE | • да, выход | |
rla | MAXLO | • восстановить MAXLO | |
rra | MAXHI | • разделить MAXHI на 2 | |
cmp | MAXHI,MAXLO | • MAXLO > MAXHI/2 | |
jlo | FALSE | • да, выход | |
cmp | #LENGTH,LCOUNT | ; длительность сигна- |
DISPLAY
FALSE
FALSE1
DISPLAY
inc | LCOUNT |
jmp | CONTINUE |
bit | #01h,FLAG REG |
jnz | CONTINUE |
add | ROW,COL |
mov.b | DTMF Tab (COL) |
bis | #01h,FLAG REG |
jmp | CONTINUE |
tst | LCOUNT |
jnz | FALSE1 |
mov.b | #008h,DISPL+3 |
mov.b | #008h,DISPL+4 |
bic | #01h,FLAG REG |
jmp | CONTINUE |
dec | LCOUNT |
ла достаточна? да, переход к отображению
нет, инкремент счётчика длительности
проверка флага распознавание завершено
суммировать строку и столбец таблицы DISPL ; отобразить символ DTMF установить флаг
; отобразить паузу ; « «
; очистить флаг