Paso 14: Código de decodificador DTMF (Asamblea y C): programación de un AVR de Atmel
Aquí voy a explicar un poco el código, los siguientes pasos será un tutorial de como cargar en el ATtiny2313 usando un programa de ejemplo, pero los mismos pasos se aplican para todo el código que tenemos para los microcontroladores.
He incluido el montaje y el código de C para este circuito. Deben ser bastante similares en la función. El código C remite a lo que se lee por el ATtiny2313 en Puerto B de Port D, esto es por lo que se puede verificar que la señal está llegando correctamente con nada más y luego unos blinkinlights en los inferiores 4 pines del puerto B.
El código por defecto es 0000 y puede cambiarse en línea 99. Una vez que hayas ingresado el código correcto Presione el botón # en su teléfono para tener el micro validar el código. Si no presiona una tecla no te preocupes, sólo sigue entrando en el micro solo recordará los últimos 4 dígitos en los números.
Una vez tu que ahora puede ver los códigos DTMF se lea correctamente por el 2313, ONU-comentario el gran bloque de código en las líneas 118-121 y 123-261, y comente la línea 122 para activar la funcionalidad regular.
Líneas 233-238 contiene el código que desea ejecutado una vez que se entra un código válido. Puerto B es totalmente gratuito para un bajo número de subsistemas que solo tengas las pulsaciones de teclas del teléfono próximo activar subsistemas directamente en el puerto. Otra opción sería tener esta sección Enviar un comando serial hacia fuera a cualquier ordenador u otro subsistema.
Hay un modo de bloqueo para muchos caracteres no válidos se entró, pagar a 2 segundos para la solución de problemas pero una vez trabajando animo esto subiendo a unos pocos minutos o más para la seguridad. Líneas 320-332 tienen el código de bloqueo.
Preguntas si las tienes y voy a probar y explicar el estado mad que estaba en mientras esta codificación. Está bastante bien comentado aunque y no debería ser demasiado difícil de descifrar.