Practica 4 Interrupcion Microprocesadores
Practica 4 Interrupcion Microprocesadores
Practica 4 Interrupcion Microprocesadores
NACIONAL
Escuela Superior de Ingeniería Mecánica y
Eléctrica “ESIME”
MICROPROCESADORES
PRACTICA 4. INTERRUPCION
Programar una interrupción de forma automática con el PIC 18F4550 , asiéndolo visible al
apretar un push botón conectado a un DIODO LED
Introducción:
Una interrupción es un evento que hace que el microcontrolador deje de ejecutar la tarea
que está realizando para atender dicho acontecimiento y luego regrese y continue la tarea
que estaba realizando antes de que se presentara la interrupción. El pic 16F628 (y el
16F628A) tiene 10 fuentes de interrupción, si las interrupciones están habilitadas cada vez
que una de estos acontecimientos se presente el pic dejará de ejecutar el programa para ir
a atender la interrupción y al termino de la misma continuará ejecutando el programa donde
lo había dejado. Las fuentes de interrupción son:
Código:
;***************************************************************************************************
; This file is a basictemplateforassemblycodefor a PIC18F4550. Copy *
; this file intoyourprojectdirectory and modifyoradd to it as needed. *
; *
; The PIC18FXXXX architectureallowstwointerruptconfigurations. This *
; templatecodeiswrittenforpriorityinterruptlevels and the IPEN bit *
; inthe RCON registermust be set to enableprioritylevels. If IPEN is *
; left in its default zerostate, onlytheinterrupt vector at 0x008 will *
; beused and the WREG_TEMP, BSR_TEMP and STATUS_TEMP variables willnot *
; beneeded. *
; *
; Refer to the MPASM User'sGuideforadditionalinformationonthe *
; features of theassembler. *
; *
; Refer to the PIC18FXX50/XX55 Data Sheetforadditional *
; informationonthearchitecture and instruction set. *
; *
;***************************************************************************************************
; *
; Filename: PlantillaASM *
; Date: 12/01/11 *
; File Version: 1.0 *
; *
; Author: Ing. Alejandro Vicente Lugo Silva *
; Company: Acad. Computación ICE - ESIME Zac. *
; *
;***************************************************************************************************
; *
; Files required: P18F4550.INC *
; *
;***************************************************************************************************
;***************************************************************************************************
;Configuration bits
;***************************************************************************************************
;Reset vector
; Thiscodewillstartexecutingwhen a resetoccurs.
RESET_VECTOR ORG 0
;***************************************************************************************************
;***************************************************************************************************
;Start of mainprogram
; Themainprogramcodeis placed here.
ORG 0x1000
Main ; *** maincodegoeshere **
callconfigptos
call configtimer0
consulta:
btfsc INTCON,TMR0IF
callnuevoretardo
goto consulta
; end of main
;***************************************************************************************************
; Start of subrutines
;***************************************************************************************************
configptos ;sunrutina
movlw 0x0F
movwf ADCON1
clrf TRISA
movlw 0x55
movwf LATA
return
configtimer0 ;subrutins
bcf INTCON,TMR0IF
movlw 0x48
movwf TMR0H
movlw 0xE5
movwf TMR0L
movlw 0x87
movwf T0CON
return
nuevoretardo ;reinici
bcf INTCON,TMR0IF
movlw 0x48
movwf TMR0H
movlw 0xE5
movwf TMR0L
comf LATA
return
;***************************************************************************************************
;End of program
END
Conclusion:
El código de este programa fue mas fácil debido a los conceptos teóricos ya aprendidos,
solo se dificulto en la parte del circuito debido al tipo de tarjeta que estábamos utilizando
no tenía la salida correspondiente y se tuvo que buscar las salidas entre las “rd”