26.12.2014 Views

microcontrolador mc68hc11

microcontrolador mc68hc11

microcontrolador mc68hc11

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MICROCONTROLADOR 68HC11: Fundamentos, recursos y programación.<br />

MICROBÓTICA.<br />

• Expanded: Además del mapa de memoria del modo single chip, es posible acceder al resto de las posiciones de<br />

memoria conectando memorias externas. El precio a pagar es que se pierden dos puertos de E/S, el puerto B y C,<br />

que se utilizarán como bus de datos y direcciones. En este modo se puede utilizar la memoria ROM interna, pero<br />

también es posible deshabilitar esta ROM y acceder a memoria externa y con ello a los vectores de interrupción<br />

que se encuentren en esa memoria externa.<br />

• Bootstrap: Este modo difiere del single chip en que los vectores de interrupción no se encuentran en la memoria<br />

ROM de 8K sino que se encuentran en otra memoria ROM, llamada ROM de arranque. Al arrancar en este modo,<br />

automáticamente comienza a ejecutarse el programa BOOTSTRAP que se encuentra en ROM.<br />

• Special test: Igual que el modo Bootstrap con la salvedad de que se puede acceder a memoria externa. Este modo<br />

se utiliza para realizar pruebas de fábrica. En este modo especial se tiene acceso a determinados registros de<br />

control que en otros modos están protegidos.<br />

Los modos de funcionamiento se pueden configurar de dos formas diferentes: configuración hardware y<br />

configuración software. La configuración hardware consiste en colocar unos determinados niveles lógicos en las<br />

patas moda y modb (apartado 2.8) del 68HC11. Al realizar un reset del 68HC11 el micro arrancará en el modo<br />

especificado por las tensiones de las patas moda y modb. La configuración software del modo de funcionamiento se<br />

basa en la modificación del registro HPRIO situado en la dirección $103C. Este registro se describe con detalle en la<br />

sección 5.3.4.<br />

3.2. Registros de la CPU<br />

8 Bits 8 Bits<br />

La CPU del MCU dispone de 2 registros<br />

acumuladores de 8 bits, que se unen para formar el ACUMULADOR A ACUMULADOR B registro<br />

D de 16 bits, siendo el acumulador A la parte alta y el<br />

REGISTRO INDICE X<br />

acumulador B la parte baja. Además dispone de 2<br />

registros<br />

para direccionamiento indexado X,Y ambos de 16 bits. El REGISTRO INDICE Y<br />

puntero<br />

de pila y el contador de programa son también de 16 bits, lo que<br />

PUNTERO DE PILA SP<br />

permite que la longitud máxima de un programa sea de<br />

64Kbytes, que es el espacio máximo direccionable por el CONTADOR DE PROGRAMA PC<br />

MCU. El<br />

registro CCR es el llamado registro de estado, que<br />

contiene<br />

unos bits de especial importancia que reflejan el estado de CCR<br />

la CPU.<br />

16 Bits<br />

El puntero de pila debe ser inicializado por el Figura 11: Registros del 68HC11<br />

usuario.<br />

La pila "crece" desde direcciones altas hacia direcciones bajas, por lo que al introducir un elemento en la pila, SP se<br />

decrementa en 1 ó 2 bytes dependiendo del tamaño del dato metido en la pila. Al sacar un elemento de la pila, SP se<br />

incrementa.<br />

El contador de programa PC se va incrementado según se van ejecutando las instrucciones. Por tanto, los<br />

programas se ejecutan desde direcciones bajas a altas y la pila crece de direcciones altas a bajas. Es importante dar a<br />

SP un valor "seguro" de tal manera que la pila no se solape con el código, si es que el código se encuentra en RAM.<br />

El registro CCR es de 8 bits. Cada bit tiene una letra asignada y representa una situación diferente del<br />

estado de la CPU. Se presenta en la figura 12.<br />

XXIII

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!