0% encontró este documento útil (0 votos)
231 vistas14 páginas

Informe Interrupciones

Este informe de laboratorio describe 4 ejercicios realizados sobre interrupciones usando un microcontrolador PIC16F877A. El primer ejercicio usa interrupciones externas para mostrar un valor en un LCD. El segundo usa interrupciones de temporizador para mostrar "UPS QUITO". El tercero genera una onda cuadrada usando interrupciones de temporizador 1. El cuarto ejercicio realiza un conteo del temporizador interno y lo muestra en el LCD.

Cargado por

Agnelius
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
231 vistas14 páginas

Informe Interrupciones

Este informe de laboratorio describe 4 ejercicios realizados sobre interrupciones usando un microcontrolador PIC16F877A. El primer ejercicio usa interrupciones externas para mostrar un valor en un LCD. El segundo usa interrupciones de temporizador para mostrar "UPS QUITO". El tercero genera una onda cuadrada usando interrupciones de temporizador 1. El cuarto ejercicio realiza un conteo del temporizador interno y lo muestra en el LCD.

Cargado por

Agnelius
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

Universidad Politécnica Salesiana

Ingeniería Electrónica
Sistemas Microprocesados

INFORME DE LABORATORIO VII

INTERRUPCIONES

Integrantes:

 Juan Villacís S.

 Gabriela Chicaiza

 Darío Valarezo

Ing. Luis Oñate


Periodo

Sept./2009-feb/2010
Tema: Interrupciones

Objetivo: elaborar programas para comprender el uso de interrupciones

Desarrollo de las Prácticas del laboratorio de Sistemas Microprocesador.

Ejercicio 1

Uso de interrupciones externa cero

Desarrollo del ejercicio

Determinar:

Entradas:

Señal de 0-5 v

Salidas:

