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

Laboratorio de Microcontroladores

F.I.M.E.E.

UNIVERSIDAD DE GUANAJUATO F. I. M. E. E.

Laboratorio de Microcontroladores
Prctica de Laboratorio No. 2: Manejo de interrupcin externa

Gustavo Cerda Villafaa, Sergio Ledesma Orozco, Miguel Torres Cisneros

Laboratorio de Microcontroladores

F.I.M.E.E.

Prctica de Laboratorio No. 2


MANEJO DE INTERRUPCIN EXTERNA Objetivo:
Programar el microcontrolador para que acepte una interrupcin externa analizando el uso de la pila.

Componentes:
1 8 8 1 1 1 1 2 Microcontrolador PIC 16f873 o 16F877 LEDS resistores de 220 resistor menor a 40K resistor mayor a 1K capacitor electroltico de cualquier valor cristal 4MHz Capacitores cermicos 15-68pF

Equipo:
1 1 1 1 Fuente de +5V Punta lgica Multmetro Plantilla

1.1 Introduccin.
El microcontrolador PIC16F87X tiene un mximo de 15 interrupciones. Las interrupciones son llamadas asncronas a subrutinas que desvan el flujo del control del programa. Pueden ser externas como el cambio de estado de un pin de entrada o internas como el desbordamiento de un temporizador. Al ejecutarse una interrupcin se detiene la ejecucin del programa en curso, se guarda la direccin actual del contador de programa en la pila y se carga el contador con la direccin reservada 0004H, donde comienza la rutina de servicio a la interrupcin (RSI). La interrupcin que se utilizar en esta prctica es una externa a travs del pin 0 del puerto B. Consulte en la hoja de datos del PIC la configuracin de las interrupciones mediante el registro INTCON.

1.2 Desarrollo. A. Se programa el PIC con el siguiente cdigo en ensamblador (en caso de duda de cmo hacerlo consulte la Prctica No. 1)
; Programa interrupcin por pin 0 de puerto B LIST P = 16f873 #include <p16f873.inc> AUX1 AUX2 AUX3 AUX4 goto EQU EQU EQU EQU startup 0x20 0x21 0x22 0x23 ; Va al inicio del programa

; Archivo que define configuraciones, ; registros, etc. para el PIC 16F873

Gustavo Cerda Villafaa, Sergio Ledesma Orozco, Miguel Torres Cisneros

Laboratorio de Microcontroladores

F.I.M.E.E.

ORG goto startup movlw movwf bsf clrf movlw movwf bcf ciclo btfsc clrf incf movf movwf call goto

0X04 inter

; Define la sig. lnea en la direccin 0004H ; Va a inter despus de una interrupcin

0x90 INTCON STATUS,RP0 TRISC 0xFF TRISB STATUS,RP0

; Habilita la interrupcin del pin RB0 ; Establece a 1 el bit 5 ; Puerto C como salidas ; Puerto B como entradas ; Establece a 1 el bit 5

PORTB,1 AUX1 AUX1,1 AUX1,W PORTC retardo ciclo

; Si bit 1 = 1 entonces resetea el contador ; Incrementa el contador ; W <= AUX1 ; W => PORTC. El valor de W sale por las lneas ; de Puerto C a los LEDs ; Llama subrutina de retardo ; Se salta a la instruccin precedida por la ; etiqueta ciclo

;********* SUBRUTINA DE INTERRUPCIN ******************* inter movlw 0x0A movwf AUX4 iciclo decfsz AUX4,F goto twinkle bcf INTCON,1 ; Limpia la bandera de interrupcin externa retfie ; Esta instruccin regresa la ltima direccin ; de la pila al contador de programa twinkle movlw 0xFF ; Esta subrutina hace que los LEDs conectados movwf PORTC ; al puerto C prendan y apaguen 10 veces call retardo clrf PORTC call retardo goto iciclo ;********* SUBRUTINA DE RETARDO ************************ ;Esta rutina se utiliza como un divisor de frecuencia retardo movlw 0xff movwf AUX2 one call retardo2 decfsz AUX2,1 goto one return retardo2 movlw movwf 0xff AUX3

Gustavo Cerda Villafaa, Sergio Ledesma Orozco, Miguel Torres Cisneros

Laboratorio de Microcontroladores

F.I.M.E.E.

two decfsz goto return END AUX3,1 two

B. Ya que se haya programado el PIC, este se coloca en la plantilla de trabajo y se conectar de acuerdo con el
siguiente diagrama que es para el PIC16F873. Si utiliza el PIC16F877 cambie los pines de acuerdo al diagrama correspondiente en la hoja de datos. Tenga cuidado al manejar el PIC de no daarlo con electricidad esttica (utilizar pinzas para su manejo). El voltaje que se utilizar es de 5V para VDD y 0V para VSS.
DD

R1 C1

R2
1 2 3 4 5 6 28 27 26 25 24 23 22 21 20 19 18 17 16 15

C2 XTAL

7 8 9 10

11 12 13 14

C3

Los valores para los componentes descritos en la figura se dan en la siguiente tabla: Smbolo VDD R1 R2 C1 C2 C3 Valor Min 5V 1K ND 15pF 15pF Valor Max 5V 40K ND 68pF 68pF

Las resistencias R1, R2 y el capacitor C1 son recomendados por el fabricante para evitar que voltajes fuera de rango lleven el dispositivo a reinicios o consumos de energa ms all de los especificados para el dispositivo.

1.3 Ejercicios
1. Determine en que flanco se realiza la interrupcin es de 0 a 1 o de 1 a 0? Consulte en la hoja de datos el registro OPTION y modifique su cdigo para que la interrupcin se lleve a cabo en el flanco contrario al que se realiza por default. Reporte el cdigo necesario para realizar este cambio. 2. Exprese con sus propias palabras el funcionamiento del bit 1 del registro INTCON Cul ser su utilidad? 3. Enumere al menos otras 5 interrupciones con que cuenta el PIC16F87X.

Gustavo Cerda Villafaa, Sergio Ledesma Orozco, Miguel Torres Cisneros

PUERTO C

SALIDAS

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