El Bit GIE Habilita

download El Bit GIE Habilita

of 6

Transcript of El Bit GIE Habilita

El bit GIE habilita/deshabilita simultneamente las interrupciones no enmascaradas.El PEIE habilita/deshabilita las interrupciones no enmascaradas de perifricos. Esto no se refiere al temporizador Timer0 y a las fuentes de interrupcin del puerto PORTB.Para habilitar una interrupcin causada por el cambio del estado lgico en el puerto PORTB, es necesario habilitarla para cada bit por separado. En este caso, los bits del registro IOCB se comportan como los bits IE de control.

Sistema de interrupcin del microcontrolador PIC16F887Registro INTCONEl registro OPTION_REG contiene varios bits de control para configurar el pre - escalador del Timer0/WDT, el temporizador Timer0, la interrupcin externa y las resistencias pull-up en el puerto PORTB.

Leyenda: R/W - Bit de lectura/escritura, (0) Despus del reinicio, el bit se pone a cero,(X) - Despus del reinicio, el estado de bit es desconocido GIE - Global Interrupt Enable bit(bit de habilitacin de interrupciones globales) controla simultneamente todas las fuentes de interrupciones posibles. 1- Habilita las interrupciones no enmascaradas. 0- Deshabilita las interrupciones no enmascaradas. PEIE - Peripheral Interrupt Enable bit(bit de habilitacin de interrupciones perifricas) es similar al bit GIE, sin embargo controla interrupciones habilitadas por los perifricos. Eso significa que no influye en interrupciones causadas por el temporizador Timer0 o por el cambio del estado en el puerto PORTB o por el cambio en el pin RB0/INT. 1-Habilita las interrupciones perifricas no enmascaradas. 0-Deshabilita las interrupciones perifricas no enmascaradas T0IE - TMR0 Overflow Interrupt Enable bit(bit de habilitacin de interrupciones por el desbordamiento del registro Timer0) controla interrupciones causadas por el desbordamiento del Timer0. 1- Habilita interrupciones por Timer0 0- Deshabilita interrupciones por Timer0 INTE - RB0/INT External Interrupt Enable bit(bit de habilitacin de la interrupcin externa en RB0) controla interrupciones causadas por el cambio del estado lgico en el pin de entrada RB0/INT (interrupcin externa). 1- Habilita interrupciones externas INT 0- Deshabilita interrupciones externas INT RBIE - RB Port Change Interrupt Enable bit. (bit de habilitacin de interrupciones por cambios en el puerto PORTB). Cuando se configuran como entradas, los pines en el puerto PORTB pueden causar una interrupcin al cambiar el estado lgico (no importa si se produce bajada o subida de tensin, lo que importa es que se produce un cambio). Este bit determina si una interrupcin va a ocurrir. 1- Habilita interrupciones por cambio en el puerto PORTB 0- Deshabilita interrupciones por cambio en el puerto PORTB T0IF - TMR0 Overflow Interrupt Flag bit(bit de bandera de interrupcin por el desbordamiento del Timer0) detecta el desbordamiento en el registro del temporizador Timer0, o sea el contador se pone a cero. 1- En el registro TMR0 ha ocurrido desbordamiento (esta bandera debe volverse a 0 por software) 0- En el registro TMR0 no ha ocurrido desbordamiento INTF - RB0/INT External Interrupt Flag bit(bit de bandera de interrupcin externa en INT) detecta el cambio en el estado lgico en el pin INT. 1- Ha ocurrido una interrupcin externa por INT (esta bandera debe volverse a 0 por software) 0- No ha ocurrido una interrupcin externa por INT RBIF - RB Port Change Interrupt Flag bit(bit de bandera de interrupcin por cambio en el puerto RB) detecta cualquier cambio del estado lgico de alguno de los pines de entrada en el puerto PORTB. 1- Al menos uno de los pines de E/S de propsito general en el puerto PORTB ha cambido de valor. Despus de leer el puerto PORTB, el bit RBIFdebe volverse a 0 por software) 0- Ninguno de los pines de E/S de propsito general en el puerto PORTB ha cambiado de valor.Vamos a hacerlo en mikroBasic...' El pin PORTB.4 se configura como una entrada sensible al cambio del estado lgico. ANSEL, ANSELH = 0 ' Todos los pines de E/S se configuran como digitalesPORTB = 0 ' Todos los pines del puerto PORTB se ponen a ceroTRISB = %00010000 ' Todos los pines del puerto PORTB menos PORTB.4 ' se configuran como salidasINTCON.RBIE = 1 ' Se habilitan las interrupciones por el cambio en el puerto PORTBIOCB.IOCB4 = 1 ' Se habilita la interrupcin por el cambio en el pin 4 en el puerto PORTBINTCON.GIE = 1 ' Se habilita la interrupcin global......'Desde este punto, se produce una interrupcin con cualquier cambio del estado lgico en el pin 'PORTB.PIE1 RegisterEl registro PIE1 contiene los bits de habilitacin de interrupciones perifricas.

