0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
52 visualizzazioni3 pagine
Este documento explica las interrupciones del microcontrolador PIC18F. Brevemente, cuando ocurre una interrupción de alta prioridad, el PC toma el valor 0x0008 y ejecuta la instrucción almacenada allí. Si es de baja prioridad, toma el valor 0x0018. El PIC18F4550 tiene 21 fuentes de interrupción divididas en generales y de periféricos. La prioridad de cada interrupción se asigna individualmente configurando los bits xxIP de los registros de control. La latencia de una interrupción es el retardo mínimo de 8
Este documento explica las interrupciones del microcontrolador PIC18F. Brevemente, cuando ocurre una interrupción de alta prioridad, el PC toma el valor 0x0008 y ejecuta la instrucción almacenada allí. Si es de baja prioridad, toma el valor 0x0018. El PIC18F4550 tiene 21 fuentes de interrupción divididas en generales y de periféricos. La prioridad de cada interrupción se asigna individualmente configurando los bits xxIP de los registros de control. La latencia de una interrupción es el retardo mínimo de 8
Este documento explica las interrupciones del microcontrolador PIC18F. Brevemente, cuando ocurre una interrupción de alta prioridad, el PC toma el valor 0x0008 y ejecuta la instrucción almacenada allí. Si es de baja prioridad, toma el valor 0x0018. El PIC18F4550 tiene 21 fuentes de interrupción divididas en generales y de periféricos. La prioridad de cada interrupción se asigna individualmente configurando los bits xxIP de los registros de control. La latencia de una interrupción es el retardo mínimo de 8
Preguntas Interrupciones del microcontrolador PIC18F
Interrupciones del microcontrolador
Por:
Gerson Hernández Olave
Facultad de Ingeniería Mecatrónica
División de Ingenierías y Arquitectura Universidad Santo Tomás Bucaramanga, 26 de agosto de 2019 Preguntas Interrupciones del microcontrolador PIC18F
Preguntas Interrupciones del microcontrolador PIC18F
Explique qué ocurre con el valor apuntado por el PC en un evento de
interrupción. Cada vez que ocurre un evento de interrupción, si este ha sido configurado como alta prioridad, el PC tomará el valor de 0x0008 y ejecutará la instrucción ahí almacenada. Si la interrupción es de baja prioridad, entonces el PC tomará el valor 0x0018 y ejecutará la instrucción almacenada en esta dirección (previamente, el valor anterior a la interrupción del PC será almacenado en la pila). 2. ¿Qué entiende por prioridad de una interrupción? Acción o salto en el programa que debe hacer el pic cuando ocurre un evento el cual necesita atención inmediata, depende de la prioridad de la interrupción se ejecutara la de mayor nivel en caso de coincidir con otra de menor nivel de prioridad. Si ambas son del mismo nivel de prioridad y coinciden, se ejecutará la primera en línea del programa. 3. ¿Cuántas prioridades maneja el PIC18F? El PIC18F4550 cuenta con 21 fuentes de interrupción, las cuales se dividen en interrupciones generales e interrupciones de periféricos. Preguntas Interrupciones del microcontrolador PIC18F
4. ¿Cómo se asignan las prioridades a una interrupción específica?
El bit IPEN del registro RCON permite habilitar los modos de alta y baja prioridad. Una vez que se han habilitado las máscaras de prioridades globales, se debe asignar individualmente la prioridad de cada interrupción. Si el bit TMR0IP se pone a nivel ‘0’, la interrupción del TMR0 se configura en baja prioridad, mientras que si se pone en nivel ‘1’ se configura en alta prioridad. Lo mismo aplica para el bit RBIP y para todos los demás bits xxIP (IP proviene del inglés Interrupt Priority) de los otros registros de control de interrupción implicados. 5. ¿Qué significado tiene la latencia de una interrupción? La latencia de una interrupción corresponde a los retardos inherentes que no pueden ser obviados por el programador. El retardo mínimo está formado por 3 ciclos de instrucción en el acceso al vector, luego, 2 ciclos por el salto a la rutina de interrupción y al menos tres ciclos de instrucción para borrar la bandera y salir de la rutina de servicio. Esto suma una latencia de 8 ciclos de instrucción.