Vous êtes sur la page 1sur 14

UNIVERSIDAD POLITÉCNICA

SALESIANA

INGENIERÍA ELECTRÓNICA
SISTEMAS MICROPROCESADOS

TEMA: TEMPORIZADORES

INFORME Nº 3

INTEGRANTES: ERIKA ABRIL

VINICIO DAVILA

REMIN ZAMBRANO

1
OBJETIVO:

• Utilizar temporizadores con el microcontrolador pic.

• EJERCICIO 1:

Utilizar el temporizador para elaborar un contador de 1 segundo, cuyo valor se observa


en un display de 7 segmentos.

CÓDIGO DEL PROGRAMA:

program timerinterno

dim a as byte

a=0

trisa=$FF

trisb=$0

option_reg=%10000111

Intcon=$0

TMR0=155

portb=$0

lazo:

if tmr0=255 then

inc(a)

if a=38 then

inc(portb)

2
end if

end if

goto lazo

end.

ALGORITMO:

Entradas:

Datos que ingresan al microcontrolador pic.

Salidas:

Datos que se mostrarán en el display.

Procesos:

1. Definir el puerto b como entrada de datos (trisb=$0).

2. Almacenar en el puerto a el dato de activación del contador en el circuito


(trisa=$ff).

3. Configurar el registro según la operación a realizarse (option_reg).

4. Controlar el lazo de funcionamiento del programa para que el timer sea


ascendente y cuente desde 0 a 255.

5. Mostrar los datos que ingresaran al microcontrolador pic en el display.

3
DIAGRAMA DE FLUJO:

Configuración de registros
y variables

NO

SI

4
EJERCICIO 2:

Elabore un programa que realice las operaciones del numeral 1, pero con TMR0=96,
TMR0=155.

CODIGO DEL PROGRAMA:

program temporizadordos

dim a as byte

a=0

trisa=$FF

trisb=$0

option_reg=%10000111

Intcon=$0

TMR0=155

portb=$0

lazo:

if tmr0=255 then

inc(a)

if a=38 then

inc(portb)

end if

end if

goto lazo

end.

5
DIAGRAMA DE FLUJO:

Configuración de
registros y variables

6
EJERCICIO 3:

Elabore un programa que utilice el timer en modo contador externo, y visualice el


incremento en un display de 7 segmentos.

CODIGO DEL PROGRAMA:

program timerexterno

main:

trisa=$ff

trisb=$0

option_reg=%10100010

intcon=$0

tmr0=0

lazo:

portb=tmr0

goto lazo

end.

ALGORITMO:

Entradas:

Datos que ingresan al microcontrolador pic.

Salidas:

Datos que se mostrarán en el display.

Procesos:

1. Definir el puerto b como entrada de datos (trisb=$0).

7
2. Almacenar en el puerto a el dato de activación del contador en el circuito
(trisa=$ff).

3. Configurar el registro según la operación a realizarse (option_reg).

4. Controlar el lazo de funcionamiento del programa para que el timer sea


ascendente y cuente desde 0 a 255.

5. Mostrar los datos que ingresaran al microcontrolador pic en el display.

8
DIAGRAMA DE FLUJO:

9
EJERCICIO 4:

Mediante un microcontrolador pic de la familia 12fxx, 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 tres focos de 110 voltios
(verde, amarrillo, rojo) optoacopladores y triacs.

CODIGO DEL PROGRAMA:

program semaforo1

main:

trisb.0=0

trisb.1=0

trisb.2=0

portb.0=0

portb.1=0

portb.2=0

inicio:

portb.0=1

portb.1=0

portb.2=0

delay_ms(20000)

delay_ms(10000)

portb.0=1

portb.1=1

portb.2=0

10
delay_ms(10000)

portb.0=0

portb.1=0

portb.2=1

delay_ms(20000)

goto inicio

end.

ALGORITMO:

Entradas:

Datos que ingresan al microcontrolador pic.

Salidas:

Datos que se mostrarán en la secuencia de focos.

Procesos:

1. Habilitar el puerto b como entrada de datos (trisb=$0).

2. Configurar en el puerto b para poder ver los datos ingresados (port.0=0,


portb.1=0, portb.2=0).

3. Programar las salidas de los puertos según el ejercicio propuesto.

4. Controlar los tiempos de espera entre encendido y apagado de los focos,


mediante retardos.

5. Mostrar los datos que ingresaran al microcontrolador pic en la secuencia de los


focos.

6. Regresar al lazo.

11
DIAGRAMA DE FLUJO:

12
ANEXOS:

Fig1: Timer interno

Fig2: timer externo

13
Fig3: semáforo Fig4: semaforo

14

Vous aimerez peut-être aussi