Tiempos; Vista De Un Programa - Motorola HC05 Manual Del Usuario

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

Publicidad

expresan con cuatro dígitos hexadecimales, donde los cinco bit de la parte superior de los 16 bits
correspondientes a la dirección binaria, siempre estarán a 0.
El registro de código de condición (CCR) es un registro de 8-bits y guarda los indicadores de estado,
que reflejan el resultado de alguna operación anterior de la CPU. Los tres bits de la parte alta de este registro no
se usan y siempre son iguales a 1. Las instrucciones Branch (bifurcación) usan los bits de estado para hacer
simples tomas de decisiones.
El registro indicador de pila (SP) se usa como un indicador de la siguiente posición disponible en una
pila, cuya característica es: la última que entra, es la primera que sale (LIFO o Last In Firts Out). La pila o
' stack' puede pensarse que es como un montón de tarjetas, cada una de ellas guarda un solo byte de información.
En cualquier momento dado, la CPU puede poner una tarjeta encima de la pila o puede tomar una tarjeta de la
pila. Las tarjetas dentro de la pila no pueden recogerse a menos que todas las tarjetas amontonadas encima se
hayan quitado primero. La CPU logra este efecto de la pila por medio del registro SP. El registro SP apunta a una
posición de memoria (casilla), igual que si se piensa en la siguiente tarjeta disponible. Cuando la CPU envía un
fragmento de dato hacia la pila, el valor del dato se escribe en la casilla apuntada por el registro SP, entonces el
SP se decrementa para apuntar a la siguiente posición de memoria (casilla) anterior. Cuando la CPU extrae un
dato de la pila, el registro SP se incrementa para apuntar a la casilla recientemente usada y el valor del dato se
leerá de esa casilla. Cuando la CPU se pone en marcha o después de una instrucción 'reset del indicador de pila'
(RSP), el SP apunta a una posición de memoria específica de la RAM (una cierta casilla).

Tiempos

Se usa un reloj (clock) de alta frecuencia (típicamente derivada de un cristal de cuarzo conectado a la
MCU), para controlar las secuencias de las instrucciones de la CPU. Las MCU típicas dividen la frecuencia
básica del cristal por dos o más para llegar a la frecuencia de reloj de bus. Cada memoria lee o escribe a uno
ciclo de frecuencia de reloj del bus. En el caso del MC68HC705J1A, se puede trabajar con un oscilador de 4
MHz (máximo), para dividir por dos y llegar a un reloj de 2 MHz (máximo) del procesador interno. Cada
subpaso de una instrucción necesita un ciclo de este reloj de bus interno (500 ns). La mayoría de las
instrucciones necesitan de dos a cinco de estos subpasos; así que, la CPU es capaz de ejecutar más de 500,000
instrucciones cada segundo.

Vista de un Programa

El Listado 1. Programa Ejemplo , es un listado de un pequeño programa de ejemplo, que se usa en la
descripción de la CPU. En el capítulo de programación se proporciona información detallada de cómo se escribe
un programa. Un listado de un programa proporciona mucha más información que la CPU necesita, porque los
humanos también necesitan leer y entender los programas. La primera columna de la izquierda del listado,
muestra las direcciones con cuatro dígitos hexadecimales. La siguiente columna muestra los valores de 8-bits
(los contenidos de las posiciones de memoria individuales). El resto de la información del listado es la realmente
necesaria para el programador, que necesita leer el listado. El significado de toda esta información se describirá
en mayor detalle en el capítulo titulado Programación .
La
Figura 16
muestra un mapa de memoria del MC68HC705J1A y donde está situado el programa de
ejemplo en la memoria de la MCU. Esta figura es la misma que la Figura 14 excepto que se ha extendido una
porción diferente del espacio de memoria para mostrar los contenidos de todas las posiciones del programa de
ejemplo. La
Figura 16
muestra que la CPU ve, el programa de ejemplo, como una sucesión lineal de códigos
binarios, incluyendo las instrucciones y los operandos , en posiciones de memoria sucesivas. Un operando es
otro valor del ''opcode'' que la CPU necesita para completar la instrucción. La CPU empieza este programa con
su contador de programa (PC) apuntando al primer byte del programa. Cada 'opcode' de la instrucción le dice a
la CPU qué tipo y cuántos operandos (si es que tiene alguno) van con esa instrucción. De esta manera, la CPU
puede permanecer alineada a los límites de la instrucción, aunque la mezcla de ''opcodes' y de operandos
pueden confundir.
La mayoría programas de aplicación se localizarán en la ROM, EPROM o OTP, aunque no hay
ningún requisito especial para que las instrucciones se deban ejecutar en una memoria del tipo ROM. Por lo que
concierne a la CPU, cualquier programa es una serie de patrones de bits binarios, que son secuencialmente
procesados.
35

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Hc08

Tabla de contenido