El 68HC08 es una familia de microcontroladores de Freescale (antes Motorola) de 8 bits y arquitectura de von Neumann, con un solo bloque de memoria. Es conocida también simplemente por HC08.
Los HC08 son microcontroladores de propósito general, cada miembro de esta familia cuenta con diferentes periféricos internos, pero con una CPU común que permite migrar aplicaciones entre ellos, facilitando con ello el diseño.
Entre los periféricos internos que cuentan estos microcontroladores esta conversores analógicos-digital, módulo de control de tiempos y sistemas de comunicación como SPI, I²C, USB o SCI o UART entre otros.
Freescale creo una mejora a esta familia de microcontroladores, la HCS08 que ofrece mejoras en algunas instrucciones y agrega nuevas, además en esta mejora los microcontroladores pueden ser debuggeado por puerto dedicado llamado BDM (backgound debug module) , que mejora su versatilidad y amplia su gama de aplicaciones.
En la imagen podemos ver en la referencia 1 el microcontrolador 68HC08GP32 y en la referencia 2 el lugar donde se conecta el BDM (backgound debug module) para localizar errores de programación en el programa.

Existen infinidad de entornos de desarrollo desde pagos hasta GNU, para compilar programas realizados en assembler existe un compilador gratuito de la firma P&E Micro, para compilar en C los compiladores más utilizados son Freescale Codewarrior (licenciado) o SDCC, un proyecto muy interesante y funcional que permite compilar código escrito en lenguaje C para múltiples plataformas de microcontroladores.
Principales Características * Código compatible con la familia M6805, M14805 y la familia HC05.
* El bus interno tiene una frecuencia de 8MHz.
* Sistema para proteger el funcionamiento estable del programa.
o Opcional reset por watch-dog o (COP) (computer operating properly).
o Detección de baja tensión de alimentación selecionable a 3.0 o 5.0 Volts.
o Detección de un código de instrucción ilegal o no existente con opción a reset automático.
o Detección de una dirección ilegal o no existente con opción a reset automático.
* Diseñado para sistemas que usan poca potencia.
o La memoria RAM es totalmente estática con los modos (STOP) y modo esperar un evento externo (WAIT).
Con respecto a la compatibilidad con el código escrito para HC05; hay una leve incompatibilidad en los llamados de interrupciones ya que en el microcontrolador HC05 el registro índice X es de 8 Bits y en el HC08 y HCS08 dicho registro índice se denomina H:X y es de 16 Bits y por lo tanto el único registro que se omite guardar en el stack ante una interrupción es el registro H y por lo tanto se deberá apilar (push) y retirar (o desapilar, pop) el registro H con las instrucciones PSHH y PULH respectivamente.
Partes y Registros del la HC08 CPU * Acumulador de 8-bit denominado A.
* Registro índice de 16-bit denominado H:X .
* Un registro de puntero de pila(stack ) de 16-bit denominado SP.
* Un contador de programa de 16 bits denominado PC.
* Registro de condiciones de 8 bits denominado CCR.
* Instrucciones de multiplicación de 8-bit por 8-bit y de división de 16-bit por 8-bits.
Micros que recomiendo para comenzar:Todo el mundo puede comenzar con el micro que desee, ya que el codigo es compatible entre todos (siempre y cuando se tenga cuidado en el direccionamiento de los datos ya que es una arquitectura Von Newmann). Los que personalmente recomiendo son los de las familias mas pequeñas y bartas de Freescale y son los QT y QY.
QT = Nombre completo MC68HC908QT posee 4 verisiones, la version 1, 2 y 4 con 1K, 2K y 4K de memoria respectivamente. Todos cuetnan con 128 bytes de memoria RAM, converson A/D de 12 canales y 8 bits, temporizador de 2 canales y 16 bits. Los 3 miembros son micros de 8 pines de los cuales 5 son I/O con funciones compartidas, 1 IRQ y 2 para alimentacion y masa. No requiere cristal externo.
QY = Nombre completo MC68HC908QY posee 4 verisiones, la version 1, 2 y 4 con 1K, 2K y 4K de memoria respectivamente. Todos cuetnan con 128 bytes de memoria RAM, converson A/D de 12 canales y 8 bits, temporizador de 2 canales y 16 bits. Los 3 miembros son micros de 16 pines de los cuales 13 son I/O con funciones compartidas, 1 IRQ y 2 para alimentacion y masa. No requiere cristal externo.
JK = Nombre completo MC68HC908JK posee 4 verisiones, la version 1, 3 y 8 con 1K, 2K y 8K de memoria respectivamente. Todos cuetnan con 128 bytes de memoria RAM, converson A/D de 12 canales y 8 bits, temporizador de 2 canales y 16 bits. Los 3 miembros son micros de 16 pines de los cuales 13 son I/O con funciones compartidas, 1 IRQ y 2 para alimentacion y masa. Requiere cristal externo.
JL = Nombre completo MC68HC908JL posee 4 verisiones, la version 1, 3 y 8 con 1K, 2K y 8K de memoria respectivamente. Todos cuetnan con 128 bytes de memoria RAM, converson A/D de 12 canales y 8 bits, temporizador de 2 canales y 16 bits. Los 3 miembros son micros de 20/24 pines (dependiendo del encapsulado) de los cuales 17/21 son I/O con funciones compartidas, 1 IRQ y 2 para alimentacion y masa. Requiere cristal externo.
JB = Nombre completo MC68HC908JB posee 2 verisiones, la version 8, 16 con 8K y 16K de memoria respectivamente. Todos cuetnan con 256 bytes de memoria RAM, converson A/D de 12 canales y 8 bits, temporizador de 2 canales y 16 bits y puerto USB. Los 2 miembros son micros de 16 pines de los cuales 13 son I/O con funciones compartidas, 1 IRQ y 2 para alimentacion y masa. Requiere cristal externo.
Bueno... esto es una pequeña introduccion para que se vaya entendiendo que son los micros Freescale.