Está en la página 1de 2

3.- Qu tiempo le toma al pic ejecutar una instruccin normal y una de salto? R.

- Le toma un ciclo cuando la instruccin es normal y 2 ciclos cuando la instruccin es de salto 4.- INTERRUPCIONES DEL PIC INTERRUPCION El PIC posee cuatro tipos de interrupciones: INTERRUPCION POR TOI.- Es la interrupcin producida por el desbordamiento del TIMER, para utilizar esta opcin los flags TOIE Y GIE del registro INTCON deben de encontrarse activados (en 1) , si le TMRO se desborda (pasa de FF -00) provocara una interrupcin activando el flag TOIF del registro INTCON, este flag debe de borrarse una vez ejecutada la subrutina de interrupcin para que el programa vuelva a la rutina principal. El TIMER es de mucha utilidad para realizar temporizaciones tanto exactas como largas, para conseguir este ltimo tipo de temporizaciones debe activar el divisor de frecuencia, esto se realiza en el registro OPTION asignando un 0 al flag PSA (asigna el divisor de frecuencia al TMRO), y adems se debe de definir el tipo de divisor de frecuencia en los flags PS2,PS1,PS0 segn la siguiente tabla: PS2 PS1 PS0 000 001 010 011 100 101 110 111 DIVISOR DEL TMRO 1:2 1:4 1:8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256

INTERRUPCION POR RBI.- Interrupcin por el cambio de nivel en los pines < RB4 : RB7 >; para habilitar esta interrupcin los flags GIE, RBIE del registro INTCON deben encontrarse en 1, al producirse un cambio de nivel en cualquiera de las cuatro lneas antes mencionadas activara el flag RBIF(pasara a un nivel lgico alto 1) del registro INTCON produciendo una interrupcin, para retornar a la rutina principal el flag RBIF debe borrarse por software. INTERRUPCION EXTERNA INT.- Interrupcin externa, nos es til para atender eventos externos en tiempo real, para habilitar esta interrupcin los flags GIE, INTE del registro INTCON deben de encontrarse en 1, uno puede elegir el si desea una interrupcin por flanco de ascendente o descendente a travs del flag INTEDG del registro OPTION : INTEDG = 0 Interrupcin por flanco descendente del pin RB0/INT. INTEDG = 1 Interrupcin por flanco ascendente del pin RB0/INT.

Despus de producirse la interrupcin el flag INTF tiene el valor de 1; el programa debe de borrar el flag INTF para volver a la rutina principal y no se encuentre el programa ejecutando la rutina de interrupcin continuamente. INTERRUPCION EEI.- Es la interrupcin por al finalizacin de la escritura en al EEPROM de datos, como en los casos anteriores los flags GIE, EEIE deben de encontrarse en 1 del registro INTCON; al producirse la interrupcin esta activara el flag EEIF del registro EECON1, luego de ejecutarse la rutina de interrupcin el flag EEIF debe borrarse por software, para que se ejecute normal mente la rutina principal. NOTA: En todos los casos anteriores despus de ejecutarse la subrutina de interrupcin el FLAG GIE debe volver a ser activado (puesto a 1) para poder volver atender a cualquier tipo de interrupcin, esto lo pueden lograr mediante la instruccin RETFIE que es idntica a la instruccin RETURN adems coloca automticamente a 1 el flag GIE.

También podría gustarte