one more circuit: DTMF decoder interface for designing Caller ID Unit. It's very simple circuit using DTMF decoder MT8870 (or CM8870). As shown in the circuit, u'll receive an interrupt ( if NAND output is connected to INT of the microcontroller) whenever u receive a call or make a call and then u can use yr program to read the digits coming out of pin 11 to 14 of the MT8870. I designed the circuit with additional features like seperating received calls, missed calls, dialled numbers along with telephone directory.
To determine whether number is dialled or received, u need to know whether receiver is on-hook or off-hook. following simple circuit will give u that indication:
I had used microcontroller 8951 with16x2 LCD and Dallas nvRAM for storing numbers and names. The code is in assembly language. It's really easy to make this one with lot of variations.
Check out my next post on telephone ring detector to check whether the call is received call or missed call.