Leyenda: (-) Bit no implementado, (R/W) - Bit de lectura/escritura, (0) Despus del reinicio, el bit se pone a cero ADIE - A/D Converter Interrupt Enable bit(bit de habilitacin de interrupciones del convertidor A/D) 1- Habilita la interrupcin ADC. 0- Deshabilita la interrupcin ADC. RCIE - EUSART Receive Interrupt Enable bit(bit de habilitacin de interrupciones de recepcin del EUSART) 1- Habilita la interrupcin de recepcin del EUSART. 0- Deshabilita la interrupcin de recepcin del EUSART. TXIE - EUSART Transmit Interrupt Enable bit(bit de habilitacin de interrupciones de transmisin del EUSART) 1- Habilita la interrupcin de transmisin del EUSART. 0- Deshabilita la interrupcin de transmisin del EUSART. SSPIE - Master Synchronous Serial Port (MSSP) Interrupt Enable bit(bit de habilitacin de la interrupcin del puerto serie sncrono maestro (MSSP) habilita generar una peticin de interrupcin despus de cada transmisin de datos por el mdulo de comunicacin serie sncrona (modo SPI o I2C). 1- Habilita la interrupcin del MSSP. 0- Deshabilita la interrupcin del MSSP. CCP1IE - CCP1 Interrupt Enable bitbit de habilitacin de la interrupcin del mdulo 1 de Comparacin/Captura/PWM - CCP1) permite generar una peticin de interrupcin en el mdulo CCP1 utilizado para procesamiento de la seal PWM. 1- Habilita la interrupcin CCP1. 0- Deshabilita la interrupcin CCP1. TMR2IE - TMR2 to PR2 Match Interrupt Enable bit(bit de habilitacin de la interrupcin de igualdad entre TMR2 y PR2) 1- Habilita la interrupcin de igualdad entre TMR2 y PR2 0- Deshabilita la interrupcin de igualdad entre TMR2 y PR2 TMR1IE - TMR1 Overflow Interrupt Enable bit(bit de habilitacin de la interrupcin de desbordamiento del temporizador Timer1) habilita generar una peticin de interrupcin despus de cada desbordamiento en el registro del temporizador Timer1, o sea el contador se pone a cero. 1- Habilita la interrupcin por desbordamiento en el registro TMR1. 0- Deshabilita la interrupcin por desbordamiento en el registro TMR1.Vamos a hacerlo en mikroBasic...' El comparador C2 se configura para utilizar los pines RA0 y RA2 como entradas. Al producirse ' un cambio en la salida del comparador, el pin de salida PORTB.1 cambia el estado lgico en ' la rutina de interrupcin.

dim unsigned short cnt ' Definir la variable cntsub procedure interrupt ' Inicio de la rutina de interrupcincnt = cnt + 1 ' Al producirse una interrupcin, la cnt se incrementa por 1 PIR1.TMR1IF = 0 ' El bit TMR1IF se reinicia TMR1H = 0x80 ' A los registros del temporizador TMR1H y TMR1L se les TMR1L = 0x00 ' devuelven sus valores inicialesend sub

