0% encontró este documento útil (0 votos)
16 vistas3 páginas

Generador DTMF para PIC con PicBasic

Este documento describe cómo generar tonos DTMF (Dual Tone Multi-Frequency) utilizando la instrucción DTMFout en PicBasic. Explica que los tonos DTMF se usan en telefonía para marcar números y explica una aplicación potencial para controlar alarmas. A continuación, proporciona detalles sobre cómo funciona la instrucción DTMFout, incluida su sintaxis y parámetros, y proporciona un ejemplo de código para generar secuencialmente todos los tonos DTMF.

Cargado por

Carlos Martir
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas3 páginas

Generador DTMF para PIC con PicBasic

Este documento describe cómo generar tonos DTMF (Dual Tone Multi-Frequency) utilizando la instrucción DTMFout en PicBasic. Explica que los tonos DTMF se usan en telefonía para marcar números y explica una aplicación potencial para controlar alarmas. A continuación, proporciona detalles sobre cómo funciona la instrucción DTMFout, incluida su sintaxis y parámetros, y proporciona un ejemplo de código para generar secuencialmente todos los tonos DTMF.

Cargado por

Carlos Martir
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

DTMFOUT PARA PIC

PicBasic cuenta con una instrucción capaz de generar tonos DTMF (Dual Tone
Multifrecuency - Multifrecuencia de doble tono), tonos que se utilizan en telefonía para
marcar una serie de números y así poder establecer la comunicación entre dos o más
personas.
Una aplicación interesante para esta instrucción podría ser el discado de números
telefónicos en sistemas de alarma cuando ha sido activado un dispositivo de
supervisión, para luego generar un mensaje de voz que nos alerte de dicho evento.
Realice el montaje de la siguiente figura y analice el programa que se muestra a
continuación, el cual genera tonos DTMF consecutivos de una serie de dígitos
predefinidos. Es muy importante considerar que para generar los tonos
adecuadamente el oscilador externo debe ser de 10 Mhz o superior.

En la tabla se puede observar la frecuencia baja y la frecuencia alta de cada digito entre
cero y quince, los cuales se corresponden a su vez con cada uno de los dígitos de un
teclado telefónico, como se puede observar en la segunda columna de la misma tabla.

Esto quiere decir que si generamos las frecuencias correspondientes al dígito “1”
utilizando la instrucción “DTMFout”, obtendremos las mismas frecuencias baja y alta
que se generan al pulsar el dígito “1” de cualquier teléfono de tonos DTMF. Si
deseáramos generar desde el microcontrolador el tono DTMF correspondiente al dígito
“0” de un teclado telefónico, entonces, según la tabla, el dígito a introducir en la
instrucción “DTMFout” deberá ser el “10”.
Antes de empezar a programar, vamos a verificar la sintaxis de la instrucción
DTMFout:

DTMFout
Sintaxis: DTMFout pin, {On-ms, Off-ms}, [tono, tono,...tono]
La instrucción DTMFout genera tonos DTMF en secuencia y a través de un
puerto cualquiera del microcontrolador.

Pin: especifica el pin del puerto en el cual se emitirán los tonos DTMF.
On-ms: es una variable o constante que especifica la duración de cada tono en
milisegundos. En caso de no utilizar este parámetro, el tiempo por defecto
de cada tono es de 200 ms.
Off-ms: es una variable o constante que especifica el tiempo en milisegundos del
silencio que hay entre cada tono. En caso de no utilizar este parámetro, el
tiempo en silencio entre cada tono por defecto será de 50 ms.
Tono: puede ser una variable o constante entre 0 y 15, que especifica el tono que debe
ser generado.

PROGRAMACION:

Define osc 10 'DEFINE LA FRECUENCIA DEL OSCILADOR


trisa= %00000 'CONFIGURO LOS PUERTOS A COMO SALIDA

PAUSE 200
INICIO: DTMFOUT PORTA.0,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
PAUSE 1000
GOTO INICIO
END

También podría gustarte