Paso 6: Modo de salida serie
Como una ayuda para depuración, he añadido un modo de salida serial que contiene información útil para el experimentador.No había pins extras disponibles para usar como una salida serial dedicadoa, por lo que tiene compartir un pin con el indicador. En modo serie, el LED ya no funciona como un indicador de un tono DTMF válido. El LED aparecerá iluminado todo el tiempo, con notable parpadeo cuando se transmite datos en serie. El LED indicará todavía condiciones como éxito para arriba (2 o 3slow parpadea, dependiendo del modo), succesfullprogramming (2 parpadeos rápidos, repetidas indefinidamente) y ningún programa válido (4 parpadeos rápidos repetidas indefinidamente)
Para invocar el modo de salida serial, necesitará corto la clavija de entrada A/d del microprocesador utilizado para entrada de audio (pin 7 de U1 en el esquema) a tierra. A continuación, interrumpa la alimentación al circuito. Cuando el microprocesador se restablece, se verifique el estado de la línea de entrada de audio y ver que está sentado cerca de 0 voltios, mientras que se sentará cerca de + 2.5 voltios normalmente. Por supuesto, tendrá que quite el cortocircuito a tierra en la entrada de audio, de lo contrario cualquier entrada de audio va estar en corto circuito a tierra. Sólo es necesario que la entrada de audio se pone en cortocircuito a tierra durante el reset del microprocesador. Pueden eliminarse inmediatamente después de que el LED parpadea dos veces después de la energía para arriba.
Sabe usted que la salida serial está activa si ves el parpadeo del LED y se puede leer la secuencia serial en su computadora.
Para supervisar la salida serial con un PC, usted necesitará convertir la salida de 5 voltios del microprocesador a niveles RS-232 que se pueden leer por un puerto serial de las computadoras. Un circuito que utiliza el chip MAX232 puede utilizarse para este propósito.
Una línea de salida se transmite cada vez que las frecuencias son arrastradas. Los campos de información están separados por comas. Esta salida puede ser fácilmente registrada por un programa terminal como Hyperterminal y luego importada a Microsoft Excel para su procesamiento posterior si lo desea.
Al configurar un terminal para ver la salida, los parámetros a utilizar son 9600 baudios, 8N1, sin paridad, sin control de flujo.
La salida de depuración contiene la siguiente información, de izquierda a derecha:
* El valor de salida para cada una de las 8 frecuencias, expresadas en decimales. Los valores son 5 dígitos de longitud e incluyen cualquier ceros.
* La salida de la lógica. Esto serán o bien 0-9, #, *, A, B, C, D para pares de tono válido, "S" si ningún tono es detectado, o "?" si se detecta alguna combinación no válida de tonos.
Una muestra de la salida serie se incluye a continuación:
03767,00041,00081,00054,03763,00054,00084,00028,1
En este ejemplo, se detectó el dígito "1". Observe que los valores de salida del filtro para la primera frecuencia de fila y la primera frecuencia de columna son mucho más grandes que las otras 6 frecuencias, como podría esperarse de dígitos DTMF "1".
El código busca el mismo dígito detectar en dos barridos consecutivos antes de considerar ese tono para ser detectado, para programación y descifrar. La salida serie creará una nueva línea que muestra sólo la cifra detectada, que destaca por el usuario, como se muestra en la salida serial muestra a continuación:
03883,00032,00043,00116,03465,00033,00064,00069,1
03705,00078,00044,00084,03996,00066,00061,00050,1
1
03767,00041,00081,00054,03763,00054,00084,00028,1
Si el microprocesador se reinicia en tono detecta modo mientras que también está habilitado el modo serial, lo primero que se transmite es la secuencia de tono para detectar que actualmente está programada en el microprocesador. Esto se verá como "PROGXXX... X". Si no existe ningún programa válido, transmitirá "NO PROG". Si el microprocesador se reinicia en modo de programación con el modo serial, transmite la secuencia programada uno el pin modo programación se trae de alto a bajo. Una vez más, esto se verá como "PROGXXX... X". Estas disposiciones son útiles para verificar que la secuencia que ha intentado programar en el micro fue programada correctamente.