main: ANSEL, ANSELH = 0 ' Todos los pines de E/S se configuran como digitales T1CON = 1 ' Encender el temporizador Timer1 PIR1.TMR1IF = 0 ' El bit TMR1IF se pone a cero TMR1H = 0x80 ' Establecer los valores iniciales para el temporizador Timer1 TMR1L = 0x00 PIE1.TMR1IE = 1 ' Habilitar la interrupcin al producirse un ' desbordamiento en el Timer1

cnt = 0 ' Reiniciar la variable cnt INTCON = 0xC0 ' Habilitar la interrupcin (los bits GIE y PEIE) ...Registro PIE2El registro PIE2 tambin contiene varios bits de habilitacin de interrupciones.

Leyenda: (-) Bit no implementado, (R/W) - Bit de lectura/escritura, (0) Despus del reinicio, el bit se pone a cero OSFIE - Oscillator Fail Interrupt Enable bit(bit de habilitacin de la interrupcin de fallo en el oscilador) 1- Habilita la interrupcin de fallo en el oscilador. 0- Deshabilita la interrupcin de fallo en el oscilador. C2IE - Comparator C2 Interrupt Enable bit(bit de habilitacin de la interrupcin del comparador C2) 1- Habilita la interrupcin del comparador C2. 0- Deshabilita la interrupcin del comparador C2. C1IE - Comparator C1 Interrupt Enable bit(bit de habilitacin de la interupcin del comparador C1) 1- Habilita la interrupcin del comparador C1. 0- Deshabilita la interrupcin del comparador C1. EEIE - EEPROM Write Operation Interrupt Enable bit(bit de habilitacin de la interrupcin de escritura en la memoria EEPROM) 1- Habilita la interrupcin de escritura en la memoria EEPROM. 0- Deshabilita la interrupcin de escritura en la memoria EEPROM. BCLIE - Bus Collision Interrupt Enable bit(bit de habilitacin de la interrupcin de colisin de bus) 1- Habilita la interrupcin de colisin de bus. 0- Deshabilita la interrupcin de colisin de bus. ULPWUIE - Ultra Low-Power Wake-up Interrupt Enable bit(bit de habilitacin de la interrupcin para salir del modo de ultra bajo consumo - la reactivacin) 1- Habilita la interrupcin para salir del modo de ultra bajo consumo. 0- Deshabilita la interrupcin para salir del modo de ultra bajo consumo. CCP2IE - CCP2 Interrupt Enable bit(bit de habilitacin de la interrupcin del mdulo 2 de Comparacin/Captura/PWM (CCP2) 1- Habilita la interrupcin del CCP2. 0- Deshabilita la interrupcin del CCP2.Vamos a hacerlo en mikroBasic...' El comparador C2 se configura para utilizar los pines RA0 y RA2 como entradas. Al producirse' un cambio en la salida del comparador, el pin de salida PORTB.1 cambia el estado lgico en ' la rutina de interrupcin.

sub procedure interrupt ' Inicio de la rutina de interrupcinPORTB.F1 = not PORTB.F1 ' La interrupcin invertir el estado lgico del ' pin PORTB.1PIR2.C2IF = 0 ' Bit de bandera de interrupcin C2IF se pone a cero ' Final de la rutina de interrupcin end sub ' Todos los pines del puerto PORTB se configuran main:TRISB = 0 ' Bit de bandera de interrupcin C2IF se pone a cero ' como salidasPORTB.1 = 1 ' El pin PORTB.1 se pone a unoANSEL = %00000101 ' Los pines RA0/C12IN0- y RA2/C2IN+ son las ' entradas analgicas ANSELH = 0 ' Todos los pines de E/S se configuran como digitalesCM2CON0.C2CH0 = 0 ' El pin RA0 se selecciona para ser una entrada ' invertida del C2CM2CON0.C2CH1 = 0PIE2.C2IE = 1 ' Habilita la interrupcin del comparador C2INTCON.GIE = 1 ' Interrupcin global est habilitadaCM2CON0.C2ON = 1 ' Comparador C2 est habilitado......