7/30/2019 Material Pract 4.pdf
1/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 potenteconjunto de temporizadores para manejar eficientemente todas las operacionesque involucran al tiempo y al conteo de eventos. Dichos temporizadores son tres yse denominan tcnicamente: TMR0, TMR1 y TMR2.
TMR0, tiene las siguientes caractersticas: 8 bits puede ser utilizado comotimer 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 = 0
Se incrementa en cada ciclo de instruccin. La sincronizacin en la escritura toma dos ciclos de reloj.
COMO COUNTER OPTION_REG = 1 Se incrementa en cada flanco de subida o bajada sobre el pin RA4/T0CKIOPTION_REG.
7/30/2019 Material Pract 4.pdf
2/33
7/30/2019 Material Pract 4.pdf
3/33
REGISTROS PARA EL TMR0, OPTION_REG
7/30/2019 Material Pract 4.pdf
4/33
INTERRUPCIN POR TMR0Una interrupcin por TMR0 ocurrir cuando el registro de 8 bits asociado a stetimer llegue al desbordamientooverflow FF -> 00, cuando ocurre el overflow elbit del registro INTCON denominado T0IF pasar a valer 1. Si el bitINTCON TOIE es uno (permiso de interrupcin), entonces la interrupcinocurrir y se ejecutar la rutina de servicio de interrupcin por TMR0.La interrupcin por TMR0 no puede despertar al microcontrolador si este seencuentra en estado dormido sleep, ya que, el TMR0 es deshabilitado cuando seentra en modo de reposo o dormido.
OTROS REGISTROS ASOC. AL TMR0:
7/30/2019 Material Pract 4.pdf
5/33
7/30/2019 Material Pract 4.pdf
6/33
7/30/2019 Material Pract 4.pdf
7/33
7/30/2019 Material Pract 4.pdf
8/33
7/30/2019 Material Pract 4.pdf
9/33
7/30/2019 Material Pract 4.pdf
10/33
7/30/2019 Material Pract 4.pdf
11/33
7/30/2019 Material Pract 4.pdf
12/33
7/30/2019 Material Pract 4.pdf
13/33
7/30/2019 Material Pract 4.pdf
14/33
7/30/2019 Material Pract 4.pdf
15/33
7/30/2019 Material Pract 4.pdf
16/33
7/30/2019 Material Pract 4.pdf
17/33
7/30/2019 Material Pract 4.pdf
18/33
7/30/2019 Material Pract 4.pdf
19/33
7/30/2019 Material Pract 4.pdf
20/33
7/30/2019 Material Pract 4.pdf
21/33
7/30/2019 Material Pract 4.pdf
22/33
7/30/2019 Material Pract 4.pdf
23/33
7/30/2019 Material Pract 4.pdf
24/33
7/30/2019 Material Pract 4.pdf
25/33
7/30/2019 Material Pract 4.pdf
26/33
7/30/2019 Material Pract 4.pdf
27/33
7/30/2019 Material Pract 4.pdf
28/33
7/30/2019 Material Pract 4.pdf
29/33
7/30/2019 Material Pract 4.pdf
30/33
DTMFOUT
La instruccin DTMFout genera tonos DTMF en secuencia y a travs de un puertocualquiera del microcontrolador.
Sintaxis:
DTMFoutpin, {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 decada tono en milisegundos. En caso de no utilizar este parmetro, el tiempo por defectode 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 debeser generado.
7/30/2019 Material Pract 4.pdf
31/33
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 utilizarlos 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 silencioentre 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 serecomienda utilizar un circuito de acople entre el microcontrolador y el dispositivoexterno al cual enviaremos los tonos.
7/30/2019 Material Pract 4.pdf
32/33
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 lasteclas 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 datoen 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.
7/30/2019 Material Pract 4.pdf
33/33
Datos presentes en la salida
Tecla Q1 Q2 Q3 Q4
1 0 0 0 12 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
0 1 0 1 0
* 1 0 1 1
# 1 1 0 0
A 1 1 0 1
B 1 1 1 0
C 1 1 1 1
D 0 0 0 0