Telephone interface questions


Results 1 to 19 of 19

Threaded View

  1. #1
    Join Date
    Mar 2010
    Location
    Los Angeles, CA
    Posts
    13

    Default Telephone interface questions

    Greetings!

    I'm working on a personal project that involves interfacing a PIC micro to the telephone and dialing out a specific phone number using DTMF tones generated by the PIC. I am using a 16F876A and am following a schematic I found in the old Basic Stamp Nuts & Volts articles (NV 19 Fig 19-1, see attachment). I have recreated the circuit verbatim with the following exception:

    -I am using .1uF capacitors and 100 ohm resistors on the tip and ring lines in place of relays/switches

    I have constructed the circuit and written a really simple PBP program just to see if I can connect, shown below.

    Given all of this, the circuit doesn't work. The code sends the tones to the speaker and to the LCD, so I know that's working, so it's something in the circuit. I have read on this forum that for phone circuits the oscillator should be 20 MHz, but I will admit I haven't tried that yet. I'll do that later today/tomorrow. Just wanted to get this out there in case anyone saw something glaringly wrong with the circuit.

    I'd appreciate any advice anyone can provide, troubleshooting the circuit, etc.

    Code:
    ' PIC16F876 to predefined connections:
    '
    ' PIC 		    LCD		Other Connections
    ' ------		-------		-----------------------------          
    ' OSC1			Resonator - 4 mhz
    ' OSC2			Resonator - 4 Mhz
    ' MCLR			Vdd via 1k resistor
    ' Vdd			5v
    ' Vss			Gnd
    ' RB2           Output to serial LCD
    ' RB4           Output to speaker
    ' RB5           Output to phone line
    
    ' -----[ Revision History ]------------------------------------------------
    '
    ' ----[ Includes / Defines ]-------------------------------------------
    '
    INCLUDE "MODEDEFS.BAS"  'This statement is needed for serout defines.
    
    Define LOADER_USED 1     'Only required if bootloader used to program PIC
    'define osc 20               'Oscillator speed is 20 MHz
    
    ' -----[ Constants ]-------------------------------------------------------
     
    ' -----[ Variables ]-------------------------------------------------------
    '
    ' -----[ Initialization ]--------------------------------------------------
    '
    ' -----[ Main Code ]-------------------------------------------------------
    '
    
    Start:
        serout 2,N2400,[254,1]
        serout 2,N2400,["DIALING...",254,192]
        pause 1000
        DTMFout 4,[1,8,1,8]
        DTMFout 5,[1,8,1,8]
        serout 2,N2400,[#1,32,#8,32,#1,32,#8]
        pause 1000
        Goto Start              ' Loop back and do it all again
    Attached Images Attached Images  

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts