Interrupciones Sin Usar - Motorola HC05 Manual Del Usuario

Iniciación a los microcontroladores de las familias de 8 bits
Tabla de contenido

Publicidad

El 'vector de reset' fue puesto para apuntar a la etiqueta START. El simulador en circuito que ofrece
Motorola, como herramienta de desarrollo económica, utiliza esta información para preparar la pantalla del
simulador. Cuando un programa es cargado en el simulador, el simulador busca la dirección en el 'vector de
reset' del programa cargado. Si encuentra una dirección, el simulador selecciona la instrucción del programa y la
muestra en la pantalla, en la ventana del programa fuente del simulador. El simulador también se pone en esta
dirección. Si hay no 'vector de reset', el simulador muestra un mensaje de advertencia y dice que el 'vector de
reset' no fue inicializado. Todavía se podría poner a punto el programa, pero no trabajaría si se ha programado
en una EPROM de una MCU, porque el programa no empezaría hasta que hubiera un 'reset'.

Interrupciones sin usar

Los vectores de interrupción se pueden definir como fueron definidos los 'vectores de reset' (con un
directiva FDB). En el programa de bucle regulador, la interrupción del temporizador se usa para las
interrupciones de tiempo real (RTI). La interrupción externa y la interrupción por software RTI no se usan.
Es una buena idea preparar los vectores de interrupción que no se van a usar, sólo en el caso de que una
de estas interrupciones se soliciten inesperadamente. Esto no quiere decir que pueden ocurrir interrupciones
inesperadas en el funcionamiento de un microcontrolador. Más bien, dice que cuando un programador está
empezando por primera vez, los errores de programación pueden producir fuentes de interrupción imprevistas
que se habilitan y se activan.
Este listado muestra cómo fueron preparados unos vectores de interrupción y de reset, en la estructura
del programa del bucle regulador.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RTIF Rutina de Servicio de Interrupción
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0345
3A E0
"
" "
"
" "
0351
80
0351
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Vectores de interrupción y de reset
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
07F8
07F8
03 45
07FA
03 51
07FC
03 51
07FE
03 00
Las primeras líneas en este listado parcial, muestra las primeras y las últimas líneas de la rutina del
servicio de interrupción del temporizador.
La siguiente línea, muestra la instrucción (RTI), retorno de la interrupción, con la etiqueta AnRTI.
0351
80
La siguiente línea iguala la etiqueta UNUSED a la dirección de la instrucción RTI en AnRTI. Más abajo
del listado, los vectores de interrupción sin usar por interrupciones externas e interrupciones SWI son puestas
para apuntar a esta instrucción RTI. Durante el ensamblaje, el ensamblador encuentra la etiqueta UNUSED y se
debe encontrar igual a AnRTI para que sea a su vez igual a la dirección binaria de la instrucción RTI ($0351).
Si se encuentra una interrupción SWI inesperadamente, la CPU guardará los registros de la CPU en la
pila (RAM temporal) y cargará el contador de programa con la dirección $0351 del vector SWI. Entonces, la
CPU cargará la instrucción RTI de la dirección $0351. La instrucción RTI dirá a la CPU que recupere los
registros de la
CPU guardados en la pila (incluso el contador de programa). El valor recuperado del contador de programa
determina lo que hará a continuación la CPU.
RTICNT
DEC
"
"
"
"
AnRTI
RTI
UNUSED
EQU
ORG
TIMVEC
FDB
IRQVEC
FDB
SWIVEC
FDB
RESETV
FDB
AnRTI
RTI
RTIFs
;En cada RTIF
"
"
;Retorno de la interrupción RTIF
AnRTI
;Usa RTI en AnRTI para interrupciones
;sin usar para simplemente volver
$07F8
;Inicio del área de vectores
RTICNT
;Cuenta 3/TIC RTIFs
UNUSED
;Cambia si usa el vector
UNUSED
;Cambia si usa el vector
START
;Inicio del programa con un 'reset'
;Retorno de la interrupción RTIF
81
"
"

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Hc08

Tabla de contenido