You are on page 1of 50

Microcontroladores

MOTOROLA
Introducción

ENGITRONIC S.A.C
Diagrama de Bloques de un
Sistema de Control

DISPOSITIVO CONVERSOR CONVERSOR


ANÁLOGO CONTROLADOR DIGITAL ACTUADOR
DE MEDICIÓN
DIGITAL ANÁLOGO

Controlar Temperatura de un Tanque

ENGITRONIC S.A.C
Objetivo General

Obtener conocimientos básicos sobre


el manejo y programación de la
familia de microcontroladores
Motorola 68HC08.

ENGITRONIC S.A.C
Reseña - Microcontroladores.
Desde el desarrollo del transistor, la tecnología ha
ido integrando circuitos tanto analógicos como
digitales en pequeños paquetes llamados CI´s y la
tendencia es reducir aún mas el tamaño del
transistor.
Esto ha permitido colocar todo un sistema digital
basado en una unidad de proceso (CPU), memoria
y puertas de entrada / salida en un solo
encapsulado.
Un C es un CI que incluye los componentes
necesarios para tener un sistema de control
completo.

ENGITRONIC S.A.C
Organización de los
Microcontroladores Digitales

UNIDAD DE
CONTROL

UNIDAD DE
MEMORIA ALU
ENTRADA - SALIDA

DATOS INSTRUCCIONES SEÑALES DE CONTROL

ENGITRONIC S.A.C
El Microcontrolador (Uso)
Usamos uC principalmente donde la potencia de
procesamiento no es importante.
Los uC son pequeños y consumen muy poca
energía, esto los hace ideales para sistemas
portátiles y autónomos.
Aplicaciones de:
- Aparatos electrodomésticos.
- Equipos informáticos, comunicaciones.
- Fábricas , Automóviles
- Instrumentación, etc.

ENGITRONIC S.A.C
Entonces un Microcontrolador
es ...
un circuito integrado de alta escala de
integración que incorpora la mayor parte de los
elementos que configuran un controlador. Su
reducido tamaño minimiza el número de
componentes y por lo tanto, el costo final del
producto en desarrollo.

ENGITRONIC S.A.C
FAMILIA 68HC08

ENGITRONIC S.A.C
FAMILIA 68HC08
• La línea de microcontroladores HC08 de
MOTOROLA aparece como una evolución de la
línea HC05, una de las familias de micros de 8
bits más populares.

• Los HC08 mantienen compatibilidad de código


con los HC05 al mismo tiempo que agregan
nuevas instrucciones y tiene una CPU más
potente.

ENGITRONIC S.A.C
Algunos Integrantes de la
Familia 68HC08

ENGITRONIC S.A.C
Descripción y Periféricos más
comunes.
• Todo microcontrolador consta básicamente de:
* CPU * RAM / ROM * I/O (input/output).
• Además pueden contener periféricos programables, como:
* Temporizadores / Contadores
* Controlador de interrupciones.
* Módulo de Protección del Sistema
* Módulo de Exploración de teclado KBI
* Comunicación (RS232, I2C, USB, ESI).
• Los modelos más potentes incluyen además:
* Conversores: A/D , D/A.
* Reloj de Tiempo Real.
* Bus CAN.
* Comunicación: Transmisor de RF en UHF
ENGITRONIC S.A.C
Características Generales de los
Microcontroladores MOTOROLA.
• La arquitectura del procesador sigue el modelo Von Neumann

• Formato de instrucciones.
Los tamaños de las instrucciones para la familias HC05 y HC08 son de 8 y 16 bits, es
decir, ocupan 1 y 2 posiciones de memoria respectivamente

• Procesador RISC (Procesador con conjunto reducido de instrucciones)


Todos los microcontroladores Motorola, con excepción de la familia 68HC12, tienen
procesadores RISC (Procesador con un conjunto reducido de instrucciones), esta última
tiene procesador CISC (Complex Instruction Set Computers).
Todos los objetos del sistema (puertos de E/S, temporizadores, posiciones de memoria, etc.)
están implementados físicamente como registros.

• Diversidad de modelos de microcontroladores

• Herramientas de soporte
• WinIDE Development Environment, para el desarrollo en Assembler.
• Grabador Debbuger para todos los modelos.
• Code Warrior, para la programación en Lenguaje C.

ENGITRONIC S.A.C
Características Principales de la familia
68HC08

• Modelo de programación 68HC05 mejorado.


