Post on 14-Apr-2015
MicrocontroladoresMicrocontroladoresMOTOROLAMOTOROLA
ENGITRONIC S.A.CENGITRONIC S.A.C
IntroducciónIntroducción
ENGITRONIC S.A.CENGITRONIC S.A.C
Diagrama de Bloques de Diagrama de Bloques de un Sistema de Controlun Sistema de Control
Controlar Temperatura de un Controlar Temperatura de un TanqueTanque
DISPOSITIVO DE MEDICIÓN
CONVERSOR ANÁLOGO DIGITAL
CONTROLADORCONVERSOR
DIGITAL ANÁLOGO
ACTUADOR
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Objetivo GeneralObjetivo General
Obtener conocimientos básicos sobre el manejo y programación de la familia de microcontroladores
Motorola 68HC08.
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Reseña - Microcontroladores. 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Organización de los Organización de los Microcontroladores DigitalesMicrocontroladores Digitales
UNIDAD DE
ENTRADA - SALIDAMEMORIA
UNIDAD DE CONTROL
ALU
DATOSDATOS INSTRUCCIONESINSTRUCCIONES SEÑALES DE CONTROLSEÑALES DE CONTROL
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
El Microcontrolador (Uso)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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Entonces un Entonces un Microcontrolador es ...Microcontrolador es ...
uun circuito integrado de alta escala de n circuito integrado de alta escala de integración que incorpora la mayor parte integración que incorpora la mayor parte de los elementos que configuran un de los elementos que configuran un controlador. Su reducido tamaño controlador. Su reducido tamaño minimiza el número de componentes y minimiza el número de componentes y por lo tanto, el costo final del producto en por lo tanto, el costo final del producto en desarrollo.desarrollo.
ENGITRONIC S.A.CENGITRONIC S.A.C
FAMILIA FAMILIA 68HC0868HC08
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
FAMILIA FAMILIA 68HC0868HC08
• 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Algunos Integrantes de la Algunos Integrantes de la Familia 68HC08Familia 68HC08
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Descripción y Periféricos más Descripción y Periféricos más comunes.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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
• Formato de instrucciones.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)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.
• DDiversidad de modelos de microcontroladoresiversidad de modelos de microcontroladores
• Herramientas de soporteHerramientas de soporte
Características Generales de los Características Generales de los Microcontroladores MOTOROLA.Microcontroladores MOTOROLA.
• WinIDE Development Environment, para el desarrollo en Assembler.• Grabador Debbuger para todos los modelos.• Code Warrior, para la programación en Lenguaje C.
• La arquitectura del procesador sigue el modelo Von NeumannLa arquitectura del procesador sigue el modelo Von Neumann
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Características Características PrincipalesPrincipales de la familiade la familia68HC0868HC08
ENGITRONIC S.A.CENGITRONIC S.A.C
• 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.CENGITRONIC S.A.C
Partes del MicrocontroladorPartes del Microcontrolador
Memoria ROM
Programa a ejecutarse:
Ingresa A, B
Opera C=A+B
Visualiza C
............
Memoria ROM
Programa a ejecutarse:
Ingresa A, B
Opera C=A+B
Visualiza C
............
Memoria RAM
Datos a trabajar:
A=34
B=15
C=49
............
Memoria RAM
Datos a trabajar:
A=34
B=15
C=49
............ CPU
A, B C
I O
ENGITRONIC S.A.CENGITRONIC S.A.C
C 0 H E7 8 9 F4 5 61 2 3
TecladoTeclado
7654321CP
PantallaPantallaLCDLCD
ENGITRONIC S.A.CENGITRONIC S.A.C
Arquitectura del Arquitectura del CC
Arquitectura Von – NeumannArquitectura Von – Neumann
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
a. a. Por la capacidad de acceso externoPor la capacidad de acceso externo
11aa.- Microcontrolador Incrustado .- Microcontrolador Incrustado (embedded controller)(embedded controller)
No admite variaciones ni ampliaciones como también es el caso National, Microchip, etc.
22aa .- Modo .- Modo P/P/CC Es posible ampliar la memoria y las E/S con circuitos integrados
externos, tenemos entre ellos a Intel, etc.
b. Por el conjunto de Instruccionesb. Por el conjunto de Instrucciones
• CISC (Conjunto de Instrucciones Complejas)
• RISC (Conjunto de Instrucciones Reducidas)
ENGITRONIC S.A.CENGITRONIC S.A.C
CLASIFICACIÓN DE LOS MICROCONTROLADORES
MOTOROLA
ENGITRONIC S.A.CENGITRONIC S.A.C
Otras Características:Otras Características:
ENGITRONIC S.A.CENGITRONIC S.A.C
• 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.CENGITRONIC S.A.C
Algunas Aplicaciones del Algunas Aplicaciones del Microcontrolador.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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
C
68HC908X
RS232
C 0 H E7 8 9 F4 5 61 2 3
7654321CP
ReléReléBuzzerBuzzer
TecladoTeclado
PantallaPantallaLCDLCD
XtalXtal ResetReset
Entradas Entradas análogasanálogas
Algunas Aplicaciones.Algunas Aplicaciones.
Workstation
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Qué Qué C usar?...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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Las tres gamas de Las tres gamas de Microcontroladores Microcontroladores
MotorolaMotorola 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Líneas de entrada y salida para los Líneas de entrada y salida para los controladores de periféricos controladores de periféricos
MC
68H
C908G
P32
MC
68H
C908Q
Y4
ENGITRONIC S.A.CENGITRONIC S.A.C
Características del CPUCaracterísticas del CPU ( (Unidad Unidad Central de Proceso )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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
• 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.
Características del CPU
ENGITRONIC S.A.CENGITRONIC S.A.C
15 00
02 3F
02 40
80 00
V 1 1 H I N Z C
Acumulador (A)
Registro de Indice (H:X)
Stack Pointer (SP) o Puntero de Pila
Contador de Programa (PC)
Registro de Condición (CCR)
07
07
Acarreo
Cero
Negativo
Interrupción Enmascarable
Medio Acarreo
Desborde Complemento a dos
Arquitectura del CPUArquitectura del CPU
ENGITRONIC S.A.CENGITRONIC S.A.C
• La CPU08 posee 5 registros que no están considerados dentro del mapa de memoria
ENGITRONIC S.A.CENGITRONIC S.A.C
Read:Write:
Reset: XXXXXXXX
Acumulador A
Arquitectura del CPU08
• El 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.
ENGITRONIC S.A.CENGITRONIC S.A.C
• Registro de Registro de ÍÍndice:ndice:– EstEstáá conformado por la concatenación de conformado por la concatenación de
los registros H y X, H corresponde a la parte los registros H y X, H corresponde a la parte alta y X a la parte baja.alta y X a la parte baja.
– Es usado por la CPU en el direccionamiento Es usado por la CPU en el direccionamiento indexado para determinar la dirección del indexado para determinar la dirección del operando.operando.
Read:Write:
Reset: XXXXXXXX XXXXXXXX
Registro de índice H : X
Arquitectura del CPU08Arquitectura del CPU08
ENGITRONIC S.A.CENGITRONIC S.A.C
Arquitectura del CPU08Arquitectura del CPU08
ENGITRONIC S.A.CENGITRONIC S.A.C
• El Puntero de Pila :El Puntero de Pila : Es un registro de 16 bits que contiene la dirección de la próxima posición del stack.
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).
0X56
ENGITRONIC S.A.CENGITRONIC S.A.C
Read:Write:
Reset: 00000000 11111111
Puntero de pila SP
Arquitectura del CPU08Arquitectura del CPU08
ENGITRONIC S.A.CENGITRONIC S.A.C
La CPU usa el SP como registro índice a las
variables almacenadas en el stack en los
modos de direccionamiento de pila.
ENGITRONIC S.A.CENGITRONIC S.A.C
ArquitecturaArquitectura del CPU08 del CPU08
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.
Read:Write:
Reset: Cargado con el contenido de la dirección de memoria $FFFE y $FFFF
Contador de Programa PC
ENGITRONIC S.A.CENGITRONIC S.A.C
• El El Contador de Programa (PC) :Contador de Programa (PC) :
ENGITRONIC S.A.CENGITRONIC S.A.C
• Registro de Registro de CCódigos de ódigos de CCondición:ondición:
Read:Write:
Reset: XXX1X11X
CZNIH11V
Registro de código de condición CCR
Arquitectura del CPU08Arquitectura del CPU08
ENGITRONIC S.A.CENGITRONIC S.A.C
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.
ENGITRONIC S.A.CENGITRONIC S.A.C
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.
... ... Registro de Registro de CCódigos de ódigos de CCondicióondiciónn
ENGITRONIC S.A.CENGITRONIC S.A.C
Características Importantes Características Importantes del Mapa de Memoriadel 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Mapa de Memoria del uC Mapa de Memoria del uC 68HC908GP3268HC908GP32
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
ModosModos de Direccionamiento de Direccionamiento
ENGITRONIC S.A.CENGITRONIC S.A.C
• Inherente.
• Inmediato.
• Directo.
• Extendido.
• Relativo(±128).
• Indexado. • Sin desplazamiento.• Con desplazamiento de 8 bits.• Con desplazamiento de 16 bits.
ENGITRONIC S.A.CENGITRONIC S.A.C
ModosModos de Direccionamiento 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Modos de Modos de DireccionamientoDireccionamiento
• Indexado con post incremento.
• Indexado con desplazamiento de 8 bits y post incremento.
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
DireccionamientoDireccionamiento Inherente 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.
EjemplosEjemplos de Direccionamiento: de Direccionamiento:
ENGITRONIC S.A.CENGITRONIC S.A.C
Direccionamiento InmediatoDireccionamiento 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.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
Direccionamiento DirectoDireccionamiento 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.CENGITRONIC S.A.C
Direccionamiento RelativoDireccionamiento 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.CENGITRONIC S.A.C
Direccionamiento IndexadoDireccionamiento 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.CENGITRONIC S.A.C
Programación I 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 Ver Instrucciones.Instrucciones.
Registros Registros ImportantesImportantes
ENGITRONIC S.A.CENGITRONIC S.A.C
Registro de Estado y Control delRegistro de Estado y Control delMódulo Interfase del Timer (TIM) : Módulo Interfase del Timer (TIM) : TSC RegisterTSC 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.CENGITRONIC S.A.C
PORTAPORTAAlgunos 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.CENGITRONIC S.A.C
MODEIMASK0IRQF
001Dh - INTSCR (IRQ status and control register)
Read:Write:
Reset: 00000000
ACK
Registro de Estado y Control Registro de Estado y Control Interrupción Externa (IRQ) :Interrupción Externa (IRQ) : INTSCR RegisterINTSCR Register
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.CENGITRONIC S.A.C
ProgramaciónProgramación
Flujo de operaciones al programar un microcontrolador Motorola
ENGITRONIC S.A.CENGITRONIC S.A.C
ENGITRONIC S.A.CENGITRONIC S.A.C
PÁGINAS DE CONSULTA:
www.freescale.com
www.pemicro.com
engitronic@infonegocios.com.pe