Sei sulla pagina 1di 3

1

Practica#5 Reloj-Contador-Cronometro
Libio Calle Franco.
lcalle@est.ups.edu.ec
Marcelo Merchan Serrano.
mmerchans@est.ups.edu.ec
Universidad Politecnica Salesiana.
Sistemas Microprocesados 1.

ResumenPara la practica a realizar se va a armar un circuito


contador el cual va a funcionar con un Switch en condicin
1 sera de forma ascendente y en condicin, 0 sea de forma
descendente. Continuando con un circuito reloj el cual para
igualar las horas y minutos se utilizara un Switch y mediante la
utilizacin de 2 pulsantes para subir o bajar horas y minutos.
Para el ultimo esquema un circuito cronometro el cual mediante
un pulso 1 inicia, reinicia y visualiza, mediante un pulso dos
borra el cronometro.
Index TermsTimer,MicroC

O BJETIVO G ENERALES :
Disear, Programar un reloj real, cronometro y contador a
travs del lenguaje MicroC y posteriormente grabado en el
PIC16F877A.

II-B.

Timer Cero.

Es un modulo temporizador/contador de 8 bits que consta con preescalador programable tambin de 8 bits. Puede
funcionar como temporizador o como contador. En modo
temporizador el valor del registro TMR0 se incrementa con
cada ciclo de instruccin (o cada X ciclos dependiendo del
preescalador). En modo contador el valor del registro TMR0
se incrementa en cada flanco (ascendente o descendente) del
pin RA4/T0CKI. En ambos casos al desbordarse (pasar de
0xFF a 00) el registro TMR0 la bandera de interrupcin del
timer 0 (bit T0IF del registro INTCON) se pone a 1. El modo
temporizador se selecciona poniendo a cero el bit T0CS del
registro OPTION. [3].

O BJETIVOS E SPECFICOS :
Analizar como es el funcionamiento del Timer1, Timer1,
Timer2.
Programar en MicroC para poder controlar un contador.
Ascendente y descendente, un cronometro y un reloj.
Disear el hardware de la practica.
Calcular tiempos de retardo.
I.
II.
II-A.

I NTRODUCCIN .
M ARCO T ERICO .

Caractersticas del PIC16F877A.

Figura 2.

II-C.

Diagrama de bloques del timer cero prescaler.

Timer Uno.

Similar al temporizador Timer0, estos registros se pueden


leer o se puede escribir en ellos en cualquier momento.
En caso de que ocurra un desbordamiento, se genera una
interrupcin si est habilitada. El mdulo del temporizador
Timer1 puede funcionar en uno o dos modos bsicos, eso
es como un temporizador o como un contador. A diferencia
del temporizador Timer0, cada uno de estos dos modos tiene
funciones adicionales.

Figura 1.

Tabla caracterstica del pic16f877a

DesbordamientoT imer1 =

4
P reescaler(65536T M R1)
f osc

C RONOMETRO
PB2
Pulsante
Pulsante
PB1
Pulsante
Pulsante

1
2

inicia, reinicia, visualiza


Detiene la visualizacin

1
2

detiene, cronometro
borra cronometro
IV.

Figura 3.

II-D.

Diagrama de bloques timer1

IV-A.

C LCULOS DE LA P RCTICA .

Calculo de la resistencia del display.

Si tomamos cada segmento del display como un led la


formula a aplicar seria la siguiente.

Timer Dos.

Es de 8 bit, tiene un Prescaler y un Postscaler, puede ser


usado como base de tiempo del mdulo PWM. El registro
de conteo TMR2 es leble y escribible, y es limpiado por
cualquier Reset. El Timer 2 tiene un registro de Periodo PR2
que a diferencia de los anteriores que terminaban en FFh o
FFFFh utiliza este registro el cual le indica al Timer 2 cuando
reiniciarse utilizando un comparador interno. PR2 tiene un FFh
al Reset.

Figura 5.

Circuito de un display

5v Salida del PIC.


1.5V Voltaje de consumo de los LEDS
5v 1,5v = 3,5v
R=

3,5V
= 350 = 330
10mA
TMR0.

Figura 4.