• Control de bucles optimizado
• 16 modos de direccionamiento
• Registro de índice y puntero de pila de 16-
bits
• Transferencia de datos de memoria a
memoria
• Rápidas instrucciones de multiplicación de
8x8
• Rápidas instrucciones de división de 16/8
• Instrucciones BCD (Binario codificado en
decimal)
• Optimización para aplicaciones de control
• Soporte eficiente del lenguaje C.
ENGITRONIC S.A.C
Partes del Microcontrolador
Memoria RAM
Datos a trabajar:
A=34
B=15
C=49

............ CPU
Memoria ROM
Programa a O
ejecutarse: I
Ingresa A, B
Opera C=A+B A, B C
Visualiza C 1 2 3 7
6
4 5 6 5
4
3
............ 7 8 9 F 2
1
C 0 H E CP

ENGITRONIC S.A.C
Teclado ENGITRONIC
Pantalla
S.A.C
LCD
Arquitectura del C

Arquitectura Von – Neumann

ENGITRONIC S.A.C
CLASIFICACIÓN DE LOS
MICROCONTROLADORES MOTOROLA
a. Por la capacidad de acceso externo
1a.- Microcontrolador Incrustado (embedded controller)
No admite variaciones ni ampliaciones como también es el caso
National, Microchip, etc.
2a .- Modo P/C
Es posible ampliar la memoria y las E/S con circuitos integrados
externos, tenemos entre ellos a Intel, etc.

b. Por el conjunto de Instrucciones

• CISC (Conjunto de Instrucciones Complejas)

• RISC (Conjunto de Instrucciones Reducidas)

ENGITRONIC S.A.C
Otras Características:
• Actualmente los microcontroladores se fabrican con tecnología
CMOS, por lo que consumen baja corriente y pueden ser
alimentados por baterias.

• Tienen un modo de bajo consumo SLEEP. (Algunos contienen un


modo WAIT)

• Pueden trabajar con un rango de voltaje de alimentación y tienen


alta inmunidad al ruido.

• Posee un Módulo de Protección del Sistema (COP, LVI).

• Reloj de tiempo real que, a partir de un cristal de 32.768 KHz,


genera información de hora, día de la semana, mes y año.

ENGITRONIC S.A.C
Algunas Aplicaciones del
Microcontrolador.

• Inicialización del sistema.


• Manejo de un teclado para el ingreso de información.
• Control de una pantalla LCD para la visualización de
mensajes.
• Control de diversas variables.
• Digitalización de señales analógicas.
• Transmisión de señales/datos con establecimiento de
un protocolo de comunicaciones.

ENGITRONIC S.A.C
Algunas Aplicaciones.

Reset
Xtal
Entradas
análogas

C
7
6 Pantalla
5
4
3 LCD
68HC908X 2
1
CP

1 2 3
RS232 4 5 6
7 8 9 F
C 0 H E

Teclado
Relé
Buzzer

ENGITRONIC S.A.C
Qué C usar?...

La selección del tipo de C debe ser estudiada


de forma que se elija el más adecuado para
nuestra aplicación. Tener en cuenta la
disponibilidad inmediata así como el soporte
necesario, tales como equipos de
programación, entorno de desarrollo
(ensambladores o compiladores) y la
información necesaria que permitiese un rápido
conocimiento del funcionamiento de dicho C.

ENGITRONIC S.A.C
Las tres gamas de
Microcontroladores
Motorola
Las tres gamas de Motorola más difundidas son:

• Las familias de microcontroladores de 8 bits como son:


68HC05, 68HC08 y 68HC11.

• Las familias de microcontroladores de 16 bits como son:


68HC12, 68HCS12 y 68HC16.

• Las familias de microcontroladores de 32 bits como son:


MC683XX, MAC71XX Y MPC500.

ENGITRONIC S.A.C
Líneas de entrada y salida para los
controladores de periféricos

MC68HC908GP32
MC68HC908QY4

ENGITRONIC S.A.C
Características del CPU (Unidad
Central de Proceso )

• Stack Pointer de 16 bits con instrucciones de


manipulación.
• Registro de Indice de 16 bits con instrucciones de
manipulación de parte alta y parte baja.
• Frecuencia de bus interno de 8Mhz.
• Espacio de memoria de 64Kb.
• 16 modos de direccionamiento.

ENGITRONIC S.A.C
Características del CPU

• Movimiento de datos entre posiciones de memoria


sin usar el acumulador.
• Multiplicación rápida de números de 8 bits y
división rápida de números de 16 bits.
• Manejo de datos BCD.
• Modos de bajo consumo, stop y wait.

ENGITRONIC S.A.C
Arquitectura del CPU

• La CPU08 posee 5 registros que no están


considerados dentro del mapa de memoria
7 0

15 00 Acumulador (A)

