Neste site você encontrará uma implementação do algoritmo de Goertzel para detecção de DTMF:
https://sites.google.com/site/hobbydebraj/goertzel-algorithm-dtmf-detection
Interessante notar que o código está bem separado da parte do microcontrolador, assim é possível utiliza-lo em outro projeto com outro microcontrolador.