Você está na página 1de 33

REPBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA DE LA FUERZA ARMADA

NACIONAL U.N.E.F.A. NCLEO ARAGUA SEDE MARACAY COORDINACIN DE TELECOMUNICACIONES LABORATORIO DE MICROPROCESADORES Material terico de la Prctica N 4: MANEJO DE TIMERS E INTERRUPCIONES. DTMFOUT Y DTMFIN Objetivo: Disear una aplicacin con el uso del PIC 18F4550 para controlar procesos con el uso de timers e interrupciones. Envo y recepcin de llamadas con el modulador de pulsos telefnicos DTMF.

Temporizadores Timers del PIC 16F876.


Introduccin. Los microcontroladores PIC16F876 disponen de un potente conjunto de temporizadores para manejar eficientemente todas las operaciones que involucran al tiempo y al conteo de eventos. Dichos temporizadores son tres y se denominan tcnicamente: TMR0, TMR1 y TMR2. TMR0, tiene las siguientes caractersticas: 8 bits puede ser utilizado como timer y como counter. Se puede leer y escribir. Tiene un pre-escalador de 8 bits por software. La seal de reloj puede ser interna o externa. Interrupcin por desbordamiento programable. Seleccin del flanco del reloj externo. Pre-escalador compartido con el perifrico WDT. COMO TIMER OPTION_REG<5> = 0 Se incrementa en cada ciclo de instruccin. La sincronizacin en la escritura toma dos ciclos de reloj. COMO COUNTER OPTION_REG<5> = 1 Se incrementa en cada flanco de subida o bajada sobre el pin RA4/T0CKI OPTION_REG<4>.

REGISTROS PARA EL TMR0, OPTION_REG

INTERRUPCIN POR TMR0 Una interrupcin por TMR0 ocurrir cuando el registro de 8 bits asociado a ste timer llegue al desbordamiento overflow FF -> 00, cuando ocurre el overflow el bit del registro INTCON<2> denominado T0IF pasar a valer 1. Si el bit INTCON<5> TOIE es uno (permiso de interrupcin), entonces la interrupcin ocurrir y se ejecutar la rutina de servicio de interrupcin por TMR0. La interrupcin por TMR0 no puede despertar al microcontrolador si este se encuentra en estado dormido sleep, ya que, el TMR0 es deshabilitado cuando se entra en modo de reposo o dormido. OTROS REGISTROS ASOC. AL TMR0:

DTMFOUT La instruccin DTMFout genera tonos DTMF en secuencia y a travs de un puerto cualquiera del microcontrolador. Sintaxis: DTMFout pin, {On-ms, Off-ms}, [tono, tono,...tono] Pin: especifica el pin del puerto en el cual se emitirn los tonos DTMF. On-ms: es una variable, constante o expresin (0-65535) que especifica la duracin de cada tono en milisegundos. En caso de no utilizar este parmetro, el tiempo por defecto de cada tono es de 200 ms. Off-ms: es una variable, constante o expresin (0-65535) que especifica el tiempo en milisegundos del silencio que hay entre cada tono. En caso de no utilizar este parmetro, el tiempo por defecto ser de 50 ms. Tono: puede ser una variable o constante (entre 0 15), que especifica el tono que debe ser generado.

Ejemplo 1: DTMFout PortC.0, [0,1,2,3,4,5,6,7,8,9] Conectando el pin de salida (RC0) adecuadamente a una lnea telefnica, estaremos marcando sin problemas un nmero telefnico. En algunos casos es recomendable utilizar los tiempos On-ms y Off-ms para realizar un marcado ms exacto. Ejemplo 2: DTMFout PortC.0,400,150, [6,4,3,8,7,1,0] Los tonos tendrn una duracin de 400 milisegundos cada uno y un tiempo en silencio entre ellos de 150 milisegundos. En cuanto al oscilador se recomienda usar del tipo HS (desde 10 Mhz o superior) para obtener mejores resultados en la generacin de tonos DTMF, as como tambin se recomienda utilizar un circuito de acople entre el microcontrolador y el dispositivo externo al cual enviaremos los tonos.

Recepcin de tonos telefnicos con el PIC (Decodificacin DTMF) El circuito que a continuacin se muestra, el cual cuenta con un circuito integrado (MT88L70) y componentes externos discretos, permite entregar el cdigo binario de la tecla pulsada en un telfono por tonos multifrecuentes. Este circuito, adems de decodificar las clsicas teclas del cero al nueve, asterisco y numeral, puede identificar las teclas A, B, C y D que usualmente no estn presentes en la mayora de los telfonos comerciales, pero que la especificacin DTMF las incluye

El circuito est preparado para ser alimentado con 5v, presentes en cualquier circuito TTL o microcontrolado. La resistencia de 100 ohms limita la corriente y el diodo zener hace las veces de limitador de tensin, bajndola a 3.6v que es lo que el chip requiere para funcionar correctamente. Los capacitores aledaos a esos componentes cumplen con la funcin de filtrar la tensin de alimentacin. La seal proveniente de la lnea telefnica es aislada por medio de dos resistencias de 100K y un capacitor de 100nf. Este ltimo impide el paso de corriente, pero deja circular seal de audio. Para su funcionamiento el circuito integrado requiere una base de tiempos, generada en este caso por el cristal de cuarzo de 3.579545MHz. Ntese que este cristal es muy comn en el mercado dado que es el empleado para los sistemas de color de los equipos de TV. Una vez que un tono es recibido, decodificado y validado como correcto su valor binario es colocado en los terminales Q1, Q2 Q3 y Q4. A su vez, el terminal SID sube indicando la presencia del dato en la salida. Este terminal permanece alto durante el tiempo que el tono DTMF siga presente en el sistema, o sea que refleja el tiempo que el telfono remoto permanece pulsado.

Datos presentes en la salida

Tecla 1 2 3 4 5 6 7 8 9 0 * # A B C D

Q1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0

Q2 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0

Q3 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

Q4 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

Você também pode gostar