Registro de Indice (H:X)


02 40

02 3F Stack Pointer (SP) o Puntero de Pila

Contador de Programa (PC)


80 00

7 0

V11 H I N Z C Registro de Condición (CCR)

Acarreo

Cero
Negativo
Interrupción Enmascarable
Medio Acarreo
Desborde Complemento a dos

ENGITRONIC S.A.C
Arquitectura del CPU08
• El Acumulador :
Es un registro de propósito general de 8 bits y es
utilizado por la CPU para almacenar operandos y
resultados de las operaciones.

Acumulador A

Read:
Write:
Reset: X X X X X X X X

ENGITRONIC S.A.C
Arquitectura del CPU08
• Registro de Índice:
– Está conformado por la concatenación de
los registros H y X, H corresponde a la parte
alta y X a la parte baja.
– Es usado por la CPU en el direccionamiento
indexado para determinar la dirección del
operando.

Registro de índice H : X
Read:
Write:
Reset: X X X X X X X X X X X X X X X X

ENGITRONIC S.A.C
Arquitectura del CPU08
• El Puntero de Pila :
 Es un registro de 16 bits que contiene la dirección de
la próxima posición del stack.

0X56

 Durante un reset el SP se ajusta al valor


predeterminado $00FF.
 La dirección de la pila se decrementa cuando se
guardan datos en la pila (push) y aumenta cuando se
recuperan (pop).
ENGITRONIC S.A.C
Arquitectura del CPU08

 La CPU usa el SP como registro índice a las


variables almacenadas en el stack en los
modos de direccionamiento de pila.

Puntero de pila SP
Read:
Write:
Reset: 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

ENGITRONIC S.A.C
Arquitectura del CPU08

• El Contador de Programa (PC) :


 Contiene permanentemente la dirección de
memoria de la siguiente instrucción a ejecutar.
 Durante un reset el PC se carga con el contenido
del vector de reset que está en $FFFE y $FFFF.

Contador de Programa PC
Read:
Write:
Reset: Cargado con el contenido de la dirección de memoria $FFFE y $FFFF

ENGITRONIC S.A.C
Arquitectura del CPU08

• Registro de Códigos de Condición:


Contiene la máscara de interrupción y cinco banderas
que indican el resultado de la instrucción ejecutada.
Los bits 5 y 6 permanecen en un 1 lógico.

Registro de código de condición CCR

Read: V 1 1 H I N Z C
Write:
Reset: X 1 1 X 1 X X X

ENGITRONIC S.A.C
... Registro de Códigos de Condición
C: Acarreo, toma un 1 lógico cuando una operación
aritmética desborda la capacidad de almacenamiento del
acumulador.
Z: Cero, Se pone a 1 si el resultado de la operación es 0
N: Resultado negativo, se pone a 1 si el resultado de la
operación es negativa.
I: Máscara de Interrupción, se pone a 1 para deshabilitar
todas las interrupciones.
H: Acarreo intermedio, es puesto a 1 por la máquina cuando
ocurre un acarreo entre el bit 3 y el bit 4 del acumulador.
V: Sobreflujo, es puesto a 1 por la CPU cuando ocurre un
sobreflujo complemento a dos como resultado de una
operación.

ENGITRONIC S.A.C
Características Importantes
del Mapa de Memoria

• Como hemos observado toda la memoria está


mapeada en un único espacio.

• La memoria de programa y de datos puede


almacenarse en cualquier espacio permitido.

• Otra característica importante es que la memoria


RAM retiene sus datos en modo de bajo consumo.

ENGITRONIC S.A.C
Mapa de Memoria del uC
68HC908GP32

ENGITRONIC S.A.C
Modos de Direccionamiento
• Inherente.
• Inmediato.
• Directo.
• Extendido.
• Relativo(±128).
• Indexado.
• Sin desplazamiento.
• Con desplazamiento de 8 bits.
• Con desplazamiento de 16 bits.

ENGITRONIC S.A.C
Modos de Direccionamiento

• Stack Pointer con desplazamiento de 8 bits.


• Stack Pointer con desplazamiento de 16 bits.
• Memoria a memoria.
• Inmediato a directo.
• Directo a directo.
• Indexado a directo con post incremento.
• Directo a indexado con post incremento.

ENGITRONIC S.A.C
Modos de
Direccionamiento

• Indexado con post incremento.


• Indexado con desplazamiento de 8 bits y post
incremento.

ENGITRONIC S.A.C
Ejemplos de Direccionamiento:

Direccionamiento Inherente
• El código operacional implica automáticamente a
uno o más registros de la CPU.
• El código operacional es fijo y no tiene campos
variables de tal forma que la instrucción siempre
ejecuta la misma operación.

