Motorola 68HC12


El 68HC12 (6812 o HC12 para abreviar) es una familia de microcontroladores de Freescale Semiconductor . Introducida originalmente a mediados de la década de 1990, la arquitectura es una mejora del Freescale 68HC11 . Los programas escritos para el HC11 suelen ser compatibles con el HC12, que tiene algunas instrucciones adicionales . Los primeros derivados del 68HC12 tenían una velocidad máxima de bus de 8  MHz y tamaños de memoria flash de hasta 128  KB .

Al igual que el 68HC11, el 68HC12 tiene dos acumuladores A y B de 8 bits (denominados un solo acumulador de 16 bits, D, cuando A y B están conectados en cascada para permitir operaciones con 16  bits ), dos registros de 16 bits X e Y, un contador de programa de 16 bits, un puntero de pila de 16 bits y un registro de código de condición de 8 bits . A diferencia del 68HC11, el procesador tiene rutas de datos internas de 16 bits

El 68HC12 agrega y reemplaza una pequeña cantidad de instrucciones 68HC11 con nuevas formas que están más cerca del procesador 6809 . Más significativamente, cambia las codificaciones de instrucciones para que sean mucho más densas y agrega muchas características de indexación similares a 6809, algunas con incluso más flexibilidad. El resultado neto es que los tamaños de los códigos suelen ser un 30% más pequeños. [1]

A partir de 2000, la familia se amplió con la introducción de los derivados MC9S12 que tienen velocidades de bus de hasta 25 MHz y tamaños de flash de hasta 512 KB.

El MC9S12NE64 fue presentado por Freescale en septiembre de 2004, afirmando ser el "primer microcontrolador flash Fast Ethernet de un solo chip de la industria". Cuenta con una CPU HCS12 de 25 MHz, 64 KB de FLASH EEPROM, 8 KB de RAM y un controlador Ethernet 10/100  Mbit / s .

El MC9S12XDP512, que se introdujo en 2004, tiene una velocidad de bus de 40 MHz y un coprocesador periférico conocido como XGATE que permite descargar algunas tareas de la CPU. La CPU del derivado S12X también presenta varias instrucciones nuevas para aumentar el rendimiento.


Placa de evaluación del microcontrolador Dragon12-P que se ejecuta en 68HC12