Вы находитесь на странице: 1из 18

SISTEMAS MICROPROCESADOS I

UNIVERSIDAD POLITÉCNICA SALESIANA

INGENIERÍA ELECTRÓNICA

SISTEMAS MICROPROCESADOS I

INFORME DE LA PRACTICA 3

TEMPORIZADORES

INTEGRANTES:

 CHRISTIAN MORALES
 HENRY SUNTAXI

UNIVERSIDAD POLITÉCNICA SALESIANA


SISTEMAS MICROPROCESADOS I

SISTEMAS MICROPROCESADOS I
INFORME No. 3
INTEGRANTES: CHRISTIAN MORALES
HENRY SUNTAXI
OBJETIVO: Utilizar temporizadores con el microcontrolador PIC.
DESARROLLO
Para la practica se utilizo el PIC 16F877A.

Figura 1. PIC 16F877A

Figura 2 Programadora de PIC

PROCEDIMIENTO PRÁCTICO
1.
SISTEMAS MICROPROCESADOS I

 PROBLEMA
Utilizar el temporizador para elaborar un contador de 1 segundo, cuyo valor se observe en
un display de 7 segmentos.
 ALGORITMO
Entrada: Datos hacia el microcontrolador
Proceso:
 Habilito el puerto A como entrada
 Habilito el puerto B como salida
 Escribo un registro (Option_reg)
 Defino el TMRO en este caso TMRO=0
 Calculo la variable a
Salida: Visualizo en el dispaly
 CÓDIGO
program TimerInterno
dim a as byte
a=0
main:
trisa=$FF 'Programa contador interno
trisb=$0
option_reg=%10000111 'El timer ascendente cuenta de 0 a 255
Intcon=$0
TMR0=0
portb=$0
lazo:
if tmr0=255 then
inc(a)
if a=38 then
inc(portb)
end if
end if
goto lazo
end.
SISTEMAS MICROPROCESADOS I

 DIAGRAMA DE FLUJOS

INICIO

Defino la variable a

Puerto A como entrada

Puerto B como salida

Defino el option_reg=
%10000111

Defino TMRO=0

TMRO NO
=255

SI

Incremento en a

NO
A=38

SI

Incremento en Puerto B

End
SISTEMAS MICROPROCESADOS I

 ESQUEMÁTICO

Esquematico Ejercicio 1

Fotografía practica 3.1


SISTEMAS MICROPROCESADOS I

2.
 PROBLEMA
Realice un programa que realice las operaciones dl numeral 1 pero con TMRO = 96 y
TMRO=155.
ALGORITMO

Entrada: Datos hacia el microcontrolador

Proceso:
 Habilito el puerto A como entrada
 Habilito el puerto B como salida
 Escribo un registro (Option_reg)
 Defino el TMRO en este caso TMRO=96
 Calculo la variable a
Salida: Visualizo en el dispaly

 CÓDIGO

Para TMRO=96
program TimerInterno

dim a as byte
a=0
main:
trisa=$FF 'Programa contador interno
trisb=$0
option_reg=%10000111 'El timer ascendente cuenta de 0 a 255
Intcon=$0
TMR0=96
portb=$0
lazo:
if tmr0=255 then
SISTEMAS MICROPROCESADOS I

inc(a)
if a=24 then
inc(portb)
end if
end if
goto lazo
end.

Calculo del tiempo para TMRO=96

TiempodeOscilacion= 4/10MHz=400ns

T`’= (256-96)*1us*256
T’= (160)*0.000001*256
a= 1/160*0.000001*256
a= 24.41
a= 24
SISTEMAS MICROPROCESADOS I

TMRO=155
program TimerInterno

dim a as byte
a=0
main:
trisa=$FF 'Programa contador interno
trisb=$0
option_reg=%10000111 'El timer ascendente cuenta de 0 a 255
Intcon=$0
TMR0=155
portb=$0
lazo:
if tmr0=255 then
inc(a)
if a=39 then
inc(portb)
end if
TMRO=155

T`’= (256-155)*1us*256
T’= (101)*0.000001*256
a= 1/160*0.000001*256
a= 1/0.026
a= 38.67
a= 39

 DIAGRAMA DE FLUJOS

INICIO
SISTEMAS MICROPROCESADOS I

Defino la variable a

Puerto A como entrada

Puerto B como salida

Defino el option_reg=
%10000111

Defino TMRO=96

TMRO NO
=255

SI

Incremento en a

NO
A=24

SI

Incremento en Puerto B

End

ESQUEMATICO
SISTEMAS MICROPROCESADOS I

Esquematico Ejercicio 2

Fotografía prcatica3. 2 TMRO=96


SISTEMAS MICROPROCESADOS I

