Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/13/01 17:16
Read: times


 
#16576 - RE: DTMF MT8888C
To diagnose "wrong number" problem, you may need this program :
ftp://ftp.simtel.net/pub/simtelnet/msdos/hamradio/dtmff110.zip
Connect your MT8888 output to soundblaster input jack,
and run the program (press "D" to switch into dtmf mode).
The program should be able to decode your tone.

As to interfacing to the phone line, the site below,
offers a lot of information.
http://www.hut.fi/Misc/Elec...rface.html

Couple years ago, I wrote a simple test code that send 16 dtmf tones
with a customizable duration (thanks to Mr. David P Ryan).

;********************************************************
;contr. chip : at89c51
;periph. chip : mt8888
;assembler : 8051 Cross-Assembler, Version 1.2k
; (c) Copyright 1984-1995 by MetaLink Corporation
$mod51
mt88 equ 0f700h ;check wiring please
rs_0 equ p1.0 ;check wiring please
datavalid equ p1.1 ;check wiring please
org 0
ajmp start
org 03h ; external interrupt 0
acall dtmf_all
reti
org 0bh ; timer interrupt 0
reti
org 13h ; external interrupt 1
reti
org 1bh ; timer interrupt 1
reti
org 23h ; serial port interrupt
reti
dtmf_all:
acall dtmf_init
acall dtmf_send
ret
;******************************* mt88 initialization
dtmf_init:
;******************************* clear cra (control register a)
mov dptr,#mt88 ;init data pointer to dtmf address
setb rs_0 ;set rs_0
mov a,#00h ;clear control regs with 0
movx @dptr,a ;write to mt88
clr rs_0
;******************************* set cra (bit 4/reg select) to select crb
setb rs_0 ;set rs_0
mov a,#1000b ;set bit b3 to write to b reg on next write
movx @dptr,a ;write to mt88
clr p1.0
;******************************* the following write will be directed to crb
setb rs_0
mov a,#0 ;clear the b register,
movx @dptr,a
clr rs_0
;******************************* read status register
setb rs_0
movx a,@dptr ;do a read to clear status register
clr rs_0
;******************************* set cra to b, irq, dtmf, tout
setb rs_0
; mov a,#1101b ;enable irq,tone out,dtmf mode
mov a,#1100b ;tone disable
movx @dptr,a
clr rs_0
;****************************** set crb to c/r, dual, receiver active, burst
setb rs_0
mov a,#0001b ;burst deactivated
; mov a,#0000b ;burst activated
movx @dptr,a
clr rs_0
;******************************
ret
;****************************** end of mt88 initialization
;****************************** dtmf output routine
dtmf_send:
push acc
push dph
push dpl
mov r2, #00h ;start tone
mov a, r2
;******************************* beginning loop
again:
mov dptr, #mt88 ;init data pointer to mt88 address
clr rs_0
setb datavalid
movx @dptr, a ;write to mt88
setb rs_0
mov a,#0101b ;tone enabled
movx @dptr, a ;write to mt88
acall delay_100ms ;tone duration
mov a,#0100b ;tone disabled
movx @dptr, a ;write to mt88
inc r2
mov a, r2
cjne a, #010h, again ;will send tone 0 to tone f
;******************************* end loop
pop dpl
pop dph
pop acc
ret
;******************************* delay routine
delay_100ms: ; 100 millisecond delay
; put
; your
; delay
; code
; here
ret
start:
setb ea ; enable all
setb ex0 ; enable ext interrupt 0
setb ex1 ; enable ext interrupt 1
mainloop:
ajmp mainloop ; scanning interrupt 0
end ;****************** end of program


List of 11 messages in thread
TopicAuthorDate
DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      
RE: DTMF MT8888C            01/01/70 00:00      

Back to Subject List