Diagrama de bloques timer2

III.
III-A.

D ESARROLLO DE LA PRACTICA .

Tabla de combinaciones del circuito.

El circuito consta de 4 pulsantes y un dip-swicht.


Sw7 Sw6
0
0
Display apagados
0
1
Contador
1
0
Reloj
1
1
Cronometro
C ONTADOR (P OR INTERRUPCIN EXTERNA )
1Sw
1
0

Es un temporizador contador de 8 bits configurando como


contador, al recibir pulsos de incremento por el pin RBO.

Ascendente
Descendente
R ELOJ

Para Igualar
1Swicht
1
Horas
0
Minutos
Horas, Minutos, Segundos.
PB1 1 Pulsante Bajada
PB2 1 Pulsante Subida

Retardo T o = 4 T OSC T M RO
RetardoT 0P RE = 4T OSCT M ROP REESCALER
TMR1.
El cual est formado por dos timers de 8 btis cada uno configuramos el timer 1 (TMR1) habilitndolo, seleccionndolo
como temporizador y eligiendo un prescaler de 8 para esto
tenemos que cargar el registro T1CON con H30. Seguido
de esto realizamos el clculo correspondiente para poder
temporizar al timer 1 con un valor de 0.1 segundo el cual
ser nuestra base de tiempo.
0,1seg = 100000useg
T M R1 = 65536 (

tf
)
4 prescaler

100000U 20m
) = 3036
48
El valor que debamos cargar en el timer 1 es de 3036=
HCF2C
T M R1 = 65536 (

TMR2.

R ETARDO D OBLE :

Es un temporizador de 8 bits cuenta con un postcaler 1


hasta 16, para poder configurar el timer 2 debemos cargar el
registro T2CON con H0FF0con el cual habilitamos el timer
y adems seleccionamos el valor del prescaler y del postcaler
que son de 16. Para poder tener una base de 0.01 segundo es
decir una centsima de segundo, tiempo del cronometro.

La formula para el calculo del reatardo es la siguiente.


((1T cyreturn + 21T cygoto )(x 1) + 2T cymov + 2T cygoto )y
+(1T cyreturn + 2T cygoto )(y 1) + 2T cymov + 2T cygoto
+2T cycall + 2T cyreturn = T d

0,01seg = 10000useg

T M R2 = 256 (

Para el calculo del retardo doble tenemos que x=255; y=255;


z=5 por consiguiente.

tf
)
4 prescaler postaler

10000u 4M
T M R2 = 256 (
) = 60.68 = 60
4 16 16

[((3 (255 1) + 4)) 255 + 3 (255 1) + 4] 5


+38(5 1) + 8 =
Td
= 0.2seg
T cy

Debemos cargar el valor de 60= H3C en el timer 2 TMR2.

IV-B.

V.

Formula de los Retardos.

Con Tey para un cuerzo de 20Mhz tenemos:


T ey = (

4ciclos
4
)=
= 0.2useg
f oscilador
20M hz

Con Tey para un cuerzo de 32Mhz tenemos:


T ey = (

4
4ciclos
)=
= 0.125useg
f oscilador
32M hz

Con Tey para un cuerzo de 4Mhz tenemos:


T ey = (

4ciclos
4
)=
= 1useg
f oscilador
4M hz
R ETARDO S IMPLE :

La formula para el calculo del retardo es la siguiente:


[(1T cyreturn + 21T cygoto )(x 1) + 2T cymov + 2T cygoto

+2T cycall + 2T cyreturn = T d]


Entonces para el retardo simple si le damos un valor de 255
tenemos.
(1 + 2)(255 1) + 2 + 2 + 2 + 2 =

770 T cy = T d

770 0.2useg = T d

T d = 0.15mseg

Tc
T cy

Td
T cy

C ONCLUSIONES .

Para la presente practica se analizo el funcionamiento de


los Timer0-1-2, quien fueron utilizados como bases para
el funcionamiento de un reloj a tiempo real, cronometro
y contador de forma ascendente y descendente.
Verificar que el hadware este bien armado caso contrario
puede producirse cto cto el cual puede afectar al micro
controlador.

Potrebbero piacerti anche