Fotografía prcatica3. 2 TMRO=155

Programadora para Timer Externo


SISTEMAS MICROPROCESADOS I

3.
 Problema
Elabore un programa que utilice el timer externo en modo contador externo, y se visualice el
incremento en un display de 7 segmentos
 Algoritmo
Entrada: Un pulso al contador externo
Proceso:
Utilizamos el registro Option, cual nos permite:
 Elige el rango en el que trabaja el divisor de frecuencia.
 Selecciona el tipo de reloj del TMR0 que pude ser interno o externo, a través del pin
T0CKL, también selecciona el flanco activo.
 Selecciona el falco activo para la interrupción externa por RB0/INT
 Activa o desactiva las resistencias de pull-up del puerto B.
El registro Option toma el valor de 1111 1111 en cualquier tipo de reset que se produzca.

RBPU# INTEDG T0CS T0SE PSA PS2 PS1 PS0


Estructura interna de Registro Option
El valor del Option_reg= %10100XXX
Los valores X dependen del pre escalamiento requerido por ejemplo para que con 4 pulsos
del contador externo el PIC registre un pulso utilizamos: Option_reg= %10100010

PS2 PS1 PS0 Divisor


del
TRM0
0 0 0 1:2
0 0 1 1:4
0 1 0 1:8
0 1 1 1:16
1 0 0 1:32
1 0 1 1:64
1 1 0 1:128
1 1 1 1:256

Configurar el timer0 como contador externo.


 Incrementar el contador cada vez que se ingrese un bit por el portA.4
 Escribir el valor del contador en el puerto B del micro controlador.
Salida: Visualizo en el display el contador ascendente.
SISTEMAS MICROPROCESADOS I

 DIAGRAMA DE FLUJO:

 CODIGO

program practica33

main:
Trisa = $FF
Trisb =$0
Option_reg= %10100010 ‘timer externo
Intcon= $0
TMR0=0

Lazo:
PortB= TMR0
Goto Lazo
end.

 ESQUEMÁTICO: PIC16F877A
SISTEMAS MICROPROCESADOS I

 Simulación: PIC16F877A

Fotografía practica 3.3

 3.4

PROBLEMA
Mediante un micro controlador PIC, diseñar un semáforo según el siguiente diagrama
secuencial. El sistema es cíclico, es decir luego de 60 segundos vuelve a repetirse la
secuencia con tiempos idénticos, utilizar 3 focos de 110 voltios (verde, amarillo, rojo),
optoacopladores, triacs, etc.

 ALGORITMO
Entradas: -Código binario correspondiente a las configuraciones de luz del semáforo.

Procesos: -Enviar 1L al pin correspondiente el color del semáforo


 Porb.0= Foco verde encendido
 Esperar 30 segundos.
 Portb.0 y Portb.1(foco amarirllo) = encendendido
 Esperar 10 segundos.
SISTEMAS MICROPROCESADOS I

 Apagar las luces verde y amarilla y Portb.2 (foco roj0).


 Esperar 20 segundos.

Salidas: -Código binario en pines del micro controlador que encienden las luces.

 DIAGRAMA DE FLUJO:

 CÓDIGO

program practicasemaforo
trisb= $0
main:
portb=0
if true then
portb.2=0
portb.0=1
delay_ms(30000)
portb.1=1
delay_ms(10000)
portb.0=0
portb.1=0
portb.2=1
SISTEMAS MICROPROCESADOS I

delay_ms(20000)
end if
goto main

end.

 ESQUEMÁTICO: PIC16F877A

 Simulación: PIC16F877A

Fotografía practica 3.4


SISTEMAS MICROPROCESADOS I

CONCLUSIONES

 Dependiendo del número que sea establecido en el Timer0, el contador interno será más
rápido o más lento. El valor calculado de “a” solo puede llegar al valor de 255, en tiempo
que podemos modificar es entre ms y 9 seg.
 Una desventaja del uso del contador externo llega cuando utilizamos un pulsante mecánico
debido a que genera pulsos indeseados que el PIC toma con otro pulso y modifica el valor.

BIBLIOGRAFÍA
- Hojas de prácticas “temporizadores” de Sistemas Microprocesados I proporcionados por el Ing. Luis
Oñate.
- Manual de ayuda de microbasic ds
- ANGULO MARTÍNEZ IGNACIO; ROMERO YESA SUSANA; ANGULO USATEGUI
JOSÉ MARÍA MICROCONTROLADORES PIC. DISEÑO PRACTICO DE
APLICACIONES. SEGUNDA PARTE: PIC16F87XX, PIC18FXXXX. CAP. 3

ANEXOS:
SISTEMAS MICROPROCESADOS I

Вам также может понравиться