Upload
marcelomerchan
View
55
Download
1
Embed Size (px)
DESCRIPTION
descripcion de la programacion de la materia de microcontrolador.
Citation preview
1
Practica#5 Reloj-Contador-CronometroLibio Calle Franco.
[email protected] Merchan [email protected]
Universidad Politecnica Salesiana.Sistemas Microprocesados 1.
Resumen—Para la practica a realizar se va a armar un circuitocontador el cual va a funcionar con un Switch en condición1 sera de forma ascendente y en condición, 0 sea de formadescendente. Continuando con un circuito reloj el cual paraigualar las horas y minutos se utilizara un Switch y mediante lautilización de 2 pulsantes para subir o bajar horas y minutos.Para el ultimo esquema un circuito cronometro el cual medianteun pulso 1 inicia, reinicia y visualiza, mediante un pulso dosborra el cronometro.
Index Terms—Timer,MicroC
OBJETIVO GENERALES:
Diseñar, Programar un reloj real, cronometro y contador através del lenguaje MicroC y posteriormente grabado en elPIC16F877A.
OBJETIVOS ESPECÍFICOS:
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.Diseñar el hardware de la practica.Calcular tiempos de retardo.
I. INTRODUCCIÓN.
II. MARCO TEÓRICO.
II-A. Características del PIC16F877A.
Figura 1. Tabla característica del pic16f877a
II-B. Timer Cero.
Es un modulo temporizador/contador de 8 bits que cons-ta con preescalador programable también de 8 bits. Puedefuncionar como temporizador o como contador. En modotemporizador el valor del registro TMR0 se incrementa concada ciclo de instrucción (o cada X ciclos dependiendo delpreescalador). En modo contador el valor del registro TMR0se incrementa en cada flanco (ascendente o descendente) delpin RA4/T0CKI. En ambos casos al desbordarse (pasar de0xFF a 0×0) el registro TMR0 la bandera de interrupción deltimer 0 (bit T0IF del registro INTCON) se pone a 1. El modotemporizador se selecciona poniendo a cero el bit T0CS delregistro OPTION. [3].
Figura 2. Diagrama de bloques del timer cero prescaler.
II-C. Timer Uno.
Similar al temporizador Timer0, estos registros se puedenleer o se puede escribir en ellos en cualquier momento.En caso de que ocurra un desbordamiento, se genera unainterrupción si está habilitada. El módulo del temporizadorTimer1 puede funcionar en uno o dos modos básicos, esoes como un temporizador o como un contador. A diferenciadel temporizador Timer0, cada uno de estos dos modos tienefunciones adicionales.
Desbordamiento−Timer1 =4
fosc∗Preescaler∗(65536−TMR1)
2
Figura 3. Diagrama de bloques timer1
II-D. Timer Dos.
Es de 8 bit, tiene un Prescaler y un Postscaler, puede serusado como base de tiempo del módulo PWM. El registrode conteo TMR2 es leíble y escribible, y es limpiado porcualquier Reset. El Timer 2 tiene un registro de Periodo PR2que a diferencia de los anteriores que terminaban en FFh oFFFFh utiliza este registro el cual le indica al Timer 2 cuandoreiniciarse utilizando un comparador interno. PR2 tiene un FFhal Reset.
Figura 4. Diagrama de bloques timer2
III. DESARROLLO DE LA PRACTICA.
III-A. Tabla de combinaciones del circuito.
El circuito consta de 4 pulsantes y un dip-swicht.Sw7 Sw6
0 0 Display apagados0 1 Contador1 0 Reloj1 1 Cronometro
CONTADOR(POR INTERRUPCIÓN EXTERNA)1Sw
1 Ascendente0 Descendente
RELOJ
Para Igualar1Swicht
1 Horas0 MinutosHoras, Minutos, Segundos.
PB1 1 Pulsante BajadaPB2 1 Pulsante Subida
CRONOMETRO
PB2Pulsante 1 inicia, reinicia, visualizaPulsante 2 Detiene la visualización
PB1Pulsante 1 detiene, cronometroPulsante 2 borra cronometro
IV. CÁLCULOS DE LA PRÁCTICA.
IV-A. Calculo de la resistencia del display.
Si tomamos cada segmento del display como un led laformula a aplicar seria la siguiente.
Figura 5. Circuito de un display
5v Salida del PIC.1.5V Voltaje de consumo de los LED’S
5v − 1,5v = 3,5v
R =3,5V
10mA= 350Ω = 330Ω
TMR0.
Es un temporizador contador de 8 bits configurando comocontador, al recibir pulsos de incremento por el pin RBO.
Retardo− To = 4 − TOSC − TMRO
Retardo−T0−PRE = 4∗TOSC∗TMRO∗PREESCALER
TMR1.
El cual está formado por dos timers de 8 btis cada uno con-figuramos el timer 1 (TMR1) habilitándolo, seleccionándolocomo temporizador y eligiendo un prescaler de 8 para estotenemos que cargar el registro T1CON con H”30”. Seguidode esto realizamos el cálculo correspondiente para podertemporizar al timer 1 con un valor de 0.1 segundo el cualserá nuestra base de tiempo.
0,1seg = 100000useg
TMR1 = 65536 − (t ∗ f
4 ∗ prescaler)
TMR1 = 65536 − (100000U ∗ 20m
4 ∗ 8) = 3036
El valor que debamos cargar en el timer 1 es de 3036=H’CF2C’
3
TMR2.
Es un temporizador de 8 bits cuenta con un postcaler 1hasta 16, para poder configurar el timer 2 debemos cargar elregistro T2CON con H0FF0con el cual habilitamos el timery además seleccionamos el valor del prescaler y del postcalerque son de 16. Para poder tener una base de 0.01 segundo esdecir una centésima de segundo, tiempo del cronometro.
0,01seg = 10000useg
TMR2 = 256 − (t ∗ f
4 ∗ prescaler ∗ postaler)
TMR2 = 256 − (10000u ∗ 4M
4 ∗ 16 ∗ 16) = 60.68 = 60
Debemos cargar el valor de 60= H’3C’ en el timer 2 TMR2.
IV-B. Formula de los Retardos.
Con Tey para un cuerzo de 20Mhz tenemos:
Tey = (4ciclos
f − oscilador) =
4
20Mhz= 0.2useg
Con Tey para un cuerzo de 32Mhz tenemos:
Tey = (4ciclos
f − oscilador) =
4
32Mhz= 0.125useg
Con Tey para un cuerzo de 4Mhz tenemos:
Tey = (4ciclos
f − oscilador) =
4
4Mhz= 1useg
RETARDO SIMPLE:
La formula para el calculo del retardo es la siguiente:
[(1Tcyreturn + 21Tcygoto)(x− 1) + 2Tcymov + 2Tcygoto
+2Tcycall + 2Tcyreturn = Td]
Entonces para el retardo simple si le damos un valor de 255tenemos.
(1 + 2)(255 − 1) + 2 + 2 + 2 + 2 =Tc
Tcy
770 ∗ Tcy = Td
770 ∗ 0.2useg = Td
Td = 0.15mseg
RETARDO DOBLE:
La formula para el calculo del reatardo es la siguiente.
((1Tcyreturn + 21Tcygoto)(x− 1) + 2Tcymov + 2Tcygoto)y
+(1Tcyreturn + 2Tcygoto)(y − 1) + 2Tcymov + 2Tcygoto
+2Tcycall + 2Tcyreturn = Td
Para el calculo del retardo doble tenemos que x=255; y=255;z=5 por consiguiente.
[((3 ∗ (255 − 1) + 4)) ∗ 255 + 3 ∗ (255 − 1) + 4] ∗ 5
+38(5 − 1) + 8 =Td
Tcy
Td
Tcy= 0.2seg
V. CONCLUSIONES.
Para la presente practica se analizo el funcionamiento delos Timer0-1-2, quien fueron utilizados como bases parael funcionamiento de un reloj a tiempo real, cronometroy contador de forma ascendente y descendente.Verificar que el hadware este bien armado caso contrariopuede producirse cto cto el cual puede afectar al microcontrolador.