PDA

View Full Version : DTMF Decode with Mitel 8870 & 16F628



m0cke
- 21st March 2004, 17:04
Hi all,

I'm working on a DTMF decoder board using a Mitel 8870 decoder IC and 16F628, I'm having problems getting the PIC to see the Strobe from pin 15 of the 8870 using port A.0 on the PIC, has anyone got any ideas or experience with the 16f628 & 8870?

Also any code snippets in PBP may be useful?

I need to get this working ASAP as it's for the local Amateur TV Repeater which is due to go on air in May.

Thanks for any advise

Regards,

Jim

m0cke
- 21st March 2004, 19:54
Hi again,

It's OK i;ve sorted the problem, I was using TRIS to set the ports but I refered back to using INPUT, when I looked at the strobe port on the scope it was being dragged down so I guessed the port was not set as an input although I had set it with TRIS.

The problem I have now is i'm trying to use a lookdown table as a passcode, so for instance I enter *9 to get to the engineering section, I now have to enter a code to get access to the functions but when I enter the first number of the passcode the pic errors out back to the beginning.

Any ideas?

Regards,

Jim

Dwayne
- 22nd March 2004, 21:33
Hello,


The problem I have now is i'm trying to use a lookdown table as a passcode, so for instance I enter *9 to get to the engineering section, I now have to enter a code to get access to the functions but when I enter the first number of the passcode the pic errors out back to the beginning.

Are you using a interupt? and not turning off the interput when you call it via DTMF?

Dwayne

m0cke
- 23rd March 2004, 08:44
Hi Dwayne,

No i'm not, after the pic receives the *9 from the DTMF decoder IC then it moves to the engineering section of code where the lookdown table coding is.

I have for now scrapped the lookdown table and put it in a simple format as follows:-

IF dtmf = 4 Then 'First code digit
gosub Getdtmf
else
goto error
ENDIF
IF dtmf = 1 Then 'Second code digit
gosub Getdtmf
else
goto error
ENDIF
IF dtmf = 7 Then 'Third code digit
gosub Getdtmf
else
goto error

etc etc

This seems to work fine

Regards,

Jim