Anda di halaman 1dari 5

1.

- Describa la funcin del TIMER/COUNTER del PIC 16F84A y dibuje una


diagrama de flujo por cada una de ellas que represente su funcionamiento.
El Timer0 es un dispositivo puede funcionar conceptualmente de dos formas:
como contador de pulsos externos o como temporizador para calcular
intervalos de tiempo.
En el caso que dicha seal provenga del reloj interno de instrucciones (Fint), el
Timer0 se utiliza para generar interrupciones peridicas a travs de una cuenta
programada. Ya que conocemos la frecuencia de funcionamiento y en base a
un valor cargado en el contador del timer (lo veremos mas adelante) podemos
temporizar eventos.

En el caso que dicha seal sea de una fuente externa al microcontrolador


(Fext), es especialmente til para contar el nmero de pulsos que dicha seal
genera en el tiempo ya que cada pulso de dicha seal incrementa el TMR0
inicio

F,d, TIMER 0

si

Timer =0
n

Timer < 255

No hay cuenta
n

Desbordamient
o

si

2.- Escriba cuales son los registros involucrados en la programacin de una


inicio
TIMER. Describa el funcionamiento de cada uno de ellos.

TMR0L y TMR0H: permiten acceder (lectura/escritura) al valor del contador


(TMR0L para el byte menos significativo y TMR0H para el ms significativo).

OPCION : el ms importante de cara a la configuracin del timer


INTCON: bits para activar la interrupcin asociada al Timer0 (ver la entrada
sobre interrupciones).

3.- Escriba cuales son los bits involucrados en la programacin de un TIMER.


Describa el funcionamiento de cada uno de ellos.
RBPU (bit 7)
-> arranca(1) o para (0) el TIMER
INTEDG (bit 6)
-> selecciona modo 8 bits (1) o 16 bits (0)
T0CS
(bit 5)
-> selecciona modo TIMER (0) o contador externo (1)
T0SE (bit 4)
-> en caso de contador externo decide si cuenta en flanco
subida (0) o bajada (1).
T0CON.PSA
(bit 3)
-> uso (0) o no (1) de un divisor (prescaler)
previo.
T0CON.PS0-2
(bits 0-2) -> bits que definen el valor del divisor previo,
desde 1:2 (000) hasta 1:256 (111)

4.- Escriba el procedimiento requerido para programar el TIMER para generar una
frecuencia especifica.

1. debemos entrar al registro TMR0 en el empezaremos a activar la


configuracin del timer.
2. activamos el bit 7.
3. luego para conocer la carga tmr0 debemos aplicar esta formula:
Temporizador= TCM prescaler(256 carga TMR0)
y despejamos TMR0.
4. luego que tenemos la carga debemos introducirlo en nuestro programa.
5. despus debemos de hacer pulsos para que genere un sonido
determinado.

INICIO

CONMUTAR

DO_0=20
RE_0=46
MI_0=74
FA_0=83
SOL_0=103
LA_0=121
SI_0=140

BOCINA=1
NO
SI
BOCINA=0
BOCINA=0
NO

IN BOTON
_DO
IN
BOTON_RE
IN
BOTON_MI
IN
BOTON_FA

SI

BOCINA=1

FIN

CONTAR
BOTON_DA=1
NO
TMR0=255
TMR0=DO_
0

SI

BOTON_RE=1
NO
NO

TMR0=RE_
0

TMR0=MI_0

TMR0=FA_0

SI

SI

BOTO_MI=1

SI

TMRO=0

TMRO=TMR0
+1
NO

BOTON_FA=1

SI

FIN

NO

BOTON_SOL=1

NO

NO
TMR0=SOL
_0
TMR0=LA_0

BOTON_LA=1

NO

BOTON_SI=1
SI
TMR0=SI_0

SI

SI
NO

CONMUTAR

COTAR

BOCINA=OF
F

Anda mungkin juga menyukai