Quote Originally Posted by Travin77
trisa.0 = 1
trisa.1 = 0
trisa.2 = 0
PortA ist an analog-input after reset. Look at the manual !

Quote Originally Posted by Travin77
trisb = %11111111
trisc = %00000000
low portc
low portb
OK, PortB is Input, why do you use the LOW-command,
and this is written in the wrong way. If you adress the TRIS direct, better don't use LOW and HIGH.

dtmf_ready VAR PORTA.0 'pin 12 (DV)
select_dtmf VAR PORTA.1 'pin 3 (Enamble)
reset VAR PORTA.2 'pin 5 (GT)
DT0 VAR PORTB.4 'pin 2 (D1)
DT1 VAR PORTB.5 'pin 1 (D2)
DT2 VAR PORTB.6 'pin 14 (D4)
DT3 VAR PORTB.3 'pin 13 (D8)
ce var portA.3 'pin from isd chip
While declaring this in the front of the program, you can easily use LOW/HIGH or INPUT/OUTPUT an this symbolic names, it is better to read!

c = 0
e = 0
not declared !


select case entry 'places number in an array
case c = 0
dtmf = password [0]
Hä ?
What is C ? Ever read the manual nearby "Select case" ?

dtmf = 0
IF DT0 = 1 Then 'Check Input port 0
dtmf = dtmf + 1
EndIF
IF DT1 = 1 Then 'Check Input port 1
dtmf = dtmf + 2
EndIF
IF DT2 = 1 Then 'Check Input port 2
dtmf = dtmf + 4
EndIF
IF DT3 = 1 Then 'Check Input port 3
dtmf = dtmf + 8
dtmf=0:dtmf.0=DT0:dtmf.1=DT1:dtmf.2=DT2:dtmf.3=DT3 ??


It's very quick'n'dirty !