Visulizar en lcd y Visualizar en led`s

Procesos:

o entrada de señal
o definó mis variables
o habilitacion de puerto B como entrada
o habilito mis Interrupciones
o Habilita interrupcion Externa
o Bandera L=0
o Verifica interupcion
o Ejecuta mi progrma
o Llama interupcion va al programa lo ejecuta
o Repite la interrupcion
o Despliega en el LCD
 Diagrama de Flujo
Puerto B Entrada
Inicio

Habilito interrupción
Defino mis variables, L, A, valor Flanco descendente

Sub procudere init Habilito Interrupciones y


interrupción externa

Sub procedure
Bandera L=0
interrupt

PortD =inc (B)


Inicio lazo

Intcon .INTF=0
Byte TOSTR(A, Valor)

A=A+1
Lcd_cmd(lcd_clear

Despliego el valor
en el LCD

Retardo

 Codificación:

program interuppciones
dim L as byte
dim A,B as byte
dim valor as string[6]
sub procedure init
trisc=$0
trisd=%0
trisb=$FF
option_reg=%10000000
intcon=%10010000
L=0
A=0
B=0
lcd_config(portc,7,6,5,4,portc,0,1,2)
lcd_cmd(lcd_cursor_off)
end sub
sub procedure interrup
portd=inc(B)
intcon.intf=0
A=A+1
end sub
main:
init
LOOP:
bytetostr(A,valor)
lcd_cmd(lcd_clear)
Lcd_out(1,1,valor)
delay_ms(500)
goto loop
end.
 Esquemático

 Simulación
2.- Interrupción Temporizadores.

Desarrollo del ejercicio


Determinar:
Entradas:
Señal de 0-5 v
Salidas:
Datos en el LCD “UPS QUITO”.
Procesos:

o entrada de señal
o defino mis variables
o habilitacion TODAS LAS Interrupciones.flaco descendente.
o Defino mi prescaler en 1:16
o Habilita mi interrupcion Timer 0
o Bandera L=0
o Se presenta interrupcion llama mi sub procesa
o Despliego en LCD “USP QUITO”
Restardo
 Diagrama de Flujo
Puerto B Entrada
Inicio

Habilito interrupción
Defino mis variables, L, A, valor TImer 0

Sub procudere init Habilito Interrupciones y


interrupción externa

Sub procedure
Bandera L=0
interrupt

INTCON=0
Inicio lazo

Limpio LCd L=0 TMR0=92

Salida UPS QUito Portb.0=0


Portb.0=1
Retardo L=1
L=0
TMR0=92

 Codificación:
program interuppciones_1
dim L as byte
dim A,B as byte
dim valor as string[6]
sub procedure init
TrisC=$0
TrisD=$0
TrisB=$ff
Option_Reg=%10000011
intcon=%10100000
L=0
TMR0=92
A=0
B=0
Lcd_config(portc,7,6,5,4,portc,0,1,2)'congigura al Lcd
lcd_cmd(Lcd_cursor_off)
end sub
sub procedure interrupt
INTCON.t0if=0
if L=0 then
tmr0=92
portb.0=0
L=1
else
portb.0=1
L=0
tmr0=92
end if
end sub
main:
init
Loop:
lcd_cmd(Lcd_clear)
Lcd_out(1,1,"Ups Quito")
delay_ms(500)
goto loop
end.
 Esquemático

 Simulación

Simulación laboratorio Sistemas Microprocesados.

Ejercicio 3.-

Mediante el uso de la interrupción del timer 1 realizar un generador de onda cuadrada


de periodo 1ms

Determinar:

Entradas:

señal de entrada

Salidas:

señal cuadrada osciloscopio

Procesos: Muestro mi señal de entrada


Defino mis variables

Habilito mi interrupcion TMR1

Bandera L=0

Configuro mi LCd

Verifico la bandera si L=0 o L=1

Verifico mi interrupción

Despliego en el Lcd en Valor

Retardo

 Diagrama de Flujo
Puerto B Entrada
Inicio

Habilito interrupción
Defino mis variables, L, A, valor TImer 1

Sub procudere init Habilito Interrupciones y


interrupción externa

Sub procedure
Bandera L=0
interrupt

INTCON=0
Inicio lazo

Limpio LCd L=0 TMR0=92

Salida UPS QUito Portb.0=0


Portb.0=1
Retardo L=1
L=0

TMR0=92
Codificación:

 Esquemático
 Simulación

Ejercicio 4.-

Conteo del Timer en un periodo de tiempo.

Determinar:

Entradas:

Señal de Entrada

Salidas:

Visualiza conteo LCD.

Procesos:

Defino mis variables

Habilito mi interrupcion

Bandera L=0

Configuro mi LCd

Verifico la bandera si L=0 o L=1

Conteo de mi timer Interno en Binario

Despliego datos LCD


Verifico mi interrupción

Despliego en el Lcd en Valor

Retardo

Diagrama de Flujo

Inicio Puerto B Entrada

Habilito interrupción
Defino mis variables, L, A, valor Flanco A.

Sub procudere init Habilito Interrupciones y


interrupción externa

Sub procedure
Bandera L=0
interrupt

INTCON=0
Inicio lazo

Limpio LCD conteo L=0 TMR0=92

Retardo Portb.0=0
Portb.0=1

L=1
L=0

TMR0=92
Codificación:

program interuppciones_4
dim L as byte
dim A,B as byte
dim valor as string[6]
sub procedure init
TrisC=$0
TrisD=$0
TrisB=$ff
Option_Reg=%10000000
intcon=%10010000
L=0
A=0
B=0
Lcd_config(portc,7,6,5,4,portc,0,1,2)'congigura al Lcd
lcd_cmd(Lcd_cursor_off)
end sub
sub procedure interrupt
PortD= inc(B)
intcon.intf=0
if L=0 then
TMR0=0
L=1
ELSE
L=0
A=TMR0
END IF
end sub
main:
init
Loop:
byteTostr(A,valor)
lcd_cmd(Lcd_clear)
Lcd_out(1,1,valor)
delay_ms(500)

goto loop
end.
 Esquemático

 Simulación

Que cambios de debe realizar para observar la frecuencia en el LCD


Solo se debe configurar bien el Puerto.
Conclusiones:

Tener en cuenta que interrupción va hacer utilizada para la operación que


vamos a ejecutar al momento de llamarla en la ejecución del proyecto.
Tener en cuenta cuando se configura las interrupciones y las salidas a
ocuparse

Recomendaciones:

Ver. Data shett del pic 16f877A

También podría gustarte