se puede conseguir la ocupación de la pila. En el MC68HC705J1A, la suma de todo el sistema de variables, más
el peor de los casos de ocupación de la pila, debe ser menor o igual a las 64 posiciones disponibles de la RAM.
Afortunadamente, una interrupción causará la máscara de interrupción del bit I en el registro de código
de condición, para ser puesto en contestación de cualquier interrupción. Este bloque de interrupciones
adicionales hasta el bit I se pondrá a 0 (normalmente en el retorno de la interrupción).
Estructura de una Aplicación Preparada
El programa del Bucle Base del
para las aplicaciones. Esta estructura proporciona:
Declaraciones EQU para todos los registros del MC68HC705J1A y nombres de bit
Declaraciones EQU de aplicaciones específicas
Sección de variables del programa
Sección de inicialización (START)
Controlador de secuencia para el bucle principal basado en la interrupción RTI
Llamada a tareas de subrutinas
Dos ejemplos simples de tareas de subrutinas (TIME y BLINK)
Una rutina de servicio de interrupción para las interrupciones RTIF
Sección de definición de vectores
El inicio de secuencia en este programa de Bucle Base, activa un paso a través del bucle principal una vez
cada 100 milisegundos (realmente 98.4 ms). Esto se puede cambiar fácilmente a otro número de interrupciones
de tiempo real y se puede cambiar el valor RTI. Para aplicaciones que se necesita un reloj (RTC), los inicios de
secuencias se pueden modificar para trabajar desde interrupciones generadas por cruce por cero de la línea de red
alterna.
Adicionalmente se deben agregar directivas RMB a la sección de variables del programa. Se pueden agregar
declaraciones EQU adicionales justo sobre la sección de variables del programa para añadir EQU de aplicación
específica.
En el programa del
Listado 4. Estructura del Programa Base
de tareas simples (TIME y BLINK). La tarea de TIME proporciona un contador de 0 a 59 (TOC) qué podría ser
útil para medir o generar periodos de tiempo más largos. La tarea de BLINK es una rutina para demostrar cómo
una tarea puede usar la variable de tiempo TOC para controlar una acción del sistema. En este caso, la acción es
encender un LED cuando TOC es par y apagarlo cuando TOC es impar. Para usar la estructura del programa
para cualquier aplicación, se debe quitar la tarea de BLINK y reemplazarla con sus tareas correspondientes.
Las rutinas de servicio RTI, sirven como ejemplo para el manejo de una interrupción e interrupciones de
contador en tiempo real, para poner la velocidad del controlador de secuencias.
Listado 4. Estructura del Programa
85
Base, se puede usar como base
, el bucle regulador tiene sólo dos subrutinas