Ejemplo:
CLRA Pone a $00 el acumulador.
CLI Pone a cero el bit de máscara de interrupción.

ENGITRONIC S.A.C
Direccionamiento Inmediato
• El operando está inmediatamente después del
código de operación
• Este tipo de direccionamiento incluye el dato del
operando y la instrucción.
• Se utiliza en instrucciones que involucran el
acumulador y el Registro de Índice.

Ejemplo:
LDA #$40 Cargar $40 en el acumulador.
LDX #$78 Cargar $78 en el Registro X.

ENGITRONIC S.A.C
Direccionamiento Directo

• El dato se encuentra en la posición de memoria indicada


detrás del código de operación.
• Acceden directamente a los primeros 256 bytes de la
memoria.

Ejemplo:
LDA $20 Cargar en el acumulador el valor
almacenado en la posición de memoria
$20.
STX $32 Poner en la posición de memoria $32 el
contenido del registro X.

ENGITRONIC S.A.C
Direccionamiento Relativo

• Este modo de direccionamiento se utiliza sólo para las


instrucciones de bifurcación.
• Sirve para indicar a la CPU que efectúe un salto de
cierto número de bytes hacia delante o hacia atrás.
• Tiene signo y es de un byte por lo que las bifurcaciones
sólo se pueden realizar de 128 bytes hacia atrás ó 127
bytes hacia delante.

Ejemplo:
BEQ Salto Saltar hasta la etiqueta Salto si (z) = 1.

ENGITRONIC S.A.C
Direccionamiento Indexado

• Son claves para direccionar tablas y otras


estructuras de datos de una manera eficaz.
• En el direccionamiento indexado sin offset, el valor
en el Registro de Índice es la dirección o puntero
del operando.

Ejemplo:
LDA ,X Carga el acumulador con el contenido
de la posición de memoria apuntada
por el Registro de Índice (H:X).

ENGITRONIC S.A.C
Programación I
Todos los microcontroladores de la Familia 68HC08
presentan el mismo juego de instrucciones, siendo
los tamaños de estas de 8 y 16 bits, es decir, ocupan
1 y 2 posiciones de memoria respectivamente.

Ver Instrucciones.

ENGITRONIC S.A.C
Registros
Importantes

ENGITRONIC S.A.C
Registro de Estado y Control del
Módulo Interfase del Timer (TIM) :
TSC Register
Descripción de bits:
TOF: Bit que indica el desbordamiento del Timer.
1 = Cuando el contador del TIM a alcanzado el valor del módulo
0 = Cuando el contador del TIM no a alcanzado el valor del módulo

TOIE: Escribiendo un 1 lógico en este bit activa la interrupción por


desbordamiento del Timer

TSTOP: Bit de stop del timer


1 = Contador del TIM detenido
0 = Contador del TIM Activo

TRST: Bit de reset del TIM


1: Pre-escalador y contador de TIM borrados.
0: Sin efecto.

PS[2:0]: Bit Prescalador del TIM


ENGITRONIC S.A.C
PORTA
Algunos de los puertos de E/S son multiplexados
para algunas otras funciones, como es el caso
del Puerto A, que puede ser empleado como
entradas digitales o analógicas.

ENGITRONIC S.A.C
Registro de Estado y Control
Interrupción Externa (IRQ) :
INTSCR Register
001Dh - INTSCR (IRQ status and control register)
Read: IRQF 0
IMASK MODE
Write: ACK
Reset: 0 0 0 0 0 0 0 0
Descripción de bits:
IRQF: Bit de solo lectura, esta en alto cuando una interrupción del
pin IRQ está pendiente.
1 = Interrupción pendiente en IRQ
0 = Ninguna interrupción pendiente en IRQ
ACK: Escribiendo un 1 lógico en este bit de solo escritura se borra el latch
del módulo IRQ.

IMASK: Máscara para las interrupciones IRQ. Este pin es de


lectura/escritura.
1 = Solicitud de interrupción IRQ deshabilitada
0 = Solicitud de interrupción IRQ habilitada

MODE (b0): Bit de lectura/escritura. Controla la sensibilidad del pin IRQ.


1 = Flancos de bajada y niveles bajos
0 = Solo flancos de bajada

ENGITRONIC S.A.C
Programación

Flujo de
operaciones al
programar un
microcontrolador
Motorola

ENGITRONIC S.A.C
PÁGINAS DE CONSULTA:

www.freescale.com

www.pemicro.com

engitronic@infonegocios.com.pe

ENGITRONIC S.A.C

You might also like