Interrupciones mikrobasic
CARRERA
ELECTRÓNICA
SISTEMAS MICROPROCESADOS I
INFORME PARACTICA Nº8
INTERRUPCIONES
INTEGRANTES:
LUIS HERNADEZ
JUAN DAVID HERRERA
Tema: INTERRUPCIONESObjetivo: Elaborar programas para comprender el uso de interrupciones.
Ejercicio 1:
Uso de la interrupción externa cero.
Algoritmo:
Entradas:
* Datos ingresados al puerto B
Proceso:· Definir las variables
· Configurar los Puertos C y D como salida
· Inicializar el TMR0
· Habilitar las interrupciones por flanco descendente
· Habilitar las interrupciones y la interrupciónexterna
· Configurar LCD
Salida:
* Datos enviado del puerto C al Lcd y del puerto D a los leds
Código:
program INT0
dim L as byte
dim A,B as byte
dim valor as string[6]
sub procedureinit
trisc=$0
trisd=$0
trisb=$FF 'puertob como entradas
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
subprocedure interrupt
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.
Diagrama de Flujo:Esquemático:
Fotografías:
Ejercicio 2:
Interrupción temporizadores
Algoritmo:
Entradas:
Proceso:
· Definir variables
· Configurar TMR0
· Habilitar las interrupciones por flancodescendente
· Habilitar interrupciones del TMR0
· Configurar el LCD
Salida:
* Datos enviados del puerto C al Lcd donde se mostrara UPS QUITO y el pin RB0 el cual irá hacia un osciloscopio yobservaremos una onda cuadrada
Código:
program intimer
dim L as byte
Dim A,B as byte
dim valor as string[6]
sub procedure init
trisc=$0
trisd=$0
trisb=$0
option_reg=%10000011
intcon=%10100000L=0
TMR0=92
A=0
B=0
Lcd_config(portc,7,6,5,4, portc,0,1,2)
lcd_cmd(lcd_cursor_off)
end sub
sub procedure interrupt
intcon.INTF=0
if L=0 then
tmr0=92
portb.0=0
L=1
else
portb.0=1
L=0...
Regístrate para leer el documento completo.