I.
I NTRODUCCIN
O BJETIVOS
Objetivos Generales
Disear el Algoritmo de programa un que pueda captar
la seal de un frecuencimetro
III.
III-A.
M ARCO TERICO
Pic 16F877A
(1)
Donde
TMR0 Temporizador
Td=Tiempo Dado
Prescaler podemos ver en la siguiente tabla 1 desde
cuanto a cuanto va
Cuadro I
P ERCALER TMR0[4]
T cy = 4T osc
T osc =
1
f osc
Registro T0CON
TMR0ON : Bit de puesta en marcha del Temporizador 0
T08BIT : Bit de configuracin del modo 8-bit/16-bit:
T08BIT=0: Modo 16-bit
T08BIT=1: Modo 8-bit
T0CS : Bit de configuracin del modo contador/temporizador
T0CS=0: Modo temporizador (TMR 0 se incrementa
en cada ciclo de instruccin FOSC/4)
T0CS=1: Modo contador (TMR0 se incrementa en cada
transicin de la lnea RA4/T0CKI)
T0SE : Bit de seleccin de flanco en modo contador
T0SE=0: TMR0 se incrementa en los flancos de subida
de la lnea RA4/T0CKI
T0SE=1: TMR0 se increment a en los flancos de bajada
de la lnea RA4/T0CKI
PSA : Bit de activacin del pre-escalar
PSA=0: Pre-escalar activado
PSA=1: Pre-escalar no activado
T0PS2..T0PS0 : Bits de seleccin del pre-escalar del Temporizador 0:
Temporizador 0 en modo de 16 bits. La parte alta del TMR0
no es accesibl e directamente. Se accede a ella a travs de
TMR0H para que funcione como buffer.
Cuando se lee el valor de TMR0L, el valor de la parte
alta de TMR0 pasa al TMR0H. Por tanto para leer el
valor de TMR0 primero leemos TMR0L y luego leemos
TMR0H.
Cuando se escribe en TMR0L, el valor del re gistro
TMR0H pasa a la parte alta de TMR0. Por tanto para
escribir en TMR0 pr imero escribimos el valor de la parte
alta en TMR0H y luego escribim os el valor de la parte
baja en TMR0L
III-A3. Timer1
: Caracteristicas fundamentales
configuracion como temporizador o contador de 16 bit
Dispone de un oscilador propio que puede funcionar cono
fuente exterena o interna
Pre-escaler de 3 bit programble
Interrupcion por desbordamiento
El TMR1 es asocioan al registro T1C0N
DR16: bit de seleccion de modo de lectrua o escritura
RD16 =0 lectura o escritura de TMR1 en 8 bit
RD16 =0 lectura o escritura de TMR1 en 16 bit
T1RUN: bit de monitorizacion de la funte de reloj principal
del sistema
T1RUN = 0 : Reloj principal no derivado del osilador
del Temporizador 1
T1RUN = 1: Reloj principal derivado del osilador del
Temporizador 1
T1CKS1....T1CKS0 : bit de seleccion del Pre-escalar del
Temporizador 1
T1OSCEN: Bit de habilitacion del oscilador del TMR1
T1OSCEN =0 : osilador del TMR1 desactivado
T1OSCEN=1:osilador del TMR1 activado
T1SYNC : Bit de sincronizacion de la seal de reloj
T M R = (651088864)/(1024)T M R0 = 460005
Convertimos el valor del TMR0 a hexadecimal
T M R0 = B3B5
Para cual vamos a re calcular con el valor aproximado de
TMR2 para saber cual es el error
TDtmrx =
4
256 (65536 460005)
20M Hz
TDtmrx = 1,0012s
Error =
Error =
IV.
IV-A.
1s 1,0012
1s
D ESARROLLO
Error = 0,12 %
Clculos de tiempo
IV-A1.
: Datos
V real V deseado
vreal
Calculo TMR0
V.
L ISTA DE M ATERIALES
T d = 100mS
P recales = 1 : 256
f osc = 20M Hz
Con la ecuacin 1 procedemos a calcular el TMR0 para
poder colocar el el cdigo
T d = P rescaler T cy(65536 T M R0)
T osc =
1
20M Hz
T cy =
4
20M Hz
100ms = 256
4
(65536 T M R0)
20M Hz
Cuadro II
L ISTA DE M ATERIALES
VI.
Protoboar
Grabador de Pic PiK2
Fuente 5V
Generador de funciones
E QUIPOS
VII.
D ESCRIPCIN .
C ONCLUSIONES Y R ECOMENDACIONES